Room Seal Collision / 房间封控撞锁
Room Seal Collision is the event that fires when a contested room, threshold, or passage on 设施通行图 is left unresolved, broken illegally, or claimed by another faction before the player can certify a route.
It is the spatial cousin of 无人派工危机默认: an unworked crisis defaults because nobody staffed it; a room seal collision defaults because nobody controlled the physical access path.
Event trigger
Resolve this event when all are true:
- 设施通行图 is open or was just opened;
- at least one node/edge is
sealed,contested,watched,burned,claimed, or missing a required route; - 设施通行派线 was skipped, failed, underfilled, broken, assigned elsewhere, or resolved with a dangerous route;
- a person, proof, card, edit, room, public queue, oxygen support, or route asset still depends on the affected node/edge;
- at least one claimant can benefit from default room control.
This event is state-triggered. It must not require a fixed turn number.
Collision actors
| Actor | What they do with room control | Common durable result |
|---|---|---|
inspector_seal | freezes a room, checkpoint, cutroom, or admissibility path | legal_lane_locked, inspection_heat, harder access recovery |
archive_counter_lock | accepts only one copy or rejects contaminated chain | archive_debt, false_owner_pressure, custody_gap |
sponsor_private_lock | moves the crisis into private language or clean sponsor room | contract_capture, public_distrust, costlier public route |
fan_gate_surge | public queue occupies access before producer framing arrives | fan_oxygen_resentment, hostile witness route, crowd danger |
editor_auto_patch | cutroom resolves absence by airing the easiest patch | edit_debt, reality_drift, black-box distrust |
security_cordon | closes the route to prevent injury or scandal | security_injury avoided or deferred, schedule_lane_scarred rises |
route_asset_capture | a person/proof/carrier is stuck behind the wrong door | route_asset_overexposed, captured/hostile/recovery-only state |
blackout_fold | stage threshold loses usable access and folds into black screen | black_screen_slots, schedule_lane_scarred, route block |
Resolution branches
Branch A — Soft collision with trace
A seal or lock lands, but the player preserves a receipt, checksum, witness stub, corridor sighting, or permit scar.
Expected outcome:
- room/edge becomes locked or claimed;
- future recovery hook exists;
- access pressure and at least two related debts rise.
Branch B — Hard room lock
The claimant controls the room strongly enough to block or capture a route.
Expected outcome:
- target room becomes blocked, claimed, captured, hostile, or recovery-only;
- at least one future rite or card option is suppressed or costlier;
- the page/state records which claimant owns the lock.
Branch C — Broken seal backlash
The player breaks a seal and the event resolves the backlash.
Expected outcome:
- urgent access may succeed;
seal_broken_on_camera,inspection_heat,custody_gap,public_distrust,security_injury, orblack_screen_slotsrises;- future legal/archive/sponsor/public access becomes harder.
Branch D — Service corridor exposure
A reroute through staff space succeeds but exposes the carrier or contaminates the proof chain.
Expected outcome:
- target room is reached or escaped;
- low-rank staff, courier, proof, or witness state worsens;
service_corridor_heat,runner_risk,proof_contaminated,missing_stub, orlow_rank_staff_debtrises.
Branch E — Stage threshold fold
A room collision touches the camera line and the broadcast system makes the absence visible.
Expected outcome:
- stage threshold becomes scarred, unavailable, or black-screened;
schedule_lane_scarred,black_screen_slots,reality_drift, oredit_debtchanges;- later recovery must cite this room collision as source difficulty.
Required event payload
event: storyteller.event.room_seal_collision.v1
source_map: storyteller.card.facility_access_map.v1
source_rite: storyteller.rite.facility_access_routing.v1 | skipped | failed | underfilled | broken | assigned_elsewhere
node_or_edge: <node_id_or_edge_id>
state_before: restricted | contested | sealed | watched | burned | claimed | missing_route
missing_inputs:
handler: <handler_or_absent>
support: <support_or_absent>
route: <edge_or_absent>
claimant_actor: inspector | archive | sponsor | fan_public | editor | security | route_asset | blackout_system | contradiction
branch: soft_trace | hard_room_lock | broken_seal_backlash | service_corridor_exposure | stage_threshold_fold
outcome:
room_state_after: locked | claimed | burned | rerouted | captured | hostile | scarred | recovery_only
preserved_trace: <receipt_or_checksum_or_witness_or_none>
counter_deltas: {}
future_route_effects:
unlocked: []
blocked_or_costlier: []
recovery_hooks: []Counter contract
The event must move at least three counters or durable states.
Typical changes:
facility_access_pressure: +1room_seal_pressure: +1service_corridor_heat: +1 on reroute exposurerunner_risk: +1 when a carrier takes the blameinspection_heat: +1 on inspector or broken-seal branchcustody_gap: +1 on contaminated or defaulted proofarchive_debt: +1 on archive lockcontract_capture: +1 on sponsor lockfan_oxygen_resentment: +1 on fan gate surgeedit_debt: +1 on auto-patchschedule_lane_scarredorblack_screen_slots: +1 on stage threshold fold
Follow-up hooks
A non-terminal collision can create harder follow-up work:
- certify the broken seal after the fact;
- recover a captured route asset;
- re-open the archive counter with higher debt;
- publish why the service corridor was used;
- pay low-rank staff debt;
- repair stage threshold scar;
- trade sponsor room access for public distrust;
- accept black-screen scar and continue with reduced schedule capacity.
Non-goals
- Not a random punishment.
- Not a mood scene about a locked room.
- Not a fixed schedule trigger.
- Not a generic game-over switch.
- Not allowed to erase the route without recording room/edge, claimant, missing inputs, branch, deltas, and future route effect.