Prev: E2C3 Up: Map Next: E38D
E2CC: Human 0D-10: Throwing Projectiles
Human_Lobber E2CC POP HL Restore human table pointer from the stack.
Lobber_DecreaseCountdown E2CD LD A,(HL) Decrease the humans action countdown by one.
E2CE DEC A
E2CF LD (HL),A
E2D0 CP $C8 Jump to Lobber_AboutToHide if the humans action countdown (A) is higher than C8.
E2D2 JP NC,Lobber_AboutToHide
E2D5 CP $5A Jump to Human_Lobber_0 if the humans action countdown (A) is higher than 5A.
E2D7 JR NC,Human_Lobber_0
E2D9 CP $50 Jump to Human_Lobber_1 if the humans action countdown (A) is higher than 50.
E2DB JR NC,Human_Lobber_1
E2DD CP $46 Jump to Human_Lobber_2 if the humans action countdown (A) is higher than 46.
E2DF JR NC,Human_Lobber_2
E2E1 CP $3C Jump to Human_Lobber_3 if the humans action countdown (A) is higher than 3C.
E2E3 JR NC,Human_Lobber_3
E2E5 CP $32 Jump to Human_Lobber_5 if the humans action countdown (A) is higher than 32.
E2E7 JR NC,Human_Lobber_5
E2E9 CP $28 Jump to Human_Lobber_6 if the humans action countdown (A) is higher than 28.
E2EB JR NC,Human_Lobber_6
E2ED CP $1E Jump to Human_Lobber_7 if the humans action countdown (A) is higher than 1E.
E2EF JR NC,Human_Lobber_7
E2F1 CP $14 Jump to Human_Lobber_8 if the humans action countdown (A) is higher than 14.
E2F3 JR NC,Human_Lobber_8
E2F5 CP $0A Jump to Human_Lobber_9 if the humans action countdown (A) is higher than 0A.
E2F7 JR NC,Human_Lobber_9
Hmmmmmmm E2F9 AND A Set flags.
E2FA LD A,$C2
ID Sprite
C2 human-194-left
E2FC JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if {} is not zero.
E2FE CALL ShouldHumanHide Call ShouldHumanHide.
E301 JR C,Lobber_DecreaseCountdown Jump to Lobber_DecreaseCountdown if the human is set to start hiding.
E303 LD A,($D3FA) A=*NumberProjectiles.
E306 INC A Increment A by one.
E307 CP $07 Jump to Lobber_DecreaseCountdown if A is equal to 07.
E309 JR Z,Lobber_DecreaseCountdown
E30B LD ($D3FA),A Write A to *NumberProjectiles.
E30E CALL TargetMonster Call TargetMonster.
E311 INC HL Increment HL by one.
E312 LD A,(HL) A=*HL.
E313 DEC HL Decrease HL by one.
E314 CP B Jump to Human_Lobber_4 if A is higher than B.
E315 JR NC,Human_Lobber_4
E317 LD (HL),$62 Write 62 to *HL.
Human_Lobber_0 E319 LD A,$C2
ID Sprite Sprite
C2 human-194-left human-194-right
E31B JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if {} is not zero.
E31D LD (HL),$55 Write 55 to *HL.
E31F OR A Set the bits from A.
Human_Lobber_1 E320 LD A,$C4
ID Sprite
C4 human-196-left
E322 JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if {} is not zero.
E324 LD (HL),$47 Write 47 to *HL.
E326 OR A Set the bits from A.
Human_Lobber_2 E327 LD A,$C6
ID Sprite
C6 human-198-left
E329 JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if {} is not zero.
E32B LD A,$01 A=01.
E32D CALL Human_Lobber_11 Call Human_Lobber_11.
E330 LD (HL),$3E Write 3E to *HL.
E332 OR A Set the bits from A.
Human_Lobber_3 E333 LD A,$C8
ID Sprite
C8 human-200-left
E335 JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if {} is not zero.
E337 LD (HL),$14 Write 14 to *HL.
E339 LD A,$C2
ID Sprite
C2 human-194-left
Alias_Draw_Human_Sprite E33B JP Draw_Human_Sprite Jump to Draw_Human_Sprite.
Human_Lobber_4 E33E LD (HL),$3A Write 3A to *HL.
E340 OR A Set the bits from A.
Human_Lobber_5 E341 LD A,$C2
ID Sprite
C2 human-194-left
E343 JR NZ,Human_Lobber_10 Jump to Human_Lobber_10 if {} is not zero.
E345 LD (HL),$2D Write 2D to *HL.
E347 OR A Set the bits from A.
Human_Lobber_6 E348 LD A,$C4
ID Sprite
C4 human-196-left
E34A JR NZ,Human_Lobber_10 Jump to Human_Lobber_10 if {} is not zero.
E34C LD (HL),$1F Write 1F to *HL.
E34E OR A Set the bits from A.
Human_Lobber_7 E34F LD A,$C6
ID Sprite
C6 human-198-left
E351 JR NZ,Human_Lobber_10 Jump to Human_Lobber_10 if {} is not zero.
E353 LD A,$41 A=41.
E355 CALL Human_Lobber_11 Call Human_Lobber_11.
E358 LD (HL),$18 Write 18 to *HL.
E35A OR A Set the bits from A.
Human_Lobber_8 E35B LD A,$C8
ID Sprite
C8 human-200-left
E35D JR NZ,Human_Lobber_10 Jump to Human_Lobber_10 if {} is not zero.
E35F LD (HL),$0A Write 0A to *HL.
E361 LD A,$C2
ID Sprite
C2 human-194-left
E363 JR Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite.
Human_Lobber_9 E365 LD A,$C0
ID Sprite
C0 human-192-left
E367 JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite if A was not equal to C8 on line E2D0.
E369 JR Hmmmmmmm Jump to Hmmmmmmm.
The countdown between CE-C9 handles the delay before C8 will hide the human.
Lobber_AboutToHide E36B LD A,$C0
ID Sprite
C0 human-192-left
E36D JR NZ,Alias_Draw_Human_Sprite Jump to Alias_Draw_Human_Sprite until the countdown equals C8 (from line E2D0).
E36F JP Handler_Human_Hide Jump to Handler_Human_Hide.
Human_Lobber_10 E372 JP Draw_Human_Sprite_Mirrored Jump to Draw_Human_Sprite_Mirrored.
Human_Lobber_11 E375 PUSH HL Stash HL on the stack.
E376 EX AF,AF' Exchange the AF register with the shadow AF register.
E377 INC HL Increment HL by one.
E378 LD C,(HL) C=*HL.
E379 INC HL Increment HL by one.
E37A LD B,(HL) B=*HL.
E37B LD HL,$D30A HL=D30A (Table_Projectiles-03).
Lobber_FindSlot E37E INC HL Increment HL by three.
E37F INC HL
E380 INC HL
E381 LD A,(HL) Jump to Lobber_FindSlot if *HL is not zero.
E382 AND A
E383 JR NZ,Lobber_FindSlot
E385 EX AF,AF' Exchange the AF register with the shadow AF register.
E386 LD (HL),A Write A to *HL.
E387 INC HL Increment HL by one.
E388 LD (HL),B Write B to *HL.
E389 INC HL Increment HL by one.
E38A LD (HL),C Write C to *HL.
E38B POP HL Restore HL from the stack.
E38C RET Return.
Prev: E2C3 Up: Map Next: E38D