Prev: 43780 Up: Map Next: 43810
43790: 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 43790 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.
43793 LD B,(IX+1) Fetch the event number from *IX+1 into B.
43796 INC B Start the count at one so event 0 needs a single rotate.
43797 XOR A Clear A and set the carry flag as the seed bit.
43798 SCF
BuildEventMask 43799 RLA Rotate the seed bit left into the mask.
43800 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.
43802 LD HL,41169 Set that bit in *Flags_EventStates.
43805 OR (HL)
43806 LD (HL),A
43807 JP RunScript_SkipAction_TwoBytes Jump to RunScript_SkipAction_TwoBytes.
Prev: 43780 Up: Map Next: 43810