Prev: 54785 Up: Map Next: 54841
54813: Script Routine: (57) Collectible action
Slide the collectible left when the cell to the left is clear.
Input
IX Address of complex state data for an entity
ScriptRoutine_CollectibleDecXIfClearLeft 54813 CALL Test_EntityOnLeft Call Test_EntityOnLeft to test whether a solid entity sits on the left.
54816 JR C,ScriptRoutine_CollectibleDecXIfClearLeft_DecX Is the space on the left clear (carry set)? If so, jump to ScriptRoutine_CollectibleDecXIfClearLeft_DecX.
54818 CP 50 Is A less than 50? If so, jump to ScriptRoutine_CollectibleDecXIfClearLeft_DecX.
54820 JR C,ScriptRoutine_CollectibleDecXIfClearLeft_DecX
54822 SET 1,(IX+9) Set bit 1 of the current entity's direction / state.
54826 LD HL,54230 Point HL at the dialogue/message table (54230).
54829 JP ScriptInstruction Jump to ScriptInstruction to execute the script instruction at HL.
Nudge the collectible one character left when the left side is clear (or close).
ScriptRoutine_CollectibleDecXIfClearLeft_DecX 54832 DEC (IX+7) Move this entity one character left.
54835 DEC (IX+8)
54838 JP AdvanceScriptInstruction Jump to AdvanceScriptInstruction to run the next script instruction.
Prev: 54785 Up: Map Next: 54841