Skip to content

Commit

Permalink
Adds some more admin-focused cleaning reagents (ParadiseSS13#26796)
Browse files Browse the repository at this point in the history
* Add some bonus cleaning grenades

* clusterbusters too

* blocked chem list

* ignore clusters

* Update code/game/objects/items/weapons/grenades/chem_grenade.dm

Co-authored-by: CRUNCH <[email protected]>
Signed-off-by: Luc <[email protected]>

---------

Signed-off-by: Luc <[email protected]>
Co-authored-by: CRUNCH <[email protected]>
  • Loading branch information
lewcc and Fordoxia authored Oct 10, 2024
1 parent 3c6e9ba commit bd2a47e
Show file tree
Hide file tree
Showing 4 changed files with 84 additions and 2 deletions.
3 changes: 2 additions & 1 deletion code/_globalvars/lists/reagents_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,6 @@ GLOBAL_LIST_INIT(blocked_chems, list("polonium", "initropidril", "concentrated_i
"lavaland_extract", "stable_mutagen", "beer2",
"curare", "gluttonytoxin", "smoke_powder", "stimulative_cling",
"teslium_paste", "omnizine_no_addiction", "zombiecure1",
"zombiecure2", "zombiecure3", "zombiecure4"
"zombiecure2", "zombiecure3", "zombiecure4",
"admincleaner_all", "admincleaner_item", "admincleaner_mob",
))
19 changes: 18 additions & 1 deletion code/game/objects/items/weapons/grenades/chem_grenade.dm
Original file line number Diff line number Diff line change
Expand Up @@ -519,20 +519,37 @@
payload_name = "cleaner"
desc = "BLAM!-brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas."
stage = READY
/// The chemical used to clean things
var/cleaning_chem = "cleaner"

/obj/item/grenade/chem_grenade/cleaner/Initialize(mapload)
. = ..()
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)

B1.reagents.add_reagent("fluorosurfactant", 40)
B2.reagents.add_reagent("cleaner", 10)
B2.reagents.add_reagent(cleaning_chem, 10)
B2.reagents.add_reagent("water", 40) //when you make pre-designed foam reactions that carry the reagents, always add water last

beakers += B1
beakers += B2
update_icon(UPDATE_ICON_STATE)

/obj/item/grenade/chem_grenade/cleaner/everything
payload_name = "melter"
desc = "Inside of this grenade are black-market Syndicate nanites that consume everything they come in cross with. Organs, clothes, consoles, people. Nothing is safe.<br>Now with a new foaming applicator!"
cleaning_chem = "admincleaner_all"

/obj/item/grenade/chem_grenade/cleaner/object
payload_name = "object dissolving"
desc = "Inside of this grenade are black-market Syndicate nanites that curiously only consume objects, leaving living creatures and larger machinery alone.<br>Now with a new foaming applicator!"
cleaning_chem = "admincleaner_item"

/obj/item/grenade/chem_grenade/cleaner/organic
payload_name = "organic dissolving"
desc = "Inside of this grenade are black-market Syndicate nanites that have an appetite for living creatures and their organs, be they silicon or organic, dead or alive.<br>Now with a new foaming applicator!"
cleaning_chem = "admincleaner_mob"


/obj/item/grenade/chem_grenade/teargas
payload_name = "teargas"
Expand Down
11 changes: 11 additions & 0 deletions code/game/objects/items/weapons/grenades/clusterbuster.dm
Original file line number Diff line number Diff line change
Expand Up @@ -254,3 +254,14 @@
desc = "Proving once and for all that the maximum bomb explosion radius is just a suggestion."
payload = /obj/item/grenade/clusterbuster/syndieminibomb

/obj/item/grenade/clusterbuster/admincleaner
desc = "For cleaning <b>really</b> big messes."
payload = /obj/item/grenade/chem_grenade/cleaner/everything

/obj/item/grenade/clusterbuster/admincleaner/organic
desc = "For cleaning remnants of many, many crime scenes."
payload = /obj/item/grenade/chem_grenade/cleaner/organic

/obj/item/grenade/clusterbuster/admincleaner/object
desc = "For cleaning up after a typical Nanotrasen office party."
payload = /obj/item/grenade/chem_grenade/cleaner/object
53 changes: 53 additions & 0 deletions code/modules/reagents/chemistry/reagents/misc_reagents.dm
Original file line number Diff line number Diff line change
Expand Up @@ -731,3 +731,56 @@

if(H.dna.species.bodyflags & HAS_SKIN_COLOR) //take current alien color and darken it slightly
H.change_skin_color("#9B7653")

/datum/reagent/admin_cleaner
name = "WD-2381"
color = "#da9eda"
description = "Extra-bubbly cleaner designed to clear all objects. Or, well. Anything that isn't bolted down. Or is, for that matter. In other words: if you're seeing this, how'd you get your hands on it?"

/datum/reagent/admin_cleaner/organic
name = "WD-2381-MOB"
id = "admincleaner_mob"
description = "A bottle of strange nanites that instantly devour bodies, both living and dead, as well as organs."

/datum/reagent/admin_cleaner/organic/reaction_mob(mob/living/M, method, volume, show_message)
. = ..()
if(method == REAGENT_TOUCH)
M.dust()

/datum/reagent/admin_cleaner/organic/reaction_obj(obj/O, volume)
if(is_organ(O))
qdel(O)
if(istype(O, /obj/effect/decal/cleanable/blood) || istype(O, /obj/effect/decal/cleanable/vomit))
qdel(O)
if(istype(O, /obj/item/mmi))
qdel(O)

/datum/reagent/admin_cleaner/item
name = "WD-2381-ITM"
id = "admincleaner_item"
description = "A bottle of strange nanites that instantly devour items, while curiously leaving everything else untouched."

/datum/reagent/admin_cleaner/item/reaction_obj(obj/O, volume)
if(isitem(O) && !istype(O, /obj/item/grenade/clusterbuster/segment))
qdel(O)

/datum/reagent/admin_cleaner/all
name = "WD-2381-ALL"
id = "admincleaner_all"
description = "An incredibly dangerous set of nanites engineered by Syndicate Janitors which devour everything they touch."

/datum/reagent/admin_cleaner/all/reaction_obj(obj/O, volume)
if(istype(O, /obj/item/grenade/clusterbuster/segment))
// don't clear clusterbang segments
// I'm allowed to make this hack because this is admin only anyway
return
if(!iseffect(O))
qdel(O)

/datum/reagent/admin_cleaner/all/reaction_mob(mob/living/M, method, volume, show_message)
. = ..()
if(method == REAGENT_TOUCH)
M.dust()



0 comments on commit bd2a47e

Please sign in to comment.