Jump to content

BG1NPC v16 to BG1NPC v17 Changelog


cmorgan

Recommended Posts

BG1NPC v16 to v17 Differences

so we can check and see if something got fixed when we don't have an install to search

Note to project code folks: If a difference shows up on the workroom chart but does not show up in this list, it is because it is a whitespace issue, like changing {space}{space}{space} to {space} or {space}{space} in dialog files, following the internal grammar/punctuation summary.

 

Usually this stuff resides in a workroom, but -JW- and erebusant, Ascension64, a bunch of folks have suggested code, so this open post gives them a check on their own edited installs without them having to run the diffs. Regular playing folks, pay no attention - this mod has a long and complete history of working well with many installations. This is just a behind-the-scenes look at what modders do with player feedback and reports :).

 

diff w bg1npc.tp2 bg1npc.tp2

5c5

< * Version 16, May 15, 2008

---

> * Version 17, February, 2009

18c18

< VERSION ~v16~

---

> VERSION ~v17~

91c91

< PATCH_IF !(~%ks%~ STRING_EQUAL ~fail~) THEN BEGIN

---

> PATCH_IF (~%ks%~ STR_CMP ~fail~) THEN BEGIN

101c101

< PATCH_IF ((~%sm%~ STR_CMP ~fail~) AND (smc = 0x11)) THEN BEGIN

---

> PATCH_IF ((~%sm%~ STR_CMP ~fail~) AND ("smc" = 0x11)) THEN BEGIN

117c117

< PATCH_IF !(~%ms%~ STRING_EQUAL ~fail~) THEN BEGIN

---

> PATCH_IF (~%ms%~ STR_CMP ~fail~) THEN BEGIN

126c126

< PATCH_IF !(~%el%~ STRING_EQUAL ~fail~) THEN BEGIN

---

> PATCH_IF (~%el%~ STR_CMP ~fail~) THEN BEGIN

135c135

< PATCH_IF !(~%il%~ STRING_EQUAL ~fail~) THEN BEGIN

---

> PATCH_IF (~%il%~ STR_CMP ~fail~) THEN BEGIN

145c145

< PATCH_IF !(~%is%~ STRING_EQUAL ~fail~) THEN BEGIN

---

> PATCH_IF (~%is%~ STR_CMP ~fail~) THEN BEGIN

154a155

>

1000c1001

< COMPILE ~BG1NPC/Core/dlg/X#JFIX_TUTU.D~

---

> COMPILE EVALUATE_BUFFER ~BG1NPC/Core/dlg/X#JFIX_TUTU.D~

1049a1051,1058

> /* Stop Viconia's Potential Script Stutter on Tutu */

> /* scripts */

> COPY_EXISTING ~%tutu_var%VICONIA.bcs~ ~override~

> DECOMPILE_BCS_TO_BAF

> REPLACE_TEXTUALLY CASE_INSENSITIVE ~See("flamingfist2")~ ~See("flamingfist2") !Dead("flamingfist2")~

> COMPILE_BAF_TO_BCS

> BUT_ONLY_IF_IT_CHANGES

>

1063c1072,1093

< /* Disabling Coran's old leaving timer, to be replaced by X#CORWYV.BAF */

---

> /* Set Tazok sprite back to living before last chapter, and move triggers to another variable other than Dead() */

> EXTEND_BOTTOM ~%Undercity_BCS%.bcs~ ~bg1npc/core/baf/x#tazokarea.baf~

> EVALUATE_BUFFER

>

> /* Create Coran's Wyverns */

> COPY_EXISTING ~%tutu_var%WYVERN.CRE~ ~override/X#CORWYV.CRE~

> WRITE_ASCII 0x280 ~X#CoranWyvern~ #32

> BUT_ONLY_IF_IT_CHANGES

>

> /* put them in the Cave */

> COPY_EXISTING ~%CloakwoodWyverns_WyvernCave%.ARE~ ~override~

> READ_LONG 0x54 actors_off

> READ_SHORT 0x58 actors_num

> FOR (i = 0; i < %actors_num%; i += 1) BEGIN

> READ_ASCII (%actors_off% + %i% * 0x110 + 0x80) actor_resref

> PATCH_IF !(%actor_resref% STRING_COMPARE_CASE "WYVERN") BEGIN

> WRITE_ASCII (%actors_off% + %i% * 0x110 + 0x80) X#CORWYV (8)

> END

> END

> BUT_ONLY_IF_IT_CHANGES

>

> /* Changing Coran's old leaving timer */

1067c1097

< ~GlobalTimerExpired("Coran","GLOBAL")~ ~GlobalTimerExpired("Coran","GLOBAL") Global("X#CoranWyvernDisable","GLOBAL",1)~

---

> ~GlobalTimerExpired("Coran","GLOBAL")~ ~False()~

1073a1104

> /* the remainder of Coran's fixes are in core/dlg under Tutu and BGT .d files */

2274,2275d2304

< EXTEND_BOTTOM ~%EarthChamber_BCS%.bcs~ ~BG1NPC/Phase2/baf/P#FW0510.BAF~ //yes, it is correct

< EVALUATE_BUFFER

2279a2309,2313

> /* -JW-'s Edwin vs Denak fix */

> /* http:// forums.gibberlings3.net/index.php?s=&showtopic=15516&view=findpost&p=133308 */

>

> EXTEND_BOTTOM ~%SpiderWood_BCS%.bcs~ ~BG1NPC/Phase2/baf/JW#FW3000.BAF~

>

2349c2383

<

---

> /* Edwin */

2410c2444

< WRITE_ASCIIE 0x248 ~%tutu_scriptw%TASIGHT~ #8 // override script

---

> WRITE_ASCIIE 0x248 ~x#tqbh~ #8 // override script

2430c2464

< WRITE_ASCIIE 0x248 ~%tutu_scriptw%TASIGHT~ #8 // override script

---

> WRITE_ASCIIE 0x248 ~x#tqbh~ #8 // override script

2450c2484

< WRITE_ASCIIE 0x248 ~%tutu_scriptw%TASIGHT~ #8 // override script

---

> WRITE_ASCIIE 0x248 ~x#tqbh~ #8 // override script

2470c2504

< WRITE_ASCIIE 0x248 ~%tutu_scriptw%TASIGHT~ #8 // override script

---

> WRITE_ASCIIE 0x248 ~x#tqbh~ #8 // override script

2481a2516

> COMPILE ~BG1NPC/Phase2/baf/x#tqbh.baf~

2483c2518

< /* area Scripts */

---

> /* area scripts */

2606c2641

< WRITE_EVALUATED_ASCII 0x0268 ~%tutu_scriptw%TASIGHT~ #8 // Creature script - Default

---

> WRITE_EVALUATED_ASCII 0x0268 ~%tutu_scriptw%TARSGT~ #8 // Creature script - Default

4169c4204

< /*scipts */

---

> /* scripts */

4669a4705

> WRITE_ASCII 0x280 ~andarthe~ #32 // death variable

4790a4827

> /* Make sure this is last in Quest additions for Phase 2 */

6096a6134,6135

> APPEND ~trigger.ids~ ~0x40da HaveSpellParty(I:Spell*Spell)~ UNLESS ~HaveSpellParty~

>

6157a6197,6201

> /* Add BG2 movie for Xan Romance Dialog to EasyTutu distributions */

> ACTION_IF FILE_EXISTS_IN_GAME ~FW0100.are~ THEN BEGIN

> COPY ~BG1NPC/core/mve/flythr03.mve~ ~override~

> END

>

6160a6205

>

6174,6175c6219,6223

< COPY ~BG1NPC/Phase3/CHALLENGE/itm/X#AJR1.ARE~ ~override~

<

---

> ACTION_IF FILE_EXISTS_IN_GAME ~FW0100.are~ THEN BEGIN

> COPY ~BG1NPC/Phase3/CHALLENGE/itm/x#ajr1.are~ ~override/x#ajr1.are~

> END ELSE BEGIN

> COPY ~BG1NPC/Phase3/CHALLENGE/itm/x#ajr1_bgt.are~ ~override/x#ajr1.are~

> END

6177c6225,6226

< COPY ~BG1NPC/Phase3/CHALLENGE/itm/X#AJR1.ARE~ ~override/X#CH11.ARE~

---

> ACTION_IF FILE_EXISTS_IN_GAME ~FW0100.are~ THEN BEGIN

> COPY ~BG1NPC/Phase3/CHALLENGE/itm/x#ajr1.ARE~ ~override/x#ch11.are~

6178a6228,6231

> END ELSE BEGIN

> COPY ~BG1NPC/Phase3/CHALLENGE/itm/x#ch11_bgt.are~ ~override/x#ch11.are~

> WRITE_ASCII 0x94 ~X#AR6001~ #8

> END

6754c6807

< /* Aree Scripts for spawning */

---

> /* Area Scripts for spawning */

 

diff w bg1npc/tra/english/bg1npc_tmp.tra bg1npc/tra/english/bg1npc_tmp.tra

59,60c59,60

< @17 = ~Imoen had created *this* by reading from Tarnish's Spellbook.~

< @18 = ~Imoen had created *this* by reading from Tarnish's Spellbook. She is quite proud of her accomplishement, even if nobody is quite sure what exactly it can do.~

---

> @17 = ~Imoen had created *this* by reading from Tarnesh's Spellbook.~

> @18 = ~Imoen had created *this* by reading from Tarnesh's Spellbook. She is quite proud of her accomplishment, even if nobody is quite sure what exactly it can do.~

 

diff w bg1npc/tra/spanish/bg1npc_tmp.tra bg1npc/tra/spanish/bg1npc_tmp.tra

 

84,85c84,85

< @17 = ~Imoen ha creado *esto* tras leer el libro de hechizos de Tarnish.~

< @18 = ~Imoen ha creado *esto* tras leer el libro de hechizos de Tarnish. Está muy orgullosa de su creación, aunque nadie sabe qué hace.~

---

> @17 = ~Imoen ha creado *esto* tras leer el libro de hechizos de Tarnesh.~

> @18 = ~Imoen ha creado *esto* tras leer el libro de hechizos de Tarnesh. Está muy orgullosa de su creación, aunque nadie sabe qué hace.~

 

diff w bg1npc/lib/g3_bgt_cpmvars.tpa bg1npc/lib/g3_bgt_cpmvars.tpa

723a724

> OUTER_SPRINT "Undercity_BCS" "AR7223"

 

diff w bg1npc/lib/g3_tutu_cpmvars.tpa bg1npc/lib/g3_tutu_cpmvars.tpa

694c694

< OUTER_SPRINT "EarthChamber_BCS" "_AR0510"

---

> OUTER_SPRINT "EarthChamber_BCS" "_AR0507"

718a719

> OUTER_SPRINT "Undercity_BCS" "_AR0123"

 

diff w bg1npc/bg1npc_docs/kivansquest.html bg1npc/bg1npc_docs/kivansquest.html

38c38

< h r e f = " h t t p : //www.dudleyville.com/bg1/ar0900.htm" > h t t p ://www.dudleyville.com/bg1/ar0900.htm</a> )

---

> h r e f = " h t t p : //www.forgottenwars.com/bg1/ar0900.htm" > h t t p ://www.forgottenwars.com/bg1/ar0900.htm</a> )

46c46

< h r e f = " h t t p : //www.dudleyville.com/bg1/ar3100.htm" > h t t p ://www.dudleyville.com/bg1/ar3100.htm</a> ),

---

> h r e f = " h t t p : //www.forgottenwars.com/bg1/ar3100.htm" > h t t p ://www.forgottenwars.com/bg1/ar3100.htm</a> ),

 

diff w bg1npc/phase3/brrom/dlg/p#brlt.d bg1npc/phase3/brrom/dlg/p#brlt.d

185,191c185,191

< ++ @73 DO ~IncrementGlobal("P#BRLoveTalk","GLOBAL",1) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.1

< ++ @74 DO ~IncrementGlobal("P#BRLoveTalk","GLOBAL",1) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.7

< + ~InParty("sharteel")~ + @75 DO ~IncrementGlobal("P#BRLoveTalk","GLOBAL",1) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.2

< + ~!InParty("sharteel")~ + @75 DO ~IncrementGlobal("P#BRLoveTalk","GLOBAL",1) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.3

< ++ @76 DO ~IncrementGlobal("P#BRLoveTalk","GLOBAL",1) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.4

< ++ @77 DO ~IncrementGlobal("P#BRLoveTalk","GLOBAL",1) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.5

< ++ @78 + P#BRLT3.12

---

> ++ @73 DO ~SetGlobal("P#BRLoveTalk","GLOBAL",7) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.1

> ++ @74 DO ~SetGlobal("P#BRLoveTalk","GLOBAL",7) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.7

> + ~InParty("sharteel")~ + @75 DO ~SetGlobal("P#BRLoveTalk","GLOBAL",7) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.2

> + ~!InParty("sharteel")~ + @75 DO ~SetGlobal("P#BRLoveTalk","GLOBAL",7) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.3

> ++ @76 DO ~SetGlobal("P#BRLoveTalk","GLOBAL",7) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.4

> ++ @77 DO ~SetGlobal("P#BRLoveTalk","GLOBAL",7) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.5

> ++ @78 DO ~SetGlobal("P#BRLoveTalk","GLOBAL",7) RealSetGlobalTimer("P#BRLoveTalkTime","GLOBAL",BRROM_TIMER)~ + P#BRLT3.12

 

diff w bg1npc/tra/english/p#brlt.tra bg1npc/tra/english/p#brlt.tra

72c72

< @71 = ~I would gladly have become a scald of virtue, to sing ballads and inspire heroes, but 'tis unfitting to hail two deities at once.~

---

> @71 = ~I would gladly have become a skald of virtue, to sing ballads and inspire heroes, but 'tis unfitting to hail two deities at once.~

 

diff w bg1npc/tra/english/p#ciflirt.tra bg1npc/tra/english/p#ciflirt.tra

77c77

< @76 = ~What a sight for sore eyes and aching heart! Do not turn away, sweetling, it'll give me a melancholy.~

---

> @76 = ~What a sight for sore eyes and aching heart! Do not turn away, sweetling, it'll give me a... a... melancholy.~

 

diff w bg1npc/phase3/corom/baf/p#cral.baf bg1npc/phase3/corom/baf/p#cral.baf

10a11,12

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

23a26,27

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

diff w bg1npc/phase3/corom/baf/p#crel.baf bg1npc/phase3/corom/baf/p#crel.baf

9a10,11

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

24a27,28

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

 

diff w bg1npc/phase3/corom/baf/p#crfa.baf bg1npc/phase3/corom/baf/p#crfa.baf

12a13,14

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

22a25,26

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

 

diff w bg1npc/phase3/corom/baf/p#crim.baf bg1npc/phase3/corom/baf/p#crim.baf

6a7,8

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

22a25,26

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

 

diff w bg1npc/phase3/corom/baf/p#crsh.baf bg1npc/phase3/corom/baf/p#crsh.baf

12a13,14

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

25a28,29

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

 

diff w bg1npc/phase3/corom/baf/p#crvi.baf bg1npc/phase3/corom/baf/p#crvi.baf

10a11,12

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

 

diff w bg1npc/phase3/corom/baf/p#crxz.baf bg1npc/phase3/corom/baf/p#crxz.baf

9a10,11

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

19a22,23

> InParty("coran")

> !StateCheck("coran",CD_STATE_NOTVALID)

 

diff w bg1npc/readme-bg1npc.html bg1npc/readme-bg1npc.html

26,27c26,27

< <strong>Version 16 - <a h r e f = " h t t p : //www.gibberlings3.net/downloads/#bg1npc">Check for the most recent version</a></strong> <br />

< <strong>Languages:</strong> English<br />

---

> <strong>Version 17 - <a h r e f = " h t t p : //www.gibberlings3.net/downloads/#bg1npc">Check for the most recent version</a></strong> <br />

> <strong>Languages:</strong> English, Spanish<br />

98c98

< <p> For <acronym title="Baldur's Gate Trilogy">BGT</acronym>, a discussion of install order and a list of compatible mods can be found by checking <a h r e f = " h t t p : //forums.spellholdstudios.net/index.php?showtopic=8122&hl=">Spellhold Studios forums</a> and looking for specific install order recommendations. </p>

---

> <p> For <acronym title="Baldur's Gate Trilogy">BGT</acronym>, a discussion of install order and a list of compatible mods can be found by checking <a h r e f = " h t t p : //www.shsforums.net/index.php?showtopic=19539">Spellhold Studios forums: compatibility</a> and looking for specific install order recommendations elsewhere on the forums, notably <a h r e f = " h t t p : //www.shsforums.net/index.php?showforum=193">Mega Mod Help</a> and projects like BiG World Project (BWP). Even if you are not playing a Mega Mod install, these are the places where people have experimented with install orders using BG1NPC on BGT games.</p>

202,203c202

< <p><strong>The <acronym title="Baldur's Gate">BG1</acronym> <acronym title="Non-Player Character">NPC</acronym> Project:

< Cloakwood areas availability in Chapter One<br />

---

> <p><strong>The <acronym title="Baldur's Gate">BG1</acronym> <acronym title="Non-Player Character">NPC</acronym> Project: Cloakwood areas availability in Chapter One <br />

205,207c204,213

< <p><strong>The <acronym title="Baldur's Gate">BG1</acronym> <acronym title="Non-Player Character">NPC</acronym> Sarevok's

< Diary Adjustments <br />

< </strong>This component installs either SixofSpades' Expanded Sarevok Diary, or the original <acronym title="Baldur's Gate">BG1</acronym> <acronym title="Non-Player Character">NPC</acronym> Project version which merely changes the dates to fit the <acronym title="Baldur's Gate">BG</acronym> storyline more closely. It also sets each as a book instead of a scroll. Not installing either means that you have the original diary, flagged as a scroll, with no content changes.</p>

---

> <p><strong>The <acronym title="Baldur's Gate">BG1</acronym> <acronym title="Non-Player Character">NPC</acronym> Sarevok's Diary Adjustments</strong> <br />

> This component installs either SixofSpades' Expanded Sarevok Diary, or the original <acronym title="Baldur's Gate">BG1</acronym> <acronym title="Non-Player Character">NPC</acronym> Project version.<br />

> SixofSpades' Expanded Sarevok Diary adds content rationalizing in-game events as closely to the storyline as he could, and incorporates entries that give depth to roleplayers. It also sets the diary to a book instead of a scroll. It is more a comprehensive change than Unfinished Business.<br />

> BG1NPC's original version changes the dates in the diary to fit the <acronym title="Baldur's Gate">BG</acronym> storyline more closely. It is less agressive a change than Unfinished Business' version. <br />

> Not installing either means that you have the original diary, flagged as a scroll, with no content changes.<br />

> In order of extent of changes, from least to most, between Unfinished business and BG1NPC:<br />

> vanilla with the game,<br />

> "slightly" restored (just correcting the dates) in BG1NPC regular<br />

> "Rationalized and Updated" in SixofSpades' UB component<br />

> "dates and characterizations and entries extended" in SixofSpades' BG1NPC component<br /></p>

278c284

< <p> As of March, 2008, none of the above items have shown incompatibility problems in testing with both Tutu and <acronym title="Baldur's Gate Trilogy">BGT</acronym> standard mods installed in the recommended orders from the forums.</p>

---

> <p> As of February, 2009, none of the above items have shown incompatibility problems in testing with both Tutu and <acronym title="Baldur's Gate Trilogy">BGT</acronym> standard mods installed in the recommended orders from the forums.</p>

370a377

> <li>-JW-: troubleshooter, coder </li>

518a526

> <a h r e f = " h t t p : //dev.gibberlings3.net/"><acronym title="Weimer Dialogue Utility">WeiDU</acronym> NotePad++ Highlighters </a> by mike 1072 and cmorgan <br />

561a570,610

> <p><strong>Version 17 - February 28, 2009</strong></p>

> <ul>

> <li>Nythrun's updated creature fixer</li>

> <li>Viconia "I See Dead People" fix for Flaming Fist when first joining</li>

> <li>Adjustment for Branwen Joining with a scalp alredy in inventory</li>

> <li>Ascension64's Coran's Wyvern Fix replacement</li>

> <li>Tarnish/Tarnesh agreement across project</li>

> <li>Coran InParty checks missing from some romance dialogs un-missing'ed</li>

> <li>IncrementGlobal moved to SetGlobal for troubleshooting in some of Branwen's dialogs</li>

> <li>Removed duplicate code in Ajantis romance</li>

