Prev: 43106 Up: Map Next: 43139
43121: Condition: Item Location Differs
Succeeds when the item operand is not in the room given by the second operand.
Output
F The zero flag is set when the location differs
IX Pointer to the script entry
Invert the location test so the condition succeeds when the item is somewhere else.
Condition_ItemLocationDiffers 43121 LD A,(IX+1) Fetch the item ID (the operand) from *IX+1 into A.
43124 CALL RunScript_ResolveMatchedItem Call RunScript_ResolveMatchedItem to substitute the matched item ID from ScriptMatchedItem when the operand is 255.
43127 CALL ItemLocator Call ItemLocator to read that item's room into A.
43130 CP (IX+2) Compare it with the room operand.
43133 CALL RunScript_InvertConditionResult Call RunScript_InvertConditionResult so the condition succeeds when the rooms differ.
43136 JP RunScript_SkipCondition_ThreeBytes Jump to RunScript_SkipCondition_ThreeBytes.
Prev: 43106 Up: Map Next: 43139