Prev: AB37 Up: Map Next: AB5E
AB4A: Action: Start Turn Event
Sets the bit operand in Flags_TurnEvents, which arms that turn-based event.
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_StartTurnEvent AB4A JP NZ,RunScript_SkipAction_TwoBytes Jump to RunScript_SkipAction_TwoBytes if the condition failed.
The operand selects which turn-based event to arm in Flags_TurnEvents.
AB4D LD B,(IX+$01) Fetch the event number from *IX+01 into B.
AB50 INC B Start the count at one so event 00 needs a single rotate.
AB51 XOR A Clear A and set the carry flag as the seed bit.
AB52 SCF
StartTurnEvent_Mask AB53 RLA Rotate the seed bit left into the mask.
AB54 DJNZ StartTurnEvent_Mask Decrease the event count by one and loop back to StartTurnEvent_Mask until the bit is in place.
Set that bit so the turn-based event is armed.
AB56 LD HL,$A0C8 Set that bit in *Flags_TurnEvents.
AB59 OR (HL)
AB5A LD (HL),A
AB5B JP RunScript_SkipAction_TwoBytes Jump to RunScript_SkipAction_TwoBytes.
Prev: AB37 Up: Map Next: AB5E