Jump to content


Photo

BG1NPC v16 to BG1NPC v17 Changelog


17 replies to this topic

#1 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6913 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 28 February 2009 - 09:40 AM

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&amp;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=138416&#entry138416">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=138436&#entry138436">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=0&#entry144499">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.dudleyvil.../ar1200.htm</p>
---
> building. http://www.forgotten.../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
I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#2 Taimon

Taimon
  • Members
  • 544 posts
  • Gender:Not Telling

Posted 28 February 2009 - 09:26 PM

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

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.

#3 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6913 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 01 March 2009 - 08:58 AM

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.
I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#4 Guest_Guest_*

Guest_Guest_*
  • Guests

Posted 01 March 2009 - 05:00 PM

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


#5 Leomar

Leomar
  • Members
  • 405 posts
  • Location:Germany

Posted 02 March 2009 - 12:21 AM

(probably bugging Leomar and his crew for feedback)

Sure. You all make these great mods and we try to help where we can. :)

Greetings Leomar

#6 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6913 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 08 March 2009 - 08:47 AM

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!
I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#7 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6913 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 15 July 2009 - 04:47 PM

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>

I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#8 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6913 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 15 July 2009 - 05:12 PM

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...
I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#9 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6913 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 15 July 2009 - 05:27 PM

... 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>

I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#10 Leomar

Leomar
  • Members
  • 405 posts
  • Location:Germany

Posted 16 July 2009 - 07:05 PM

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

#11 Guest_Guest_*

Guest_Guest_*
  • Guests

Posted 16 July 2009 - 07:13 PM

(...)


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" ?

#12 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6913 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 17 July 2009 - 08:24 AM

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...
I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#13 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6913 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 17 July 2009 - 08:46 AM

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>

I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams

#14 Guest_temujin__*

Guest_temujin__*
  • Guests

Posted 17 July 2009 - 09:26 AM

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).

#15 cmorgan

cmorgan

    journeyman investigator

  • Gibberlings
  • 6913 posts
  • Gender:Male
  • Location:Glencoe, IL, USA

Posted 17 July 2009 - 10:32 AM

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.
I love deadlines. I love the whooshing noise they make as they go by. - Douglas Adams



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users