> <li>Repaired Viconia/Faldorn responses within Tiax's Quest</li>

> <li>Repaired Dynaheir's Quest journal entry</li>

> <li>Placed global closiure higher up on Dynaheir's journal conflict with Edwin</li>

> <li>Ajantis Bhaal Talk repaired </li>

> <li>Edwin Unavailable for Dialog loophole closed on Dynaheir's quest</li>

> <li>Adjustment for Branwen Joining with a scalp alredy in inventory: no commentary allowed in joining area</li>

> <li>Ajantis/Kivan banter will not play if Tazok has already been killed </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15876&view=findpost&p=138061">Xan Multiple Interjections on Ice Island repaired </a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=16013&view=findpost&p=138076">Tutu: Jaheira and Khalid sharing same coordinates in Elfsong, et al repaired</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15985&view=findpost&p=138080">SAY@ instances repaired to SAY @</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15866&view=findpost&p=138084">Coran flirt sentence malformation repaired</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15864&view=findpost&p=138087">Xan: loved -> laughed repaired</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15826&view=findpost&p=138089">Xan: token and grammar repair</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15561&view=findpost&p=138097">Documentation: Dudleyville links updated to ForgottenWars, all instances, all documents</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15765&view=findpost&p=138114">Adjust Romance Challenge Areas for names of BGT versions of distributed .wed files on BGT, and Tutu ones on Tutu for areas X#CH[11,12,13,14] and X#AJR1</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15890&view=findpost&p=138322">Xan leaving due to reputation though you are bonded with him repaired</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15314&view=findpost&p=138316">Updated and clarified relationship of BG1NPC and UB Sarevok's Diary components in documentation</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=16119&view=findpost&p=138325">Repaired inconsistent coding with SAY~ and DO~ missing spaces for easier code searches</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15516&view=findpost&p=138335"> -JW-'s repairs to the Edwin Ambush</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?showtopic=15480&st=0&gopid=138416entry138416">Documentation update, BGT compatibility and install order links at Spellhold Studios</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15407&view=findpost&p=138418">Kagain Quest Journal entries reshuffled to remove any but the last seen as valid</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15367&view=findpost&p=138423">Jaheira now no longer banters about Khalid with Shar-Teel and Montaron unless he is in the party</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15053&view=findpost&p=138538">Xan Checking for HaveSpellParty in Romance but player has an SoA install </a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?s=&showtopic=15180&view=findpost&p=138549"> Tiax Quest reweighting and scripts tweaks </a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?showtopic=15525&st=0&gopid=138436entry138436">Coran Romance (Briel error) I_C_T moved to I_C_T2</a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?showtopic=16588">maretha, beador, and andarthe, part 17. </a> </li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?showtopic=16141">BG1NPC, SCS, and SCSII: Killing Tazok given SPRITE_IS_DEAD resurrection in Undercity</a></li>

> <li><a h r e f = " h t t p : //forums.gibberlings3.net/index.php?showtopic=16710&pid=144499&st=0entry144499">Xan Romance talk missing movie call on EasyTutu repaired</a></li>

> <li>Updated to WeiDU v210</li>

> <li>Other minor documentation updates, typos, grammar, etc. (multiple) - if you want the full changelog, please visit the forums.</li>

> </ul>

 

diff w bg1npc/bg1npc_docs/tiaxsquest.html bg1npc/bg1npc_docs/tiaxsquest.html

31c31

< building. http://www.dudleyville.com/bg1/ar1200.htm</p>

---

> building. http://www.forgottenwars.com/bg1/ar1200.htm</p>

 

diff w bg1npc/lib/tutu_area_script_assign.tph bg1npc/lib/tutu_area_script_assign.tph

444a445,453

> COPY_EXISTING ~FW0507.ARE~ ~override~ // TotSC: Durlag's Tower: Ice Chamber

> ~FW0508.ARE~ ~override~ // TotSC: Durlag's Tower: Fire Chamber

> ~FW0509.ARE~ ~override~ // TotSC: Durlag's Tower: Air Chamber

> ~FW0510.ARE~ ~override~ // TotSC: Durlag's Tower: Earth Chamber

> WRITE_ASCII 0x94 ~_AR0507~ #8 // area script

> BUT_ONLY_IF_IT_CHANGES

> END

>

> ACTION_IF FILE_EXISTS_IN_GAME ~FW1500.are~ THEN BEGIN // if TotSC is installed

452,455d460

< ~FW0507.ARE~ ~override~ // TotSC: Durlag's Tower: Ice Chamber

< ~FW0508.ARE~ ~override~ // TotSC: Durlag's Tower: Fire Chamber

< ~FW0509.ARE~ ~override~ // TotSC: Durlag's Tower: Air Chamber

< ~FW0510.ARE~ ~override~ // TotSC: Durlag's Tower: Earth Chamber

 

diff w bg1npc/phase1/dlg/x#ajantis.d bg1npc/phase1/dlg/x#ajantis.d

220c220

< CHAIN IF WEIGHT #-1 ~%BGT_VAR% Global("X#AjKI1","LOCALS",0) CombatCounter(0) InParty("kivan") !See([ENEMY]) See("kivan") !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck("kivan",CD_STATE_NOTVALID)~ THEN ~%AJANTIS_BANTER%~ AJKI1

---

> CHAIN IF WEIGHT #-1 ~%BGT_VAR% Global("X#AjKI1","LOCALS",0) CombatCounter(0) InParty("kivan") !See([ENEMY]) See("kivan") !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck("kivan",CD_STATE_NOTVALID) !Dead("tazok")~ THEN ~%AJANTIS_BANTER%~ AJKI1

 

diff w bg1npc/phase3/ajrom/dlg/x#ajantisaddlts_pr_notosc.d bg1npc/phase3/ajrom/dlg/x#ajantisaddlts_pr_notosc.d

41,48d40

< /* if PC made unfriendly decisions */

< /* GlobalGT("X#AjantisRomanceBadDecision","GLOBAL",4) */

< IF WEIGHT #-2 ~%BGT_VAR% Global("X#AjantisRomanceTooManyBD","GLOBAL",1)~ THEN too_many_baddecisions

< SAY @2

< IF ~!Global("X#AjantisRomanceActive","GLOBAL",1)~ THEN DO ~SetGlobal("X#AjantisRomanceTooManyBD","GLOBAL",2)~ EXIT

< IF ~Global("X#AjantisRomanceActive","GLOBAL",1)~ THEN DO ~SetGlobal("X#AjantisRomanceActive","GLOBAL",3) SetGlobal("X#AjantisRomanceInsult","GLOBAL",1) SetGlobal("X#AjantisRomanceTooManyBD","GLOBAL",2)~ EXIT

< END

<

 

diff w bg1npc/tra/english/x#ajantisbhaallts.tra bg1npc/tra/english/x#ajantisbhaallts.tra

1c1

< @0 = ~<CHARNAME>, You... You are an offspring of *Bhaal*, the Lord of Murder?! What a frightening discovery! What an accursed heritage!~

---

> @0 = ~<CHARNAME>, you... you are an offspring of *Bhaal*, the Lord of Murder?! What a frightening discovery! What an accursed heritage!~

 

diff w bg1npc/tra/english/x#ajantisdreamlts.tra bg1npc/tra/english/x#ajantisdreamlts.tra

15c15

< @14 = ~That is true, <CHARNANE>. It is no wonder these happenings are giving you bad dreams. You haven't been trained to fight and kill evil enemies threatening your life. Even defeating Mulahey did not bring us the victory we might have expected. It only gave us the knowledge that there might be a bigger organisation behind it...~

---

> @14 = ~That is true, <CHARNAME>. It is no wonder these happenings are giving you bad dreams. You haven't been trained to fight and kill evil enemies threatening your life. Even defeating Mulahey did not bring us the victory we might have expected. It only gave us the knowledge that there might be a bigger organisation behind it...~

 

diff w bg1npc/phase2/dlg/x#ajint.d bg1npc/phase2/dlg/x#ajint.d

821c821,822

< IF ~~ THEN + bhaalknow_22

---

> IF ~!Global("X#AjantisRomanceActive","GLOBAL",2)~ THEN + bhaalknow_26

> IF ~Global("X#AjantisRomanceActive","GLOBAL",2)~ THEN + bhaalknow_27

832c833,834

< IF ~~ THEN + bhaalknow_22

---

> IF ~!Global("X#AjantisRomanceActive","GLOBAL",2)~ THEN + bhaalknow_26

> IF ~Global("X#AjantisRomanceActive","GLOBAL",2)~ THEN + bhaalknow_27

835,842c837

< IF ~~ THEN BEGIN bhaalknow_22

< SAY @180

< + ~!Global("X#AjantisRomanceActive","GLOBAL",2)~ + @158 + bhaalknow_25

< + ~Global("X#AjantisRomanceActive","GLOBAL",2)~ + @158 + bhaalknow_29

< + ~!Global("X#AjantisRomanceActive","GLOBAL",2)~ + @159 + bhaalknow_25

< + ~Global("X#AjantisRomanceActive","GLOBAL",2)~ + @159 + bhaalknow_29

< ++ @160 + bhaalknow_16

< END

---

> /* IF ~~ THEN BEGIN bhaalknow_22 taken out */

 

diff w bg1npc/tra/english/x#ajint.tra bg1npc/tra/english/x#ajint.tra

133c133

< @132 = ~<CHARNAME>, You... You are an offspring of *Bhaal*, the God of Murder?!~

---

> @132 = ~<CHARNAME>, you... you are an offspring of *Bhaal*, the God of Murder?!~

 

diff w bg1npc/phase2/baf/x#andart.baf bg1npc/phase2/baf/x#andart.baf

4d3

< Detect([PC])

8d6

< !StateCheck(Player1,CD_STATE_NOTVALID)

20d17

< !StateCheck(Player1,CD_STATE_NOTVALID)

29d25

< Detect([PC])

33d28

< !StateCheck(Player1,CD_STATE_NOTVALID)

45d39

< !StateCheck(Player1,CD_STATE_NOTVALID)

55a50,51

> StartCutSceneMode()

> CutSceneId(Player1)

63a60

> EndCutSceneMode()

 

diff w bg1npc/core/dlg/x#bgreplace_bgt.d bg1npc/core/dlg/x#bgreplace_bgt.d

0a1,9

> /* Amarande Remove Escape Area*/

> ALTER_TRANS ~%tutu_var%AMARAN~

> BEGIN 3 5 END

> BEGIN 0 END

> BEGIN

> "ACTION" ~SetGlobal("X#RemovedEscape","GLOBAL",1)~

> END

>

>

132,133c141,142

< ADD_TRANS_TRIGGER BKHALI 3 ~Global("X#BIOKH1","LOCALS",0)~

< ADD_TRANS_TRIGGER BKHALI 8 ~Global("X#BIOKH2","LOCALS",0)~

---

> ADD_STATE_TRIGGER BKHALI 3 ~Global("X#BIOKH1","LOCALS",0)~

> ADD_STATE_TRIGGER BKHALI 8 ~Global("X#BIOKH2","LOCALS",0)~

146,149c155,158

< ADD_TRANS_TRIGGER BJAHEIR %BGTBJAHEIState0% ~Global("X#BIOJA1","LOCALS",0)~

< ADD_TRANS_TRIGGER BJAHEIR %BGTBJAHEIState3% ~Global("X#BIOJA2","LOCALS",0)~

< ADD_TRANS_TRIGGER BJAHEIR %BGTBJAHEIState6% ~Global("X#BIOJA4","LOCALS",0)~

< ADD_TRANS_TRIGGER BJAHEIR %BGTBJAHEIState7% ~Global("X#BIOJA5","LOCALS",0)~

---

> ADD_STATE_TRIGGER BJAHEIR %BGTBJAHEIState0% ~Global("X#BIOJA1","LOCALS",0)~

> ADD_STATE_TRIGGER BJAHEIR %BGTBJAHEIState3% ~Global("X#BIOJA2","LOCALS",0)~

> ADD_STATE_TRIGGER BJAHEIR %BGTBJAHEIState6% ~Global("X#BIOJA4","LOCALS",0)~

> ADD_STATE_TRIGGER BJAHEIR %BGTBJAHEIState7% ~Global("X#BIOJA5","LOCALS",0)~

162,167c171,176

< ADD_TRANS_TRIGGER BGARRI 0 ~Global("X#BIOGA1","LOCALS",0)~

< ADD_TRANS_TRIGGER BGARRI 1 ~Global("X#BIOGA2","LOCALS",0)~

< ADD_TRANS_TRIGGER BGARRI 4 ~Global("X#BIOGA3","LOCALS",0)~

< ADD_TRANS_TRIGGER BGARRI 5 ~Global("X#BIOGA4","LOCALS",0)~

< ADD_TRANS_TRIGGER BGARRI 6 ~Global("X#BIOGA5","LOCALS",0)~

< ADD_TRANS_TRIGGER BGARRI 7 ~Global("X#BIOGA6","LOCALS",0)~

---

> ADD_STATE_TRIGGER BGARRI 0 ~Global("X#BIOGA1","LOCALS",0)~

> ADD_STATE_TRIGGER BGARRI 1 ~Global("X#BIOGA2","LOCALS",0)~

> ADD_STATE_TRIGGER BGARRI 4 ~Global("X#BIOGA3","LOCALS",0)~

> ADD_STATE_TRIGGER BGARRI 5 ~Global("X#BIOGA4","LOCALS",0)~

> ADD_STATE_TRIGGER BGARRI 6 ~Global("X#BIOGA5","LOCALS",0)~

> ADD_STATE_TRIGGER BGARRI 7 ~Global("X#BIOGA6","LOCALS",0)~

177,180c186,189

< ADD_TRANS_TRIGGER BFALDO 0 ~Global("X#BIOFA1","LOCALS",0)~

< ADD_TRANS_TRIGGER BFALDO 1 ~Global("X#BIOFA2","LOCALS",0)~

< ADD_TRANS_TRIGGER BFALDO 2 ~Global("X#BIOFA3","LOCALS",0)~

< ADD_TRANS_TRIGGER BFALDO 3 ~Global("X#BIOFA4","LOCALS",0)~

---

> ADD_STATE_TRIGGER BFALDO 0 ~Global("X#BIOFA1","LOCALS",0)~

> ADD_STATE_TRIGGER BFALDO 1 ~Global("X#BIOFA2","LOCALS",0)~

> ADD_STATE_TRIGGER BFALDO 2 ~Global("X#BIOFA3","LOCALS",0)~

> ADD_STATE_TRIGGER BFALDO 3 ~Global("X#BIOFA4","LOCALS",0)~

203,204c212,213

< ADD_TRANS_TRIGGER BEDWIN %BGTBEDWINState3% ~Global("X#BIOED1","LOCALS",0)~

< ADD_TRANS_TRIGGER BEDWIN %BGTBEDWINState14% ~Global("X#BIOED2","LOCALS",0)~

---

> ADD_STATE_TRIGGER BEDWIN %BGTBEDWINState3% ~Global("X#BIOED1","LOCALS",0)~

> ADD_STATE_TRIGGER BEDWIN %BGTBEDWINState14% ~Global("X#BIOED2","LOCALS",0)~

210,216c219,225

< ADD_TRANS_TRIGGER BDYNA 0 ~Global("X#BIODY1","LOCALS",0)~

< ADD_TRANS_TRIGGER BDYNA 5 ~Global("X#BIODY2","LOCALS",0)~

< ADD_TRANS_TRIGGER BDYNA 6 ~Global("X#BIODY3","LOCALS",0)~

< ADD_TRANS_TRIGGER BDYNA 7 ~Global("X#BIODY4","LOCALS",0)~

< ADD_TRANS_TRIGGER BDYNA 12 ~Global("X#BIODY5","LOCALS",0)~

< ADD_TRANS_TRIGGER BDYNA 15 ~Global("X#BIODY6","LOCALS",0)~

< ADD_TRANS_TRIGGER BDYNA 16 ~Global("X#BIODY7","LOCALS",0)~

---

> ADD_STATE_TRIGGER BDYNA 0 ~Global("X#BIODY1","LOCALS",0)~

> ADD_STATE_TRIGGER BDYNA 5 ~Global("X#BIODY2","LOCALS",0)~

> ADD_STATE_TRIGGER BDYNA 6 ~Global("X#BIODY3","LOCALS",0)~

> ADD_STATE_TRIGGER BDYNA 7 ~Global("X#BIODY4","LOCALS",0)~

> ADD_STATE_TRIGGER BDYNA 12 ~Global("X#BIODY5","LOCALS",0)~

> ADD_STATE_TRIGGER BDYNA 15 ~Global("X#BIODY6","LOCALS",0)~

> ADD_STATE_TRIGGER BDYNA 16 ~Global("X#BIODY7","LOCALS",0)~

226a236,242

>

> /*wyverns fix */

> REPLACE_TRIGGER_TEXT %CORAN_JOINED% ~!Dead("Wyvern")~ ~!Dead("X#CoranWyvern")~

> REPLACE_STATE_TRIGGER %CORAN_JOINED% 0 ~Dead("X#CoranWyvern") Global("CoranReward","GLOBAL",0) Global("wyvernp","GLOBAL",0) PartyHasItem("%tutu_var%MISC52")~

>

> ADD_STATE_TRIGGER %tutu_var%KELDDA 6 ~Dead("X#CoranWyvern")~

>

250,251c266,267

< ADD_TRANS_TRIGGER BBRANW 0 ~Global("X#BIOBR1","LOCALS",0)~

< ADD_TRANS_TRIGGER BBRANW 1 ~Global("X#BIOBR2","LOCALS",0)~

---

> ADD_STATE_TRIGGER BBRANW 0 ~Global("X#BIOBR1","LOCALS",0)~

> ADD_STATE_TRIGGER BBRANW 1 ~Global("X#BIOBR2","LOCALS",0)~

258,262c274,278

< ADD_TRANS_TRIGGER BAJANT 0 ~Global("X#BIOAJ1","LOCALS",0)~

< ADD_TRANS_TRIGGER BAJANT 1 ~Global("X#BIOAJ2","LOCALS",0)~

< ADD_TRANS_TRIGGER BAJANT 2 ~Global("X#BIOAJ3","LOCALS",0)~

< ADD_TRANS_TRIGGER BAJANT 3 ~Global("X#BIOAJ4","LOCALS",0)~

< ADD_TRANS_TRIGGER BAJANT 4 ~Global("X#BIOAJ5","LOCALS",0)~

---

> ADD_STATE_TRIGGER BAJANT 0 ~Global("X#BIOAJ1","LOCALS",0)~

> ADD_STATE_TRIGGER BAJANT 1 ~Global("X#BIOAJ2","LOCALS",0)~

> ADD_STATE_TRIGGER BAJANT 2 ~Global("X#BIOAJ3","LOCALS",0)~

> ADD_STATE_TRIGGER BAJANT 3 ~Global("X#BIOAJ4","LOCALS",0)~

> ADD_STATE_TRIGGER BAJANT 4 ~Global("X#BIOAJ5","LOCALS",0)~

271,274c287,290

< ADD_TRANS_TRIGGER BALORA 0 ~Global("X#BIOAL1","LOCALS",0)~

< ADD_TRANS_TRIGGER BALORA 1 ~Global("X#BIOAL2","LOCALS",0)~

< ADD_TRANS_TRIGGER BALORA 3 ~Global("X#BIOAL3","LOCALS",0)~

< ADD_TRANS_TRIGGER BALORA 4 ~Global("X#BIOAL4","LOCALS",0)~

---

> ADD_STATE_TRIGGER BALORA 0 ~Global("X#BIOAL1","LOCALS",0)~

> ADD_STATE_TRIGGER BALORA 1 ~Global("X#BIOAL2","LOCALS",0)~

> ADD_STATE_TRIGGER BALORA 3 ~Global("X#BIOAL3","LOCALS",0)~

> ADD_STATE_TRIGGER BALORA 4 ~Global("X#BIOAL4","LOCALS",0)~

 

diff w bg1npc/core/dlg/x#bgreplace_tutu.d bg1npc/core/dlg/x#bgreplace_tutu.d

0a1,7

> /* Amarande Remove Escape Area*/

> ALTER_TRANS ~%tutu_var%AMARAN~

> BEGIN 3 5 END

> BEGIN 0 END

> BEGIN

> "ACTION" ~SetGlobal("X#RemovedEscape","GLOBAL",1)~

> END

139,140c146,147

