diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 4106cd00957..5febe049a96 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -440,6 +440,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Minor trait used for beakers, or beaker-ishes. [/obj/item/reagent_containers], to show that they've been used in a reagent grinder. #define TRAIT_MAY_CONTAIN_BLENDED_DUST "may_contain_blended_dust" +///Trait applied to turfs when an atmos holosign is placed on them. It will stop firedoors from closing. +#define TRAIT_FIREDOOR_STOP "firedoor_stop" + //Medical Categories for quirks #define CAT_QUIRK_ALL 0 #define CAT_QUIRK_NOTES 1 diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index a85ccf6bfe7..8061baf89e1 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -224,6 +224,8 @@ latetoggle() /obj/machinery/door/firedoor/close() + if(HAS_TRAIT(loc, TRAIT_FIREDOOR_STOP)) + return . = ..() latetoggle() diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm index 9a5ee3f1ff6..ce8d0e761b5 100644 --- a/code/game/objects/structures/holosign.dm +++ b/code/game/objects/structures/holosign.dm @@ -106,14 +106,18 @@ /obj/structure/holosign/barrier/atmos/Initialize() . = ..() + var/turf/local = get_turf(loc) + ADD_TRAIT(local, TRAIT_FIREDOOR_STOP, TRAIT_GENERIC) air_update_turf(TRUE, TRUE) /obj/structure/holosign/barrier/atmos/BlockSuperconductivity() //Didn't used to do this, but it's "normal", and will help ease heat flow transitions with the players. return TRUE /obj/structure/holosign/barrier/atmos/Destroy() - . = ..() + var/turf/local = get_turf(loc) + REMOVE_TRAIT(local, TRAIT_FIREDOOR_STOP, TRAIT_GENERIC) air_update_turf(TRUE, FALSE) + return ..() /obj/structure/holosign/barrier/cyborg name = "Energy Field"