Jump to content

No Slayer change in Spellhold (UB)


Recommended Posts

So, I'm kinda throwing this question just to be sure.

I'm playing EET with UB v27, particularly this component: ub:3:"Cat and Mouse" (Bodhi hunts you in Spellhold) by Ghreyfain

The problem is, the slayer transformation did not occur. I left the dungeon, beated Irenicus, but still I have no ability to turn into the slayer. Not that I want to use it, but I'm worried if this could have an impact on the main quest. Has someone else experienced this?

Bodhi showed up 3 times to attack me, with a couple of vampires and grimwarders (I guess this is from the mod). However, she was not in the room with the minotaur statue (don't know if this is also normal behaviour from the mod). Then, Bodhi spawned a final time, alone, as a friendly unit. When talked to, she says this line: "Your last victory is hollow. You've only delayed the inevitable", and then she turns hostile and immediately repeats the line she said the third time I defeated her: "Well done, child of bhaal. Run faster, and perhaps you'll soon escape!"; then she disappears.

Saemon havarian showed up, I got the 'portal or ship' option, so it looks I'm good, even without the Slayer change ability. Not that I was planning on using it anyway. Can someone please assure me that everything's fine, before I decide to move on? ūüė∂

Link to post

The cat& mouse mod does not alter Bodhi's original appearance, it only makes her appear a few more times in other places.  It also does nothing with the Slayer.  The code is also completely unchanged from previous versions, I never touched it at all.

Link to post
25 minutes ago, Angel said:

The cat& mouse mod does not alter Bodhi's original appearance, it only makes her appear a few more times in other places.  It also does nothing with the Slayer.  The code is also completely unchanged from previous versions, I never touched it at all.

Hmm, well this is the first time I use this mod (or EET, for that matter) so I wouldn't know about other versions. Is there a way to check what's going wrong? Some global maybe? I remember in the unmodded game the transformation could happen even before encountering bodhi, just by resting... I did that multiple times, but nothing. Is there a particular trigger that I can check? More importantly, will I be able to continue the main story without it?

Link to post

Going from my personal experiences, the first Slayer change happens involuntarily in the confrontation with Bodhi, and can happen one more time after that if you rest and have an active romance, in which case your lover will have something to say about being chased around by a murderous monster.  After that it never happens again unless you choose to, and the ability is not needed to finish the game.

I do not know how it exactly works and I have never seen this bug myself so I can't give you pointers, sorry.  I checked the mod code and like I said it doesn't change Bodhi's original appearance at all.  If she did not appear in her usual spot it is the doing of something else, not UB.  In a vanilla game she is already present in ar1514 (the minotaur maze) and not created by script.

Link to post

In vanilla game the code is in the area script AR1514.BCS. There's a short timer after the conversation with Bodhi, and after that the transformation happens. You said Bodhi wasn't in the room with the minotaur, so this might be why the transformation never happend - it has to be triggered by the dialog with Bodhi. I always have UB and a bunch of other mods, and have never had this issue. Either because of another mod, or some freak interaction between UB and another mod.

Edited by ABlake
Link to post
1 hour ago, ABlake said:

In vanilla game the code is in the area script AR1514.BCS

Allright, I see it. The change depends from the global ("AsylumPlot") set to 42:

Spoiler

IF
    Global("YvetteSpellhold2","GLOBAL",1)
THEN
    RESPONSE #100
        SetGlobal("YvetteSpellhold2","GLOBAL",2)
        CreateCreature("YxGabr2",[705.617],SWW)  // Gabriel the Hopereaper
        ActionOverride("YxGabr2",StartDialogNoSet(Player1))
END

IF
    Global("TriggerSet","AR1514",0)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
THEN
    RESPONSE #100
        SetGlobal("SelfTalk","GLOBAL",2)
        SetGlobal("TriggerSet","AR1514",1)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
END

IF
    GlobalTimerExpired("SlayerTimer","GLOBAL")
    Global("AsylumPlot","GLOBAL",42)
    Global("change","AR1514",0)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
THEN
    RESPONSE #100
        SetGlobal("change","AR1514",1)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
        SetGlobalTimer("SlayerTimer","GLOBAL",ONE_ROUND)
        DisplayStringHead(Player1,61139)  // Anger overwhelms you, and you feel your control slipping as the evil beckons to you. You become the Slayer...
        ActionOverride(Player1,MakeUnselectable(24))
        ActionOverride(Player1,ReallyForceSpell(Myself,SLAYER_ENEMY))  // SPIN783.SPL (Slayer Change)
END

IF
    Global("AsylumPlot","GLOBAL",42)
    Global("change","AR1514",1)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
THEN
    RESPONSE #100
        ActionOverride(Player1,AttackReevaluate("ppbodhi4",600))  // Bodhi
        Continue()
END

IF
    Global("AsylumPlot","GLOBAL",43)
THEN
    RESPONSE #100
        ActionOverride(Player1,AttackReevaluate([PC],60))
        Continue()
END

IF
    GlobalTimerExpired("SlayerTimer","GLOBAL")
    Global("AsylumPlot","GLOBAL",42)
    Global("change","AR1514",1)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
THEN
    RESPONSE #100
        SetGlobal("change","AR1514",2)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
        ActionOverride("ppbodhi4",StartDialogNoSet(Player1))
END

IF
    GlobalTimerExpired("SlayerTimer","GLOBAL")
    Global("AsylumPlot","GLOBAL",43)
THEN
    RESPONSE #100
        ClearAllActions()
        ActionOverride(Player1,ReallyForceSpellRES("spin718a",Myself))  // End Slayer Change
        Wait(1)
        SetGlobal("AsylumPlot","GLOBAL",44)
        ActionOverride(Player1,StartDialog("player1",Player1))
END

IF
    Global("RobbedGolem","GLOBAL",1)
    Global("closedDoor","AR1514",0)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
THEN
    RESPONSE #100
        Unlock("IronDoor")
        CloseDoor("IronDoor")
        Lock("IronDoor")
        SetGlobal("closedDoor","AR1514",1)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
END

IF
    NumDeadGT("ppiron",2)  // Clay Golem
    Global("closedDoor","AR1514",1)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
THEN
    RESPONSE #100
        Unlock("IronDoor")
        OpenDoor("IronDoor")
        SetGlobal("closedDoor","AR1514",2)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
END

IF
    G("J#BodhiHuntCheck",0)
THEN
    RESPONSE #100
        ActionOverride("ppbodhi4",SetGlobal("J#RealBodhi","LOCALS",1))
        SG("J#BodhiHuntCheck",1)
END

IF
    Global("J#BodhiSpawned","GLOBAL",0)
    GlobalTimerExpired("BodhiHunts","GLOBAL")
    GlobalLT("AsylumPlot","GLOBAL",42)
    !Exists("ppbodhi4")  // Bodhi
    OR(3)
        AreaCheck("AR1512")  // Bodhi's Hunt Level 1
        AreaCheck("AR1513")  // Bodhi's Hunt Level 2
        AreaCheck("AR1514")  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
THEN
    RESPONSE #100
        SetGlobal("J#BodhiSpawned","GLOBAL",1)
        FadeToColor([40.0],0)
        SmallWait(15)
        CreateCreatureObject("ppbodhi4",Player1,0,0,0)  // Bodhi
END

IF
    !Global("D0SpawnHorrors","AR1514",1)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
THEN
    RESPONSE #100
        SetGlobal("D0SpawnHorrors","AR1514",1)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
        CreateCreature("d0batho",[779.599],NWW)  // Battle Horror
        CreateCreature("d0batho",[559.746],NE)  // Battle Horror
END

IF
    GlobalGT("ThiefGroup","GLOBAL",0)
    !Dead("ppsime")  // Sime
    Global("D0SimeVampire","GLOBAL",0)
THEN
    RESPONSE #100
        ActionOverride("vammat01",DestroySelf())
        CreateCreature("d0vamsim",[1999.1181],S)  // Sime
        SetGlobal("D0SimeVampire","GLOBAL",1)
        Continue()
END

 

And also from the timer set by Bodhi's Diaogue:

Spoiler

I know I'm early, but I just couldn't bear to see you leave. You were amusing, but the game is over. One last time, let our paths cross in blood!

SetGlobal("AsylumPlot","GLOBAL",42)
ActionOverride("vammat01",Enemy())
ActionOverride("vamold01",Enemy())
SetGlobalTimer("SlayerTimer","GLOBAL",2)
Enemy()

The problem is, I never had that dialogue with Bodhi. Looking at the area, there are three bats near the minotaur statue, that are supposed to turn into Bodhi and two vampires. I think I remember seeing a bat when I got there yesterday, but it just flew away and disappeared... could it be because I was stealthing with imoen? Can I just spawn that bat or Bodhi with console commands?

Link to post
3 hours ago, Gwaihir said:

Looking at the area, there are three bats near the minotaur statue, that are supposed to turn into Bodhi and two vampires.

Is that so? Do you have a mod that modifies this encounter? Because in vanilla game (and in my modded game) they are not in bat form, and Bodhi should initiate dialog as soon as she sees a party member. It doesn't matter if you're invisible. You can try spawning her in that area; her cre name is PPBODHI4.

Link to post
1 hour ago, ABlake said:

Do you have a mod that modifies this encounter?

I don't have a specific component for that encounter.. the only one that could change something is SCS improved vampires, but they always change into bats during fights..

Spoiler


Mods affecting AR1514.ARE:
00000: /* created or unbiffed */ ~A7-GOLEMCONSTRUCTION/SETUP-A7-GOLEMCONSTRUCTION.TP2~ 0 25 // Greater variety of enemy golem types6.1
00001:  ~CDTWEAKS/SETUP-CDTWEAKS.TP2~ 0 3190 // Rest Anywhere (Japheth)v9
00002:  ~STRATAGEMS/SETUP-STRATAGEMS.TP2~ 0 3505 // Wider selection of random scrollsv32.7
00003:  ~STRATAGEMS/SETUP-STRATAGEMS.TP2~ 0 6580 // Improved Vampiresv32.7

 

This is the bcs of the Bat(Bodhi) in my AR1514.ARE:

Spoiler

IF
    Global("dw_bodhi_cs","AR1514",1)  // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
    Global("BatChange","LOCALS",0)
THEN
    RESPONSE #100
        SetInterrupt(FALSE)
        SetGlobal("BatChange","LOCALS",1)
        CreateVisualEffectObject("SPCLOUD3",Myself)
        SetInterrupt(TRUE)
        ReallyForceSpellRES("dw#asvmb",Myself)  // No such index
END

Anyway, I spawned her with the console, then changed her local variable "J#RealBodhi" to 1 (this is from PPBODHI4.BCS), and that triggered the dialogue with the transformation, then also the imoen dialogue. At this point "AsylumPlot" is set to 44. However, I tried resting a couple of times, and I still don't have the slayer change ability, nor experienced any dialogue despite "AerieRomanceActive" is set to 1. Should it be 2? Is there a timer for this too?

Edited by Gwaihir
Link to post

You could take a look into the master script BALDUR.BCS. There's a block that triggers self-talk when PartyRested() and AsylumPlot > 43, after which charname goes berserk in Slayer form.

Quote

Should it be 2? Is there a timer for this too?

In this instance, it doesn't matter whether this variable is 1 or 2. You can see this if you go through the response triggers in PLAYER1.DLG state 7. But no you shouldn't change that cause that'll likely mess up the romance progression.

As for the Slayer Change ability itself, after a quick check it seems you get the ability after a dream in which Imoen counts from 1 to 5 when you kill stuff... (So not when you go berserk in the maze? Interesting, I don't quite remember this.) There's DREAM4.DLG (dream Imoen's dialog) which triggers CUT49E.BCS, which sets Global("GivePowerSlayer","GLOBAL",1), WHICH then signals BALDUR.BCS to give you the ability. Oof.

Edited by ABlake
Link to post
1 hour ago, ABlake said:

There's a block that triggers self-talk when PartyRested() and AsylumPlot > 43,

There is no such block in my Baldur.bcs ūüėĎ

This is the second time that something like this happens.. the first was for Yvette, the block just isn't into baldur.bcs, despite installation log saying otherwise. I'm a little worried about progressing with the game; I guess I'll resort to console if something goes wrong. We'll see. Thank you @ABlake for the kind support!

Link to post
Quote

There is no such block in my Baldur.bcs

You sure? That block starts something like this

IF
	Global("drowTalk","GLOBAL",0)
	Global("slayer1","GLOBAL",0)
	PartyRested()
	GlobalGT("AsylumPlot","GLOBAL",43)
THEN

 

But this is vanilla code though. Why would it not be there? I don't see much reason for any mod to remove this.

As they put it, if something goes wrong and you don't notice it, it's probably not that important anyway : ) Otherwise, it's standard business to play through a modded BG having to debug and fix your game along the way, heh.

 

Link to post
30 minutes ago, ABlake said:

But this is vanilla code though. Why would it not be there?

Yeah, I did a full search with NI and that block is actually inside Baldur25.bcs. Don't know the difference, I thought that any file with 25 in it was Tob related stuff? In any case, it's certainly not working. GetGlobal for both "drowtalk" and "slayer1" returns: Doesn't exist

Spoiler

IF
    Global("drowTalk","GLOBAL",0)
    Global("slayer1","GLOBAL",0)
    PartyRested()
    GlobalGT("AsylumPlot","GLOBAL",43)
THEN
    RESPONSE #100
        SetGlobal("drowTalk","GLOBAL",2)
        SetGlobal("slayer1","GLOBAL",1)
        SetGlobalTimer("SlayerTimer2","GLOBAL",FIVE_MINUTES)
        ActionOverride(Player1,StartDialog("player1",Player1))

 

25 minutes ago, Guest heheheh said:

You got almateria's mod, am I wrong?

I do have Almateria's restoration project v8.4.

Link to post

I poked around a little on this one.  The SCS component "Improved Vampires" changes Bodhi and her friends in ar1514 into bats until you step on a newly added region that causes them to reveal themselves.   Skipping that region somehow may be the cause of your issues.

Link to post
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

√ó
√ó
  • Create New...