diff --git a/code/controllers/supply_shuttle.dm b/code/controllers/supply_shuttle.dm
index 4a3a7ebbd41..7e14801c5e3 100644
--- a/code/controllers/supply_shuttle.dm
+++ b/code/controllers/supply_shuttle.dm
@@ -45,7 +45,7 @@ var/global/datum/controller/supply_shuttle/supply_shuttle
return 0
return ..()
-/obj/structure/plasticflaps/ex_act(severity, specialty)
+/obj/structure/plasticflaps/ex_act(severity, target)
..()
switch(severity)
if (1)
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 2409ef32b57..e5ec1e07753 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -232,8 +232,12 @@ its easier to just keep the beam vertical.
/atom/proc/relaymove()
return
-/atom/proc/ex_act(severity, specialty)
- contents_explosion(src, severity, specialty)
+/atom/proc/contents_explosion(severity, target)
+ for(var/atom/A in contents)
+ A.ex_act(severity, target)
+
+/atom/proc/ex_act(severity, target)
+ contents_explosion(severity, target)
/atom/proc/blob_act()
return
diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm
index cc729bb32b1..357bdd7c195 100644
--- a/code/game/gamemodes/blob/theblob.dm
+++ b/code/game/gamemodes/blob/theblob.dm
@@ -126,7 +126,7 @@
A.blob_act()
return 1
-/obj/effect/blob/ex_act(severity, specialty)
+/obj/effect/blob/ex_act(severity, target)
..()
var/damage = 150
health -= ((damage/brute_resist) - (severity * 5))
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index 0d5dfc22397..0741a7c099c 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -149,7 +149,7 @@ var/bomb_set
if ((M.client && M.machine == src))
src.attack_hand(M)
-/obj/machinery/nuclearbomb/ex_act(severity, specialty)
+/obj/machinery/nuclearbomb/ex_act(severity, target)
return
/obj/machinery/nuclearbomb/blob_act()
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index 4881f8a2658..ec015bcc70b 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -84,7 +84,7 @@
default_deconstruction_crowbar(I)
-/obj/machinery/sleeper/ex_act(severity, specialty)
+/obj/machinery/sleeper/ex_act(severity, target)
go_out()
..()
diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm
index b21f8e75145..7e787e9e0b4 100644
--- a/code/game/machinery/atmoalter/canister.dm
+++ b/code/game/machinery/atmoalter/canister.dm
@@ -204,7 +204,7 @@ update_flag
healthcheck()
..()
-/obj/machinery/portable_atmospherics/canister/ex_act(severity, specialty)
+/obj/machinery/portable_atmospherics/canister/ex_act(severity, target)
switch(severity)
if(1.0)
if(destroyed || prob(30))
diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm
index 6bd8d4f84a4..dd69b258e8b 100644
--- a/code/game/machinery/bots/bots.dm
+++ b/code/game/machinery/bots/bots.dm
@@ -293,7 +293,7 @@
healthcheck()
return
-/obj/machinery/bot/ex_act(severity, specialty)
+/obj/machinery/bot/ex_act(severity, target)
switch(severity)
if(1.0)
explode()
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 500a12326dd..22d472812f9 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -93,7 +93,7 @@
..()
-/obj/machinery/camera/ex_act(severity, specialty)
+/obj/machinery/camera/ex_act(severity, target)
if(src.invuln)
return
else
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 1cf5d5306be..7f7a0cb9384 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -348,7 +348,7 @@
if(prob(100/(severity*efficiency))) malfunction()
..()
-/obj/machinery/clonepod/ex_act(severity, specialty)
+/obj/machinery/clonepod/ex_act(severity, target)
..()
if(!gc_destroyed)
go_out()
diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm
index f851aaa7981..85c2f651c45 100644
--- a/code/game/machinery/computer/HolodeckControl.dm
+++ b/code/game/machinery/computer/HolodeckControl.dm
@@ -146,7 +146,7 @@
..()
-/obj/machinery/computer/HolodeckControl/ex_act(severity, specialty)
+/obj/machinery/computer/HolodeckControl/ex_act(severity, target)
emergencyShutdown()
..()
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index 3529f9ce314..946f4290c1c 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -31,7 +31,7 @@
..()
-/obj/machinery/computer/ex_act(severity, specialty)
+/obj/machinery/computer/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index 3989ee35d2c..ea4de4872e4 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -91,7 +91,7 @@ for reference:
qdel(src)
..()
-/obj/structure/barricade/wooden/ex_act(severity, specialty)
+/obj/structure/barricade/wooden/ex_act(severity, target)
switch(severity)
if(1.0)
visible_message("The barricade is blown apart!")
@@ -210,7 +210,7 @@ for reference:
src.explode()
..()
-/obj/machinery/deployable/barrier/ex_act(severity, specialty)
+/obj/machinery/deployable/barrier/ex_act(severity, target)
switch(severity)
if(1.0)
src.explode()
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index d994c0aba9e..9c785f30260 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -169,7 +169,7 @@
..()
-/obj/machinery/door/ex_act(severity, specialty)
+/obj/machinery/door/ex_act(severity, target)
if(severity == 3)
if(prob(80))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index b50ac0e9a1f..6e57407c657 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -162,7 +162,7 @@
qdel(src)
return
-/obj/machinery/door/window/ex_act(severity, specialty)
+/obj/machinery/door/window/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index bb2cab0a197..3599732cc6b 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -162,7 +162,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
stat |= ~NOPOWER
//Destruction procs.
-/obj/machinery/hologram/ex_act(severity, specialty)
+/obj/machinery/hologram/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index f933cb9366e..f63ea425196 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -220,7 +220,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
src.update_icon()
-/obj/machinery/newscaster/ex_act(severity, specialty)
+/obj/machinery/newscaster/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 42c627dbd0d..53ac5016921 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -370,7 +370,7 @@
..()
-/obj/machinery/porta_turret/ex_act(severity, specialty)
+/obj/machinery/porta_turret/ex_act(severity, target)
if(severity >= 3) //turret dies if an explosion touches it!
qdel(src)
else
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index aabb4e0dc20..62c7846c807 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -66,7 +66,7 @@
open_machine()
..(severity)
-/obj/machinery/recharge_station/ex_act(severity, specialty)
+/obj/machinery/recharge_station/ex_act(severity, target)
if(occupier)
open_machine()
..()
diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm
index 87c62079b33..eeaf3f54eef 100644
--- a/code/game/machinery/shieldgen.dm
+++ b/code/game/machinery/shieldgen.dm
@@ -64,7 +64,7 @@
opacity = 1
spawn(20) if(src) opacity = 0
-/obj/machinery/shield/ex_act(severity, specialty)
+/obj/machinery/shield/ex_act(severity, target)
switch(severity)
if(1.0)
if (prob(75))
@@ -181,7 +181,7 @@
update_icon()
return
-/obj/machinery/shieldgen/ex_act(severity, specialty)
+/obj/machinery/shieldgen/ex_act(severity, target)
switch(severity)
if(1.0)
src.health -= 75
@@ -567,7 +567,7 @@
return
-/obj/machinery/shieldwall/ex_act(severity, specialty)
+/obj/machinery/shieldwall/ex_act(severity, target)
if(needs_power)
var/obj/machinery/shieldwallgen/G
switch(severity)
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 47782404352..230235b347b 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -124,7 +124,7 @@
dump_everything()
update_icon()
-/obj/machinery/suit_storage_unit/ex_act(severity, specialty)
+/obj/machinery/suit_storage_unit/ex_act(severity, target)
switch(severity)
if(1.0)
if(prob(50))
diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index 7459017d183..9b04e98a683 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -180,7 +180,7 @@
origin_tech = "syndicate=6;combat=5"
var/adminlog = null
-/obj/item/weapon/bombcore/ex_act(severity, specialty) //Little boom can chain a big boom
+/obj/item/weapon/bombcore/ex_act(severity, target) //Little boom can chain a big boom
src.detonate()
/obj/item/weapon/bombcore/proc/detonate()
diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm
index 3cb48b9984e..4552cf988d9 100644
--- a/code/game/machinery/turrets.dm
+++ b/code/game/machinery/turrets.dm
@@ -291,7 +291,7 @@
power_change()
..()
-/obj/machinery/turret/ex_act(severity, specialty)
+/obj/machinery/turret/ex_act(severity, target)
if(severity < 3)
src.die()
@@ -361,7 +361,7 @@
..()
take_damage(0) //check your health
-/obj/machinery/gun_turret/ex_act(severity, specialty)
+/obj/machinery/gun_turret/ex_act(severity, target)
switch(severity)
if(1)
die()
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 71536af209e..2b484935c0c 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -77,7 +77,7 @@
for(var/obj/item/weapon/vending_refill/VR in component_parts)
refill_inventory(VR, product_records)
-/obj/machinery/vending/ex_act(severity, specialty)
+/obj/machinery/vending/ex_act(severity, target)
..()
if(!gc_destroyed)
if(prob(25))
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index c62aa6c8016..6bd0982060b 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -607,7 +607,7 @@ obj/mecha/proc/can_use(mob/user)
Proj.on_hit(src)
return
-/obj/mecha/ex_act(severity, specialty)
+/obj/mecha/ex_act(severity, target)
src.log_message("Affected by explosion of severity: [severity].",1)
if(prob(src.deflect_chance))
severity++
diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm
index 4dbb5afcfda..55f7dd17261 100644
--- a/code/game/objects/effects/aliens.dm
+++ b/code/game/objects/effects/aliens.dm
@@ -79,7 +79,7 @@
healthcheck()
-/obj/structure/alien/resin/ex_act(severity, specialty)
+/obj/structure/alien/resin/ex_act(severity, target)
switch(severity)
if(1.0)
health -= 150
@@ -211,7 +211,7 @@
new /obj/structure/alien/weeds(T, linked_node)
-/obj/structure/alien/weeds/ex_act(severity, specialty)
+/obj/structure/alien/weeds/ex_act(severity, target)
qdel(src)
diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm
index 521d5d0387b..f3817b101fc 100644
--- a/code/game/objects/effects/decals/Cleanable/humans.dm
+++ b/code/game/objects/effects/decals/Cleanable/humans.dm
@@ -58,7 +58,7 @@
icon_state = "gibbl5"
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6")
-/obj/effect/decal/cleanable/blood/gibs/ex_act(severity, specialty)
+/obj/effect/decal/cleanable/blood/gibs/ex_act(severity, target)
return
/obj/effect/decal/cleanable/blood/gibs/remove_ex_blood()
diff --git a/code/game/objects/effects/decals/decal.dm b/code/game/objects/effects/decals/decal.dm
index 73cfb8fa566..b9ffd568347 100644
--- a/code/game/objects/effects/decals/decal.dm
+++ b/code/game/objects/effects/decals/decal.dm
@@ -2,5 +2,5 @@
name = "decal"
icon = 'icons/effects/effects.dmi'
-/obj/effect/decal/ex_act(severity, specialty)
+/obj/effect/decal/ex_act(severity, target)
qdel(src)
\ No newline at end of file
diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm
index c31a54f6662..3dd5fdf823c 100644
--- a/code/game/objects/effects/effect_system.dm
+++ b/code/game/objects/effects/effect_system.dm
@@ -944,7 +944,7 @@ steam.start() -- spawns the effect
icon_state = "ironfoam"
-/obj/structure/foamedmetal/ex_act(severity, specialty)
+/obj/structure/foamedmetal/ex_act(severity, target)
qdel(src)
/obj/structure/foamedmetal/blob_act()
diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm
index 36fb5897365..f2ff3511e2c 100644
--- a/code/game/objects/effects/glowshroom.dm
+++ b/code/game/objects/effects/glowshroom.dm
@@ -117,7 +117,7 @@
endurance -= W.force
CheckEndurance()
-/obj/effect/glowshroom/ex_act(severity, specialty)
+/obj/effect/glowshroom/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index 520a1390086..d7102b10cf4 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -8,7 +8,7 @@
var/health = 15
//similar to weeds, but only barfed out by nurses manually
-/obj/effect/spider/ex_act(severity, specialty)
+/obj/effect/spider/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm
index 136fbc93603..571002155a4 100644
--- a/code/game/objects/explosion.dm
+++ b/code/game/objects/explosion.dm
@@ -6,11 +6,6 @@
if(dx>=dy) return dx + (0.5*dy) //The longest side add half the shortest side approximates the hypotenuse
else return dy + (0.5*dx)
-/proc/contents_explosion(var/atom/A, severity, specialty)
- for(var/atom/B in A.contents)
- B.ex_act(severity, specialty)
-
-
proc/trange(var/Dist=0,var/turf/Center=null)//alternative to range (ONLY processes turfs and thus less intensive)
if(Center==null) return
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 1d8e5861656..4a8ef189ea9 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -54,11 +54,11 @@
/obj/item/blob_act()
qdel(src)
-/obj/item/ex_act(severity, specialty)
- var/armour = 0
- armour += armor["bomb"]
- if(!armour)
- ..()
+/obj/item/ex_act(severity, target)
+ if(severity == 1 || target == src)
+ qdel(src)
+ if(!gc_destroyed)
+ contents_explosion(severity, target)
//user: The mob that is suiciding
//damagetype: The type of damage the item will inflict on the user
diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm
index 7623d007026..3b10f1fb0bb 100644
--- a/code/game/objects/items/latexballoon.dm
+++ b/code/game/objects/items/latexballoon.dm
@@ -33,7 +33,7 @@
user.update_inv_l_hand()
loc.assume_air(air_contents)
-/obj/item/latexballon/ex_act(severity, specialty)
+/obj/item/latexballon/ex_act(severity, target)
burst()
switch(severity)
if (1)
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index 58379753d20..2ff4fc4e0e4 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -87,7 +87,7 @@
/obj/item/weapon/c4/proc/explode(var/turf/location)
- location.ex_act(2, isturf(target) ? 1 : 2)
+ location.ex_act(2, target)
explosion(location,0,0,3)
if(target)
target.overlays -= image_overlay
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 23c4a390bbd..d11c0081de1 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -123,17 +123,12 @@
/obj/proc/hide(h)
return
-/obj/ex_act(severity, specialty)
- var/survivability = specialty * 15
- switch(severity)
- if(1)
+/obj/ex_act(severity, target)
+ if(severity == 1 || target == src)
+ qdel(src)
+ else if(severity == 2)
+ if(prob(50))
qdel(src)
- if(2)
- if(prob(50 + survivability))
- qdel(src)
- if(3)
- if(prob(25 + survivability))
- qdel(src)
if(!gc_destroyed)
..()
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 03430503585..b84816abf0a 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -127,7 +127,8 @@
return src.open()
// this should probably use dump_contents()
-/obj/structure/closet/ex_act(severity, specialty)
+/obj/structure/closet/ex_act(severity, target)
+ contents_explosion(severity, target)
open()
..()
diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
index 787e5233572..4dc425417ea 100644
--- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
@@ -101,7 +101,7 @@
spawn(10) update_icon()
-/obj/structure/closet/fireaxecabinet/ex_act(severity, specialty)
+/obj/structure/closet/fireaxecabinet/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index 453260d5e1b..893750a15aa 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -10,7 +10,7 @@
var/occupied = 1
var/destroyed = 0
-/obj/structure/displaycase/ex_act(severity, specialty)
+/obj/structure/displaycase/ex_act(severity, target)
switch(severity)
if (1)
new /obj/item/weapon/shard( src.loc )
diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm
index 10cdc963a66..b2874a23bc9 100644
--- a/code/game/objects/structures/extinguisher.dm
+++ b/code/game/objects/structures/extinguisher.dm
@@ -9,7 +9,7 @@
var/opened = 0
-/obj/structure/extinguisher_cabinet/ex_act(severity, specialty)
+/obj/structure/extinguisher_cabinet/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index 46e9cd35496..1db34a848e9 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -198,7 +198,7 @@
qdel(src)
-/obj/structure/girder/ex_act(severity, specialty)
+/obj/structure/girder/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
@@ -229,7 +229,7 @@
state = 2
girderpasschance = 0
-/obj/structure/girder/reinforced/ex_act(severity, specialty)
+/obj/structure/girder/reinforced/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
@@ -285,7 +285,7 @@
qdel(src)
-/obj/structure/cultgirder/ex_act(severity, specialty)
+/obj/structure/cultgirder/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index d7b4bcba24d..52a5905a7dd 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -16,7 +16,7 @@
stored = new/obj/item/stack/rods(src)
stored.amount = 2
-/obj/structure/grille/ex_act(severity, specialty)
+/obj/structure/grille/ex_act(severity, target)
qdel(src)
/obj/structure/grille/blob_act()
diff --git a/code/game/objects/structures/lamarr_cage.dm b/code/game/objects/structures/lamarr_cage.dm
index acba01c197e..eed83352412 100644
--- a/code/game/objects/structures/lamarr_cage.dm
+++ b/code/game/objects/structures/lamarr_cage.dm
@@ -10,7 +10,7 @@
var/occupied = 1
var/destroyed = 0
-/obj/structure/lamarr/ex_act(severity, specialty)
+/obj/structure/lamarr/ex_act(severity, target)
switch(severity)
if (1)
new /obj/item/weapon/shard( src.loc )
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index d2bc62a39ea..d953775363d 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -38,7 +38,7 @@
qdel(src)
return
-/obj/structure/lattice/ex_act(severity, specialty)
+/obj/structure/lattice/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index 37ae9ca2a84..8acbe878808 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -165,7 +165,7 @@ FLOOR SAFES
obj/structure/safe/blob_act()
return
-obj/structure/safe/ex_act(severity, specialty)
+obj/structure/safe/ex_act(severity, target)
return
diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm
index 87a97897862..8a1591531a0 100644
--- a/code/game/objects/structures/signs.dm
+++ b/code/game/objects/structures/signs.dm
@@ -5,7 +5,7 @@
density = 0
layer = 3.5
-/obj/structure/sign/ex_act(severity, specialty)
+/obj/structure/sign/ex_act(severity, target)
qdel(src)
/obj/structure/sign/blob_act()
diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm
index 1877e3b3b07..01c86ee14a5 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm
@@ -6,7 +6,7 @@
anchored = 1.0
pressure_resistance = 15
-/obj/structure/stool/ex_act(severity, specialty)
+/obj/structure/stool/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 1bfa49406f0..fdd87f2176a 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -180,7 +180,7 @@
else
dir = 2
-/obj/structure/table/ex_act(severity, specialty)
+/obj/structure/table/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
@@ -499,7 +499,7 @@
throwpass = 1 //You can throw objects over this, despite it's density.
var/health = 5
-/obj/structure/rack/ex_act(severity, specialty)
+/obj/structure/rack/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm
index d269915b63c..12bfc62e84d 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube.dm
@@ -25,7 +25,7 @@
return !density
// When destroyed by explosions, properly handle contents.
-obj/structure/transit_tube/ex_act(severity, specialty)
+obj/structure/transit_tube/ex_act(severity, target)
if(3 - severity >= 0)
var/oldloc = loc
..(severity + 1)
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 6dfc31397f9..d748bdd960d 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -53,7 +53,7 @@
return
-/obj/structure/window/ex_act(severity, specialty)
+/obj/structure/window/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
@@ -104,7 +104,7 @@
var/obj/item/I = AM
tforce = I.throwforce
- if(reinf)
+ if(reinf)
tforce *= 0.25
playsound(loc, 'sound/effects/Glasshit.ogg', 100, 1)
@@ -164,12 +164,12 @@
update_nearby_icons()
/obj/structure/window/attack_animal(mob/living/user as mob)
- if(!isanimal(user))
+ if(!isanimal(user))
return
var/mob/living/simple_animal/M = user
M.do_attack_animation(src)
- if(M.melee_damage_upper <= 0)
+ if(M.melee_damage_upper <= 0)
return
attack_generic(M, M.melee_damage_upper)
@@ -177,7 +177,7 @@
/obj/structure/window/attack_slime(mob/living/carbon/slime/user as mob)
user.do_attack_animation(src)
- if(!user.is_adult)
+ if(!user.is_adult)
return
attack_generic(user, rand(10, 15))
@@ -196,11 +196,11 @@
user << (anchored ? "You begin to unscrew the frame from the floor." : "You begin to screw the frame to the floor.")
else if(!reinf)
user << (anchored ? "You begin to unscrew the window from the floor." : "You begin to screw the window to the floor.")
-
+
if(do_after(user, 40))
if(reinf && (state == 1 || state == 2))
//If state was unfastened, fasten it, else do the reverse
- state = (state == 1 ? 2 : 1)
+ state = (state == 1 ? 2 : 1)
user << (state == 1 ? "You have unfastened the window from the frame." : "You have fastened the window to the frame.")
else if(reinf && state == 0)
anchored = !anchored
@@ -216,7 +216,7 @@
playsound(loc, 'sound/items/Crowbar.ogg', 75, 1)
if(do_after(user, 40))
//If state was out of frame, put into frame, else do the reverse
- state = (state == 0 ? 1 : 0)
+ state = (state == 0 ? 1 : 0)
user << (state == 1 ? "You have pried the window into the frame." : "You have pried the window out of the frame.")
else if(istype(I, /obj/item/weapon/weldingtool))
@@ -472,4 +472,4 @@
dir = 5
maxhealth = 100
shuttlew = 1
- fulltile = 1
+ fulltile = 1
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 33c7d68b6c8..9e641352434 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -42,12 +42,12 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
if(floor_tile)
builtin_tile = new floor_tile
-/turf/simulated/floor/ex_act(severity, specialty)
+/turf/simulated/floor/ex_act(severity, target)
..()
- if(specialty == 2)
- return
- if(specialty == 1)
+ if(target == src)
src.ChangeTurf(/turf/space)
+ if(target != null)
+ ex_act(3)
return
switch(severity)
if(1.0)
diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm
index 0f34cdffffe..4a808d7be61 100644
--- a/code/game/turfs/simulated/floor/misc_floor.dm
+++ b/code/game/turfs/simulated/floor/misc_floor.dm
@@ -64,8 +64,8 @@
name = "Beach"
icon = 'icons/misc/beach.dmi'
-/turf/simulated/floor/beach/ex_act(severity, specialty)
- contents_explosion(src, severity)
+/turf/simulated/floor/beach/ex_act(severity, target)
+ contents_explosion(severity, target)
/turf/simulated/floor/beach/sand
name = "Sand"
@@ -90,8 +90,8 @@
icon = 'icons/turf/snow.dmi'
icon_state = "snow"
-/turf/simulated/floor/plating/snow/ex_act(severity, specialty)
- contents_explosion(src, severity)
+/turf/simulated/floor/plating/snow/ex_act(severity, target)
+ contents_explosion(severity, target)
/turf/simulated/floor/noslip
name = "high-traction floor"
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index 0656f9ce28f..3b40db1a39c 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -47,11 +47,10 @@
builtin_sheet.loc = src
new /obj/item/stack/sheet/metal(src)
-/turf/simulated/wall/ex_act(severity, specialty)
- if(specialty)
+/turf/simulated/wall/ex_act(severity, target)
+ if(target == src)
dismantle_wall(1,1)
return
-
switch(severity)
if(1.0)
//SN src = null
diff --git a/code/modules/events/ninja.dm b/code/modules/events/ninja.dm
index a64a8861cb1..961a2d771d9 100644
--- a/code/modules/events/ninja.dm
+++ b/code/modules/events/ninja.dm
@@ -2680,7 +2680,7 @@ It is possible to destroy the net by the occupant or someone else.
healthcheck()
..()
-/obj/effect/energy_net/ex_act(severity, specialty)
+/obj/effect/energy_net/ex_act(severity, target)
switch(severity)
if(1.0)
health-=50
diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index c2bc53dc00c..b3d6d06fba4 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -500,7 +500,7 @@
*/
-/obj/effect/spacevine/ex_act(severity, specialty)
+/obj/effect/spacevine/ex_act(severity, target)
switch(severity)
if(1.0)
Destroy()
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index e4f8c6be33e..4fff75a6bac 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -105,7 +105,7 @@
update_icon()
-/obj/structure/bookcase/ex_act(severity, specialty)
+/obj/structure/bookcase/ex_act(severity, target)
..()
if(!gc_destroyed)
for(var/obj/item/weapon/book/b in contents)
diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm
index 52908779bc4..3748818c031 100644
--- a/code/modules/mining/equipment_locker.dm
+++ b/code/modules/mining/equipment_locker.dm
@@ -192,7 +192,7 @@
updateUsrDialog()
return
-/obj/machinery/mineral/ore_redemption/ex_act(severity, specialty)
+/obj/machinery/mineral/ore_redemption/ex_act(severity, target)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
@@ -357,7 +357,7 @@
new /obj/item/device/t_scanner/adv_mining_scanner(src.loc)
qdel(voucher)
-/obj/machinery/mineral/equipment_vendor/ex_act(severity, specialty)
+/obj/machinery/mineral/equipment_vendor/ex_act(severity, target)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm
index 265172faf29..92e6a091471 100644
--- a/code/modules/mining/mine_turfs.dm
+++ b/code/modules/mining/mine_turfs.dm
@@ -18,7 +18,7 @@
var/scan_state = null //Holder for the image we display when we're pinged by a mining scanner
var/hidden = 1
-/turf/simulated/mineral/ex_act(severity, specialty)
+/turf/simulated/mineral/ex_act(severity, target)
..()
switch(severity)
if(3.0)
@@ -494,8 +494,8 @@
/turf/simulated/floor/plating/asteroid/burn_tile()
return
-/turf/simulated/floor/plating/asteroid/ex_act(severity, specialty)
- contents_explosion(src, severity, specialty)
+/turf/simulated/floor/plating/asteroid/ex_act(severity, target)
+ contents_explosion(severity, target)
switch(severity)
if(3.0)
return
diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm
index 1b8394cbce1..c8311e58f8d 100644
--- a/code/modules/mining/satchel_ore_boxdm.dm
+++ b/code/modules/mining/satchel_ore_boxdm.dm
@@ -83,6 +83,6 @@
src.updateUsrDialog()
return
-obj/structure/ore_box/ex_act(severity, specialty)
+obj/structure/ore_box/ex_act(severity, target)
if(prob(100 / severity) && severity < 3)
qdel(src) //nothing but ores can get inside unless its a bug and ores just return nothing on ex_act, not point in calling it on them
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index c8c8be9e829..587114bd587 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -26,7 +26,7 @@
if(l_store) l_store.emp_act(severity)
..()
-/mob/living/carbon/alien/humanoid/ex_act(severity, specialty)
+/mob/living/carbon/alien/humanoid/ex_act(severity, target)
..()
var/shielded = 0
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index ebb39cc84cf..7288651a2cc 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -34,7 +34,7 @@
..(amount)
-/mob/living/carbon/alien/larva/ex_act(severity, specialty)
+/mob/living/carbon/alien/larva/ex_act(severity, target)
..()
var/b_loss = null
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 5ef5e645e31..038aedc7952 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -80,7 +80,7 @@
stat("Energy Charge", round(wear_suit:cell:charge/100))
-/mob/living/carbon/human/ex_act(severity, specialty)
+/mob/living/carbon/human/ex_act(severity, ex_target)
var/shielded = 0
var/b_loss = null
var/f_loss = null
@@ -139,9 +139,8 @@
if("r_leg")
update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05)
if(update) update_damage_overlays(0)
- if(!getarmor(null, "bomb"))
- ..()
+ ..()
/mob/living/carbon/human/blob_act()
if(stat == 2) return
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index efdb9d872a3..cdef1652274 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -194,7 +194,7 @@
/mob/living/carbon/monkey/var/co2overloadtime = null
/mob/living/carbon/monkey/var/temperature_resistance = T0C+75
-/mob/living/carbon/monkey/ex_act(severity, specialty)
+/mob/living/carbon/monkey/ex_act(severity, target)
..()
switch(severity)
if(1.0)
diff --git a/code/modules/mob/living/carbon/slime/slime.dm b/code/modules/mob/living/carbon/slime/slime.dm
index 86cc557e814..4a9d4291d3d 100644
--- a/code/modules/mob/living/carbon/slime/slime.dm
+++ b/code/modules/mob/living/carbon/slime/slime.dm
@@ -158,7 +158,7 @@
powerlevel = 0 // oh no, the power!
..()
-/mob/living/carbon/slime/ex_act(severity, specialty)
+/mob/living/carbon/slime/ex_act(severity, target)
..()
var/b_loss = null
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index d15120ce55f..a675decaa08 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -134,7 +134,7 @@
/mob/living/proc/InCritical()
return (src.health < 0 && src.health > -95.0 && stat == UNCONSCIOUS)
-/mob/living/ex_act(severity, specialty)
+/mob/living/ex_act(severity, target)
..()
if(client && !blinded)
flick("flash", src.flash)
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 89361266a4a..e43bbd5476f 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -312,7 +312,7 @@ var/list/ai_list = list()
ai_call_shuttle()
..()
-/mob/living/silicon/ai/ex_act(severity, specialty)
+/mob/living/silicon/ai/ex_act(severity, target)
..()
switch(severity)
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index 53d4fec79f6..a73ecc80042 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -136,7 +136,7 @@
if(3)
src << "You feel an electric surge run through your circuitry and become acutely aware at how lucky you are that you can still feel at all."
-/mob/living/silicon/pai/ex_act(severity, specialty)
+/mob/living/silicon/pai/ex_act(severity, target)
..()
switch(severity)
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index baa86755c24..526602766c5 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -323,8 +323,7 @@
return 0
-/mob/living/silicon/robot/ex_act(severity, specialty)
-
+/mob/living/silicon/robot/ex_act(severity, target)
switch(severity)
if(1.0)
gib()
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 597eda3fc5a..94754bbd387 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -18,6 +18,9 @@
var/med_hud = DATA_HUD_MEDICAL_ADVANCED //Determines the med hud to use
var/sec_hud = DATA_HUD_SECURITY_ADVANCED //Determines the sec hud to use
+/mob/living/silicon/contents_explosion(severity, target)
+ return
+
/mob/living/silicon/proc/cancelAlarm()
return
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
index 9d39a19cc07..7de2c6ff8c8 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
@@ -99,7 +99,7 @@
visible_message("The [src.name]'s stare chills [L.name] to the bone!")
return
-/mob/living/simple_animal/hostile/asteroid/basilisk/ex_act(severity, specialty)
+/mob/living/simple_animal/hostile/asteroid/basilisk/ex_act(severity, target)
switch(severity)
if(1.0)
gib()
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index ad4c46943aa..47804ba4eae 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -398,7 +398,7 @@
Die()
-/mob/living/simple_animal/ex_act(severity, specialty)
+/mob/living/simple_animal/ex_act(severity, target)
..()
switch (severity)
if (1.0)
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index b4cda2bbbb0..eb63063a421 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -269,7 +269,7 @@
copy = null
updateUsrDialog()
-/obj/machinery/photocopier/ex_act(severity, specialty)
+/obj/machinery/photocopier/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/modules/power/antimatter/containment_jar.dm b/code/modules/power/antimatter/containment_jar.dm
index 82258e1dac5..4dbb76755b4 100644
--- a/code/modules/power/antimatter/containment_jar.dm
+++ b/code/modules/power/antimatter/containment_jar.dm
@@ -15,7 +15,7 @@
var/stability = 100//TODO: add all the stability things to this so its not very safe if you keep hitting in on things
-/obj/item/weapon/am_containment/ex_act(severity, specialty)
+/obj/item/weapon/am_containment/ex_act(severity, target)
switch(severity)
if(1.0)
explosion(get_turf(src), 1, 2, 3, 5)//Should likely be larger but this works fine for now I guess
diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm
index 0c4831fda0c..b0c74c5aca3 100644
--- a/code/modules/power/antimatter/control.dm
+++ b/code/modules/power/antimatter/control.dm
@@ -112,7 +112,7 @@
return
-/obj/machinery/power/am_control_unit/ex_act(severity, specialty)
+/obj/machinery/power/am_control_unit/ex_act(severity, target)
stability -= (80 - (severity * 20))
check_stability()
return
diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm
index be52c6ea443..0cec896235e 100644
--- a/code/modules/power/antimatter/shielding.dm
+++ b/code/modules/power/antimatter/shielding.dm
@@ -100,7 +100,7 @@ proc/cardinalrange(var/center)
return
-/obj/machinery/am_shielding/ex_act(severity, specialty)
+/obj/machinery/am_shielding/ex_act(severity, target)
stability -= (80 - (severity * 20))
check_stability()
return
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 9e160b5c2f4..d51b7dd813b 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -1183,7 +1183,7 @@ obj/machinery/power/apc/proc/autoset(var/val, var/on)
environ = 3
..()
-/obj/machinery/power/apc/ex_act(severity, specialty)
+/obj/machinery/power/apc/ex_act(severity, target)
..()
if(!gc_destroyed)
switch(severity)
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index d5445e52532..6b9753df305 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -174,7 +174,7 @@ By design, d1 is the smallest direction and d2 is the highest
return 0
//explosion handling
-/obj/structure/cable/ex_act(severity, specialty)
+/obj/structure/cable/ex_act(severity, target)
..()
if(!gc_destroyed)
switch(severity)
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index 2d884754143..31b13bf9ed9 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -118,7 +118,7 @@
reliability -= 10 / severity
..()
-/obj/item/weapon/stock_parts/cell/ex_act(severity, specialty)
+/obj/item/weapon/stock_parts/cell/ex_act(severity, target)
..()
if(!gc_destroyed)
switch(severity)
diff --git a/code/modules/power/engine.dm b/code/modules/power/engine.dm
index 696d2bbd63a..d5874f7311a 100644
--- a/code/modules/power/engine.dm
+++ b/code/modules/power/engine.dm
@@ -4,8 +4,8 @@
/turf/simulated/floor/engine/attack_hand(var/mob/user as mob)
user.Move_Pulled(src)
-/turf/simulated/floor/engine/ex_act(severity, specialty)
- contents_explosion(src, severity, specialty)
+/turf/simulated/floor/engine/ex_act(severity, target)
+ contents_explosion(severity, target)
switch(severity)
if(1)
ChangeTurf(/turf/space)
diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm
index 026279d3c00..c4147f0307a 100644
--- a/code/modules/power/gravitygenerator.dm
+++ b/code/modules/power/gravitygenerator.dm
@@ -28,7 +28,7 @@ var/const/GRAV_NEEDS_WRENCH = 3
unacidable = 1
var/sprite_number = 0
-/obj/machinery/gravity_generator/ex_act(severity, specialty)
+/obj/machinery/gravity_generator/ex_act(severity, target)
if(severity == 1) // Very sturdy.
set_broken()
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 1e4dd2f0e7d..dd9af7e4a73 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -572,7 +572,7 @@
// explosion effect
// destroy the whole light fixture or just shatter it
-/obj/machinery/light/ex_act(severity, specialty)
+/obj/machinery/light/ex_act(severity, target)
..()
if(!gc_destroyed)
switch(severity)
diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm
index d39b4adebb7..2d4ede128b5 100644
--- a/code/modules/power/singularity/collector.dm
+++ b/code/modules/power/singularity/collector.dm
@@ -106,7 +106,7 @@ var/global/list/rad_collectors = list()
return 1
-/obj/machinery/power/rad_collector/ex_act(severity, specialty)
+/obj/machinery/power/rad_collector/ex_act(severity, target)
switch(severity)
if(2, 3)
eject()
diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm
index 6f864bfdbec..377670faa43 100644
--- a/code/modules/power/singularity/containment_field.dm
+++ b/code/modules/power/singularity/containment_field.dm
@@ -33,7 +33,7 @@
return 0
-/obj/machinery/field/containment/ex_act(severity, specialty)
+/obj/machinery/field/containment/ex_act(severity, target)
return 0
diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm
index 756d5a83858..7d41c552c37 100644
--- a/code/modules/power/singularity/particle_accelerator/particle.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle.dm
@@ -49,7 +49,7 @@
return
-/obj/effect/accelerated_particle/ex_act(severity, specialty)
+/obj/effect/accelerated_particle/ex_act(severity, target)
loc = null
return
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 4f082bd3920..60a9f5f1cd9 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -59,7 +59,7 @@
/obj/machinery/singularity/blob_act(severity)
return
-/obj/machinery/singularity/ex_act(severity, specialty)
+/obj/machinery/singularity/ex_act(severity, target)
switch(severity)
if(1.0)
if(current_size <= STAGE_TWO)
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index 079447a3a9c..062f28cb028 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -147,7 +147,7 @@ var/list/solars_list = list()
return
-/obj/machinery/power/solar/ex_act(severity, specialty)
+/obj/machinery/power/solar/ex_act(severity, target)
..()
if(!gc_destroyed)
switch(severity)
@@ -513,7 +513,7 @@ var/list/solars_list = list()
update_icon()
-/obj/machinery/power/solar_control/ex_act(severity, specialty)
+/obj/machinery/power/solar_control/ex_act(severity, target)
..()
if(!gc_destroyed)
switch(severity)
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index a145d9e6f2a..a66edfd891d 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -51,7 +51,7 @@
recharge()
dispensable_reagents = sortList(dispensable_reagents)
-/obj/machinery/chem_dispenser/ex_act(severity, specialty)
+/obj/machinery/chem_dispenser/ex_act(severity, target)
if(severity < 3)
..()
@@ -254,7 +254,7 @@
create_reagents(100)
overlays += "waitlight"
-/obj/machinery/chem_master/ex_act(severity, specialty)
+/obj/machinery/chem_master/ex_act(severity, target)
if(severity < 3)
..()
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index b023db294d2..20caf94ffc0 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -10,7 +10,7 @@
var/amount_per_transfer_from_this = 10
var/possible_transfer_amounts = list(10,25,50,100)
-/obj/structure/reagent_dispensers/ex_act(severity, specialty)
+/obj/structure/reagent_dispensers/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
@@ -60,7 +60,7 @@
..()
reagents.add_reagent("water",1000)
-/obj/structure/reagent_dispensers/watertank/ex_act(severity, specialty)
+/obj/structure/reagent_dispensers/watertank/ex_act(severity, target)
switch(severity)
if(1.0)
qdel(src)
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index 307a806d6bd..36fdf7de1ec 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -794,12 +794,12 @@
// pipe affected by explosion
-/obj/structure/disposalpipe/ex_act(severity, specialty)
+/obj/structure/disposalpipe/ex_act(severity, target)
//pass on ex_act to our contents before calling it on ourself
var/obj/structure/disposalholder/H = locate() in src
if(H)
- contents_explosion(H, severity)
+ H.contents_explosion(severity, target)
switch(severity)
if(1.0)
diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm
index b4f29e0529f..bd65c48c68d 100644
--- a/code/modules/research/server.dm
+++ b/code/modules/research/server.dm
@@ -80,7 +80,7 @@
..()
-/obj/machinery/r_n_d/server/ex_act(severity, specialty)
+/obj/machinery/r_n_d/server/ex_act(severity, target)
griefProtection()
..()