Routines |
Prev: 33645 | Up: Map | Next: 33725 |
|
||||||||||
33657 | PUSH DE | Store DE | ||||||||
33658 | PUSH HL | Store HL | ||||||||
33659 | LD HL,23502 | Point HL at visited rooms table | ||||||||
33662 | LD BC,12800 | Set B=50, C=0 (see trivia) | ||||||||
33665 | LD A,(HL) | Load A with value at HL | ||||||||
33666 | ADD A,C | Add this to C... | ||||||||
33667 | LD C,A | ... | ||||||||
33668 | INC HL | Advance to next byte | ||||||||
33669 | DJNZ 33665 | Loop back to 33665 (adding together 50 values from 23502 onwards to get score for exploring rooms) | ||||||||
33671 | DEC C | Decrease exploration score by one (due to no score for The Transporter Room) | ||||||||
33672 | LD A,C | Double count of rooms visited... | ||||||||
33673 | ADD A,A | ... | ||||||||
33674 | LD C,A | ... | ||||||||
33675 | LD A,(23451) | If I.D.-card-validated flag is reset... | ||||||||
33678 | BIT 4,A | ... | ||||||||
33680 | JP Z,33687 | ...then skip ahead to 33687 | ||||||||
33683 | LD A,10 | Add ten percent to score in C... | ||||||||
33685 | ADD A,C | ... | ||||||||
33686 | LD C,A | ... | ||||||||
33687 | LD A,(23451) | If transporter-repaired flag is reset... | ||||||||
33690 | AND 1 | ... | ||||||||
33692 | JR Z,33698 | ...then skip ahead to 33698 | ||||||||
33694 | LD A,10 | Add ten percent to score in C... | ||||||||
33696 | ADD A,C | ... | ||||||||
33697 | LD C,A | ... | ||||||||
33698 | LD A,(23403) | If barriers-removed flag is reset... | ||||||||
33701 | AND 1 | ... | ||||||||
33703 | JR Z,33709 | ...then skip ahead to 33709 | ||||||||
33705 | LD A,2 | Add two percent to score in C... | ||||||||
33707 | ADD A,C | ... | ||||||||
33708 | LD C,A | ... | ||||||||
33709 | LD A,(23397) | Add bonus score to total... | ||||||||
33712 | ADD A,C | ... | ||||||||
33713 | POP HL | Restore HL (address of percentage completion text) | ||||||||
33714 | CALL 34697 | Splice numeric data A as a string into a string at HL | ||||||||
33717 | LD A,(23457) | Load A with number of days left | ||||||||
33720 | POP HL | Restore HL (originally DE, time left text) | ||||||||
33721 | CALL 34697 | Splice numeric data A as a string into a string at HL | ||||||||
33724 | RET | Return |
Prev: 33645 | Up: Map | Next: 33725 |