Prev: AB04 Up: Map Next: AB22
AB0E: Action: Set Event Flag
Sets 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_SetEventFlag AB0E JP NZ,RunScript_SkipAction_TwoBytes Jump to RunScript_SkipAction_TwoBytes if the condition failed.
The operand selects which event bit to set in Flags_EventStates.
AB11 LD B,(IX+$01) Fetch the event number from *IX+01 into B.
AB14 INC B Start the count at one so event 00 needs a single rotate.
AB15 XOR A Clear A and set the carry flag as the seed bit.
AB16 SCF
BuildEventMask AB17 RLA Rotate the seed bit left into the mask.
AB18 DJNZ BuildEventMask Decrease the event count by one and loop back to BuildEventMask until the bit is in place.
Set that bit so the event follows the player.
AB1A LD HL,$A0D1 Set that bit in *Flags_EventStates.
AB1D OR (HL)
AB1E LD (HL),A
AB1F JP RunScript_SkipAction_TwoBytes Jump to RunScript_SkipAction_TwoBytes.
Prev: AB04 Up: Map Next: AB22