mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Buffs Clogged Vents (#34949)
* Buffs Clogged Vents 🆑 Iamgoofball feature: Clogged Vents now has some teeth /🆑 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
This commit is contained in:
committed by
duncathan salt
parent
47ff2bad74
commit
725df4bd9b
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user