![]() |
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 |