Prev: 34256 Up: Map Next: 34350
34268: Insert current time and score into "TIME LEFT" and "PERCENTAGE COMPLETION" texts
Used by the routines at 31370 and 35101.
Input
HL Points to percentage completion text (43247 or 46126)
DE Points to time left text (43259 or 46138)
34268 PUSH DE Store DE
34269 PUSH HL Store HL
34270 LD HL,23412 Point HL at visited rooms table
34273 LD BC,12800 Set B=50, C=0
34276 LD A,(HL) Load A with value at HL
34277 ADD A,C Add this to C...
34278 LD C,A ...
34279 INC HL Advance to next byte
34280 DJNZ 34276 Loop back to 34276 (adding together 50 values from 23412 onwards to get score for exploring rooms)
34282 DEC C Decrease exploration score by one (due to no score for The Start Room)
34283 LD A,(23378) Add four percent if Engraved-Candle-lit score flag is set...
34286 AND 2 ...
34288 ADD A,A ...
34289 ADD A,C ...
34290 LD C,A ...
34291 LD A,(23378) Add four percent if Armouris-Photonicus-spell-cast score flag is set...
34294 AND 4 ...
34296 ADD A,C ...
34297 LD C,A ...
34298 LD A,(23378) Add four percent if Fumaticus-Protectium-spell-cast score flag is set...
34301 AND 8 ...
34303 RRCA ...
34304 ADD A,C ...
34305 LD C,A ...
34306 LD A,(23378) Add eight percent if Crystallium-Spectralis-spell-cast score flag is set...
34309 AND 1 ...
34311 ADD A,A ...
34312 ADD A,A ...
34313 ADD A,A ...
34314 ADD A,C ...
34315 LD C,A ...
34316 LD A,(23378) Add sixteen percent if Release-Spell-cast score flag is set...
34319 AND 16 ...
34321 ADD A,C ...
34322 LD C,A ...
34323 LD A,(23468) If Gimbal-is-free score flag is not set...
34326 AND 1 ...
34328 JR Z,34334 ...then skip ahead to 34334
34330 LD A,7 Add seven percent to current score...
34332 ADD A,C ...
34333 LD C,A ...
34334 LD A,(23506) Add "characters sent home" score...
34337 ADD A,C ...
34338 POP HL Restore HL (percentage completion text)
34339 CALL 36647 Splice numeric data A as a string into "PERCENTAGE COMPLETION" text
34342 LD A,(23404) Load A with current number of hours left
34345 POP HL Restore HL (originally DE, time left text)
34346 CALL 36647 Splice numeric data A as a string into "TIME LEFT" text
34349 RET Return
Prev: 34256 Up: Map Next: 34350