Bearwere Posted May 29, 2008 Share Posted May 29, 2008 Jaheira takes scroll of stone to flesh from Zeke force. I believe it's introduced by BG1NPC, yes? When Branwen is unpetrified and I speak to him again, he still offers to buy the scroll, although he doen't have it anymore. Link to comment
Miloch Posted May 29, 2008 Share Posted May 29, 2008 He has the scroll in the unmodded game; the extra dialogue is probably BG1 NPC's. I'm assuming you mean he still offers to sell the scroll. Link to comment
cmorgan Posted May 29, 2008 Share Posted May 29, 2008 If Branwen is in the party (and you are using v16) then she should comment on the fact. I will take a look at the worklogs, but I am pretty sure berelinde did what we can do on this without destroying the state for other folks' use. Logging it for reinvestigation - thank you! Link to comment
Bearwere Posted May 29, 2008 Author Share Posted May 29, 2008 I'm assuming you mean he still offers to sell the scroll. oh crap, yes of course If Branwen is in the party (and you are using v16) then she should comment on the fact. I will take a look at the worklogs, but I am pretty sure berelinde did what we can do on this without destroying the state for other folks' use. Logging it for reinvestigation - thank you! no, she isn't. Link to comment
cmorgan Posted August 21, 2008 Share Posted August 21, 2008 Logged for confirmation playtest commencing Monday, Aug 25. Link to comment
cmorgan Posted November 27, 2008 Share Posted November 27, 2008 // creator : DLTCEP_enhanced_WeiDU (version 20800) // argument : _ZEKE.DLG // game : . // source : ./override/_ZEKE.DLG // dialog : ./DIALOG.TLK // dialogF : (none) BEGIN ~_ZEKE~ ////////////////////////////////////////////////// // WARNING: this file contains non-trivial WEIGHTs ////////////////////////////////////////////////// IF WEIGHT #1 /* Triggers after states #: 4 even though they appear after this state */ ~True() ~ THEN BEGIN 0 // from: SAY #77080 /* ~Come one, come all! Take a look at the stone warrior maiden. How long has she been trapped in this petrified form, no one knows! Be the first to learn, for the mere price of 500 gold. For that small amount of money, I shall give you a magic scroll, and with this scroll you can release the maiden from her stone prison. Think of the gratitude she would feel to her saviors. Perhaps she's a princess from some far off land, or maybe a powerful sorceress in search of a concubine. You can't afford not to know! Buy the scroll!~ */ IF ~~ THEN REPLY #77081 /* ~Sorry, we're not interested.~ */ GOTO 1 IF ~PartyGoldGT(499) ~ THEN REPLY #77082 /* ~Sure, give us the scroll.~ */ GOTO 2 IF ~~ THEN REPLY #77083 /* ~We don't have the money right now.~ */ GOTO 3 IF ~!InParty("branwen") !StateCheck("branwen",CD_STATE_NOTVALID) ~ THEN REPLY #101526 /* ~You're too late. She is stone no longer.~ */ GOTO 5 IF ~Global("X#JaheiraZeke","GLOBAL",0) StateCheck("branwen",CD_STATE_NOTVALID) InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#JaheiraZeke","GLOBAL",1)~ EXTERN ~_JAHEIJ~ 124 IF ~Global("X#ZEKE0","GLOBAL",0) InParty("viconia") InMyArea("viconia") !StateCheck("viconia",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#ZEKE0","GLOBAL",1)~ GOTO 10 IF ~Global("X#ZEKE0","GLOBAL",0) InParty("viconia") InMyArea("viconia") !StateCheck("viconia",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#ZEKE0","GLOBAL",1)~ EXTERN ~_VICONJ~ 257 IF ~Global("X#ZEKE0","GLOBAL",0) InParty("garrick") InMyArea("garrick") !StateCheck("garrick",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#ZEKE0","GLOBAL",1)~ GOTO 12 IF ~Global("X#ZEKE0","GLOBAL",0) InParty("garrick") InMyArea("garrick") !StateCheck("garrick",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#ZEKE0","GLOBAL",1)~ EXTERN ~_GARRIJ~ 267 END IF ~~ THEN BEGIN 1 // from: 15.0 14.0 13.0 12.0 11.0 10.0 0.0 SAY #77084 /* ~Your loss.~ */ IF ~~ THEN EXIT END IF ~~ THEN BEGIN 2 // from: 15.1 14.1 13.1 12.1 11.1 10.1 0.1 SAY #77085 /* ~You won't regret this! Here's the scroll, and I wish you well. Bye now.~ */ IF ~~ THEN DO ~GiveItem("_SCRLPET",LastTalkedToBy) TakePartyGold(500) EscapeArea() ~ EXIT END IF ~~ THEN BEGIN 3 // from: 15.2 14.2 13.2 12.2 11.2 10.2 0.2 SAY #77086 /* ~Well, if you ever get the money, I'll be here waiting.~ */ IF ~~ THEN EXIT END IF WEIGHT #0 ~InParty("branwen") ~ THEN BEGIN 4 // from: SAY #77087 /* ~The statue has come to life!!~ */ IF ~~ THEN DO ~EscapeArea() ~ EXIT IF ~Global("X#BranwenAlive","GLOBAL",0) InParty("branwen") InMyArea("branwen") !StateCheck("branwen",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#BranwenAlive","GLOBAL",1)~ EXTERN ~_BRANWJ~ 33 END IF ~~ THEN BEGIN 5 // from: 15.3 14.3 13.3 12.3 11.3 10.3 0.3 SAY #101527 /* ~The statue has come to life?! Gotta go!~ */ IF ~~ THEN DO ~EscapeArea() ~ EXIT END IF ~~ THEN BEGIN 6 // from: SAY #101529 /* ~Er... Gotta go!~ */ IF ~~ THEN DO ~EscapeArea() ~ EXIT END IF ~~ THEN BEGIN 7 // from: SAY #101647 /* ~Why yes I do! As I said, for mere 500 gold...~ */ IF ~~ THEN DO ~GiveItemCreate("_SCRLPET","jaheira",1,0,0) ~ EXIT IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN GOTO 9 IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN EXTERN ~_JAHEIJ~ 126 IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN GOTO 8 IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN EXTERN ~_JAHEIJ~ 125 END IF ~~ THEN BEGIN 8 // from: 7.3 SAY #101649 /* ~OW! You... you hit me! ~ */ IF ~~ THEN DO ~GiveItemCreate("_SCRLPET","jaheira",1,0,0) ~ EXIT IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN GOTO 9 IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN EXTERN ~_JAHEIJ~ 126 END IF ~~ THEN BEGIN 9 // from: 8.1 7.1 SAY #101651 /* ~Well... Oookay. I wanted to see myself if that scroll would work...~ */ IF ~~ THEN DO ~GiveItemCreate("_SCRLPET","jaheira",1,0,0) ~ EXIT END IF ~~ THEN BEGIN 10 // from: 0.5 SAY #106817 /* ~A bargain at 500 gold!~ */ IF ~~ THEN REPLY #77081 /* ~Sorry, we're not interested.~ */ GOTO 1 IF ~PartyGoldGT(499) ~ THEN REPLY #77082 /* ~Sure, give us the scroll.~ */ GOTO 2 IF ~~ THEN REPLY #77083 /* ~We don't have the money right now.~ */ GOTO 3 IF ~!InParty("branwen") !StateCheck("branwen",CD_STATE_NOTVALID) ~ THEN REPLY #101526 /* ~You're too late. She is stone no longer.~ */ GOTO 5 IF ~Global("X#JaheiraZeke","GLOBAL",0) StateCheck("branwen",CD_STATE_NOTVALID) InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#JaheiraZeke","GLOBAL",1)~ EXTERN ~_JAHEIJ~ 124 END IF ~~ THEN BEGIN 11 // from: SAY #106817 /* ~A bargain at 500 gold!~ */ IF ~~ THEN REPLY #77081 /* ~Sorry, we're not interested.~ */ GOTO 1 IF ~PartyGoldGT(499) ~ THEN REPLY #77082 /* ~Sure, give us the scroll.~ */ GOTO 2 IF ~~ THEN REPLY #77083 /* ~We don't have the money right now.~ */ GOTO 3 IF ~!InParty("branwen") !StateCheck("branwen",CD_STATE_NOTVALID) ~ THEN REPLY #101526 /* ~You're too late. She is stone no longer.~ */ GOTO 5 IF ~Global("X#JaheiraZeke","GLOBAL",0) StateCheck("branwen",CD_STATE_NOTVALID) InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#JaheiraZeke","GLOBAL",1)~ EXTERN ~_JAHEIJ~ 124 END IF ~~ THEN BEGIN 12 // from: 0.7 SAY #106815 /* ~Exactly, my friend. What say ye~ */ IF ~~ THEN REPLY #77081 /* ~Sorry, we're not interested.~ */ GOTO 1 IF ~PartyGoldGT(499) ~ THEN REPLY #77082 /* ~Sure, give us the scroll.~ */ GOTO 2 IF ~~ THEN REPLY #77083 /* ~We don't have the money right now.~ */ GOTO 3 IF ~!InParty("branwen") !StateCheck("branwen",CD_STATE_NOTVALID) ~ THEN REPLY #101526 /* ~You're too late. She is stone no longer.~ */ GOTO 5 IF ~Global("X#JaheiraZeke","GLOBAL",0) StateCheck("branwen",CD_STATE_NOTVALID) InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#JaheiraZeke","GLOBAL",1)~ EXTERN ~_JAHEIJ~ 124 IF ~InParty("viconia") InMyArea("viconia") !StateCheck("viconia",CD_STATE_NOTVALID) ~ THEN GOTO 13 IF ~InParty("viconia") InMyArea("viconia") !StateCheck("viconia",CD_STATE_NOTVALID) ~ THEN EXTERN ~_VICONJ~ 258 END IF ~~ THEN BEGIN 13 // from: 12.5 SAY #106817 /* ~A bargain at 500 gold!~ */ IF ~~ THEN REPLY #77081 /* ~Sorry, we're not interested.~ */ GOTO 1 IF ~PartyGoldGT(499) ~ THEN REPLY #77082 /* ~Sure, give us the scroll.~ */ GOTO 2 IF ~~ THEN REPLY #77083 /* ~We don't have the money right now.~ */ GOTO 3 IF ~!InParty("branwen") !StateCheck("branwen",CD_STATE_NOTVALID) ~ THEN REPLY #101526 /* ~You're too late. She is stone no longer.~ */ GOTO 5 IF ~Global("X#JaheiraZeke","GLOBAL",0) StateCheck("branwen",CD_STATE_NOTVALID) InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#JaheiraZeke","GLOBAL",1)~ EXTERN ~_JAHEIJ~ 124 END IF ~~ THEN BEGIN 14 // from: SAY #106815 /* ~Exactly, my friend. What say ye~ */ IF ~~ THEN REPLY #77081 /* ~Sorry, we're not interested.~ */ GOTO 1 IF ~PartyGoldGT(499) ~ THEN REPLY #77082 /* ~Sure, give us the scroll.~ */ GOTO 2 IF ~~ THEN REPLY #77083 /* ~We don't have the money right now.~ */ GOTO 3 IF ~!InParty("branwen") !StateCheck("branwen",CD_STATE_NOTVALID) ~ THEN REPLY #101526 /* ~You're too late. She is stone no longer.~ */ GOTO 5 IF ~Global("X#JaheiraZeke","GLOBAL",0) StateCheck("branwen",CD_STATE_NOTVALID) InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#JaheiraZeke","GLOBAL",1)~ EXTERN ~_JAHEIJ~ 124 IF ~InParty("viconia") InMyArea("viconia") !StateCheck("viconia",CD_STATE_NOTVALID) ~ THEN GOTO 15 IF ~InParty("viconia") InMyArea("viconia") !StateCheck("viconia",CD_STATE_NOTVALID) ~ THEN EXTERN ~_VICONJ~ 259 END IF ~~ THEN BEGIN 15 // from: 14.5 SAY #106817 /* ~A bargain at 500 gold!~ */ IF ~~ THEN REPLY #77081 /* ~Sorry, we're not interested.~ */ GOTO 1 IF ~PartyGoldGT(499) ~ THEN REPLY #77082 /* ~Sure, give us the scroll.~ */ GOTO 2 IF ~~ THEN REPLY #77083 /* ~We don't have the money right now.~ */ GOTO 3 IF ~!InParty("branwen") !StateCheck("branwen",CD_STATE_NOTVALID) ~ THEN REPLY #101526 /* ~You're too late. She is stone no longer.~ */ GOTO 5 IF ~Global("X#JaheiraZeke","GLOBAL",0) StateCheck("branwen",CD_STATE_NOTVALID) InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#JaheiraZeke","GLOBAL",1)~ EXTERN ~_JAHEIJ~ 124 END I think I get how you can trigger the second scroll... if Branwen is not in the party, and has not been brought back to life, and the party has talked to Zeke the first time with Jaheira in the party, then !InParty + CD_S_NV + Jaheira interjection looks like it might be a loophole. in the first code added, x#brint.d EXTEND_BOTTOM ~%tutu_var%ZEKE~ 0 + ~!InParty("branwen") !StateCheck("branwen",CD_STATE_NOTVALID)~ + @1001 + X#UnpetrifiedBranwen END APPEND ~%tutu_var%ZEKE~ IF ~~ X#UnpetrifiedBranwen SAY @1002 IF ~~ THEN DO ~EscapeArea()~ EXIT END END and then we add in the rest of the interjections through other files. So it looks like we need an added IF ~Global("X#JaheiraZeke","GLOBAL",1) !InParty("branwen") StateCheck("branwen",CD_STATE_NOTVALID)~ THEN REPLY @12 DO ~EscapeArea()~ EXIT /* = ~Er... Gotta go!~ */ (someone recheck this logic, please.) Link to comment
cmorgan Posted November 29, 2008 Share Posted November 29, 2008 OK, testing out the vanilla Branwen/Zeke etc. stuff. Arkanis alone, not enough cash, not interested: correct responses from Zeke. He stays. Arkanis alone, 8000 cash, not interested or not right now: correct responses from Zeke. He stays. Yes, we want the scroll: correct response. Zeke takes off. Add Jaheira to the mix. A+J, correct responses from Zeke, Zeke stays - but as reported, party can revisit immediately and get another scroll. a>> After Branwen is unpetrified and joins party, talking to him results in correct behavior - he spouts his line takes off. b>> After Branwen is unpetrified and does not join/is not asked to join, talking to him results in correct behavior - he spouts his original quest dialog, shilling for cash, b-1>>> but the player has the choice to gently remind him that she is no longer petrified - he realizes that the game is up, spouts his line, and takes off. OR b-2>>> but if the player has the cash on hand, the player has the choice to purchase a scroll and Zeke takes off. Testing with the following addition: x#brint.d EXTEND_BOTTOM ~%tutu_var%ZEKE~ 0 + ~!InParty("branwen") !StateCheck("branwen",CD_STATE_NOTVALID)~ + @1001 + X#UnpetrifiedBranwen END APPEND ~%tutu_var%ZEKE~ IF ~~ X#UnpetrifiedBranwen SAY @1002 IF ~~ THEN DO ~EscapeArea()~ EXIT END END changed to EXTEND_BOTTOM ~%tutu_var%ZEKE~ 0 + ~!InParty("branwen") !StateCheck("branwen",CD_STATE_NOTVALID)~ + @1001 + X#UnpetrifiedBranwen IF ~Global("X#JaheiraZeke","GLOBAL",1)~ THEN GOTO X#JaheiraHitZeke END APPEND ~%tutu_var%ZEKE~ IF ~~ X#UnpetrifiedBranwen SAY @1002 IF ~~ THEN DO ~EscapeArea()~ EXIT END IF ~~ X#JaheiraHitZeke SAY @12 IF ~~ THEN DO ~EscapeArea()~ EXIT END END Testing... ok. If the party comes along and speaks to Zeke and accepts the scroll, Zeke takes off as expected. If the party comes along and unpetrifies Branwen before speaking to Zeke, or after speaking to Zeke and refusing the scroll they use another means of unpetrifying her, but do not accept Branwen into the party, the party can now a>> tell Zeke that Branwen is unpetrified and he takes off. b>> purchase that scroll from him anyways. If the party comes along with any combination of folks including Jaheira, and uses some other means of unpetrifying Branwen before speaking to him, and Branwen is not in the party when Zeke is spoken to, a>> tell Zeke that Branwen is unpetrified and he takes off. b>> purchase that scroll from him anyways. If the party adds Branwen then the Branwen interjection happens and all is fine: Zeke flees from the statue come to life and Branwen does her comment. If the party comes along and talks to Zeke first about the scroll, with Jaheira in the party, her interjection plays (and any others do too). >> Talking to Zeke again without unpetrification of Branwen results in him starting his schilling for cash, but then he realizes it is Jaheira coming back, and since she told him to "get out of here" he takes off. >> Talking to Zeke again after unpetrification of Branwen results in him starting his schilling for cash, but then he realizes it is Jaheira coming back, and since she told him to "get out of here" he takes off. repaired 11/29/2008 prerelease v17 Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.