diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index 31ca55a54fb..0920b8e8b72 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -17,15 +17,15 @@ /obj/effect/step_trigger/proc/Trigger(atom/movable/A) return 0 -/obj/effect/step_trigger/proc/on_entered(datum/source, H as mob|obj) +/obj/effect/step_trigger/proc/on_entered(datum/source, atom/movable/entering) SIGNAL_HANDLER - if(!H || H == src) + if(!entering || entering == src || entering.invisibility >= INVISIBILITY_ABSTRACT || istype(entering, /atom/movable/mirage_holder)) //dont teleport ourselves, abstract objects, and mirage holders due to init shenanigans return - if(isobserver(H) && !affect_ghosts) + if(isobserver(entering) && !affect_ghosts) return - if(!ismob(H) && mobs_only) + if(!ismob(entering) && mobs_only) return - INVOKE_ASYNC(src, PROC_REF(Trigger), H) + INVOKE_ASYNC(src, PROC_REF(Trigger), entering) /obj/effect/step_trigger/singularity_act() @@ -144,7 +144,7 @@ var/teleport_x_offset = 0 var/teleport_y_offset = 0 -/obj/effect/step_trigger/teleporter/offset/on_entered(datum/source, H as mob|obj, atom/old_loc) +/obj/effect/step_trigger/teleporter/offset/on_entered(datum/source, atom/movable/entered, atom/old_loc) if(!old_loc?.Adjacent(loc)) // prevents looping, if we were teleported into this then the old loc is usually not adjacent return return ..() diff --git a/code/game/objects/items/puzzle_pieces.dm b/code/game/objects/items/puzzle_pieces.dm index a008acedb6d..a7bd4da85ae 100644 --- a/code/game/objects/items/puzzle_pieces.dm +++ b/code/game/objects/items/puzzle_pieces.dm @@ -454,9 +454,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/puzzle/password, 32) "green", "blue", "yellow", - "orange", - "brown", + COLOR_ORANGE, // orange is also not valid + COLOR_BROWN, // brown is NOT a valid byond color "gray", + "purple", ) for(var/digit in 0 to 9) digit_to_color["[digit]"] = pick_n_take(possible_colors) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 4aaba04bc18..c5a94edfdfd 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -53,7 +53,8 @@ /obj/structure/grille/examine(mob/user) . = ..() - + if(resistance_flags & INDESTRUCTIBLE) + return if(anchored) . += span_notice("It's secured in place with screws. The rods look like they could be cut through.") else diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index b3a3ea31038..71c3ef9b671 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -513,6 +513,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0) return FALSE /obj/structure/window/reinforced/attackby_secondary(obj/item/tool, mob/user, params) + if(resistance_flags & INDESTRUCTIBLE) + balloon_alert(user, "too resilient!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN switch(state) if(RWINDOW_SECURE) if(tool.tool_behaviour == TOOL_WELDER) @@ -591,7 +594,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0) /obj/structure/window/reinforced/examine(mob/user) . = ..() - + if(resistance_flags & INDESTRUCTIBLE) + return switch(state) if(RWINDOW_SECURE) . += span_notice("It's been screwed in with one way screws, you'd need to heat them to have any chance of backing them out.") diff --git a/code/modules/awaymissions/mission_code/murderdome.dm b/code/modules/awaymissions/mission_code/murderdome.dm index a59a491d492..f80c4c12ca1 100644 --- a/code/modules/awaymissions/mission_code/murderdome.dm +++ b/code/modules/awaymissions/mission_code/murderdome.dm @@ -1,19 +1,14 @@ /obj/structure/window/reinforced/fulltile/indestructible name = "robust window" + move_resist = MOVE_FORCE_OVERPOWERING flags_1 = PREVENT_CLICK_UNDER_1 resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF -/obj/structure/window/reinforced/fulltile/indestructible/screwdriver_act(mob/living/user, obj/item/tool) - return NONE - -/obj/structure/window/reinforced/fulltile/indestructible/wrench_act(mob/living/user, obj/item/tool) - return NONE - -/obj/structure/window/reinforced/fulltile/indestructible/crowbar_act(mob/living/user, obj/item/tool) - return NONE /obj/structure/grille/indestructible + desc = "A STRONG framework of hardened plasteel rods, that you cannot possibly get through. If you were an engineer you would be drooling over its construction right now." + move_resist = MOVE_FORCE_OVERPOWERING obj_flags = CONDUCTS_ELECTRICITY resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF diff --git a/code/modules/mapfluff/ruins/objects_and_mobs/museum.dm b/code/modules/mapfluff/ruins/objects_and_mobs/museum.dm index c8b504b72e5..58d5754cccc 100644 --- a/code/modules/mapfluff/ruins/objects_and_mobs/museum.dm +++ b/code/modules/mapfluff/ruins/objects_and_mobs/museum.dm @@ -77,16 +77,16 @@ name = /obj/machinery/atmospherics/components/unary/vent_scrubber::name desc = /obj/machinery/atmospherics/components/unary/vent_scrubber::desc icon = /obj/machinery/atmospherics/components/unary/vent_scrubber::icon - layer = /obj/machinery/atmospherics/components/unary/vent_scrubber::layer - plane = /obj/machinery/atmospherics/components/unary/vent_scrubber::plane + layer = ABOVE_OPEN_TURF_LAYER + plane = FLOOR_PLANE icon_state = "scrub_on" /obj/structure/fluff/fake_vent name = /obj/machinery/atmospherics/components/unary/vent_pump::name desc = /obj/machinery/atmospherics/components/unary/vent_pump::desc icon = /obj/machinery/atmospherics/components/unary/vent_pump::icon - layer = /obj/machinery/atmospherics/components/unary/vent_pump::layer - plane = /obj/machinery/atmospherics/components/unary/vent_pump::plane + layer = ABOVE_OPEN_TURF_LAYER + plane = FLOOR_PLANE icon_state = "vent_out" /turf/open/mirage