| alien | Routines |
| Prev: 35016 | Up: Map | Next: 35210 |
|
Opens the room view for the crew member on the chosen row. The cursor row IS the actor slot number (1-7); it is saved as the selected slot (31241) for everything that follows (menu dispatch, action timers, the alien-presence check at 45760). The menu cursor is parked on the action menu's QUIT row (17, value 61). SelectSlotByDrawIdx (31721) then points IX at the slot's ActorRecords entry and caches its current room (31242) and deck type (31243). Bails back to the orders screen (InitGameView) if the slot has been removed (IX+7 nonzero) or if the alien is loose and currently targeting this crew member (the encounter sequence owns the screen); otherwise builds the room view via RedrawRoomScene (32719).
|
||||
| 35163 | LD A,(33683) | A = cursor row = the actor slot picked (1-7) | ||
| 35166 | LD (31241),A | save as the selected slot (31241) | ||
| 35169 | LD A,17 | |||
| 35171 | LD (33683),A | park the cursor on the QUIT row (17) | ||
| 35174 | LD A,61 | |||
| 35176 | LD (33685),A | mirrored cell value = 61 " QUIT " ($8395) | ||
| 35179 | CALL 31721 | IX = slot record; cache its room + deck type | ||
| 35182 | XOR A | |||
| 35183 | CP (IX+7) | slot removed (+7 nonzero)? | ||
| 35186 | JP NZ,31417 | yes: back to the orders screen | ||
| 35189 | LD A,(33704) | alien loose (33704)? | ||
| 35192 | AND A | |||
| 35193 | JP Z,32719 | no: build the room view | ||
| 35196 | LD HL,33703 | HL = alien's target slot ($83C7) | ||
| 35199 | LD A,(31241) | targeting the crew member just picked? | ||
| 35202 | CP (HL) | |||
| 35203 | JP Z,31417 | yes: bounce back to the orders screen | ||
| 35206 | CALL 32719 | no: build the room view | ||
| 35209 | RET | |||
| Prev: 35016 | Up: Map | Next: 35210 |