Jump to content

Workroom Wishlist/Corrections


cmorgan

Recommended Posts

nah, just on the recheck now - I have been tackling that task on all (I think it was 65,000, but I would have to check again) dialogue entries with InParty checks for several months now, a few hours at a time. Almost all of them are now fully updated. I occasionally run into an oddity, where an OR(2) condition or something is in place and still needs to be recoded, but those I will probably be catching forever :)

Link to comment

Getting anywhere with that chain? Like I said, I was getting some ugly chain breaks, too, and have no explanation for it. Maybe it's taking too long to check everything? I know the slowdown for a full-party banter is absolutely incredible.

Link to comment

no luck :) . I got everything else to work, and was happy, but can't seem to crack this open. Perhaps CHAINs are built to run only once, and can't evaluate a second time? I can't really believe that, but I guess we could set them up as I_C_T2's into the state.

 

I have not experienced the slowdown on other dialogues, only this one. I am off to decompile the dialogues and see if I have missed something obvious.

Link to comment

Do, because I'm thinking that CHAIN may work like interjections: only once per customer. But this wouldn't make sense, because we've had reports of banters repeating, and we know perfectly well that they are usually set up in chain format.

 

In any case, changing a chain to a series of I_C_T (must be I_C_T, since the player will respond afterward!) will not be problematic. It's just cutting and pasting, and I can do it myself, if you like. At least we know where the states are, since you're adding the dialog files.

Link to comment

OK,we are all good - our instincts were correct in the first place! In the final code moving, we (I) forgot to check on some of the conditions that we were upgrading (the wikkicode is out of date). One of these was a variable that was supposed to catch prior use, and it caught it and bypassed our state! (i.e., it was the coder, not the code :) )

 

Everything works great now. Newest version uploaded for your enjoyment - Slow, but great. Perhaps we have run into the engine procesiong limit for dialogue states? or something? It is a small lag, but would be noticeable to someone who is trying to just page quickly through the dialogues.

 

I think you may decide we need to space out the DSH a little farther. One (good, but unexpected) thing I didn't notice until playtesting is that if you are interested but decide not to go on with a change, the NPCs are set up to go right on to the next dialogue. It was kind of cool paging through them by acting wishy-washy, and clearing all three responses out before accepting the rep drop. I would like to keep this behavior!

Link to comment

Cool!

 

I think the state naming thing was actually my bad. And semi-intended. When I set it up in the first place, after you posted the whole file to wiki, in that first really confusing wiki post I made after getting access, we were still only talking about having a select pool of NPCs respond once. I didn't think they needed to say the same thing over and over, so bypass to the rescue. Problem was, we changed the code to allow multiple npc responses, but forgot to re-order the states!

 

And I continued to forget about it right up until reading your post at ppg. :)

 

And then I remembered.

 

I hate that.

 

Anyway, if you think the DSH is too short, by all means, extend it! We're going to a lot of trouble to get these guys in the game, and I didn't put them all right by the door. They're going to be standing somewhere that it might be logical for someone to stand who had planned to be there a while. Which means that the pc is going to have to wade in and have a look around, so the DSH had better be up for a while.

Link to comment

Current behavior is that DisplayStringHead fires once every 10 seconds randomly calling one of the 4 "shill" strings, which display on both the box at the bottom of the screen and over the bard's head. I think it is a matter of taste as to how many reminders a player needs per visit to the area; your placement is very logical and cool from a roleplayig perspective. I would rather rely on your judgement for time adjustment once you see how it plays out.

 

I now just have two gordion's knots to untie; ripping out Jaheria's first friendtalk to become an independent event and making that blasted Gorion's Burial thing work correctly. I think I may have to just start over and rethink the whole thing.

 

The rest of the suggested changes (basically creating a set of blocks that shut down cached interjections if they try to fire out of area, and figuring out what to do about Unfinshed Business) I still really need to read up on and play with for serious testing. I am in a hurry to release this as a Beta4, though, as the BGT side has had some serious overhauling and I want to get BGT feedback. Plus we have Xan's Quest and the Bards :)

Link to comment

