Prev: AB0E Up: Map Next: AB37
AB22: Action: Clear Event Flag
Clears the bit operand in Flags_EventStates.
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_ClearEventFlag AB22 JP NZ,RunScript_SkipAction_TwoBytes Jump to RunScript_SkipAction_TwoBytes if the condition failed.
The operand selects which event bit to clear in Flags_EventStates.
AB25 LD B,(IX+$01) Fetch the event number from *IX+01 into B.
AB28 INC B Start the count at one so event 00 needs a single rotate.
AB29 XOR A Clear A and set the carry flag as the seed bit.
AB2A SCF
ClearEventMask AB2B RLA Rotate the seed bit left into the mask.
AB2C DJNZ ClearEventMask Decrease the event count by one and loop back to ClearEventMask until the bit is in place.
Clear that bit so the event no longer follows the player.
AB2E LD HL,$A0D1 Clear that bit in *Flags_EventStates.
AB31 CPL
AB32 AND (HL)
AB33 LD (HL),A
AB34 JP RunScript_SkipAction_TwoBytes Jump to RunScript_SkipAction_TwoBytes.
Prev: AB0E Up: Map Next: AB37