![]() |
Routines |
| Prev: 55233 | Up: Map | Next: 55404 |
|
Used by the routine at 54996.
|
||||
| 55349 | LD A,(65529) | Load Magic Knight's current room into A | ||
| 55352 | OR A | Return if Magic Knight is in the lift (room 0)... | ||
| 55353 | RET Z | ... | ||
| 55354 | DEC A | Return if Magic Knight is in a room that connects with the lift... | ||
| 55355 | AND 7 | ... | ||
| 55357 | RET Z | ... | ||
| 55358 | LD B,6 | Load A with a random number less than or equal to 6... | ||
| 55360 | CALL 38505 | ... | ||
| 55363 | LD B,A | Copy random number into B | ||
| 55364 | LD A,(23411) | Load A with game progress flags, part 1 | ||
| 55367 | AND 1 | If the lift is fixed... | ||
| 55369 | JR NZ,55378 | ...then jump to 55378 | ||
| 55371 | LD A,B | Else copy random number back to A | ||
| 55372 | CP 5 | If random number is 5 or 6 then return... | ||
| 55374 | RET Z | ... | ||
| 55375 | CP 6 | ... | ||
| 55377 | RET Z | ... | ||
| 55378 | PUSH BC | Store BC... | ||
| 55379 | CALL 33770 | ...set the lift as not being at any floor at all... | ||
| 55382 | POP AF | ...and restore BC value to AF | ||
| 55383 | LD (23382),A | Set lift control panel light corresponding with previous randomly generated number to glow | ||
| 55386 | ADD A,A | Multiply A by eight... | ||
| 55387 | ADD A,A | ... | ||
| 55388 | ADD A,A | ... | ||
| 55389 | INC A | ...and add one to get first room on "random" floor | ||
| 55390 | LD (41712),A | Set right-exit of lift to first room on floor | ||
| 55393 | ADD A,A | Double room number | ||
| 55394 | LD D,0 | Load into DE... | ||
| 55396 | LD E,A | ... | ||
| 55397 | LD HL,41711 | Point HL at start of room connectivity data | ||
| 55400 | ADD HL,DE | Add offset for left-exit of first room on random floor... | ||
| 55401 | LD (HL),0 | ...and set this exit to lead to the lift | ||
| 55403 | RET | Return | ||
| Prev: 55233 | Up: Map | Next: 55404 |