Prev: 53479 Up: Map Next: 53573
53498: Update game time, time left and move characters if appropriate
Used by the routine at 53479.
53498 LD A,(23460) If number of 1/50 seconds elapsed in current minute is divisible by eight...
53501 AND 7 ...
53503 CALL Z,53731 ...then move character whose turn it is to move, if allowed
53506 LD A,(23460) [EVERY 1/50 SECOND] Increase number of elapsed 1/50 seconds
53509 INC A ...
53510 LD (23460),A ...
53513 CP 50 If new value isn't 50...
53515 RET NZ ...then return
53516 XOR A [EVERY 1 SECOND] Else, set the value to zero (start of next full second)...
53517 LD (23460),A ...
53520 LD A,(23459) Increase number of seconds elapsed...
53523 INC A ...
53524 LD (23459),A ...
53527 CP 60 If new value isn't 60...
53529 RET NZ ...then return
53530 XOR A [EVERY 1 MINUTE] Else, set the value to zero (start of next minute)...
53531 LD (23459),A ...
53534 CALL 53585 Update all characters' stats (deteriorate or regenerate) and wake up / send to sleep if required
53537 CALL 53573 Increase Magic Knight's current magic level by 10 (capped at 100)
53540 LD A,12 If Magic Knight is wearing the Magic Talisman (12)...
53542 CALL 33640 ...
53545 CALL Z,53573 ...then increase Magic Knight's current magic level by another 10 (capped at 100)
53548 LD A,(23458) Increase number of minutes elapsed...
53551 INC A ...
53552 LD (23458),A ...
53555 CP 5 If new value isn't 5...
53557 RET NZ ...then return
53558 XOR A [EVERY 5 MINUTES] Else, set the value to zero (start of next "day")...
53559 LD (23458),A ...
53562 LD A,(23457) Decrease number of days left...
53565 DEC A ...
53566 LD (23457),A ...
53569 JP Z,53937 If zero then show "out of time" game over message and return to control selection menu
53572 RET Return
Prev: 53479 Up: Map Next: 53573