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
|
return 1
|
||||||
|
|
||||||
/atom/movable/Destroy(force)
|
/atom/movable/Destroy(force)
|
||||||
|
|
||||||
QDEL_NULL(proximity_monitor)
|
QDEL_NULL(proximity_monitor)
|
||||||
QDEL_NULL(language_holder)
|
QDEL_NULL(language_holder)
|
||||||
|
|
||||||
@@ -303,6 +302,10 @@
|
|||||||
|
|
||||||
. = ..()
|
. = ..()
|
||||||
if(loc)
|
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)
|
loc.handle_atom_del(src)
|
||||||
for(var/atom/movable/AM in contents)
|
for(var/atom/movable/AM in contents)
|
||||||
qdel(AM)
|
qdel(AM)
|
||||||
|
|||||||
@@ -70,8 +70,6 @@
|
|||||||
layer = initial(layer)
|
layer = initial(layer)
|
||||||
|
|
||||||
/obj/machinery/door/Destroy()
|
/obj/machinery/door/Destroy()
|
||||||
density = FALSE
|
|
||||||
air_update_turf(1)
|
|
||||||
update_freelook_sight()
|
update_freelook_sight()
|
||||||
GLOB.airlocks -= src
|
GLOB.airlocks -= src
|
||||||
if(spark_system)
|
if(spark_system)
|
||||||
|
|||||||
@@ -15,11 +15,6 @@
|
|||||||
setDir(pick(GLOB.cardinals))
|
setDir(pick(GLOB.cardinals))
|
||||||
air_update_turf(1)
|
air_update_turf(1)
|
||||||
|
|
||||||
/obj/structure/emergency_shield/Destroy()
|
|
||||||
density = FALSE
|
|
||||||
air_update_turf(1)
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/structure/emergency_shield/Move()
|
/obj/structure/emergency_shield/Move()
|
||||||
var/turf/T = loc
|
var/turf/T = loc
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -274,12 +274,6 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
air_update_turf(1)
|
air_update_turf(1)
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/foamedmetal/Destroy()
|
|
||||||
density = FALSE
|
|
||||||
air_update_turf(1)
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/structure/foamedmetal/Move()
|
/obj/structure/foamedmetal/Move()
|
||||||
var/turf/T = loc
|
var/turf/T = loc
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -64,9 +64,9 @@
|
|||||||
CanAtmosPass = ATMOS_PASS_DENSITY
|
CanAtmosPass = ATMOS_PASS_DENSITY
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/alien/resin/New(location)
|
/obj/structure/alien/resin/Initialize(mapload)
|
||||||
..()
|
. = ..()
|
||||||
air_update_turf(1)
|
air_update_turf(TRUE)
|
||||||
|
|
||||||
/obj/structure/alien/resin/Move()
|
/obj/structure/alien/resin/Move()
|
||||||
var/turf/T = loc
|
var/turf/T = loc
|
||||||
|
|||||||
@@ -38,11 +38,6 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
AddComponent(/datum/component/rad_insulation, RAD_MEDIUM_INSULATION)
|
AddComponent(/datum/component/rad_insulation, RAD_MEDIUM_INSULATION)
|
||||||
|
|
||||||
/obj/structure/falsewall/Destroy()
|
|
||||||
density = FALSE
|
|
||||||
air_update_turf(1)
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/structure/falsewall/ratvar_act()
|
/obj/structure/falsewall/ratvar_act()
|
||||||
new /obj/structure/falsewall/brass(loc)
|
new /obj/structure/falsewall/brass(loc)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|||||||
@@ -83,11 +83,6 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
air_update_turf(TRUE)
|
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
|
/obj/structure/holosign/barrier/cyborg
|
||||||
name = "Energy Field"
|
name = "Energy Field"
|
||||||
desc = "A fragile energy field that blocks movement. Excels at blocking lethal projectiles."
|
desc = "A fragile energy field that blocks movement. Excels at blocking lethal projectiles."
|
||||||
|
|||||||
@@ -30,11 +30,6 @@
|
|||||||
/obj/structure/mineral_door/ComponentInitialize()
|
/obj/structure/mineral_door/ComponentInitialize()
|
||||||
AddComponent(/datum/component/rad_insulation, RAD_MEDIUM_INSULATION)
|
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()
|
/obj/structure/mineral_door/Move()
|
||||||
var/turf/T = loc
|
var/turf/T = loc
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -11,9 +11,6 @@
|
|||||||
CanAtmosPass = ATMOS_PASS_DENSITY
|
CanAtmosPass = ATMOS_PASS_DENSITY
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/statue/Initialize()
|
|
||||||
. = ..()
|
|
||||||
|
|
||||||
/obj/structure/statue/attackby(obj/item/W, mob/living/user, params)
|
/obj/structure/statue/attackby(obj/item/W, mob/living/user, params)
|
||||||
add_fingerprint(user)
|
add_fingerprint(user)
|
||||||
user.changeNext_move(CLICK_CD_MELEE)
|
user.changeNext_move(CLICK_CD_MELEE)
|
||||||
@@ -116,8 +113,7 @@
|
|||||||
|
|
||||||
/obj/structure/statue/plasma/bullet_act(obj/item/projectile/Proj)
|
/obj/structure/statue/plasma/bullet_act(obj/item/projectile/Proj)
|
||||||
var/burn = FALSE
|
var/burn = FALSE
|
||||||
if(!(Proj.nodamage) && Proj.damage_type == BURN)
|
if(!(Proj.nodamage) && Proj.damage_type == BURN && !QDELETED(src))
|
||||||
PlasmaBurn(2500)
|
|
||||||
burn = TRUE
|
burn = TRUE
|
||||||
if(burn)
|
if(burn)
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
@@ -127,10 +123,11 @@
|
|||||||
else
|
else
|
||||||
message_admins("Plasma statue ignited by [Proj]. No known firer, in [ADMIN_VERBOSEJMP(T)]")
|
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.")
|
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)
|
/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)
|
var/turf/T = get_turf(src)
|
||||||
message_admins("Plasma statue ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]")
|
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)]")
|
log_game("Plasma statue ignited by [key_name(user)] in [AREACOORD(T)]")
|
||||||
@@ -139,6 +136,8 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/structure/statue/plasma/proc/PlasmaBurn(exposed_temperature)
|
/obj/structure/statue/plasma/proc/PlasmaBurn(exposed_temperature)
|
||||||
|
if(QDELETED(src))
|
||||||
|
return
|
||||||
atmos_spawn_air("plasma=[oreAmount*10];TEMP=[exposed_temperature]")
|
atmos_spawn_air("plasma=[oreAmount*10];TEMP=[exposed_temperature]")
|
||||||
deconstruct(FALSE)
|
deconstruct(FALSE)
|
||||||
|
|
||||||
|
|||||||
@@ -15,9 +15,7 @@
|
|||||||
/obj/effect/clockwork/servant_blocker/Destroy(force)
|
/obj/effect/clockwork/servant_blocker/Destroy(force)
|
||||||
if(!force)
|
if(!force)
|
||||||
return QDEL_HINT_LETMELIVE
|
return QDEL_HINT_LETMELIVE
|
||||||
var/turf/T = get_turf(src)
|
return ..()
|
||||||
. = ..()
|
|
||||||
T.air_update_turf(TRUE)
|
|
||||||
|
|
||||||
/obj/effect/clockwork/servant_blocker/CanPass(atom/movable/M, turf/target)
|
/obj/effect/clockwork/servant_blocker/CanPass(atom/movable/M, turf/target)
|
||||||
var/list/target_contents = M.GetAllContents() + M
|
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>")
|
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()
|
/obj/effect/rune/wall/Destroy()
|
||||||
density = FALSE
|
|
||||||
GLOB.wall_runes -= src
|
GLOB.wall_runes -= src
|
||||||
air_update_turf(1)
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/effect/rune/wall/BlockSuperconductivity()
|
/obj/effect/rune/wall/BlockSuperconductivity()
|
||||||
|
|||||||
@@ -247,11 +247,6 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
air_update_turf(1)
|
air_update_turf(1)
|
||||||
|
|
||||||
/obj/structure/fans/Destroy()
|
|
||||||
var/turf/T = loc
|
|
||||||
. = ..()
|
|
||||||
T.air_update_turf(1)
|
|
||||||
|
|
||||||
//Inivisible, indestructible fans
|
//Inivisible, indestructible fans
|
||||||
/obj/structure/fans/tiny/invisible
|
/obj/structure/fans/tiny/invisible
|
||||||
name = "air flow blocker"
|
name = "air flow blocker"
|
||||||
|
|||||||
Reference in New Issue
Block a user