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

@@ -0,0 +1,19 @@
/datum/component/dry
var/turf/simulated/T
var/obj/effect/decal/cleanable/blood/B
/datum/component/dry/Initialize()
if(!isatom(parent))
return COMPONENT_INCOMPATIBLE
if(istype(parent, /obj/item/clothing/shoes))
RegisterSignal(parent, COMSIG_SHOES_STEP_ACTION, PROC_REF(step_dry))
/datum/component/dry/proc/step_dry(obj/item/clothing/shoes/source)
SIGNAL_HANDLER
T = get_turf(parent)
B = locate(/obj/effect/decal/cleanable/blood) in T
T.wet_floor_finish()
if(B)
B.dry()

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

View File

@@ -4614,6 +4614,7 @@
#include "modular_chomp\code\datums\browser\color_matrix_picker.dm"
#include "modular_chomp\code\datums\changelog\changelog.dm"
#include "modular_chomp\code\datums\colormate\colormate.dm"
#include "modular_chomp\code\datums\components\dry.dm"
#include "modular_chomp\code\datums\components\gargoyle.dm"
#include "modular_chomp\code\datums\components\squeak.dm"
#include "modular_chomp\code\datums\components\xenoqueen.dm"