From 7d2ff194d1eedbba7c2af9e331b67cdc702ea70b Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Sun, 14 Nov 2021 20:48:41 +0100 Subject: [PATCH] this WILL fail CI hnnnngh --- code/datums/explosion.dm | 2 +- code/game/atoms.dm | 6 +++--- code/game/turfs/simulated/floor.dm | 2 +- code/game/turfs/simulated/walls.dm | 2 +- code/game/turfs/turf.dm | 4 ++-- code/modules/mob/living/carbon/human/human_defense.dm | 5 ++++- 6 files changed, 12 insertions(+), 9 deletions(-) diff --git a/code/datums/explosion.dm b/code/datums/explosion.dm index 8cdfaa4308..ec0d35b5a3 100644 --- a/code/datums/explosion.dm +++ b/code/datums/explosion.dm @@ -253,7 +253,7 @@ GLOBAL_LIST_EMPTY(explosions) if(dist > EXPLODE_NONE) T.explosion_level = max(T.explosion_level, dist) //let the bigger one have it T.explosion_id = id - T.ex_act(dist) + T.ex_act(dist, origin = src) exploded_this_tick += T //--- THROW ITEMS AROUND --- diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 48213279f1..c419014f41 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -610,12 +610,12 @@ user.buckle_message_cooldown = world.time + 50 to_chat(user, "You can't move while buckled to [src]!") -/atom/proc/contents_explosion(severity, target) +/atom/proc/contents_explosion(severity, target, origin) return //For handling the effects of explosions on contents that would not normally be effected -/atom/proc/ex_act(severity, target, datum/explosion/E) +/atom/proc/ex_act(severity, target, origin) set waitfor = FALSE - contents_explosion(severity, target) + contents_explosion(severity, target, origin) SEND_SIGNAL(src, COMSIG_ATOM_EX_ACT, severity, target) /** diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 4b03b2b8e6..9b6767b874 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -72,7 +72,7 @@ if(mapload && prob(66)) // 2/3 instead of 1/3 (default) MakeDirty() -/turf/open/floor/ex_act(severity, target) +/turf/open/floor/ex_act(severity, target, origin) var/shielded = is_shielded() ..() if(severity != 1 && shielded && target != src) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 76dc6533b6..3a150d1a71 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -80,7 +80,7 @@ if(girder_type) new /obj/item/stack/sheet/metal(src) -/turf/closed/wall/ex_act(severity, target) +/turf/closed/wall/ex_act(severity, target, origin) if(target == src) dismantle_wall(1,1) return diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 18ecbc21df..85de964463 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -451,7 +451,7 @@ GLOBAL_LIST_EMPTY(station_turfs) /turf/proc/is_shielded() -/turf/contents_explosion(severity, target) +/turf/contents_explosion(severity, target, origin) var/affecting_level if(severity == 1) affecting_level = 1 @@ -469,7 +469,7 @@ GLOBAL_LIST_EMPTY(station_turfs) var/atom/movable/AM = A if(!AM.ex_check(explosion_id)) continue - A.ex_act(severity, target) + A.ex_act(severity, target, origin) CHECK_TICK /turf/wave_ex_act(power, datum/wave_explosion/explosion, dir) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 1174fcba70..16ab351d64 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -319,7 +319,10 @@ var/atom/A = I if(!QDELETED(A)) A.ex_act(severity) - gib() + if(istype(origin, /datum/explosion)) + gib(was_explosion = origin) + else + gib() return else brute_loss = 500