Prev: 58051 Up: Map Next: 58253
58060: Human 13-16: Throwing Projectiles
Human_Lobber 58060 POP HL Restore human table pointer from the stack.
Lobber_DecreaseCountdown 58061 LD A,(HL) Decrease the humans action countdown by one.
58062 DEC A
58063 LD (HL),A
58064 CP 200 Jump to Lobber_AboutToHide if the humans action countdown (A) is higher than 200.
58066 JP NC,Lobber_AboutToHide
58069 CP 90 Jump to Human_Lobber_0 if the humans action countdown (A) is higher than 90.
58071 JR NC,Human_Lobber_0
58073 CP 80 Jump to Human_Lobber_1 if the humans action countdown (A) is higher than 80.
58075 JR NC,Human_Lobber_1
58077 CP 70 Jump to Human_Lobber_2 if the humans action countdown (A) is higher than 70.
58079 JR NC,Human_Lobber_2
58081 CP 60 Jump to Human_Lobber_3 if the humans action countdown (A) is higher than 60.
58083 JR NC,Human_Lobber_3
58085 CP 50 Jump to Human_Lobber_5 if the humans action countdown (A) is higher than 50.
58087 JR NC,Human_Lobber_5
58089 CP 40 Jump to Human_Lobber_6 if the humans action countdown (A) is higher than 40.
58091 JR NC,Human_Lobber_6
58093 CP 30 Jump to Human_Lobber_7 if the humans action countdown (A) is higher than 30.
58095 JR NC,Human_Lobber_7
58097 CP 20 Jump to Human_Lobber_8 if the humans action countdown (A) is higher than 20.
58099 JR NC,Human_Lobber_8
58101 CP 10 Jump to Human_Lobber_9 if the humans action countdown (A) is higher than 10.
58103 JR NC,Human_Lobber_9
Hmmmmmmm 58105 AND A Set flags.
58106 LD A,194
ID Sprite
194 human-194-left
58108 JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if {} is not zero.
58110 CALL ShouldHumanHide Call ShouldHumanHide.
58113 JR C,Lobber_DecreaseCountdown Jump to Lobber_DecreaseCountdown if the human is set to start hiding.
58115 LD A,(54266) A=*NumberProjectiles.
58118 INC A Increment A by one.
58119 CP 7 Jump to Lobber_DecreaseCountdown if A is equal to 7.
58121 JR Z,Lobber_DecreaseCountdown
58123 LD (54266),A Write A to *NumberProjectiles.
58126 CALL TargetMonster Call TargetMonster.
58129 INC HL Increment HL by one.
58130 LD A,(HL) A=*HL.
58131 DEC HL Decrease HL by one.
58132 CP B Jump to Human_Lobber_4 if A is higher than B.
58133 JR NC,Human_Lobber_4
58135 LD (HL),98 Write 98 to *HL.
Human_Lobber_0 58137 LD A,194
ID Sprite Sprite
194 human-194-left human-194-right
58139 JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if {} is not zero.
58141 LD (HL),85 Write 85 to *HL.
58143 OR A Set the bits from A.
Human_Lobber_1 58144 LD A,196
ID Sprite
196 human-196-left
58146 JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if {} is not zero.
58148 LD (HL),71 Write 71 to *HL.
58150 OR A Set the bits from A.
Human_Lobber_2 58151 LD A,198
ID Sprite
198 human-198-left
58153 JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if {} is not zero.
58155 LD A,1 A=1.
58157 CALL Human_Lobber_11 Call Human_Lobber_11.
58160 LD (HL),62 Write 62 to *HL.
58162 OR A Set the bits from A.
Human_Lobber_3 58163 LD A,200
ID Sprite
200 human-200-left
58165 JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if {} is not zero.
58167 LD (HL),20 Write 20 to *HL.
58169 LD A,194
ID Sprite
194 human-194-left
Alias_Draw_Human_Sprite 58171 JP Draw_Human_Sprite Jump to Draw_Human_Sprite.
Human_Lobber_4 58174 LD (HL),58 Write 58 to *HL.
58176 OR A Set the bits from A.
Human_Lobber_5 58177 LD A,194
ID Sprite
194 human-194-left
58179 JR NZ,Human_Lobber_10 Jump to Human_Lobber_10 if {} is not zero.
58181 LD (HL),45 Write 45 to *HL.
58183 OR A Set the bits from A.
Human_Lobber_6 58184 LD A,196
ID Sprite
196 human-196-left
58186 JR NZ,Human_Lobber_10 Jump to Human_Lobber_10 if {} is not zero.
58188 LD (HL),31 Write 31 to *HL.
58190 OR A Set the bits from A.
Human_Lobber_7 58191 LD A,198
ID Sprite
198 human-198-left
58193 JR NZ,Human_Lobber_10 Jump to Human_Lobber_10 if {} is not zero.
58195 LD A,65 A=65.
58197 CALL Human_Lobber_11 Call Human_Lobber_11.
58200 LD (HL),24 Write 24 to *HL.
58202 OR A Set the bits from A.
Human_Lobber_8 58203 LD A,200
ID Sprite
200 human-200-left
58205 JR NZ,Human_Lobber_10 Jump to Human_Lobber_10 if {} is not zero.
58207 LD (HL),10 Write 10 to *HL.
58209 LD A,194
ID Sprite
194 human-194-left
58211 JR Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite.
Human_Lobber_9 58213 LD A,192
ID Sprite
192 human-192-left
58215 JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if A was not equal to 200 on line 58064.
58217 JR Hmmmmmmm Jump to Hmmmmmmm.
The countdown between 206-201 handles the delay before 200 will hide the human.
Lobber_AboutToHide 58219 LD A,192
ID Sprite
192 human-192-left
58221 JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite until the countdown equals 200 (from line 58064).
58223 JP Handler_Human_Hide Jump to Handler_Human_Hide.
Human_Lobber_10 58226 JP Draw_Human_Sprite_Mirrored Jump to Draw_Human_Sprite_Mirrored.
Human_Lobber_11 58229 PUSH HL Stash HL on the stack.
58230 EX AF,AF' Exchange the AF register with the shadow AF register.
58231 INC HL Increment HL by one.
58232 LD C,(HL) C=*HL.
58233 INC HL Increment HL by one.
58234 LD B,(HL) B=*HL.
58235 LD HL,54026 HL=54026 (Table_Projectiles-3).
Lobber_FindSlot 58238 INC HL Increment HL by three.
58239 INC HL
58240 INC HL
58241 LD A,(HL) Jump to Lobber_FindSlot if *HL is not zero.
58242 AND A
58243 JR NZ,Lobber_FindSlot
58245 EX AF,AF' Exchange the AF register with the shadow AF register.
58246 LD (HL),A Write A to *HL.
58247 INC HL Increment HL by one.
58248 LD (HL),B Write B to *HL.
58249 INC HL Increment HL by one.
58250 LD (HL),C Write C to *HL.
58251 POP HL Restore HL from the stack.
58252 RET Return.
Prev: 58051 Up: Map Next: 58253