(1) Adventurer attack
This occasionally hangs when the dialogue is supposed to start, probably only when using the Planar Sphere Return mod's teleport function. I couldn't reproduce it reliably, and it was gone after using the normal entrance.
(2) Fanatic attack
This *always* hangs when the dialogue is supposed to start. Probably, the reason is that the fanatic no. 5, who is supposed to initiate dialogue, doesn't have a dialogue file attached - fanatic no. 1 has psAdAtt2.dlg, but he is never called. In psCut33.bcs, I changed
ActionOverride("psFanat5",StartDialogueNoSet(Player1))to
ActionOverride("psFanat1",StartDialogueNoSet(Player1))
and from then on it worked. For a complete fix, in psAdAtt2.dlg, instead of making fanatics 1 to 4 to enemies, fanatics 2 to 5 should be made to enemies, or one of them will remain blue.
(3) Degrodel attack
Dozens of apprentices will spawn to warn you of this attack instead of one, they won't talk to you on their own, but instead wait for you to initiate dialogue. After Degrodel has appeared, they will continue to spawn and you can repeat uncounted instances of the attack - until I had resolved this, I had Ctrl-Y-ed about 100 useless apprentices. The probable reason for this is that the area variable psDegoSpawnToggle is never set, so
-the apprentice will spawn if it is not set, and
-the apprentice will initiate dialogue if it is set to 1.
Most probably, this is a bug in AR0411.BCS. Current code snippet is:
IF GlobalTimerExpired("psTimeToDegoSpawn","GLOBAL") Global("psDegoSpawnToggle","AR0411",0) AreaCheckObject("ar0411", Player1) THEN RESPONSE #100 SetGlobalTimer("psTimeToBroomSpawn","GLOBAL",FOUR_DAYS) SetGlobal("GlobalTimerExpired","AR0411",1) CreateCreatureObjectOffScreen("psApAtt3",Player1,0,0,0) // Apprentice Continue() ENDIn the debugged code, the name of the area variable in the response block has been corrected:
IF GlobalTimerExpired("psTimeToDegoSpawn","GLOBAL") Global("psDegoSpawnToggle","AR0411",0) AreaCheckObject("ar0411", Player1) THEN RESPONSE #100 SetGlobalTimer("psTimeToBroomSpawn","GLOBAL",FOUR_DAYS) SetGlobal("psDegoSpawnToggle","AR0411",1) CreateCreatureObjectOffScreen("psApAtt3",Player1,0,0,0) // Apprentice Continue() ENDI didn't test this yet because at the time I played, I was fed up with the bugs and simply set the global to 2 manually, delaying further analysis until later. But I think this should work.
(4) The broom episode
What a surprise...this also hangs. There are several bugs in PsCut35.bcs. I didn't get it to work yet (it still hangs after the broom attack), but here are some of the bugs:
An attack sequence is supposed to be played out between an Apprentice (psAdApp1.cre or psApp01.cre) and a broom (psBroom1.cre). The cutscene script treats most actions as if it were a creature script, and the target is non-existent (the identifier PQAF1 is undefined), so we get several lines of
ForceSpell("PSQBROOM",WIZARD_MAGIC_MISSILE)which should probably be something like:
ActionOverride("psAdApp1", ForceSpell("psBroom1", WIZARD_MAGIC_MISSILE))Also, psAdApp1 is not unique, and the constant PQSBROOM referred to by the original code is never set, so there may be other problems with this (Edit: at that point, psAdApp01 is most likely unique, so it should be used instead of psAdd01.cre, which is not). Regardless, after this the broom is supposed to attack the apprentice, but again the target is wrong. Current code:
MoveToObject("psApp01") Wait(1) FaceObject("psApp01") Swing() SmallWait(10) Swing() SmallWait(10) Attack("psApp01") Wait(1) Kill("psApp01")Obviously, either psApp01 should be replaced by psAdApp1 in this sequence, or psApp01 instead of psAdApp1 should be created in the area script. Also, there is again no creature reference for the attacks, so I think ActionOverride should be used here (I'm not an expert - is this correct?). The attack does happen, but probably it's through the Mordy script attached to the broom
Anyway, even though I could see the attack happen, how the cutscene hangs after the apprentice is killed. So I just loaded an old save and manually set psBroomSpawnCounter to 2. I'll get back to this - As far as I have been able to determine, several brooms are supposed to spawn (hmm, in exactly the same place - I wonder what that's supposed to mean) and then the cutscene should end. But the brooms don't spawn and the cutscene doesn't end.
So, maybe this is some help to whoever has the infinite patience to maintain and upgrade this mod.
Edited by Ieldra, 03 September 2007 - 05:24 AM.