Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Faldorn - Izefias quest reward #26

Closed
ghost opened this issue Mar 21, 2017 · 0 comments
Closed

Faldorn - Izefias quest reward #26

ghost opened this issue Mar 21, 2017 · 0 comments

Comments

@ghost
Copy link

ghost commented Mar 21, 2017

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
ghost pushed a commit that referenced this issue Mar 25, 2017
Unmodded, IZEFIA.DLG only has 6 states (last state number = 5). There's
one ICT interjection in X#JAINT.d (processed first) and another in
X#FAINT.d. I assume you're referring to the interjection added by
X#FAINT.d, since it interjects on State 1, which has the EscapeArea().

So, instead of the ALTER_TRANS, I rewrote the ICT as an INTERJECT to
avoid copying the EscapeArea() command.
@ghost ghost closed this as completed Mar 25, 2017
ghost pushed a commit that referenced this issue Jan 2, 2019
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants