diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index d59ba4b92a9..5855d7d130c 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -522,7 +522,7 @@ /obj/item/storage/belt/janitor/full/populate_contents() new /obj/item/holosign_creator/janitor(src) new /obj/item/reagent_containers/spray/cleaner/advanced(src) - new /obj/item/reagent_containers/spray/cleaner/advanced(src) + new /obj/item/storage/bag/trash/bluespace(src) new /obj/item/soap/deluxe(src) new /obj/item/grenade/chem_grenade/cleaner(src) new /obj/item/grenade/chem_grenade/cleaner(src) diff --git a/code/modules/clothing/shoes/misc_shoes.dm b/code/modules/clothing/shoes/misc_shoes.dm index 6a029335a61..21ff3ad54fe 100644 --- a/code/modules/clothing/shoes/misc_shoes.dm +++ b/code/modules/clothing/shoes/misc_shoes.dm @@ -57,6 +57,11 @@ desc = "A pair of purple rubber boots, designed to prevent slipping on wet surfaces while also drying them." icon_state = "galoshes_dry" +/obj/item/clothing/shoes/galoshes/dry/lightweight /// for red janitor ert. + name = "lightweight absorbent galoshes" + desc = "A pair of expensive looking lightweight rubber boots, designed to prevent slipping on wet surfaces while also drying them." + slowdown = NONE + /obj/item/clothing/shoes/galoshes/dry/Initialize(mapload) . = ..() RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, PROC_REF(on_step)) diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm index adb73f87d40..bf9c6d79a42 100644 --- a/code/modules/mod/mod_types.dm +++ b/code/modules/mod/mod_types.dm @@ -334,7 +334,7 @@ /obj/item/mod/control/pre_equipped/responsory/janitor insignia_type = /obj/item/mod/module/insignia/janitor - additional_module = /obj/item/mod/module/clamp + additional_module = list(/obj/item/mod/module/clamp, /obj/item/mod/module/boot_heating) /obj/item/mod/control/pre_equipped/responsory/clown insignia_type = /obj/item/mod/module/insignia/clown diff --git a/code/modules/mod/modules/modules_service.dm b/code/modules/mod/modules/modules_service.dm index 3670a576da9..69720a0e354 100644 --- a/code/modules/mod/modules/modules_service.dm +++ b/code/modules/mod/modules/modules_service.dm @@ -40,3 +40,25 @@ if(!deleting) qdel(mod.boots.GetComponent(/datum/component/squeak)) mod.wearer.RemoveElement(/datum/element/waddling) + +//Boot heating - dries floors like galoshes/dry +/obj/item/mod/module/boot_heating + name = "MOD boot heating module" + desc = "A MOD suit boot heating module. Heats the bottom of the boots to assist in drying wet floors as you clean. Only for the most well trained of janitorial staff." /// Kinda small comparied to the other descriptions, but its ERT only, so.. + icon_state = "regulator" + complexity = 1 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + incompatible_modules = list(/obj/item/mod/module/boot_heating) + +/obj/item/mod/module/boot_heating/on_suit_activation() + RegisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, PROC_REF(on_step)) + +/obj/item/mod/module/boot_heating/on_suit_deactivation(deleting = FALSE) + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) + +/obj/item/mod/module/boot_heating/proc/on_step() + SIGNAL_HANDLER + + var/turf/simulated/t_loc = get_turf(src) + if(istype(t_loc) && t_loc.wet) + t_loc.MakeDry(TURF_WET_WATER) diff --git a/code/modules/response_team/ert_outfits.dm b/code/modules/response_team/ert_outfits.dm index 51b6a21aaed..42a3e02a588 100644 --- a/code/modules/response_team/ert_outfits.dm +++ b/code/modules/response_team/ert_outfits.dm @@ -489,7 +489,7 @@ uniform = /obj/item/clothing/under/rank/centcom/ert/janitor back = /obj/item/storage/backpack/ert/janitor belt = /obj/item/storage/belt/janitor/full - shoes = /obj/item/clothing/shoes/galoshes + shoes = /obj/item/clothing/shoes/galoshes/dry l_ear = /obj/item/radio/headset/ert/alt id = /obj/item/card/id/ert/janitorial pda = /obj/item/pda/heads/ert/janitor @@ -497,8 +497,6 @@ backpack_contents = list( /obj/item/grenade/chem_grenade/antiweed = 2, - /obj/item/lightreplacer = 1, - /obj/item/storage/bag/trash = 1, /obj/item/push_broom, /obj/item/storage/box/lights/mixed = 1, /obj/item/melee/flyswatter = 1 @@ -509,22 +507,23 @@ suit = /obj/item/clothing/suit/armor/vest/ert/janitor head = /obj/item/clothing/head/helmet/ert/janitor glasses = /obj/item/clothing/glasses/sunglasses - r_pocket = /obj/item/flashlight + r_pocket = /obj/item/flashlight/seclite suit_store = /obj/item/gun/energy/disabler cybernetic_implants = list( - /obj/item/organ/internal/cyberimp/arm/advmop + /obj/item/organ/internal/cyberimp/arm/janitorial/advanced ) /datum/outfit/job/centcom/response_team/janitorial/red name = "RT Janitor (Red)" suit = /obj/item/clothing/suit/space/hardsuit/ert/janitor glasses = /obj/item/clothing/glasses/hud/security/sunglasses + shoes = /obj/item/clothing/shoes/galoshes/dry/lightweight r_pocket = /obj/item/scythe/tele - suit_store = /obj/item/gun/energy/gun/mini + suit_store = /obj/item/gun/energy/gun cybernetic_implants = list( - /obj/item/organ/internal/cyberimp/arm/janitorial, + /obj/item/organ/internal/cyberimp/arm/janitorial/advanced, /obj/item/organ/internal/cyberimp/chest/nutriment/hardened ) @@ -544,15 +543,13 @@ /obj/item/grenade/chem_grenade/antiweed = 2, /obj/item/grenade/clusterbuster/cleaner = 1, /obj/item/storage/box/lights/mixed = 1, - /obj/item/storage/bag/trash/bluespace = 1, - /obj/item/lightreplacer/bluespace = 1, - /obj/item/melee/flyswatter = 1, - /obj/item/gun/energy/gun = 1 + /obj/item/push_broom = 1, + /obj/item/gun/energy/gun/nuclear = 1 ) cybernetic_implants = list( /obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened, - /obj/item/organ/internal/cyberimp/arm/advmop, + /obj/item/organ/internal/cyberimp/arm/janitorial/advanced, /obj/item/organ/internal/cyberimp/brain/anti_stam/hardened ) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index a085a613f57..7105e36a56d 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -323,6 +323,19 @@ parent_organ = "l_arm" slot = "l_arm_device" +/obj/item/organ/internal/cyberimp/arm/janitorial/advanced /// ERT implant, i dont overly expect this to get into the hands of crew + name = "advanced janitorial toolset implant" + desc = "A set of advanced janitorial tools hidden behind a concealed panel on the user's arm." + contents = newlist(/obj/item/mop/advanced, /obj/item/soap/deluxe, /obj/item/lightreplacer/bluespace, /obj/item/holosign_creator/janitor, /obj/item/melee/flyswatter, /obj/item/reagent_containers/spray/cleaner/advanced) + origin_tech = "materials=5;engineering=6;biotech=5" + action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/clothing/belts.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "janibelt") + emp_proof = TRUE + +/obj/item/organ/internal/cyberimp/arm/janitorial/advanced/l /// its for ERT, but still probably a good idea. + parent_organ = "l_arm" + slot = "l_arm_device" + /obj/item/organ/internal/cyberimp/arm/botanical name = "botanical toolset implant" desc = "A set of botanical tools hidden behind a concealed panel on the user's arm"