Jump to content

Cleric Remix somewhat messes up Temple Quests?


Guest fkirenicus

Recommended Posts

Guest fkirenicus

Hi!

 

First off, this has been posted before in the General Forums. Second, it may well be that my previous mod installation order wasn't "optimal", and so I ran into problems because something messed up Divine Remix. However, I think not - I've read that Divine Remix and Virtue should go last, and have stuck to that both when I tried this first and now that I've reinstalled... :rolleyes:

 

Anyway, I see that others have run into this, and so thought I could share my observations. For my original post, see here

 

It seems that the reworking of the Temple Quests in Cleric Remix (notably the introduction of variable CDWorkingForHelm) causes some trouble.

Now, I would guess this is set when speaking to High Watcher Oisig and accepting to get rid of Gaal and his followers. But the changes this introduces into ar0902.bcs (area script for the Temple of Lathander) puzzle me.

 

I must now again tell you that I have reinstated my BG2 install backup and reinstalled the mods in a slightly different order. Also, I've avoided installing anything from Divine Remix except the core part. So I have to dig into my memory to show you what I think is somewhat ... well, bogus. :mwaha:

 

From what I recall from my previous installation (that included Cleric Remix, mind you), the ar0902.bcs had lines that looked something like this:

IF
Global("CDWorkingForHelm","GLOBAL",1)
OR(2)
!Global("SainSpawn","GLOBALS",2)
<and another line about Arval)
THEN
RESPONSE #100
SetGlobal("SainSpawn","GLOBALS",2)
ActionOverride("SCSAIN",DestroySelf())
ActionOverride("BHARVAL",DestroySelf())

This I interpret thus: If my protagonist is working for Helm, set the global for SainSpawn to 2 when entering the Temple of Lathander, and destroy Sain if he has been spawned. In other words: If the player enters the Temple of Lathander while working for the Temple of Helm, deactivate Sain (and Arval).

I cannot understand how it is possible to spawn Sain again then, even if Telwyn later sends the party to speak to Sain:

IF
Global("TelwynSent","GLOBALS",1)
Global("SainSpawn","GLOBALS",0)
THEN
RESPONSE #100
SetGlobal("SainSpawn","GLOBALS",1)
CreateCreature("SCSAIN",<position, can't remember coordinates>)

since CDWorkingForHelm has set the SainSpawn to 2 anyway - it won't be 0.

Of course, if it read something like this

IF
Global("TelwynSent","GLOBALS",1)
!Global("SainSpawn","GLOBALS",1)
THEN
RESPONSE #100
SetGlobal("SainSpawn","GLOBALS",1)
CreateCreature("SCSAIN",<position, can't remember coordinates>)

I guess the matter would be quite another.

 

Now, I've wasted a lot of time reinstalling and all that, when all I probably would have needed to do was to either

- change the code as shown above

- edit my savegame, setting the SainSpawn from 2 to 0 (or deleting it altogether) after speaking to Telwyn, but BEFORE entering Temple of Lathander (ar0902) again.

 

Also, I noticed that changes came on top of the script, moving e.g.

IF
OnCreation()
THEN 
RESPONS #100
<blah blah>
END

further down in the script. Is this intentional?

Link to comment
Also, I noticed that changes came on top of the script, moving e.g.

IF
OnCreation()
THEN 
RESPONS #100
<blah blah>
END

further down in the script. Is this intentional?

There are times when a modder needs their script blocks to take priority over other stuff including the BioWare originals. Weidu allows us to extend to the bottom or to the tops of scripts. So the adding of script blocks to the top can be very well intentional. Where it might become a problem is when you have a block (just as you have shown) that contains OnCreation(). If this block doesn't get run on the first pass when the area is first loaded, it will never happen. This is why ALL script blocks that get pre-pended to an area script MUST have Continue() as their last action. Continue() will cause the actor, in this case the area file, to keep going through the script looking for valid things to do.

 

As far as you're other stuff, I'm not qualified to answer as I know nothing of Divine Remix or Cleric Remix. But what you have shown does make sense. Perhaps the modder didn't think to test the changes after having started the other quest... Who knows for sure...

Link to comment

Bump. Seems I have encountered pretty the same problem:

 

Dawnbringer Sain not spawning bug

During the quest "Another mission for the temple" I am supposed to go to the temple of Lathander and talk to Dawnbringer Sain. But he is absent.

 

Reason: mod "Divine Remix" component 100 "Cleric Remix: v7 ToD Compatibility Fix" adds a block to AR0209.bcs:

IF
Global("SainSpawn","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("SainSpawn","GLOBAL",2)
END

which prevents normal spawning mechanism from firing:

IF
Global("TelwynSent","GLOBAL",1)
Global("SainSpawn","GLOBAL",0) //not fired since the value is set to 2 for me
THEN
RESPONSE #100
SetGlobal("SainSpawn","GLOBAL",1)
CreateCreature("SCSAIN",[642.627],0) // Dawnbringer Sain
ActionOverride("scsain",SetNumTimesTalkedTo(1))
END

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...