Shaitan Posted January 19, 2009 Share Posted January 19, 2009 Hi! I'm using v16 and just killed Armande with Jaheira. Now going downstairs doesn't give me Maretha to libarate... I'm clueless what to do... Ive tried using CLUA: SetGlobal("X#JaheiraSen","GLOBAL",20) but no luck. When opening with SK there doesn't seem to be a X#JaheiraSen... Help Link to comment
Guest Shaun Posted January 19, 2009 Share Posted January 19, 2009 Hi! I'm using v16 and just killed Armande with Jaheira. Now going downstairs doesn't give me Maretha to libarate... I'm clueless what to do... Ive tried using CLUA: SetGlobal("X#JaheiraSen","GLOBAL",20) but no luck. When opening with SK there doesn't seem to be a X#JaheiraSen... Help I have the same problem, with the addition that Andarthe was non-hostile when I approached the treehouse. I'm wondering if the latter is part of the problem and the new version has moved Andarthe to the Cloakwood Mine area whiich Armande seemed to imply. Link to comment
cmorgan Posted January 24, 2009 Share Posted January 24, 2009 Rechecking - I think this is still the confusion between the dude in the Treehouse and the dude we add to the outside of the treehouse. The dude in the treehouse is stock BioWare. He will not go hostile unless you provoke him - and he is not supposed to go hostile/be killed if you want to go back with Faldorn and get rewarded with a shield if you have clobbered/flooded Yeslik's mines. His name is Amarande, with dialog file _AMARAN. The quest requires you to go on to the next area over towards the mines, have an interaction with Beador, and then return back to the treehouse. At that point, our dude, extremely unfortunately named similarly - "Andarthe". He should only spawn when you have gone to that second area, had the Beador encounter, and returned to the first area to rescue Maretha. Everyone in both sides of the encounter should be non-hostile - they should be talking first, and striking only at the conclusion of the talking (if it is indicated). The relevant dialog with him is initiated by the PC, but to make sure we couls always add a block that makes him run up to the player if the player comes in range - I'll add that block on my code recheck this week. The potential conversations are in X#JAQU.D{, with entries for dead and non-dead beador: CHAIN IF WEIGHT #-2 ~%BGT_VAR% Global("X#JaheiraHealsB","GLOBAL",6)~ THEN X#ANDART AndartGreetingBeadorHealed @18 == ~%KHALID_JOINED%~ IF ~InParty("khalid") InMyArea("khalid") !StateCheck("khalid",CD_STATE_NOTVALID)~ THEN @19 == ~%JAHEIRA_JOINED%~ @20 == ~%FALDORN_JOINED%~ IF ~InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ THEN @21 END + ~InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ + @22 DO ~SetGlobal("X#JaheiraHealsB","GLOBAL",7) SetGlobal("X#JaheiraQuest","GLOBAL",4)~ + ANDFA1 + ~InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ + @23 DO ~SetGlobal("X#JaheiraHealsB","GLOBAL",7) SetGlobal("X#JaheiraQuest","GLOBAL",4)~ + ANDFA2 + ~InParty("faldorn") InMyArea("faldorn") !StateCheck("faldorn",CD_STATE_NOTVALID)~ + @24 DO ~SetGlobal("X#JaheiraHealsB","GLOBAL",7) SetGlobal("X#JaheiraQuest","GLOBAL",4)~ + ANDFA2 + ~!InParty("faldorn") InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID)~ + @183 DO ~SetGlobal("X#JaheiraHealsB","GLOBAL",7) SetGlobal("X#JaheiraQuest","GLOBAL",4) SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT Faldorn in the party has the same basic setup, but does not set the X#JaheiraQuestAAttack variable which is a bug - I think the original quest had Faldorn derailing the quest at this point, but I see no current options that tell the paler this, so the fix is to merge these options to the smae variable use (X#JaheiraQuestAAttack = 1). /* From Andarthe & Faldorn */ IF ~~ THEN BEGIN ANDFA1 SAY @1 IF ~~ THEN DO ~ActionOverride("andarthe",JumpToPoint([874.2175])) ActionOverride("andarthe",FaceObject(Player1)) ActionOverride("andarthe",Enemy()) ActionOverride("jadruid8a",Enemy()) ActionOverride("takiyah",Enemy()) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0)~ EXIT END At that point, the following script on X#ANDART kicks in: /* Andart if Beador is Alive, activate */ IF %BGT_VAR% Global("X#JaheiraHealsB","GLOBAL",5) //was 20 to 23 Detect([PC]) InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) InMyArea(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) THEN RESPONSE #100 SetGlobal("X#JaheiraHealsB","GLOBAL",6) END /* Andart if Beador is Alive, initiate */ IF %BGT_VAR% Global("X#JaheiraHealsB","GLOBAL",6) InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) InMyArea(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) THEN RESPONSE #100 StartDialogNoSet([PC]) END /* Andart if Beador is Dead, activate */ IF %BGT_VAR% Global("X#JQBeadorDead","GLOBAL",2) // was 22 to 24 Detect([PC]) InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) InMyArea(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) THEN RESPONSE #100 SetGlobal("X#JQBeadorDead","GLOBAL",3) END /* Andarthe if Beador is Dead, initiate */ IF %BGT_VAR% Global("X#JQBeadorDead","GLOBAL",3) InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) InMyArea(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) THEN RESPONSE #100 StartDialogNoSet(Player1) END /* Andarthe Attacks */ IF %BGT_VAR% Global("X#JaheiraQuestAAttack","GLOBAL",1) THEN RESPONSE #100 SetGlobal("X#JaheiraQuestAAttack","GLOBAL",2) ActionOverride("jadruid8a",Enemy()) ActionOverride("takiyah",Enemy()) JumpToPoint([874.2175]) FaceObject(Player1) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0) Enemy() END /*Combat Scripts and Surrender Script */ IF GlobalGT("X#ASL","LOCALS",0) HPPercentLT(Myself,50) THEN RESPONSE #100 SetGlobal("X#ASL","LOCALS",0) Spell(Myself,3122) END IF HasItem("X#ANSPER",Myself) HPPercentLT(Myself,50) THEN RESPONSE #100 DropItem("X#ANSPER",[-1.-1]) END IF Global("X#AndSurrender","GLOBAL",0) HPPercentLT(Myself,50) THEN RESPONSE #100 SetGlobal("X#AndSurrender","GLOBAL",1) ChangeEnemyAlly(Myself,NEUTRAL) StartDialogNoSet([PC]) END IF HaveSpell(CLERIC_HEAL) !GlobalTimerNotExpired("X#ACA","LOCALS") HPPercentLT(Myself,70) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(Myself,CLERIC_HEAL) END IF StateCheck(Myself,STATE_POISONED) !GlobalTimerNotExpired("X#ACA","LOCALS") HasItem("%tutu_var%POTN20",Myself) THEN RESPONSE #100 UseItem("%tutu_var%POTN20",Myself) SetGlobalTimer("X#ACA","LOCALS",6) END IF StateCheck(Myself,STATE_POISONED) HaveSpell(CLERIC_SLOW_POISON) !GlobalTimerNotExpired("X#ACA","LOCALS") !HasItem("%tutu_var%POTN20",Myself) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(Myself,CLERIC_SLOW_POISON) END IF HaveSpell(CLERIC_CURE_SERIOUS_WOUNDS) !GlobalTimerNotExpired("X#ACA","LOCALS") HPPercentLT(Myself,80) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(Myself,CLERIC_CURE_SERIOUS_WOUNDS) END IF HaveSpell(CLERIC_CURE_MEDIUM_WOUNDS) !GlobalTimerNotExpired("X#ACA","LOCALS") HPPercentLT(Myself,85) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(Myself,CLERIC_CURE_MEDIUM_WOUNDS) END IF HaveSpell(CLERIC_CURE_LIGHT_WOUNDS) !GlobalTimerNotExpired("X#ACA","LOCALS") HPPercentLT(Myself,90) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(Myself,CLERIC_CURE_LIGHT_WOUNDS) END IF !Allegiance(Myself,ENEMY) THEN RESPONSE #100 NoAction() END IF Detect([GOODCUTOFF]) HaveSpell(CLERIC_INVISIBILITY_PURGE) !GlobalTimerNotExpired("X#ACA","LOCALS") !See(LastSeenBy()) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(Myself,CLERIC_INVISIBILITY_PURGE) END IF !GlobalTimerNotExpired("X#ACA","LOCALS") !GlobalGT("X#ASF","LOCALS",0) HasItem("X#ANSPER",Myself) THEN RESPONSE #100 UseItem("X#ANSPER",Myself) SetGlobal("X#ASF","LOCALS",1) SetGlobalTimer("X#ACA","LOCALS",6) END IF !See([GOODCUTOFF.0.0.FIGHTER_DRUID]) !See([GOODCUTOFF.0.0.DRUID_ALL]) !See([GOODCUTOFF.0.0.MAGE_ALL]) !See([GOODCUTOFF.0.0.CLERIC_ALL]) !See([GOODCUTOFF.0.0.BARD_ALL]) !See([GOODCUTOFF]) False() THEN RESPONSE #100 Continue() END IF HaveSpell(CLERIC_DISPEL_MAGIC) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(LastSeenBy(),STATE_SLEEPING) !StateCheck(LastSeenBy(),STATE_HELPLESS) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) !HasBounceEffects(LastSeenBy()) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),CLERIC_DISPEL_MAGIC) END IF HaveSpell(CLERIC_INSECT_PLAGUE) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) !HasBounceEffects(LastSeenBy()) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),CLERIC_INSECT_PLAGUE) END IF HaveSpell(CLERIC_BARKSKIN) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(Myself,CLERIC_BARKSKIN) END IF HaveSpell(WIZARD_WEB) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(LastSeenBy(),STATE_SLEEPING) !StateCheck(LastSeenBy(),STATE_HELPLESS) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREMAGE) !HasBounceEffects(LastSeenBy()) !Range(LastSeenBy(),15) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),WIZARD_WEB) END IF HaveSpell(CLERIC_RESIST_FIRE) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(Myself,CLERIC_RESIST_FIRE) END IF HaveSpell(CLERIC_MISCAST_MAGIC) !GlobalTimerNotExpired("X#ACA","LOCALS") CheckStatLT(LastSeenBy(),80,SPELLFAILUREMAGE) CheckStatLT(LastSeenBy(),80,SPELLFAILUREPRIEST) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) !HasBounceEffects(LastSeenBy()) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),CLERIC_MISCAST_MAGIC) END IF !GlobalTimerNotExpired("X#ACA","LOCALS") HasItem("%tutu_var%POTN21",Myself) THEN RESPONSE #100 UseItem("%tutu_var%POTN21",Myself) SetGlobalTimer("X#ACA","LOCALS",6) END IF HaveSpell(CLERIC_CONJURE_FIRE_ELEMENTAL) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),CLERIC_CONJURE_FIRE_ELEMENTAL) END IF HaveSpell(CLERIC_CHARM_PERSON) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(LastSeenBy(),STATE_SLEEPING) !StateCheck(LastSeenBy(),STATE_HELPLESS) !StateCheck(LastSeenBy(),STATE_CHARMED) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) !HasBounceEffects(LastSeenBy()) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),CLERIC_CHARM_PERSON) END IF HaveSpell(CLERIC_POISON) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) !HasBounceEffects(LastSeenBy()) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),CLERIC_POISON) END IF HaveSpell(WIZARD_CHROMATIC_ORB) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(LastSeenBy(),STATE_SLEEPING) !StateCheck(LastSeenBy(),STATE_HELPLESS) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREMAGE) !HasBounceEffects(LastSeenBy()) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),WIZARD_CHROMATIC_ORB) END IF HaveSpell(CLERIC_ANIMAL_SUMMONING_1) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),CLERIC_ANIMAL_SUMMONING_1) END IF HaveSpell(CLERIC_ENTANGLE) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(LastSeenBy(),STATE_SLEEPING) !StateCheck(LastSeenBy(),STATE_HELPLESS) !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) !HasBounceEffects(LastSeenBy()) !Range(LastSeenBy(),15) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),CLERIC_ENTANGLE) END IF HaveSpell(CLERIC_CLOAK_OF_FEAR) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(Myself,CLERIC_CLOAK_OF_FEAR) END IF HaveSpell(CLERIC_SUMMON_INSECTS) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) !HasBounceEffects(LastSeenBy()) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),CLERIC_SUMMON_INSECTS) END IF HaveSpell(CLERIC_CAUSE_CRITICAL_WOUNDS) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) AttackedBy([0],DEFAULT) Range(LastAttackerOf(),6) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),CLERIC_CAUSE_CRITICAL_WOUNDS) Attack(LastSeenBy()) END IF HaveSpell(CLERIC_FLAME_BLADE) !GlobalTimerNotExpired("X#ACA","LOCALS") !StateCheck(Myself,STATE_SILENCED) !CheckStatGT(Myself,75,SPELLFAILUREPRIEST) AttackedBy([0],DEFAULT) Range(LastAttackerOf(),6) THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(Myself,CLERIC_FLAME_BLADE) Attack(LastSeenBy()) END IF !GlobalGT("X#ASL","LOCALS",0) !GlobalTimerNotExpired("X#ACA","LOCALS") THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) SetGlobal("X#ASL","LOCALS",1) Spell(Myself,4634) END IF HaveSpell(SALAMANDER_BREATHE_FIREBALL) !GlobalTimerNotExpired("X#ACA","LOCALS") THEN RESPONSE #100 SetGlobalTimer("X#ACA","LOCALS",6) Spell(LastSeenBy(),SALAMANDER_BREATHE_FIREBALL) END IF GlobalTimerNotExpired("X#ACA","LOCALS") THEN RESPONSE #100 AttackOneRound(LastSeenBy()) END IF !GlobalTimerNotExpired("X#ACA","LOCALS") THEN RESPONSE #100 Attack(LastSeenBy()) END IF AttackedBy([GOODCUTOFF],DEFAULT) !Allegiance(Myself,ENEMY) THEN RESPONSE #100 Enemy() END IF AttackedBy([0],DEFAULT) THEN RESPONSE #100 Attack(LastAttackerOf()) END So Beador alive or dead, he should start talking and then at the end of the sequence go hostile and spawn some helpers. Looking this over, there is one specific block that could have troubles, if Andarthe 9the bg1npc added shadowdude outside the treehouse) never gets to surrender, if he is killed too quickly and never gets the whole "discussion before I die" sequence - like Ctr-Y - which will mean a player misses a set fo choices for Jaheira. /* Creates Maretha if Andarthe Surrenders or is Killed */ IF %BGT_VAR% OR(2) Dead("andarthe") GlobalGT("X#AndSurrender","GLOBAL",6) InParty(Myself) AreaCheck("%CloakwoodDruids_Treehouse_L1%") Global("X#JaheiraQuest","GLOBAL",4) Global("X#MarethaExist","%CloakwoodDruids_Treehouse_L1%",0) THEN RESPONSE #100 SetGlobal("X#MarethaExist","%CloakwoodDruids_Treehouse_L1%",1) CreateCreature("X#MARETH",[369.273],3) END Maretha's spawn checks for the Quest variable X#JaheiraQuest = 4 AND X#AndSurrender > 6. So, short story - 1. please check you are getting all the encounters in the right order, 2. If you have Faldorn in the party and have had all this happen, then set X#JaheiraQuestAAttack = 1 and I will fix this for the next version (and thank you ) 3. please check what your variables for X#JaheiraQuest, X#AndSurrender, and X#JaheiraQuestAAttack values. Link to comment
Shaitan Posted January 24, 2009 Author Share Posted January 24, 2009 Will do when I reach my laptop again Link to comment
Guest Shaun Posted January 25, 2009 Share Posted January 25, 2009 That solved the problem for me. Thanks dude. Link to comment
cmorgan Posted January 25, 2009 Share Posted January 25, 2009 No problem - way cool - thanks for letting me know it worked! I will check through the dialog branches and make sure everything sets that variable, and check that nothing else can interrupt it from being set. If you don't mind, please let me know how everything else works out if you have both Jaheira and faldorn - we hope this is working correctly now! Link to comment
Shaitan Posted January 26, 2009 Author Share Posted January 26, 2009 That solved the problem for me. Thanks dude. Me too. I've seen nothing else concerning Faldorn/Jaheira, and I just entered Baldurs Gate. Thanks cmorgan! Link to comment
Silverstar Posted January 28, 2009 Share Posted January 28, 2009 This quest stopper bug has happened to me too, not once, but twice in different games and installations. It has worked perfectly before too. Last time I have saved Beador in the past game, Andarthe has spawned but never talked to me or Jaheira, and he had 'Nothing to say' when clicked. I got annoyed and quitted that game. This time, in a new installation Minsc went into a berserker fury and chopped poor Beador (ouch, no happy endings always) and again, Andarte was MUTE. I used SK to check, Jahquest global was 3, and BeadorDead was 2. I changed BeadorDead to 3 and I could talk to Andarthe, abeit a short talk, ending prematurely by me saying 'you will die etc' and he stayed neutral. I force attacked him and held him with a hold person and chop-chop. Marathe was spawned inside and everything worked normally, Seniyad rewarded us etc. This bug is annoying, it does not happen always but sometimes it strikes and stops Jaheira's quest. If it can be fixed I would be grateful. This is an excellent mod which brings BG1-TuTu much needed NPC characterisation and makes it as cool (even better in some aspects) as BG2. EDIT:It was Andarte who was mute, Beador was dead, my mistype. Link to comment
cmorgan Posted January 28, 2009 Share Posted January 28, 2009 I'll take a look again - but killing Beador or attcking him even accidentally with a party member should completely stop the quest. Jaheira and Khalid should leave and attack the party. I need to visit that and see how to make that an obvious quest killer. I wonder if something is stopping globals from setting... have to investigate. The randomness points to quick-click-before-globals-are-set - something atht eventually every player who is on their 5+ run gets. (Those of us on their 50th, there's no hope for ). Link to comment
Silverstar Posted January 28, 2009 Share Posted January 28, 2009 When Minsc killed Beador accidentally, Jaheira did not turn hostile, after the bad druids were dead, she gave her usual 'no, Beador is dead, oh my!' dialogue and urged us to tree house. Khalid was not present, and was happily gulping down a drink in Friendly Arm Inn at the moment. Anyway, the bug has happened in the previous game too, when I saved Beador. Link to comment
cmorgan Posted February 27, 2009 Share Posted February 27, 2009 OK, confirming: Searching for: X#JaheiraQuestAAttack F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\bg1npc_docs\bg1npcvarindex.htm(12626): <td>X#JaheiraQuestAAttack</td> F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase2\baf\x#andart.baf(53): Global("X#JaheiraQuestAAttack","GLOBAL",1) F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase2\baf\x#andart.baf(58): SetGlobal("X#JaheiraQuestAAttack","GLOBAL",2) F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase2\dlg\x#jaqu.d(450): + ~!InParty("faldorn") InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID)~ + @183 DO ~SetGlobal("X#JaheiraHealsB","GLOBAL",7) SetGlobal("X#JaheiraQuest","GLOBAL",4) SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase2\dlg\x#jaqu.d(461): + ~!InParty("faldorn") InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID)~ + @183 DO ~SetGlobal("X#JaheiraHealsB","GLOBAL",7) SetGlobal("X#JaheiraQuest","GLOBAL",4) SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase2\dlg\x#jaqu.d(476): IF ~~ THEN DO ~SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase2\dlg\x#jaqu.d(481): IF ~~ THEN DO ~SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase2\dlg\x#jaqu.d(486): IF ~~ THEN DO ~SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase2\dlg\x#jaqu.d(491): IF ~~ THEN DO ~SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase2\dlg\x#jaqu.d.bak(438): + ~!InParty("faldorn") InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID)~ + @183 DO ~SetGlobal("X#JaheiraHealsB","GLOBAL",7) SetGlobal("X#JaheiraQuest","GLOBAL",4) SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT F:\BG1NPC_Workspace\bg1npcv17-final\bg1npc\phase2\dlg\x#jaqu.d.bak(449): + ~!InParty("faldorn") InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID)~ + @183 DO ~SetGlobal("X#JaheiraHealsB","GLOBAL",7) SetGlobal("X#JaheiraQuest","GLOBAL",4) SetGlobal("X#JaheiraQuestAAttack","GLOBAL",1)~ EXIT Found 11 occurrence(s) in 4 file(s) and an additional change, borrowed from Angelo's code, using cutscene mode to make sure pesky actions actually happen - /* Andarthe Attacks */ IF %BGT_VAR% Global("X#JaheiraQuestAAttack","GLOBAL",1) THEN RESPONSE #100 StartCutSceneMode() CutSceneId(Player1) SetGlobal("X#JaheiraQuestAAttack","GLOBAL",2) ActionOverride("jadruid8a",Enemy()) ActionOverride("takiyah",Enemy()) JumpToPoint([874.2175]) FaceObject(Player1) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0) CreateCreature("%tutu_scriptbg%WOLFDR",[-1.-1],0) Enemy() EndCutSceneMode() END And another look at the conditions for triggering... be back in a second... ok. I loosened up the conditions for A initiating dialog by removing the CD_S_NV check for Player1. He will still not talk to anyone if the other conditions arenot set, but there isn't much we can do about that - /* Andart if Beador is Dead, activate */ IF %BGT_VAR% Global("X#JQBeadorDead","GLOBAL",2) // was 22 to 24 InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) InMyArea(Player1) THEN RESPONSE #100 SetGlobal("X#JQBeadorDead","GLOBAL",3) END /* Andarthe if Beador is Dead, initiate */ IF %BGT_VAR% Global("X#JQBeadorDead","GLOBAL",3) InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) InMyArea(Player1) THEN RESPONSE #100 StartDialogNoSet(Player1) END He won't say anything if Jaheira is not there or can't talk. Of course, his spawning condition to show up in the first place is run out of Jaheira's .bcs with all those checks in placem, so it shouldn't be a problme there. (but just in case, a note to future troubleshooting - that means if someone reports him not showing up, we need to check that Jaheira isn't silenced or dead or something): /* creates Andarthe */ IF %BGT_VAR% AreaCheck("%CloakwoodDruids%") Global("X#JaheiraQuest","GLOBAL",3) Global("X#AndartheExists","%CloakwoodDruids%",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) InMyArea(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) CombatCounter(0) !See([ENEMY]) THEN RESPONSE #100 SetGlobal("X#AndartheExists","%CloakwoodDruids%",1) CreateCreature("X#ANDART",[995.2306],3) CreateCreature("X#SHDR8A",[1066.2261],3) END Link to comment
Guest Lollorian Posted March 2, 2009 Share Posted March 2, 2009 Hey there people. I'm running the BWP 5.7 install and absolutely love what you've done for BG1 Anyway, I ran through a minor bug in the "Shadows of Cloakwood" like Shaitan has already reported. I fixed it (almost ) by setting the globals JaheiraQuest and AndSurrender to 4 and 6 respectively. But I'll qoute the original problem from Shs ... I'm going through Cloakwood now and started the "Shadows of Cloakwood" quest from Seniyad. He asked me to rescue two of his druids, Beador and Maretha. I've killed the standing-in Archdruid, Amarande in the Treehouse in Cloakwood 3, found Beador with "his playmates" (??) in Cloakwood 4 and killed the second "unnamed" Archdruid in the Cloakwood mines (haven't explored it fully though ). Now after rescuing Beador, he asks me to cross the bridge in Cloakwood 4 (where he is) and go south to the Treehouse (in Cloakwood 3). I must admit that I was confused by the directions and went to the mines first but it shouldn't matter non?? When I realized what I'd done, I went to CW3 (both directly as well as by Beador's directions) but in front of the Treehouse, I found the third Archdruid (forgot his name Alaundo??? ) and a lone "Druid of Cloakwood" standing there with (I think) Stoneskin cast on themselves. I went near them, tried initiating dialog (They have nothing to say) and force fighting them (methinks the Archdruid should surrender or sommin when his health reached 50% but that didn't happen) And each time I went into the Treehouse (both floors) and there was no Maretha. So here's the bug report in a sentence: Where is Maretha??? PS: I saw the journal entry which said that "I better avoid the Treetop". Did my raiding the Treehouse before rescuing Beador fup the quest?? The main thing is that Andarthe doesn't go hostile or even talk to me unless I force attack him (at which time he still doesn't talk or surrender or anything). He should walk up to me and talk right??? Anyway, I killed him and that's the end of it Onward to Baldur's Gate ... Thanx for the hotfix though Cheers - Lol Link to comment
Guest Nedrah Posted March 2, 2009 Share Posted March 2, 2009 I'm going through Cloakwood now and started the "Shadows of Cloakwood" quest from Seniyad. He asked me to rescue two of his druids, Beador and Maretha. I've killed the standing-in Archdruid, Amarande in the Treehouse in Cloakwood 3, found Beador with "his playmates" (??) in Cloakwood 4 and killed the second "unnamed" Archdruid in the Cloakwood mines (haven't explored it fully though ). Now after rescuing Beador, he asks me to cross the bridge in Cloakwood 4 (where he is) and go south to the Treehouse (in Cloakwood 3). I must admit that I was confused by the directions and went to the mines first but it shouldn't matter non?? When I realized what I'd done, I went to CW3 (both directly as well as by Beador's directions) but in front of the Treehouse, I found the third Archdruid (forgot his name Alaundo??? ) and a lone "Druid of Cloakwood" standing there with (I think) Stoneskin cast on themselves. I went near them, tried initiating dialog (They have nothing to say) and force fighting them (methinks the Archdruid should surrender or sommin when his health reached 50% but that didn't happen) And each time I went into the Treehouse (both floors) and there was no Maretha. So here's the bug report in a sentence: Where is Maretha??? PS: I saw the journal entry which said that "I better avoid the Treetop". Did my raiding the Treehouse before rescuing Beador fup the quest?? The main thing is that Andarthe doesn't go hostile or even talk to me unless I force attack him (at which time he still doesn't talk or surrender or anything). He should walk up to me and talk right??? Anyway, I killed him and that's the end of it Just chiming in to report the same bug under the same circumstances in my game. Unfortunately, I neither know how to check for a quests status nor how to set any variables. Anyways, I am quite sure that I killed all the archdruids, including the one in the treehouse, but Andarthe never talks or attacks. I already tried force-attacking him, but Maretha still wouldn't show up in the treehouse. Link to comment
cmorgan Posted March 2, 2009 Share Posted March 2, 2009 Folks, I am just not able to replicate this on my EasyTutu install, v16 or v17. I tried this weekend. Nedrah, are you using BGT? Perhaps it is a mismatch I didn't catch between BGT and Tutu resources. It seems to be intermittent; and part of the scripting apparently calls for nonexistent wolves to be created, too. I am going to try to run this through as soon as I can on my own install. If anyone can test on EasyTutu and/or BGT on v17, it would be very appreciated - we need a check of what happens when someone goes Jaheira in party: Treefort > (kill Archdruid there) > Beador > (Beador Killed) > Back to Treehouse area for second Archdruid > Kill second Archdruid > Enter Treefort and Maretha spawns Treefort > (kill Archdruid there) > Beador > (Beador alive) > Back to Treehouse area for second Archdruid > Kill second Archdruid > Enter Treefort and Maretha spawns Treefort > (Archdruid there left alive) > Beador > (Beador Killed) > Back to Treehouse area for second Archdruid > Kill second Archdruid > Enter Treefort and Maretha spawns > upstairs to 1st Archdruid. Treefort > (Archdruid there left alive) > Beador > (Beador alive) > Back to Treehouse area for second Archdruid > Kill second Archdruid > Enter Treefort and Maretha spawns > upstairs to 1st Archdruid. The same pattern with Jaheira and Faldorn both in the party, with two variables: returning to the Treefort after Cloakwood Mines are cleared for Faldorn's reward, vs returning to the Treefort Spoilers, of course: "optimal run" from a reward standpoint rather than a roleplaying standpoint , getting Jahiera's reward from Seniyad, Andarthe's dropped Shadow Druid Flaming Spear, and Faldorn's reward from Amarande for clearing the Mines is Jaheira + Kahlid + Faldorn in party, PC *not* a druid self-identified through dialog as a Shadow Druid (ony allowed if PC is a druid - short-circuits quest), talking with the 1st ArchDruid, going on to second map, meeting Beador (saving him), going back to first map, clobbering Andarthe to within a few HP of death triggering a surrender (where he drops the spear), Reentering the treefort 1st level and rescuing Maretha, back to Seiyad for reward, going on to clear the Mines, and coming back to the Treefort top level to confront Amarande one last time for Faldorn's reward (then either killing him or leaving him standing there with [hopefully] "nothing to say". It looks like I may get some time over spring break, so I expect if folks help out, I can get a v18 with any tested fixes set up by the end of March. I can also run out a patch very quickly. Link to comment
Guest Nedrah Posted March 2, 2009 Share Posted March 2, 2009 Hio, yep, I'm on BGT as part of a BWP installation - so there is a lot of other modding related stuff going on in my game. Sorry for not mentioning this in the first place! Is there some way for me to fix this - as in, somehow getting Andharte to play his correct script and spawn the girl? Thanks for your input so far! Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.