Prev: 33794 Up: Map Next: 34636
33862: Data block at 33862
Previously misclassified as a code routine ("GetCorridorTableEntry"). This range is actually three back-to-back data tables used by the rest of the game:
Input
R33862.. R33875 (14 bytes, 7 × 16-bit pointers) — likely the tail of
the RoomDispatchTable at 33794 (extra entries for modes >33, all
sharing the small handler pool used by RoomDispatchTable).
R33876.. R33891 (16 bytes, 8 × 16-bit pointers) — CrewActionDispatch,
indexed by crew/alien action state in (IX+3). Action 0 returns
early; actions 1-7 jump to the matching handler. Used by the
routine at 36014.
R33892.. R34635 (744 bytes) — MessageTextTable, 34 strings terminated
by byte 255. Substitution codes inside the strings: 254 = actor
name, 253 = target name, 252 = room name, 145 = apostrophe glyph.
Walked and rendered by the routine at 37221.
Triggers (message # -> firing condition): 0 Jones enters a living crew member's room (36859) 1 alien attack tick, victim strength still >= 4 2 Get Jones action succeeds (JonesRoom := 255 = carried) 3/4 crew nets / hits the alien (CrewHitsAlien outcomes) 5/6/7 weapon spent: Tracker / extinguisher (also fire handler with no charges) / Laser 8 room damage event, cell value 55 9 fire breaks out in a room 10 alien attack tick, victim strength 2-3 11/12 hypersleep pod entered (38379) / completed (38784) 13/14 destruct lever armed / aborted (DestructArm/DestructAbort) 15 engine-room fire fully extinguished 16/17 airlock blown (BlowLock) / resealed (SealLock) 18 alien re-enters via ShuttleBay after surviving an airlock blow 19 actor stands beside Jones's strip cells 20/21 20 actor shares a room with a dead crew member 21 victim strength exhausted - collapse 22/23/24/25 accumulated room damage crosses the '3x' threshold in CommdCentr / Computer / Life Suppt / Narcissus (AddRoomDamage 38186, damage digits at 30006) 26 oxygen clock reaches "05:00" 27/28 launch check: Jones missing / crew not all aboard (LaunchGate 40212) 29/30/31/32 Android combat set (UpdateAlien / CrewHitsAndroid) 33 Long Game opening: chestburster host named (LongGameInit)
33862 DEFW 35725,35448,35787,35845 7 × 16-bit pointers (room-handler tail)
33870 DEFW 38398,38398,35440
33876 DEFW 35448,36034
33880 DEFW 36101,36150
33884 DEFW 37520,39256
33888 DEFW 38784,40757
#0: "{actor} Sees Jones the Cat"
33892 DEFB 254
33893 DEFM " Sees Jones the Cat"
33912 DEFB 255
#1: "The ALIEN is attacking {actor}"
33913 DEFM "The ALIEN is attacking "
33936 DEFB 254
33937 DEFB 255
#2: "{actor} has captured Jones"
33938 DEFB 254
33939 DEFM " has captured Jones"
33958 DEFB 255
#3: "{actor} nets the ALIEN"
33959 DEFB 254
33960 DEFM " nets the ALIEN"
33975 DEFB 255
#4: "{actor} hits the ALIEN"
33976 DEFB 254
33977 DEFM " hits the ALIEN"
33992 DEFB 255
#5: "{actor}'s Tracker is broken"
33993 DEFB 254,145
33995 DEFM "s Tracker is broken"
34014 DEFB 255
#6: "{actor}'s extinguisher is empty"
34015 DEFB 254,145
34017 DEFM "s extinguisher is empty"
34040 DEFB 255
#7: "{actor}'s Laser is exhausted"
34041 DEFB 254,145
34043 DEFM "s Laser is exhausted"
34063 DEFB 255
#8: "Structural Damage in {room}"
34064 DEFM "Structural Damage in "
34085 DEFB 252
34086 DEFB 255
#9: "WARNING:Fire in {room}"
34087 DEFM "WARNING:Fire in "
34103 DEFB 252
34104 DEFB 255
#10: "{actor} is being wounded"
34105 DEFB 254
34106 DEFM " is being wounded"
34123 DEFB 255
#11: "{actor} prepares for hypersleep"
34124 DEFB 254
34125 DEFM " prepares for hypersleep"
34149 DEFB 255
#12: "{actor} enters hypersleep"
34150 DEFB 254
34151 DEFM " enters hypersleep"
34169 DEFB 255
#13: "DESTRUCT SEQUENCE INITIATED"
34170 DEFM "DESTRUCT SEQUENCE INITIATED"
34197 DEFB 255
#14: "DESTRUCT SEQUENCE ABORTED"
34198 DEFM "DESTRUCT SEQUENCE ABORTED"
34223 DEFB 255
#15: "Fire extinguished in {room}"
34224 DEFM "Fire extinguished in "
34245 DEFB 252
34246 DEFB 255
#16: "WARNING:{room}DEPRESSURISED"
34247 DEFM "WARNING:"
34255 DEFB 252
34256 DEFM "DEPRESSURISED"
34269 DEFB 255
#17: "{room} PRESSURE RESTORED"
34270 DEFB 252
34271 DEFM " PRESSURE RESTORED"
34289 DEFB 255
#18: "INTRUDER ENTERING {room}"
34290 DEFM "INTRUDER ENTERING "
34308 DEFB 252
34309 DEFB 255
#19: "Jones is looking uneasy"
34310 DEFM "Jones is looking uneasy"
34333 DEFB 255
#20: "{actor} finds {target}'s body"
34334 DEFB 254
34335 DEFM " finds "
34342 DEFB 253,145
34344 DEFM "s body"
34350 DEFB 255
#21: "{actor} has collapsed"
34351 DEFB 254
34352 DEFM " has collapsed"
34366 DEFB 255
#22: "Partial loss of control systems"
34367 DEFM "Partial loss of control systems"
34398 DEFB 255
#23: "Computer Malfunction detected"
34399 DEFM "Computer Malfunction detected"
34428 DEFB 255
#24: "Environmental irregularities"
34429 DEFM "Environmental irregularities"
34457 DEFB 255
#25: "Narcissus status RED"
34458 DEFM "Narcissus status RED"
34478 DEFB 255
#26: "Oxygen status CRITICAL"
34479 DEFM "Oxygen status CRITICAL"
34501 DEFB 255
#27: "BioUnit Jones not present"
34502 DEFM "BioUnit Jones not present"
34527 DEFB 255
#28: "LAUNCH COUNTERMANDED"
34528 DEFM "LAUNCH COUNTERMANDED"
34548 DEFB 255
#29: "{target} is attacking {actor}"
34549 DEFB 253
34550 DEFM " is attacking "
34564 DEFB 254
34565 DEFB 255
#30: "{actor} is attacking {target}"
34566 DEFB 254
34567 DEFM " is attacking "
34581 DEFB 253
34582 DEFB 255
#31: "{actor} nets {target}"
34583 DEFB 254
34584 DEFM " nets "
34590 DEFB 253
34591 DEFB 255
#32: "{actor} hits the Android" Enqueued by CrewHitsAndroid (40941). The "Android" is the long-game AlienTargetID slot (33703) — the dormant traitor crew member that UpdateAlien (40826) activates on first encounter with the alien. The actor placeholder is filled from CrewIndex (33700) = the slot currently being dispatched in combat state 4. Because the (IX+1) sprite-class match in CrewAction4_Handler is by class (not unique slot ID), the message can fire for any crew sharing the Android's class — see CrewAction4_Handler header for the ambiguity.
34592 DEFB 254
34593 DEFM " hits the Android"
34610 DEFB 255
#33: "Alien has hatched from {actor}"
34611 DEFM "Alien has hatched from "
34634 DEFB 254
34635 DEFB 255
Prev: 33794 Up: Map Next: 34636