From 69fa79f97492ba2ff838db0f742fe7f920962589 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Wed, 27 Sep 2017 15:33:42 -0500 Subject: [PATCH] Update ticker.dm --- code/controllers/subsystem/ticker.dm | 137 --------------------------- 1 file changed, 137 deletions(-) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 8b2f2af208..b3b2b02091 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -273,143 +273,6 @@ SUBSYSTEM_DEF(ticker) qdel(bomb) if(epi) explosion(epi, 0, 256, 512, 0, TRUE, TRUE, 0, TRUE) - -//Plus it provides an easy way to make cinematics for other events. Just use this as a template -/datum/controller/subsystem/ticker/proc/station_explosion_cinematic(station_missed=0, override = null, atom/bomb = null) - if( cinematic ) - return //already a cinematic in progress! - - for (var/datum/html_interface/hi in GLOB.html_interfaces) - hi.closeAll() - SStgui.close_all_uis() - - //Turn off the shuttles, there's no escape now - if(!station_missed && bomb) - SSshuttle.registerHostileEnvironment(src) - SSshuttle.lockdown = TRUE - - //initialise our cinematic screen object - cinematic = new /obj/screen{icon='icons/effects/station_explosion.dmi';icon_state="station_intact";layer=21;mouse_opacity = MOUSE_OPACITY_TRANSPARENT;screen_loc="1,0";}(src) - - for(var/mob/M in GLOB.mob_list) - M.notransform = TRUE //stop everything moving - if(M.client) - M.client.screen += cinematic //show every client the cinematic - - var/actually_blew_up = TRUE - //Now animate the cinematic - switch(station_missed) - if(NUKE_NEAR_MISS) //nuke was nearby but (mostly) missed - if(mode && !override ) - override = mode.name - switch( override ) - if("nuclear emergency") //Nuke wasn't on station when it blew up - flick("intro_nuke",cinematic) - sleep(35) - SEND_SOUND(world, sound('sound/effects/explosion_distant.ogg')) - station_explosion_detonation(bomb) - flick("station_intact_fade_red",cinematic) - cinematic.icon_state = "summary_nukefail" - if("cult") - cinematic.icon_state = null - flick("intro_cult",cinematic) - sleep(25) - SEND_SOUND(world, sound('sound/magic/enter_blood.ogg')) - sleep(28) - SEND_SOUND(world, sound('sound/machines/terminal_off.ogg')) - sleep(20) - flick("station_corrupted",cinematic) - SEND_SOUND(world, sound('sound/effects/ghost.ogg')) - actually_blew_up = FALSE - if("fake") //The round isn't over, we're just freaking people out for fun - flick("intro_nuke",cinematic) - sleep(35) - SEND_SOUND(world, sound('sound/items/bikehorn.ogg')) - flick("summary_selfdes",cinematic) - actually_blew_up = FALSE - else - flick("intro_nuke",cinematic) - sleep(35) - SEND_SOUND(world, sound('sound/effects/explosion_distant.ogg')) - station_explosion_detonation(bomb) - - - if(NUKE_MISS_STATION || NUKE_SYNDICATE_BASE) //nuke was nowhere nearby //TODO: a really distant explosion animation - sleep(50) - SEND_SOUND(world, sound('sound/effects/explosion_distant.ogg')) - station_explosion_detonation(bomb) - actually_blew_up = station_missed == NUKE_SYNDICATE_BASE //don't kill everyone on station if it detonated off station - else //station was destroyed - if( mode && !override ) - override = mode.name - switch( override ) - if("nuclear emergency") //Nuke Ops successfully bombed the station - flick("intro_nuke",cinematic) - sleep(35) - flick("station_explode_fade_red",cinematic) - SEND_SOUND(world, sound('sound/effects/explosion_distant.ogg')) - station_explosion_detonation(bomb) - cinematic.icon_state = "summary_nukewin" - if("AI malfunction") //Malf (screen,explosion,summary) - flick("intro_malf",cinematic) - sleep(76) - flick("station_explode_fade_red",cinematic) - SEND_SOUND(world, sound('sound/effects/explosion_distant.ogg')) - station_explosion_detonation(bomb) //TODO: If we ever decide to actually detonate the vault bomb - cinematic.icon_state = "summary_malf" - if("blob") //Station nuked (nuke,explosion,summary) - flick("intro_nuke",cinematic) - sleep(35) - flick("station_explode_fade_red",cinematic) - SEND_SOUND(world, sound('sound/effects/explosion_distant.ogg')) - station_explosion_detonation(bomb) //TODO: no idea what this case could be - cinematic.icon_state = "summary_selfdes" - if("cult") //Station nuked (nuke,explosion,summary) - flick("intro_nuke",cinematic) - sleep(35) - flick("station_explode_fade_red",cinematic) - SEND_SOUND(world, sound('sound/effects/explosion_distant.ogg')) - station_explosion_detonation(bomb) //TODO: no idea what this case could be - cinematic.icon_state = "summary_cult" - if("no_core") //Nuke failed to detonate as it had no core - flick("intro_nuke",cinematic) - sleep(35) - flick("station_intact",cinematic) - SEND_SOUND(world, sound('sound/ambience/signal.ogg')) - addtimer(CALLBACK(src, .proc/finish_cinematic, null, FALSE), 100) - return //Faster exit, since nothing happened - else //Station nuked (nuke,explosion,summary) - flick("intro_nuke",cinematic) - sleep(35) - flick("station_explode_fade_red", cinematic) - SEND_SOUND(world, sound('sound/effects/explosion_distant.ogg')) - station_explosion_detonation(bomb) - cinematic.icon_state = "summary_selfdes" - //If its actually the end of the round, wait for it to end. - //Otherwise if its a verb it will continue on afterwards. - - var/bombloc = null - if(actually_blew_up) - if(bomb && bomb.loc) - bombloc = bomb.z - else if(!station_missed) - bombloc = ZLEVEL_STATION_PRIMARY - - if(mode) - mode.explosion_in_progress = 0 - to_chat(world, "The station was destoyed by the nuclear blast!") - mode.station_was_nuked = (station_missed<2) //station_missed==1 is a draw. the station becomes irradiated and needs to be evacuated. - - addtimer(CALLBACK(src, .proc/finish_cinematic, bombloc, actually_blew_up), 300) - -/datum/controller/subsystem/ticker/proc/finish_cinematic(killz, actually_blew_up) - if(cinematic) - qdel(cinematic) //end the cinematic - cinematic = null - for(var/mob/M in GLOB.mob_list) - M.notransform = FALSE - if(actually_blew_up && !isnull(killz) && M.stat != DEAD && M.z == killz) - M.gib() /datum/controller/subsystem/ticker/proc/create_characters() for(var/mob/dead/new_player/player in GLOB.player_list)