From a2089ee77883ca94827b7d423f38dfef55094ea5 Mon Sep 17 00:00:00 2001 From: Dip Date: Tue, 17 Nov 2020 22:53:42 -0300 Subject: [PATCH] Adds a radioactive type of greenglow cleanable decal --- code/game/gamemodes/meteor/meteors.dm | 2 +- .../objects/effects/decals/cleanable/misc.dm | 23 +++++++++++++++++++ .../chemistry/reagents/other_reagents.dm | 8 +++---- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 6d681f81..2023e9a5 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -265,7 +265,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event /obj/effect/meteor/irradiated/meteor_effect() ..() explosion(src.loc, 0, 0, 4, 3, 0) - new /obj/effect/decal/cleanable/greenglow(get_turf(src)) + new /obj/effect/decal/cleanable/greenglow/radioactive(get_turf(src)) radiation_pulse(src, 500) //Meaty Ore diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index a9baa141..cae889f3 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -84,6 +84,29 @@ . = ..() set_light(2, 0.8, "#22FFAA") +/obj/effect/decal/cleanable/greenglow/radioactive + name = "radioactive hazard" + desc = "You should really clean this up..." + var/rad_pulse_strength = 5 + var/last_event = 0 + var/active = null + +/obj/effect/decal/cleanable/greenglow/radioactive/Crossed(atom/movable/O) + . = ..() + if(ismob(O)) + radiate() + +/obj/effect/decal/cleanable/greenglow/radioactive/proc/radiate() + if(!active) + if(world.time > last_event+15) + active = 1 + radiation_pulse(src, rad_pulse_strength) + for(var/obj/effect/decal/cleanable/greenglow/radioactive/T in orange(1,src)) + T.radiate() + last_event = world.time + active = 0 + return + /obj/effect/decal/cleanable/greenglow/ex_act() return diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 3c2702c1..5d56d516 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1096,9 +1096,9 @@ /datum/reagent/radium/reaction_turf(turf/T, reac_volume) if(reac_volume >= 3) if(!isspaceturf(T)) - var/obj/effect/decal/cleanable/greenglow/GG = locate() in T.contents + var/obj/effect/decal/cleanable/greenglow/radioactive/GG = locate() in T.contents if(!GG) - GG = new/obj/effect/decal/cleanable/greenglow(T) + GG = new/obj/effect/decal/cleanable/greenglow/radioactive(T) GG.reagents.add_reagent("radium", reac_volume) /datum/reagent/space_cleaner/sterilizine @@ -1186,9 +1186,9 @@ /datum/reagent/uranium/reaction_turf(turf/T, reac_volume) if(reac_volume >= 3) if(!isspaceturf(T)) - var/obj/effect/decal/cleanable/greenglow/GG = locate() in T.contents + var/obj/effect/decal/cleanable/greenglow/radioactive/GG = locate() in T.contents if(!GG) - GG = new/obj/effect/decal/cleanable/greenglow(T) + GG = new/obj/effect/decal/cleanable/greenglow/radioactive(T) GG.reagents.add_reagent("uranium", reac_volume) /datum/reagent/bluespace