Work Completed in Internal release pro5-1, January 7, 2007:

  • Confirm and repair Tiax's entries if moved
    Repaired BGT/Tutu January 4, 2007
  • Assign area scripts for Tutu areas as a library.
    Repaired BGT/Tutu Dec 09, 2006 - full tph of all Tutu areas as LIB
  • Contact Ghreyfain and let him know we set one of his variables to attempt repair, but he probably should fix Sirine's Call.
    Temporarily Repaired BGT/Tutu Dec 09, 2006
  • Integrate Bardic Reputation Change Component
    TRA'd and integrated both BGT/Tutu January 3, 2007
  • Integrate Xan Quest from Kulyok
    TRA'd and integrated both BGT/Tutu January 3, 2007
  • Make sure all short-timer windows are set at 5
    Repaired all 10, 5, 1 RSGT calls to 5 - BGT/Tutu Dec 23, 2006
  • Recheck standardization of InParty/CD_S_NV checks; rebuild to include InMyArea("dv")
    Repaired BGT/Tutu Dec 30, 2006 all (many thousand) IsVFPD, IfVFPD, InParty, !Dead, etc. standardized to IP/IMA/!CDSNF
  • Imoen's banter file seems to break off, not allowing her to complete her interactions.
    Probably the engine not recognizing NPCs as present, NOT the pdialog.2da, according to JCompton on PPG - inconclusive; a full review of all of imoen's lines of code show no coding problems.
  • Kivan's spear remains in party inventory when Kivan leaves the party.
    Repaired BGT/Tutu Nov 5, 2006
  • Dynaheir's Quest: sometimes Good Gnolls and sometimes Drizzt refuse to spawn and cooperate. Variables are set correctly, but the area script refuses to trigger. Tutu v4 Area Script is unassigned; rather than a complete rebuild, we should probably try the full "fix all areas" library tph first. Never a BGT problem, as all areas are assigned
    Repaired Tutu Nov 5, 2006
  • Confirmed Winthrop2 and Winthrop3 have portraits, but opening Prologue must not use them; instead, the INNKE .cre (Winthrop) must be the one called on.
    Repaired BGT/Tutu Nov 5, 2006
  • As per Pro5's discovery, and devSin's confirmation, repair instances of OR(#) !Area1 where appropriate (esp. Coran).
    Repaired BGT/Tutu Nov 26, 2006
  • Pro5 corrections for BGT items/bams; integrate into correct sections of the tp2
    /* BGT only: Correct leftover Tutu resrefs on items and creatures */
    ACTION_IF NOT FILE_EXISTS_IN_GAME ~FW0100.are~ THEN BEGIN
    COPY_EXISTING + ~X#AJSHLD.ITM~ ~override~
    	WRITE_ASCII 0x44 ~GSHLD03~ #8  // ground icon
    COPY_EXISTING + ~X#COAMUL.ITM~ ~override~
    	WRITE_ASCII 0x44 ~GAMUL02~ #8
    	WRITE_ASCII 0x58 ~CAMUL01~ #8 // carried item
    COPY_EXISTING + ~X#COFRRO.ITM~ ~override~
    			  ~X#COWIRO.ITM~ ~override~
    	WRITE_ASCII 0x44 ~GSACK01~ #8
    	WRITE_ASCII 0x58 ~CMISC1I~ #8
    COPY_EXISTING + ~X#JACLUB.ITM~ ~override~
    	WRITE_ASCII 0x3a ~IBLUN01~ #8 // main item bam
    	WRITE_ASCII 0x44 ~GBLUN01~ #8
    	WRITE_ASCII 0x58 ~CBLUN01~ #8
    COPY_EXISTING + ~X#SUCRIN.ITM~ ~override~
    	WRITE_ASCII 0x3a ~IRING17~ #8
    	WRITE_ASCII 0x58 ~CRING11~ #8
    COPY_EXISTING + ~X#ANDART.CRE~ ~override~
    	READ_LONG 0x2b8 ~itemslot~
    	READ_LONG 0x2bc ~itemoffset~
    	SET ~currentloc~=~itemoffset~
    	WHILE (~currentloc~<~itemslot~) BEGIN
    		READ_ASCII ~currentloc~ ~itemcarried~	 
    		PATCH_IF !(~%itemcarried%~ STRING_COMPARE_CASE ~_STAF07~) THEN BEGIN
    			WRITE_ASCII ~currentloc~ ~STAF07~ #8
    		END
    	SET ~currentloc~=~currentloc~+0x14
    	END
    COPY_EXISTING + ~X#GARZ01.CRE~ ~override~
    	READ_LONG 0x2b8 ~itemslot~
    	READ_LONG 0x2bc ~itemoffset~
    	SET ~currentloc~=~itemoffset~
    	WHILE (~currentloc~<~itemslot~) BEGIN
    		READ_ASCII ~currentloc~ ~itemcarried~	 
    		PATCH_IF !(~%itemcarried%~ STRING_COMPARE_CASE ~_RING94~) THEN BEGIN
    			WRITE_ASCII ~currentloc~ ~RING94~ #8
    		END
    		PATCH_IF !(~%itemcarried%~ STRING_COMPARE_CASE ~_B1-8~) THEN BEGIN
    			WRITE_ASCII ~currentloc~ ~B1-8~ #8
    		END
    	SET ~currentloc~=~currentloc~+0x14
    	END
    	WRITE_ASCII 0x268 ~WTASIGHT~ #8
    COPY_EXISTING + ~X#JELLY.CRE~ ~override~
    				~X#SLIME.CRE~ ~override~
    	READ_LONG 0x2b8 ~itemslot~
    	READ_LONG 0x2bc ~itemoffset~
    	SET ~currentloc~=~itemoffset~
    	WHILE (~currentloc~<~itemslot~) BEGIN
    		READ_ASCII ~currentloc~ ~itemcarried~	 
    		PATCH_IF !(~%itemcarried%~ STRING_COMPARE_CASE ~_RING95~) THEN BEGIN
    			WRITE_ASCII ~currentloc~ ~RING95~ #8
    		END
    		PATCH_IF !(~%itemcarried%~ STRING_COMPARE_CASE ~_JELLGR1~) THEN BEGIN
    			WRITE_ASCII ~currentloc~ ~JELLGR1~ #8
    		END
    	SET ~currentloc~=~currentloc~+0x14
    	END
    	WRITE_ASCII 0x268 ~WTASIGHT~ #8
    COPY_EXISTING + ~X#MARETH.CRE~ ~override~
    	WRITE_ASCII 0x268 ~WTASIGHT~ #8
    	WRITE_ASCII 0x250 ~DRUID3~ #8
    COPY_EXISTING + ~X#NATAN.CRE~ ~override~
    	WRITE_ASCII 0x268 ~WTARSGT~ #8
    	WRITE_ASCII 0x258 ~THIEF4~ #8
    	WRITE_ASCII 0x250 ~INITDLG~ #8
    COPY_EXISTING + ~X#XZGU01.CRE~ ~override~
    	WRITE_ASCII 0x268 ~WDASIGHT~ #8
    	WRITE_ASCII 0x258 ~SEEENEMY~ #8
    	WRITE_ASCII 0x250 ~INITMAIN~ #8
    COPY_EXISTING + ~X#XZGU03.CRE~ ~override~
    	WRITE_ASCII 0x268 ~WTASIGHT~ #8
    	WRITE_ASCII 0x260 ~FLAMSPEL~ #8
    	WRITE_ASCII 0x258 ~FLAMPUN~ #8
    	WRITE_ASCII 0x250 ~SHOUT~ #8
    	WRITE_ASCII 0x248 ~GUARDS~ #8
    COPY_EXISTING + ~X#AJANFI.CRE~ ~override~
    	WRITE_ASCII 0x268 ~DPLAYER~ #8
    COPY_EXISTING + ~X#XVART.CRE~ ~override~
    	WRITE_ASCII 0x248 ~WTASIGHT~ #8
    	WRITE_ASCII 0x258 ~XVART~ #8
    COPY_EXISTING + ~X#DFAKE1.CRE~ ~override~
    	WRITE_ASCII 0x268 ~DPLAYER~ #8
    	WRITE_ASCII 0x260 ~WTRUNSGT~ #8
    COPY_EXISTING + ~X#SETTA.CRE~ ~override~
    	WRITE_ASCII 0x268 ~WTRUNSGT~ #8
    	WRITE_ASCII 0x258 ~RUNENEMY~ #8
    	WRITE_ASCII 0x250 ~MERCH2~ #8
    	WRITE_ASCII 0x248 ~SHOUT~ #8
    END		// end of resref corrections
    


    Repaired BGT/Tutu Dec 09, 2006 all script and bam; rebuilding a new item patch which will read in all .cres and patch correctly for BGT

  • X#VIINT.D
    // Adding proximity trigger into ARD013.ARE (for Coran dragon talk)
    COMPILE ~BG1NPC\BGT\BAF\P5ARD013.baf~
    COPY_EXISTING ~ARD013.ARE~ ~override~
     READ_LONG 0x54 "actor_off"
     READ_LONG 0x5c "info_off"
     READ_SHORT 0x5a "info_num"
     READ_LONG 0x60 "spawn_off"
     READ_LONG 0x68 "ent_off"
     READ_LONG 0x70 "cont_off"
     READ_LONG 0x78 "item_off"
     READ_LONG 0x7c "vert_off"
     READ_SHORT 0x80 "vert_num"
     READ_LONG 0x84 "amb_off"
     READ_LONG 0x88 "var_off"
     READ_LONG 0xa0 "bmp_off"
     READ_LONG 0xa8 "door_off"
     READ_LONG 0xb0 "anim_off"
     READ_LONG 0xb8 "tiled_off"
     READ_LONG 0xbc "song_off"
     READ_LONG 0xc0 "rest_off"
     READ_LONG 0xc4 "note_off"
     SET "Left" = 1
     SET "Top" = 1
     SET "Right" = 2800
     SET "Bottom" = 1600
     WRITE_SHORT 0x5a ("%info_num%" + 1)
     INSERT_BYTES "%info_off%" 0xC4	// insert new blank info point  
    WRITE_ASCII "%info_off%" ~P5#DragonTrigger~		// name	
    WRITE_SHORT ("%info_off%" + 0x22) "%Left%"
    WRITE_SHORT ("%info_off%" + 0x24) "%Top%"	
    WRITE_SHORT ("%info_off%" + 0x26) "%Right%"
    WRITE_SHORT ("%info_off%" + 0x28) "%Bottom%"
    WRITE_SHORT ("%info_off%" + 0x2A) 4	// # vertices
    WRITE_LONG ("%info_off%" + 0x2C) "%vert_num%"	// first vertex index
    WRITE_BYTE ("%info_off%" + 0x60) 2	// Flags: Trap Resets=true
    //	WRITE_BYTE ("%info_off%" + 0x60) 10	// Flags: Trap Resets=true, Trap Detectable=true - for testing
    //	WRITE_SHORT ("%info_off%" + 0x68) 1	// Trap det.difficulty - for testing
    WRITE_SHORT ("%info_off%" + 0x6C) 1	// Trap flag - needed
    WRITE_ASCII ("%info_off%" + 0x7C) ~P5ARD013~ #8 // Script name	
     PATCH_IF NOT ("%actor_off%" < "%info_off%") BEGIN
    WRITE_LONG 0x54 ("%actor_off%" + 0xC4)
     END
     PATCH_IF NOT ("%spawn_off%" < "%info_off%") BEGIN
    WRITE_LONG 0x60 ("spawn_off" + 0xC4)
     END
     PATCH_IF NOT ("%ent_off%" < "%info_off%") BEGIN
    WRITE_LONG 0x68 ("ent_off" + 0xC4)
     END
     PATCH_IF NOT ("%cont_off%" < "%info_off%") BEGIN
    WRITE_LONG 0x70 ("cont_off" + 0xC4)
     END
     PATCH_IF NOT ("%item_off%" < "%info_off%") BEGIN
    WRITE_LONG 0x78 ("item_off" + 0xC4)
     END
     PATCH_IF NOT ("%vert_off%" < "%info_off%") BEGIN
    WRITE_LONG 0x7c ("vert_off" + 0xC4)
     END
     PATCH_IF NOT ("%amb_off%" < "%info_off%") BEGIN
    WRITE_LONG 0x84 ("amb_off" + 0xC4)
     END
     PATCH_IF NOT ("%var_off%" < "%info_off%") BEGIN
    WRITE_LONG 0x88 ("var_off" + 0xC4)
     END
     PATCH_IF NOT ("%bmp_off%" < "%info_off%") BEGIN
    WRITE_LONG 0xa0 ("bmp_off" + 0xC4)
     END
     PATCH_IF NOT ("%door_off%" < "%info_off%") BEGIN
    WRITE_LONG 0xa8 ("door_off" + 0xC4)
     END
     PATCH_IF NOT ("%anim_off%" < "%info_off%") BEGIN
    WRITE_LONG 0xb0 ("anim_off" + 0xC4)
     END
     PATCH_IF NOT ("%tiled_off%" < "%info_off%") BEGIN
    WRITE_LONG 0xb8 ("tiled_off" + 0xC4)
     END
     PATCH_IF NOT ("%song_off%" < "%info_off%") BEGIN
    WRITE_LONG 0xbc ("song_off" + 0xC4)
     END
     PATCH_IF NOT ("%rest_off%" < "%info_off%") BEGIN
    WRITE_LONG 0xc0 ("rest_off" + 0xC4)
     END
     PATCH_IF NOT ("%note_off%" < "%info_off%") BEGIN
    WRITE_LONG 0xc4 ("note_off" + 0xC4)
     END
     // Add 4 new vertices
     READ_LONG 0x54 "actor_off"
     READ_LONG 0x5c "info_off"
     READ_SHORT 0x5a "info_num"
     READ_LONG 0x60 "spawn_off"
     READ_LONG 0x68 "ent_off"
     READ_LONG 0x70 "cont_off"
     READ_LONG 0x78 "item_off"
     READ_LONG 0x7c "vert_off"
     READ_SHORT 0x80 "vert_num"
     READ_LONG 0x84 "amb_off"
     READ_LONG 0x88 "var_off"
     READ_LONG 0xa0 "bmp_off"
     READ_LONG 0xa8 "door_off"
     READ_LONG 0xb0 "anim_off"
     READ_LONG 0xb8 "tiled_off"
     READ_LONG 0xbc "song_off"
     READ_LONG 0xc0 "rest_off"
     READ_LONG 0xc4 "note_off"
     WRITE_SHORT 0x80 ("%vert_num%" + 4)
     INSERT_BYTES ("%vert_off%" + (0x04 * "%vert_num%")) 0x10
      WRITE_SHORT ("%vert_off%" + 0x04 * "%vert_num%") 	 948	// Vertex1.X
      WRITE_SHORT ("%vert_off%" + 0x04 * "%vert_num%" + 2) 1588	// Vertex1.Y
      WRITE_SHORT ("%vert_off%" + 0x04 * "%vert_num%" + 4) 651	// Vertex2.X
      WRITE_SHORT ("%vert_off%" + 0x04 * "%vert_num%" + 6) 1125	// Vertex2.Y
      WRITE_SHORT ("%vert_off%" + 0x04 * "%vert_num%" + 8) 2366	// Vertex3.X
      WRITE_SHORT ("%vert_off%" + 0x04 * "%vert_num%" +10) 351	// Vertex3.Y
      WRITE_SHORT ("%vert_off%" + 0x04 * "%vert_num%" +12) 2743	// Vertex4.X
      WRITE_SHORT ("%vert_off%" + 0x04 * "%vert_num%" +14) 618	// Vertex4.Y
     PATCH_IF NOT ("%actor_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0x54 ("%actor_off%" + 0x10)
     END
     PATCH_IF NOT ("%info_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0x5c ("info_off" + 0x10)
     END
     PATCH_IF NOT ("%spawn_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0x60 ("spawn_off" + 0x10)
     END
     PATCH_IF NOT ("%ent_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0x68 ("ent_off" + 0x10)
     END
     PATCH_IF NOT ("%cont_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0x70 ("cont_off" + 0x10)
     END
     PATCH_IF NOT ("%item_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0x78 ("item_off" + 0x10)
     END
     PATCH_IF NOT ("%amb_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0x84 ("amb_off" + 0x10)
     END
     PATCH_IF NOT ("%var_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0x88 ("var_off" + 0x10)
     END
     PATCH_IF NOT ("%bmp_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0xa0 ("bmp_off" + 0x10)
     END
     PATCH_IF NOT ("%door_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0xa8 ("door_off" + 0x10)
     END
     PATCH_IF NOT ("%anim_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0xb0 ("anim_off" + 0x10)
     END
     PATCH_IF NOT ("%tiled_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0xb8 ("tiled_off" + 0x10)
     END
     PATCH_IF NOT ("%song_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0xbc ("song_off" + 0x10)
     END
     PATCH_IF NOT ("%rest_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0xc0 ("rest_off" + 0x10)
     END
     PATCH_IF NOT ("%note_off%" < "%vert_off%") BEGIN
    WRITE_LONG 0xc4 ("note_off" + 0x10)
     END
    BUT_ONLY_IF_IT_CHANGES
    


    BG1NPC\BGT\BAF\P5ARD013.baf

    REPLACE_STATE_TRIGGER ALORAJ 0 ~False()~
    REPLACE_STATE_TRIGGER BRANWJ 0 ~False()~
    REPLACE_STATE_TRIGGER CORANJ 8 ~False()~
    REPLACE_STATE_TRIGGER DYNAJ 4 ~False()~ 5
    REPLACE_STATE_TRIGGER EDWINJ 190 ~False()~
    REPLACE_STATE_TRIGGER ELDOTJ 12 ~False()~ 13
    REPLACE_STATE_TRIGGER FALDOJ 0 ~False()~
    REPLACE_STATE_TRIGGER GARRIJ 0 ~False()~
    REPLACE_STATE_TRIGGER JAHEIRAJ 533 ~False()~ 534
    REPLACE_STATE_TRIGGER KAGAIJ 2 ~False()~
    REPLACE_STATE_TRIGGER KHALIJ 2 ~False()~ 3
    REPLACE_STATE_TRIGGER KIVANJ 0 ~False()~ 1  // 1 - disabling bandits timer expired talk, do we want this? -cm - yep until i fix 'em
    REPLACE_STATE_TRIGGER MINSCJ 243 ~False()~ 244
    REPLACE_STATE_TRIGGER MONTAJ 2 ~False()~ 3
    REPLACE_STATE_TRIGGER QUAYLJ 0 ~False()~
    REPLACE_STATE_TRIGGER SAFANJ 0 ~False()~
    REPLACE_STATE_TRIGGER SHARTJ 2 ~False()~
    REPLACE_STATE_TRIGGER SKIEJ 2 ~False()~ 3
    REPLACE_STATE_TRIGGER TIAXJ 0 ~False()~
    REPLACE_STATE_TRIGGER VICONIJ 183 ~False()~
    REPLACE_STATE_TRIGGER XANJ 0 ~False()~
    REPLACE_STATE_TRIGGER XZARJ 5 ~False()~ 6
    REPLACE_STATE_TRIGGER YESLIJ 0 ~False()~
    REPLACE_STATE_TRIGGER IMOEN2J 111 ~False()~
    


    Repaired BGT/Tutu Dec 09, 2006

  • move Alora from Hall of Wonders to Gullykin (others Pro5 already coded for SCS) TP2 file:
    REPLACE_STATE_TRIGGER ALORA 0 ~NumberOfTimesTalkedTo(0) !AreaCheck("AR9900")~
    REPLACE_STATE_TRIGGER ALORA 3 ~NumberOfTimesTalkedTo(1) ReactionLT(LastTalkedToBy,NEUTRAL_LOWER) !AreaCheck("AR9900")~
    REPLACE_STATE_TRIGGER ALORA 4 ~NumberOfTimesTalkedTo(1) ReactionGT(LastTalkedToBy,NEUTRAL_UPPER) !AreaCheck("AR9900")~
    
    APPEND ALORA
    
    IF WEIGHT #-2
    ~NumTimesTalkedTo(0) AreaCheck("AR9900")~ THEN BEGIN AlJoin
    SAY @0
    ++ @1 DO ~SetGlobal("P#TalkedToAlora","GLOBAL",1)~ + ALJONE1.1
    ++ @2 DO ~SetGlobal("P#TalkedToAlora","GLOBAL",1)~ + ALJONE1.2
    ++ @3 DO ~SetGlobal("P#TalkedToAlora","GLOBAL",1)~ + ALJONE1.3
    ++ @4 DO ~SetGlobal("P#TalkedToAlora","GLOBAL",1)~ + ALJONE1.4
    END
    IF ~~ ALJONE1.1
    SAY @5
     IF ~~ THEN REPLY @6 + ALJONE1.5
     IF ~~ THEN REPLY @7 + ALJONE1.6
     IF ~~ THEN REPLY @8 + ALJONE1.2
    END
    IF ~~ THEN BEGIN ALJONE1.2
     SAY @9
     IF ~~ THEN DO ~EscapeArea() DestroySelf()~ EXIT
    END
    IF ~~ ALJONE1.3
     SAY @10
     IF ~~ THEN REPLY @6 + ALJONE1.5
     IF ~~ THEN REPLY @7 + ALJONE1.6
     IF ~~ THEN REPLY @8 + ALJONE1.2
    END
    IF ~~ ALJONE1.4
     SAY @11
    IF ~~ THEN REPLY @6 + ALJONE1.5
     IF ~~ THEN REPLY @7 + ALJONE1.6
     IF ~~ THEN REPLY @8 + ALJONE1.2
    END
    IF ~~ THEN BEGIN ALJONE1.5
     SAY @12
     IF ~~ THEN DO ~JoinParty() SetGlobal("P#TalkedToAlora","GLOBAL",2)~ EXIT
    END
    IF ~~ THEN BEGIN ALJONE1.6
     SAY @13
     IF ~~ THEN EXIT
    END
    IF ~~ THEN BEGIN ALJONE1.7
     SAY @14
     IF ~~ THEN EXIT
    END
    IF WEIGHT #-1
    ~NumTimesTalkedToGT(0) AreaCheck("AR9900")~ THEN BEGIN AlJoin1
    SAY @15
     IF ~~ THEN REPLY @6 + ALJONE1.5
     IF ~~ THEN REPLY @7 + ALJONE1.7
     IF ~~ THEN REPLY @8 + ALJONE1.2
    END
    END
    


    Repaired BGT January 1, 2007 - added text to tp2 TRA about other moves in SCS

  • X#BRINT.D
     I_C_T2 ~BREVLI~ 17 X#BranwenTheft
    == ~BRANWJ~ IF ~!InParty("xan") !InParty("montaron") !InParty("viconia")~ THEN @40
    == ~BREVLI~ IF ~!InParty("xan") !InParty("montaron") !InParty("viconia")~ THEN @41
    END
    I_C_T2 ~BREVLI~ 17 X#BranwenTheft
    == ~BRANWJ~ IF ~InParty("xan") !InParty("montaron") !InParty("viconia")~ THEN @42
    == ~BREVLI~ IF ~!InParty("xan") !InParty("montaron") !InParty("viconia")~ THEN @41
    END
    I_C_T2 ~BREVLI~ 17 X#BranwenTheft
    == ~BRANWJ~ IF ~InParty("montaron") !InParty("xan") !InParty("viconia")~ THEN @43
    == ~BREVLI~ IF ~!InParty("xan") !InParty("montaron") !InParty("viconia")~ THEN @41
    END
    I_C_T2 ~BREVLI~ 17 X#BranwenTheft
    == ~BRANWJ~ IF ~InParty("viconia") !InParty("xan") !InParty("montaron")~ THEN @44
    == ~BREVLI~ IF ~!InParty("xan") !InParty("montaron") !InParty("viconia")~ THEN @41
    END
    


    The condition for BREVLI's reply here is same for all cases, it should probably match the first condition for each case; otherwise he'll only make his reply to Branwen in the first case - if neither of the three NPCs is in party.
    Repaired BGT/Tutu Dec 18, 2006

  • X#CORAN1.BAF There are several script blocks here with OR(12) check, like this:
    /* CoranReturnsBabyNotInRomance */
    IF
    !Global("endofbg1","GLOBAL",2)
    OR(2)
    Global("CoranRomanceMatch","GLOBAL",0)
    Global("CoranRomanceInactive","GLOBAL",1)
    Global("CoranHasBaby","GLOBAL",1)
    OR(2)
    GlobalGT("Chapter","GLOBAL",6)
    GlobalTimerExpired("ReturnNamara","GLOBAL")
    OR(12)//checking for island areas and Durlag
    !AreaCheck("ARU008")
    !AreaCheck("ARW000")
    !AreaCheck("ARW500")
    !AreaCheck("AR7223")
    !AreaCheck("ARD001")
    !AreaCheck("ARD002")
    !AreaCheck("ARD003")
    !AreaCheck("ARD004")
    !AreaCheck("ARD011")
    !AreaCheck("ARD012")
    !AreaCheck("ARD013")
    !AreaCheck("ARD014")
    Global("CNRBabeBack","GLOBAL",0)
    THEN
    RESPONSE #100
    PlaySong(0)
    PlaySound("coran99")
    SetGlobal("CNRBabeBack","GLOBAL",1)
    StartDialogueNoSet(Player1)
    END


    Repaired BGT/Tutu Dec 18, 2006

  • X#SAFANA.D
     INTERJECT ~ARKUSH~ 5 SafArkush5
    == ~SAFANJ~ IF ~!StateCheck("safana",CD_STATE_NOTVALID)~ THEN
    @0
    == ~ARKUSH~ IF ~!StateCheck("safana",CD_STATE_NOTVALID)~ THEN
    @1
    END
    IF ~~ THEN DO ~EscapeArea() SetGlobal("SafArkush5","GLOBAL",1)~
    EXIT
    INTERJECT ~ARKUSH~ 8 SafArkush8
    == ~SAFANJ~ IF ~!StateCheck("safana",CD_STATE_NOTVALID)~ THEN
    @2
    == ~ARKUSH~ IF ~!StateCheck("safana",CD_STATE_NOTVALID)~ THEN
    @3
    END
    IF ~~ THEN DO ~SetGlobal("SafArkush8","GLOBAL",1) Enemy() ~
    EXIT


    Interjection triggers here are missing InParty() checks. Safana can be found and joined in the same area where Arkushule is, so it's possible Player will find Arkushule first and talk to her without having Safana in party. But !StateCheck("safana",CD_STATE_NOTVALID) will return true even Safana is not in party.
    Repaired BGT/Tutu Dec 18, 2006

  • TP2
     /* area changes */
    EXTEND_BOTTOM ~ARD510.bcs~ ~BG1NPC/BGT/BAF/P#FW0510.BAF~	// should be EXTEND_BOTTOM ~ARD0010.bcs~


    Repaired BGT/Tutu Dec 18, 2006

  • all D and BAF files: Each occurence of Global("KickedOut","LOCALS" in BGT files must be replaced with Global("IWasKickedOut","LOCALS".
    Repaired BGT/Tutu Dec 18, 2006
  • X#JAINT.D
     EXTEND_BOTTOM ~GERVIS~ 4
    IF ~~ THEN DO ~ActionOverride("gervisse", Enemy())~ EXIT
    END
    APPEND ~GERVIS~
    IF  WEIGHT #-1 ~!Global("endofbg1","GLOBAL",2)
    Global("X#VoltineAdd","GLOBAL",1)~ THEN BEGIN X#GrevisAdd
    SAY @4
    ++ @5 DO ~SetGlobal("X#VoltineAdd","GLOBAL",2)~ EXIT
    ++ @6 DO ~SetGlobal("X#VoltineAdd","GLOBAL",2)~ + VORE1.1
    END
    IF ~~ VORE1.1
    SAY @7
    IF ~~ THEN GOTO 4
    END


    Dialog state 4 in GERVIS.DLG is unused (False()'ed out), and the line he says in it doesn't make sense in this context. I suggest for BGT version the above block be changed to this:

    APPEND ~GERVIS~
    IF  WEIGHT #-1 ~!Global("endofbg1","GLOBAL",2)
    Global("X#VoltineAdd","GLOBAL",1)~ THEN BEGIN X#GrevisAdd
    SAY @4
    ++ @5 DO ~SetGlobal("X#VoltineAdd","GLOBAL",2)~ EXIT
    ++ @6 DO ~SetGlobal("X#VoltineAdd","GLOBAL",2)~ + VORE1.1
    END
    IF ~~ VORE1.1
    SAY @7
    IF ~~ THEN DO ~Enemy()~  EXIT
    END

    CONFIRMED both Tutu and BGT
    Repaired BGT/Tutu Dec 26, 2006
    X#FAINT.D

     I_C_T2 ~VOLTIN~ 1 FaVoltine1
    == ~FALDOJ~ IF ~InParty("faldorn") !Dead("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @43
    END
    I_C_T2 ~VOLTIN~ 4 FaVoltine2
    == ~FALDOJ~ IF ~InParty("faldorn") !Dead("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @44
    DO ~LeaveParty() Enemy()~


    Similar problem as in case 3). Dialog state 4 is unused in VOLTIN.DLG, there's actually no way in BGT to turn either of them hostile through dialog; you have to force-attack one of them to finish the quest. In my game, I'm doing:

    IF ~~ THEN BEGIN P5#FalMadVoltine
     SAY @44
     IF ~~ THEN DO ~ActionOverride("Voltine",Enemy()) LeaveParty() Enemy()~ EXIT
    END
    END // end of "APPEND ~FALDOJ~"
    I_C_T2 ~MAPLE~ 0 X#FaldornMaple
    == ~FALDOJ~ IF ~InParty("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @42
    END
    ADD_STATE_TRIGGER ~VOLTIN~ 2 ~False()~
    APPEND ~VOLTIN~
    IF WEIGHT #3 ~Global("HelpVoltine","GLOBAL",0)~ THEN BEGIN X#VoltinAdd
    SAY @150
    ++ @151 EXIT
    ++ @152 + P5#VoltinAdd2
    END
    IF ~~ P5#VoltinAdd2
    SAY @153
    IF ~~ THEN DO ~Enemy()~ EXIT
    IF ~InParty("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN EXTERN FALDOJ 
    P5#FalMadVoltine
    END
    END
    I_C_T2 ~VOLTIN~ 1 FaVoltine1
    == ~FALDOJ~ IF ~InParty("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @43
    END
    /* THIS IS NO LONGER NEEDED
    I_C_T2 ~VOLTIN~ P5#VoltinAdd2 FaVoltine2
    == ~FALDOJ~ IF ~InParty("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @44
    DO ~ActionOverride("Voltine",Enemy()) LeaveParty() Enemy()~
    END
    */


    where @150-153 are custom strings added to X#FAINT.TRA

     @150 = ~Ah, it's you again. Any luck tracking down that mage Gervisse?~
    @151 = ~No, not yet. We'll go look for him right now.~
    @152 = ~We've talked to Gervisse, and he says that it was you who's been scaring the twins and that you intend to kidnap them. I think I'm getting rid of you now!~
    @153 = ~That's very foolish of you. Taste, then, the fury of Voltine!~


    Repaired BGT/Tutu Dec 26, 2006 NOTE TO PRO5: I am leaving your prefix and numbering on your fixes, and commenting. I can't pay cash, but I can bloody well make sure you get credit!

  • X#YEINT.D
     ADD_STATE_TRIGGER ~RIELTA~ 1 ~!InParty("yeslick") !Dead("yeslick")
    !StateCheck("yeslick",CD_STATE_NOTVALID)~
    ADD_STATE_TRIGGER ~RIELTA~ 2 ~!InParty("yeslick") !Dead("yeslick")
    !StateCheck("yeslick",CD_STATE_NOTVALID)~
    ADD_STATE_TRIGGER ~RIELTA~ 4 ~!InParty("yeslick") !Dead("yeslick")
    !StateCheck("yeslick",CD_STATE_NOTVALID)~
    ADD_STATE_TRIGGER ~RIELTA~ 5 ~!InParty("yeslick") !Dead("yeslick")
    !StateCheck("yeslick",CD_STATE_NOTVALID)~
    ADD_STATE_TRIGGER ~RIELTA~ 6 ~!InParty("yeslick") !Dead("yeslick")
    !StateCheck("yeslick",CD_STATE_NOTVALID)~
    ADD_STATE_TRIGGER ~RIELTA~ 7 ~!InParty("yeslick") !Dead("yeslick")
    !StateCheck("yeslick",CD_STATE_NOTVALID)~


    If Yeslick is not in party AND dead, Rieltar will end up having nothing to say at all, except:

    IF ~True()
    ~ THEN BEGIN 9 // from:
     SAY #86613 /* ~As I told you before, get out and stop bothering us!~ */
     IF ~~ THEN EXIT
    END


    even if it's the first time he talks to PC. Fix:

     ADD_STATE_TRIGGER ~RIELTA~ 1 ~!InParty("yeslick")~
    ADD_STATE_TRIGGER ~RIELTA~ 2 ~!InParty("yeslick")~
    ADD_STATE_TRIGGER ~RIELTA~ 4 ~!InParty("yeslick")~
    ADD_STATE_TRIGGER ~RIELTA~ 5 ~!InParty("yeslick")~
    ADD_STATE_TRIGGER ~RIELTA~ 6 ~!InParty("yeslick")~
    ADD_STATE_TRIGGER ~RIELTA~ 7 ~!InParty("yeslick")~


    Repaired BGT/Tutu Dec 18, 2006

  • X#XAINT.D
     I_C_T2 ~KEEPER~ 0 XANCANDLEKEEP
    == ~xanJ~ IF ~InParty("xan") !StateCheck("xan",CD_STATE_NOTVALID)~ THEN @69
    END


     @69   = ~Less civilized than the inhabitants of this Keep? 'Tis a madmen's place, for how can one be called sane when he engages in a folly of preserving what is doomed to perish?~


    This interjection doesn't make sense if made in response to BGT KEEPER dialog state 0:

    IF ~~ THEN BEGIN 0 // from:
     SAY #83797 /* ~I apologize, but I cannot allow you to leave.  Gorion wishes to see you as soon as possible.~ */
     IF ~~ THEN EXIT
    END


    But it makes good sense if we interject into state 4 instead:

     IF ~~ THEN BEGIN 4 // from: 1.1
     SAY #83803 /* ~You have met the requirements to gain entry to our most holy library. It is fine to see the child of Gorion once again within these hallowed grounds.  Please have your less civilized friends refrain from causing trouble.  We are very strict with the letter of the law, as you well know, <CHARNAME>.~ */
     IF ~~ THEN DO ~ClearAllActions()
    StartCutScene("Ch6cut01")~ EXIT
    END

    Cmorgan note: will correct as per Pro5; CONFIRMED error on Tutu
    Repaired BGT/Tutu Dec 26, 2006

  • X#MIINT.D
     CHAIN
    IF  WEIGHT #-2 ~!Global("endofbg1","GLOBAL",2)
    Global("X#MinscVitiare","GLOBAL",2)~ THEN ~minscJ~ X#MinscViatre1
    // ....
    CHAIN
    IF  WEIGHT #-2 ~!Global("endofbg1","GLOBAL",2)
    Global("X#MinscVitiare","GLOBAL",5)~ THEN ~minscJ~ X#MinscViatre1


    These 2 interjections share same name X#MinscViatre1 (although they're different). I'm not sure if it could cause anything we don't want (like first one being replaced completely), but it's best to avoid doing this. Locally, I renamed second one to X#MinscViatre2
    Repaired BGT/Tutu Dec 26, 2006

  • In same file:
     INTERJECT ~INGOT~ 2 MinscIngot


    Here Minsc reacts to Ingot's line where he expresses desire to eat Dynaheir. :) But that line is in dialog state 1, not state 2:

     IF ~~ THEN BEGIN 1
     SAY @18254  /* ~The forrtrrresss to the wesssst! I wisshed to rrrroasst the captive when the otherrrs would rather let herrr live within that cellarrr! Foolss! And now my brrrethrren make me an exile frrrom my own clan! Hearrr me, I ssshall tassste herrr flessh yet!!~  */
     IF ~~ THEN DO ~EscapeArea()~ UNSOLVED_JOURNAL @310380 EXIT
    END
    IF ~~ THEN BEGIN 2
     SAY @18255  /* ~Die then, wrrrretched pinklingsss!~ */
     IF ~~ THEN DO ~Enemy()~ EXIT
    END


    Repaired BGT/Tutu Dec 27, 2006

  • JENKAL is MALE (minsc's comment refers to "little lady"):
     I_C_T2 ~JENKAL~ 0 MinscJenkal
    == ~minscJ~ IF ~InParty("minsc") !Dead("minsc") !StateCheck("minsc",CD_STATE_NOTVALID)~ THEN @132
    = @49
    = @133
    END


     @132  = ~Poor little lady, she's as mad as Minsc was before Boo found him. Perhaps
    we should get her a hamster that would surely calm her...~
    @49   = ~*squeak* ~ [GAM_48]
    @133  = ~What's that, Boo? ... Yes, I think a chinchilla would do as well. It would match her eyes.~

    TRA change, reflected in both Tutu/BGT
    Repaired BGT/Tutu Dec 27, 2006

  • X#EDINT.D
     I_C_T2 NEMPHR 5 X#EdwinNemphra
    == ~EDWINJ~ IF ~InParty("edwin") !Dead("edwin") !StateCheck("edwin",CD_STATE_NOTVALID)~ THEN @21
    DO ~ReallyForceSpellRES("SPWI106","nemphre")~
    END


    @21   = ~I shall not leave without teaching you two lessons: firstly, do not hire a Red Wizard of Thay for a petty murder, and secondly - if you made the huge mistake of doing so, you should never call him a fool afterwards.~


    NEMPHR.DLG dialog state 5 is unused in BGT(cm:AND TUTU)

    IF WEIGHT #4 ~False()~ THEN BEGIN 5 // from:
     SAY #85414 /* ~You dare to attack the great Nemphre? You shall shrivel in the face of wrath.~ */
     IF ~~ THEN EXIT
    END


    But this interjection suits dialog state 3 perfectly:

     IF WEIGHT #2 ~PartyHasItem("BGAMUL13") Global("HelpNemphre","GLOBAL",1)~ THEN BEGIN 3
     SAY #85412 /* ~You are a sweet fool but a fool nonetheless. Here, take this scroll and go. I have no further need of you.~ */
     IF ~~ THEN DO ~SetGlobal("HelpNemphre","GLOBAL",2)
    TakePartyItem("BGAMUL13")
    GiveItem("SCRL1Q",LastTalkedToBy)
    AddexperienceParty(1000)
    EraseJournalEntry(77220)
    EraseJournalEntry(77221)~ SOLVED_JOURNAL #77759 EXIT
    END


    I think Edwin's line is a bit inconsistent in that the task doesn't actually require murder, I usually just pickpocket Arkion for the amulet. In my game I'm changing it to:

    @21   = ~I shall not leave without teaching you two lessons: firstly, do not hire a Red Wizard of Thay for such petty tasks, and secondly - if you made the huge mistake of doing so, you should never call him a fool afterwards.~


    X#EDINT

    I_C_T2 ARKION 0 X#EdwinArkion
    == ~EDWINJ~ IF ~InParty("edwin") !Dead("edwin") !StateCheck("edwin",CD_STATE_NOTVALID)~
    THEN @25
    END


    This interjection should be made into state 1, where Arkion assigns his quest. In state 0 he refuses to talk because of high reputation.

     IF WEIGHT #0 ~NumberOfTimesTalkedTo(0) ReputationGT(LastTalkedToBy(Myself),10)~ THEN BEGIN 0 // from:
     SAY #78457 /* ~Go away, I have no need of good folks like yerselves... Yer prob'ly Nemphre's dirty agents, anyhow. You tell her that I'm on to her, that Arkion has plans.~
     IF ~~ THEN DO ~SetNumTimesTalkedTo(0)~ EXIT
    END


     I_C_T2 SONNER 4 X#EdwinSonner
    == ~EDWINJ~ IF ~InParty("edwin") !Dead("edwin") !StateCheck("edwin",CD_STATE_NOTVALID)~
    THEN @67
    END
    I_C_T2 FARMBR 0 X#EdwinFarmerBrun1
    == ~EDWINJ~ IF ~Global("X#EdwinSonner","GLOBAL",1) InParty("edwin") !Dead("edwin") !StateCheck("edwin",CD_STATE_NOTVALID)~ THEN @68
    END


    I can't find any place where X#EdwinSonner is being set to 1. Since FARMBR interjection looks like it's supposed to follow SONNER interjection, I'm changing this locally to:

     I_C_T2 SONNER 4 X#EdwinSonner
    == ~EDWINJ~ IF ~InParty("edwin") !StateCheck("edwin",CD_STATE_NOTVALID)~ THEN @67
    DO ~SetGlobal("X#EdwinSonner","GLOBAL",1)~
    END
    I_C_T2 FARMBR 0 X#EdwinFarmerBrun1
    == ~EDWINJ~ IF ~Global("X#EdwinSonner","GLOBAL",1) InParty("edwin") 
    !StateCheck("edwin",CD_STATE_NOTVALID)~ THEN @68
    END


    Repaired BGT/Tutu Dec 27, 2006

  • correct in ALL BGT-side scripts and dialogs: chapter numbers in all chapter checks go up by 1; because Candlekeep is "Chapter 1" in BGT, not "Prologue". This problem has been reported for SCS-BGT and BG1NPC...
    Repaired BGT Dec 23, 2006
  • Recheck tp2 coding for patching: pro5 note: TP2 Couple places like this:
     ACTION_IF FILE_EXISTS ~data/BG1ARE.bif~ THEN BEGIN
    COPY_EXISTING ~X#LAKEP1.CRE~ ~override~
    COPY_EXISTING ~X#LAKEP2.CRE~ ~override~
    COPY_EXISTING ~X#LAKEP3.CRE~ ~override~
    PATCH_IF (SOURCE_SIZE > 0x2d3) BEGIN
      LAUNCH_PATCH_MACRO ~tutu_items_to_bgt~
    END
    END


    Only the last file here is patched, first 2 are just copied to override..
    Repaired BGT/Tutu Dec 09, 2006

  • BGT, but doublecheck Tutu: pro5 note: X#KIINT.D
     I_C_T2 ~SAREVO~ 17 X#KivanSarevokTazok3
    == KIVANJ IF ~InParty("kivan") !Dead("kivan") !StateCheck("kivan",CD_STATE_NOTVALID) Global("X#TazokDead","GLOBAL",1)~ THEN @0
    == BGTAZOK IF ~InParty("kivan") !Dead("kivan") !StateCheck("kivan",CD_STATE_NOTVALID) Global("X#TazokDead","GLOBAL",1)~ THEN @1
    == KIVANJ IF ~InParty("kivan") !Dead("kivan") !StateCheck("kivan",CD_STATE_NOTVALID) Global("X#TazokDead","GLOBAL",1)~ THEN @2
    END
    I_C_T2 ~SAREVO~ 17 X#KivanSarevokTazok10
    == KIVANJ IF ~InParty("kivan") !Dead("kivan") !StateCheck("kivan",CD_STATE_NOTVALID) Global("X#TazokDead","GLOBAL",0)~ THEN @3
    == BGTAZOK IF ~InParty("kivan") !Dead("kivan") !StateCheck("kivan",CD_STATE_NOTVALID) Global("X#TazokDead","GLOBAL",0)~ THEN @4
    == KIVANJ IF ~InParty("kivan") !Dead("kivan") !StateCheck("kivan",CD_STATE_NOTVALID) Global("X#TazokDead","GLOBAL",0)~ THEN @5
    END

    All other Tazok interjections are inserted into states where Sarevok is about to stop talking and start fighting. State 17 in BGT is different, in it player gets to reply to Sarevok's ramblings. Putting interjection here is not a good idea IMO. cmorgan - I agree!!!
    Repaired BGT only, confirmed correct on Tutu, fixed by REM of BGT State 17 Dec 30, 2006

  • X#SHINT.D
     I_C_T ~KIVAN~ 3 X#SharKivanJoin
    == ~SHARTJ~ IF ~InParty("sharteel") !StateCheck("sharteel",CD_STATE_NOTVALID)~ THEN @24
    == ~SHARTJ~ IF ~InParty("sharteel") !StateCheck("sharteel",CD_STATE_NOTVALID) Gender(Player1,FEMALE) OR(2) InParty("kivan") InParty("coran")~ THEN @25
    == ~KIVAN~ IF ~InParty("sharteel") !StateCheck("sharteel",CD_STATE_NOTVALID)~ THEN @26
    END


    The OR(2) InParty("kivan") InParty("coran") check doesn't seem logical, because Kivan cannot possibly be in party at this moment - we're interjecting into his joining dialog. You can replace Kivan with another elf - Xan, or remove OR(2) and leave just Coran.
    Repaired BGT/Tutu to "xan" Dec 30, 2006

  • X#GAINT.D
    I_C_T ~POE~ 15 X#GarPoe15
    == ~GARRIJ~ IF ~InParty("garrick") !Dead("garrick")
    !StateCheck("garrick",CD_STATE_NOTVALID)
    OR(2) !InParty("jaheira") Dead("jaheira")~ THEN @147
    == ~POE~ IF ~InParty("garrick") !Dead("garrick")
    !StateCheck("garrick",CD_STATE_NOTVALID)
    !InParty("jaheira") Dead("jaheira")~ THEN @148 END


    Looks like "OR(2)" is missing from last trigger - POE.DLG will only reply to Garrick if Jaheira is BOTH dead and not in party.
    Repaired BGT/Tutu Dec 09, 2006

  • X#IMINT.D
     I_C_T2 VITIAR 0 X#ImoenVitiar1
    == ~IMOEN2J~ IF ~InParty("IMOEN2") !StateCheck("IMOEN2",CD_STATE_NOTVALID) Class(Player1,THIEF_ALL) !InParty("minsc")~ THEN @176
    END
    I_C_T2 VITIAR 0 X#ImoenVitiar2
    == ~IMOEN2J~ IF ~InParty("IMOEN2") !StateCheck("IMOEN2",CD_STATE_NOTVALID) Class(Player1,THIEF_ALL) !InParty("minsc")~ THEN @177
    END


     @176  = ~Wait! What the... Come on, how many thieves are there in this party, and we still get robbed ... could keep it safer than me.~
    @177  = ~Wait! What the... I should have seen ... what to look for!~

    Looks like second interjection is missing ! in front of Class(Player1,THIEF_ALL).
    Repaired BGT/Tutu Dec 09, 2006

  • X#DYQUST.BAF All script blocks here missing GlobalLT("ENDOFBG1","GLOBAL",2) check.
    Repaired BGT/Tutu Dec 09, 2006
  • P#BRLT.D Many copy & paste errors in triggers in this file.Repaired BGT/Tutu Dec 09, 2006

Link to comment

OK, I'm tired of fighting the stupid BB Code - keep running into something that kills the last codebox. Continuing pro5-1 fixes already integrated here:

  • pro5's Repairs to BGT states
     /* YESLICK */
    REPLACE_STATE_TRIGGER BYESLI 9 ~InteractingWith("kagain") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(8,1) Global("X#BIOYE1","LOCALS",0)~
    REPLACE_STATE_TRIGGER BYESLI 10 ~InteractingWith("kagain") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(8,2) Global("X#BIOYE2","LOCALS",0)~
    REPLACE_STATE_TRIGGER BYESLI 12 ~InteractingWith("kagain") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(8,3) Global("X#BIOYE3","LOCALS",0)~
    REPLACE_STATE_TRIGGER BYESLI 17 ~InteractingWith("kagain") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(8,4) Global("X#BIOYE4","LOCALS",0)~
    REPLACE_STATE_TRIGGER BYESLI 18 ~InteractingWith("kagain") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(8,5) Global("X#BIOYE5","LOCALS",0)~
    REPLACE_STATE_TRIGGER BYESLI 19 ~InteractingWith("kagain") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(8,6) Global("X#BIOYE6","LOCALS",0)~
    REPLACE_STATE_TRIGGER BYESLI 20 ~InteractingWith("kagain") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(8,7) Global("X#BIOYE7","LOCALS",0)~
    REPLACE_STATE_TRIGGER BYESLI 13 ~InteractingWith("kagain") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(8,8) Global("X#BIOYE8","LOCALS",0)~
    
    ADD_TRANS_ACTION  BYESLI BEGIN 9 END BEGIN END ~SetGlobal("X#BIOYE1","LOCALS",1)~
    ADD_TRANS_ACTION  BYESLI BEGIN 10 END BEGIN END ~SetGlobal("X#BIOYE2","LOCALS",1)~
    ADD_TRANS_ACTION  BYESLI BEGIN 12 END BEGIN END ~SetGlobal("X#BIOYE3","LOCALS",1)~
    ADD_TRANS_ACTION  BYESLI BEGIN 17 END BEGIN END ~SetGlobal("X#BIOYE4","LOCALS",1)~
    ADD_TRANS_ACTION  BYESLI BEGIN 18 END BEGIN END ~SetGlobal("X#BIOYE5","LOCALS",1)~
    ADD_TRANS_ACTION  BYESLI BEGIN 19 END BEGIN END ~SetGlobal("X#BIOYE6","LOCALS",1)~
    ADD_TRANS_ACTION  BYESLI BEGIN 20 END BEGIN END ~SetGlobal("X#BIOYE7","LOCALS",1)~
    ADD_TRANS_ACTION  BYESLI BEGIN 13 END BEGIN END ~SetGlobal("X#BIOYE8","LOCALS",1)~
    
    /* XZAR */
    REPLACE_STATE_TRIGGER BXZAR 0 ~InteractingWith("montaron") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(3,1) Global("X#BIOXZ1","LOCALS",0)~
    REPLACE_STATE_TRIGGER BXZAR 1 ~InteractingWith("montaron") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(3,2) Global("X#BIOXZ2","LOCALS",0)~
    REPLACE_STATE_TRIGGER BXZAR 2 ~InteractingWith("montaron") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(3,3) Global("X#BIOXZ3","LOCALS",0)~
    
    ADD_TRANS_ACTION  BXZAR BEGIN 0 END BEGIN END ~SetGlobal("X#BIOXZ1","LOCALS",1)~
    ADD_TRANS_ACTION  BXZAR BEGIN 1 END BEGIN END ~SetGlobal("X#BIOXZ2","LOCALS",1)~
    ADD_TRANS_ACTION  BXZAR BEGIN 2 END BEGIN END ~SetGlobal("X#BIOXZ3","LOCALS",1)~
    
    /* XAN */
    REPLACE_STATE_TRIGGER BXANNN 0 ~InteractingWith("eldoth") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(3,1) Global("X#BIOXA1","LOCALS",0)~
    REPLACE_STATE_TRIGGER BXANNN 1 ~InteractingWith("eldoth") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(3,2) Global("X#BIOXA2","LOCALS",0)~
    REPLACE_STATE_TRIGGER BXANNN 2 ~InteractingWith("eldoth") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(3,3) Global("X#BIOXA3","LOCALS",0)~
    
    ADD_TRANS_ACTION  BXANNN BEGIN 0 END BEGIN END ~SetGlobal("X#BIOXA1","LOCALS",1)~
    ADD_TRANS_ACTION  BXANNN BEGIN 1 END BEGIN END ~SetGlobal("X#BIOXA2","LOCALS",1)~
    ADD_TRANS_ACTION  BXANNN BEGIN 2 END BEGIN END ~SetGlobal("X#BIOXA3","LOCALS",1)~
    
    /* VICONIA */
    REPLACE_STATE_TRIGGER BVICONI 575 ~InteractingWith("kivan") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,1) Global("X#BIOVI1","LOCALS",0)~
    REPLACE_STATE_TRIGGER BVICONI 583 ~InteractingWith("kivan") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,2) Global("X#BIOVI2","LOCALS",0)~
    REPLACE_STATE_TRIGGER BVICONI 584 ~InteractingWith("kivan") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,3) Global("X#BIOVI3","LOCALS",0)~
    REPLACE_STATE_TRIGGER BVICONI 585 ~InteractingWith("kivan") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,4) Global("X#BIOVI4","LOCALS",0)~
    
    ADD_TRANS_ACTION  BVICONI BEGIN 575 END BEGIN
    END
    ~SetGlobal("X#BIOVI1","LOCALS",1)~
    ADD_TRANS_ACTION  BVICONI BEGIN 583 END BEGIN
    END
    ~SetGlobal("X#BIOVI2","LOCALS",1)~
    ADD_TRANS_ACTION  BVICONI BEGIN 584 END BEGIN
    END
    ~SetGlobal("X#BIOVI3","LOCALS",1)~
    ADD_TRANS_ACTION  BVICONI BEGIN 585 END BEGIN
    END
    ~SetGlobal("X#BIOVI4","LOCALS",1)~
    
    /* TIAX */
    REPLACE_STATE_TRIGGER BTIAX 6 ~InteractingWith("quayle") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(7,1) Global("X#BIOTI1","LOCALS",0)~
    REPLACE_STATE_TRIGGER BTIAX 7 ~InteractingWith("quayle") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(7,2) Global("X#BIOTI2","LOCALS",0)~
    REPLACE_STATE_TRIGGER BTIAX 9 ~InteractingWith("quayle") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(7,3) Global("X#BIOTI3","LOCALS",0)~
    REPLACE_STATE_TRIGGER BTIAX 14 ~InteractingWith("quayle") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(7,4) Global("X#BIOTI4","LOCALS",0)~
    REPLACE_STATE_TRIGGER BTIAX 15 ~InteractingWith("quayle") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(7,5) Global("X#BIOTI5","LOCALS",0)~
    REPLACE_STATE_TRIGGER BTIAX 16 ~InteractingWith("quayle") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(7,6) Global("X#BIOTI6","LOCALS",0)~
    REPLACE_STATE_TRIGGER BTIAX 17 ~InteractingWith("quayle") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(7,7) Global("X#BIOTI7","LOCALS",0)~
    REPLACE_STATE_TRIGGER BTIAX 10 ~InteractingWith("branwen") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(3,1) Global("X#BIOTI8","LOCALS",0)~
    REPLACE_STATE_TRIGGER BTIAX 11 ~InteractingWith("branwen") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(3,2) Global("X#BIOTI9","LOCALS",0)~
    REPLACE_STATE_TRIGGER BTIAX 12 ~InteractingWith("branwen") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(3,3) Global("X#BIOTI10","LOCALS",0)~
    
    ADD_TRANS_ACTION  BTIAX BEGIN 6 END BEGIN
    END
    ~SetGlobal("X#BIOTI1","LOCALS",1)~
    ADD_TRANS_ACTION  BTIAX BEGIN 7 END BEGIN
    END
    ~SetGlobal("X#BIOTI2","LOCALS",1)~
    ADD_TRANS_ACTION  BTIAX BEGIN 9 END BEGIN
    END
    ~SetGlobal("X#BIOTI3","LOCALS",1)~
    ADD_TRANS_ACTION  BTIAX BEGIN 14 END BEGIN
    END
    ~SetGlobal("X#BIOTI4","LOCALS",1)~
    ADD_TRANS_ACTION  BTIAX BEGIN 15 END BEGIN
    END
    ~SetGlobal("X#BIOTI5","LOCALS",1)~
    ADD_TRANS_ACTION  BTIAX BEGIN 16 END BEGIN
    END
    ~SetGlobal("X#BIOTI6","LOCALS",1)~
    ADD_TRANS_ACTION  BTIAX BEGIN 17 END BEGIN
    END
    ~SetGlobal("X#BIOTI7","LOCALS",1)~
    ADD_TRANS_ACTION  BTIAX BEGIN 10 END BEGIN
    END
    ~SetGlobal("X#BIOTI8","LOCALS",1)~
    ADD_TRANS_ACTION  BTIAX BEGIN 11 END BEGIN
    END
    ~SetGlobal("X#BIOTI9","LOCALS",1)~
    ADD_TRANS_ACTION  BTIAX BEGIN 12 END BEGIN
    END
    ~SetGlobal("X#BIOTI10","LOCALS",1)~
    
    /* SKIE */
    REPLACE_STATE_TRIGGER BSKIE 0 ~InteractingWith("eldoth") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,1) Global("X#BIOSK1","LOCALS",0)~
    REPLACE_STATE_TRIGGER BSKIE 1 ~InteractingWith("eldoth") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,2) Global("X#BIOSK2","LOCALS",0)~
    REPLACE_STATE_TRIGGER BSKIE 9 ~InteractingWith("eldoth") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,3) Global("X#BIOSK3","LOCALS",0)~
    REPLACE_STATE_TRIGGER BSKIE 10 ~InteractingWith("eldoth") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,4) Global("X#BIOSK4","LOCALS",0)~
    
    ADD_TRANS_ACTION  BSKIE BEGIN 0 END BEGIN
    END
    ~SetGlobal("X#BIOSK1","LOCALS",1)~
    ADD_TRANS_ACTION  BSKIE BEGIN 1 END BEGIN
    END
    ~SetGlobal("X#BIOSK2","LOCALS",1)~
    ADD_TRANS_ACTION  BSKIE BEGIN 9 END BEGIN
    END
    ~SetGlobal("X#BIOSK3","LOCALS",1)~
    ADD_TRANS_ACTION  BSKIE BEGIN 10 END BEGIN
    END
    ~SetGlobal("X#BIOSK4","LOCALS",1)~
    
    /* SHAR-TEEL */
    REPLACE_STATE_TRIGGER BSHART 12 ~InteractingWith("eldoth") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,1) Global("X#BIOSH1","LOCALS",0)~
    REPLACE_STATE_TRIGGER BSHART 13 ~InteractingWith("eldoth") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,2) Global("X#BIOSH2","LOCALS",0)~
    REPLACE_STATE_TRIGGER BSHART 14 ~InteractingWith("eldoth") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,3) Global("X#BIOSH3","LOCALS",0)~
    REPLACE_STATE_TRIGGER BSHART 15 ~InteractingWith("eldoth") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,4) Global("X#BIOSH4","LOCALS",0)~
    
    ADD_TRANS_ACTION  BSHART BEGIN 12 END BEGIN
    END
    ~SetGlobal("X#BIOSH1","LOCALS",1)~
    ADD_TRANS_ACTION  BSHART BEGIN 13 END BEGIN
    END
    ~SetGlobal("X#BIOSH2","LOCALS",1)~
    ADD_TRANS_ACTION  BSHART BEGIN 14 END BEGIN
    END
    ~SetGlobal("X#BIOSH3","LOCALS",1)~
    ADD_TRANS_ACTION  BSHART BEGIN 15 END BEGIN
    END
    ~SetGlobal("X#BIOSH4","LOCALS",1)~
    
    /* SAFANA NONE */
    
    /* QUAYLE */
    REPLACE_STATE_TRIGGER BQUAYL 0 ~InteractingWith("tiax") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,1) Global("X#BIOQU1","LOCALS",0)~
    REPLACE_STATE_TRIGGER BQUAYL 5 ~InteractingWith("tiax") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,2) Global("X#BIOQU2","LOCALS",0)~
    REPLACE_STATE_TRIGGER BQUAYL 6 ~InteractingWith("tiax") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,3) Global("X#BIOQU3","LOCALS",0)~
    REPLACE_STATE_TRIGGER BQUAYL 7 ~InteractingWith("tiax") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,4) Global("X#BIOQU4","LOCALS",0)~
    
    ADD_TRANS_ACTION  BQUAYL BEGIN 0 END BEGIN
    END
    ~SetGlobal("X#BIOQU1","LOCALS",1)~
    ADD_TRANS_ACTION  BQUAYL BEGIN 5 END BEGIN
    END
    ~SetGlobal("X#BIOQU2","LOCALS",1)~
    ADD_TRANS_ACTION  BQUAYL BEGIN 6 END BEGIN
    END
    ~SetGlobal("X#BIOQU3","LOCALS",1)~
    ADD_TRANS_ACTION  BQUAYL BEGIN 7 END BEGIN
    END
    ~SetGlobal("X#BIOQU4","LOCALS",1)~
    
    /* MONTARON NONE */
    
    /* MINSC */
    REPLACE_STATE_TRIGGER BMINSC 106 ~InteractingWith("dynaheir") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(2,1) Global("X#BIOMI1","LOCALS",0)~
    REPLACE_STATE_TRIGGER BMINSC 107 ~InteractingWith("dynaheir") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(2,2) Global("X#BIOMI2","LOCALS",0)~
    
    ADD_TRANS_ACTION  BMINSC BEGIN 106 END BEGIN
    END
    ~SetGlobal("X#BIOMI1","LOCALS",1)~
    
    ADD_TRANS_ACTION  BMINSC BEGIN 107 END BEGIN
    END
    ~SetGlobal("X#BIOMI2","LOCALS",1)~
    
    /* KIVAN */
    REPLACE_STATE_TRIGGER BKIVAN 0 ~InteractingWith("viconia") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(5,1) Global("X#BIOKI1","LOCALS",0)~
    REPLACE_STATE_TRIGGER BKIVAN 1 ~InteractingWith("viconia") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(5,2) Global("X#BIOKI2","LOCALS",0)~
    REPLACE_STATE_TRIGGER BKIVAN 5 ~InteractingWith("viconia") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(5,3) Global("X#BIOKI3","LOCALS",0)~
    REPLACE_STATE_TRIGGER BKIVAN 6 ~InteractingWith("viconia") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(5,4) Global("X#BIOKI4","LOCALS",0)~
    REPLACE_STATE_TRIGGER BKIVAN 7 ~InteractingWith("viconia") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(5,5) Global("X#BIOKI5","LOCALS",0)~
    
    ADD_TRANS_ACTION  BKIVAN BEGIN 0 END BEGIN
    END
    ~SetGlobal("X#BIOKI1","LOCALS",1)~
    ADD_TRANS_ACTION  BKIVAN BEGIN 1 END BEGIN
    END
    ~SetGlobal("X#BIOKI2","LOCALS",1)~
    ADD_TRANS_ACTION  BKIVAN BEGIN 5 END BEGIN
    END
    ~SetGlobal("X#BIOKI3","LOCALS",1)~
    ADD_TRANS_ACTION  BKIVAN BEGIN 6 END BEGIN
    END
    ~SetGlobal("X#BIOKI4","LOCALS",1)~
    ADD_TRANS_ACTION  BKIVAN BEGIN 7 END BEGIN
    END
    ~SetGlobal("X#BIOKI5","LOCALS",1)~
    
    /* KHALID */
    ADD_TRANS_TRIGGER BKHALI 3 ~Global("X#BIOKH1","LOCALS",0)~
    ADD_TRANS_TRIGGER BKHALI 8 ~Global("X#BIOKH2","LOCALS",0)~
    
    REPLACE_STATE_TRIGGER BKHALI 9 ~InteractingWith("xzar") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(2,2) Global("X#BIOKH3","LOCALS",0)~
    REPLACE_STATE_TRIGGER BKHALI 10 ~InteractingWith("montaron") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(2,2) Global("X#BIOKH4","LOCALS",0)~
    
    ADD_TRANS_ACTION  BKHALI BEGIN 3 END BEGIN
    END
    ~SetGlobal("X#BIOKH1","LOCALS",1)~
    ADD_TRANS_ACTION  BKHALI BEGIN 8 END BEGIN
    END
    ~SetGlobal("X#BIOKH2","LOCALS",1)~
    ADD_TRANS_ACTION  BKHALI BEGIN 9 END BEGIN
    END
    ~SetGlobal("X#BIOKH3","LOCALS",1)~
    ADD_TRANS_ACTION  BKHALI BEGIN 10 END BEGIN
    END
    ~SetGlobal("X#BIOKH4","LOCALS",1)~
    
    /* KAGAIN- NONE */
    
    /* JAHEIRA */
    ADD_TRANS_TRIGGER BJAHEIR  461 ~Global("X#BIOJA1","LOCALS",0)~
    ADD_TRANS_TRIGGER BJAHEIR  464 ~Global("X#BIOJA2","LOCALS",0)~
    ADD_TRANS_TRIGGER BJAHEIR  467 ~Global("X#BIOJA4","LOCALS",0)~
    ADD_TRANS_TRIGGER BJAHEIR  468 ~Global("X#BIOJA5","LOCALS",0)~
    
    REPLACE_STATE_TRIGGER BJAHEIR 466 ~InteractingWith("khalid") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(3,2) Global("X#BIOJA3","LOCALS",0)~
    REPLACE_STATE_TRIGGER BJAHEIR 469 ~InteractingWith("khalid") GlobalLT("ENDOFBG1","GLOBAL",2)
    Global("X#BIOJA6","LOCALS",0)~
    
    ADD_TRANS_ACTION  BJAHEIR BEGIN 461 END BEGIN
    END
    ~SetGlobal("X#BIOJA1","LOCALS",1)~
    ADD_TRANS_ACTION  BJAHEIR BEGIN 464 END BEGIN
    END
    ~SetGlobal("X#BIOJA2","LOCALS",1)~
    ADD_TRANS_ACTION  BJAHEIR BEGIN 466 END BEGIN
    END
    ~SetGlobal("X#BIOJA3","LOCALS",1)~
    ADD_TRANS_ACTION  BJAHEIR BEGIN 467 END BEGIN
    END
    ~SetGlobal("X#BIOJA4","LOCALS",1)~
    ADD_TRANS_ACTION  BJAHEIR BEGIN 468 END BEGIN
    END
    ~SetGlobal("X#BIOJA5","LOCALS",1)~
    ADD_TRANS_ACTION  BJAHEIR BEGIN 469 END BEGIN
    END
    ~SetGlobal("X#BIOJA6","LOCALS",1)~
    
    /* GARRICK */
    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_TRANS_ACTION  BGARRI BEGIN 0 END BEGIN
    END
    ~SetGlobal("X#BIOGA1","LOCALS",1)~
    ADD_TRANS_ACTION  BGARRI BEGIN 1 END BEGIN
    END
    ~SetGlobal("X#BIOGA2","LOCALS",1)~
    ADD_TRANS_ACTION  BGARRI BEGIN 4 END BEGIN
    END
    ~SetGlobal("X#BIOGA3","LOCALS",1)~
    ADD_TRANS_ACTION  BGARRI BEGIN 5 END BEGIN
    END
    ~SetGlobal("X#BIOGA4","LOCALS",1)~
    ADD_TRANS_ACTION  BGARRI BEGIN 6 END BEGIN
    END
    ~SetGlobal("X#BIOGA5","LOCALS",1)~
    ADD_TRANS_ACTION  BGARRI BEGIN 7 END BEGIN
    END
    ~SetGlobal("X#BIOGA6","LOCALS",1)~
    
    /* FALDORN */
    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_TRANS_ACTION  BFALDO BEGIN 0 END BEGIN
    END
    ~SetGlobal("X#BIOFA1","LOCALS",1)~
    ADD_TRANS_ACTION  BFALDO BEGIN 1 END BEGIN
    END
    ~SetGlobal("X#BIOFA2","LOCALS",1)~
    ADD_TRANS_ACTION  BFALDO BEGIN 2 END BEGIN
    END
    ~SetGlobal("X#BIOFA3","LOCALS",1)~
    ADD_TRANS_ACTION  BFALDO BEGIN 3 END BEGIN
    END
    ~SetGlobal("X#BIOFA4","LOCALS",1)~
    
    /* ELDOTH */
    REPLACE_STATE_TRIGGER BELDOT 17 ~InteractingWith("sharteel") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,1) Global("X#BIOEL1","LOCALS",0)
    ~
    REPLACE_STATE_TRIGGER BELDOT 18 ~InteractingWith("sharteel") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,2) Global("X#BIOEL2","LOCALS",0)
    ~
    REPLACE_STATE_TRIGGER BELDOT 19 ~InteractingWith("sharteel") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,3) Global("X#BIOEL3","LOCALS",0)
    ~
    REPLACE_STATE_TRIGGER BELDOT 20 ~InteractingWith("sharteel") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(4,4) Global("X#BIOEL4","LOCALS",0)
    ~
    REPLACE_STATE_TRIGGER BELDOT 21 ~InteractingWith("xan") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(2,1) Global("X#BIOEL5","LOCALS",0)
    ~
    REPLACE_STATE_TRIGGER BELDOT 22 ~InteractingWith("xan") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(2,2) Global("X#BIOEL6","LOCALS",0)
    ~
    
    ADD_TRANS_ACTION  BELDOT BEGIN 17 END BEGIN
    END
    ~SetGlobal("X#BIOEL1","LOCALS",1)~
    ADD_TRANS_ACTION  BELDOT BEGIN 18 END BEGIN
    END
    ~SetGlobal("X#BIOEL2","LOCALS",1)~
    ADD_TRANS_ACTION  BELDOT BEGIN 19 END BEGIN
    END
    ~SetGlobal("X#BIOEL3","LOCALS",1)~
    ADD_TRANS_ACTION  BELDOT BEGIN 20 END BEGIN
    END
    ~SetGlobal("X#BIOEL4","LOCALS",1)~
    ADD_TRANS_ACTION  BELDOT BEGIN 21 END BEGIN
    END
    ~SetGlobal("X#BIOEL5","LOCALS",1)~
    ADD_TRANS_ACTION  BELDOT BEGIN 22 END BEGIN
    END
    ~SetGlobal("X#BIOEL6","LOCALS",1)~
    
    /* EDWIN */
    ADD_TRANS_TRIGGER BEDWIN  109 ~Global("X#BIOED1","LOCALS",0)~
    ADD_TRANS_TRIGGER BEDWIN  120 ~Global("X#BIOED2","LOCALS",0)~
    
    ADD_TRANS_ACTION  BEDWIN BEGIN 109 END BEGIN
    END
    ~SetGlobal("X#BIOED1","LOCALS",1)~
    ADD_TRANS_ACTION  BEDWIN BEGIN 120 END BEGIN
    END
    ~SetGlobal("X#BIOED2","LOCALS",1)~
    
    /* DYNAHEIR */
    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_TRANS_ACTION  BDYNA BEGIN 0 END BEGIN
    END
    ~SetGlobal("X#BIODY1","LOCALS",1)~
    ADD_TRANS_ACTION  BDYNA BEGIN 5 END BEGIN
    END
    ~SetGlobal("X#BIODY2","LOCALS",1)~
    ADD_TRANS_ACTION  BDYNA BEGIN 6 END BEGIN
    END
    ~SetGlobal("X#BIODY3","LOCALS",1)~
    ADD_TRANS_ACTION  BDYNA BEGIN 7 END BEGIN
    END
    ~SetGlobal("X#BIODY4","LOCALS",1)~
    ADD_TRANS_ACTION  BDYNA BEGIN 12 END BEGIN
    END
    ~SetGlobal("X#BIODY5","LOCALS",1)~
    ADD_TRANS_ACTION  BDYNA BEGIN 15 END BEGIN
    END
    ~SetGlobal("X#BIODY6","LOCALS",1)~
    ADD_TRANS_ACTION  BDYNA BEGIN 16 END BEGIN
    END
    ~SetGlobal("X#BIODY7","LOCALS",1)~
    
    /* CORAN */
    REPLACE_STATE_TRIGGER BCORAN 0 ~InteractingWith("safana") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(9,1) Global("X#BIOCO1","LOCALS",0)~
    
    REPLACE_STATE_TRIGGER BCORAN 1 ~InteractingWith("safana") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(9,2) Global("X#BIOCO2","LOCALS",0)~
    
    REPLACE_STATE_TRIGGER BCORAN 2 ~InteractingWith("safana") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(9,3) Global("X#BIOCO3","LOCALS",0)~
    
    REPLACE_STATE_TRIGGER BCORAN 3 ~InteractingWith("safana") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(9,4) Global("X#BIOCO4","LOCALS",0)~
    
    REPLACE_STATE_TRIGGER BCORAN 4 ~InteractingWith("safana") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(9,5) Global("X#BIOCO5","LOCALS",0)~
    
    REPLACE_STATE_TRIGGER BCORAN 5 ~InteractingWith("safana") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(9,6) Global("X#BIOCO6","LOCALS",0)~
    
    REPLACE_STATE_TRIGGER BCORAN 6 ~InteractingWith("safana") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(9,7) Global("X#BIOCO7","LOCALS",0)~
    
    REPLACE_STATE_TRIGGER BCORAN 7 ~InteractingWith("safana") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(9,8) Global("X#BIOCO8","LOCALS",0)~
    
    REPLACE_STATE_TRIGGER BCORAN 8 ~InteractingWith("safana") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(9,9) Global("X#BIOCO9","LOCALS",0)~
    
    ADD_TRANS_ACTION  BCORAN BEGIN 0 END BEGIN
    END
    ~SetGlobal("X#BIOCO1","LOCALS",1)~
    ADD_TRANS_ACTION  BCORAN BEGIN 1 END BEGIN
    END
    ~SetGlobal("X#BIOCO2","LOCALS",1)~
    ADD_TRANS_ACTION  BCORAN BEGIN 2 END BEGIN
    END
    ~SetGlobal("X#BIOCO3","LOCALS",1)~
    ADD_TRANS_ACTION  BCORAN BEGIN 3 END BEGIN
    END
    ~SetGlobal("X#BIOCO4","LOCALS",1)~
    ADD_TRANS_ACTION  BCORAN BEGIN 4 END BEGIN
    END
    ~SetGlobal("X#BIOCO5","LOCALS",1)~
    ADD_TRANS_ACTION  BCORAN BEGIN 5 END BEGIN
    END
    ~SetGlobal("X#BIOCO6","LOCALS",1)~
    ADD_TRANS_ACTION  BCORAN BEGIN 6 END BEGIN
    END
    ~SetGlobal("X#BIOCO7","LOCALS",1)~
    ADD_TRANS_ACTION  BCORAN BEGIN 7 END BEGIN
    END
    ~SetGlobal("X#BIOCO8","LOCALS",1)~
    ADD_TRANS_ACTION  BCORAN BEGIN 8 END BEGIN
    END
    ~SetGlobal("X#BIOCO9","LOCALS",1)~
    
    /* BRANWEN */
    REPLACE_STATE_TRIGGER BBRANW 2 ~InteractingWith("tiax") GlobalLT("ENDOFBG1","GLOBAL",2)
    RandomNum(2,1) Global("X#BIOBR3","LOCALS",0)~
    
    ADD_TRANS_TRIGGER BBRANW  0 ~Global("X#BIOBR1","LOCALS",0)~
    ADD_TRANS_TRIGGER BBRANW  1 ~Global("X#BIOBR2","LOCALS",0)~
    
    ADD_TRANS_ACTION  BBRANW BEGIN 0 END BEGIN
    END
    ~SetGlobal("X#BIOBR1","LOCALS",1)~
    ADD_TRANS_ACTION  BBRANW BEGIN 1 END BEGIN
    END
    ~SetGlobal("X#BIOBR2","LOCALS",1)~
    ADD_TRANS_ACTION  BBRANW BEGIN 2 END BEGIN
    END
    ~SetGlobal("X#BIOBR3","LOCALS",1)~
    
    /* AJANTIS */
    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_TRANS_ACTION  BAJANT BEGIN 0 END BEGIN
    END
    ~SetGlobal("X#BIOAJ1","LOCALS",1)~
    ADD_TRANS_ACTION  BAJANT BEGIN 1 END BEGIN
    END
    ~SetGlobal("X#BIOAJ2","LOCALS",1)~
    ADD_TRANS_ACTION  BAJANT BEGIN 2 END BEGIN
    END
    ~SetGlobal("X#BIOAJ3","LOCALS",1)~
    ADD_TRANS_ACTION  BAJANT BEGIN 3 END BEGIN
    END
    ~SetGlobal("X#BIOAJ4","LOCALS",1)~
    ADD_TRANS_ACTION  BAJANT BEGIN 4 END BEGIN
    END
    ~SetGlobal("X#BIOAJ5","LOCALS",1)~
    /* ALORA */
    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_TRANS_ACTION  BALORA BEGIN 0 END BEGIN END ~SetGlobal("X#BIOAL1","LOCALS",1)~
    ADD_TRANS_ACTION  BALORA BEGIN 1 END BEGIN END ~SetGlobal("X#BIOAL2","LOCALS",1)~
    ADD_TRANS_ACTION  BALORA BEGIN 3 END BEGIN END ~SetGlobal("X#BIOAL3","LOCALS",1)~
    ADD_TRANS_ACTION  BALORA BEGIN 4 END BEGIN END ~SetGlobal("X#BIOAL4","LOCALS",1)~
    


    Removing "unhappiness" P-file entries from BGT side: Striking code from \BGT\DLG\BGREPLACE.D
    lines 463 - 469 in the tp2 now read

    END ELSE BEGIN  /* BGT Versions */
    /* Cleaning J files from junk states */
    COMPILE ~BG1NPC/BGT/DLG/X#JFIX.D~
    /* Changing DPLAYER2.BCS to stop BreakingPoint SDNS from hanging */
    /* unnessesary in BGT */ 
    


    Repaired BGT/Tutu Dec 09, 2006

  • X#KIVAN.D
    REPLACE ~BVICONI~
    IF ~~ THEN BEGIN 0 // ---> 575
    SAY @0
    IF ~~ THEN EXIT
    END
    END
    
    REPLACE ~BVICONI~
    IF ~~ THEN BEGIN 8 // ---> 583
    SAY @1
    IF ~~ THEN EXIT
    END
    END
    
    REPLACE ~BVICONI~
    IF ~~ THEN BEGIN 9 // ---> 584
    SAY @2
    IF ~~ THEN EXIT
    END
    END
    
    REPLACE ~BVICONI~
    IF ~~ THEN BEGIN 10 // ---> 585
    SAY @3
    IF ~~ THEN EXIT
    END
    END
    


    X#KIINT.D

    I_C_T2 ~EDWIN~ 0 KivanEdwin1	// 0 ---> 74
    == ~KIVANJ~ IF ~InParty("kivan") !Dead("kivan") !StateCheck("kivan",CD_STATE_NOTVALID)~ THEN @80
    END
    
    I_C_T2 ~EDWIN~ 1 KivanEdwin2	// 1 ---> 75
    == ~KIVANJ~ IF ~InParty("kivan") !Dead("kivan") !StateCheck("kivan",CD_STATE_NOTVALID)~ THEN @80
    END

    X#AJINT.D

    //Edwin
    I_C_T2 ~EDWIN~ 8 X#AjantisEdwin	// 8 --> 82
    == AJANTJ IF ~InParty("ajantis") !Dead("ajantis") !StateCheck("ajantis",CD_STATE_NOTVALID)~ THEN @56 
    END

    X#SHINT.D

    /* Edwin */
    I_C_T2 ~EDWIN~ 8 X#SharEdwinJoin	// 8 ---> 82
    ==~SHARTJ~IF~InParty("sharteel") !Dead("sharteel") !StateCheck("sharteel",CD_STATE_NOTVALID)~ THEN @16
    END


    X#MIINT.D ( headers only, to save space )

    I_C_T2 ~EDWIN~ 0 MinscEdwinDyna2	// 0 ---> 74
    I_C_T2 ~EDWIN~ 1 MinscEdwinDyna2a	// 1 ---> 75
    I_C_T2 ~EDWIN~ 2 MinscEdwinDyna2b	// 2 ---> 76
    I_C_T2 ~EDWIN~ 7 MinscEdwinDyna3	// 7 ---> 81
    I_C_T2 ~EDWIN~ 6 MinscEdwinDyna4	// 6 ---> 80
    I_C_T2 ~EDWIN~ 5 MinscEdwinDyna5	// 5 ---> 79
    I_C_T2 ~EDWIN~ 8 MinscEdwinDyna6	// 8 ---> 82
    I_C_T2 ~EDWINJ~ 6 MinscEdwinDyna1	// 6 --> 193


    X#EDINT.D

    EXTEND_BOTTOM ~EDWIN~ 3		// --> 77
    IF ~~ THEN REPLY @0 + X#EdwinJoinsAlone
    END
    
    EXTEND_BOTTOM ~EDWIN~ 4		// --> 78
    IF ~~ THEN REPLY @0 + X#EdwinJoinsAlone
    END
    
    EXTEND_BOTTOM ~EDWINJ~ 12	// --> 199
    IF ~InParty("edwin") !Dead("edwin") !StateCheck("edwin",CD_STATE_NOTVALID)~ THEN DO ~SetGlobal("EdwinAbandoned","GLOBAL",1)
    SetGlobal("KickedOut","LOCALS",2) SetDialogue("EDWIN") LeaveParty()~ EXIT
    END


    X#GAINT.D

     I_C_T2 ~EDWIN~ 0 X#GarEdJ1		// ---> 74
    == ~GARRIJ~ IF ~InParty("garrick")
    !Dead("garrick")
    !StateCheck("garrick",CD_STATE_NOTVALID)~ THEN @70 END
    
    I_C_T2 ~EDWIN~ 1 X#GarEdJ2		// ---> 75
    == ~GARRIJ~ IF ~InParty("garrick")
    !Dead("garrick")
    !StateCheck("garrick",CD_STATE_NOTVALID)~ THEN @71 END
    
    I_C_T2 ~EDWIN~ 2 X#GarEdJ3		// ---> 76
    == ~GARRIJ~ IF ~InParty("garrick")
    !Dead("garrick")


    X#IMINT.D

    I_C_T ~EDWIN~ 8 X#EdwinImoenJoin	// 8 ---> 82
    == ~IMOEN2J~ IF ~InParty("IMOEN2") !Dead("IMOEN2") !StateCheck("IMOEN2",CD_STATE_NOTVALID)~ THEN @93
    == ~EDWIN~ IF ~InParty("IMOEN2") !Dead("IMOEN2") !StateCheck("IMOEN2",CD_STATE_NOTVALID)~ THEN @94
    END


    Repaired BGT, January 4, 2007

Link to comment

Completed repairs:

It's taking longer to log the changes than it is to fix stuff.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...