| Alien (BUGFIX 1.7) | Routines |
| Prev: 44722 | Up: Map | Next: 44770 |
|
Game-mode handler for "1: Short Game" (dispatched from 43135).
The Short Game is the abbreviated scenario. Several slots in the starting template (ShortGameCrewInit) are pre-stamped with the HostMarker pattern ($FF on bytes +1 and +7) and the alien's first target is hard-wired to crew ID 9 — a value the alien-targeting guard at 41274 treats as "no valid target", so the alien's stalk-the-host logic is effectively disabled. No script-driven randomisation runs. Every Short Game opens from exactly the same configuration, which is what makes it shorter and more deterministic than the Long Game.
Steps:
|
||||
| 44738 | XOR A | A = 0 | ||
| 44739 | LD (33708),A | clear run-state byte 33708 | ||
| 44742 | LD (33709),A | clear run-state byte 33709 | ||
| 44745 | LD HL,33714 | HL = MessageQueue (event queue base) | ||
| 44748 | LD (33741),HL | event queue head = queue base (empty queue) | ||
| 44751 | LD A,9 | A = 9 (fixed Short Game alien target) | ||
| 44753 | LD (33703),A | AlienTargetID = 9 — no randomisation | ||
| 44756 | LD HL,41508 | HL = ShortGameCrewInit ($A224) | ||
| 44759 | LD DE,29566 | DE = $737E (alien slot + crew table base) | ||
| 44762 | LD BC,64 | 64 bytes = 8 × 8-byte records | ||
| 44765 | LDIR | copy short-game starting crew/alien state | ||
| 44767 | JP 42380 | → CommonGameInit (skip Long Game randomisation) | ||
| Prev: 44722 | Up: Map | Next: 44770 |