Dry agent and dry galoshes (#7845)

This commit is contained in:
Guti
2024-03-01 18:15:56 +01:00
committed by GitHub
parent 7bcb620e87
commit 1424b5b2cb
8 changed files with 78 additions and 2 deletions

View File

@@ -28,4 +28,21 @@
/obj/item/clothing/shoes/clown_shoes/Initialize(mapload)
.=..()
LoadComponent(/datum/component/squeak, squeak_sound, 20*step_volume_mod)
LoadComponent(/datum/component/squeak, squeak_sound, 20*step_volume_mod)
/obj/item/clothing/shoes/dry_galoshes
desc = "A pair of purple rubber boots, designed to prevent slipping on wet surfaces while also drying them."
name = "absorbent galoshes"
icon = 'modular_chomp/icons/inventory/feet/item.dmi'
icon_state = "galoshes_dry"
permeability_coefficient = 0.05
siemens_coefficient = 0
item_flags = NOSLIP
slowdown = SHOES_SLOWDOWN+0.5
species_restricted = null
drop_sound = 'sound/items/drop/rubber.ogg'
pickup_sound = 'sound/items/pickup/rubber.ogg'
/obj/item/clothing/shoes/dry_galoshes/Initialize(mapload)
.=..()
LoadComponent(/datum/component/dry)

View File

@@ -125,3 +125,11 @@
result = "phoenixbreath"
required_reagents = list("vermicetol" = 1, "liquidlife" = 1, "neoliquidfire" = 1, "souldew" = 1, "phoron" = 1, "dermaline" = 1)
result_amount = 6
/decl/chemical_reaction/instant/dryagent
name = "Dry Agent"
id = "dryagent"
result = "dryagent"
required_reagents = list("ethanol" = 2, "sodium" = 2, "phoron" = 0.1)
catalysts = list("phoron" = 5)
result_amount = 4

View File

@@ -390,4 +390,35 @@
M.adjustOxyLoss(-2 * removed * chem_effective)
M.heal_organ_damage(4 * removed * chem_effective, 4 * removed * chem_effective)
M.adjustToxLoss(-2 * removed * chem_effective)
M.add_chemical_effect(CE_PAINKILLER, 10 * M.species.chem_strength_pain)
M.add_chemical_effect(CE_PAINKILLER, 10 * M.species.chem_strength_pain)
/datum/reagent/dryagent
name = "Dry Agent"
id = "dryagent"
description = "A desiccant. Can be used to dry things."
taste_description = "dryness"
reagent_state = LIQUID
color = "#A70FFF"
scannable = 1
overdose = REAGENTS_OVERDOSE
/datum/reagent/dryagent/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
var/chem_effective = 1 * M.species.chem_strength_heal
if(alien == IS_SLIME)
chem_effective = 1.25
M.adjustFireLoss(2 * removed * chem_effective) // Why are you giving this to Prometheans or Dionas. You're going to DRY them.
/datum/reagent/dryagent/touch_obj(obj/O, amount)
if(istype(O, /obj/item/clothing/shoes/galoshes) && O.loc)
new /obj/item/clothing/shoes/dry_galoshes(O.loc)
qdel(O)
remove_self(10)
/datum/reagent/dryagent/touch_turf(var/turf/T)
..()
if(volume >= 5)
if(istype(T, /turf/simulated/floor))
var/turf/simulated/floor/F = T
if(F.wet)
F.wet = 0
return