Prev: A0C5 Up: Map Next: A19A
A0C8: Move the mother duck
Used by the routine at 9858.
A0C8 LD IX,$72D8
A0CC LD A,($7348)
A0CF CP (IX+$00)
A0D2 JR Z,$A0ED
A0D4 JR C,$A0E1
A0D6 LD A,($734A)
A0D9 DEC A
A0DA CP $FA
A0DC JR NZ,$A0DF
A0DE INC A
A0DF JR $A0EA
A0E1 LD A,($734A)
A0E4 INC A
A0E5 CP $06
A0E7 JR NZ,$A0EA
A0E9 DEC A
A0EA LD ($734A),A
A0ED LD A,($7349)
A0F0 CP (IX+$01)
A0F3 JR Z,$A10E
A0F5 JR C,$A102
A0F7 LD A,($734B)
A0FA DEC A
A0FB CP $FA
A0FD JR NZ,$A100
A0FF INC A
A100 JR $A10B
A102 LD A,($734B)
A105 INC A
A106 CP $06
A108 JR NZ,$A10B
A10A DEC A
A10B LD ($734B),A
A10E LD HL,($7348)
A111 LD A,$0C
A113 CALL $9A4C
A116 CALL $9538
A119 LD A,($7348)
A11C BIT 7,(IX+$72)
A120 JR NZ,$A135
A122 ADD A,(IX+$72)
A125 CP $EE
A127 JR C,$A144
A129 SUB (IX+$72)
A12C SUB (IX+$72)
A12F LD (IX+$72),$FB
A133 JR $A144
A135 ADD A,(IX+$72)
A138 JR C,$A144
A13A SUB (IX+$72)
A13D SUB (IX+$72)
A140 LD (IX+$72),$05
A144 LD ($7348),A
A147 LD A,($7349)
A14A ADD A,(IX+$73)
A14D CP $A6
A14F JR C,$A15D
A151 SUB (IX+$73)
A154 SUB (IX+$73)
A157 LD (IX+$73),$FB
A15B JR $A16B
A15D CP $14
A15F JR NC,$A16B
A161 SUB (IX+$73)
A164 SUB (IX+$73)
A167 LD (IX+$73),$05
A16B LD ($7349),A
On level 8 and below, ignore the new position and stick the mother duck to the cage
A16E LD A,($6EEB)
A171 CP $08
A173 JR NC,$A17B
A175 LD HL,$9808
A178 LD ($7348),HL
A17B LD HL,($7348)
A17E LD C,$08
A180 LD A,($72D8)
A183 CP (IX+$70)
A186 JR NC,$A18A
A188 LD C,$0A
A18A LD A,C
A18B ADD A,(IX+$75)
A18E CALL $9A4C
A191 LD A,($734D)
A194 XOR $01
A196 LD ($734D),A
A199 RET
Prev: A0C5 Up: Map Next: A19A