diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 209b7101564..a43d280d068 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -69,6 +69,8 @@ ), ) AddElement(/datum/element/contextual_screentip_tools, tool_behaviors) + AddElement(/datum/element/climbable) + AddElement(/datum/element/elevation, pixel_shift = 8) /obj/machinery/space_heater/Destroy() SSair.stop_processing_machine(src) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index dc99dcae275..f7cf7903acf 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -829,6 +829,11 @@ pass_flags_self = LETPASSTHROW //You can throw objects over this, despite it's density. max_integrity = 20 +/obj/structure/rack/Initialize(mapload) + . = ..() + AddElement(/datum/element/climbable) + AddElement(/datum/element/elevation, pixel_shift = 12) + /obj/structure/rack/examine(mob/user) . = ..() . += span_notice("It's held together by a couple of bolts.") diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index d8c47b1610c..389de6e3701 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -43,6 +43,8 @@ air_contents.volume = volume air_contents.temperature = T20C SSair.start_processing_machine(src) + AddElement(/datum/element/climbable, climb_time = 3 SECONDS, climb_stun = 3 SECONDS) + AddElement(/datum/element/elevation, pixel_shift = 8) /obj/machinery/portable_atmospherics/Destroy() disconnect() diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index c8efeee6790..02ad176e8e0 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -31,6 +31,8 @@ var/mutable_appearance/assembliesoverlay /// The person who attached an assembly to this dispenser, for bomb logging purposes var/last_rigger = "" + /// is it climbable? some of our wall-mounted dispensers should not have this + var/climbable = FALSE // This check is necessary for assemblies to automatically detect that we are compatible /obj/structure/reagent_dispensers/IsSpecialAssembly() @@ -53,6 +55,9 @@ if(icon_state == "water" && check_holidays(APRIL_FOOLS)) icon_state = "water_fools" + if(climbable) + AddElement(/datum/element/climbable, climb_time = 4 SECONDS, climb_stun = 4 SECONDS) + AddElement(/datum/element/elevation, pixel_shift = 14) /obj/structure/reagent_dispensers/examine(mob/user) . = ..() @@ -236,6 +241,7 @@ desc = "A water tank." icon_state = "water" openable = TRUE + climbable = TRUE /obj/structure/reagent_dispensers/watertank/high name = "high-capacity water tank" @@ -250,6 +256,7 @@ reagent_id = /datum/reagent/firefighting_foam tank_volume = 500 openable = TRUE + climbable = TRUE /obj/structure/reagent_dispensers/fueltank//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE name = "fuel tank" @@ -258,6 +265,7 @@ reagent_id = /datum/reagent/fuel openable = TRUE accepts_rig = TRUE + climbable = TRUE /obj/structure/reagent_dispensers/fueltank/Initialize(mapload) . = ..()