Prev: D601 Up: Map Next: D639
D61D: Script Routine: (39) 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 D61D CALL Test_EntityOnLeft Call Test_EntityOnLeft to test whether a solid entity sits on the left.
D620 JR C,ScriptRoutine_CollectibleDecXIfClearLeft_DecX Is the space on the left clear (carry set)? If so, jump to ScriptRoutine_CollectibleDecXIfClearLeft_DecX.
D622 CP $32 Is A less than 32? If so, jump to ScriptRoutine_CollectibleDecXIfClearLeft_DecX.
D624 JR C,ScriptRoutine_CollectibleDecXIfClearLeft_DecX
D626 SET 1,(IX+$09) Set bit 01 of the current entity's direction / state.
D62A LD HL,$D3D6 Point HL at the dialogue/message table (D3D6).
D62D 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 D630 DEC (IX+$07) Move this entity one character left.
D633 DEC (IX+$08)
D636 JP AdvanceScriptInstruction Jump to AdvanceScriptInstruction to run the next script instruction.
Prev: D601 Up: Map Next: D639