persistent 
The stock cinematic hangs its backdrop on the mob and only re-shows on that mob logging back in, so anyone the nuke gibs loses the screen the moment they land in an observer. Which, at the end of a self-destruct, is everybody. This one follows the client into whatever body it ends up in.
Procs | |
| on_new_body | Catches a client landing in a new mob. |
|---|---|
| play_cinematic | Mirrors the parent, except for the wait. |
| show_to_new_body | Re-shows the cinematic, once the new mob's hud has finished building. |
Proc Details
on_new_body
Catches a client landing in a new mob.
This fires from add_to_player_list(), which is early enough in Login() that client.clear_screen() has not run yet and would throw the cinematic straight back out - leaving only the backdrop, which is solid black. So we wait for COMSIG_MOB_CLIENT_LOGIN at the end of that same Login() instead.
play_cinematic
Mirrors the parent, except for the wait.
intro_nuke is three one second frames, and the parent waits 3.5 for it, so its last frame sits on screen for half a second after the countdown has already finished. That half second puts the blast out of step with the announcement, which the whole sequence is timed against.
show_to_new_body
Re-shows the cinematic, once the new mob's hud has finished building.