diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index d6e522e3a0..0f8e832d63 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -3730,6 +3730,13 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"jA" = ( +/obj/machinery/shower{ + dir = 4 + }, +/obj/item/soap/syndie, +/turf/open/floor/plasteel/freezer, +/area/syndicate_mothership) "jB" = ( /obj/structure/noticeboard{ dir = 8; @@ -4215,6 +4222,14 @@ "ku" = ( /turf/closed/indestructible/fakeglass, /area/syndicate_mothership) +"kv" = ( +/obj/structure/mirror{ + pixel_x = -28 + }, +/obj/structure/table, +/obj/item/reagent_containers/rag/towel/syndicate, +/turf/open/floor/plasteel/freezer, +/area/syndicate_mothership) "kw" = ( /turf/open/floor/plasteel/yellowsiding, /area/centcom/supply) @@ -8414,10 +8429,6 @@ }, /turf/open/floor/plating, /area/syndicate_mothership) -"tg" = ( -/obj/item/soap/syndie, -/turf/open/floor/plasteel/freezer, -/area/syndicate_mothership) "tl" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, @@ -17430,12 +17441,6 @@ }, /turf/open/floor/plasteel/white, /area/centcom/holding) -"Rl" = ( -/obj/structure/mirror{ - pixel_x = -28 - }, -/turf/open/floor/plasteel/freezer, -/area/syndicate_mothership) "Rm" = ( /obj/structure/chair/wood/wings{ dir = 3 @@ -37823,8 +37828,8 @@ nx mA Tz ku -tg -Rl +jA +kv uM QV wp diff --git a/code/modules/reagents/reagent_containers/rags.dm b/code/modules/reagents/reagent_containers/rags.dm index 47f3ba5efa..9f9b86ffe6 100644 --- a/code/modules/reagents/reagent_containers/rags.dm +++ b/code/modules/reagents/reagent_containers/rags.dm @@ -51,17 +51,32 @@ user.visible_message("\The [user] uses \the [src] to pat out [M == user ? "[user.p_their()]" : "\the [M]'s"] flames!") if(hitsound) playsound(M, hitsound, 25, 1) - M.adjust_fire_stacks(-extinguish_efficiency) + M.adjust_fire_stacks(-min(extinguish_efficiency, M.fire_stacks)) else + if(reagents.total_volume) + to_chat(user, "\The [src] is too drenched to be used to dry [user == M ? "yourself" : "\the [M]"] off.") + return TRUE user.visible_message("\The [user] starts drying [M == user ? "[user.p_them()]self" : "\the [M]"] off with \the [src]...") if(do_mob(user, M, 3 SECONDS)) user.visible_message("\The [user] dries [M == user ? "[user.p_them()]self" : "\the [M]"] off with \the [src].") if(wipe_sound) playsound(M, wipe_sound, 25, 1) - M.adjust_fire_stacks(-soak_efficiency) + if(M.fire_stacks) + var/minus_plus = M.fire_stacks < 0 ? 1 : -1 + M.adjust_fire_stacks(minus_plus * min(abs(M.fire_stacks), soak_efficiency)) return TRUE return ..() +/obj/item/reagent_containers/rag/attack_self(mob/user) + if(reagents.total_volume) + to_chat(user, "You start squeezing the liquids out of \the [src]") + if(do_after(user, 30, TRUE, src)) + to_chat(user, "You squeeze \the [src] dry.") + var/turf/T = get_turf(src) + if(T) + reagents.reaction(T, TOUCH) + reagents.clear_reagents() + /obj/item/reagent_containers/rag/towel name = "towel" desc = "A soft cotton towel." @@ -81,6 +96,12 @@ extinguish_efficiency = 2 var/flat_icon = "towel_flat" var/folded_icon = "towel" + var/list/possible_colors + +/obj/item/reagent_containers/rag/towel/Initialize() + . = ..() + if(possible_colors) + add_atom_colour(pick(possible_colors), FIXED_COLOUR_PRIORITY) /obj/item/reagent_containers/rag/towel/attack(mob/living/M, mob/living/user) if(user.a_intent == INTENT_HARM) @@ -106,19 +127,27 @@ body_parts_covered = NONE flags_inv = NONE -/obj/item/reagent_containers/rag/towel/attack_self(mob/user) +/obj/item/reagent_containers/rag/towel/rightclick_attack_self(mob/user) if(!user.CanReach(src) || !user.dropItemToGround(src)) return to_chat(user, "You lay out \the [src] flat on the ground.") icon_state = flat_icon layer = BELOW_OBJ_LAYER - qdel(src) /obj/item/reagent_containers/rag/towel/pickup(mob/living/user) . = ..() icon_state = folded_icon layer = initial(layer) -/obj/item/reagent_containers/rag/towel/random/Initialize() - . = ..() - add_atom_colour(pick("FF0000","FF7F00","FFFF00","00FF00","0000FF","4B0082","8F00FF"), FIXED_COLOUR_PRIORITY) +/obj/item/reagent_containers/rag/towel/on_reagent_change(changetype) + force = initial(force) + round(reagents.total_volume * 0.5) + +/obj/item/reagent_containers/rag/towel/random + possible_colors = list("#FF0000","#FF7F00","#FFFF00","#00FF00","#0000FF","#4B0082","#8F00FF") + +/obj/item/reagent_containers/rag/towel/syndicate + name = "syndicate towel" + desc = "Truly a weapon of mass destruction." + possible_colors = list("#DD1A1A", "#DB4325", "#E02700") + force = 4 + volume = 20 \ No newline at end of file diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi index 159805d4ce..8788567b36 100644 Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