schep wrote:
I have some character scripts with rather particular timing, such that
Wait 1 turn(s)
Wait 1 turn(s)
works but Wait 2 turn(s)
does not.
...
So I already found my workaround, but I don't really understand why it is the way it is, and I'm curious about the intent of the waiting and movement interaction.
Ohh...hmm... If I understand correctly, the inconsistency is that two consecutive "
Wait 1 turn"
commands force the NPC to really wait two full turns (and not do anything else until the third turn), but a single "
Wait 2 turns"
command allows the NPC to perform checks and do speech on the second turn, right? This does sound like bad logic. Both amounts of waiting should cause full turns to pass without doing anything else at all on these turns.
I propose simplifying the upper Wait check in the code to
if (this->wTurnDelay)
{
//Skip turn.
--this->wTurnDelay;
return;
}
Do you agree this would be more proper?
____________________________
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.