From de1d277b65a68661cf28270a952efcbd5a41efbf Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 5 Feb 2018 00:52:06 -0600 Subject: [PATCH] [MIRROR] Buffs Clogged Vents (#5301) * Buffs Clogged Vents (#34949) * Buffs Clogged Vents :cl: Iamgoofball feature: Clogged Vents now has some teeth /:cl: This was the only part of GoofEvents players liked * Update effects_foam.dm * Update vent_clog.dm * Update vent_clog.dm * Update vent_clog.dm * Update vent_clog.dm * Update vent_clog.dm * Buffs Clogged Vents --- .../effects/effect_system/effects_foam.dm | 5 +++ code/modules/events/vent_clog.dm | 31 +++++++------------ 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index f5ea89b72d..5cb1af5389 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -88,6 +88,8 @@ name = "resin foam" metal = RESIN_FOAM +/obj/effect/particle_effect/foam/long_life + lifetime = 150 /obj/effect/particle_effect/foam/Initialize() . = ..() @@ -215,6 +217,9 @@ effect_type = /obj/effect/particle_effect/foam/smart +/datum/effect_system/foam_spread/long + effect_type = /obj/effect/particle_effect/foam/long_life + /datum/effect_system/foam_spread/New() ..() chemholder = new /obj() diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index 5e91160575..6c96504144 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -2,6 +2,7 @@ name = "Clogged Vents" typepath = /datum/round_event/vent_clog weight = 35 + max_occurrences = 1 /datum/round_event/vent_clog announceWhen = 1 @@ -9,10 +10,7 @@ endWhen = 35 var/interval = 2 var/list/vents = list() - var/list/gunk = list("water","carbon","flour","radium","toxin","cleaner","nutriment","condensedcapsaicin","mushroomhallucinogen","lube", - "plantbgone","banana","charcoal","space_drugs","morphine","holywater","ethanol","hot_coco","sacid") - -/datum/round_event/vent_clog/announce(fake) +/datum/round_event/vent_clog/announce() priority_announce("The scrubbers network is experiencing a backpressure surge. Some ejection of contents may occur.", "Atmospherics alert") @@ -20,30 +18,23 @@ endWhen = rand(25, 100) for(var/obj/machinery/atmospherics/components/unary/vent_scrubber/temp_vent in GLOB.machines) if(is_station_level(temp_vent.loc.z) && !temp_vent.welded) - var/datum/pipeline/temp_vent_parent = temp_vent.parents[1] - if(temp_vent_parent.other_atmosmch.len > 20) - vents += temp_vent + vents += temp_vent if(!vents.len) return kill() -/datum/round_event/vent_clog/tick() - if(activeFor % interval == 0) - var/obj/machinery/atmospherics/components/unary/vent = pick_n_take(vents) - while(vent && vent.welded) - vent = pick_n_take(vents) - +/datum/round_event/vent_clog/start() + for(var/obj/machinery/atmospherics/components/unary/vent in vents) if(vent && vent.loc) - var/datum/reagents/R = new/datum/reagents(50) + var/datum/reagents/R = new/datum/reagents(1000) R.my_atom = vent - R.add_reagent(pick(gunk), 50) + R.add_reagent(get_random_reagent_id(), 1000) - var/datum/effect_system/smoke_spread/chem/smoke = new - smoke.set_up(R, 1, vent, silent = 1) - playsound(vent.loc, 'sound/effects/smoke.ogg', 50, 1, -3) - smoke.start() - qdel(R) + var/datum/effect_system/foam_spread/long/foam = new + foam.set_up(200, get_turf(vent), R) + foam.start() var/cockroaches = prob(33) ? 3 : 0 while(cockroaches) new /mob/living/simple_animal/cockroach(get_turf(vent)) cockroaches-- + CHECK_TICK