Routines |
Prev: DA71 | Up: Map | Next: DBB4 |
Used by the routines at Human_Lobber and Human_Shooter.
|
||||
TargetMonster | DB7E | XOR A | Write 00 to *D214. | |
DB7F | LD ($D214),A | |||
DB82 | CALL RandomNumber | Get a random number between 0-3. | ||
DB85 | AND %00000011 | |||
Note; CharacterPicker increments A on entry.
|
||||
ConvertToMonsterId | DB87 | CALL CharacterPicker | Call CharacterPicker. | |
This entry point is used by the routine at DBD9.
|
||||
CheckIfMonsterIsAlive | DB8A | CP $C8 | Jump to SetTargetedMonster_XPos if the monster state is lower than C8. | |
DB8C | JR C,SetTargetedMonster_XPos | |||
DB8E | LD A,$80 | Write 80 to *D214. | ||
DB90 | LD ($D214),A | |||
The monster ID e.g. 01 - George, 02 - Lizzy and 03 Ralph.
|
||||
DB93 | LD A,B | A=the selected monster ID. | ||
Try again with the next monster in sequence.
|
||||
DB94 | JR ConvertToMonsterId | Jump to ConvertToMonsterId. | ||
SetTargetedMonster_XPos | DB96 | LD A,($D214) | A=*D214. | |
DB99 | OR B | Set the bits from B. | ||
DB9A | EX AF,AF' | Exchange the AF register with the shadow AF register. | ||
DB9B | LD A,(DE) | A=the targeted monsters X position. | ||
DB9C | INC A | Increment A by two. | ||
DB9D | INC A | |||
DB9E | LD B,A | B=A. | ||
DB9F | CP $64 | Jump to SetTargetedMonster_YPos if A is lower than 64. | ||
DBA1 | JR C,SetTargetedMonster_YPos | |||
DBA3 | LD B,$00 | B=00. | ||
SetTargetedMonster_YPos | DBA5 | INC DE | Increment DE by one. | |
DBA6 | LD A,(DE) | A=the targeted monsters y position. | ||
DBA7 | INC A | Increment A by one. | ||
DBA8 | LD C,A | C=A. | ||
DBA9 | CP $64 | Jump to TargetMonster_0 if A is lower than 64. | ||
DBAB | JR C,TargetMonster_0 | |||
DBAD | LD C,$00 | C=00. | ||
TargetMonster_0 | DBAF | XOR A | Write 00 to *D214. | |
DBB0 | LD ($D214),A | |||
DBB3 | RET | Return. |
Prev: DA71 | Up: Map | Next: DBB4 |