< ADD_TRANS_TRIGGER ~_BKHALI~ 3 ~Global("X#BIOKH1","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BKHALI~ 8 ~Global("X#BIOKH2","LOCALS",0)~

---

> ADD_STATE_TRIGGER ~_BKHALI~ 3 ~Global("X#BIOKH1","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BKHALI~ 8 ~Global("X#BIOKH2","LOCALS",0)~

153,156c160,163

< ADD_TRANS_TRIGGER ~_BJAHEI~ 0 ~Global("X#BIOJA1","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BJAHEI~ 3 ~Global("X#BIOJA2","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BJAHEI~ 6 ~Global("X#BIOJA4","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BJAHEI~ 7 ~Global("X#BIOJA5","LOCALS",0)~

---

> ADD_STATE_TRIGGER ~_BJAHEI~ 0 ~Global("X#BIOJA1","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BJAHEI~ 3 ~Global("X#BIOJA2","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BJAHEI~ 6 ~Global("X#BIOJA4","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BJAHEI~ 7 ~Global("X#BIOJA5","LOCALS",0)~

169,174c176,181

< ADD_TRANS_TRIGGER ~_BGARRI~ 0 ~Global("X#BIOGA1","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BGARRI~ 1 ~Global("X#BIOGA2","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BGARRI~ 4 ~Global("X#BIOGA3","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BGARRI~ 5 ~Global("X#BIOGA4","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BGARRI~ 6 ~Global("X#BIOGA5","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BGARRI~ 7 ~Global("X#BIOGA6","LOCALS",0)~

---

> ADD_STATE_TRIGGER ~_BGARRI~ 0 ~Global("X#BIOGA1","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BGARRI~ 1 ~Global("X#BIOGA2","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BGARRI~ 4 ~Global("X#BIOGA3","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BGARRI~ 5 ~Global("X#BIOGA4","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BGARRI~ 6 ~Global("X#BIOGA5","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BGARRI~ 7 ~Global("X#BIOGA6","LOCALS",0)~

184,187c191,194

< ADD_TRANS_TRIGGER ~_BFALDO~ 0 ~Global("X#BIOFA1","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BFALDO~ 1 ~Global("X#BIOFA2","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BFALDO~ 2 ~Global("X#BIOFA3","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BFALDO~ 3 ~Global("X#BIOFA4","LOCALS",0)~

---

> ADD_STATE_TRIGGER ~_BFALDO~ 0 ~Global("X#BIOFA1","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BFALDO~ 1 ~Global("X#BIOFA2","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BFALDO~ 2 ~Global("X#BIOFA3","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BFALDO~ 3 ~Global("X#BIOFA4","LOCALS",0)~

214,215c221,222

< ADD_TRANS_TRIGGER ~_BEDWIN~ 3 ~Global("X#BIOED1","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BEDWIN~ 14 ~Global("X#BIOED2","LOCALS",0)~

---

> ADD_STATE_TRIGGER ~_BEDWIN~ 3 ~Global("X#BIOED1","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BEDWIN~ 14 ~Global("X#BIOED2","LOCALS",0)~

222,228c229,235

< ADD_TRANS_TRIGGER ~_BDYNAH~ 0 ~Global("X#BIODY1","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BDYNAH~ 5 ~Global("X#BIODY2","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BDYNAH~ 6 ~Global("X#BIODY3","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BDYNAH~ 7 ~Global("X#BIODY4","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BDYNAH~ 12 ~Global("X#BIODY5","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BDYNAH~ 15 ~Global("X#BIODY6","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BDYNAH~ 16 ~Global("X#BIODY7","LOCALS",0)~

---

> ADD_STATE_TRIGGER ~_BDYNAH~ 0 ~Global("X#BIODY1","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BDYNAH~ 5 ~Global("X#BIODY2","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BDYNAH~ 6 ~Global("X#BIODY3","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BDYNAH~ 7 ~Global("X#BIODY4","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BDYNAH~ 12 ~Global("X#BIODY5","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BDYNAH~ 15 ~Global("X#BIODY6","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BDYNAH~ 16 ~Global("X#BIODY7","LOCALS",0)~

238a246,252

>

> /*wyverns fix */

> REPLACE_TRIGGER_TEXT %CORAN_JOINED% ~!Dead("Wyvern")~ ~!Dead("X#CoranWyvern")~

> REPLACE_STATE_TRIGGER %CORAN_JOINED% 0 ~Dead("X#CoranWyvern") Global("CoranReward","GLOBAL",0) Global("wyvernp","GLOBAL",0) PartyHasItem("%tutu_var%MISC52")~

>

> ADD_STATE_TRIGGER %tutu_var%KELDDA 6 ~Dead("X#CoranWyvern")~

>

262,263c276,277

< ADD_TRANS_TRIGGER ~_BBRANW~ 0 ~Global("X#BIOBR1","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BBRANW~ 1 ~Global("X#BIOBR2","LOCALS",0)~

---

> ADD_STATE_TRIGGER ~_BBRANW~ 0 ~Global("X#BIOBR1","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BBRANW~ 1 ~Global("X#BIOBR2","LOCALS",0)~

270,274c284,288

< ADD_TRANS_TRIGGER ~_BAJANT~ 0 ~Global("X#BIOAJ1","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BAJANT~ 1 ~Global("X#BIOAJ2","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BAJANT~ 2 ~Global("X#BIOAJ3","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BAJANT~ 3 ~Global("X#BIOAJ4","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BAJANT~ 4 ~Global("X#BIOAJ5","LOCALS",0)~

---

> ADD_STATE_TRIGGER ~_BAJANT~ 0 ~Global("X#BIOAJ1","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BAJANT~ 1 ~Global("X#BIOAJ2","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BAJANT~ 2 ~Global("X#BIOAJ3","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BAJANT~ 3 ~Global("X#BIOAJ4","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BAJANT~ 4 ~Global("X#BIOAJ5","LOCALS",0)~

283,286c297,300

< ADD_TRANS_TRIGGER ~_BALORA~ 0 ~Global("X#BIOAL1","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BALORA~ 1 ~Global("X#BIOAL2","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BALORA~ 3 ~Global("X#BIOAL3","LOCALS",0)~

< ADD_TRANS_TRIGGER ~_BALORA~ 4 ~Global("X#BIOAL4","LOCALS",0)~

---

> ADD_STATE_TRIGGER ~_BALORA~ 0 ~Global("X#BIOAL1","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BALORA~ 1 ~Global("X#BIOAL2","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BALORA~ 3 ~Global("X#BIOAL3","LOCALS",0)~

> ADD_STATE_TRIGGER ~_BALORA~ 4 ~Global("X#BIOAL4","LOCALS",0)~

 

diff w bg1npc/phase1/dlg/x#branw.d bg1npc/phase1/dlg/x#branw.d

154c154

< CHAIN IF WEIGHT #-1 ~%BGT_VAR% CombatCounter(0) InParty("edwin") Global("P#Branwen_Edwin1","LOCALS",0) !See([ENEMY]) See("edwin") !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck("edwin",CD_STATE_NOTVALID)~ THEN ~%BRANWEN_BANTER%~ Edwin1Chain

---

> CHAIN IF WEIGHT #-1 ~%BGT_VAR% CombatCounter(0) InParty("edwin") Global("P#Branwen_Edwin1","LOCALS",0) !See([ENEMY]) See("edwin") !StateCheck(Myself,CD_STATE_NOTVALID) !StateCheck("edwin",CD_STATE_NOTVALID) LevelGT("edwin",4)~ THEN ~%BRANWEN_BANTER%~ Edwin1Chain

diff w bg1npc/phase2/dlg/x#brint.d bg1npc/phase2/dlg/x#brint.d

27a28

> IF ~Global("X#JaheiraZeke","GLOBAL",1)~ THEN GOTO X#JaheiraHitZeke

34a36,41

>

> IF ~~ X#JaheiraHitZeke

> SAY @12

> IF ~~ THEN DO ~EscapeArea()~ EXIT

> END

>

 

diff w bg1npc/tra/english/x#brint.tra bg1npc/tra/english/x#brint.tra

58c58

< @57 = ~Ah, there's nothing like the smell of fresh blood to bring a tingle to the nose and a smile to the face. Ugh, this one could have stood to have washed his hair once a tenday.~

---

> @57 = ~Ah, there's nothing like the smell of fresh blood to bring a tingle to the nose and a smile to the face. Scalps make good trophies. Ugh, this one could have stood to have washed his hair once a tenday.~

 

diff w bg1npc/phase2/baf/x#brint2.baf bg1npc/phase2/baf/x#brint2.baf

68a69

> !AreaCheck("%NashkelCarnival%")

83a85

> !AreaCheck("%NashkelCarnival%")

 

diff w bg1npc/phase2/baf/x#coint2.baf bg1npc/phase2/baf/x#coint2.baf

224c224

< /* Initiate: Coran, Coran, Entry to Durlag’s Tower */

---

> /* Initiate: Coran, Entry to Durlag’s Tower */

 

diff w bg1npc/phase1/baf/x#coran1.baf bg1npc/phase1/baf/x#coran1.baf

460c460

< /* Wyvern head */

---

> /* Wyvern head friendtalk */

461a462

> Dead("X#CoranWyvern")

463a465

> Global("wyvernp","GLOBAL",0)

 

diff w bg1npc/tra/english/x#coran1.tra bg1npc/tra/english/x#coran1.tra

1c1

< @0 = ~Coran had set aside money for child support~

---

> @0 = ~Coran had money set aside for child support~

 

diff w bg1npc/core/baf/x#corwyv.baf bg1npc/core/baf/x#corwyv.baf

0a1,2

> /* Restored Stock Coran Response to Killing Wyvern */

> /* closed by vanilla dialog, setting Global("CoranReward","GLOBAL",1) */

1a4,26

> Dead("X#CoranWyvern")

> Global("CoranReward","GLOBAL",0)

> Global("wyvernp","GLOBAL",0)

> PartyHasItem("%tutu_var%MISC52")

> InParty(Myself)

> CombatCounter(0)

> !See([ENEMY])

> InMyArea(Player1)

> !StateCheck(Player1,CD_STATE_NOTVALID)

> !StateCheck(Myself,CD_STATE_NOTVALID)

> THEN

> RESPONSE #100

> Dialogue([PC])

> END

>

> /* Coran Warned Second Time Only If Not Romanced */

> IF %BGT_VAR%

> Global("X#CoranWyvernWarning1","GLOBAL",1)

> !Dead("X#CoranWyvern")

> GlobalTimerExpired("coran","GLOBAL")

> Global("X#CoranWyvernWarning2","GLOBAL",0)

> Global("CoranReward","GLOBAL",0)

> Global("wyvernp","GLOBAL",0)

5d29

< GlobalTimerExpired("coran","GLOBAL")

7,9c31,35

< !Dead("wyvern")

< Global("X#CoranWyvernWarning1","GLOBAL",0)

< Global("P#CoranWyvern","GLOBAL",0)

---

> CombatCounter(0)

> !See([ENEMY])

> InMyArea(Player1)

> !StateCheck(Player1,CD_STATE_NOTVALID)

> !StateCheck(Myself,CD_STATE_NOTVALID)

12,13c38

< SetGlobal("X#CoranWyvernWarning1","GLOBAL",1)

< SetGlobal("P#CoranWyvern","GLOBAL",1)

---

> SetGlobal("X#CoranWyvernWarning2","GLOBAL",1)

16a42

> /* Coran Warned Only If Not Romanced First Time */

17a44,48

> !Dead("X#CoranWyvern")

> GlobalTimerExpired("coran","GLOBAL")

> Global("X#CoranWyvernWarning1","GLOBAL",0)

> Global("CoranReward","GLOBAL",0)

> Global("wyvernp","GLOBAL",0)

21d51

< GlobalTimerExpired("coran","GLOBAL")

23,25c53,57

< !Dead("wyvern")

< Global("X#CoranWyvernWarning2","GLOBAL",0)

< Global("P#CoranWyvern","GLOBAL",1)

---

> CombatCounter(0)

> !See([ENEMY])

> InMyArea(Player1)

> !StateCheck(Player1,CD_STATE_NOTVALID)

> !StateCheck(Myself,CD_STATE_NOTVALID)

28c60,61

< SetGlobal("X#CoranWyvernWarning2","GLOBAL",1)

---

> SetGlobal("X#CoranWyvernWarning1","GLOBAL",1)

> SetGlobal("P#CoranWyvern","GLOBAL",1)

30a64,65

>

>

 

diff w bg1npc/phase2/dlg/x#cosqu.d bg1npc/phase2/dlg/x#cosqu.d

337c337

< IF ~~ THEN DO ~TakePartyItem("X#CODYE1") TakePartyItem("X#CODYE2") SetGlobal("X#CoranSuccubus","GLOBAL",15) ActionOverride("coran",EscapeArea()) GiveItemCreate("X#COAMUL",Player1,1,0,0) EscapeArea() ActionOverride("natan",EscapeArea()) AddexperienceParty(8000)~ EXIT

---

> IF ~~ THEN DO ~StartCutSceneMode() TakePartyItem("X#CODYE1") TakePartyItem("X#CODYE2") SetGlobal("X#CoranSuccubus","GLOBAL",15) ActionOverride("coran",EscapeArea()) GiveItemCreate("X#COAMUL",Player1,1,0,0) EscapeArea() ActionOverride("natan",EscapeArea()) AddexperienceParty(6400) EndCutSceneMode()~ EXIT

342c342

< IF ~~ THEN DO ~TakePartyItem("X#CODYE1") TakePartyItem("X#CODYE2") SetGlobal("X#CoranSuccubus","GLOBAL",16) GiveItemCreate("X#COAMUL",Player1,1,0,0) EscapeArea() AddexperienceParty(8000)~ EXIT

---

> IF ~~ THEN DO ~StartCutSceneMode() TakePartyItem("X#CODYE1") TakePartyItem("X#CODYE2") SetGlobal("X#CoranSuccubus","GLOBAL",16) GiveItemCreate("X#COAMUL",Player1,1,0,0) EscapeArea() AddexperienceParty(6400) EndCutSceneMode()~ EXIT

369c369

< IF ~~ THEN DO ~TakePartyItem("X#CODYE1") TakePartyItem("X#CODYE2") SetGlobal("X#CoranSuccubus","GLOBAL",15) ActionOverride("coran",LeaveParty()) ActionOverride("coran",SetLeavePartyDialogFile()) ActionOverride("coran",ChangeAIScript("",DEFAULT)) EscapeArea() ActionOverride("coran",EscapeArea()) ActionOverride("natan",EscapeArea()) AddexperienceParty(8000)~

---

> IF ~~ THEN DO ~StartCutSceneMode() TakePartyItem("X#CODYE1") TakePartyItem("X#CODYE2") SetGlobal("X#CoranSuccubus","GLOBAL",15) ActionOverride("coran",LeaveParty()) ActionOverride("coran",SetLeavePartyDialogFile()) ActionOverride("coran",ChangeAIScript("",DEFAULT)) EscapeArea() ActionOverride("coran",EscapeArea()) ActionOverride("natan",EscapeArea()) AddexperienceParty(6400) EndCutSceneMode()~

380c380

< IF ~~ THEN DO ~TakePartyItem("X#CODYE1") TakePartyItem("X#CODYE2") SetGlobal("X#CoranSuccubus","GLOBAL",16) GiveItemCreate("X#COAMUL",Player1,1,0,0) EscapeArea() AddexperienceParty(8000)~

---

> IF ~~ THEN DO ~StartCutSceneMode() TakePartyItem("X#CODYE1") TakePartyItem("X#CODYE2") SetGlobal("X#CoranSuccubus","GLOBAL",16) GiveItemCreate("X#COAMUL",Player1,1,0,0) EscapeArea() AddexperienceParty(6400) EndCutScenemode()~

439c439

< IF ~~ THEN DO ~SetGlobal("X#CoranSuccubus","GLOBAL",12) GiveItemCreate("X#COAMUL",Player1,1,0,0) EscapeArea() ActionOverride("natan",DestroySelf()) AddexperienceParty(8000)~

---

> IF ~~ THEN DO ~SetGlobal("X#CoranSuccubus","GLOBAL",12) GiveItemCreate("X#COAMUL",Player1,1,0,0) EscapeArea() ActionOverride("natan",DestroySelf()) AddexperienceParty(6400)~

457c457

< IF ~~ THEN DO ~SetGlobal("X#CoranSuccubus","GLOBAL",12) GiveItemCreate("X#COAMUL",Player1,1,0,0) EscapeArea() ActionOverride("natan",DestroySelf()) AddexperienceParty(8000)~

---

> IF ~~ THEN DO ~SetGlobal("X#CoranSuccubus","GLOBAL",12) GiveItemCreate("X#COAMUL",Player1,1,0,0) EscapeArea() ActionOverride("natan",DestroySelf()) AddexperienceParty(6400)~

 

diff w bg1npc/phase2/baf/x#dynaquest.baf bg1npc/phase2/baf/x#dynaquest.baf

264c264

< !Dead("edwin")

---

> !StateCheck("edwin",CD_STATE_NOTVALID)

291c291

< !Dead("edwin")

---

> !StateCheck("edwin",CD_STATE_NOTVALID)

 

diff w bg1npc/phase2/dlg/x#dynaquest.d bg1npc/phase2/dlg/x#dynaquest.d

20,22c20,22

< ++ @2 DO ~AddJournalEntry(@225,QUEST)~ EXIT

< ++ @3 DO ~AddJournalEntry(@225,QUEST)~ EXIT

< ++ @4 DO ~AddJournalEntry(@225,QUEST)~ EXIT

---

> ++ @2 DO ~AddJournalEntry(@223,QUEST)~ EXIT

> ++ @3 DO ~AddJournalEntry(@223,QUEST)~ EXIT

> ++ @4 DO ~AddJournalEntry(@223,QUEST)~ EXIT

340,341c340,341

< @121

< == ~%EDWIN_BANTER%~ @122 DO ~SetGlobal("X#EdwinReturnsDyJournal","GLOBAL",2)~ EXIT

---

> @121 DO ~SetGlobal("X#EdwinReturnsDyJournal","GLOBAL",2)~

> == ~%EDWIN_BANTER%~ @122 EXIT

345c345

< @123

---

> @123 DO ~SetGlobal("X#EdwinStealsDyJournal","GLOBAL",2)~

351c351

< == ~%EDWIN_BANTER%~ @129 DO ~SetGlobal("X#EdwinStealsDyJournal","GLOBAL",2)~ EXIT

---

> == ~%EDWIN_BANTER%~ IF ~InParty("edwin") InMyArea("edwin") !StateCheck("edwin",CD_STATE_NOTVALID)~ THEN @129 EXIT

 

diff w bg1npc/tra/english/x#dyronpc.tra bg1npc/tra/english/x#dyronpc.tra

262c262

< @261 = ~Dost thou imply that mine interest in <CHARNMAE> fuels thine and vice versa?~

---

> @261 = ~Dost thou imply that mine interest in <CHARNAME> fuels thine and vice versa?~

 

diff w bg1npc/phase2/dlg/x#edint.d bg1npc/phase2/dlg/x#edint.d

17,67c17,20

< INTERJECT ~%tutu_var%DENAK~ 0 X#EdwinAllies

< == ~%tutu_var%EDWIN~ IF ~Global("X#EdwinReturn","GLOBAL",1) !InParty("edwin") See("denak")~ THEN

< @1

< END

< IF ~~ THEN DO ~SetGlobal("X#EdwinReturn","GLOBAL",2)

< ActionOverride("denak",Enemy())

< ActionOverride("brendan",Enemy())

< ActionOverride("lasala",Enemy())

< ActionOverride("diana",Enemy())

< ActionOverride("edwin",Enemy())~ EXIT

<

< APPEND ~%tutu_var%EDWIN~

<

< IF WEIGHT #-2 ~%BGT_VAR% Global("X#EdwinReturn","GLOBAL",1) !InParty("edwin")~ EdwinUnhappy

< SAY @2

< IF ~~ THEN DO ~

< SetGlobal("X#EdwinReturn","GLOBAL",2)

< CreateCreature("%tutu_var%FGOLEM",[-1.-1],0)

< CreateCreature("%tutu_var%FGOLEM",[-1.-1],0)

< ActionOverride("denak",Enemy())

< ActionOverride("brendan",Enemy())

< ActionOverride("lasala",Enemy())

< ActionOverride("diana",Enemy())

< Enemy()~ EXIT

< END

<

< END

<

< APPEND ~%EDWIN_POST%~

<

< IF WEIGHT #-2 ~%BGT_VAR% Global("X#EdwinReturn","GLOBAL",1) !InParty("edwin")~ EdwinUnhappy

< SAY @2

< IF ~~ THEN DO ~

< SetGlobal("X#EdwinReturn","GLOBAL",2)

< CreateCreature("%tutu_var%FGOLEM",[-1.-1],0)

< CreateCreature("%tutu_var%FGOLEM",[-1.-1],0)

< ActionOverride("denak",Enemy())

< ActionOverride("brendan",Enemy())

< ActionOverride("lasala",Enemy())

< ActionOverride("diana",Enemy())

< Enemy()~ EXIT

< END

<

< END

<

< APPEND ~%tutu_var%DENAK~

<

< IF WEIGHT #-2 ~GlobalGT("X#EdwinReturn","GLOBAL",0)~ EdwinDeath

< SAY @3

< IF ~~ THEN DO ~SetGlobal("X#EdwinReturn","GLOBAL",3)

< ActionOverride("denak",Enemy())

---

> /* Edwin and Denak, -JW-'s recode */

> CHAIN IF WEIGHT #-2 ~%BGT_VAR% GlobalGT("X#EdwinReturn","GLOBAL",0)~ THEN ~%tutu_var%DENAK~ X#EdwinAllies1

> @3

> DO ~ActionOverride("denak",Enemy())

72,75c25,32

< Enemy()~ EXIT

< END

<

< END

---

> SetGlobal("X#EdwinReturn","GLOBAL",3)~

> == ~%EDWIN_POST%~ IF ~Global("X#EdwinReturn","GLOBAL",1) !Dead("Edwin") !InParty("edwin") !StateCheck("edwin",CD_STATE_NOTVALID) See("denak")~ THEN @1

> DO ~SetGlobal("X#EdwinReturn","GLOBAL",3)~

> == ~%EDWIN_POST%~ IF ~Global("X#EdwinReturn","GLOBAL",2) !Dead("Edwin") !InParty("edwin") !StateCheck("edwin",CD_STATE_NOTVALID) See("denak")~ THEN @2

> DO ~SetGlobal("X#EdwinReturn","GLOBAL",3)

> CreateCreature("%tutu_var%FGOLEM",[-1.-1],0)

> CreateCreature("%tutu_var%FGOLEM",[-1.-1],0)~

> EXIT

 

diff w bg1npc/phase2/baf/x#edint2.baf bg1npc/phase2/baf/x#edint2.baf

53c53

< /* Edwin Goes to RW randezvous */

---

> /* Edwin Goes to RW rondezvous */

58a59

> SetGlobalTimer("JW#Edwin","GLOBAL",28800) //four days

 

diff w bg1npc/phase2/dlg/x#faint.d bg1npc/phase2/dlg/x#faint.d

294a295,300

> /* Faldorn Amarande with report but Jaheira Quest pretty much done */

> CHAIN IF WEIGHT #-1 ~%BGT_VAR% InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID) GlobalGT("X#JaheiraQuest","GLOBAL",0) GlobalGT("X#AmarantheAndarthe","GLOBAL",0) Global("X#ReportAmarande","GLOBAL",1) Global("FLOODED","GLOBAL",0)~

> THEN ~%tutu_var%AMARAN~ AmaranFaldLoopMine2

> @65

> == ~%FALDORN_BANTER%~ @63

> EXIT

297c303

< CHAIN IF WEIGHT #-3 ~%BGT_VAR% Global("X#ReportAmarande","GLOBAL",1) OR(2) Global("FLOODED","GLOBAL",1) Global("FLOODED","GLOBAL",2) InParty("faldorn")~

---

> CHAIN IF WEIGHT #-3 ~%BGT_VAR% Global("X#ReportAmarande","GLOBAL",1) OR(2) Global("FLOODED","GLOBAL",1) Global("FLOODED","GLOBAL",2) InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~

 

diff w bg1npc/tra/english/x#ict3.tra bg1npc/tra/english/x#ict3.tra

858c858

< @853 = ~<CHARNAME>, the one who mingles in slaves' affairs is lowering <PRO_HIMHER>self to their shameful station.~

---

> @853 = ~<CHARNAME>, the one who mingles in slavers' affairs is lowering <PRO_HIMHER>self to their shameful station.~

 

diff w bg1npc/phase1/dlg/x#jaheira.d bg1npc/phase1/dlg/x#jaheira.d

429c429

< CHAIN IF WEIGHT #-1 ~%BGT_VAR% CombatCounter(0) InParty("montaron") Global("X#JAMO1","LOCALS",0) !See([ENEMY]) See("montaron") !StateCheck("montaron",CD_STATE_NOTVALID) !StateCheck(Myself,CD_STATE_NOTVALID)~ THEN ~%JAHEIRA_BANTER%~ JAMO1

---

> CHAIN IF WEIGHT #-1 ~%BGT_VAR% CombatCounter(0) InParty("khalid") InParty("montaron") Global("X#JAMO1","LOCALS",0) !See([ENEMY]) See("montaron") !StateCheck("montaron",CD_STATE_NOTVALID) !StateCheck(Myself,CD_STATE_NOTVALID)~ THEN ~%JAHEIRA_BANTER%~ JAMO1

 

diff w bg1npc/phase2/dlg/x#jaint.d bg1npc/phase2/dlg/x#jaint.d

378c378

< I_C_T ~%tutu_var%BRIELB~ 14 X#JaheiraBrielbara

---

> I_C_T2 ~%tutu_var%BRIELB~ 14 X#JaheiraBrielbara

 

diff w bg1npc/phase2/dlg/x#jaqu.d bg1npc/phase2/dlg/x#jaqu.d

244a245,256

> /* Faldorn Amarande fix */

> CHAIN IF WEIGHT #-1 ~%BGT_VAR% InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID) GlobalGT("X#JaheiraQuest","GLOBAL",0) Global("X#ReportAmarande","GLOBAL",0) Global("FLOODED","GLOBAL",0)~

> THEN ~%tutu_var%AMARAN~ AmaranFaldLoopMine1

> @155

> == ~%JAHEIRA_JOINED%~ IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) OR(2) Global("X#MarethaResBeadAlive","GLOBAL",2) Global("X#MarethaResBeadDead","GLOBAL",2)~ THEN @151

> == ~%FALDORN_JOINED%~ IF ~InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @152

> == ~%tutu_var%AMARAN~ IF ~InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @153

> == ~%FALDORN_JOINED%~ IF ~InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @154

> == ~%tutu_var%AMARAN~ IF ~InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @157

> DO ~SetGlobal("X#ReportAmarande","GLOBAL",1) SetGlobal("X#AmarantheAndarthe","GLOBAL",2)~

> EXIT

>

246c258

< @157 DO ~SetGlobal("X#AmarantheAndarthe","GLOBAL",2) EscapeArea()~

---

> @157 DO ~SetGlobal("X#AmarantheAndarthe","GLOBAL",2)~

248c260

< /* End result has no effect on Quest - if quest is in progress and Faldorn is there, he goes away. If not, he fights. If Party has encountered Maretha, he takes it into account. */

---

> /* End result has no effect on Quest - if quest is in progress and Faldorn is there, he stays put. If not, he fights. If Party has encountered Maretha, he takes it into account. */

322c334

< IF ~~ THEN DO ~ActionOverride("jadruid6a",Enemy()) ActionOverride("jadruid6b",Enemy()) ActionOverride("jadruid6",Enemy()) ActionOverride("jadruid8a",Enemy()) ActionOverride("jadruid8b",Enemy()) ActionOverride("jadruid8b",Attack("beador"))~ EXIT

---

> IF ~~ THEN DO ~StartCutSceneMode() CutSceneId(Player1) ActionOverride("jadruid6a",Enemy()) ActionOverride("jadruid6b",Enemy()) ActionOverride("jadruid6",Enemy()) ActionOverride("jadruid8a",Enemy()) ActionOverride("jadruid8b",Enemy()) ActionOverride("jadruid8b",Attack("beador")) EndCutSceneMode()~ EXIT

327c339

< IF ~~ THEN DO ~ActionOverride("jadruid6a",Enemy()) ActionOverride("jadruid6b",Enemy()) ActionOverride("jadruid6",Enemy()) ActionOverride("jadruid8a",Enemy()) ActionOverride("jadruid8b",Enemy()) ActionOverride("jadruid8b",Attack("beador"))~ EXIT

---

> IF ~~ THEN DO ~StartCutSceneMode() CutSceneId(Player1) ActionOverride("jadruid6a",Enemy()) ActionOverride("jadruid6b",Enemy()) ActionOverride("jadruid6",Enemy()) ActionOverride("jadruid8a",Enemy()) ActionOverride("jadruid8b",Enemy()) ActionOverride("jadruid8b",Attack("beador")) EndCutSceneMode()~ EXIT

332c344

< IF ~~ THEN DO ~ActionOverride("faldorn",LeaveParty()) ActionOverride("faldorn",Enemy()) ActionOverride("jadruid6a",Enemy()) ActionOverride("jadruid6b",Enemy()) ActionOverride("jadruid6",Enemy()) ActionOverride("jadruid8a",Enemy()) ActionOverride("jadruid8b",Enemy()) ActionOverride("jadruid8b",Attack("beador"))~ EXIT

---

> IF ~~ THEN DO ~StartCutSceneMode() CutSceneId(Player1) ActionOverride("faldorn",LeaveParty()) ActionOverride("faldorn",Enemy()) ActionOverride("jadruid6a",Enemy()) ActionOverride("jadruid6b",Enemy()) ActionOverride("jadruid6",Enemy()) ActionOverride("jadruid8a",Enemy()) ActionOverride("jadruid8b",Enemy()) ActionOverride("jadruid8b",Attack("beador")) EndCutSceneMode()~ EXIT

464c476

< IF ~~ THEN DO ~ActionOverride("andarthe",JumpToPoint([874.2175])) ActionOverride("andarthe",FaceObject(Player1)) ActionOverride("andarthe",Enemy()) ActionOverride("jadruid8a",Enemy()) ActionOverride("takiyah",Enemy()) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0)~ EXIT

---

> IF ~~ THEN DO ~SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT

469c481

< IF ~~ THEN DO ~ActionOverride("andarthe",JumpToPoint([874.2175])) ActionOverride("andarthe",FaceObject(Player1)) ActionOverride("andarthe",Enemy()) ActionOverride("jadruid8a",Enemy()) ActionOverride("takiyah",Enemy()) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0)~ EXIT

---

> IF ~~ THEN DO ~SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT

474c486

< IF ~~ THEN DO ~ActionOverride("andarthe",JumpToPoint([874.2175])) ActionOverride("andarthe",FaceObject(Player1)) ActionOverride("andarthe",Enemy()) ActionOverride("jadruid8a",Enemy()) ActionOverride("takiyah",Enemy()) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0)~ EXIT

---

> IF ~~ THEN DO ~SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT

479c491

< IF ~~ THEN DO ~ActionOverride("andarthe",JumpToPoint([874.2175])) ActionOverride("andarthe",FaceObject(Player1)) ActionOverride("andarthe",Enemy()) ActionOverride("jadruid8a",Enemy()) ActionOverride("takiyah",Enemy()) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0)~ EXIT

---

> IF ~~ THEN DO ~SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT

 

diff w bg1npc/core/dlg/x#jfix_bgt.d bg1npc/core/dlg/x#jfix_bgt.d

1,6c1,16

< /* Adding Globals to Coran's Wyvern Misadventure */

< ADD_STATE_TRIGGER CORANJ %BGTCORANJState6% ~Global("X#CoranWyvernWarning1","GLOBAL",1)~

< ADD_TRANS_ACTION CORANJ BEGIN %BGTCORANJState6% END BEGIN END ~SetGlobal("X#CoranWyvernWarning1","GLOBAL",2)~

< ADD_STATE_TRIGGER CORANJ %BGTCORANJState5% ~Global("X#CoranWyvernWarning2","GLOBAL",1)~

< ADD_TRANS_ACTION CORANJ BEGIN %BGTCORANJState5% END BEGIN END ~SetGlobal("X#CoranWyvernWarning2","GLOBAL",2)~

< ADD_STATE_TRIGGER AJANTJ 0 ~Global("AjantisLeave","GLOBAL",0)~

---

> /* Coran and his Wyverns */

> /*wyverns fix */

> REPLACE_TRIGGER_TEXT %CORAN_JOINED% ~[dD][eE][aA][dD](\"[wW][yY][vV][eE][rR][nN]\")~ ~Dead("X#CoranWyvern")~

>

> /* Replacing Globals in Coran's Wyvern Misadventure */

> REPLACE_STATE_TRIGGER %CORAN_JOINED% %BGTCORANJState6% ~Global("X#CoranWyvernWarning1","GLOBAL",1)~

> REPLACE_TRANS_ACTION %CORAN_JOINED% BEGIN %BGTCORANJState6% END BEGIN END ~SetGlobal("CoranWyvern","GLOBAL",1)~ ~SetGlobal("X#CoranWyvernWarning1","GLOBAL",2)~

>

> REPLACE_STATE_TRIGGER %CORAN_JOINED% %BGTCORANJState5% ~Global("X#CoranWyvernWarning2","GLOBAL",1)~

> REPLACE_TRANS_ACTION %CORAN_JOINED% BEGIN %BGTCORANJState5% END BEGIN END ~SetGlobal("CoranWyvern","GLOBAL",2)~ ~SetGlobal("X#CoranWyvernWarning2","GLOBAL",2)~

>

> ADD_STATE_TRIGGER KELDDA 6 ~Dead("X#CoranWyvern")~

>

> ADD_STATE_TRIGGER AJANTJ 0 ~Global("AjantisLeave","GLOBAL",0) HappinessLT(Myself,-290)~

>

> ADD_STATE_TRIGGER %XAN_POST% 3 ~!Global("X#XARomanceActive","GLOBAL",2)~

 

diff w bg1npc/core/dlg/x#jfix_tutu.d bg1npc/core/dlg/x#jfix_tutu.d

1,5c1,14

< /* Adding Globals to Coran's Wyvern Misadventure: */

< ADD_STATE_TRIGGER ~_CORANJ~ 6 ~Global("X#CoranWyvernWarning1","GLOBAL",1)~

< ADD_TRANS_ACTION ~_CORANJ~ BEGIN 6 END BEGIN END ~SetGlobal("X#CoranWyvernWarning1","GLOBAL",2)~

< ADD_STATE_TRIGGER ~_CORANJ~ 5 ~Global("X#CoranWyvernWarning2","GLOBAL",1)~

< ADD_TRANS_ACTION ~_CORANJ~ BEGIN 5 END BEGIN END ~SetGlobal("X#CoranWyvernWarning2","GLOBAL",2)~

---

> /* Coran and his Wyverns */

> /*wyverns fix */

> REPLACE_TRIGGER_TEXT %CORAN_JOINED% ~[dD][eE][aA][dD](\"[wW][yY][vV][eE][rR][nN]\")~ ~Dead("X#CoranWyvern")~

>

> /* Replacing Globals in Coran's Wyvern Misadventure */

> REPLACE_STATE_TRIGGER %CORAN_JOINED% 6 ~Global("X#CoranWyvernWarning1","GLOBAL",1)~

> REPLACE_TRANS_ACTION %CORAN_JOINED% BEGIN 6 END BEGIN END ~SetGlobal("CoranWyvern","GLOBAL",1)~ ~SetGlobal("X#CoranWyvernWarning1","GLOBAL",2)~

>

> REPLACE_STATE_TRIGGER %CORAN_JOINED% 5 ~Global("X#CoranWyvernWarning2","GLOBAL",1)~

> REPLACE_TRANS_ACTION %CORAN_JOINED% BEGIN 5 END BEGIN END ~SetGlobal("CoranWyvern","GLOBAL",2)~ ~SetGlobal("X#CoranWyvernWarning2","GLOBAL",2)~

>

> ADD_STATE_TRIGGER _KELDDA 6 ~Dead("X#CoranWyvern")~

>

> ADD_STATE_TRIGGER %XAN_POST% 3 ~!Global("X#XARomanceActive","GLOBAL",2)~

 

diff w bg1npc/phase2/dlg/x#kaqst.d bg1npc/phase2/dlg/x#kaqst.d

77,78c77,78

< IF ~~ THEN REPLY @32 DO ~SetGlobal("X#KagainCaravan","GLOBAL",5)~ JOURNAL @33 GOTO X#KAQUDISMISS

< IF ~~ THEN REPLY @34 DO ~SetGlobal("X#KagainCaravan","GLOBAL",5)~ JOURNAL @35 GOTO X#KAQUREWARDALONE

---

> IF ~~ THEN REPLY @32 DO ~EraseJournalEntry(@35) EraseJournalEntry(@44) SetGlobal("X#KagainCaravan","GLOBAL",5)~ JOURNAL @33 GOTO X#KAQUDISMISS

> IF ~~ THEN REPLY @34 DO ~EraseJournalEntry(@33) EraseJournalEntry(@44) SetGlobal("X#KagainCaravan","GLOBAL",5)~ JOURNAL @35 GOTO X#KAQUREWARDALONE

110c110

< IF ~~ THEN DO ~LeaveParty() ChangeAIScript("",DEFAULT) SetGlobal("%KICKED_OUT%","LOCALS",1) SetLeavePartyDialogFile()~ JOURNAL @44 EXIT

---

> IF ~~ THEN DO ~LeaveParty() ChangeAIScript("",DEFAULT) SetGlobal("%KICKED_OUT%","LOCALS",1) SetLeavePartyDialogFile() EraseJournalEntry(@33) EraseJournalEntry(@35)~ JOURNAL @44 EXIT

115,119c115,120

< IF ~InParty(Player1) InParty(Player2) !InParty(Player3) !InParty(Player4) !InParty(Player5) !InParty(Player6)~ THEN DO ~GiveGoldForce(15) JoinParty()~ JOURNAL @35 EXIT

< IF ~InParty(Player1) InParty(Player2) InParty(Player3) !InParty(Player4) !InParty(Player5) !InParty(Player6)~ THEN DO ~GiveGoldForce(30) JoinParty()~ JOURNAL @35 EXIT

< IF ~InParty(Player1) InParty(Player2) InParty(Player3) InParty(Player4) !InParty(Player5) !InParty(Player6)~ THEN DO ~GiveGoldForce(45) JoinParty()~ JOURNAL @35 EXIT

< IF ~InParty(Player1) InParty(Player2) InParty(Player3) InParty(Player4) InParty(Player5) !InParty(Player6)~ THEN DO ~GiveGoldForce(60) JoinParty()~ JOURNAL @35 EXIT

< IF ~InParty(Player1) InParty(Player2) InParty(Player3) InParty(Player4) InParty(Player5) InParty(Player6)~ THEN DO ~GiveGoldForce(75) JoinParty()~ JOURNAL @35 EXIT

---

> IF ~InParty(Player1) InParty(Player2) InParty(Player3) InParty(Player4) InParty(Player5) InParty(Player6)~ THEN DO ~EraseJournalEntry(@33) EraseJournalEntry(@44) GiveGoldForce(75) JoinParty()~ JOURNAL @35 EXIT

> IF ~InParty(Player1) InParty(Player2) InParty(Player3) InParty(Player4) InParty(Player5) !InParty(Player6)~ THEN DO ~EraseJournalEntry(@33) EraseJournalEntry(@44) GiveGoldForce(60) JoinParty()~ JOURNAL @35 EXIT

> IF ~InParty(Player1) InParty(Player2) InParty(Player3) InParty(Player4) !InParty(Player5) !InParty(Player6)~ THEN DO ~EraseJournalEntry(@33) EraseJournalEntry(@44) GiveGoldForce(45) JoinParty()~ JOURNAL @35 EXIT

> IF ~InParty(Player1) InParty(Player2) InParty(Player3) !InParty(Player4) !InParty(Player5) !InParty(Player6)~ THEN DO ~EraseJournalEntry(@33) EraseJournalEntry(@44) GiveGoldForce(30) JoinParty()~ JOURNAL @35 EXIT

> IF ~InParty(Player1) InParty(Player2) !InParty(Player3) !InParty(Player4) !InParty(Player5) !InParty(Player6)~ THEN DO ~EraseJournalEntry(@33) EraseJournalEntry(@44) GiveGoldForce(15) JoinParty()~ JOURNAL @35 EXIT

> IF ~InParty(Player1) !InParty(Player2) !InParty(Player3) !InParty(Player4) !InParty(Player5) !InParty(Player6)~ THEN DO ~EraseJournalEntry(@33) EraseJournalEntry(@44) GiveGoldForce(15) JoinParty()~ JOURNAL @35 EXIT

 

diff w bg1npc/phase2/baf/x#miint2.baf bg1npc/phase2/baf/x#miint2.baf

408c408,435

< Dialog(Player1)

---

> StartDialogNoSet(Player1)

> END

>

> /* Minsc and the Slimes */

> IF %BGT_VAR%

> Global("X#MinscDTSlimes","GLOBAL",0)

> AreaCheck("%DurlagsTower_EarthChamber%")

> InParty(Myself)

> !StateCheck(Myself,CD_STATE_NOTVALID)

> InMyArea(Player1)

> !StateCheck(Player1,CD_STATE_NOTVALID)

> THEN

> RESPONSE #100

> SetGlobal("X#MinscDTSlimes","GLOBAL",1)

> END

>

> IF

> Global("X#MinscDTSlimes","GLOBAL",1)

> AreaCheck("%DurlagsTower_EarthChamber%")

> InParty(Myself)

> !StateCheck(Myself,CD_STATE_NOTVALID)

> InMyArea(Player1)

> !StateCheck(Player1,CD_STATE_NOTVALID)

> THEN

> RESPONSE #100

> PlaySong(0)

> PlaySound("minsc99")

> StartDialogNoSet(Player1)

 

diff w bg1npc/tra/english/x#montaron.tra bg1npc/tra/english/x#montaron.tra

109c109

< @108 = ~Montaron... what are doing to those poor things?~

---

> @108 = ~Montaron... what are you doing to those poor things?~

 

diff w bg1npc/phase3/wait/dlg/x#npcwait.d bg1npc/phase3/wait/dlg/x#npcwait.d

330,331c330

< IF ~~ DO ~SetGlobal("KickedOut","LOCALS",1)

< EscapeAreaMove("FW2301",256,618,13)~ EXIT

---

> IF ~~ DO ~SetGlobal("KickedOut","LOCALS",1) EscapeAreaMove("FW2301",277,670,9)~ EXIT

336,337c335

< IF ~~ DO ~SetGlobal("KickedOut","LOCALS",1)

< EscapeAreaMove("FW0706",463,449,14)~ EXIT

---

> IF ~~ DO ~SetGlobal("KickedOut","LOCALS",1) EscapeAreaMove("FW0706",463,449,14)~ EXIT

 

diff w bg1npc/tra/english/x#pcinit_tmp.tra bg1npc/tra/english/x#pcinit_tmp.tra

3217c3217

< @3205 = ~*Your garments ride down your hips, as easily, as if they sense your impatience. Coran thrusts into you, and all the happenings in the world become trivial compared to the movements you make together.*~

---

> @3205 = ~*Your garments ride down your hips, as easily as if they sense your impatience. Coran thrusts into you, and all the happenings in the world become trivial compared to the movements you make together.*~

 

diff w bg1npc/phase2/baf/x#runcor.baf bg1npc/phase2/baf/x#runcor.baf

7a8,13

> TakePartyItem("X#CBABY")

> TakePartyItem("X#CBOOK")

> TakePartyItem("X#CMILK")

> DestroyItem("X#CBABY")

> DestroyItem("X#CBOOK")

> DestroyItem("X#CMILK")

 

diff w bg1npc/phase1/baf/x#shar1.baf bg1npc/phase1/baf/x#shar1.baf

227,228c227,228

< HPPercentGT(Player1,95)

< HPPercentGT("sharteel",95)

---

> HPPercentGT(Player1,80)

> HPPercentGT("sharteel",80)

 

diff w bg1npc/phase3/shrom/dlg/x#shrom.d bg1npc/phase3/shrom/dlg/x#shrom.d

139,143c139,143

< ++ @50 DO ~IncrementGlobal("X#SharInterestTalk","GLOBAL",1) RealSetGlobalTimer("X#SharInterestTime","GLOBAL",SHROM_TIMER)~ + SHRO2.1

< ++ @51 DO ~IncrementGlobal("X#SharInterestTalk","GLOBAL",1) RealSetGlobalTimer("X#SharInterestTime","GLOBAL",SHROM_TIMER)~ + SHRO2.2

< ++ @52 DO ~IncrementGlobal("X#SharInterestTalk","GLOBAL",1) RealSetGlobalTimer("X#SharInterestTime","GLOBAL",SHROM_TIMER)~ + SHRO2.3

< ++ @53 DO ~IncrementGlobal("X#SharInterestTalk","GLOBAL",1) RealSetGlobalTimer("X#SharInterestTime","GLOBAL",SHROM_TIMER)~ + SHRO2.4

< ++ @54 DO ~IncrementGlobal("X#SharInterestTalk","GLOBAL",1) RealSetGlobalTimer("X#SharInterestTime","GLOBAL",SHROM_TIMER)~ + SHRO2.3A

---

> ++ @50 DO ~SetGlobal("X#SharInterestTalk","GLOBAL",5) RealSetGlobalTimer("X#SharInterestTime","GLOBAL",SHROM_TIMER)~ + SHRO2.1

> ++ @51 DO ~SetGlobal("X#SharInterestTalk","GLOBAL",5) RealSetGlobalTimer("X#SharInterestTime","GLOBAL",SHROM_TIMER)~ + SHRO2.2

> ++ @52 DO ~SetGlobal("X#SharInterestTalk","GLOBAL",5) RealSetGlobalTimer("X#SharInterestTime","GLOBAL",SHROM_TIMER)~ + SHRO2.3

> ++ @53 DO ~SetGlobal("X#SharInterestTalk","GLOBAL",5) RealSetGlobalTimer("X#SharInterestTime","GLOBAL",SHROM_TIMER)~ + SHRO2.4

> ++ @54 DO ~SetGlobal("X#SharInterestTalk","GLOBAL",5) RealSetGlobalTimer("X#SharInterestTime","GLOBAL",SHROM_TIMER)~ + SHRO2.3A

 

diff w bg1npc/phase2/dlg/x#tiaxquest.d bg1npc/phase2/dlg/x#tiaxquest.d

421,432d420

< /* In case PC speaks to Karris before meeting Belgin */

< CHAIN IF WEIGHT #-2 ~%BGT_VAR% GlobalLT("X#TiaxQuest","GLOBAL",3)~ THEN ~X#KARRIS~ X#TiaxQuestKarrisNotYet

< @173

< END

< + ~Global("X#KarrisFirst","GLOBAL",0)~ + @174 DO ~SetGlobal("X#KarrisFirst","GLOBAL",1)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.1

< + ~Global("X#KarrisFirst","GLOBAL",1)~ + @175 DO ~SetGlobal("X#KarrisFirst","GLOBAL",2)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.2

< + ~Global("X#KarrisFirst","GLOBAL",2)~ + @176 DO ~SetGlobal("X#KarrisFirst","GLOBAL",3)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.3

< ++ @177 EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.4

< ++ @178 EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.4

< ++ @179 EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.5

< /* EXIT state = "X#KarrisFirst","GLOBAL",0-1-2-3 "X#TiaxQuest","GLOBAL",0 (repeats infinitely) */

<

453,463d440

< /* In case PC speaks to Karris again - before either selling Belgin out or proving Telliax's survival */

< CHAIN IF WEIGHT #-2 ~%BGT_VAR% Global("X#TiaxQuest","GLOBAL",4)~ THEN ~X#KARRIS~ X#TiaxQuestKarrisTwelve

< @185

< END

< + ~Global("X#KarrisFirst","GLOBAL",0)~ + @174 DO ~SetGlobal("X#KarrisFirst","GLOBAL",1)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.1

< + ~Global("X#KarrisFirst","GLOBAL",1)~ + @175 DO ~SetGlobal("X#KarrisFirst","GLOBAL",2)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.2

< + ~Global("X#KarrisFirst","GLOBAL",2)~ + @176 DO ~SetGlobal("X#KarrisFirst","GLOBAL",3)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.3

< ++ @186 EXTERN ~X#KARRIS~ X#TiaxQuestKarrisTwo

< ++ @187 EXTERN ~X#KARRIS~ X#TiaxQuestKarrisSeven

< ++ @188 EXTERN ~X#KARRIS~ X#TiaxQuestKarrisFour

< /* EXIT state = "X#KarrisFirst","GLOBAL",0-1-2-3 "X#TiaxQuest","GLOBAL",4 (repeats infinitely) */

465c442

< CHAIN IF WEIGHT #-2 ~%BGT_VAR% Global("X#TiaxQuest","GLOBAL",3)~ THEN ~X#KARRIS~ X#TiaxQuestKarris

---

> CHAIN IF ~%BGT_VAR% Global("X#TiaxQuest","GLOBAL",3)~ THEN ~X#KARRIS~ X#TiaxQuestKarris

490a468,491

> /* In case PC speaks to Karris again - before either selling Belgin out or proving Telliax's survival */

> CHAIN IF ~%BGT_VAR% Global("X#TiaxQuest","GLOBAL",4)~ THEN ~X#KARRIS~ X#TiaxQuestKarrisTwelve

> @185

> END

> + ~Global("X#KarrisFirst","GLOBAL",0)~ + @174 DO ~SetGlobal("X#KarrisFirst","GLOBAL",1)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.1

> + ~Global("X#KarrisFirst","GLOBAL",1)~ + @175 DO ~SetGlobal("X#KarrisFirst","GLOBAL",2)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.2

> + ~Global("X#KarrisFirst","GLOBAL",2)~ + @176 DO ~SetGlobal("X#KarrisFirst","GLOBAL",3)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.3

> ++ @186 EXTERN ~X#KARRIS~ X#TiaxQuestKarrisTwo

> ++ @187 EXTERN ~X#KARRIS~ X#TiaxQuestKarrisSeven

> ++ @188 EXTERN ~X#KARRIS~ X#TiaxQuestKarrisFour

> /* EXIT state = "X#KarrisFirst","GLOBAL",0-1-2-3 "X#TiaxQuest","GLOBAL",4 (repeats infinitely) */

>

> /* In case PC speaks to Karris before meeting Belgin */

> CHAIN IF ~%BGT_VAR% GlobalLT("X#TiaxQuest","GLOBAL",3)~ THEN ~X#KARRIS~ X#TiaxQuestKarrisNotYet

> @173

> END

> + ~Global("X#KarrisFirst","GLOBAL",0)~ + @174 DO ~SetGlobal("X#KarrisFirst","GLOBAL",1)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.1

> + ~Global("X#KarrisFirst","GLOBAL",1)~ + @175 DO ~SetGlobal("X#KarrisFirst","GLOBAL",2)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.2

> + ~Global("X#KarrisFirst","GLOBAL",2)~ + @176 DO ~SetGlobal("X#KarrisFirst","GLOBAL",3)~ EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.3

> ++ @177 EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.4

> ++ @178 EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.4

> ++ @179 EXTERN X#KARRIS X#TiaxQuestKarrisNotYet.5

> /* EXIT state = "X#KarrisFirst","GLOBAL",0-1-2-3 "X#TiaxQuest","GLOBAL",0 (repeats infinitely) */

>

717c718

< == ~%FALDORN_BANTER%~ IF ~InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @345

---

> == ~%FALDORN_BANTER%~ IF ~InParty("viconia") InMyArea("viconia") !StateCheck("viconia",CD_STATE_NOTVALID) InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @345

 

diff w bg1npc/phase2/dlg/x#totsc.d bg1npc/phase2/dlg/x#totsc.d

506,507c506,507

< I_C_T ~%tutu_var%ANDRIS~ 1 X#XANANDRIS1a

< == ~%XAN_JOINED%~ IF ~InParty("xan") InMyArea("xan") !StateCheck("xan",CD_STATE_NOTVALID)~ THEN @116

---

> I_C_T ~%tutu_var%ANDRIS~ 1 X#XANANDRIS1

> == ~%XAN_JOINED%~ IF ~InParty("xan") InMyArea("xan") !StateCheck("xan",CD_STATE_NOTVALID) Global("X#ANDRIS2","GLOBAL",0)~ THEN @116

514,515c514,515

< I_C_T ~%tutu_var%ANDRIS~ 3 X#XANANDRIS1c

< == ~%XAN_JOINED%~ IF ~InParty("xan") InMyArea("xan") !StateCheck("xan",CD_STATE_NOTVALID)~ THEN @116

---

> I_C_T ~%tutu_var%ANDRIS~ 3 X#XANANDRIS1

> == ~%XAN_JOINED%~ IF ~InParty("xan") InMyArea("xan") !StateCheck("xan",CD_STATE_NOTVALID) Global("X#ANDRIS2","GLOBAL",0)~ THEN @116

518,519c518,519

< I_C_T ~%tutu_var%ANDRIS~ 4 X#XANANDRIS1d

< == ~%XAN_JOINED%~ IF ~InParty("xan") InMyArea("xan") !StateCheck("xan",CD_STATE_NOTVALID)~ THEN @116

---

> I_C_T ~%tutu_var%ANDRIS~ 4 X#XANANDRIS1

> == ~%XAN_JOINED%~ IF ~InParty("xan") InMyArea("xan") !StateCheck("xan",CD_STATE_NOTVALID) Global("X#ANDRIS2","GLOBAL",0)~ THEN @116

583c583

< == ~%XAN_JOINED%~ IF ~InParty("xan") InMyArea("xan") !StateCheck("xan",CD_STATE_NOTVALID)~ THEN @116

---

> == ~%XAN_JOINED%~ IF ~InParty("xan") InMyArea("xan") !StateCheck("xan",CD_STATE_NOTVALID) Global("X#XANANDRIS1a","GLOBAL",0) Global("X#XANANDRIS1c","GLOBAL",0) Global("X#XANANDRIS1d","GLOBAL",0)~ THEN @116

 

diff w bg1npc/tra/english/x#totsc.tra bg1npc/tra/english/x#totsc.tra

147,149c147

< @2007 = ~Think of it as you will. You belong now. ~

< @11 = ~We're... we're trapped here? But... but it's so c-cold...! ~

< @116 = ~So, here we are, stranded on an iced speck in the middle of the ocean, with no food or proper shelter. Do you find it amusing, <CHARNAME>, that we are actually safer now than ever before? Or are you too busy planning how we should fight our way out of this safety, to our imminent doom?~

---

> @2007 = ~Think of it as you will. You belong now. ~

\ No newline at end of file

 

diff w bg1npc/phase2/baf/x#tqkarris.baf bg1npc/phase2/baf/x#tqkarris.baf

2,8d1

< IF

< Allegiance(Myself,ENEMY)

< THEN

< RESPONSE #100

< MoveToObject(NearestEnemyOf(Myself))

< AttackOneRound(NearestEnemyOf(Myself))

< END

34a28,29

> AttackedBy([GOODCUTOFF],DEFAULT)

> Allegiance(Myself,NEUTRAL)

38d32

< AttackedBy([GOODCUTOFF],DEFAULT)

70a65,103

> /* Attacked by player without quest */

> IF %BGT_VAR%

> AttackedBy([GOODCUTOFF],DEFAULT)

> Allegiance(Myself,NEUTRAL)

> !Global("X#TiaxQuest","GLOBAL",3)

> !Global("X#TiaxQuest","GLOBAL",4)

> THEN

> RESPONSE #100

> Enemy()

> ActionOverride("X#TQBH1",Enemy())

> ActionOverride("X#TQBH2",Enemy())

> ActionOverride("X#TQBH3",Enemy())

> ActionOverride("X#TQBH4",Enemy())

> END

>

> IF

> See(NearestEnemyOf(Myself))

> !Range(NearestEnemyOf(Myself),5)

> THEN

> RESPONSE #100

> EquipRanged()

> AttackReevaluate(NearestEnemyOf(Myself),30)

> END

>

> IF

> See(NearestEnemyOf(Myself))

> Range(NearestEnemyOf(Myself),5)

> THEN

> RESPONSE #100

> EquipMostDamagingMelee()

> AttackReevaluate(NearestEnemyOf(Myself),30)

> END

>

> IF

> AttackedBy([ANYONE],DEFAULT)

> THEN

> RESPONSE #100

> AttackReevaluate(LastAttackerOf(Myself),30)

> END

\ No newline at end of file

 

diff w bg1npc/tra/english/x#xaint.tra bg1npc/tra/english/x#xaint.tra

24c24

< @23 = ~I would have loved at his description of us, if foreboding had not gripped my heart... I foresee that his next step would be to summon these flesh-loving pets of his.~

---

> @23 = ~I would have laughed at his description of us, if foreboding had not gripped my heart... I foresee that his next step would be to summon these flesh-loving pets of his.~

 

diff w bg1npc/tra/english/x#xanlt.tra bg1npc/tra/english/x#xanlt.tra

114c114

< @113 = ~Still... CHARNAME>, I was meaning to ask for a while. Was Gorion your foster father, perhaps, since you are of different heritage? If so, your real parents might still be alive. Do you know who they were?~

---

> @113 = ~Still... <CHARNAME>, I have been meaning to ask for a while. Was Gorion your foster father, perhaps, since you are of different heritage? If so, your real parents might still be alive. Do you know who they were?~

 

diff w bg1npc/phase1/baf/x#yesli1.baf bg1npc/phase1/baf/x#yesli1.baf

209a210

> GlobalTimerExpired("X#YEKATIME","GLOBAL")

248,250d248

< OR(2)

< Global("X#YeslickLeave","GLOBAL",1)

< !Global("X#YeslickLeave","GLOBAL",1)

252d249

< !StateCheck("",CD_STATE_NOTVALID)

 

diff w bg1npc/phase1/dlg/x#yeslick.d bg1npc/phase1/dlg/x#yeslick.d

261c261

< CHAIN IF WEIGHT #-2 ~Global("X#YEKA4","GLOBAL",1)~ THEN ~%YESLICK_BANTER%~ YEKA4starts

---

> CHAIN IF WEIGHT #-2 ~Global("X#YEKA4","GLOBAL",1)~ THEN ~%YESLICK_JOINED%~ YEKA4starts

417c417

< DO ~SetGlobal("X#YEKA3","GLOBAL",1)~

---

> DO ~SetGlobal("X#YEKA3","GLOBAL",1) SetGlobalTimer("X#YEKATIME","GLOBAL",7200)~

 

diff w bg1npc/bg1npc_docs/xansquest.html bg1npc/bg1npc_docs/xansquest.html

31c31

< Xan's quest starts in the Basilisk area, code FW3500. <a h r e f = " h t t p : //www.dudleyville.com/bg1/ar3500.htm" > h t t p ://www.dudleyville.com/bg1/ar3500.htm</a> In the bottom left corner of the map, there are three merchants - Skodd, Gael, and Mazuri. They spawn only if Xan is already in party. Upon meeting the PC, they explain that their caravan was robbed, and they barely escaped becoming lawn ornaments. They seek only to be left in peace and to continue on their way.</p>

---

> Xan's quest starts in the Basilisk area, code FW3500. <a h r e f = " h t t p : //www.forgottenwars.com/bg1/ar3500.htm" > h t t p ://www.forgottenwars.com/bg1/ar3500.htm</a> In the bottom left corner of the map, there are three merchants - Skodd, Gael, and Mazuri. They spawn only if Xan is already in party. Upon meeting the PC, they explain that their caravan was robbed, and they barely escaped becoming lawn ornaments. They seek only to be left in peace and to continue on their way.</p>

36c36

< <p>Read more about this area here: <a h r e f = " h t t p : //www.dudleyville.com/bg1/ar3000.htm" > h t t p ://www.dudleyville.com/bg1/ar3000.htm</a></p>

---

> <p>Read more about this area here: <a h r e f = " h t t p : //www.forgottenwars.com/bg1/ar3000.htm" > h t t p ://www.forgottenwars.com/bg1/ar3000.htm</a></p>

42c42

< <p>The Friendly Arm Inn, FW2300 is located here: <a h r e f = " h t t p : //www.dudleyville.com/bg1/ar2300.htm" > h t t p ://www.dudleyville.com/bg1/ar2300.htm</a></p>

---

> <p>The Friendly Arm Inn, FW2300 is located here: <a h r e f = " h t t p : //www.forgottenwars.com/bg1/ar2300.htm" > h t t p :/www.forgottenwars.com/bg1/ar2300.htm</a></p>

 

Binaries Changed in v17:

bg1npc\phase2\itm\x#cbaby.itm

 

ADDED INTO v17:

bg1npc\core\mve\flythr03.mve

bg1npc\phase2\baf\jw#fw3000.baf

bg1npc\phase3\challenge\itm\x#ajr1_bgt.are

bg1npc\phase3\challenge\itm\x#ch11_bgt.are

bg1npc\core\baf\x#tazokarea.baf

bg1npc\phase2\baf\x#tqbh.baf

 

REMOVED FROM v17:

bg1npc\phase2\baf\p#fw0510.baf

Link to comment

Nope, I didn't, but is because I need to do a specialized mega-install check before changing it -

 

the problem is that we do this:

 

  END ELSE BEGIN  /* BGT Versions */
/* Override Scripts addition */
COPY_EXISTING ~imoen1.cre~ ~override~
			  ~imoen2.cre~ ~override~
			  ~imoen4.cre~ ~override~
			 ~imoen61.cre~ ~override~
  WRITE_ASCII 0x248 ~BGIMOEN2~ #8 //  override script
BUT_ONLY_IF_IT_CHANGES

 

which means that the BG1NPC stuff becomes Imoen's early .cre (BG content) scripting exclusively.

 

I need to do research on what other mods mess around with Imoen during BG content first, before I have a merged script - since it is working now, I didn't want to mess around with it until I get a chance to do that research and run some test installs (probably bugging Leomar and his crew for feedback :) ). [i do realize that it is working perfectly now because we end up bypassing all other mods which mess with Imoen's script during BG on a BGT install, which is contrary to project philosophy.]

 

Thanks for the heads up, the information on diffs - this is why I don't mind posting this stuff out in the open. It is great to get additional eyes to recheck the work and see what we missed - need to follow up on! I will go tag this on the confirmed worklist.

Link to comment
Guest Guest

a couple of minor issues I noticed in v16 using NI (looks like these aren't dealt with in v17)

 

1. in x#andart.baf, there is a CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0), which evaluates to BGWOLFDR.cre in a bgt game. But such creature doesn't exist (not sure if this is a fault of bgt for not creating it but valid creature names for Dread Wolf in my install seems to be wolfd1.cre, wolfdr.cre and wolfdr01.cre).

 

2. in x#black.baf, x#storm.baf, x#zosya.baf, there is a MoveToObject("black"). If this move refers to Blackberry, then I think it should probably be MoveToObject("blackberry") because that's the name of the death variable.

 

3. the rumors dialog _RFRIED2 which is supposed to show up if you have Eldoth in the party and you talk to Bentley in FAI and order a few drinks is tutu-specific.

 

4. icons for items x#cofrro.itm (Red Roses) and x#cowiro.itm (Withered Roses) don't show up on the main screen when you place them in their quick item slot (0x76)

 

 

i'll just post the other tutu-assigned name issues as code instead of describing them in words (they should have obviously have a %tutu_var% or %tutu_script% in front (and copied to override), but they were just local changes so i didn't bother)

 

COPY ~bg1npc/phase2/cre/x#xzgu03.cre~ ~bg1npc/phase2/cre~
WRITE_ASCII 0x3C ~~ #8		  // large portrait (was originally 088E.bmp which doesn't exist)
BUT_ONLY

COPY ~bg1npc/phase3/challenge/cre/x#ajanfi.cre~ ~bg1npc/phase3/challenge/cre~
WRITE_ASCII 0x34 ~AJANTISS~ #8  // small portrait
WRITE_ASCII 0x3C ~AJANTISL~ #8  // large portrait
BUT_ONLY

COPY ~bg1npc/phase3/challenge/cre/x#corafi.cre~ ~bg1npc/phase3/challenge/cre~
WRITE_ASCII 0x34 ~CORANS~ #8	// small portrait
WRITE_ASCII 0x3C ~CORANL~ #8	// large portrait
BUT_ONLY

COPY ~bg1npc/phase3/dyrom/cre/x#dfake1.cre~ ~bg1npc/phase3/dyrom/cre~
WRITE_ASCII 0x34 ~DYNAHEIS~ #8  // small portrait
WRITE_ASCII 0x3C ~DYNAHEIL~ #8  // large portrait
BUT_ONLY


COPY ~bg1npc/phase2/itm/x#ansper.itm~ ~bg1npc/phase2/itm~
WRITE_ASCII 0x10 ~MISC56~ #8 // used-up item
BUT_ONLY

COPY ~bg1npc/phase2/itm/x#cofrro.itm~ ~bg1npc/phase2/itm~
WRITE_ASCII 0x76 ~IMISC1I~ #8   // icon
BUT_ONLY

COPY ~bg1npc/phase2/itm/x#cowiro.itm~ ~bg1npc/phase2/itm~
WRITE_ASCII 0x76 ~IMISC1I~ #8   // icon
BUT_ONLY

COPY ~bg1npc/phase1/itm/x#dex.spl~ ~bg1npc/phase1/itm~
WRITE_ASCII 0x10 ~CAS_M08~ #8	// casting sound
WRITE_ASCII 0x3A ~SPWI415C~ #8   // spell icon
WRITE_ASCII 0x76 ~SPWI415B~ #8   // ability #0 icon
WRITE_ASCII 0xDE ~EFF_P07~ #8	// resource
BUT_ONLY

COPY ~bg1npc/phase1/itm/x#poly.spl~ ~bg1npc/phase1/itm~
WRITE_ASCII 0x10 ~CAS_M08~ #8	// casting sound
WRITE_ASCII 0x3A ~SPWI415C~ #8   // spell icon
WRITE_ASCII 0x76 ~SPWI415B~ #8   // ability #0 icon
WRITE_ASCII 0xDE ~EFF_P07~ #8	// resource
BUT_ONLY

COPY ~bg1npc/phase2/itm/x#xzspl.spl~ ~bg1npc/phase2/itm~
WRITE_ASCII 0x10 ~CAS_M05~ #8	// casting sound
WRITE_ASCII 0x3A ~SPWI509C~ #8   // spell icon
WRITE_ASCII 0x76 ~SPWI509B~ #8   // ability #0 icon
BUT_ONLY

COPY ~bg1npc/phase2/itm/x#fried2.sto~ ~bg1npc/phase2/itm~
WRITE_ASCII 0x44 ~RFRIED2~ #8   // rumors dialog
BUT_ONLY

Link to comment

OK awesome stuff, teijumin...

 

and a follow up on progress about that BGIMOEN.BCS vs BGIMOEN2.BCS.

 

So far, I have not found any mods which modify BGIMOEN.bcs, but I am sure there are some and I am just missing a cool BGT conversion thing or something.

 

(folks have tried to teach me this over and over, and I just for some reason don't "grok" it) what I (we) need to look for is any mod that deals with

 

In BGT:

 

imoen.cre = initial Candlekeep, uses bgimoen.bcs, with 2 blocks -

 

IF
StateCheck(Myself,STATE_STONE_DEATH)
Global("IWasKickedOut","LOCALS",0)
!NumTimesTalkedTo(0)
GlobalLT("ENDOFBG1","GLOBAL",2)
THEN
RESPONSE #100
	SetGlobal("IWasKickedOut","LOCALS",1)
	Continue()
END

IF
Global("TalkedToGorion","GLOBAL",0)
NumTimesTalkedTo(0)
THEN
RESPONSE #100
	Dialogue([PC])
END

.

 

That .cre uses IMOEN.DLG, which is that entry level dialog. Basically, a pre-joined separate dialog file. Imoen2 is the DV.

 

The remaining .cres gatherable in BG content in BGT use Imoen2 as the DV, IMOEN2.DLG as the dialog file, and BGIMOEN.BCS as the script.

 

Gavin and BG1NPC use the same reassigned BGIMOEN2.BCS, so fixing this here and in Gavin may very well take care of the problem.

 

We are looking for mods that add to, manipulate, or otherwise mess with Imoen's BG content adding blocks to BGIMOEN.BCS, or assigning her another script. I am going back through Ascension64's documentation to look again at what he does for compatibility with pre-BGT-installed mods, as these are the likeliest ones out there.

 

So far, I have not found any, but any help would be appreciated!

Link to comment

Rechecking the list...

1. in x#andart.baf, there is a CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0), which evaluates to BGWOLFDR.cre in a bgt game. But such creature doesn't exist (not sure if this is a fault of bgt for not creating it but valid creature names for Dread Wolf in my install seems to be wolfd1.cre, wolfdr.cre and wolfdr01.cre).

 

confirmed repaired:

Search "WOLFDR" (3 hits in 2 files)

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\bg1npc_docs\bg1npcvarindex.htm (1 hits)

Line 594: <td>_WOLFDR</td>

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#andart.baf (2 hits)

Line 57: CreateCreature("%tutu_var%WOLFDR",[-1.-1],0)

Line 58: CreateCreature("%tutu_var%WOLFDR",[-1.-1],0)

Search "%tutu_scriptbg%WOLFDR" (0 hits in 0 files)

 

2. in x#black.baf, x#storm.baf, x#zosya.baf, there is a MoveToObject("black"). If this move refers to Blackberry, then I think it should probably be MoveToObject("blackberry") because that's the name of the death variable.

confirmed repaired:

 

Search ""blackberry"" (7 hits in 4 files)

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#black.baf (2 hits)

Line 8: ActionOverride("storm",MoveToObject("blackberry"))

Line 9: ActionOverride("zosya",MoveToObject("blackberry"))

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#storm.baf (2 hits)

Line 7: MoveToObject("blackberry")

Line 21: MoveToObject("blackberry")

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#xzdqu.baf (1 hits)

Line 127: !Exists("blackberry")

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#zosya.baf (2 hits)

Line 7: MoveToObject("blackberry")

Line 21: MoveToObject("blackberry")

Search ""black"" (0 hits in 0 files)

 

3. the rumors dialog _RFRIED2 which is supposed to show up if you have Eldoth in the party and you talk to Bentley in FAI and order a few drinks is tutu-specific.

 

confirmed repaired:

bg1npc.tp2, lines 2698 - 2707

  /* Eldoth FAI */
 COPY ~BG1NPC/phase2/itm/X#FRIED2.STO~ ~override~
SAY STORE_NAME @624
SAY 0xA4 @52
SAY 0xb8 @53
SAY 0xcc @54
SAY 0xe0 @55
PATCH_IF (~%tutuorbgt%~ STRING_COMPARE_CASE ~BGT~ = 0) THEN BEGIN
	WRITE_ASCII 0x44 ~RFRIED2~ #8   // rumors dialog
END

4. icons for items x#cofrro.itm (Red Roses) and x#cowiro.itm (Withered Roses) don't show up on the main screen when you place them in their quick item slot (0x76)

 

COPY ~bg1npc/phase2/itm/x#cofrro.itm~ ~bg1npc/phase2/itm~

WRITE_ASCII 0x76 ~IMISC1I~ #8 // icon

BUT_ONLY

 

COPY ~bg1npc/phase2/itm/x#cowiro.itm~ ~bg1npc/phase2/itm~

WRITE_ASCII 0x76 ~IMISC1I~ #8 // icon

BUT_ONLY

 

repaired to

WRITE_ASCII 0x76 ~X#COFRRO~ #8 // icon

and

WRITE_ASCII 0x76 ~X#COWIRO~ #8 // icon

 

COPY ~bg1npc/phase2/cre/x#xzgu03.cre~ ~bg1npc/phase2/cre~

WRITE_ASCII 0x3C ~~ #8 // large portrait (was originally 088E.bmp which doesn't exist)

BUT_ONLY

 

incorporated:

	WRITE_ASCII 0x3C ~NONE~ #8	  // large portrait

 

COPY ~bg1npc/phase3/challenge/cre/x#ajanfi.cre~ ~bg1npc/phase3/challenge/cre~

WRITE_ASCII 0x34 ~AJANTISS~ #8 // small portrait

WRITE_ASCII 0x3C ~AJANTISL~ #8 // large portrait

BUT_ONLY

confirmed:

  COPY ~BG1NPC/Phase3/CHALLENGE/cre/x#ajanfi.cre~ ~override/x#ajanfi.cre~
SAY NAME1 @519
SAY NAME2 @519
WRITE_LONG INITIAL_MEETING (BNOT 0x0)
SAY MORALE @520
WRITE_LONG HAPPY (BNOT 0x0)
WRITE_LONG UNHAPPY_ANNOYED (BNOT 0x0)
WRITE_LONG UNHAPPY_SERIOUS (BNOT 0x0)
WRITE_LONG UNHAPPY_BREAKING (BNOT 0x0)
WRITE_LONG LEADER (BNOT 0x0)
WRITE_LONG TIRED (BNOT 0x0)
WRITE_LONG BORED (BNOT 0x0)
SAY BATTLE_CRY1 @521
SAY BATTLE_CRY2 @522
SAY BATTLE_CRY3 @522
SAY BATTLE_CRY4 @522
SAY BATTLE_CRY5 @522
SAY ATTACK1 @523
SAY ATTACK2 @523
SAY DAMAGE @525
SAY DYING @526
SAY HURT @527
WRITE_LONG AREA_FOREST (BNOT 0x0)
WRITE_LONG AREA_CITY (BNOT 0x0)
WRITE_LONG AREA_DUNGEON (BNOT 0x0)
WRITE_LONG AREA_DAY (BNOT 0x0)
WRITE_LONG AREA_NIGHT (BNOT 0x0)
SAY SELECT_COMMON1 @528
SAY SELECT_COMMON2 @529
SAY SELECT_COMMON3 @530
SAY SELECT_COMMON4 @531
SAY SELECT_COMMON5 @523
SAY SELECT_COMMON6 @523
SAY SELECT_ACTION1 @528
SAY SELECT_ACTION2 @532
WRITE_LONG SELECT_ACTION3 (BNOT 0x0)
WRITE_LONG SELECT_ACTION4 (BNOT 0x0)
WRITE_LONG SELECT_ACTION5 (BNOT 0x0)
WRITE_LONG SELECT_ACTION6 (BNOT 0x0)
WRITE_LONG SELECT_ACTION7 (BNOT 0x0)
WRITE_LONG INTERACTION1 (BNOT 0x0)
WRITE_LONG INTERACTION2 (BNOT 0x0)
WRITE_LONG INTERACTION3 (BNOT 0x0)
WRITE_LONG INTERACTION4 (BNOT 0x0)
WRITE_LONG INTERACTION5 (BNOT 0x0)
WRITE_LONG INSULT (BNOT 0x0)
WRITE_LONG COMPLIMENT1 (BNOT 0x0)
WRITE_LONG SPECIAL1 (BNOT 0x0)
WRITE_LONG REACT_TO_DIE_GENERAL (BNOT 0x0)
WRITE_LONG REACT_TO_DIE_SPECIFIC (BNOT 0x0)
WRITE_LONG RESPONSE_TO_COMPLIMENT2 (BNOT 0x0)
WRITE_LONG RESPONSE_TO_INSULT1 (BNOT 0x0)
WRITE_LONG RESPONSE_TO_INSULT2 (BNOT 0x0)
WRITE_LONG DIALOGUE_HOSTILE (BNOT 0x0)
WRITE_LONG SELECT_RARE1 (BNOT 0x0)
WRITE_LONG SELECT_RARE2 (BNOT 0x0)
WRITE_LONG BIO (BNOT 0x0)
WRITE_EVALUATED_ASCII 0x280 ~%SOURCE_RES%~ #32 //  death variable
WRITE_ASCII 0x2CC ~NONE~ #8 //  dialog
WRITE_EVALUATED_ASCII 0x248 ~%tutu_scriptw%TASIGHT~ #8 //  override script
WRITE_EVALUATED_ASCII 0x268 ~%tutu_var%DPLAYER~ #8
PATCH_IF (~%tutuorbgt%~ STRING_COMPARE_CASE ~BGT~ = 0) THEN BEGIN
WRITE_ASCII 0x34 ~AJANTISS~ #8  // small portrait
WRITE_ASCII 0x3C ~AJANTISL~ #8  // large portrait
END

COPY ~bg1npc/phase3/challenge/cre/x#corafi.cre~ ~bg1npc/phase3/challenge/cre~

WRITE_ASCII 0x34 ~CORANS~ #8 // small portrait

WRITE_ASCII 0x3C ~CORANL~ #8 // large portrait

BUT_ONLY

confirmed;

  COPY ~BG1NPC/Phase3/CHALLENGE/cre/x#corafi.cre~ ~override~
SAY NAME1 @509
SAY NAME2 @509
SAY INITIAL_MEETING @510
SAY MORALE @511
WRITE_LONG HAPPY (BNOT 0x0)
WRITE_LONG UNHAPPY_ANNOYED (BNOT 0x0)
WRITE_LONG UNHAPPY_SERIOUS (BNOT 0x0)
SAY UNHAPPY_BREAKING @511
WRITE_LONG  LEADER (BNOT 0x0)
WRITE_LONG  TIRED (BNOT 0x0)
WRITE_LONG  BORED (BNOT 0x0)
SAY BATTLE_CRY1 @510
SAY BATTLE_CRY2 @512
SAY BATTLE_CRY3 @512
SAY BATTLE_CRY4 @512
SAY BATTLE_CRY5 @512
SAY ATTACK1 @510
SAY ATTACK2 @512
SAY DAMAGE @513
SAY DYING @514
SAY HURT @515
WRITE_LONG AREA_FOREST (BNOT 0x0)
WRITE_LONG AREA_CITY (BNOT 0x0)
WRITE_LONG AREA_DUNGEON (BNOT 0x0)
WRITE_LONG AREA_DAY (BNOT 0x0)
WRITE_LONG AREA_NIGHT (BNOT 0x0)
SAY SELECT_COMMON1 @516
SAY SELECT_COMMON2 @517
SAY SELECT_COMMON3 @518
SAY SELECT_COMMON4 @516
SAY SELECT_COMMON5 @516
WRITE_LONG SELECT_COMMON6 (BNOT 0x0)
SAY SELECT_ACTION1 @510
SAY SELECT_ACTION2 @510
SAY SELECT_ACTION3 @510
SAY SELECT_ACTION4 @510
SAY SELECT_ACTION5 @510
SAY SELECT_ACTION6 @510
SAY SELECT_ACTION7 @510
WRITE_LONG INTERACTION1 (BNOT 0x0)
WRITE_LONG INTERACTION2 (BNOT 0x0)
WRITE_LONG INTERACTION3 (BNOT 0x0)
WRITE_LONG INTERACTION4 (BNOT 0x0)
WRITE_LONG INTERACTION5 (BNOT 0x0)
WRITE_LONG COMPLIMENT1 (BNOT 0x0)
WRITE_LONG COMPLIMENT2 (BNOT 0x0)
WRITE_LONG COMPLIMENT3 (BNOT 0x0)
WRITE_LONG REACT_TO_DIE_GENERAL (BNOT 0x0)
WRITE_LONG REACT_TO_DIE_SPECIFIC (BNOT 0x0)
WRITE_LONG RESPONSE_TO_COMPLIMENT2 (BNOT 0x0)
WRITE_LONG RESPONSE_TO_INSULT1 (BNOT 0x0)
WRITE_LONG RESPONSE_TO_INSULT2 (BNOT 0x0)
WRITE_LONG DIALOGUE_HOSTILE (BNOT 0x0)
WRITE_LONG SELECT_RARE1 (BNOT 0x0)
WRITE_LONG SELECT_RARE2 (BNOT 0x0)
WRITE_LONG BIO (BNOT 0x0)
WRITE_EVALUATED_ASCII 0x280 ~%SOURCE_RES%~ #32 //  death variable
WRITE_EVALUATED_ASCII 0x2CC ~%SOURCE_RES%~ #8 //  dialog
WRITE_ASCIIE 0x248 ~%tutu_scriptw%TASIGHT~ #8 //  override script
PATCH_IF (~%tutuorbgt%~ STRING_COMPARE_CASE ~BGT~ = 0) THEN BEGIN
WRITE_ASCII 0x34 ~CORANS~ #8	// small portrait
WRITE_ASCII 0x3C ~CORANL~ #8	// large portrait
END

COPY ~bg1npc/phase3/dyrom/cre/x#dfake1.cre~ ~bg1npc/phase3/dyrom/cre~

WRITE_ASCII 0x34 ~DYNAHEIS~ #8 // small portrait

WRITE_ASCII 0x3C ~DYNAHEIL~ #8 // large portrait

BUT_ONLY

 

confirmed;

  COPY ~BG1NPC/Phase3/DYROM/cre/x#dfake1.cre~ ~override~
SAY NAME1 @456
SAY NAME2 @456
SAY INITIAL_MEETING @457
WRITE_LONG MORALE (BNOT 0x0)
WRITE_LONG HAPPY (BNOT 0x0)
WRITE_LONG UNHAPPY_ANNOYED (BNOT 0x0)
WRITE_LONG UNHAPPY_SERIOUS (BNOT 0x0)
WRITE_LONG UNHAPPY_BREAKING (BNOT 0x0)
WRITE_LONG LEADER (BNOT 0x0)
WRITE_LONG TIRED (BNOT 0x0)
WRITE_LONG BORED (BNOT 0x0)
SAY BATTLE_CRY1 @458
SAY BATTLE_CRY2 @458
SAY BATTLE_CRY3 @458
SAY BATTLE_CRY4 @458
SAY BATTLE_CRY5 @458
SAY ATTACK1 @458
SAY ATTACK2 @458
SAY DAMAGE @459
SAY DYING @460
WRITE_LONG HURT (BNOT 0x0)
WRITE_LONG AREA_FOREST (BNOT 0x0)
WRITE_LONG AREA_CITY (BNOT 0x0)
WRITE_LONG AREA_DUNGEON (BNOT 0x0)
WRITE_LONG AREA_DAY (BNOT 0x0)
WRITE_LONG AREA_NIGHT (BNOT 0x0)
SAY SELECT_COMMON1 @461
SAY SELECT_COMMON2 @461
SAY SELECT_COMMON3 @461
SAY SELECT_COMMON4 @461
SAY SELECT_COMMON5 @461
SAY SELECT_COMMON6 @461
SAY SELECT_ACTION1 @461
SAY SELECT_ACTION2 @461
SAY SELECT_ACTION3 @461
SAY SELECT_ACTION4 @461
SAY SELECT_ACTION5 @461
SAY SELECT_ACTION6 @461
SAY SELECT_ACTION7 @461
WRITE_LONG INTERACTION1 (BNOT 0x0)
WRITE_LONG INTERACTION2 (BNOT 0x0)
WRITE_LONG INTERACTION3 (BNOT 0x0)
WRITE_LONG INTERACTION4 (BNOT 0x0)
WRITE_LONG INTERACTION5 (BNOT 0x0)
WRITE_LONG INSULT (BNOT 0x0)
WRITE_LONG COMPLIMENT1 (BNOT 0x0)
WRITE_LONG COMPLIMENT3 (BNOT 0x0)
WRITE_LONG SPECIAL1 (BNOT 0x0)
WRITE_LONG REACT_TO_DIE_GENERAL (BNOT 0x0)
WRITE_LONG REACT_TO_DIE_SPECIFIC (BNOT 0x0)
WRITE_LONG RESPONSE_TO_COMPLIMENT2 (BNOT 0x0)
WRITE_LONG RESPONSE_TO_COMPLIMENT3 (BNOT 0x0)
WRITE_LONG RESPONSE_TO_INSULT1 (BNOT 0x0)
WRITE_LONG SELECT_RARE1 (BNOT 0x0)
WRITE_LONG SELECT_RARE2 (BNOT 0x0)
WRITE_LONG BIO (BNOT 0x0)
WRITE_ASCII 0x248 ~X#DYNA~ #8 //  override script
WRITE_ASCII 0x280 ~dynacutscene~ #32 //  death variable
WRITE_ASCII 0x2CC ~X#DYNA~ #8 //  dialog
PATCH_IF (~%tutuorbgt%~ STRING_COMPARE_CASE ~BGT~ = 0) THEN BEGIN
	WRITE_ASCII 0x34 ~DYNAHEIS~ #8  // small portrait
	WRITE_ASCII 0x3C ~DYNAHEIL~ #8  // large portrait
	WRITE_ASCII 0x268 ~DPLAYER~ #8
	WRITE_ASCII 0x260 ~WTRUNSGT~ #8
END

 

COPY ~bg1npc/phase2/itm/x#ansper.itm~ ~bg1npc/phase2/itm~

WRITE_ASCII 0x10 ~MISC56~ #8 // used-up item

BUT_ONLY

Confirmed:

  COPY ~BG1NPC/phase2/itm/x#ansper.itm~ ~override~
SAY NAME2 @378
SAY DESC @379
WRITE_ASCII 0x10 ~MISC56~ #8 // used-up item
PATCH_IF (~%tutuorbgt%~ STRING_COMPARE_CASE ~BGT~ = 0) THEN BEGIN
  WRITE_ASCII 0x44 ~gsper01~ #8
END

 

COPY ~bg1npc/phase1/itm/x#dex.spl~ ~bg1npc/phase1/itm~

WRITE_ASCII 0x10 ~CAS_M08~ #8 // casting sound

WRITE_ASCII 0x3A ~SPWI415C~ #8 // spell icon

WRITE_ASCII 0x76 ~SPWI415B~ #8 // ability #0 icon

WRITE_ASCII 0xDE ~EFF_P07~ #8 // resource

BUT_ONLY

 

COPY ~bg1npc/phase1/itm/x#poly.spl~ ~bg1npc/phase1/itm~

WRITE_ASCII 0x10 ~CAS_M08~ #8 // casting sound

WRITE_ASCII 0x3A ~SPWI415C~ #8 // spell icon

WRITE_ASCII 0x76 ~SPWI415B~ #8 // ability #0 icon

WRITE_ASCII 0xDE ~EFF_P07~ #8 // resource

BUT_ONLY

 

Confirmed (should be fine with BG2 resources):

  COPY ~BG1NPC/Phase1/ITM/NUTKIN.EFF~ ~override~
 COPY ~BG1NPC/Phase1/ITM/X#DEX.SPL~ ~override~
WRITE_ASCII 0x10 ~CAS_M08~ #8	// casting sound
WRITE_ASCII 0x3A ~SPWI415C~ #8   // spell icon
WRITE_ASCII 0x76 ~SPWI415B~ #8   // ability #0 icon
WRITE_ASCII 0xDE ~EFF_P07~ #8	// resource

 COPY ~BG1NPC/Phase1/ITM/X#POLY.SPL~ ~override~
WRITE_ASCII 0x10 ~CAS_M08~ #8	// casting sound
WRITE_ASCII 0x3A ~SPWI415C~ #8   // spell icon
WRITE_ASCII 0x76 ~SPWI415B~ #8   // ability #0 icon
WRITE_ASCII 0xDE ~EFF_P07~ #8	// resource

 

COPY ~bg1npc/phase2/itm/x#xzspl.spl~ ~bg1npc/phase2/itm~

WRITE_ASCII 0x10 ~CAS_M05~ #8 // casting sound

WRITE_ASCII 0x3A ~SPWI509C~ #8 // spell icon

WRITE_ASCII 0x76 ~SPWI509B~ #8 // ability #0 icon

BUT_ONLY

 

Integrated:

 

  /* Xzar's Dryad Quest */
 /* items */
 COPY ~BG1NPC/phase2/itm/X#XZSPL.SPL~ ~override~
SAY NAME1 @307
SAY NAME2 @307
WRITE_ASCII 0x10 ~CAS_M05~ #8	// casting sound
WRITE_ASCII 0x3A ~SPWI509C~ #8   // spell icon
WRITE_ASCII 0x76 ~SPWI509B~ #8   // ability #0 icon

 

COPY ~bg1npc/phase2/itm/x#fried2.sto~ ~bg1npc/phase2/itm~

WRITE_ASCII 0x44 ~RFRIED2~ #8 // rumors dialog

BUT_ONLY

 

confirmed:

  /* Eldoth FAI */
 COPY ~BG1NPC/phase2/itm/X#FRIED2.STO~ ~override~
SAY STORE_NAME @624
SAY 0xA4 @52
SAY 0xb8 @53
SAY 0xcc @54
SAY 0xe0 @55
PATCH_IF (~%tutuorbgt%~ STRING_COMPARE_CASE ~BGT~ = 0) THEN BEGIN
	WRITE_ASCII 0x44 ~RFRIED2~ #8   // rumors dialog
END

 

 

For docs,

<li> <a href="http://forums.gibberlings3.net/index.php?s=&showtopic=16855&view=findpost&p=144623"> Temujin's mismapped resource references fixes </a>  </li> 
<a href="http://forums.gibberlings3.net/index.php?s=&showtopic=16855&view=findpost&p=144623"> Druid dv mismatch in combat script </a></li>

Link to comment
Did you have a chance to fix the IMOEN_BCS thing on BGT in the lib? :rolleyes:

 

By the way, I suggest using unified (-u) or at least context (-c) diffs.

You can also do that recursively (-r) on two directory trees.

 

 

Hey - side question - I have been using WinMerge and creating a patch log for all these differences. On Vista x64, is there a program (I am not afraid of the command line) that will let me do the -c or -u diffs?

 

 

Personally, I am using the colored highlighting in WinMerge. But reporting here with something closer to what you use, Taimon, and the BiG World folks use, would probably be less work and more effective...

Link to comment

... oh, and confirmed reapir for BGT's Imoen .bcs assignment. It looks like we will not be messing with other folks.

 

Search "BGIMOEN2" (2 hits in 2 files)

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\bg1npc.tp2 (1 hits)

Line 941: WRITE_ASCII 0x248 ~BGIMOEN2~ #8 // override script

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\lib\g3_bgt_cpmvars.tpa (1 hits)

Line 186: OUTER_SPRINT "IMOEN_BCS" "BGIMOEN2"

 

repaired to

 

BGIMOEN

 

For docs,

<a href="http://forums.gibberlings3.net/index.php?s=&showtopic=16855&view=findpost&p=144623"> BGT Imoen script assignment remapped to correct file </a></li>

Link to comment
Hey - side question - I have been using WinMerge and creating a patch log for all these differences. On Vista x64, is there a program (I am not afraid of the command line) that will let me do the -c or -u diffs?

 

Personally, I am using the colored highlighting in WinMerge. But reporting here with something closer to what you use, Taimon, and the BiG World folks use, would probably be less work and more effective...

Sorry, but we don't have Vista. We all use Windows. Perhaps Taimon knows a Vista x64 program...

 

Greetings Leomar

Link to comment
Guest Guest
(...)

 

the only thing I didn't understand is this:

 

incorporated:

 

WRITE_ASCII 0x3C ~NONE~ #8 // large portrait

 

is there a particular reason using ~NONE~ is preferred as opposed to "WRITE_ASCII 0x3C ~~ #8"? because if you explicity mention the word 'NONE', then NI (and probably also the game) seems to look for a NONE.BMP file (and throws an error), whereas leaving it empty and filling it with 8 null characters won't give you any errors... of course, there is also the other built-in file NOPORTLG.BMP which may also be valid.

 

 

 

found a couple more typos after another quick sweep with NI:

 

 

1. bg1npc/phase2/dlg/x#newmerch2.d

 

IF ~~ THEN REPLY @1 DO ~StartStore("nsto4901",LastTalkedToBy())~ EXIT   // (line 5)

 

store nsto4901 doesn't exist. probably sto4901?

 

 

2. bg1npc/phase3/dyrom/dlg/x#dyronpc.d

 

there are a number of ActionOverride("X#Dyna",___) being used but the DV is nonexistent... (it might be 'dynacutscene')

 

 

3. bg1npc/phase2/baf/x#xzint2.baf and bg1npc/phase2/baf/p#fw0112.baf

 

See("zizi1")
See("zizi2")
See("zizi3")
See("zizi4")

 

script names all start with x#zizi1, x#zizi2, ... according to their CRE

 

 

4. bg1npc/phase2/baf/x#saint2.baf

 

Dead("larriaz")   // (line 3)

 

script name for Larriaz is actually spelled 'larria'

 

 

5. bg1npc/phase2/baf/x#tqfw1200.baf

 

Wait(3)
Deactivate("belgin")	// (line 18)
END

<snip>

Activate("belgin")	  // (line 29)
END

 

script name is x#belgin according to x#belgin.cre

 

 

6. bg1npc/phase2/cre/x#jelly.cre and bg1npc/phase2/cre/x#slime.cre

 

default script (0x268) has tutu name '_tasight' assigned

 

 

7. bg1npc/phase2/dlg/x#halbaz.d

 

not really an issue, but any reason why both "_MISC47" and "MISC47" are used instead of good old "%tutu_var%MISC47" ?

Link to comment
the only thing I didn't understand is this:

 

WRITE_ASCII 0x3C ~NONE~ #8 // large portrait

 

is there a particular reason using ~NONE~ is preferred as opposed to "WRITE_ASCII 0x3C ~~ #8"? because if you explicity mention the word 'NONE', then NI (and probably also the game) seems to look for a NONE.BMP file (and throws an error), whereas leaving it empty and filling it with 8 null characters won't give you any errors... of course, there is also the other built-in file NOPORTLG.BMP which may also be valid.

 

Well to tell you the truth, I think it is a holdover on my part from reading old posts that seemed to indicate that using ~~ had the effect of carrying over a value - something that I think was a. false and b. misleading, but just in case I thought it would be better to incorporate an explicit "none" that the game engine would ignore. Checking:

 

I have the following examples in a set of mods decompiled, and striking out the *_CRE_ITEM results comes up with things like this -

Search "~NONE~" (148 hits in 14 files)
 E:\BG2_NPC\absolestia\setup-abSolestia.tp2 (1 hits)
Line 81:  WRITE_ASCII_TERMINATE 0x268 ~NONE~
 E:\BG2_NPC\ACBRE_43\Setup-ACBre_V4.tp2 (1 hits)
Line 79: PATCH_IF ((~%DV%~ STRING_EQUAL ~~) OR (~%DV%~STRING_EQUAL_CASE ~none~)) BEGIN
 E:\BG2_NPC\DSotSC_v215\Setup-DSotSC.TP2 (8 hits)
Line 1582:   WRITE_ASCII 0x34 ~None~ //Portrait
Line 1583:   WRITE_ASCII 0x3c ~None~ //Portrait
Line 1885:   WRITE_ASCII 0x34 ~None~ //Portrait
Line 1886:   WRITE_ASCII 0x3c ~None~ //Portrait
Line 1970:   WRITE_ASCII 0x34 ~None~
Line 1971:   WRITE_ASCII 0x3c ~None~
Line 2172:   WRITE_ASCII 0x34 ~None~
Line 2173:   WRITE_ASCII 0x3c ~None~
 E:\BG2_NPC\GBThfKp_v2.18_\GBThfKp\GBThfKp.tp2 (43 hits)
Line 242:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 243:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 249:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 250:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 256:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 257:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 263:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 264:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 270:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 271:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 277:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 278:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 284:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 285:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 290:   WRITE_ASCII  0x250 ~None~ #8	  // class script
Line 291:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 292:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 297:   WRITE_ASCII  0x250 ~None~ #8	  // class script
Line 298:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 299:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 304:   WRITE_ASCII  0x250 ~None~ #8	  // class script
Line 305:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 306:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 336:   WRITE_ASCII  0x248 ~None~ #8	  // override script
Line 338:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 339:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 340:   WRITE_ASCII  0x268 ~None~ #8	  // default script
Line 353:   WRITE_ASCII  0x248 ~None~ #8	  // override script
Line 355:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 356:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 357:   WRITE_ASCII  0x268 ~None~ #8	  // default script
Line 369:   WRITE_ASCII  0x248 ~None~ #8	  // override script
Line 371:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 372:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 373:   WRITE_ASCII  0x268 ~None~ #8	  // default script
Line 399:   WRITE_ASCII  0x258 ~None~ #8	  // race script
Line 400:   WRITE_ASCII  0x260 ~None~ #8	  // general script
Line 401:   WRITE_ASCII  0x268 ~None~ #8	  // default script
Line 407:   WRITE_ASCII  0x248 ~None~ #8	  // override script
Line 410:   WRITE_ASCII  0x248 ~None~ #8	  // override script
Line 413:   WRITE_ASCII  0x248 ~None~ #8	  // override script
Line 416:   WRITE_ASCII  0x248 ~None~ #8	  // override script
Line 419:   WRITE_ASCII  0x248 ~None~ #8	  // override script
 E:\BG2_NPC\Haiass_v2.1_\haiass\setup-haiass.tp2 (1 hits)
Line 119:	 PATCH_IF (~%rsc%~ STRING_EQUAL_CASE ~none~ = 0) AND (~%rsc%~ STRING_EQUAL ~~ = 0) BEGIN //If not a null script
 E:\BG2_NPC\LCDS SoA V.01D\Severian\Setup-Severian.tp2 (1 hits)
Line 342: WRITE_ASCII  (~%triggOff%~ + ~%#ofTrigg%~ * 196 + 124) ~None~  //Associated Script - resref without extention
 E:\BG2_NPC\NTotSC_v171\Setup-NTotSCv171.tp2 (3 hits)
Line 419:	WRITE_ASCII (offset+0x7c) ~None~	   //script
Line 631:	WRITE_ASCII (offset+0x7c) ~None~	   //script
Line 843:	WRITE_ASCII (offset+0x7c) ~None~	   //script
 E:\BG2_NPC\SoSv1.13\Setup-SOS.tp2 (4 hits)
Line 791:	WRITE_ASCII (offset+0x7c) ~None~	   //script
Line 1105:	WRITE_ASCII (offset+0x7c) ~None~	   //script
Line 1384:	WRITE_ASCII (offset+0x48) ~None~	   //script
Line 1626:	WRITE_ASCII  (offset+0x80)  ~None~		   //script

and for ~~ usage, a zillion... heck, I won't list them, because it looks like the general rule is to use it the way you are suggesting. Sampling, though, finds 1232 hits in 56 files... and that is just 56 of the existing NPC-related .tp2's, we won't even go to the quest and fix mods.

 

Side note - I wish folks would avail themselves of comments in sound lines, because I thought that this is where I picked up the idea that a blank entry could link wrong, but then again it is probably one of those minor quirks of mine that I should just shut up about. I just am saying here for the zillionth time to anyone building mods with soundrefs, that

SAY BATTLE_CRY1 ~~  [myRef]  //Aieeeeee!

is a PITA for .cre check, and is not .tra'd out for completeness in the files for crosscheck; all it takes to make it work beautifully is to comment it like the way BioWare did originally in BG, like this:

SAY BATTLE_CRY1 ~[myRef]~  [myRef]  //Aieeeeee!

or

SAY BATTLE_CRY1 ~[MyCre_Battlecry]~  [myRef]  //Aieeeeee!

or

SAY BATTLE_CRY1 ~[BATTLECRY1]~  [myRef]  //Aieeeeee!

or

SAY BATTLE_CRY1 ~[A]~  [myRef]  //Aieeeeee!

and even blanking a reference can take advantage of .tra and make it easy for WeiDU to locate a completely matching strref. I think modern weidu makes sure to check the associated sound references, so that ~~ [sOUND1] does not get accidentally mapped to ~~ [sOUND2] - it has to, or all these folks using non-commented sounds would have failures and mismatched dying/damaged sounds. But seeing a blank and having to puch the sound in NI/DLTCEP could be avoided if folks would just comment, so when I see [C-ARN05] I know that it may be blank, but has the sound [C-ARN05] attached. I guess it is just a stupid cosmetic pet peeve of mine, and I should shut up and code.

 

 

Sorry, sidetracked - temujin, back to the question at hand -

 

since it throws NI errors that bug you, and I certainly understand pet peeves, and the fixpack uses it (samples)

	Line 27490:   WRITE_ASCII		   0x250 ~~ #32		 // blanks all other script references
Line 27491:   WRITE_ASCII		   0x2cc ~~ #8		  // blanks dialog file
Line 21900:	 WRITE_ASCII 0x10 ~~ #8	  // blanks casting sound
Line 26239:	   WRITE_ASCII ("%cont_off%" + 0x48 + ("%index%" * 0xc0)) ~~ #8
Line 9860:   WRITE_ASCII 0x0250 ~~ #8

well, heck, I will roll through them in-project and do the same. Let me take a look:

 

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\bg1npc.tp2

Line 2657: WRITE_ASCII 0x0258 ~NONE~ #8 // Creature script - Race

Line 2658: WRITE_ASCII 0x0260 ~NONE~ #8 // Creature script - General

Line 2977: WRITE_ASCII 0x34 ~NONE~ #8 // small portrait

Line 3053: WRITE_ASCII 0x3c ~NONE~ #8 // large portrait

Line 3054: WRITE_ASCII 0x34 ~NONE~ #8 // small portrait

Line 4658: WRITE_ASCII 0x3C ~NONE~ #8 // large portrait

Line 6454: WRITE_ASCII 0x2CC ~NONE~ #8 // dialog

 

Moving all of these to

Line 2657: WRITE_ASCII 0x0258 ~~ #8 // Creature script - Race

Line 2658: WRITE_ASCII 0x0260 ~~ #8 // Creature script - General

Line 2977: WRITE_ASCII 0x34 ~~ #8 // small portrait

Line 3053: WRITE_ASCII 0x3c ~~ #8 // large portrait

Line 3054: WRITE_ASCII 0x34 ~~ #8 // small portrait

Line 4658: WRITE_ASCII 0x3C ~~ #8 // large portrait

Line 6454: WRITE_ASCII 0x2CC ~~ #8 // dialog

 

 

7. bg1npc/phase2/dlg/x#halbaz.d

 

not really an issue, but any reason why both "_MISC47" and "MISC47" are used instead of good old "%tutu_var%MISC47" ?

Yep - EasyTutu/Tutu v4 backwards compatibility. Tutu uses _MISC47, older versions of EasyTutu use MISC47, newer _MISC47 (or vice versa0 - there is at least one version of Tutu out there that uses the non-platform-matching resource, so we just look for both :rolleyes:

 

I am on the rest in a moment...

Link to comment
1. bg1npc/phase2/dlg/x#newmerch2.d

 

IF ~~ THEN REPLY @1 DO ~StartStore("nsto4901",LastTalkedToBy())~ EXIT   // (line 5)

 

store nsto4901 doesn't exist. probably sto4901?

 

yep - and the n must be a typo for _, which is now %tutu_var%.

 

Search "sto4901" (3 hits in 3 files)

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\bg1npc.tp2 (1 hits)

Line 2909: COPY_EXISTING ~%tutu_var%STO4901.sto~ ~override~

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\bg1npc_docs\bg1npcvarindex.htm (1 hits)

Line 2997: <td>nsto4901</td>

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\dlg\x#newmerch2.d (1 hits)

Line 5: IF ~~ THEN REPLY @1 DO ~StartStore("%tutu_var%sto4901",LastTalkedToBy())~ EXIT

 

repaired to

 

IF ~~ THEN REPLY @1 DO ~StartStore("nsto4901",LastTalkedToBy())~

 

2. bg1npc/phase3/dyrom/dlg/x#dyronpc.d

 

there are a number of ActionOverride("X#Dyna",___) being used but the DV is nonexistent... (it might be 'dynacutscene')

 

 

checking:

 

Search "ActionOverride("X#Dyna"" (13 hits in 1 files)

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase3\dyrom\dlg\x#dyronpc.d (13 hits)

Line 753: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14))

Line 761: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 761: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 769: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 769: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 777: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 777: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 789: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 789: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 799: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 799: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 809: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 809: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

 

checking for DV, because I think you are right - this should be the "false/illusionary" Dynaheir clone...

 

 

...and, as usual, you are right. Changing these entries to a DV = "dynacutscene"

 

Confirming they are the only instances,

Search ""x#dyna"" (13 hits in 1 files)

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase3\dyrom\dlg\x#dyronpc.d (13 hits)

Line 753: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14))

Line 761: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 761: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 769: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 769: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 777: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 777: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 789: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 789: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 799: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 799: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 809: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

Line 809: IF ~~ THEN DO ~ActionOverride("X#Dyna",EscapeArea()) SetGlobal("X#DynaheirRomanceInactive","GLOBAL",1) ActionOverride(Player1,LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("edwin",LeaveAreaLUA("%NEBaldursGate_BlushingMermaid_L1%","",[734.619],14)) ActionOverride("X#Dyna",DestroySelf())

 

 

OK, got it - all repaired.

 

3. bg1npc/phase2/baf/x#xzint2.baf and bg1npc/phase2/baf/p#fw0112.baf

 

See("zizi1")
See("zizi2")
See("zizi3")
See("zizi4")

 

script names all start with x#zizi1, x#zizi2, ... according to their CRE

 

OK, some mismatches;

 

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\p#fw0112.baf (26 hits)

Line 11: Global("X#ZiziExists","GLOBAL",0)

Line 12: !Exists("zizi1")

Line 13: !Exists("zizi2")

Line 14: !Exists("zizi3")

Line 15: !Exists("zizi4")

Line 18: SetGlobal("X#ZiziExists","GLOBAL",1)

Line 19: CreateCreature("X#ZIZI1",[587.415],0) //1st location

Line 20: CreateCreature("X#ZIZI2",[2205.376],0) //2nd location

Line 21: CreateCreature("X#ZIZI3",[2164.1607],0) //3rd location

Line 22: CreateCreature("X#ZIZI4",[524.1579],0) //4th location

Line 39: Global("X#TalkedToZizi","GLOBAL",1)

Line 52: Global("X#TalkedToZizi","GLOBAL",1)

Line 70: Global("X#TalkedToZizi","GLOBAL",1)

Line 89: Global("X#TalkedToZizi","GLOBAL",2)

Line 102: Global("X#TalkedToZizi","GLOBAL",2)

Line 120: Global("X#TalkedToZizi","GLOBAL",2)

Line 139: Global("X#TalkedToZizi","GLOBAL",3)

Line 152: Global("X#TalkedToZizi","GLOBAL",3)

Line 171: Global("X#TalkedToZizi","GLOBAL",3)

Line 190: Global("X#TalkedToZizi","GLOBAL",4)

Line 203: Global("X#TalkedToZizi","GLOBAL",4)

Line 222: Global("X#TalkedToZizi","GLOBAL",4)

Line 243: InLine("zizi1","xzar")

Line 244: InLine("zizi2","xzar")

Line 245: InLine("zizi3","xzar")

Line 246: InLine("zizi4","xzar")

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#xzint2.baf (4 hits)

Line 223: See("zizi1")

Line 224: See("zizi2")

Line 225: See("zizi3")

Line 226: See("zizi4")

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#zizi1.baf (4 hits)

Line 8: Global("X#TalkedToZizi","GLOBAL",0)

Line 11: SetGlobal("X#TalkedToZizi","GLOBAL",1)

Line 20: Global("X#TalkedToZizi","GLOBAL",1)

Line 27: GlobalGT("X#TalkedToZizi","GLOBAL",2)

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#zizi2.baf (6 hits)

Line 2: Global("X#TalkedToZizi","GLOBAL",0)

Line 10: SetGlobal("X#TalkedToZizi","GLOBAL",3)

Line 14: Global("X#TalkedToZizi","GLOBAL",3)

Line 27: Global("X#TalkedToZizi","GLOBAL",1)

Line 28: Global("X#TalkedToZizi","GLOBAL",2)

Line 29: GlobalGT("X#TalkedToZizi","GLOBAL",4)

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#zizi3.baf (6 hits)

Line 7: Global("X#TalkedToZizi","GLOBAL",0)

Line 11: SetGlobal("X#TalkedToZizi","GLOBAL",5)

Line 19: Global("X#TalkedToZizi","GLOBAL",5)

Line 28: Global("X#TalkedToZizi","GLOBAL",2)

Line 29: Global("X#TalkedToZizi","GLOBAL",4)

Line 30: GlobalGT("X#TalkedToZizi","GLOBAL",6)

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#zizi4.baf (6 hits)

Line 6: Global("X#TalkedToZizi","GLOBAL",0)

Line 10: SetGlobal("X#TalkedToZizi","GLOBAL",7)

Line 18: Global("X#TalkedToZizi","GLOBAL",7)

Line 27: Global("X#TalkedToZizi","GLOBAL",2)

Line 28: Global("X#TalkedToZizi","GLOBAL",4)

Line 29: Global("X#TalkedToZizi","GLOBAL",6)

 

 

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\p#fw0112.baf (6 hits)

Line 11: Global("X#ZiziExists","GLOBAL",0)

Line 18: SetGlobal("X#ZiziExists","GLOBAL",1)

Line 19: CreateCreature("X#ZIZI1",[587.415],0) //1st location

Line 20: CreateCreature("X#ZIZI2",[2205.376],0) //2nd location

Line 21: CreateCreature("X#ZIZI3",[2164.1607],0) //3rd location

Line 22: CreateCreature("X#ZIZI4",[524.1579],0) //4th location

 

.tp2 = WRITE_EVALUATED_ASCII 0x280 ~%DEST_RES%~ #32 // death variable

So, repairing

 

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#xzint2.baf (4 hits)

Line 223: See("zizi1")

Line 224: See("zizi2")

Line 225: See("zizi3")

Line 226: See("zizi4")

 

and

 

Line 243: InLine("zizi1","xzar")

Line 244: InLine("zizi2","xzar")

Line 245: InLine("zizi3","xzar")

Line 246: InLine("zizi4","xzar")

 

and

 

 

Line 12: !Exists("zizi1")

Line 13: !Exists("zizi2")

Line 14: !Exists("zizi3")

Line 15: !Exists("zizi4")

 

to the matching x#zizi[#] DVs.

4. bg1npc/phase2/baf/x#saint2.baf

 

Dead("larriaz")   // (line 3)

 

script name for Larriaz is actually spelled 'larria'

 

repaired to

 

/* Safana, Larriaz The Sirine - BG Harbor */
IF %BGT_VAR%
Dead("larria")
Global("X#SLTSBGH","GLOBAL",0)
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
InMyArea(Player1)
!StateCheck(Player1,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
THEN
RESPONSE #100
SetGlobal("X#SLTSBGH","GLOBAL",1)
END

 

5. bg1npc/phase2/baf/x#tqfw1200.baf

 

Wait(3)
Deactivate("belgin")	// (line 18)
END

<snip>

Activate("belgin")	  // (line 29)
END

 

script name is x#belgin according to x#belgin.cre

Search ""belgin"" (2 hits in 1 files)

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#tqfw1200.baf (2 hits)

Line 18: Deactivate("belgin")

Line 29: Activate("belgin")

 

Repaired to "x#belgin". Follow up searches to make sure nothing else mismatches:

 

Search ""x#beldin"" (0 hits in 0 files)

 

Search ""x#belgin"" (38 hits in 3 files)

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#tqfw1200.baf (4 hits)

Line 6: CreateCreature("X#BELGIN",[1065.516],0)

Line 16: // DisplayStringHead("x#belgin",@0) // in tra, @0 = ~Run away! Run away!~ // no tra set

Line 18: Deactivate("x#belgin")

Line 29: Activate("x#belgin")

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\baf\x#tqtiax.baf (5 hits)

Line 30: !Dead("x#belgin")

Line 58: !Dead("x#belgin")

Line 73: !Dead("x#belgin")

Line 98: !Dead("x#belgin")

Line 99: !InMyArea("x#belgin")

E:\BG1NPC_Workspace\bg1npc-v18_working\bg1npc_18_prerelease\phase2\dlg\x#tiaxquest.d (29 hits)

Line 190: ++ @62 DO ~SetGlobal("X#BelginPlacement","GLOBAL",5) ActionOverride("x#belgin",Enemy()) ActionOverride("x#belgin",EscapeArea())~ JOURNAL @63 EXIT

Line 190: ++ @62 DO ~SetGlobal("X#BelginPlacement","GLOBAL",5) ActionOverride("x#belgin",Enemy()) ActionOverride("x#belgin",EscapeArea())~ JOURNAL @63 EXIT

Line 215: IF ~~ THEN DO ~SetGlobal("X#BelginPlacement","GLOBAL",5) ActionOverride("x#belgin",EscapeArea())~ JOURNAL @72 EXIT

Line 262: IF ~~ THEN DO ~SetGlobal("X#BelginPlacement","GLOBAL",5) ActionOverride("x#belgin",GivePartyGold(500)) ActionOverride("x#belgin",EscapeArea())~ JOURNAL @106 EXIT

Line 262: IF ~~ THEN DO ~SetGlobal("X#BelginPlacement","GLOBAL",5) ActionOverride("x#belgin",GivePartyGold(500)) ActionOverride("x#belgin",EscapeArea())~ JOURNAL @106 EXIT

Line 279: IF ~~ THEN DO ~SetGlobal("X#TiaxQuestBlackmail","GLOBAL",1) ActionOverride("x#belgin",GivePartyGold(500)) SetGlobal("X#BelginPlacement","GLOBAL",7)~ JOURNAL @112 EXIT

Line 322: ActionOverride("x#belgin",EscapeArea())~

Line 393: DO ~ActionOverride("x#belgin",GivePartyGold(1000))~

Line 403: ++ @167 DO ~SetGlobal("X#TiaxQuest","GLOBAL",20) ActionOverride("x#belgin",EscapeArea())~ EXIT

Line 404: ++ @168 DO ~SetGlobal("X#TiaxQuest","GLOBAL",20) ActionOverride("x#belgin",EscapeArea())~ EXIT

Line 406: ++ @170 DO ~SetGlobal("X#TiaxQuest","GLOBAL",20) ActionOverride("x#belgin",EscapeArea())~ EXIT

Line 572: + ~!Dead("x#belgin") Global("X#TiaxQuestBlackmail","GLOBAL",0)~ + @249 DO ~SetGlobal("X#TiaxQuest","GLOBAL",5) SetGlobal("X#BelginPlacement","GLOBAL",11) SetGlobal("X#KarrisPlacement","GLOBAL",2) GiveGoldForce(1500)~ JOURNAL @250 EXIT

Line 573: + ~!Dead("x#belgin") Global("X#TiaxQuestBlackmail","GLOBAL",0)~ + @374 DO ~SetGlobal("X#TiaxQuest","GLOBAL",5) SetGlobal("X#BelginPlacement","GLOBAL",11) SetGlobal("X#KarrisPlacement","GLOBAL",2) GiveGoldForce(1500)~ JOURNAL @250 EXIT

Line 574: + ~Dead("x#belgin")~ + @249 DO ~SetGlobal("X#TiaxQuest","GLOBAL",5) SetGlobal("X#BelginPlacement","GLOBAL",11) SetGlobal("X#KarrisPlacement","GLOBAL",2) GiveGoldForce(1500)~ JOURNAL @251 EXIT

Line 575: + ~Dead("x#belgin")~ + @249 DO ~SetGlobal("X#TiaxQuest","GLOBAL",5) SetGlobal("X#BelginPlacement","GLOBAL",11) SetGlobal("X#KarrisPlacement","GLOBAL",2) GiveGoldForce(1500)~ JOURNAL @374 EXIT

Line 576: + ~!Dead("x#belgin") Global("X#TiaxQuestBlackmail","GLOBAL",1)~ + @249 DO ~SetGlobal("X#TiaxQuest","GLOBAL",5) SetGlobal("X#BelginPlacement","GLOBAL",11) SetGlobal("X#KarrisPlacement","GLOBAL",2) GiveGoldForce(1500)~ JOURNAL @252 EXIT

Line 577: + ~!Dead("x#belgin") Global("X#TiaxQuestBlackmail","GLOBAL",1)~ + @374 DO ~SetGlobal("X#TiaxQuest","GLOBAL",5) SetGlobal("X#BelginPlacement","GLOBAL",11) SetGlobal("X#KarrisPlacement","GLOBAL",2) GiveGoldForce(1500)~ JOURNAL @252 EXIT

Line 583: + ~!Dead("x#belgin") Global("X#TiaxQuestBlackmail","GLOBAL",0)~ + @249 DO ~SetGlobal("X#KarrisPlacement","GLOBAL",2) SetGlobal("X#TiaxQuest","GLOBAL",5)~ JOURNAL @254 EXIT

Line 584: + ~!Dead("x#belgin") Global("X#TiaxQuestBlackmail","GLOBAL",0)~ + @374 DO ~SetGlobal("X#KarrisPlacement","GLOBAL",2) SetGlobal("X#TiaxQuest","GLOBAL",5)~ JOURNAL @254 EXIT

Line 585: + ~!Dead("x#belgin") Global("X#TiaxQuestBlackmail","GLOBAL",1)~ + @249 DO ~SetGlobal("X#KarrisPlacement","GLOBAL",2) SetGlobal("X#TiaxQuest","GLOBAL",5)~ JOURNAL @255 EXIT

Line 586: + ~!Dead("x#belgin") Global("X#TiaxQuestBlackmail","GLOBAL",1)~ + @374 DO ~SetGlobal("X#KarrisPlacement","GLOBAL",2) SetGlobal("X#TiaxQuest","GLOBAL",5)~ JOURNAL @255 EXIT

Line 587: + ~Dead("x#belgin")~ + @249 DO ~SetGlobal("X#KarrisPlacement","GLOBAL",2) SetGlobal("X#TiaxQuest","GLOBAL",5)~ JOURNAL @256 EXIT

Line 588: + ~Dead("x#belgin")~ + @374 DO ~SetGlobal("X#KarrisPlacement","GLOBAL",2) SetGlobal("X#TiaxQuest","GLOBAL",5)~ JOURNAL @256 EXIT

Line 653: + ~!Dead("x#belgin")~ + @310 DO ~SetGlobal("X#TiaxQuest","GLOBAL",5) SetGlobal("X#KarrisPlacement","GLOBAL",2)~ JOURNAL @254 EXIT

Line 655: + ~Dead("x#belgin")~ + @312 DO ~SetGlobal("X#TiaxQuest","GLOBAL",5) SetGlobal("X#KarrisPlacement","GLOBAL",2)~ JOURNAL @313 EXIT

Line 679: IF ~Dead("X#BELGIN")~ THEN EXTERN ~%TIAX_JOINED%~ X#TiaxQuestTiaxCyricOne2

Line 680: IF ~!Dead("X#BELGIN")~ THEN EXTERN ~%TIAX_JOINED%~ X#TiaxQuestTiaxCyricOne1

Line 704: + ~Global("X#TiaxQuestBlackmail","GLOBAL",1) !Dead("x#belgin")~ + @337 EXIT

Line 712: + ~Global("X#TiaxQuestBlackmail","GLOBAL",1) !Dead("x#belgin")~ + @337 EXIT

 

6. bg1npc/phase2/cre/x#jelly.cre and bg1npc/phase2/cre/x#slime.cre

 

default script (0x268) has tutu name '_tasight' assigned

 

repaired in .tp2,

  COPY ~BG1NPC/Phase2/cre/x#jelly.cre~ ~override/x#jelly.cre~
  SAY NAME1 @39
  SAY NAME2 @39
  SAY BATTLE_CRY1 @40
  SAY BATTLE_CRY2 @41
  SAY BATTLE_CRY3 @40
  SAY BATTLE_CRY4 @41
  SAY BATTLE_CRY5 @40
  SAY ATTACK1 @42
  SAY ATTACK2 @43
  SAY DAMAGE @44
  SAY DYING @45
  SAY SELECT_COMMON1 @46
  SAY SELECT_COMMON2 @47
  WRITE_ASCII 0x248 ~X#XZJELL~ #8//  override script
  WRITE_ASCII 0x280 ~xzjelly~ #32//  death variable
  WRITE_EVALUATED_ASCII 0x0268 ~%tutu_scriptw%TASIGHT~ #8 //  Creature script - Default


 COPY ~BG1NPC/Phase2/cre/x#slime.cre~ ~override/x#slime.cre~
SAY NAME1 @39
SAY NAME2 @39
SAY BATTLE_CRY1 @40
SAY BATTLE_CRY2 @41
SAY BATTLE_CRY3 @40
SAY BATTLE_CRY4 @41
SAY BATTLE_CRY5 @40
SAY ATTACK1 @42
SAY ATTACK2 @43
SAY DAMAGE @44
SAY DYING @45
SAY SELECT_COMMON1 @46
SAY SELECT_COMMON2 @47
WRITE_ASCII 0x248 ~X#XZSLIM~ #8//  override script
WRITE_ASCII 0x280 ~xzslime~ #32//  death variable
WRITE_EVALUATED_ASCII 0x0268 ~%tutu_scriptw%TASIGHT~ #8 //  Creature script - Default

 

For docs:

 

<li> <a href="http://forums.gibberlings3.net/index.php?s=&showtopic=16855&view=findpost&p=152451"> Temujin's Resource, DV, and typo repairs part II </a> </li>

Link to comment
Guest temujin_

thanks for clarifying.

 

since it throws NI errors that bug you, and i certainly understand pet peeves, and the fixpack uses it (samples)

:rolleyes:

 

this pet peeve only began a few months back when i started using NI as a debugging tool and got shocked just looking at the thousands of warnings/corrupted resources/etc, and why no one else bothered to correct them.

 

of course you don't have to fix them just because i mentioned it or if you feel things like these are not worth fixing (but cheers for doing it anyway).

Link to comment

Hells no - fixing is fixing :rolleyes: The more we look at these things and fix 'em up, the more likely people are to get a clean, working game with everything going as the original folks planned. Even 'cosmetic' errors will throw enough chaff into the air to cloud and hide real problems. I will try running NI over the beta on Easytutu when i get a chance early next week, and ask around about translations, but it is looking like we have enough stuff done on v18 to justify a release.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...