Prev: 602E Up: Map Next: 60FD
6090: Player Turn Ends
Message_Eaten 6090 DEFM $47 Attribute: 47 + "YOUR PLANT HAS BEEN EATEN".
6091 DEFM "YOUR PLANT HAS BEEN EATE","N"+$80
This entry point is used by the routine at AnimateExplosion.
PlayerTurnEnds 60AA XOR A Reset 5E3C.
60AB LD ($5E3C),A
60AE LD HL,$5E8E
60B1 LD A,(HL)
60B2 CP $B7
60B4 JR C,Message_Eaten_0
60B6 LD (HL),$A7
60B8 CALL CreateWindow Call CreateWindow.
60BB LD DE,$6090 DE=Message_Eaten.
60BE LD HL,$7020 HL=7020.
60C1 CALL GameOverPrint_Pause Call GameOverPrint_Pause.
Message_Eaten_0 60C4 LD HL,$5EB4 HL=5EB4.
60C7 LD B,$07 B=07.
60C9 CALL SetObjectInactive Call SetObjectInactive.
60CC LD A,($5E03) If GameOptions says this is a 2UP game, jump to PlayerTurnEnds_2UP.
60CF AND %00000001
60D1 JR NZ,PlayerTurnEnds_2UP
Handle 1UP player.
PlayerTurnEnds_1UP 60D3 LD A,($5E38) If 1UP is out of lives (using CurrentPlayer_Lives), jump to GameOver_ControllerRestart.
60D6 AND A
60D7 JP Z,GameOver_ControllerRestart
60DA CALL LevelInit Call LevelInit.
60DD JP PlayerInit Jump to PlayerInit.
Handle 2UP player.
PlayerTurnEnds_2UP 60E0 LD A,($5E3A) If InactivePlayer_Lives says this is a 1UP game, jump to PlayerTurnEnds_1UP.
60E3 AND A
60E4 JR Z,PlayerTurnEnds_1UP
60E6 LD A,($5E38) If 2UP is out of lives (using CurrentPlayer_Lives), jump to GameOver_Controller.
60E9 AND A
60EA CALL Z,GameOver_Controller
60ED CALL ChangePlayer Call ChangePlayer.
60F0 LD A,($5E1E) Change current player at Current_Player (flip bits between 00 and FF).
60F3 CPL
60F4 LD ($5E1E),A
60F7 CALL LevelInit Call LevelInit.
60FA JP PlayerInit Jump to PlayerInit.
Prev: 602E Up: Map Next: 60FD