Maretha not showing up
#1
Posted 19 January 2009 - 02:45 AM
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
-Grandpa Simpson
#2 Guest_Shaun_*
Posted 19 January 2009 - 12:47 PM
Shaitan, on Jan 19 2009, 02:45 AM, said:
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.
#3
Posted 24 January 2009 - 08:57 AM
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.
#6
Posted 25 January 2009 - 09:44 AM
#7
Posted 25 January 2009 - 04:01 PM
Shaun, on Jan 25 2009, 04:59 PM, said:
Me too. I've seen nothing else concerning Faldorn/Jaheira, and I just entered Baldurs Gate.
Thanks cmorgan!
-Grandpa Simpson
#8
Posted 28 January 2009 - 02:31 PM
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.
Edited by Silverstar, 28 January 2009 - 02:59 PM.
#9
Posted 28 January 2009 - 02:45 PM
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
#10
Posted 28 January 2009 - 02:57 PM
Anyway, the bug has happened in the previous game too, when I saved Beador.
#11
Posted 27 February 2009 - 02:54 PM
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
#12 Guest_Lollorian_*
Posted 02 March 2009 - 04:33 AM
Anyway, I ran through a minor bug in the "Shadows of Cloakwood" like Shaitan has already reported. I fixed it (almost
Quote
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
#13 Guest_Nedrah_*
Posted 02 March 2009 - 07:16 AM
Quote
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.
#14
Posted 02 March 2009 - 07:56 AM
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.
#15 Guest_Nedrah_*
Posted 02 March 2009 - 11:17 AM
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!
Reply to this topic

1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











