LanderCapsule¶
Vanilla game class at Assets.Scripts.Objects.LanderCapsule. The drop pod that delivers players from orbit. Inherits from DynamicThing. Entirely independent of the death/respawn system.
Independence from death/respawn¶
Source: F0095m.
The LanderCapsule (Assets.Scripts.Objects, inherits DynamicThing) is the drop pod that delivers players from orbit. It is completely independent of the death/respawn system. The respawn flow uses it through XML spawn data config, but the capsule itself has no awareness of whether the player is alive, dead, or respawning.
Key constants¶
Source: F0087.
KinematicStartHeight = 100m (teleport distance above ground)
DURATION = 10s (total descent time)
ENGINE_START_TIME = 3s (engines fire at this point)
DESCENT_SHAKE = 0.03 (camera shake during freefall)
ENGINES_SHAKE = 0.2 (camera shake when engines fire)
DOOR_EJECT_FORCE = 9f (force on door when blown off)
LanderMode enum¶
Source: F0095n.
LanderMode enum: AtRest = 0 (on ground, idle), Descending = 1 (in-flight descent), Venting = 2 (door ejected, gas particles).
Descent sequence¶
Source: F0088.
Triggered by setting InteractableType.Mode to 1 (Descending):
BeginDescent(): setsisKinematic = true, saves ground position, teleports capsule 100m straight up, locks the door (InteractLock = 1), startsControlledDescent()coroutineControlledDescent(): lerps position from start (high) to target (ground) over 10 seconds usingEaseOutQuad(t) = 1 - (1-t)^2(fast start, decelerating end). At t > 3s: enables Activate (fires engines, startsEntryEffects). SetsControlledDescentLerpeach frame (0 to 1) which drives thruster intensity. Camera shake increases from 0.03 to 0.2.TerminateDescent(): disables kinematic (physics resume), disables entry effects, clears camera shake, sets mode to AtRestWaitThenOpen(): waits 3 seconds, opens capsule (InteractOpen = 1), waits 500ms, unlocks (InteractLock = 0)- Door ejection: door slot occupant gets
MoveToWorldwith forward force of 9. Mode changes to Venting, gas particles emit for 3 seconds
Player experience timeline¶
Source: F0089.
| Time | Event |
|---|---|
| 0s | Pulled into capsule seat, camera switches to interior view, teleported 100m up |
| 0-3s | Rapid freefall descent, gentle camera shake (0.03) |
| 3-10s | Engines fire, thruster effects visible, shake intensifies (0.2), descent decelerates |
| 10s | Ground contact, physics settle |
| 13s | Door blows off, gas venting particles |
| 13.5s | Lock released, player can exit |
EntryEffects and SpaceSuitRespawn visuals¶
Source: F0095o.
EntryEffects component on the capsule controls re-entry fire/thruster visuals. EnableEffects() / DisableEffects() toggle linked GameObjects. SetIntensity(lerpFactor) scales thruster transforms using EaseOutQuart(lerp) * 0.7 with random jitter. SpaceSuitRespawn visual materialization effect: SpawnEffectTime = 5s fade-in, PauseTime = 1s, HideEffectTime = 3s fade-out. Animates a _cutoff shader property.
Slots¶
Source: $(StationeersPath)\rocketstation_Data\Managed\Assembly-CSharp.dll :: Assets.Scripts.Objects.LanderCapsule.
LanderCapsule.Slots is inherited from Thing:
LanderCapsule defines two fixed slot accessors:
Index 0 is the door slot (the breakable door Thing occupies this). Index 1 is the seat for the human occupant. Both accessors are private, so external callers must reach into capsule.Slots[0] / capsule.Slots[1] directly.
InteractMode¶
Source: $(StationeersPath)\rocketstation_Data\Managed\Assembly-CSharp.dll :: Assets.Scripts.Objects.Thing and LanderCapsule.
InteractMode is inherited from Thing:
It is a property returning an Interactable instance whose Action == InteractableType.Mode. Interactable.State is an int indexed over LanderMode (byte-backed enum): 0 = AtRest, 1 = Descending, 2 = Venting.
Descent is triggered by LanderCapsule.OnInteractableStateChanged:
if (GameManager.RunSimulation
&& interactable.Action == InteractableType.Mode
&& newState != oldState
&& newState == 1)
{
BeginDescent().Forget();
}
Setting state 1 via OnServer.Interact(capsule.InteractMode, 1) is what spawns the descent sequence documented in the "Descent sequence" section above.
Verification history¶
- 2026-04-20: page created from the Research migration; verbatim content lifted from F0087, F0088, F0089, F0095m, F0095n, F0095o. No conflicts.
- 2026-04-21: added "Slots" and "InteractMode" sections from direct decompile. Additive only; no existing content changed. Verified against
Assets.Scripts.Objects.LanderCapsulein game version 0.2.6228.27061.
Open questions¶
None.