From c8fca21dab0958eefe8db1581da6aa9855168039 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Mon, 9 Apr 2012 12:54:15 +0100 Subject: [PATCH] TG: Blob ending number of blobs is now a var. The nuke now properly checks to see if its on the station when it explodes and most of the derp var has been removed from the bomb code. r2913 --- code/game/gamemodes/blob/blob.dm | 9 +++++++-- code/game/gamemodes/nuclear/nuclear.dm | 8 ++++---- code/game/gamemodes/nuclear/nuclearbomb.dm | 15 +++++++-------- code/modules/mob/mob.dm | 2 +- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index 17c181f6219..a5b58106e8e 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -12,6 +12,8 @@ var uplink_welcome = "Syndicate Uplink Console:" uplink_uses = 10 + + var/const/waittime_l = 1800 //lower bound on time before intercept arrives (in tenths of seconds) var/const/waittime_h = 3600 //upper bound on time before intercept arrives (in tenths of seconds) @@ -26,6 +28,9 @@ var autoexpand = 0 expanding = 0 + blobnukecount = 500 + blobwincount = 700 + announce() world << "The current game mode is - Blob!" @@ -114,11 +119,11 @@ var return if (2) - if((blobs.len > 500) && (declared == 1)) + if((blobs.len > blobnukecount) && (declared == 1)) command_alert("Uncontrolled spread of the biohazard onboard the station. We have issued directive 7-12 for [station_name()]. Any living Heads of Staff are ordered to enact directive 7-12 at any cost, a print out with detailed instructions has been sent to your communications computers.", "Biohazard Alert") send_intercept(2) declared = 2 - if(blobs.len > 700)//This needs work + if(blobs.len > blobwincount)//This needs work stage = 3 return diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 39fb22d84e3..c6e01a77d18 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -17,7 +17,7 @@ var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds) var/nukes_left = 1 // Call 3714-PRAY right now and order more nukes! Limited offer! - var/derp = 0 //Used for tracking if the syndies actually haul the nuke to the station + var/nuke_off_station = 0 //Used for tracking if the syndies actually haul the nuke to the station var/herp = 0 //Used for tracking if the syndies got the shuttle off of the z-level //It is so hillarious so I wont rename those two variables --rastaf0 @@ -222,6 +222,7 @@ /datum/game_mode/proc/equip_syndicate(mob/living/carbon/human/synd_mob,radio_freq) var/obj/item/device/radio/R = new /obj/item/device/radio/headset/nuclear(synd_mob) synd_mob.equip_if_possible(R, synd_mob.slot_ears) + synd_mob.equip_if_possible(new /obj/item/clothing/under/syndicate(synd_mob), synd_mob.slot_w_uniform) synd_mob.equip_if_possible(new /obj/item/clothing/shoes/black(synd_mob), synd_mob.slot_shoes) synd_mob.equip_if_possible(new /obj/item/clothing/suit/armor/vest(synd_mob), synd_mob.slot_wear_suit) @@ -236,7 +237,6 @@ var/obj/item/weapon/implant/dexplosive/E = new/obj/item/weapon/implant/dexplosive(synd_mob) E.imp_in = synd_mob E.implanted = 1 - return 1 @@ -281,12 +281,12 @@ world << "Total Annihilation" world << "[syndicate_name()] operatives destroyed [station_name()] but did not leave the area in time and got caught in the explosion. Next time, don't lose the disk!" - else if (!disk_rescued && !station_was_nuked && derp && !herp) + else if (!disk_rescued && !station_was_nuked && nuke_off_station && !herp) feedback_set_details("round_end_result","halfwin - blew wrong station") world << "Crew Minor Victory" world << "[syndicate_name()] operatives secured the authentication disk but blew up something that wasn't [station_name()]. Next time, don't lose the disk!" - else if (!disk_rescued && !station_was_nuked && derp && herp) + else if (!disk_rescued && !station_was_nuked && nuke_off_station && herp) feedback_set_details("round_end_result","halfwin - blew wrong station - did not evacuate in time") world << "[syndicate_name()] operatives have earned Darwin Award!" world << "[syndicate_name()] operatives blew up something that wasn't [station_name()] and got caught in the explosion. Next time, don't lose the disk!" diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 7a60d10ecd1..3e35b675abb 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -183,26 +183,25 @@ - var/derp = 0 - for (var/turf/T in range(1,src)) - if (!is_type_in_list(T.loc, the_station_areas)) - derp = 1 - break + var/off_station = 0 + var/area/A = get_area(src.loc) + if(A && (istype(A,/area/syndicate_station) || A.type == "/area")) + off_station = 1 if (ticker && ticker.mode && ticker.mode.name == "nuclear emergency") ticker.mode:herp = syndicate_station_at_station - ticker.mode:derp = derp + ticker.mode:nuke_off_station = off_station for(var/mob/M in world) if(M.client) spawn(0) - M.client.station_explosion_cinematic(derp) + M.client.station_explosion_cinematic(off_station) sleep(110) if (ticker && ticker.mode) ticker.mode.explosion_in_progress = 0 if(ticker.mode.name == "nuclear emergency") ticker.mode:nukes_left -- - ticker.mode.station_was_nuked = (derp==0) + ticker.mode.station_was_nuked = (off_station==0) else world << "The station was destoyed by the nuclear blast!" diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 39cab8d3c98..96c29b71d7d 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1001,7 +1001,7 @@ note dizziness decrements automatically in the mob's Life() proc. if(ticker) switch(ticker.mode.name) if("nuclear emergency") - if (!derp) boom.icon_state = "loss_nuke" + if(!derp) boom.icon_state = "loss_nuke" else boom.icon_state = "loss_nuke2" if("malfunction") boom.icon_state = "loss_malf"