self_destruct_sequence 
Runs for as long as the station self-destruct terminal is counting down. Owns the announcement, the point of no return, and the secondary detonations after it. The detonation itself belongs to the terminal's own timer, which is pinned to SELF_DESTRUCT_DURATION.
Vars | |
| announcement_channel | Reserved sound channel, so an abort can silence the announcement mid-sentence. |
|---|---|
| past_no_return | TRUE once the announcement has stated that cancellation is off the table. |
| reddened_areas | Station areas we put into their fire alarm state, so an abort can put them back. |
| served | Clients already hearing the announcement, so we never restart it under one that has it. |
| start_time | world.time the sequence began. Every other time here is an offset from this. |
| terminal | The terminal counting down. We do not outlive it. |
Procs | |
| broadcast_announcement | Sends the announcement out. Defaults to everyone in the round, which is what the first broadcast wants. |
| build_announcement | The announcement, seeked to however far into the sequence we already are. |
| detonate | Fires the terminal one cinematic intro before the announcement ends, so the 3-2-1 counts onto zero and the blast lands on the end of the track instead of after it. |
| elapsed | Deciseconds since the sequence began. |
| on_client_gone | A client that leaves takes its sound channels with it, so let a reconnect be served fresh. |
| on_player_login | Drops anyone entering the round mid-sequence in at the right point in the track. |
| on_terminal_deleted | No terminal means no bomb left to detonate. |
| pass_point_of_no_return | The announcement has just said cancellation has expired, so make that true. |
| pick_blast_site | Weighted towards somebody who will actually witness it, since a blast nobody saw may as well not have happened. |
| pick_site_near_crew | A turf a room or two from somebody still aboard. Null if there is nobody left to play to. |
| quiet_blast | An explosion sound built to lose. Nothing else sets priority, so these sit below every other sound. |
| redden_lighting | Flips every station area into its fire alarm state, which is what turns the lights red. |
| schedule_next_blast | Queues the next secondary detonation, tightening the interval as the terminal counts down. |
| secondary_detonation | One of the station's own systems letting go. Light impact only, so it hurts without reliably killing. |
| silence_announcement | Cuts the announcement off everywhere. |
Var Details
announcement_channel 
Reserved sound channel, so an abort can silence the announcement mid-sentence.
past_no_return 
TRUE once the announcement has stated that cancellation is off the table.
reddened_areas 
Station areas we put into their fire alarm state, so an abort can put them back.
served 
Clients already hearing the announcement, so we never restart it under one that has it.
start_time 
world.time the sequence began. Every other time here is an offset from this.
terminal 
The terminal counting down. We do not outlive it.
Proc Details
broadcast_announcement
Sends the announcement out. Defaults to everyone in the round, which is what the first broadcast wants.
Skips anyone already hearing it. Sound channels belong to the client rather than the mob, so changing bodies does not interrupt playback - re-sending would only re-seek the track, which is audible, and dying to a secondary detonation is a very common way to change bodies in here.
build_announcement
The announcement, seeked to however far into the sequence we already are.
detonate
Fires the terminal one cinematic intro before the announcement ends, so the 3-2-1 counts onto zero and the blast lands on the end of the track instead of after it.
elapsed
Deciseconds since the sequence began.
on_client_gone
A client that leaves takes its sound channels with it, so let a reconnect be served fresh.
on_player_login
Drops anyone entering the round mid-sequence in at the right point in the track.
on_terminal_deleted
No terminal means no bomb left to detonate.
pass_point_of_no_return
The announcement has just said cancellation has expired, so make that true.
pick_blast_site
Weighted towards somebody who will actually witness it, since a blast nobody saw may as well not have happened.
pick_site_near_crew
A turf a room or two from somebody still aboard. Null if there is nobody left to play to.
quiet_blast
An explosion sound built to lose. Nothing else sets priority, so these sit below every other sound.
redden_lighting
Flips every station area into its fire alarm state, which is what turns the lights red.
schedule_next_blast
Queues the next secondary detonation, tightening the interval as the terminal counts down.
secondary_detonation
One of the station's own systems letting go. Light impact only, so it hurts without reliably killing.
silence_announcement
Cuts the announcement off everywhere.