![]() |
Routines |
| Prev: 9D7B | Up: Map | Next: 9DE5 |
|
This routine checks the morale level and reports if it's (near) zero and inhibits player control if exhausted.
Used by the routine at main_loop.
|
||||
| check_morale | 9DCF | LD A,($A13C) | If morale is greater than one then return | |
| 9DD2 | CP $02 | |||
| 9DD4 | RET NC | |||
| 9DD5 | LD BC,$0F00 | Queue the message "MORALE IS ZERO" | ||
| 9DD8 | CALL queue_message | |||
| 9DDB | LD A,$FF | Set the "morale exhausted" flag to inhibit player input | ||
| 9DDD | LD ($A13B),A | |||
| 9DE0 | XOR A | Immediately take automatic control of the hero | ||
| 9DE1 | LD ($A139),A | |||
| 9DE4 | RET | Return | ||
| Prev: 9D7B | Up: Map | Next: 9DE5 |