Reported by Jastey: http://gibberlings3.net/forums/index.php?showtopic=27360&p=252497
Faldorn has an interjection with Izefias, a dark druid in Cloakwood (?). He tells her to take care of the wyvern trainer in one of the caves. BG1NPC introduces some quest reward if the PC returns to him with Faldorn in the party after killing the wyvern trainer. Problem is, that the quest reward can't be collected because Izefia does an EscapeArea() after the first meeting that is in his original dialogue (state 7).
To fix this, I propose the following changes:
changes to x#faint.d:
Remove the EscapeArea() to make Izefia remain. One possibility would be to use ALTER_TRANS:
ALTER_TRANS %tutu_var%IZEFIA // file name
BEGIN 7 END // state number (can be more than one)
BEGIN 0 END // transition number (can be more than one)
BEGIN // list of changes, see below for flags
"ACTION" ~~
END
If this is too destructive, the variable from the I_C_T "X#FALDORNIZEFIA1" could be used to re-spawn Izefia ("X#FALDORNIZEFIA1" is so far unused).
Furthermore, I propose the following changes to x#faint.d to smooth the Izefia encounter a bit:
Currently, the party has to answer "not yet" if Faldorn is not in the group, even if the wyvern trainer is defeated. I suggest to change this:
/* Faldorn Izefia Quest Done BUT Faldorn Not OK/In Party */
CHAIN IF WEIGHT #-1 ~%BGT_VAR% Global("X#ReportIzefia","GLOBAL",1) Dead("peter") OR(3) !InParty("faldorn") !InMyArea("faldorn") StateCheck("faldorn",CD_STATE_NOTVALID)~
THEN ~%tutu_var%IZEFIA~ X#IzeFaldoNotYet1
@58 /* ~How did it go?~ */
END
++ @151 EXIT /* ~No, not yet. We'll go look for him right now.~ */
to this:
/* Faldorn Izefia Quest Done BUT Faldorn Not OK/In Party */
CHAIN IF WEIGHT #-1 ~%BGT_VAR% Global("X#ReportIzefia","GLOBAL",1) Dead("peter") OR(3) !InParty("faldorn") !InMyArea("faldorn") StateCheck("faldorn",CD_STATE_NOTVALID)~
THEN ~%tutu_var%IZEFIA~ X#IzeFaldoNotYet1
@175 /* ~Be strong! Go with the Nature's blessings.~ */
EXIT
After finishing/collecting the quest reward, Izefia could do EscapeArea() as originally intended.
I suggest adding it here:
/* Faldorn Izefia Quest Done */
CHAIN IF WEIGHT #-1 ~%BGT_VAR% Global("X#ReportIzefia","GLOBAL",1) Dead("peter") InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~
THEN ~%tutu_var%IZEFIA~ X#IzeFaldo2
@58
== ~%FALDORN_JOINED%~ @59
== ~%tutu_var%IZEFIA~ @60
== ~%FALDORN_JOINED%~ @61
== ~%tutu_var%IZEFIA~ @62
DO ~SetGlobal("X#ReportIzefia","GLOBAL",2) AddXPObject("faldorn",100) GiveItemCreate("%tutu_var%POTN08","faldorn",1,0,0) GiveItemCreate("%tutu_var%POTN20","faldorn",1,0,0)
ActionOverride("Izefia",EscapeArea())~
EXIT
This would need the following tp2 changes to give the izefia.cre a DV:
COPY_EXISTING ~%tutu_var%IZEFIA.cre~ ~override/%tutu_var%IZEFIA.cre~ EVALUATE_BUFFER
WRITE_ASCII 0x280 ~IZEFIA~ #32 // set DV for Faldorn wyvern interjection