Gibberlings3/BG1NPC

Jaheira / Seniyad: Slight discepancy in patched triggers

AstroBryGuy opened this issue · 0 comments

http://gibberlings3.net/forums/index.php?showtopic=28948&p=255852

From Jastey

I think the ~OR(2) !InParty("jaheira") Dead("jaheira")~ should be altered into ~OR(3) !InParty("jaheira") Dead("jaheira") StateCheck("jaheira",CD_STATE_NOTVALID)~, to make this consistent. Theoretically, as it is now, the dialogue could break if Jaheira is unable to talk.
 
(x#jaqu.d)

ADD_TRANS_TRIGGER ~%tutu_var%SENIYA~ 1 ~OR(2) !InParty("jaheira") Dead("jaheira")~
ADD_TRANS_TRIGGER ~%tutu_var%SENIYA~ 2 ~OR(2) !InParty("jaheira") Dead("jaheira")~
ADD_TRANS_TRIGGER ~%tutu_var%SENIYA~ 6 ~OR(2) !InParty("jaheira") Dead("jaheira")~

EXTEND_BOTTOM ~%tutu_var%SENIYA~ 1
IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) !Dead("aldeth")~ THEN DO ~SetGlobal("X#JaheiraQuest","GLOBAL",1) EndCutSceneMode()~ EXTERN ~%JAHEIRA_JOINED%~ JaheiraMakePeace
END

EXTEND_BOTTOM ~%tutu_var%SENIYA~ 2
IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) Dead("aldeth")~ THEN DO ~SetGlobal("X#JaheiraQuest","GLOBAL",1)~ EXTERN ~%JAHEIRA_JOINED%~ JaheiraAldethDead
END

EXTEND_BOTTOM ~%tutu_var%SENIYA~ 6
IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) Dead("aldeth")~ THEN DO ~SetGlobal("X#JaheiraQuest","GLOBAL",1)~ EXTERN ~%JAHEIRA_JOINED%~ JaheiraAldethDead
END

(actually, the ADD_TRANS_TRIGGER could be removed without consequences. Transitions to other dialogue files are always executed first, regardless of other reply options of that dialogue state. In this case, it's only other transitions, so the lowest one (i.e. from bg1npc) will be executed anyhow.)