Prev: 56190 Up: Map Next: 56281
56244: Character Picker
Used by the routine at TargetMonster.
Input
A Number between 0-3
Output
A Monster state
B Monster number
DE Pointer to Monster X Position
The monster IDs are the following:
ID Monster
1 George
2 Lizzy
3 Ralph
CharacterPicker 56244 INC A Make the number 1-4 instead of 0-3.
56245 CP 4 Jump to GetCharacter if A is not equal to 4.
56247 JR NZ,GetCharacter
There aren't four monsters so make 4 into 1. This means George has 50% chance of being chosen, Lizzy and Ralph are 25% each.
56249 LD A,1 A=1.
This entry point is used by the routine at 56281.
GetCharacter 56251 LD B,A B=A.
Test if it's George.
CharacterPicker_George 56252 CP 1 Jump to CharacterPicker_Lizzy if A is not equal to 1.
56254 JR NZ,CharacterPicker_Lizzy
56256 LD A,(53202) A=*George_State.
56259 LD DE,53211 DE=George_X_Position.
56262 RET Return.
Test if it's Lizzy.
CharacterPicker_Lizzy 56263 CP 2 Jump to CharacterPicker_Ralph if A is not equal to 2.
56265 JR NZ,CharacterPicker_Ralph
56267 LD A,(53249) A=*Lizzy_State.
56270 LD DE,53258 DE=Lizzy_X_Position.
56273 RET Return.
If it's neither of the above then it can only be Ralph.
CharacterPicker_Ralph 56274 LD A,(53296) A=*Ralph_State.
56277 LD DE,53305 DE=Ralph_X_Position.
56280 RET Return.
Prev: 56190 Up: Map Next: 56281