diff --git a/c#greythedog/Setup-c#greythedog.tp2 b/c#greythedog/Setup-c#greythedog.tp2 index 53aeb0b..59f0c3e 100644 --- a/c#greythedog/Setup-c#greythedog.tp2 +++ b/c#greythedog/Setup-c#greythedog.tp2 @@ -15,7 +15,7 @@ AUTHOR ~https://www.gibberlings3.net/forums/forum/211-grey-the-dog/~ //MODDER -VERSION ~7.1~ +VERSION ~8~ README ~c#greythedog/readme.greythedog.%LANGUAGE%.txt~ ~c#greythedog/readme.greythedog.english.txt~ @@ -1666,7 +1666,7 @@ Grey is not in the group */ ACTION_IF GAME_IS ~bgee bgt tob bg2ee eet~ THEN BEGIN ACTION_IF !(FILE_CONTAINS_EVALUATED (~baldur.BCS~ ~"C#FATIG1"~)) THEN BEGIN - EXTEND_TOP ~baldur.bcs~ ~c#greythedog/script/c#brando_baldur_add.baf~ + EXTEND_TOP ~baldur.bcs~ ~c#greythedog/script/c#_7thpm_baldur_add.baf~ COPY ~c#greythedog/spells/C#FATIG1.SPL~ ~override~ END END @@ -1674,7 +1674,7 @@ END /* SoD, eet */ ACTION_IF (GAME_IS ~bgee eet~ AND FILE_EXISTS_IN_GAME ~bd0103.are~) THEN BEGIN ACTION_IF !(FILE_CONTAINS_EVALUATED (~bdbaldur.BCS~ ~"C#FATIG1"~)) THEN BEGIN - EXTEND_TOP ~bdbaldur.bcs~ ~c#greythedog/script/c#brando_baldur_add.baf~ + EXTEND_TOP ~bdbaldur.bcs~ ~c#greythedog/script/c#_7thpm_baldur_add.baf~ COPY ~c#greythedog/spells/C#FATIG1.SPL~ ~override~ END END @@ -1683,13 +1683,11 @@ END ACTION_IF GAME_IS ~bgt tob bg2ee eet~ THEN BEGIN ACTION_IF !(FILE_CONTAINS_EVALUATED (~baldur25.BCS~ ~"C#FATIG1"~)) THEN BEGIN - EXTEND_TOP ~baldur25.bcs~ ~c#greythedog/script/c#brando_baldur_add.baf~ + EXTEND_TOP ~baldur25.bcs~ ~c#greythedog/script/c#_7thpm_baldur_add.baf~ COPY ~c#greythedog/spells/C#FATIG1.SPL~ ~override~ END END - - /* scripts for all games */ COMPILE EVALUATE_BUFFER ~c#greythedog/script/c#grey.baf~ diff --git a/c#greythedog/dialog/greypc_clicktalk.d b/c#greythedog/dialog/greypc_clicktalk.d index 4b5864c..0563095 100644 --- a/c#greythedog/dialog/greypc_clicktalk.d +++ b/c#greythedog/dialog/greypc_clicktalk.d @@ -3,7 +3,7 @@ APPEND c#greyJ /* NOTE: BG2(EE) only reply options should be marked with ~%IT_IS_BG2%~ */ IF ~IsGabber(Player1)~ THEN BEGIN grey_clicktalk -SAY ~(Grey turns his head to you.) Woof!~ +SAY @84 /* ~(Grey turns his head to you.) Woof!~ */ /* Find Brage - start in Nashkel Garrison */ diff --git a/c#greythedog/readme.greythedog.english.txt b/c#greythedog/readme.greythedog.english.txt index 3100f9f..ed5b9c0 100644 --- a/c#greythedog/readme.greythedog.english.txt +++ b/c#greythedog/readme.greythedog.english.txt @@ -40,7 +40,7 @@ The 1 HP drop out can be prevented if Grey is healed in time during a fight. If QUIRKS OF THE 7TH PARTY MEMBER MODE INGAME Unfortunately, the "7th party member mode" in the game requires special handling to accommodate all restrictions: (The hints are a mix of the existing engine restrictions and the workarounds I used). --The NPC has no "Clear Fog of War" around him in the 7th GM. So he can "disappear" in the "black" area of the map. (If you click on the whole group and let them gather at one place, the NPC will also try to do so, if they are not stuck somewhere. In that case only the teleportation cheat "Ctrl+j" helps to gather the group again. This has not happened to me yet, but it is theoretically possible if the NPC is chasing an enemy, for example). +-The NPC has no "Clear Fog of War" around him in the 7th GM. So he can "disappear" in the "black" area of the map. Unfortunately, this can lead to Brandock no longer be included in the "gather all party" button although he is still green circled and will return properly with the group as soon as he is seen by a full party member again. This is especially annoying if he loses sight of full party members because the AI wanted him to walk to whatever destination on a different path, and he needs to be searched for by walking the map until he can be seen again. This seems to be especially a problem if several "7th party members" follow, and with the old game engine. -Items in the NPC's inventory are *not* recognized as items owned by the group. This is an engine problem. It follows that quest items that are needed in the game should not be in the NPC's inventory if they are to be recognized by the quest giver. Examples: Elvenhair's book, Ankheg shell for Taerom, etc. -Quest items tagged as "critical" will be moved to the PC's inventory when moving to the 7th PMM. This may cause items from the PC's inventory to end up on the floor. This is an engine problem. As a result, you should always check after switching the NPC to the 7th PMM to see if items have landed on the floor! -When new items are given to one of my NPCs in 7th PMM in a quest specifically for this NPC, they always appear in the inventory of the group or PC, even if the NPC is supposed to receive them. This is an engine problem. Even if I scripted it so that the items would end up in the NPC's inventory after the encounter, they would still be handled via the PC's inventory. And thus, items from the inventory may have ended up on the floor. @@ -63,6 +63,8 @@ COMPATIBILITY Jarl's Adventure Pack: Grey needs to be installed after JAP. +Install Grey as late as possible after other NPC mods so he gets a chance to sniff at people before other NPCs interject. + INSTALL ORDER @@ -88,11 +90,11 @@ Without ToBEx, Grey will be able to use some maces and boots in BGT. Install ToB Especially for BGT but also for the EE games, Grey will be able to use (or at least equip) some items/weapons. Just ignore those (or use them if it doesn't disturb you). -In some game cutscenes, Grey might be visible at places where he shouldn't be as 7th party member. I'm not sure how to solve this. +In some game cutscenes, Grey might be visible at places where he shouldn't be as 7th party member. I'll try to address this in a later version. Paper doll: currently, the wolf paper doll is added to the MDOG animation (renamed to MDOGINV.BAM). In case this leads to any compatibility problems, let me know. Nevertheless, in BGT no paperdoll is being shown. I couldn't solve this. -Grey has no clear fog of war effect, so when following as 7th party member, he might "vanish" behind the line of sight. Rearranging the whole group's position should bring him back at the PC's side. (The reason is that the engines cannot handle more than 8 creatures with CFoW - and that includes the 6 party members and cutscene spies.) +Grey has no clear fog of war effect. (The reason is that the engines cannot handle more than 8 creatures with CFoW - and that includes the 6 party members and cutscene spies.) So when following as 7th party member, he might "vanish" behind the line of sight and stop walking. He will then no longer come to a meeting point but needs to be back in visual range of a party member to be activated again. INSTALLATION @@ -112,7 +114,9 @@ If you have installation problems or encounter any bugs, please post your bug re CREDITS Acifer: Portrait edit with dark bandana (original by Rabain was red), alpha testing -Brokenkatana: Proof reading (English) +Brokenkatana: Proofreading (English) +jastey: Main mod author +Rabain: Original mod idea, first portrait, first kit scheele: Russian translation @@ -154,6 +158,11 @@ This mod is also not developed, supported, or endorsed by BioWare, Black Isle St HISTORY +Version 8: +-All BG1 lines in PID traify-ed. +-Compatibility with the 5E casting mod and the TnB multiclass sorcerers and the FnP multiclass shamans: Increase of PC's FATIGUE for detection of scripted resting will happen after 15s timer and only if it wasn't increased by another mod already. +-Updated readme. + Version 7.1: -Russian version now has correct text format. diff --git a/c#greythedog/script/c#_7thpm_baldur_add.baf b/c#greythedog/script/c#_7thpm_baldur_add.baf new file mode 100644 index 0000000..f2c500f --- /dev/null +++ b/c#greythedog/script/c#_7thpm_baldur_add.baf @@ -0,0 +1,31 @@ +/* "Party Rested" check for silent resting */ +IF + GlobalGT("C#7thPartyMemberRestCounter","GLOBAL",0) + CheckStat(Player1,0,FATIGUE) + Global("C#7thPartyMemberRestTimerSet","GLOBAL",0) +THEN + RESPONSE #100 + RealSetGlobalTimer("C#7thPartyMemberRestAfterTimer","GLOBAL",15) + SetGlobal("C#7thPartyMemberRestTimerSet","GLOBAL",1) + Continue() +END + +IF + CheckStatGT(Player1,0,FATIGUE) + GlobalGT("C#7thPartyMemberRestTimerSet","GLOBAL",0) +THEN + RESPONSE #100 + SetGlobal("C#7thPartyMemberRestTimerSet","GLOBAL",0) + Continue() +END + +IF + RealGlobalTimerExpired("C#7thPartyMemberRestAfterTimer","GLOBAL") + Global("C#7thPartyMemberRestTimerSet","GLOBAL",1) + CheckStat(Player1,0,FATIGUE) +THEN + RESPONSE #100 + ApplySpellRES("C#FATIG1",Player1) + SetGlobal("C#7thPartyMemberRestTimerSet","GLOBAL",2) + Continue() +END \ No newline at end of file diff --git a/c#greythedog/script/c#brando_baldur_add.baf b/c#greythedog/script/c#brando_baldur_add.baf deleted file mode 100644 index 521fa95..0000000 --- a/c#greythedog/script/c#brando_baldur_add.baf +++ /dev/null @@ -1,9 +0,0 @@ -IF - GlobalGT("C#7thPartyMemberRestCounter","GLOBAL",0) - CheckStat(Player1,0,FATIGUE) -THEN - RESPONSE #100 - ApplySpellRES("C#FATIG1",Player1) - RealSetGlobalTimer("C#7thPartyMemberRestAfterTimer","GLOBAL",15) - Continue() -END \ No newline at end of file diff --git a/c#greythedog/script/c#grey.baf b/c#greythedog/script/c#grey.baf index c96c679..8ac224d 100644 --- a/c#greythedog/script/c#grey.baf +++ b/c#greythedog/script/c#grey.baf @@ -1,7 +1,6 @@ /* c#grey Grey's main script */ /* in case Grey follows as 7th party member and Player1 was rested via script and not via RestParty() */ - /* spell and priciple taken from Zed Nocear's BG1 Trigger Simulations! */ IF diff --git a/c#greythedog/tra/deutsch/GREYPC_CLICKTALK.TRA b/c#greythedog/tra/deutsch/GREYPC_CLICKTALK.TRA index fd7289a..79876ce 100644 --- a/c#greythedog/tra/deutsch/GREYPC_CLICKTALK.TRA +++ b/c#greythedog/tra/deutsch/GREYPC_CLICKTALK.TRA @@ -83,4 +83,6 @@ @80 = ~Es kцnnte schlimmer sein, oder, Grey, hm?~ @81 = ~Ich glaube wir schlagen uns ganz gut, was denkst du?~ @82 = ~Wir werden es ihnen zeigen, Grey. Wir zeigen es ihnen allen!~ -@83 = ~Lass uns gehen und diese Schurken stellen! Niemand kann uns aufhalten! Niemand!~ \ No newline at end of file +@83 = ~Lass uns gehen und diese Schurken stellen! Niemand kann uns aufhalten! Niemand!~ + +@84 = ~(Grey schaut Euch an.) Wau!~ diff --git a/c#greythedog/tra/english/greypc_clicktalk.tra b/c#greythedog/tra/english/greypc_clicktalk.tra index ed439ac..21a08b0 100644 --- a/c#greythedog/tra/english/greypc_clicktalk.tra +++ b/c#greythedog/tra/english/greypc_clicktalk.tra @@ -84,9 +84,10 @@ @81 = ~I think we are doing quite well, what do you say?~ @82 = ~We'll show them, Grey. We'll show them all!~ @83 = ~Let's go and find those culprits! No one can stop us! No one!~ + +@84 = ~(Grey turns his head to you.) Woof!~ /* -@84 = -@85 = +@85 = @86 = @87 = @88 = diff --git a/c#greythedog/tra/russian/greypc_clicktalk.tra b/c#greythedog/tra/russian/greypc_clicktalk.tra index 263efc7..c3d66b3 100644 --- a/c#greythedog/tra/russian/greypc_clicktalk.tra +++ b/c#greythedog/tra/russian/greypc_clicktalk.tra @@ -84,8 +84,9 @@ @81 = ~Я думаю, что мы пока справляемся, что скажешь?~ @82 = ~Мы им покажем, Грей. Мы им всем покажем!~ @83 = ~Давай найдем этих злодеев! Никто не сможет нас остановить! Никто!~ + +@84 = ~(Грей поворачивает к вам голову.) Вуф! ~ /* -@84 = @85 = @86 = @87 =