mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Makes objects blocking air restore airflow in /atom/Destroy (#39210)
This commit is contained in:
@@ -295,7 +295,6 @@
|
||||
return 1
|
||||
|
||||
/atom/movable/Destroy(force)
|
||||
|
||||
QDEL_NULL(proximity_monitor)
|
||||
QDEL_NULL(language_holder)
|
||||
|
||||
@@ -303,6 +302,10 @@
|
||||
|
||||
. = ..()
|
||||
if(loc)
|
||||
//Restore air flow if we were blocking it (movables with ATMOS_PASS_PROC will need to do this manually if necessary)
|
||||
if(((CanAtmosPass == ATMOS_PASS_DENSITY && density) || CanAtmosPass == ATMOS_PASS_NO) && isturf(loc))
|
||||
CanAtmosPass = ATMOS_PASS_YES
|
||||
air_update_turf(TRUE)
|
||||
loc.handle_atom_del(src)
|
||||
for(var/atom/movable/AM in contents)
|
||||
qdel(AM)
|
||||
|
||||
@@ -70,8 +70,6 @@
|
||||
layer = initial(layer)
|
||||
|
||||
/obj/machinery/door/Destroy()
|
||||
density = FALSE
|
||||
air_update_turf(1)
|
||||
update_freelook_sight()
|
||||
GLOB.airlocks -= src
|
||||
if(spark_system)
|
||||
|
||||
@@ -15,11 +15,6 @@
|
||||
setDir(pick(GLOB.cardinals))
|
||||
air_update_turf(1)
|
||||
|
||||
/obj/structure/emergency_shield/Destroy()
|
||||
density = FALSE
|
||||
air_update_turf(1)
|
||||
return ..()
|
||||
|
||||
/obj/structure/emergency_shield/Move()
|
||||
var/turf/T = loc
|
||||
. = ..()
|
||||
|
||||
@@ -274,12 +274,6 @@
|
||||
. = ..()
|
||||
air_update_turf(1)
|
||||
|
||||
|
||||
/obj/structure/foamedmetal/Destroy()
|
||||
density = FALSE
|
||||
air_update_turf(1)
|
||||
return ..()
|
||||
|
||||
/obj/structure/foamedmetal/Move()
|
||||
var/turf/T = loc
|
||||
. = ..()
|
||||
|
||||
@@ -64,9 +64,9 @@
|
||||
CanAtmosPass = ATMOS_PASS_DENSITY
|
||||
|
||||
|
||||
/obj/structure/alien/resin/New(location)
|
||||
..()
|
||||
air_update_turf(1)
|
||||
/obj/structure/alien/resin/Initialize(mapload)
|
||||
. = ..()
|
||||
air_update_turf(TRUE)
|
||||
|
||||
/obj/structure/alien/resin/Move()
|
||||
var/turf/T = loc
|
||||
|
||||
@@ -38,11 +38,6 @@
|
||||
. = ..()
|
||||
AddComponent(/datum/component/rad_insulation, RAD_MEDIUM_INSULATION)
|
||||
|
||||
/obj/structure/falsewall/Destroy()
|
||||
density = FALSE
|
||||
air_update_turf(1)
|
||||
return ..()
|
||||
|
||||
/obj/structure/falsewall/ratvar_act()
|
||||
new /obj/structure/falsewall/brass(loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -83,11 +83,6 @@
|
||||
. = ..()
|
||||
air_update_turf(TRUE)
|
||||
|
||||
/obj/structure/holosign/barrier/atmos/Destroy()
|
||||
var/turf/T = get_turf(src)
|
||||
. = ..()
|
||||
T.air_update_turf(TRUE)
|
||||
|
||||
/obj/structure/holosign/barrier/cyborg
|
||||
name = "Energy Field"
|
||||
desc = "A fragile energy field that blocks movement. Excels at blocking lethal projectiles."
|
||||
|
||||
@@ -30,11 +30,6 @@
|
||||
/obj/structure/mineral_door/ComponentInitialize()
|
||||
AddComponent(/datum/component/rad_insulation, RAD_MEDIUM_INSULATION)
|
||||
|
||||
/obj/structure/mineral_door/Destroy()
|
||||
density = FALSE
|
||||
air_update_turf(1)
|
||||
return ..()
|
||||
|
||||
/obj/structure/mineral_door/Move()
|
||||
var/turf/T = loc
|
||||
. = ..()
|
||||
|
||||
@@ -11,9 +11,6 @@
|
||||
CanAtmosPass = ATMOS_PASS_DENSITY
|
||||
|
||||
|
||||
/obj/structure/statue/Initialize()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/statue/attackby(obj/item/W, mob/living/user, params)
|
||||
add_fingerprint(user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
@@ -116,8 +113,7 @@
|
||||
|
||||
/obj/structure/statue/plasma/bullet_act(obj/item/projectile/Proj)
|
||||
var/burn = FALSE
|
||||
if(!(Proj.nodamage) && Proj.damage_type == BURN)
|
||||
PlasmaBurn(2500)
|
||||
if(!(Proj.nodamage) && Proj.damage_type == BURN && !QDELETED(src))
|
||||
burn = TRUE
|
||||
if(burn)
|
||||
var/turf/T = get_turf(src)
|
||||
@@ -127,10 +123,11 @@
|
||||
else
|
||||
message_admins("Plasma statue ignited by [Proj]. No known firer, in [ADMIN_VERBOSEJMP(T)]")
|
||||
log_game("Plasma statue ignited by [Proj] in [AREACOORD(T)]. No known firer.")
|
||||
PlasmaBurn(2500)
|
||||
..()
|
||||
|
||||
/obj/structure/statue/plasma/attackby(obj/item/W, mob/user, params)
|
||||
if(W.is_hot() > 300)//If the temperature of the object is over 300, then ignite
|
||||
if(W.is_hot() > 300 && !QDELETED(src))//If the temperature of the object is over 300, then ignite
|
||||
var/turf/T = get_turf(src)
|
||||
message_admins("Plasma statue ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]")
|
||||
log_game("Plasma statue ignited by [key_name(user)] in [AREACOORD(T)]")
|
||||
@@ -139,6 +136,8 @@
|
||||
return ..()
|
||||
|
||||
/obj/structure/statue/plasma/proc/PlasmaBurn(exposed_temperature)
|
||||
if(QDELETED(src))
|
||||
return
|
||||
atmos_spawn_air("plasma=[oreAmount*10];TEMP=[exposed_temperature]")
|
||||
deconstruct(FALSE)
|
||||
|
||||
|
||||
@@ -15,9 +15,7 @@
|
||||
/obj/effect/clockwork/servant_blocker/Destroy(force)
|
||||
if(!force)
|
||||
return QDEL_HINT_LETMELIVE
|
||||
var/turf/T = get_turf(src)
|
||||
. = ..()
|
||||
T.air_update_turf(TRUE)
|
||||
return ..()
|
||||
|
||||
/obj/effect/clockwork/servant_blocker/CanPass(atom/movable/M, turf/target)
|
||||
var/list/target_contents = M.GetAllContents() + M
|
||||
|
||||
@@ -618,9 +618,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
to_chat(user, "<span class='cultitalic'>The air above this rune has hardened into a barrier that will last [DisplayTimeText(TMR.timeToRun - world.time)].</span>")
|
||||
|
||||
/obj/effect/rune/wall/Destroy()
|
||||
density = FALSE
|
||||
GLOB.wall_runes -= src
|
||||
air_update_turf(1)
|
||||
return ..()
|
||||
|
||||
/obj/effect/rune/wall/BlockSuperconductivity()
|
||||
|
||||
@@ -247,11 +247,6 @@
|
||||
. = ..()
|
||||
air_update_turf(1)
|
||||
|
||||
/obj/structure/fans/Destroy()
|
||||
var/turf/T = loc
|
||||
. = ..()
|
||||
T.air_update_turf(1)
|
||||
|
||||
//Inivisible, indestructible fans
|
||||
/obj/structure/fans/tiny/invisible
|
||||
name = "air flow blocker"
|
||||
|
||||
Reference in New Issue
Block a user