Prev: AB4A Up: Map Next: AB73
AB5E: Action: Stop Turn Event
Clears the bit operand in Flags_TurnEvents.
Input
F The zero flag is set when the conditions hold
IX Pointer to the script entry (opcode, event index)
When the condition failed, skip this action.
Action_StopTurnEvent AB5E JP NZ,RunScript_SkipAction_TwoBytes Jump to RunScript_SkipAction_TwoBytes if the condition failed.
The operand selects which turn-based event to disarm in Flags_TurnEvents.
AB61 LD B,(IX+$01) Fetch the event number from *IX+01 into B.
AB64 INC B Start the count at one so event 00 needs a single rotate.
AB65 XOR A Clear A and set the carry flag as the seed bit.
AB66 SCF
StopTurnEvent_Mask AB67 RLA Rotate the seed bit left into the mask.
AB68 DJNZ StopTurnEvent_Mask Decrease the event count by one and loop back to StopTurnEvent_Mask until the bit is in place.
Clear that bit so the turn-based event is disarmed.
AB6A LD HL,$A0C8 Clear that bit in *Flags_TurnEvents.
AB6D CPL
AB6E AND (HL)
AB6F LD (HL),A
AB70 JP RunScript_SkipAction_TwoBytes Jump to RunScript_SkipAction_TwoBytes.
Prev: AB4A Up: Map Next: AB73