mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Dry agent and dry galoshes (#7845)
This commit is contained in:
19
modular_chomp/code/datums/components/dry.dm
Normal file
19
modular_chomp/code/datums/components/dry.dm
Normal 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()
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
BIN
modular_chomp/icons/inventory/feet/mob.dmi
Normal file
BIN
modular_chomp/icons/inventory/feet/mob.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 371 B |
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user