Thanks for pointing this out. I'm looking into it, but for now, I'll respond to the following:
schep wrote:
...since fixing the above bug would require mucking with that code anyway, is there a reason CCharacter::CheckForCueEvent can't do something smart with wJumpLabel? I would test out something like:
in CCharacter::Process: case CCharacterCommand::CC_WaitForCueEvent:
{
// Wait for cue event X to fire.
const CUEEVENT_ID cid = static_cast<CUEEVENT_ID>(command.x);
if (!CueEvents.HasOccured(cid)) {
// Check again at the end of the turn in function
// CheckForCueEvent(). Do not change the command index yet.
this->bWaitingForCueEvent = true;
return;
}
bProcessNextCommand = true;
}
break;
Unfortunately, there's something undesirable about this change: on an
If <wait for event> go to, if the event does not occur, this code halts NPC script execution for the rest of the turn. This is inconsistent with all other
If <Wait for ...> go to conditionals, which continue script execution the same turn the condition is not satisfied.
[Edited by mrimer at
Local Time:06-02-2005 at 08:11 PM]
____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.