Prev: 60150 Up: Map Next: 60640
60554: Routine at EC8A
60554 LD A,(53838) Jump to 60608 if *Active_MonsterYPosition is equal to 18.
60557 CP 18
60559 JR Z,60608
60561 LD A,(53835) Decrease *Active_MonsterActionCountdown by one.
60564 DEC A
60565 LD (53835),A
60568 CP 18 Jump to 60579 if *Active_MonsterActionCountdown is higher than 18.
60570 JR NC,60579
60572 CALL Handler_IncrementMonsterYPosition Call Handler_IncrementMonsterYPosition.
60575 CP 18 Jump to 60608 if A is equal to 18.
60577 JR Z,60608
The routine at DrawMonsterSprite handles which monster to display.
60579 LD A,9 A=sprite ID 9.
George Lizzy Ralph
ID Sprite ID Sprite ID Sprite
9 sprite-9-left 73 sprite-73-left 137 sprite-137-left
Set the co-ordinates for where to draw.
60581 LD BC,(53837) BC=*Active_MonsterXPosition/Active_MonsterYPosition.
60585 PUSH BC Stash the co-ordinates on the stack.
60586 CALL DrawMonsterSprite Call DrawMonsterSprite.
60589 POP BC Restore the co-ordinates from the stack.
60590 INC B Increment both the X and Y positions by one to target drawing the mouth section.
60591 INC C
60592 LD A,(53831) A=*Flag_Orientation.
60595 XOR %00000001 Flip bit 0.
60597 ADD A,C A+=C.
60598 LD C,A C=A.
The routine at DrawMonsterSprite handles which monster to display.
60599 LD A,23 A=sprite ID 23.
George Lizzy Ralph
ID Sprite ID Sprite ID Sprite
23 sprite-23-left 87 sprite-87-left 151 sprite-151-left
60601 CALL DrawMonsterSprite Call DrawMonsterSprite.
60604 CALL Handler_IncrementMonsterYPosition Call Handler_IncrementMonsterYPosition.
60607 RET Return.
60608 LD A,(53831) A=*Flag_Orientation.
Moves the orientation flag into the carry flag.
60611 RRCA Rotate A right one position, setting the carry flag if bit 0 was set.
60612 CALL NC,Handler_DecreaseMonsterXPosition Call Handler_DecreaseMonsterXPosition if the carry flag is not set.
60615 LD A,18 Write 18 to *Active_MonsterYPosition.
60617 LD (53838),A
60620 LD A,25 Write 25 to *Active_MonsterActionCountdown.
60622 LD (53835),A
60625 XOR A Write 0 to:
60626 LD (53830),A
60629 LD (53832),A
60632 LD A,1 Write 1 to *53839.
60634 LD (53839),A
60637 JP 61318 Jump to 61318.
Prev: 60150 Up: Map Next: 60640