Routines |
Prev: E2C3 | Up: Map | Next: E38D |
|
|||||||||
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 |
|
|||||||
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 |
|
||||||
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 |
|
||||||
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 |
|
||||||
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 |
|
||||||
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 |
|
|||||||
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 |
|
||||||
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 |
|
||||||
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 |
|
||||||
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 |
|
||||||
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 |
|
|||||||
E363 | JR Alias_Draw_Human_Sprite | Jump to Alias_Draw_Human_Sprite. | |||||||
Human_Lobber_9 | E365 | LD A,$C0 |
|
||||||
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 |
|
||||||
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 |