From a90d92df2b2ced54c8b73a0b72b327a21d0faad8 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 2 Nov 2022 12:45:16 -0700 Subject: [PATCH] converts ex_act to legacy_ex_act, plants the seeds for new explosions (#4662) Co-authored-by: VM_USER --- citadel.dme | 2 + code/__DEFINES/combat/explosions.dm | 33 +++++++++ .../signals_atom/signals_atom_x_act.dm | 6 +- code/datums/beam.dm | 2 +- code/game/atoms/atoms.dm | 23 +++++- code/game/dna/dna_modifier.dm | 10 +-- code/game/gamemodes/cult/hell_universe.dm | 2 +- code/game/gamemodes/cult/narsie.dm | 2 +- .../endgame/supermatter_cascade/universe.dm | 2 +- code/game/gamemodes/events/black_hole.dm | 4 +- code/game/gamemodes/events/clang.dm | 8 +-- code/game/gamemodes/events/dust.dm | 8 +-- code/game/gamemodes/meteor/meteors.dm | 6 +- .../technomancer/spells/phase_shift.dm | 2 +- code/game/machinery/OpTable.dm | 2 +- code/game/machinery/_machinery.dm | 2 +- code/game/machinery/adv_med.dm | 10 +-- code/game/machinery/atm_ret_field.dm | 4 +- code/game/machinery/camera/camera.dm | 2 +- code/game/machinery/cloning.dm | 8 +-- code/game/machinery/computer/computer.dm | 4 +- code/game/machinery/deployable.dm | 4 +- code/game/machinery/doors/airlock.dm | 2 +- code/game/machinery/doors/door.dm | 2 +- code/game/machinery/event.dm | 4 +- code/game/machinery/floor_light.dm | 2 +- code/game/machinery/hologram.dm | 2 +- code/game/machinery/newscaster.dm | 2 +- code/game/machinery/nuclear_bomb.dm | 2 +- code/game/machinery/portable_turret.dm | 2 +- .../suit_storage/suit_storage_massive.dm | 2 +- .../suit_storage/suit_storage_unit.dm | 2 +- code/game/machinery/vending.dm | 2 +- code/game/mecha/equipment/tools/drill.dm | 12 ++-- code/game/mecha/mecha.dm | 4 +- code/game/mecha/mecha_control_console.dm | 2 +- code/game/mecha/mecha_wreckage.dm | 2 +- code/game/mecha/micro/micro_equipment.dm | 4 +- code/game/objects/_items.dm | 2 +- code/game/objects/effects/_effect.dm | 2 +- code/game/objects/effects/alien/aliens.dm | 4 +- code/game/objects/effects/chem/foam.dm | 2 +- .../effects/map_effects/map_effects.dm | 2 +- code/game/objects/effects/mines.dm | 2 +- code/game/objects/effects/spiders.dm | 2 +- .../temporary_visuals/temporary_visual.dm | 2 +- code/game/objects/explosion.dm | 6 +- code/game/objects/explosion_recursive.dm | 8 +-- .../objects/items/devices/chameleonproj.dm | 2 +- code/game/objects/items/devices/paicard.dm | 4 +- code/game/objects/items/falling_object.dm | 4 +- code/game/objects/items/latexballoon.dm | 2 +- code/game/objects/items/stacks/sandbag.dm | 2 +- code/game/objects/items/uav.dm | 2 +- code/game/objects/items/weapons/explosives.dm | 4 +- .../objects/items/weapons/gift_wrappaper.dm | 4 +- code/game/objects/structures.dm | 2 +- code/game/objects/structures/catwalk.dm | 2 +- .../structures/crates_lockers/closets.dm | 6 +- .../crates_lockers/closets/statue.dm | 4 +- .../structures/crates_lockers/crates.dm | 2 +- code/game/objects/structures/displaycase.dm | 2 +- code/game/objects/structures/flora/trees.dm | 2 +- code/game/objects/structures/girders.dm | 2 +- code/game/objects/structures/gravemarker.dm | 2 +- code/game/objects/structures/grille.dm | 2 +- code/game/objects/structures/inflatable.dm | 2 +- code/game/objects/structures/lattice.dm | 2 +- code/game/objects/structures/morgue.dm | 8 +-- code/game/objects/structures/plasticflaps.dm | 2 +- .../game/objects/structures/props/blackbox.dm | 2 +- .../objects/structures/props/puzzledoor.dm | 2 +- code/game/objects/structures/railing.dm | 2 +- code/game/objects/structures/safe.dm | 2 +- code/game/objects/structures/signs.dm | 2 +- code/game/objects/structures/simple_doors.dm | 2 +- code/game/objects/structures/statues.dm | 2 +- .../structures/stool_bed_chair_nest/bed.dm | 2 +- .../structures/stool_bed_chair_nest/stools.dm | 2 +- code/game/objects/structures/transit_tubes.dm | 6 +- code/game/objects/structures/window.dm | 2 +- code/game/turfs/simulated/floor_acts.dm | 2 +- code/game/turfs/simulated/floor_types_vr.dm | 2 +- code/game/turfs/simulated/floors/dungeon.dm | 2 +- code/game/turfs/simulated/floors/outdoors.dm | 2 +- code/game/turfs/simulated/wall.dm | 2 +- code/game/turfs/simulated/walls/dungeon.dm | 4 +- code/game/turfs/turf.dm | 2 +- code/game/vehicles/vehicle.dm | 2 +- code/modules/automata/_wave.dm | 72 +++++++++++-------- code/modules/automata/explosion.dm | 2 + code/modules/blob/blob.dm | 8 +-- code/modules/events/meteor_strike_vr.dm | 4 +- code/modules/fishing/fishing.dm | 2 +- code/modules/holodeck/HolodeckControl.dm | 4 +- code/modules/holomap/station_holomap.dm | 2 +- .../hydroponics/spreading/spreading.dm | 5 +- .../hydroponics/spreading/spreading_growth.dm | 2 +- .../subtypes/manipulation.dm | 4 +- code/modules/library/lib_items.dm | 2 +- code/modules/lighting/emissive_blocker.dm | 2 +- code/modules/lighting/lighting_object.dm | 2 +- code/modules/looking_glass/lg_console.dm | 2 +- .../away_missions/archive/stationCollision.dm | 4 +- code/modules/materials/material_sheets.dm | 2 +- code/modules/mining/drilling/drill.dm | 2 +- code/modules/mining/mine_turfs.dm | 2 +- code/modules/mining/ore.dm | 2 +- .../equipment_vendor.dm | 2 +- code/modules/mining/satchel_ore_boxdm.dm | 2 +- code/modules/mining/vertibore.dm | 2 +- .../mob/living/carbon/alien/alien_damage.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 2 +- .../mob/living/carbon/human/human_defense.dm | 2 +- .../living/carbon/human/traits/weaver_objs.dm | 2 +- .../mob/living/carbon/metroid/metroid.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 2 +- code/modules/mob/living/silicon/silicon.dm | 2 +- code/modules/mob/living/simple_mob/defense.dm | 2 +- .../simple_mob/subtypes/illusion/illusion.dm | 2 +- .../subtypes/mechanical/mecha/mecha.dm | 2 +- .../subtypes/slime/xenobio/subtypes.dm | 4 +- .../living/simple_mob/subtypes/vore/mimic.dm | 8 +-- .../computers/modular_computer/damage.dm | 2 +- code/modules/multiz/hoist.dm | 4 +- .../overmap/disperser/disperser_fire.dm | 4 +- code/modules/paperwork/photocopier.dm | 2 +- .../power/antimatter/containment_jar.dm | 2 +- code/modules/power/antimatter/control.dm | 2 +- code/modules/power/antimatter/shielding.dm | 2 +- code/modules/power/apc.dm | 12 ++-- code/modules/power/cable.dm | 2 +- code/modules/power/cable_ender.dm | 2 +- code/modules/power/cell.dm | 2 +- code/modules/power/gravitygenerator.dm | 2 +- code/modules/power/lighting.dm | 2 +- code/modules/power/port_gen.dm | 2 +- code/modules/power/singularity/act.dm | 2 +- code/modules/power/singularity/collector.dm | 2 +- .../power/singularity/containment_field.dm | 2 +- .../particle_accelerator/particle.dm | 2 +- .../particle_accelerator.dm | 4 +- code/modules/power/singularity/singularity.dm | 2 +- code/modules/power/solar.dm | 4 +- code/modules/power/tesla/energy_ball.dm | 2 +- code/modules/power/tesla/tesla_act.dm | 2 +- .../projectiles/projectile/beam/beams.dm | 2 +- .../modules/projectiles/projectile/special.dm | 2 +- .../modules/reagents/machinery/chem_master.dm | 2 +- .../machinery/dispenser/reagent_tank.dm | 6 +- code/modules/recycling/disposal.dm | 2 +- code/modules/research/server.dm | 2 +- code/modules/resleeving/sleevecard.dm | 4 +- code/modules/shieldgen/emergency_shield.dm | 4 +- code/modules/shieldgen/energy_field.dm | 2 +- code/modules/shieldgen/energy_shield.dm | 2 +- code/modules/shieldgen/sheldwallgen.dm | 2 +- code/modules/shieldgen/shield_gen.dm | 2 +- code/modules/shuttles/shuttle_console.dm | 2 +- .../station/promethean/promethean_blob.dm | 4 +- .../station/xenomorph_hybrids/hybrid_resin.dm | 2 +- code/modules/spells/spell_projectile.dm | 2 +- .../modules/spells/targeted/ethereal_jaunt.dm | 2 +- code/modules/vehicles_legacy/vehicle.dm | 2 +- .../ventcrawl/ventcrawl_atmospherics.dm | 4 +- code/modules/vore/fluffstuff/custom_guns.dm | 2 +- code/modules/vore/resizing/grav_pull_vr.dm | 2 +- .../xenoarcheaology/artifacts/artifact.dm | 2 +- .../xenoarcheaology/tools/coolant_tank.dm | 2 +- 169 files changed, 346 insertions(+), 273 deletions(-) create mode 100644 code/__DEFINES/combat/explosions.dm create mode 100644 code/modules/automata/explosion.dm diff --git a/citadel.dme b/citadel.dme index c129aecc5c7..40922a22986 100644 --- a/citadel.dme +++ b/citadel.dme @@ -127,6 +127,7 @@ #include "code\__DEFINES\color\colour_priority.dm" #include "code\__DEFINES\color\lum.dm" #include "code\__DEFINES\combat\atom_damage.dm" +#include "code\__DEFINES\combat\explosions.dm" #include "code\__DEFINES\controllers\_subsystems.dm" #include "code\__DEFINES\controllers\dbcore.dm" #include "code\__DEFINES\controllers\overlays.dm" @@ -1911,6 +1912,7 @@ #include "code\modules\atmospherics\machinery\pipes\vent.dm" #include "code\modules\automata\__automata.dm" #include "code\modules\automata\_wave.dm" +#include "code\modules\automata\explosion.dm" #include "code\modules\automata\sonar.dm" #include "code\modules\awaymissions\bluespaceartillery.dm" #include "code\modules\awaymissions\corpse.dm" diff --git a/code/__DEFINES/combat/explosions.dm b/code/__DEFINES/combat/explosions.dm new file mode 100644 index 00000000000..c0b2b11e061 --- /dev/null +++ b/code/__DEFINES/combat/explosions.dm @@ -0,0 +1,33 @@ +//! Global balancing numbers; everything should derive off of these so we can adjust everything at once. +/// global default multiplier for falloff factor +#define EXPLOSION_FALLOFF_FACTOR 1 +/// global default multiplier for bypass factor +#define EXPLOSION_BYPASS_FACTOR 1 +/// global default "nominal" maxcap power; being hit by this is what causes the most severe effects like turfs completely peeling away, people gibbing, etc. +#define EXPLOSION_CONSTANT_DEVASTATING 1000 +/// global default "nominal" heavy power; being hit by this is what causes things like turfs exploding, people taking immediately lethal damage/devastating damage, etc. +#define EXPLOSION_CONSTANT_SEVERE (EXPLOSION_CONSTANT_DEVASTATING * 0.5) +/// global default "nominal" minor power; being hit by this is what causes minor wounds +#define EXPLOSION_CONSTANT_MINOR (EXPLOSION_CONSTANT_DEVASTATING * 0.25) +/// below this explosions are considered so trivial we just drop the wave +#define EXPLOSION_CONSTANT_DROPPED 50 + +//? Rest of defines will come when we fully implement new explosions. + +//! legacy shims +#define LEGACY_EXPLOSION_DEVASTATE_POWER EXPLOSION_CONSTANT_DEVASTATING +#define LEGACY_EXPLOSION_SEVERE_POWER EXPLOSION_CONSTANT_SEVERE +#define LEGACY_EXPLOSION_MINOR_POWER EXPLOSION_CONSTANT_MINOR + +// why the extra numbers? so if someone does weird math we don't out of bounds +GLOBAL_REAL(_legacy_expowers, /list) = list( + LEGACY_EXPLOSION_DEVASTATE_POWER, + LEGACY_EXPLOSION_SEVERE_POWER, + LEGACY_EXPLOSION_MINOR_POWER, + 0, + 0, + 0 +) + +// this works out becuase epxlosions are 1-3 in legacy, so we can just use it as list indices +#define LEGACY_EX_ACT(ATOM, POWER, TARGET) ATOM.legacy_ex_act(POWER, TARGET); ATOM.ex_act(_legacy_expowers[POWER]); diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm index 2630f05d6ee..e1c18b7cedf 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm @@ -5,8 +5,10 @@ */ //! ## /x_act Signals. -/// From the [EX_ACT] wrapper macro: (severity, target) -////#define COMSIG_ATOM_EX_ACT "atom_ex_act" +/// from base of atom/ex_act: (power, dir, wave datum) +#define COMSIG_ATOM_EX_ACT "atom_ex_act" +/// From the [LEGACY_EX_ACT] wrapper macro: (severity, target) +////#define COMSIG_ATOM_LEGACY_EX_ACT "atom_legacy_ex_act" /// From base of atom/emp_act(): (severity) ////#define COMSIG_ATOM_EMP_ACT "atom_emp_act" /// From base of atom/fire_act(): (exposed_temperature, exposed_volume) diff --git a/code/datums/beam.dm b/code/datums/beam.dm index 7f569057167..4c5eb11d29d 100644 --- a/code/datums/beam.dm +++ b/code/datums/beam.dm @@ -141,7 +141,7 @@ if(A.is_incorporeal()) return ..() - A.ex_act(1) + LEGACY_EX_ACT(A, 1, null) // 'Reactive' beam parts do something when touched or stood in. /obj/effect/ebeam/reactive diff --git a/code/game/atoms/atoms.dm b/code/game/atoms/atoms.dm index 19b1cdbc7f7..b38373dea61 100644 --- a/code/game/atoms/atoms.dm +++ b/code/game/atoms/atoms.dm @@ -535,9 +535,30 @@ * The wrapper takes care of the [COMSIG_ATOM_EX_ACT] signal. * as well as calling [/atom/proc/contents_explosion]. */ -/atom/proc/ex_act(severity, target) +/atom/proc/legacy_ex_act(severity, target) set waitfor = FALSE +/** + * todo: implement on most atoms/generic damage system + * todo: replace legacy_ex_act entirely with this + * + * React to being hit by an explosive shockwave + * + * ? Tip for overrides: . = ..() when you want signal to be sent, mdify power before if you need to; to ignore parent + * ? block power, just `return power` in your proc after . = ..(). + * + * @params + * - power - power our turf was hit with + * - direction - DIR_BIT bits; can bwe null if it wasn't a wave explosion!! + * - explosion - explosion automata datum; can be null + * + * @return power after falloff (e.g. hit with 30 power, return 20 to apply 10 falloff) + */ +/atom/proc/ex_act(power, dir, datum/automata/wave/explosion/E) + SHOULD_CALL_PARENT(TRUE) + SEND_SIGNAL(src, COMSIG_ATOM_EX_ACT, power, dir, E) + return power + /atom/proc/emag_act(var/remaining_charges, var/mob/user, var/emag_source) return -1 diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 000e505a654..ebc26ef14f6 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -197,12 +197,12 @@ occupant = null icon_state = "scanner_0" -/obj/machinery/dna_scannernew/ex_act(severity) +/obj/machinery/dna_scannernew/legacy_ex_act(severity) switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) A.loc = src.loc - ex_act(severity) + legacy_ex_act(severity) //Foreach goto(35) //SN src = null qdel(src) @@ -211,7 +211,7 @@ if (prob(50)) for(var/atom/movable/A as mob|obj in src) A.loc = src.loc - ex_act(severity) + legacy_ex_act(severity) //Foreach goto(108) //SN src = null qdel(src) @@ -220,7 +220,7 @@ if (prob(25)) for(var/atom/movable/A as mob|obj in src) A.loc = src.loc - ex_act(severity) + legacy_ex_act(severity) //Foreach goto(181) //SN src = null qdel(src) @@ -268,7 +268,7 @@ ..() return -/obj/machinery/computer/scan_consolenew/ex_act(severity) +/obj/machinery/computer/scan_consolenew/legacy_ex_act(severity) switch(severity) if(1.0) diff --git a/code/game/gamemodes/cult/hell_universe.dm b/code/game/gamemodes/cult/hell_universe.dm index 75e88bca88f..2534ccdef88 100644 --- a/code/game/gamemodes/cult/hell_universe.dm +++ b/code/game/gamemodes/cult/hell_universe.dm @@ -65,7 +65,7 @@ In short: for (var/obj/machinery/firealarm/alm in GLOB.machines) if (!(alm.machine_stat & BROKEN)) - alm.ex_act(2) + LEGACY_EX_ACT(alm, 2, null) /datum/universal_state/hell/proc/APCSet() for (var/obj/machinery/power/apc/APC in GLOB.apcs) diff --git a/code/game/gamemodes/cult/narsie.dm b/code/game/gamemodes/cult/narsie.dm index 75e902012dc..81a68b3e865 100644 --- a/code/game/gamemodes/cult/narsie.dm +++ b/code/game/gamemodes/cult/narsie.dm @@ -269,7 +269,7 @@ var/global/list/narsie_list = list() var/turf/T2 = A T2.ScrapeAway(flags = CHANGETURF_INHERIT_AIR) -/obj/singularity/narsie/ex_act(severity) //No throwing bombs at it either. --NEO +/obj/singularity/narsie/legacy_ex_act(severity) //No throwing bombs at it either. --NEO return /obj/singularity/narsie/proc/pickcultist() //Narsie rewards his cultists with being devoured first, then picks a ghost to follow. --NEO diff --git a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm index ff81a654b95..acc7ca5fd6c 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm @@ -96,7 +96,7 @@ The access requirements on the Asteroid Shuttles' consoles have now been revoked /datum/universal_state/supermatter_cascade/proc/MiscSet() for (var/obj/machinery/firealarm/alm in GLOB.machines) if (!(alm.machine_stat & BROKEN)) - alm.ex_act(2) + LEGACY_EX_ACT(alm, 2, null) /datum/universal_state/supermatter_cascade/proc/APCSet() for (var/obj/machinery/power/apc/APC in GLOB.apcs) diff --git a/code/game/gamemodes/events/black_hole.dm b/code/game/gamemodes/events/black_hole.dm index 2e6121bd63c..4af0d958b03 100644 --- a/code/game/gamemodes/events/black_hole.dm +++ b/code/game/gamemodes/events/black_hole.dm @@ -71,11 +71,11 @@ var/turf/T = locate(x, y, z) if(isnull(T)) return - //Pulling and/or ex_act-ing movable atoms in that turf + //Pulling and/or legacy_ex_act-ing movable atoms in that turf if( prob(pull_chance) ) for(var/obj/O in T.contents) if(O.anchored) - O.ex_act(ex_act_force) + LEGACY_EX_ACT(O, ex_act_force, null) else step_towards(O,src) for(var/mob/living/M in T.contents) diff --git a/code/game/gamemodes/events/clang.dm b/code/game/gamemodes/events/clang.dm index 3d8a1865a00..f2cc5c578d5 100644 --- a/code/game/gamemodes/events/clang.dm +++ b/code/game/gamemodes/events/clang.dm @@ -1,7 +1,7 @@ /* Immovable rod random event. The rod will spawn at some location outside the station, and travel in a straight line to the opposite side of the station -Everything solid in the way will be ex_act()'d +Everything solid in the way will be legacy_ex_act()'d In my current plan for it, 'solid' will be defined as anything with density == 1 --NEOFite @@ -22,19 +22,19 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 else if (istype(clong, /turf) && !istype(clong, /turf/unsimulated)) if(clong.density) - clong.ex_act(2) + LEGACY_EX_ACT(clong, 2, null) for (var/mob/O in hearers(src, null)) O.show_message("CLANG", 2) else if (istype(clong, /obj)) if(clong.density) - clong.ex_act(2) + LEGACY_EX_ACT(clong, 2, null) for (var/mob/O in hearers(src, null)) O.show_message("CLANG", 2) else if (istype(clong, /mob)) if(clong.density || prob(10)) - clong.ex_act(2) + LEGACY_EX_ACT(clong, 2, null) else qdel(src) diff --git a/code/game/gamemodes/events/dust.dm b/code/game/gamemodes/events/dust.dm index 7b847f92762..9f19ae735ba 100644 --- a/code/game/gamemodes/events/dust.dm +++ b/code/game/gamemodes/events/dust.dm @@ -65,7 +65,7 @@ The "dust" will damage the hull of the station causin minor hull breaches. icon_state = "space_dust" density = 1 anchored = 1 - var/strength = 2 // ex_act severity number + var/strength = 2 // legacy_ex_act severity number var/life = 2 // How many things we hit before qdel(src) /obj/effect/space_dust/weak @@ -100,9 +100,9 @@ The "dust" will damage the hull of the station causin minor hull breaches. playsound(src.loc, 'sound/effects/meteorimpact.ogg', 40, 1) if(ismob(A)) - A.ex_act(strength) // This should work for now I guess + LEGACY_EX_ACT(A, strength, null) // This should work for now I guess else if(!istype(A,/obj/machinery/power/emitter) && !istype(A,/obj/machinery/field_generator)) // Protect the singularity from getting released every round! - A.ex_act(strength) // Changing emitter/field gen ex_act would make it immune to bombs and C4 + LEGACY_EX_ACT(A, strength, null) // Changing emitter/field gen legacy_ex_act would make it immune to bombs and C4 life-- if(life <= 0) @@ -114,6 +114,6 @@ The "dust" will damage the hull of the station causin minor hull breaches. hit(A) return -/obj/effect/space_dust/ex_act(severity) +/obj/effect/space_dust/legacy_ex_act(severity) qdel(src) return diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 0f7f5b8729e..d23dc861723 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -93,7 +93,7 @@ density = 1 anchored = 1 var/hits = 4 - var/hitpwr = 2 //Level of ex_act to be called on hit. + var/hitpwr = 2 //Level of legacy_ex_act to be called on hit. var/dest pass_flags = ATOM_PASS_TABLE var/heavy = 0 @@ -156,7 +156,7 @@ continue if(isturf(A)) // Don't hit floors. We'll deal with walls later. continue - A.ex_act(hitpwr) + LEGACY_EX_ACT(A, hitpwr, null) //then, ram the turf if it still exists if(T) @@ -179,7 +179,7 @@ meteor_effect(explode) qdel(src) -/obj/effect/meteor/ex_act() +/obj/effect/meteor/legacy_ex_act() return /obj/effect/meteor/attackby(obj/item/W as obj, mob/user as mob, params) diff --git a/code/game/gamemodes/technomancer/spells/phase_shift.dm b/code/game/gamemodes/technomancer/spells/phase_shift.dm index 78a13d06de7..7920f3816c2 100644 --- a/code/game/gamemodes/technomancer/spells/phase_shift.dm +++ b/code/game/gamemodes/technomancer/spells/phase_shift.dm @@ -25,7 +25,7 @@ icon = 'icons/effects/effects.dmi' icon_state = "rift" -/obj/effect/phase_shift/ex_act() +/obj/effect/phase_shift/legacy_ex_act() return /obj/effect/phase_shift/Initialize(mapload) diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index f947f50e8ad..73443740e40 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -30,7 +30,7 @@ // spawn(100) //Wont the MC just call this process() before and at the 10 second mark anyway? // process() -/obj/machinery/optable/ex_act(severity) +/obj/machinery/optable/legacy_ex_act(severity) switch(severity) if(1.0) //SN src = null diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index de6aafe3936..c612d6af9e0 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -192,7 +192,7 @@ qdel(pulse2) ..() -/obj/machinery/ex_act(severity) +/obj/machinery/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 8f2ef6fe876..6d935d291ff 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -128,12 +128,12 @@ update_icon() //Health display for consoles with light and such. return -/obj/machinery/bodyscanner/ex_act(severity) +/obj/machinery/bodyscanner/legacy_ex_act(severity) switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) A.loc = src.loc - ex_act(severity) + legacy_ex_act(severity) //Foreach goto(35) //SN src = null qdel(src) @@ -142,7 +142,7 @@ if (prob(50)) for(var/atom/movable/A as mob|obj in src) A.loc = src.loc - ex_act(severity) + legacy_ex_act(severity) //Foreach goto(108) //SN src = null qdel(src) @@ -151,7 +151,7 @@ if (prob(25)) for(var/atom/movable/A as mob|obj in src) A.loc = src.loc - ex_act(severity) + legacy_ex_act(severity) //Foreach goto(181) //SN src = null qdel(src) @@ -210,7 +210,7 @@ /obj/machinery/body_scanconsole/power_change() update_icon() //Health display for consoles with light and such. -/obj/machinery/body_scanconsole/ex_act(severity) +/obj/machinery/body_scanconsole/legacy_ex_act(severity) switch(severity) if(1.0) //SN src = null diff --git a/code/game/machinery/atm_ret_field.dm b/code/game/machinery/atm_ret_field.dm index b9bc61c678e..433d771043c 100644 --- a/code/game/machinery/atm_ret_field.dm +++ b/code/game/machinery/atm_ret_field.dm @@ -116,7 +116,7 @@ spawn(rand(reboot_delay_min,reboot_delay_max)) generate_field() -/obj/machinery/atmospheric_field_generator/ex_act(severity) +/obj/machinery/atmospheric_field_generator/legacy_ex_act(severity) switch(severity) if(1) disable_field() @@ -224,7 +224,7 @@ else visible_message("You try to touch the retention field, but pass through it like it isn't even there.") -/obj/structure/atmospheric_retention_field/ex_act() +/obj/structure/atmospheric_retention_field/legacy_ex_act() return /obj/structure/atmospheric_retention_field/impassable diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 2d9d7fff705..0d6960bc7e0 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -101,7 +101,7 @@ /obj/machinery/camera/bullet_act(var/obj/item/projectile/P) take_damage(P.get_structure_damage()) -/obj/machinery/camera/ex_act(severity) +/obj/machinery/camera/legacy_ex_act(severity) if(src.invuln) return diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index fffd1e0099b..2eb74bc73fa 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -421,26 +421,26 @@ malfunction() ..() -/obj/machinery/clonepod/ex_act(severity) +/obj/machinery/clonepod/legacy_ex_act(severity) switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) A.loc = src.loc - ex_act(severity) + legacy_ex_act(severity) qdel(src) return if(2.0) if(prob(50)) for(var/atom/movable/A as mob|obj in src) A.loc = src.loc - ex_act(severity) + legacy_ex_act(severity) qdel(src) return if(3.0) if(prob(25)) for(var/atom/movable/A as mob|obj in src) A.loc = src.loc - ex_act(severity) + legacy_ex_act(severity) qdel(src) return else diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index e2dd968faf1..2b893814996 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -34,7 +34,7 @@ ..() -/obj/machinery/computer/ex_act(severity) +/obj/machinery/computer/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) @@ -61,7 +61,7 @@ ..() /obj/machinery/computer/blob_act() - ex_act(2) + legacy_ex_act(2) /obj/machinery/computer/update_icon() cut_overlays() diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index d587ad93ed3..f6db8d219d9 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -94,7 +94,7 @@ Barricades qdel(src) return -/obj/structure/barricade/ex_act(severity) +/obj/structure/barricade/legacy_ex_act(severity) switch(severity) if(1.0) dismantle() @@ -192,7 +192,7 @@ Barricades CheckHealth() return -/obj/machinery/deployable/barrier/ex_act(severity) +/obj/machinery/deployable/barrier/legacy_ex_act(severity) switch(severity) if(1.0) explode() diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 6cfbe01e387..5a1efdd4df9 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1244,7 +1244,7 @@ About the new airlock wires panel: for(var/turf/turf in locs) var/obj/structure/window/killthis = (locate(/obj/structure/window) in turf) if(killthis) - killthis.ex_act(2)//Smashin windows + LEGACY_EX_ACT(killthis, 2, null)//Smashin windows return ..() /obj/machinery/door/airlock/can_open(var/forced=0) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 9b814d4ac5b..6e2333b72c5 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -351,7 +351,7 @@ ..() -/obj/machinery/door/ex_act(severity) +/obj/machinery/door/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/machinery/event.dm b/code/game/machinery/event.dm index f2fcac873e6..60c31caf6ac 100644 --- a/code/game/machinery/event.dm +++ b/code/game/machinery/event.dm @@ -46,7 +46,7 @@ The goal here is to create esoteric or niche, specialized machines that follow t RefreshParts() -/obj/machinery/magma_pump/ex_act(severity) +/obj/machinery/magma_pump/legacy_ex_act(severity) switch(severity) if(1) //SN src = null @@ -192,7 +192,7 @@ The goal here is to create esoteric or niche, specialized machines that follow t RefreshParts() -/obj/machinery/magma_reservoir/ex_act(severity) +/obj/machinery/magma_reservoir/legacy_ex_act(severity) switch(severity) if(1) //SN src = null diff --git a/code/game/machinery/floor_light.dm b/code/game/machinery/floor_light.dm index eb8a3663bed..f6706ae81a0 100644 --- a/code/game/machinery/floor_light.dm +++ b/code/game/machinery/floor_light.dm @@ -143,7 +143,7 @@ var/list/floor_light_cache = list() /obj/machinery/floor_light/proc/broken() return (machine_stat & (BROKEN|NOPOWER)) -/obj/machinery/floor_light/ex_act(severity) +/obj/machinery/floor_light/legacy_ex_act(severity) switch(severity) if(1) qdel(src) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index bac59e3c262..c814bfedfde 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -192,7 +192,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ active_power_usage = 100 //Destruction procs. -/obj/machinery/hologram/ex_act(severity) +/obj/machinery/hologram/legacy_ex_act(severity) switch(severity) if(1) qdel(src) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index be5187d5df3..85882122f0a 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -231,7 +231,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co ispowered = FALSE update_icon() -/obj/machinery/newscaster/ex_act(severity) +/obj/machinery/newscaster/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/machinery/nuclear_bomb.dm b/code/game/machinery/nuclear_bomb.dm index aa7ee8e2649..4f17a21311d 100644 --- a/code/game/machinery/nuclear_bomb.dm +++ b/code/game/machinery/nuclear_bomb.dm @@ -357,7 +357,7 @@ var/bomb_set return -/obj/machinery/nuclearbomb/ex_act(severity) +/obj/machinery/nuclearbomb/legacy_ex_act(severity) return diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 0ff63945500..07eebc38bc8 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -701,7 +701,7 @@ if(!enabled) enabled = TRUE -/obj/machinery/porta_turret/ex_act(severity) +/obj/machinery/porta_turret/legacy_ex_act(severity) switch (severity) if(1) qdel(src) diff --git a/code/game/machinery/suit_storage/suit_storage_massive.dm b/code/game/machinery/suit_storage/suit_storage_massive.dm index 1d112846dd1..950a825f1ab 100644 --- a/code/game/machinery/suit_storage/suit_storage_massive.dm +++ b/code/game/machinery/suit_storage/suit_storage_massive.dm @@ -54,7 +54,7 @@ ispowered = 0 //Todo: add lockdown -/obj/machinery/suit_storage_closet/ex_act(severity) +/obj/machinery/suit_storage_closet/legacy_ex_act(severity) switch(severity) if(1.0) if(prob(50)) diff --git a/code/game/machinery/suit_storage/suit_storage_unit.dm b/code/game/machinery/suit_storage/suit_storage_unit.dm index e109bd198e9..08189cee1de 100644 --- a/code/game/machinery/suit_storage/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage/suit_storage_unit.dm @@ -67,7 +67,7 @@ dump_everything() update_icon() -/obj/machinery/suit_storage_unit/ex_act(severity) +/obj/machinery/suit_storage_unit/legacy_ex_act(severity) switch(severity) if(1.0) if(prob(50)) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 11956521b5d..47cd370ebbd 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -143,7 +143,7 @@ product_records = null return ..() -/obj/machinery/vending/ex_act(severity) +/obj/machinery/vending/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/mecha/equipment/tools/drill.dm b/code/game/mecha/equipment/tools/drill.dm index 10540a86927..d77d66669c2 100644 --- a/code/game/mecha/equipment/tools/drill.dm +++ b/code/game/mecha/equipment/tools/drill.dm @@ -29,10 +29,10 @@ else if((W.reinf_material && advanced) || do_after_cooldown(target))//R wall with good drill log_message("Drilled through [target]") - target.ex_act(3) + LEGACY_EX_ACT(target, 3, null) else log_message("Drilled through [target]") - target.ex_act(2) + LEGACY_EX_ACT(target, 2, null) else if(istype(target, /turf/simulated/mineral)) if(enable_special) @@ -54,7 +54,7 @@ return 1 else if(target.loc == C) log_message("Drilled through [target]") - target.ex_act(2) + LEGACY_EX_ACT(target, 2, null) return 1 /obj/item/mecha_parts/mecha_equipment/tool/drill/proc/drill_mob(mob/living/target, mob/user) @@ -114,11 +114,11 @@ occupant_message("[target] is too durable to bore through.") else log_message("Bored through [target]") - target.ex_act(2) + LEGACY_EX_ACT(target, 2, null) else if(istype(target, /turf/simulated/mineral)) var/turf/simulated/mineral/M = target if(enable_special && !M.density) - M.ex_act(2) + LEGACY_EX_ACT(M, 2, null) log_message("Bored into [target]") else M.GetDrilled() @@ -131,5 +131,5 @@ ore.forceMove(ore_box) else if(target.loc == C) log_message("Drilled through [target]") - target.ex_act(2) + LEGACY_EX_ACT(target, 2, null) return 1 diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 464b83617e0..046435c69d0 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -51,7 +51,7 @@ var/health = 300 /// Maxhealth is maxhealth. var/maxhealth = 300 - /// Chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act. + /// Chance to deflect the incoming projectiles, hits, or lesser the effect of legacy_ex_act. var/deflect_chance = 10 /// The values in this list show how much damage will pass through, not how much will be absorbed. var/list/damage_absorption = list( @@ -1231,7 +1231,7 @@ return //This refer to whenever you are caught in an explosion. -/obj/mecha/ex_act(severity) +/obj/mecha/legacy_ex_act(severity) var/obj/item/mecha_parts/component/armor/ArmC = internal_components[MECH_ARMOR] var/temp_deflect_chance = deflect_chance diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index eea656db403..759f15c605b 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -105,7 +105,7 @@ qdel(src) return -/obj/item/mecha_parts/mecha_tracking/ex_act() +/obj/item/mecha_parts/mecha_tracking/legacy_ex_act() qdel(src) return diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm index eb80640de98..b7c07dd6266 100644 --- a/code/game/mecha/mecha_wreckage.dm +++ b/code/game/mecha/mecha_wreckage.dm @@ -20,7 +20,7 @@ crowbar_salvage = new return -/obj/effect/decal/mecha_wreckage/ex_act(severity) +/obj/effect/decal/mecha_wreckage/legacy_ex_act(severity) if(severity < 2) spawn qdel(src) diff --git a/code/game/mecha/micro/micro_equipment.dm b/code/game/mecha/micro/micro_equipment.dm index de5b431afe0..a45116f29ab 100644 --- a/code/game/mecha/micro/micro_equipment.dm +++ b/code/game/mecha/micro/micro_equipment.dm @@ -133,7 +133,7 @@ occupant_message("[target] is too durable to drill through.") else log_message("Drilled through [target]") - target.ex_act(2) + LEGACY_EX_ACT(target, 2, null) else if(istype(target, /turf/simulated/mineral)) for(var/turf/simulated/mineral/M in range(chassis,1)) if(get_dir(chassis,M)&chassis.dir) @@ -150,7 +150,7 @@ ore.forceMove(ore_box) else if(target.loc == C) log_message("Drilled through [target]") - target.ex_act(2) + LEGACY_EX_ACT(target, 2, null) return 1 diff --git a/code/game/objects/_items.dm b/code/game/objects/_items.dm index 16b6ef86ba6..96f1bc1b407 100644 --- a/code/game/objects/_items.dm +++ b/code/game/objects/_items.dm @@ -161,7 +161,7 @@ else if(M.r_hand == src) M.update_inv_r_hand() -/obj/item/ex_act(severity) +/obj/item/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/objects/effects/_effect.dm b/code/game/objects/effects/_effect.dm index 93fc0fd1b36..4dff1fee007 100644 --- a/code/game/objects/effects/_effect.dm +++ b/code/game/objects/effects/_effect.dm @@ -32,7 +32,7 @@ /obj/effect/blob_act(obj/structure/blob/B) return -/obj/effect/ex_act(severity, target) +/obj/effect/legacy_ex_act(severity, target) return FALSE /obj/effect/singularity_act() diff --git a/code/game/objects/effects/alien/aliens.dm b/code/game/objects/effects/alien/aliens.dm index b802cf9d6cd..66b987e08b0 100644 --- a/code/game/objects/effects/alien/aliens.dm +++ b/code/game/objects/effects/alien/aliens.dm @@ -77,7 +77,7 @@ healthcheck() return -/obj/effect/alien/resin/ex_act(severity) +/obj/effect/alien/resin/legacy_ex_act(severity) switch(severity) if(1.0) health-=50 @@ -307,7 +307,7 @@ Alien plants should do something if theres a lot of poison W.process() -/obj/effect/alien/weeds/ex_act(severity) +/obj/effect/alien/weeds/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/objects/effects/chem/foam.dm b/code/game/objects/effects/chem/foam.dm index a2f2d80d3aa..cc5fa0a57a4 100644 --- a/code/game/objects/effects/chem/foam.dm +++ b/code/game/objects/effects/chem/foam.dm @@ -160,7 +160,7 @@ else icon_state = "ironfoam" -/obj/structure/foamedmetal/ex_act(severity) +/obj/structure/foamedmetal/legacy_ex_act(severity) qdel(src) /obj/structure/foamedmetal/bullet_act(var/obj/item/projectile/P) diff --git a/code/game/objects/effects/map_effects/map_effects.dm b/code/game/objects/effects/map_effects/map_effects.dm index a2c9e41954f..9c64476a29b 100644 --- a/code/game/objects/effects/map_effects/map_effects.dm +++ b/code/game/objects/effects/map_effects/map_effects.dm @@ -12,7 +12,7 @@ var/ignore_afk = TRUE // If true, AFK people (5 minutes) won't satisfy it as well. var/retry_delay = 3 SECONDS // How long until we check for players again. -/obj/effect/map_effect/ex_act() +/obj/effect/map_effect/legacy_ex_act() return /obj/effect/map_effect/singularity_pull() diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 21c5c8e0b0a..3f42dcd0ffc 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -31,7 +31,7 @@ if(prob(50)) explode() -/obj/effect/mine/ex_act(severity) +/obj/effect/mine/legacy_ex_act(severity) if(severity <= 2 || prob(50)) explode() ..() diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 83b25591ac4..5ff2d0dd14a 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) +/obj/effect/spider/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/objects/effects/temporary_visuals/temporary_visual.dm b/code/game/objects/effects/temporary_visuals/temporary_visual.dm index 63ebb4f17bf..a240a3b5998 100644 --- a/code/game/objects/effects/temporary_visuals/temporary_visual.dm +++ b/code/game/objects/effects/temporary_visuals/temporary_visual.dm @@ -25,7 +25,7 @@ /obj/effect/temp_visual/singularity_pull() return -/obj/effect/temp_visual/ex_act() +/obj/effect/temp_visual/legacy_ex_act() return /obj/effect/temp_visual/dir_setting diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index 36ba0348fa3..b7b88447101 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -100,9 +100,9 @@ for(var/atom/movable/AM as anything in T.contents) //bypass type checking since only atom/movable can be contained by turfs anyway if(AM.flags & ATOM_ABSTRACT) continue - AM.ex_act(dist) + LEGACY_EX_ACT(AM, dist, null) - T.ex_act(dist) + LEGACY_EX_ACT(T, dist, null) var/took = (world.timeofday-start)/10 //You need to press the DebugGame verb to see these now....they were getting annoying and we've collected a fair bit of data. Just -test- changes to explosion code using this please so we can compare @@ -123,4 +123,4 @@ /proc/secondaryexplosion(turf/epicenter, range) for(var/turf/tile in range(range, epicenter)) - tile.ex_act(2) + LEGACY_EX_ACT(tile, 2, null) diff --git a/code/game/objects/explosion_recursive.dm b/code/game/objects/explosion_recursive.dm index 7304c48cfd4..bdd6018dc1c 100644 --- a/code/game/objects/explosion_recursive.dm +++ b/code/game/objects/explosion_recursive.dm @@ -35,12 +35,12 @@ var/explosion_in_progress = 0 explosion_turfs[epicenter] = power - //This steap handles the gathering of turfs which will be ex_act() -ed in the next step. It also ensures each turf gets the maximum possible amount of power dealt to it. + //This steap handles the gathering of turfs which will be legacy_ex_act() -ed in the next step. It also ensures each turf gets the maximum possible amount of power dealt to it. for(var/direction in GLOB.cardinal) var/turf/T = get_step(epicenter, direction) T.explosion_spread(power - epicenter.explosion_resistance, direction) - //This step applies the ex_act effects for the explosion, as planned in the previous step. + //This step applies the legacy_ex_act effects for the explosion, as planned in the previous step. for(var/turf/T in explosion_turfs) if(explosion_turfs[T] <= 0) continue if(!T) continue @@ -52,11 +52,11 @@ var/explosion_in_progress = 0 var/x = T.x var/y = T.y var/z = T.z - T.ex_act(severity) + LEGACY_EX_ACT(T, severity, null) if(!T) T = locate(x,y,z) for(var/atom/A in T) - A.ex_act(severity) + LEGACY_EX_ACT(A, severity, null) explosion_in_progress = 0 diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 31007817e11..793f23044f8 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -112,7 +112,7 @@ to_chat(M, "Your chameleon-projector deactivates.") master.disrupt() -/obj/effect/dummy/chameleon/ex_act() +/obj/effect/dummy/chameleon/legacy_ex_act() for(var/mob/M in src) to_chat(M, "Your chameleon-projector deactivates.") master.disrupt() diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 2cb96701da9..430541703be 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -319,9 +319,9 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/paicard) for(var/mob/M in src) M.emp_act(severity) -/obj/item/paicard/ex_act(severity) +/obj/item/paicard/legacy_ex_act(severity) if(pai) - pai.ex_act(severity) + LEGACY_EX_ACT(pai, severity, null) else qdel(src) diff --git a/code/game/objects/items/falling_object.dm b/code/game/objects/items/falling_object.dm index ea1d44f754e..08cb356c1e9 100644 --- a/code/game/objects/items/falling_object.dm +++ b/code/game/objects/items/falling_object.dm @@ -28,7 +28,7 @@ if(crushing) for(var/atom/movable/AM in loc) if(AM != src) - AM.ex_act(1) + LEGACY_EX_ACT(AM, 1, null) explosion(src.loc, 0, 0, 1, 1, 0) for(var/mob/living/M in oviewers(3, src)) @@ -45,5 +45,5 @@ /obj/effect/falling_effect/singularity_pull() return -/obj/effect/falling_effect/ex_act() +/obj/effect/falling_effect/legacy_ex_act() return diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index 0471a24419a..14a989e1730 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -30,7 +30,7 @@ item_state = "lgloves" loc.assume_air(air_contents) -/obj/item/latexballon/ex_act(severity) +/obj/item/latexballon/legacy_ex_act(severity) burst() switch(severity) if (1) diff --git a/code/game/objects/items/stacks/sandbag.dm b/code/game/objects/items/stacks/sandbag.dm index 73d2efa4380..7d2f0d3b6b9 100644 --- a/code/game/objects/items/stacks/sandbag.dm +++ b/code/game/objects/items/stacks/sandbag.dm @@ -197,7 +197,7 @@ var/global/list/datum/stack_recipe/sandbags_recipes = list( \ //Make it drop materials? I dunno. For now it just disappears. return -/obj/structure/sandbag/ex_act(severity) +/obj/structure/sandbag/legacy_ex_act(severity) switch(severity) if(1.0) dismantle() diff --git a/code/game/objects/items/uav.dm b/code/game/objects/items/uav.dm index e861ecf4ed2..4e2be5d503f 100644 --- a/code/game/objects/items/uav.dm +++ b/code/game/objects/items/uav.dm @@ -336,7 +336,7 @@ CheckHealth() return -/obj/item/uav/ex_act(severity) +/obj/item/uav/legacy_ex_act(severity) switch(severity) if(1.0) die() diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 4b60360c710..ba0ebf5e5ea 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -83,9 +83,9 @@ var/turf/simulated/wall/W = target W.dismantle_wall(1,1,1) else if(istype(target, /mob/living)) - target.ex_act(2) // c4 can't gib mobs anymore. + LEGACY_EX_ACT(target, 2, null) // c4 can't gib mobs anymore. else - target.ex_act(1) + LEGACY_EX_ACT(target, 1, null) if(target) target.overlays -= image_overlay qdel(src) diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index 3c690829723..f16800530c4 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -33,7 +33,7 @@ else to_chat(user, "The gift was empty!") -/obj/item/a_gift/ex_act() +/obj/item/a_gift/legacy_ex_act() qdel(src) /obj/effect/spresent/relaymove(mob/user as mob) @@ -131,7 +131,7 @@ to_chat(user, "The pumpkin was empty!") qdel(src) -/obj/item/b_gift/ex_act() +/obj/item/b_gift/legacy_ex_act() qdel(src) /obj/item/b_gift/attack_self(mob/M as mob) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index b0efe0bfca7..d3e78d19014 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -32,7 +32,7 @@ /obj/structure/attack_tk() return -/obj/structure/ex_act(severity) +/obj/structure/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/objects/structures/catwalk.dm b/code/game/objects/structures/catwalk.dm index 6fae587d87b..f30b0eb6e4a 100644 --- a/code/game/objects/structures/catwalk.dm +++ b/code/game/objects/structures/catwalk.dm @@ -61,7 +61,7 @@ icon_state = "catwalk[connectdir]-[diagonalconnect]" -/obj/structure/catwalk/ex_act(severity) +/obj/structure/catwalk/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index e8c94ed5c6c..34abb760a73 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -216,18 +216,18 @@ update_icon() // this should probably use dump_contents() -/obj/structure/closet/ex_act(severity) +/obj/structure/closet/legacy_ex_act(severity) switch(severity) if(1) for(var/atom/movable/A as mob|obj in src)//pulls everything out of the locker and hits it with an explosion A.forceMove(src.loc) - A.ex_act(severity + 1) + LEGACY_EX_ACT(A, severity + 1, null) qdel(src) if(2) if(prob(50)) for (var/atom/movable/A as mob|obj in src) A.forceMove(src.loc) - A.ex_act(severity + 1) + LEGACY_EX_ACT(A, severity + 1, null) qdel(src) if(3) if(prob(5)) diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm index d7aab70c120..f7a6cb4ea25 100644 --- a/code/game/objects/structures/crates_lockers/closets/statue.dm +++ b/code/game/objects/structures/crates_lockers/closets/statue.dm @@ -92,9 +92,9 @@ for(var/mob/M in src) shatter(M) -/obj/structure/closet/statue/ex_act(severity) +/obj/structure/closet/statue/legacy_ex_act(severity) for(var/mob/M in src) - M.ex_act(severity) + LEGACY_EX_ACT(M, severity, null) health -= 60 / severity check_health() diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 959a10042a2..42271f329b8 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -111,7 +111,7 @@ else return attack_hand(user) -/obj/structure/closet/crate/ex_act(severity) +/obj/structure/closet/crate/legacy_ex_act(severity) switch(severity) if(1.0) for(var/obj/O in src.contents) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 7f1762e3921..ee5262f9c38 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) +/obj/structure/displaycase/legacy_ex_act(severity) switch(severity) if (1) new /obj/item/material/shard( src.loc ) diff --git a/code/game/objects/structures/flora/trees.dm b/code/game/objects/structures/flora/trees.dm index 70cc393f97a..703e2df4773 100644 --- a/code/game/objects/structures/flora/trees.dm +++ b/code/game/objects/structures/flora/trees.dm @@ -118,7 +118,7 @@ overlays.Cut() // For the Sif tree and other future glowy trees. set_light(0) -/obj/structure/flora/tree/ex_act(var/severity) +/obj/structure/flora/tree/legacy_ex_act(var/severity) adjust_health(-(max_health / severity), TRUE) /obj/structure/flora/tree/bullet_act(var/obj/item/projectile/Proj) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index c2f4e9a7bb6..8f3478d290a 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -300,7 +300,7 @@ return ..() -/obj/structure/girder/ex_act(severity) +/obj/structure/girder/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/objects/structures/gravemarker.dm b/code/game/objects/structures/gravemarker.dm index f0586495c28..888e8409d14 100644 --- a/code/game/objects/structures/gravemarker.dm +++ b/code/game/objects/structures/gravemarker.dm @@ -84,7 +84,7 @@ return -/obj/structure/gravemarker/ex_act(severity) +/obj/structure/gravemarker/legacy_ex_act(severity) switch(severity) if(1.0) visible_message("\The [src] is blown apart!") diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 083860281a2..4687095cda2 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -13,7 +13,7 @@ var/destroyed = 0 -/obj/structure/grille/ex_act(severity) +/obj/structure/grille/legacy_ex_act(severity) qdel(src) /obj/structure/grille/update_icon() diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index f03b6709009..31c720d23b5 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -53,7 +53,7 @@ puncture() return -/obj/structure/inflatable/ex_act(severity) +/obj/structure/inflatable/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index 64de78d01b5..b708c6445f3 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -40,7 +40,7 @@ O.update() // This lattice may be supporting things on top of it. If it's being deleted, they need to fall down. . = ..() -/obj/structure/lattice/ex_act(severity) +/obj/structure/lattice/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index e628672fe3b..982bc1e695f 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -54,26 +54,26 @@ src.icon_state = "morgue1" return -/obj/structure/morgue/ex_act(severity) +/obj/structure/morgue/legacy_ex_act(severity) switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) A.forceMove(src.loc) - ex_act(severity) + legacy_ex_act(severity) qdel(src) return if(2.0) if (prob(50)) for(var/atom/movable/A as mob|obj in src) A.forceMove(src.loc) - ex_act(severity) + legacy_ex_act(severity) qdel(src) return if(3.0) if (prob(5)) for(var/atom/movable/A as mob|obj in src) A.forceMove(src.loc) - ex_act(severity) + legacy_ex_act(severity) qdel(src) return return diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index d94bf73f4bb..da767858ad9 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -64,7 +64,7 @@ return ..() -/obj/structure/plasticflaps/ex_act(severity) +/obj/structure/plasticflaps/legacy_ex_act(severity) switch(severity) if (1) qdel(src) diff --git a/code/game/objects/structures/props/blackbox.dm b/code/game/objects/structures/props/blackbox.dm index 3da8cb98e17..6b104e5cd89 100644 --- a/code/game/objects/structures/props/blackbox.dm +++ b/code/game/objects/structures/props/blackbox.dm @@ -8,7 +8,7 @@ icon_state = "blackbox_off" // Black boxes are resistant to explosions. -/obj/structure/prop/blackbox/ex_act(severity) +/obj/structure/prop/blackbox/legacy_ex_act(severity) ..(++severity) diff --git a/code/game/objects/structures/props/puzzledoor.dm b/code/game/objects/structures/props/puzzledoor.dm index 6574bdcc8a0..662ebb2963b 100644 --- a/code/game/objects/structures/props/puzzledoor.dm +++ b/code/game/objects/structures/props/puzzledoor.dm @@ -31,7 +31,7 @@ visible_message("\The [src] is completely unaffected by \the [Proj].") qdel(Proj) //No piercing. No. -/obj/machinery/door/blast/puzzle/ex_act(severity) +/obj/machinery/door/blast/puzzle/legacy_ex_act(severity) visible_message("\The [src] is completely unaffected by the blast.") return diff --git a/code/game/objects/structures/railing.dm b/code/game/objects/structures/railing.dm index 50ae13c3454..21ec4bc7b21 100644 --- a/code/game/objects/structures/railing.dm +++ b/code/game/objects/structures/railing.dm @@ -259,7 +259,7 @@ return ..() -/obj/structure/railing/ex_act(severity) +/obj/structure/railing/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index bb458a0fb58..6dfdad3065d 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -161,7 +161,7 @@ FLOOR SAFES return -/obj/structure/safe/ex_act(severity) +/obj/structure/safe/legacy_ex_act(severity) return //FLOOR SAFES diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 26d2c238b15..72d460d2362 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -7,7 +7,7 @@ layer = ABOVE_JUNK_LAYER w_class = ITEMSIZE_NORMAL -/obj/structure/sign/ex_act(severity) +/obj/structure/sign/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/objects/structures/simple_doors.dm b/code/game/objects/structures/simple_doors.dm index fa69704002d..d70e69a5a32 100644 --- a/code/game/objects/structures/simple_doors.dm +++ b/code/game/objects/structures/simple_doors.dm @@ -179,7 +179,7 @@ visible_message("The [src] is destroyed!") qdel(src) -/obj/structure/simple_door/ex_act(severity = 1) +/obj/structure/simple_door/legacy_ex_act(severity = 1) switch(severity) if(1) Dismantle(1) diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index bb7cdb3dfad..b9bf0b8df22 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -124,7 +124,7 @@ new ore(get_turf(src)) qdel(src) -/obj/structure/statue/ex_act(severity = 1) +/obj/structure/statue/legacy_ex_act(severity = 1) switch(severity) if(1) Dismantle(1) diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index ad228dbff5d..589ada88eeb 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -69,7 +69,7 @@ name = "[material.display_name] [initial(name)]" desc += " It's made of [material.use_name]." -/obj/structure/bed/ex_act(severity) +/obj/structure/bed/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) 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 da42a60e9ee..5a59a94bde3 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -83,7 +83,7 @@ var/global/list/stool_cache = list() //haha stool return ..() -/obj/item/stool/ex_act(severity) +/obj/item/stool/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/objects/structures/transit_tubes.dm b/code/game/objects/structures/transit_tubes.dm index 1c9bf764818..c9beee0e6d0 100644 --- a/code/game/objects/structures/transit_tubes.dm +++ b/code/game/objects/structures/transit_tubes.dm @@ -60,12 +60,12 @@ // When destroyed by explosions, properly handle contents. -/obj/structure/transit_tube_pod/ex_act(severity) +/obj/structure/transit_tube_pod/legacy_ex_act(severity) switch(severity) if(1.0) for(var/atom/movable/AM in contents) AM.loc = loc - AM.ex_act(severity++) + LEGACY_EX_ACT(AM, severity + 1, null) qdel(src) return @@ -73,7 +73,7 @@ if(prob(50)) for(var/atom/movable/AM in contents) AM.loc = loc - AM.ex_act(severity++) + LEGACY_EX_ACT(AM, severity + 1, null) qdel(src) return diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 60cf8b5820c..e11d97d9d67 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -135,7 +135,7 @@ return -/obj/structure/window/ex_act(severity) +/obj/structure/window/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/game/turfs/simulated/floor_acts.dm b/code/game/turfs/simulated/floor_acts.dm index 34244a53960..bc42486f31a 100644 --- a/code/game/turfs/simulated/floor_acts.dm +++ b/code/game/turfs/simulated/floor_acts.dm @@ -1,4 +1,4 @@ -/turf/simulated/floor/ex_act(severity) +/turf/simulated/floor/legacy_ex_act(severity) //set src in oview(1) switch(severity) if(1.0) diff --git a/code/game/turfs/simulated/floor_types_vr.dm b/code/game/turfs/simulated/floor_types_vr.dm index af0c463f547..67c34c61ebe 100644 --- a/code/game/turfs/simulated/floor_types_vr.dm +++ b/code/game/turfs/simulated/floor_types_vr.dm @@ -13,5 +13,5 @@ /turf/simulated/floor/flesh/attackby() return -/turf/simulated/floor/flesh/ex_act(severity) +/turf/simulated/floor/flesh/legacy_ex_act(severity) return diff --git a/code/game/turfs/simulated/floors/dungeon.dm b/code/game/turfs/simulated/floors/dungeon.dm index f58160c3aa2..4b26a0a8ef3 100644 --- a/code/game/turfs/simulated/floors/dungeon.dm +++ b/code/game/turfs/simulated/floors/dungeon.dm @@ -3,5 +3,5 @@ /turf/simulated/floor/dungeon block_tele = TRUE // Anti-cheese. -/turf/simulated/floor/dungeon/ex_act() +/turf/simulated/floor/dungeon/legacy_ex_act() return diff --git a/code/game/turfs/simulated/floors/outdoors.dm b/code/game/turfs/simulated/floors/outdoors.dm index d54d0e0def6..febd7eb096c 100644 --- a/code/game/turfs/simulated/floors/outdoors.dm +++ b/code/game/turfs/simulated/floors/outdoors.dm @@ -32,7 +32,7 @@ /turf/simulated/floor/outdoors/snow/chill() return // Todo: Add heavy snow. -/turf/simulated/floor/outdoors/ex_act(severity) +/turf/simulated/floor/outdoors/legacy_ex_act(severity) switch(severity) // Outdoor turfs are less explosion resistant if(1) diff --git a/code/game/turfs/simulated/wall.dm b/code/game/turfs/simulated/wall.dm index 299b1422c9a..215ff0bbda0 100644 --- a/code/game/turfs/simulated/wall.dm +++ b/code/game/turfs/simulated/wall.dm @@ -214,7 +214,7 @@ O.forceMove(src) ScrapeAway() -/turf/simulated/wall/ex_act(severity) +/turf/simulated/wall/legacy_ex_act(severity) switch(severity) if(1.0) if(girder_material.explosion_resistance >= 25 && prob(girder_material.explosion_resistance)) diff --git a/code/game/turfs/simulated/walls/dungeon.dm b/code/game/turfs/simulated/walls/dungeon.dm index 722f7762281..81013258082 100644 --- a/code/game/turfs/simulated/walls/dungeon.dm +++ b/code/game/turfs/simulated/walls/dungeon.dm @@ -9,7 +9,7 @@ /turf/simulated/wall/dungeon/attackby() return -/turf/simulated/wall/dungeon/ex_act() +/turf/simulated/wall/dungeon/legacy_ex_act() return /turf/simulated/wall/dungeon/take_damage() //These things are suppose to be unbreakable @@ -48,7 +48,7 @@ /turf/simulated/wall/solidrock/attackby() return -/turf/simulated/wall/solidrock/ex_act() +/turf/simulated/wall/solidrock/legacy_ex_act() return /turf/simulated/wall/solidrock/take_damage() //These things are suppose to be unbreakable diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 05d5e9af24d..cef310e8733 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -151,7 +151,7 @@ // requires_activation = FALSE ..() -/turf/ex_act(severity) +/turf/legacy_ex_act(severity) return 0 /turf/proc/is_space() diff --git a/code/game/vehicles/vehicle.dm b/code/game/vehicles/vehicle.dm index 30185002417..43500478d83 100644 --- a/code/game/vehicles/vehicle.dm +++ b/code/game/vehicles/vehicle.dm @@ -13,7 +13,7 @@ //var/dir_in = 2//What direction will the mech face when entered/powered on? Defaults to South. //var/step_energy_drain = 10 var/health = 300 //health is health - //var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act. + //var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of legacy_ex_act. //the values in this list show how much damage will pass through, not how much will be absorbed. var/list/damage_absorption = list("brute"=0.8,"fire"=1.2,"bullet"=0.9,"laser"=1,"energy"=1,"bomb"=1) var/obj/item/cell/cell //Our power source diff --git a/code/modules/automata/_wave.dm b/code/modules/automata/_wave.dm index e633ef20671..70e456c255a 100644 --- a/code/modules/automata/_wave.dm +++ b/code/modules/automata/_wave.dm @@ -38,30 +38,10 @@ else CRASH("Invalid wave spread [wave_spread].") -/datum/automata/wave/tick() - // remove old acting - cleanup_turfs_acting() - // cache for sanic speed - var/list/turf/edges = src.edges - var/list/turf/powers = src.powers - var/list/turf/last = src.last - // current vars - turf, power, dir - var/turf/_T - var/_P - var/_D - // next edges, powers - var/list/turf/edges_next = list() - var/list/turf/powers_next = list() - // current vars - returned - var/_ret - // current vars - expansions - var/turf/_expand - var/_ND - // current vars - track returned per turf too - var/list/turf/returned = list() - +//! Evil defines here // usually i wouldn't bother documenting forbidden defines but // just incase someone needs to debug/read later +//! Shared /** * base run for current turf */ @@ -77,7 +57,8 @@ if(_ret < power_considered_dead){ \ continue; \ } -// FOR MINIMAL + +//! For spread: minimal /** * simple expand: really simple, take dir, set next turf in edges next, set power, etc * @@ -87,13 +68,14 @@ * P - power to set expanded turf to */ #define SIMPLE_EXPAND(T, D, P) _expand = get_step(T, D); edges_next[_expand] = D; powers_next[_expand] = P; -// FOR SHADOWCAST + +//! For spread: shadowcast /** * shadowcast helper * expands a turf's dirs to edges next * * params: - * T, D, P - ditto, thuogh D is direction_BIT and not byond direction defines + * T, D, P - ditto, though D is direction_BIT and not byond direction defines * CD - dir to check. * RD - real byond dir, used for the get_step since we use direction bits now */ @@ -113,7 +95,8 @@ edges_next[_expand] |= PD; \ powers_next[_expand] = max(powers_next[_expand], P); \ } -// FOR SHOCKWAVE + +//! For spread: shockwave /** * runs a specific cardinal */ @@ -187,14 +170,41 @@ SHOCKWAVE_DIAGONAL_MARK_SUBSTEP(T, D, (((ED & NORTH) << 2) | ((ED & SOUTH) << 2) | ((ED & EAST) >> 1) | ((ED & WEST) >> 3)), OP, RP); \ SHOCKWAVE_DIAGONAL_MARK_SUBSTEP(T, D, (((ED & NORTH) << 3) | ((ED & SOUTH) << 1) | ((ED & EAST) >> 2) | ((ED & WEST) >> 2)), OP, RP); \ } +//! Evil defines end +/datum/automata/wave/tick() + // remove old acting + cleanup_turfs_acting() + // cache for sanic speed + var/list/turf/edges = src.edges + var/list/turf/powers = src.powers + var/list/turf/last = src.last + // current vars - turf, power, dir + var/turf/_T + var/_P + var/_D + // next edges, powers + var/list/turf/edges_next = list() + var/list/turf/powers_next = list() + // current vars - returned + var/_ret + // current vars - expansions + var/turf/_expand + var/_ND + // current vars - track returned per turf too + var/list/turf/returned = list() switch(wave_spread) if(WAVE_SPREAD_MINIMAL) // minimal - very little simulation, just go // we act on current turf in edges // we don't use dir bits here - // we so not check last list + // propagation: + // cardinals propagate in their dir + // diagonals propagate in their dir as well as cardinals + // corner-clipping can happen, but is minimal + + // we do not check last list // because we ""know"" we're going in a linear circular spread // first check first step @@ -226,9 +236,11 @@ if(WAVE_SPREAD_SHADOW_LIKE) // preliminary attempt: - // propagate cardinals forwards with a cardinal and 45 deg diagonals - // propagate diagonals forwards with 45 deg cardinals only - // this prevents corner clipping + + // propagation: + // cardinals propagate with a cardinal and 45 deg diagonals + // diagonals propagate with 45 deg cardinals only + // corner-clipping can happen, but is minimal // we do not check last here either because we can't bend around // to save some list lookups diff --git a/code/modules/automata/explosion.dm b/code/modules/automata/explosion.dm new file mode 100644 index 00000000000..666314495f1 --- /dev/null +++ b/code/modules/automata/explosion.dm @@ -0,0 +1,2 @@ +/datum/automata/wave/explosion + wave_spread = WAVE_SPREAD_SHOCKWAVE diff --git a/code/modules/blob/blob.dm b/code/modules/blob/blob.dm index 78c235d7517..790f16a152e 100644 --- a/code/modules/blob/blob.dm +++ b/code/modules/blob/blob.dm @@ -25,7 +25,7 @@ /obj/effect/blob/CanAllowThrough(atom/movable/mover, turf/target) return FALSE -/obj/effect/blob/ex_act(severity) +/obj/effect/blob/legacy_ex_act(severity) switch(severity) if(1) take_damage(rand(100, 120) / brute_resist) @@ -73,11 +73,11 @@ qdel(GR) return for(var/obj/structure/reagent_dispensers/fueltank/Fuel in T) - Fuel.ex_act(2) + LEGACY_EX_ACT(Fuel, 2, null) return for(var/obj/machinery/door/D in T) // There can be several - and some of them can be open, locate() is not suitable if(D.density) - D.ex_act(2) + LEGACY_EX_ACT(D, 2, null) return var/obj/structure/foamedmetal/F = locate() in T if(F) @@ -90,7 +90,7 @@ var/obj/vehicle_old/V = locate() in T if(V) - V.ex_act(2) + LEGACY_EX_ACT(V, 2, null) return var/obj/mecha/M = locate() in T if(M) diff --git a/code/modules/events/meteor_strike_vr.dm b/code/modules/events/meteor_strike_vr.dm index 9ccc0505f4a..f3b4b3430ab 100644 --- a/code/modules/events/meteor_strike_vr.dm +++ b/code/modules/events/meteor_strike_vr.dm @@ -36,7 +36,7 @@ meteor_impact() return for(var/atom/movable/A in current) - A.ex_act(3) //Let's have it be heavy, but not devistation in case it hits walls or something. + LEGACY_EX_ACT(A, 3, null) //Let's have it be heavy, but not devistation in case it hits walls or something. forceMove(below) meteor_fall() return @@ -96,7 +96,7 @@ if(91 to 100) new /obj/machinery/artifact(src) -/obj/structure/meteorite/ex_act() +/obj/structure/meteorite/legacy_ex_act() return /obj/structure/meteorite/attackby(var/obj/item/I, var/mob/M) diff --git a/code/modules/fishing/fishing.dm b/code/modules/fishing/fishing.dm index 14445516914..fd598a7145b 100644 --- a/code/modules/fishing/fishing.dm +++ b/code/modules/fishing/fishing.dm @@ -93,7 +93,7 @@ GLOBAL_LIST_INIT(generic_fishing_chance_list, list(FISHING_RARE = 10, FISHING_UN junk_list = GLOB.generic_fishing_pool_list fishing_loot = GLOB.generic_fishing_chance_list -/turf/simulated/floor/water/ex_act(severity) // Explosive fishing. +/turf/simulated/floor/water/legacy_ex_act(severity) // Explosive fishing. if(prob(5 * severity)) pick_fish() if(fish_type) diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm index 59c6c2264b9..2808c559173 100644 --- a/code/modules/holodeck/HolodeckControl.dm +++ b/code/modules/holodeck/HolodeckControl.dm @@ -196,7 +196,7 @@ emergencyShutdown() ..() -/obj/machinery/computer/HolodeckControl/ex_act(severity) +/obj/machinery/computer/HolodeckControl/legacy_ex_act(severity) emergencyShutdown() ..() @@ -236,7 +236,7 @@ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(2, 1, T) s.start() - T.ex_act(3) + LEGACY_EX_ACT(T, 3, null) T.hotspot_expose(1000,500,1) /obj/machinery/computer/HolodeckControl/proc/derez(var/obj/obj , var/silent = 1) diff --git a/code/modules/holomap/station_holomap.dm b/code/modules/holomap/station_holomap.dm index dd64b694c4f..ec01195fbba 100644 --- a/code/modules/holomap/station_holomap.dm +++ b/code/modules/holomap/station_holomap.dm @@ -202,7 +202,7 @@ return return ..() -/obj/machinery/station_map/ex_act(severity) +/obj/machinery/station_map/legacy_ex_act(severity) switch(severity) if(1) qdel(src) diff --git a/code/modules/hydroponics/spreading/spreading.dm b/code/modules/hydroponics/spreading/spreading.dm index 75dee4b2f8e..b2229d5c847 100644 --- a/code/modules/hydroponics/spreading/spreading.dm +++ b/code/modules/hydroponics/spreading/spreading.dm @@ -121,7 +121,8 @@ //Some plants eat through plating. if(islist(seed.chems) && !isnull(seed.chems["pacid"])) var/turf/T = get_turf(src) - T.ex_act(prob(80) ? 3 : 2) + var/P = prob(80)? 3 : 2 + LEGACY_EX_ACT(T, P, null) /obj/effect/plant/update_icon() //TODO: should really be caching this. @@ -274,7 +275,7 @@ health -= aggression*5 check_health() -/obj/effect/plant/ex_act(severity) +/obj/effect/plant/legacy_ex_act(severity) switch(severity) if(1.0) die_off() diff --git a/code/modules/hydroponics/spreading/spreading_growth.dm b/code/modules/hydroponics/spreading/spreading_growth.dm index be9a9a6d4bf..89050cb690d 100644 --- a/code/modules/hydroponics/spreading/spreading_growth.dm +++ b/code/modules/hydroponics/spreading/spreading_growth.dm @@ -25,7 +25,7 @@ if(floor.density) if(!isnull(seed.chems["pacid"])) - spawn(rand(5,25)) floor.ex_act(3) + spawn(rand(5,25)) LEGACY_EX_ACT(floor, 3, null) continue if(!Adjacent(floor) || !floor.Enter(src)) diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index 56fc91a9c7f..38f890c917f 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -711,10 +711,10 @@ investigate_log("Drilled through [target]") else if(istype(S, /turf/simulated/wall)) investigate_log("Drilled through [target]") - S.ex_act(2) + LEGACY_EX_ACT(S, 2, null) else investigate_log("Drilled through [target]") - target.ex_act(2) + LEGACY_EX_ACT(target, 2, null) activate_pin(2) return(TRUE) diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 3ec339f63af..8af1a40301d 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -67,7 +67,7 @@ choice.loc = get_turf(src) update_icon() -/obj/structure/bookcase/ex_act(severity) +/obj/structure/bookcase/legacy_ex_act(severity) switch(severity) if(1.0) for(var/obj/item/book/b in contents) diff --git a/code/modules/lighting/emissive_blocker.dm b/code/modules/lighting/emissive_blocker.dm index 04c1bb73028..bb794b33aff 100644 --- a/code/modules/lighting/emissive_blocker.dm +++ b/code/modules/lighting/emissive_blocker.dm @@ -24,7 +24,7 @@ render_source = source -/atom/movable/emissive_blocker/ex_act(severity) +/atom/movable/emissive_blocker/legacy_ex_act(severity) return FALSE /atom/movable/emissive_blocker/singularity_act() diff --git a/code/modules/lighting/lighting_object.dm b/code/modules/lighting/lighting_object.dm index ff6c19d7a28..33e593a46e6 100644 --- a/code/modules/lighting/lighting_object.dm +++ b/code/modules/lighting/lighting_object.dm @@ -123,7 +123,7 @@ // Variety of overrides so the overlays don't get affected by weird things. -/atom/movable/lighting_object/ex_act(severity) +/atom/movable/lighting_object/legacy_ex_act(severity) return 0 /atom/movable/lighting_object/singularity_act() diff --git a/code/modules/looking_glass/lg_console.dm b/code/modules/looking_glass/lg_console.dm index d4ae9fca5f9..16744dfe0ca 100644 --- a/code/modules/looking_glass/lg_console.dm +++ b/code/modules/looking_glass/lg_console.dm @@ -157,7 +157,7 @@ unload_program() ..() -/obj/machinery/computer/looking_glass/ex_act(severity) +/obj/machinery/computer/looking_glass/legacy_ex_act(severity) unload_program() ..() diff --git a/code/modules/maps/away_missions/archive/stationCollision.dm b/code/modules/maps/away_missions/archive/stationCollision.dm index d61b12c0ebb..a42c803c8e6 100644 --- a/code/modules/maps/away_missions/archive/stationCollision.dm +++ b/code/modules/maps/away_missions/archive/stationCollision.dm @@ -198,7 +198,7 @@ var/sc_safecode5 = "[rand(0,9)]" L.gib() else if(istype(A,/obj/)) var/obj/O = A - O.ex_act(1.0) + O.legacy_ex_act(1.0) if(O) qdel(O) else if(isturf(A)) var/turf/T = A @@ -211,6 +211,6 @@ var/sc_safecode5 = "[rand(0,9)]" T.ChangeTurf(/turf/space) return -/obj/machinery/singularity/narsie/sc_Narsie/ex_act() +/obj/machinery/singularity/narsie/sc_Narsie/legacy_ex_act() return */ diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index f5778e1c211..cca51d07762 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -313,7 +313,7 @@ if(burn_user) M.apply_damage(amount, BURN, null, used_weapon="Supermatter Chunk") -/obj/item/stack/material/supermatter/ex_act(severity) // An incredibly hard to manufacture material, SM chunks are unstable by their 'stabilized' nature. +/obj/item/stack/material/supermatter/legacy_ex_act(severity) // An incredibly hard to manufacture material, SM chunks are unstable by their 'stabilized' nature. if(prob((4 / severity) * 20)) SSradiation.radiate(get_turf(src), amount * 4) explosion(get_turf(src),round(amount / 12) , round(amount / 6), round(amount / 3), round(amount / 25)) diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm index d4a1ee93051..89ab9cef858 100644 --- a/code/modules/mining/drilling/drill.dm +++ b/code/modules/mining/drilling/drill.dm @@ -91,7 +91,7 @@ //Drill through the flooring, if any. if(istype(get_turf(src), /turf/simulated)) var/turf/simulated/T = get_turf(src) - T.ex_act(2.0) + LEGACY_EX_ACT(T, 2, null) //Dig out the tasty ores. if(resource_field.len) diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 52f694ca280..b5f9e1fade8 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -224,7 +224,7 @@ GLOBAL_LIST_EMPTY(mining_overlay_cache) /* smoothing end */ -/turf/simulated/mineral/ex_act(severity) +/turf/simulated/mineral/legacy_ex_act(severity) switch(severity) if(2.0) diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm index 9faabf08986..c9199940f5b 100644 --- a/code/modules/mining/ore.dm +++ b/code/modules/mining/ore.dm @@ -6,7 +6,7 @@ var/datum/geosample/geologic_data var/material -/obj/item/ore/ex_act(severity) +/obj/item/ore/legacy_ex_act(severity) return /obj/item/ore/uranium diff --git a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm index 7a9351e8591..5beec391fd7 100644 --- a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm +++ b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm @@ -245,7 +245,7 @@ name = "Generic Entry" prize_list += new /datum/data/mining_equipment(name, path, cost) -/obj/machinery/mineral/equipment_vendor/ex_act(severity, target) +/obj/machinery/mineral/equipment_vendor/legacy_ex_act(severity, target) var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(5, 1, src) s.start() diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index 0669f0d713d..1055016463a 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -10,7 +10,7 @@ var/last_update = 0 var/list/stored_ore = list() -/obj/structure/ore_box/ex_act(severity) +/obj/structure/ore_box/legacy_ex_act(severity) return //if an overstuffed ore box explodes it crashes the server, thank you GC /obj/structure/ore_box/attackby(obj/item/W as obj, mob/user as mob) diff --git a/code/modules/mining/vertibore.dm b/code/modules/mining/vertibore.dm index 012e1068ec1..fdc5d52ce87 100644 --- a/code/modules/mining/vertibore.dm +++ b/code/modules/mining/vertibore.dm @@ -82,7 +82,7 @@ return if(cell.use(power_cost) && do_after(user, 2.5 SECONDS)) var/turf/T = get_turf(user) - T.ex_act(1) + LEGACY_EX_ACT(T, 1, null) /obj/item/vertibore/update_icon() var/list/overlays_to_add = list() diff --git a/code/modules/mob/living/carbon/alien/alien_damage.dm b/code/modules/mob/living/carbon/alien/alien_damage.dm index f2d147641f1..4c131710b12 100644 --- a/code/modules/mob/living/carbon/alien/alien_damage.dm +++ b/code/modules/mob/living/carbon/alien/alien_damage.dm @@ -1,4 +1,4 @@ -/mob/living/carbon/alien/ex_act(severity) +/mob/living/carbon/alien/legacy_ex_act(severity) if(!blinded) flash_eyes() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 0f4b8bcfd54..54b5b2d84a0 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -111,7 +111,7 @@ if(species) species.Stat(src) -/mob/living/carbon/human/ex_act(severity) +/mob/living/carbon/human/legacy_ex_act(severity) if(!blinded) flash_eyes() diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 9a14fcbe778..8ad535119bd 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -2,7 +2,7 @@ Contains most of the procs that are called when a mob is attacked by something bullet_act -ex_act +legacy_ex_act meteor_act emp_act diff --git a/code/modules/mob/living/carbon/human/traits/weaver_objs.dm b/code/modules/mob/living/carbon/human/traits/weaver_objs.dm index 57291df7867..7ef0a5d7b8a 100644 --- a/code/modules/mob/living/carbon/human/traits/weaver_objs.dm +++ b/code/modules/mob/living/carbon/human/traits/weaver_objs.dm @@ -11,7 +11,7 @@ var/global/list/weavable_items = list() anchored = TRUE density = FALSE -/obj/effect/weaversilk/ex_act(severity) +/obj/effect/weaversilk/legacy_ex_act(severity) qdel(src) return diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index 34b66b56501..608adb69b1c 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -185,7 +185,7 @@ powerlevel = 0 // oh no, the power! ..() -/mob/living/carbon/slime/ex_act(severity) +/mob/living/carbon/slime/legacy_ex_act(severity) ..() var/b_loss = null diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 11e7313b933..7d3f8f09a9d 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -867,7 +867,7 @@ var/list/ai_verbs_default = list( return istype(loc, /turf) -/mob/living/silicon/ai/ex_act(var/severity) +/mob/living/silicon/ai/legacy_ex_act(var/severity) if(severity == 1.0) qdel(src) return diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index d2628c50efd..f5edc0b9a6f 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -274,7 +274,7 @@ /mob/living/silicon/binarycheck() return 1 -/mob/living/silicon/ex_act(severity) +/mob/living/silicon/legacy_ex_act(severity) if(!blinded) flash_eyes() diff --git a/code/modules/mob/living/simple_mob/defense.dm b/code/modules/mob/living/simple_mob/defense.dm index 512eec37137..9fd7205707c 100644 --- a/code/modules/mob/living/simple_mob/defense.dm +++ b/code/modules/mob/living/simple_mob/defense.dm @@ -83,7 +83,7 @@ // Exploding. -/mob/living/simple_mob/ex_act(severity) +/mob/living/simple_mob/legacy_ex_act(severity) if(!blinded) flash_eyes() var/armor = run_armor_check(def_zone = null, attack_flag = "bomb") diff --git a/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm b/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm index 466e72a2968..a62ecc3911c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm +++ b/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm @@ -90,7 +90,7 @@ visible_message(SPAN_WARNING( "\The [user]'s [I] goes through \the [src]!")) return FALSE -/mob/living/simple_mob/illusion/ex_act() +/mob/living/simple_mob/illusion/legacy_ex_act() return // Try to have the same tooltip, or else it becomes really obvious which one is fake. diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm index fcc0672cfbb..0d1d51503ab 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm @@ -134,7 +134,7 @@ return ..() -/mob/living/simple_mob/mechanical/mecha/ex_act(severity) +/mob/living/simple_mob/mechanical/mecha/legacy_ex_act(severity) if(prob(deflect_chance)) severity++ // This somewhat misleadingly makes it less severe. deflect_sprite() diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm index 4265edb2895..3d659b66a85 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm @@ -201,7 +201,7 @@ return list() return T.AtmosAdjacencyFloodfillHeuristic(amt, maxrad) -/mob/living/simple_mob/slime/xenobio/dark_purple/ex_act(severity) +/mob/living/simple_mob/slime/xenobio/dark_purple/legacy_ex_act(severity) log_and_message_admins("[src] ignited due to a chain reaction with an explosion.") ignite() @@ -658,7 +658,7 @@ return ..() -/mob/living/simple_mob/slime/xenobio/oil/ex_act(severity) +/mob/living/simple_mob/slime/xenobio/oil/legacy_ex_act(severity) log_and_message_admins("[src] exploded due to a chain reaction with another explosion.") explode() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm index 91185e03124..03696dcc1dd 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm @@ -42,7 +42,7 @@ else return ..() -/obj/structure/closet/crate/mimic/ex_act(severity) //Stores Mimic Contents for later +/obj/structure/closet/crate/mimic/legacy_ex_act(severity) //Stores Mimic Contents for later for(var/obj/O in src.contents) qdel(O) qdel(src) @@ -175,7 +175,7 @@ else return ..() -/obj/structure/closet/crate/mimic/airlock/ex_act(severity) //Stores Mimic Contents for later +/obj/structure/closet/crate/mimic/airlock/legacy_ex_act(severity) //Stores Mimic Contents for later for(var/obj/O in src.contents) qdel(O) qdel(src) @@ -266,7 +266,7 @@ else return ..() -/obj/structure/closet/crate/mimic/closet/ex_act(severity) //Stores Mimic Contents for later +/obj/structure/closet/crate/mimic/closet/legacy_ex_act(severity) //Stores Mimic Contents for later for(var/obj/O in src.contents) qdel(O) qdel(src) @@ -372,7 +372,7 @@ else return ..() -/obj/effect/floormimic/ex_act(severity) +/obj/effect/floormimic/legacy_ex_act(severity) qdel(src) /obj/effect/floormimic/safe diff --git a/code/modules/modular_computers/computers/modular_computer/damage.dm b/code/modules/modular_computers/computers/modular_computer/damage.dm index 9d143530668..a6b08005916 100644 --- a/code/modules/modular_computers/computers/modular_computer/damage.dm +++ b/code/modules/modular_computers/computers/modular_computer/damage.dm @@ -37,7 +37,7 @@ * Stronger explosions cause serious damage to internal components * Minor explosions are mostly mitigitated by casing. */ -/obj/item/modular_computer/ex_act(severity) +/obj/item/modular_computer/legacy_ex_act(severity) take_damage(rand(100,200) / severity, 30 / severity) /// EMPs are similar to explosions, but don't cause physical damage to the casing. Instead they screw up the components diff --git a/code/modules/multiz/hoist.dm b/code/modules/multiz/hoist.dm index 409f03c64f3..37fc07eb234 100644 --- a/code/modules/multiz/hoist.dm +++ b/code/modules/multiz/hoist.dm @@ -140,7 +140,7 @@ release_hoistee() QDEL_NULL(source_hook) -/obj/structure/hoist/ex_act(severity) +/obj/structure/hoist/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) @@ -157,7 +157,7 @@ break_hoist() return -/obj/effect/hoist_hook/ex_act(severity) +/obj/effect/hoist_hook/legacy_ex_act(severity) switch(severity) if(1.0) source_hoist.break_hoist() diff --git a/code/modules/overmap/disperser/disperser_fire.dm b/code/modules/overmap/disperser/disperser_fire.dm index 34055eb2f4e..1c3ae0fe6bd 100644 --- a/code/modules/overmap/disperser/disperser_fire.dm +++ b/code/modules/overmap/disperser/disperser_fire.dm @@ -21,14 +21,14 @@ explosion(T,1,2,3) continue else - T.ex_act(1) + LEGACY_EX_ACT(T, 1, null) for(var/atom/A in T) if(A.density) if(distance < 7) explosion(A,1,2,3) break else - A.ex_act(1) + LEGACY_EX_ACT(A, 1, null) var/list/relevant_z = GetConnectedZlevels(start.z) for(var/mob/M in global.player_list) diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 63ec77f754a..3d17ad53de1 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -184,7 +184,7 @@ return -/obj/machinery/photocopier/ex_act(severity) +/obj/machinery/photocopier/legacy_ex_act(severity) 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 ae90b7ee1ba..6c68d0c52f7 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/am_containment/ex_act(severity) +/obj/item/am_containment/legacy_ex_act(severity) 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 39bcc5cf71b..323e438ee16 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -105,7 +105,7 @@ return 0 -/obj/machinery/power/am_control_unit/ex_act(severity) +/obj/machinery/power/am_control_unit/legacy_ex_act(severity) switch(severity) if(1.0) stability -= 60 diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index dff42a0cd49..15864fab948 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -87,7 +87,7 @@ return 0 -/obj/machinery/am_shielding/ex_act(severity) +/obj/machinery/am_shielding/legacy_ex_act(severity) switch(severity) if(1.0) stability -= 80 diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 4f2c411c95a..d11240040a1 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -1391,30 +1391,30 @@ GLOBAL_LIST_EMPTY(apcs) update_icon() ..() -/obj/machinery/power/apc/ex_act(severity) +/obj/machinery/power/apc/legacy_ex_act(severity) switch(severity) if(1) //set_broken() //now qdel() do what we need if (cell) - cell.ex_act(1) // more lags woohoo + LEGACY_EX_ACT(cell, 1, null) // more lags woohoo qdel(src) return if(2) if (prob(75)) set_broken() if (cell && prob(50)) - cell.ex_act(2) + LEGACY_EX_ACT(cell, 2, null) if(3) if (prob(50)) set_broken() if (cell && prob(50)) - cell.ex_act(3) + LEGACY_EX_ACT(cell, 3, null) if(4) if (prob(25)) set_broken() if (cell && prob(50)) - cell.ex_act(3) + LEGACY_EX_ACT(cell, 3, null) return /obj/machinery/power/apc/disconnect_terminal() @@ -1519,7 +1519,7 @@ GLOBAL_LIST_EMPTY(apcs) if(prob(10)) // Computers get broken. for(var/obj/machinery/computer/comp in area) - comp.ex_act(3) + LEGACY_EX_ACT(comp, 3, null) if(prob(5)) // APC completely ruined. set_broken() diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 69e0354d74a..e8bccb09d07 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -273,7 +273,7 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list( return 0 //explosion handling -/obj/structure/cable/ex_act(severity) +/obj/structure/cable/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/modules/power/cable_ender.dm b/code/modules/power/cable_ender.dm index 20ca1fdd051..b483d67fe13 100644 --- a/code/modules/power/cable_ender.dm +++ b/code/modules/power/cable_ender.dm @@ -34,6 +34,6 @@ ..() // Because they cannot be rebuilt, they are hard to destroy -/obj/structure/cable/ender/ex_act(severity) +/obj/structure/cable/ender/legacy_ex_act(severity) return diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index b2dbc561787..f22e816c812 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -230,7 +230,7 @@ update_icon() -/obj/item/cell/ex_act(severity) +/obj/item/cell/legacy_ex_act(severity) switch(severity) if(1.0) diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 539108ee692..1d37cb07796 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -29,7 +29,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) pixel_y = 16 -/obj/machinery/gravity_generator/ex_act(severity, target) +/obj/machinery/gravity_generator/legacy_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 a2ba4971745..a721caea8b7 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -838,7 +838,7 @@ var/global/list/light_type_cache = list() // explosion effect // destroy the whole light fixture or just shatter it -/obj/machinery/light/ex_act(severity) +/obj/machinery/light/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index b6ac566c35a..0bd35882fe4 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -655,7 +655,7 @@ /obj/machinery/power/rtg/abductor/blob_act(obj/structure/blob/B) asplod() -/obj/machinery/power/rtg/abductor/ex_act() +/obj/machinery/power/rtg/abductor/legacy_ex_act() if(going_kaboom) qdel(src) else diff --git a/code/modules/power/singularity/act.dm b/code/modules/power/singularity/act.dm index 2a39b301f99..12d5952e654 100644 --- a/code/modules/power/singularity/act.dm +++ b/code/modules/power/singularity/act.dm @@ -39,7 +39,7 @@ /obj/singularity_act() if(flags & ATOM_ABSTRACT) return - ex_act(1) + legacy_ex_act(1) if(!QDELETED(src)) qdel(src) return 2 diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index e38ed302706..deb204c7aa1 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -101,7 +101,7 @@ var/global/list/rad_collectors = list() . = ..() . += "The meter indicates that \the [src] is collecting [last_power] W." -/obj/machinery/power/rad_collector/ex_act(severity) +/obj/machinery/power/rad_collector/legacy_ex_act(severity) 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 1b9009d5169..cc0ed3634b1 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -38,7 +38,7 @@ if(isliving(bumped_atom)) shock(bumped_atom) -/obj/machinery/containment_field/ex_act(severity) +/obj/machinery/containment_field/legacy_ex_act(severity) return 0 /obj/machinery/containment_field/shock(mob/living/user as mob) diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm index f61b4cc7d27..f4f49ed3f98 100644 --- a/code/modules/power/singularity/particle_accelerator/particle.dm +++ b/code/modules/power/singularity/particle_accelerator/particle.dm @@ -72,7 +72,7 @@ Bump(A) -/obj/effect/accelerated_particle/ex_act(severity) +/obj/effect/accelerated_particle/legacy_ex_act(severity) qdel(src) /obj/effect/accelerated_particle/singularity_act() diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm index 1ab9fdf5fa0..cf72070e59f 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm @@ -140,7 +140,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin log_game("PACCEL([x],[y],[z]) Was moved while active and turned off.") investigate_log("was moved whilst active; it powered down.","singulo") -/obj/structure/particle_accelerator/ex_act(severity) +/obj/structure/particle_accelerator/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) @@ -311,7 +311,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin ..() return -/obj/machinery/particle_accelerator/ex_act(severity) +/obj/machinery/particle_accelerator/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 4ddd46143f7..eb752aff6a9 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -50,7 +50,7 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity) consume(user) return 1 -/obj/singularity/ex_act(severity, target) +/obj/singularity/legacy_ex_act(severity, target) switch(severity) if(1) if(current_size <= STAGE_TWO) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 8559e40b034..55032b4db2d 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -148,7 +148,7 @@ GLOBAL_LIST_EMPTY(solars_list) return -/obj/machinery/power/solar/ex_act(severity) +/obj/machinery/power/solar/legacy_ex_act(severity) switch(severity) if(1.0) if(prob(15)) @@ -545,7 +545,7 @@ GLOBAL_LIST_EMPTY(solars_list) update_icon() -/obj/machinery/power/solar_control/ex_act(severity) +/obj/machinery/power/solar_control/legacy_ex_act(severity) switch(severity) if(1.0) //SN src = null diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index 3575b92e317..f1fdc9a70e9 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -29,7 +29,7 @@ if(!is_miniball) set_light(10, 7, "#EEEEFF") -/obj/singularity/energy_ball/ex_act(severity, target) +/obj/singularity/energy_ball/legacy_ex_act(severity, target) return /obj/singularity/energy_ball/Destroy() diff --git a/code/modules/power/tesla/tesla_act.dm b/code/modules/power/tesla/tesla_act.dm index e10ea8934eb..e421b28226e 100644 --- a/code/modules/power/tesla/tesla_act.dm +++ b/code/modules/power/tesla/tesla_act.dm @@ -34,7 +34,7 @@ else if(prob(50)) emp_act(2) else - ex_act(2) + legacy_ex_act(2) /obj/machinery/camera/tesla_act(var/power)//EMP proof upgrade also makes it tesla immune if(isEmpProof()) diff --git a/code/modules/projectiles/projectile/beam/beams.dm b/code/modules/projectiles/projectile/beam/beams.dm index add17ad2e42..3699678c160 100644 --- a/code/modules/projectiles/projectile/beam/beams.dm +++ b/code/modules/projectiles/projectile/beam/beams.dm @@ -129,7 +129,7 @@ /obj/item/projectile/beam/pulse/on_hit(var/atom/target, var/blocked = 0) if(isturf(target)) - target.ex_act(2) + LEGACY_EX_ACT(target, 2, null) ..() /obj/item/projectile/beam/pulse/shotgun diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 05c992c2124..3cce5ddee46 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -105,7 +105,7 @@ if(A == firer) return - A.ex_act(2) + LEGACY_EX_ACT(A, 2, null) playsound(src.loc, 'sound/effects/meteorimpact.ogg', 40, 1) for(var/mob/M in range(10, src)) diff --git a/code/modules/reagents/machinery/chem_master.dm b/code/modules/reagents/machinery/chem_master.dm index a6efbaa595e..872dd9d00d0 100644 --- a/code/modules/reagents/machinery/chem_master.dm +++ b/code/modules/reagents/machinery/chem_master.dm @@ -33,7 +33,7 @@ default_apply_parts() create_reagents(1000) -/obj/machinery/chem_master/ex_act(severity) +/obj/machinery/chem_master/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) diff --git a/code/modules/reagents/machinery/dispenser/reagent_tank.dm b/code/modules/reagents/machinery/dispenser/reagent_tank.dm index 40c3e808767..c177946352d 100644 --- a/code/modules/reagents/machinery/dispenser/reagent_tank.dm +++ b/code/modules/reagents/machinery/dispenser/reagent_tank.dm @@ -55,7 +55,7 @@ if (N) amount_per_transfer_from_this = N -/obj/structure/reagent_dispensers/ex_act(severity) +/obj/structure/reagent_dispensers/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) @@ -206,7 +206,7 @@ if(!istype(Proj ,/obj/item/projectile/beam/lasertag) && !istype(Proj ,/obj/item/projectile/beam/practice) ) explode() -/obj/structure/reagent_dispensers/fueltank/ex_act() +/obj/structure/reagent_dispensers/fueltank/legacy_ex_act() explode() /obj/structure/reagent_dispensers/fueltank/blob_act() @@ -454,7 +454,7 @@ if(Proj.get_structure_damage()) explode() -/obj/structure/reagent_dispensers/cookingoil/ex_act() +/obj/structure/reagent_dispensers/cookingoil/legacy_ex_act() explode() /obj/structure/reagent_dispensers/cookingoil/proc/explode() diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index eaac4586c37..f6b2cf1dbf9 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -846,7 +846,7 @@ // pipe affected by explosion -/obj/structure/disposalpipe/ex_act(severity) +/obj/structure/disposalpipe/legacy_ex_act(severity) switch(severity) if(1.0) diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 8b66b0be894..e415c92045c 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -74,7 +74,7 @@ griefProtection() ..() -/obj/machinery/r_n_d/server/ex_act(severity) +/obj/machinery/r_n_d/server/legacy_ex_act(severity) griefProtection() ..() diff --git a/code/modules/resleeving/sleevecard.dm b/code/modules/resleeving/sleevecard.dm index 786dedf8395..87ae3ae47b3 100644 --- a/code/modules/resleeving/sleevecard.dm +++ b/code/modules/resleeving/sleevecard.dm @@ -93,9 +93,9 @@ for(var/mob/M in src) M.emp_act(severity) -/obj/item/sleevecard/ex_act(severity) +/obj/item/sleevecard/legacy_ex_act(severity) if(infomorph) - infomorph.ex_act(severity) + LEGACY_EX_ACT(infomorph, severity, null) else qdel(src) diff --git a/code/modules/shieldgen/emergency_shield.dm b/code/modules/shieldgen/emergency_shield.dm index 3d2ed5b9dca..d7af0cca39c 100644 --- a/code/modules/shieldgen/emergency_shield.dm +++ b/code/modules/shieldgen/emergency_shield.dm @@ -63,7 +63,7 @@ set_opacity(1) spawn(20) if(!QDELETED(src)) set_opacity(0) -/obj/machinery/shield/ex_act(severity) +/obj/machinery/shield/legacy_ex_act(severity) switch(severity) if(1.0) if (prob(75)) @@ -223,7 +223,7 @@ update_icon() return -/obj/machinery/shieldgen/ex_act(severity) +/obj/machinery/shieldgen/legacy_ex_act(severity) switch(severity) if(1.0) src.health -= 75 diff --git a/code/modules/shieldgen/energy_field.dm b/code/modules/shieldgen/energy_field.dm index 224da0aa6fe..4d0bb7ab4ac 100644 --- a/code/modules/shieldgen/energy_field.dm +++ b/code/modules/shieldgen/energy_field.dm @@ -41,7 +41,7 @@ for(var/obj/effect/energy_field/F in T) F.update_icon() -/obj/effect/energy_field/ex_act(var/severity) +/obj/effect/energy_field/legacy_ex_act(var/severity) adjust_strength(-(4 - severity) * 4) /obj/effect/energy_field/bullet_act(var/obj/item/projectile/Proj) diff --git a/code/modules/shieldgen/energy_shield.dm b/code/modules/shieldgen/energy_shield.dm index 6941f407d91..e4a108d6bdf 100644 --- a/code/modules/shieldgen/energy_shield.dm +++ b/code/modules/shieldgen/energy_shield.dm @@ -221,7 +221,7 @@ // Explosions -/obj/effect/shield/ex_act(var/severity) +/obj/effect/shield/legacy_ex_act(var/severity) if(!disabled_for) take_damage(rand(10,15) / severity, SHIELD_DAMTYPE_PHYSICAL) diff --git a/code/modules/shieldgen/sheldwallgen.dm b/code/modules/shieldgen/sheldwallgen.dm index e9dc964f5fb..d27925dc347 100644 --- a/code/modules/shieldgen/sheldwallgen.dm +++ b/code/modules/shieldgen/sheldwallgen.dm @@ -289,7 +289,7 @@ return -/obj/machinery/shieldwall/ex_act(severity) +/obj/machinery/shieldwall/legacy_ex_act(severity) if(needs_power) var/obj/machinery/shieldwallgen/G switch(severity) diff --git a/code/modules/shieldgen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm index cf823c01094..ffd4184f7bc 100644 --- a/code/modules/shieldgen/shield_gen.dm +++ b/code/modules/shieldgen/shield_gen.dm @@ -230,7 +230,7 @@ updateDialog() -/obj/machinery/shield_gen/ex_act(var/severity) +/obj/machinery/shield_gen/legacy_ex_act(var/severity) if(active) toggle() diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index f6aa5716db1..cd72a3a0a90 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -139,7 +139,7 @@ /obj/machinery/computer/shuttle_control/bullet_act(var/obj/item/projectile/Proj) visible_message("\The [Proj] ricochets off \the [src]!") -/obj/machinery/computer/shuttle_control/ex_act() +/obj/machinery/computer/shuttle_control/legacy_ex_act() return /obj/machinery/computer/shuttle_control/emp_act() diff --git a/code/modules/species/station/promethean/promethean_blob.dm b/code/modules/species/station/promethean/promethean_blob.dm index 6b8be5e411e..f5559c05798 100644 --- a/code/modules/species/station/promethean/promethean_blob.dm +++ b/code/modules/species/station/promethean/promethean_blob.dm @@ -181,9 +181,9 @@ else return ..() -/mob/living/simple_mob/slime/promethean/ex_act(severity) +/mob/living/simple_mob/slime/promethean/legacy_ex_act(severity) if(humanform) - return humanform.ex_act(severity) + LEGACY_EX_ACT(humanform, severity, null) else return ..() diff --git a/code/modules/species/station/xenomorph_hybrids/hybrid_resin.dm b/code/modules/species/station/xenomorph_hybrids/hybrid_resin.dm index 3b87f08856d..e4df8bfab49 100644 --- a/code/modules/species/station/xenomorph_hybrids/hybrid_resin.dm +++ b/code/modules/species/station/xenomorph_hybrids/hybrid_resin.dm @@ -190,7 +190,7 @@ healthcheck() return -/obj/effect/alien/hybrid_resin/ex_act(severity) +/obj/effect/alien/hybrid_resin/legacy_ex_act(severity) switch(severity) if(1.0) health-=50 diff --git a/code/modules/spells/spell_projectile.dm b/code/modules/spells/spell_projectile.dm index 01e7d163fa4..97d9a54e4c2 100644 --- a/code/modules/spells/spell_projectile.dm +++ b/code/modules/spells/spell_projectile.dm @@ -21,7 +21,7 @@ carried = null return ..() -/obj/item/projectile/spell_projectile/ex_act() +/obj/item/projectile/spell_projectile/legacy_ex_act() return /obj/item/projectile/spell_projectile/before_move() diff --git a/code/modules/spells/targeted/ethereal_jaunt.dm b/code/modules/spells/targeted/ethereal_jaunt.dm index df83354b8a5..fa459bd43c7 100644 --- a/code/modules/spells/targeted/ethereal_jaunt.dm +++ b/code/modules/spells/targeted/ethereal_jaunt.dm @@ -101,7 +101,7 @@ src.canmove = 0 spawn(2) src.canmove = 1 -/obj/effect/dummy/spell_jaunt/ex_act(blah) +/obj/effect/dummy/spell_jaunt/legacy_ex_act(blah) return /obj/effect/dummy/spell_jaunt/bullet_act(blah) return diff --git a/code/modules/vehicles_legacy/vehicle.dm b/code/modules/vehicles_legacy/vehicle.dm index ba0f60906e3..6b9ce9776a7 100644 --- a/code/modules/vehicles_legacy/vehicle.dm +++ b/code/modules/vehicles_legacy/vehicle.dm @@ -129,7 +129,7 @@ health = clamp( health + amount, 0, maxhealth) healthcheck() -/obj/vehicle_old/ex_act(severity) +/obj/vehicle_old/legacy_ex_act(severity) switch(severity) if(1.0) explode() diff --git a/code/modules/ventcrawl/ventcrawl_atmospherics.dm b/code/modules/ventcrawl/ventcrawl_atmospherics.dm index c87fc9a4e6f..7a79883334e 100644 --- a/code/modules/ventcrawl/ventcrawl_atmospherics.dm +++ b/code/modules/ventcrawl/ventcrawl_atmospherics.dm @@ -13,9 +13,9 @@ pipe_image = null . = ..() -/obj/machinery/atmospherics/ex_act(severity) +/obj/machinery/atmospherics/legacy_ex_act(severity) for(var/atom/movable/A in src) //ventcrawling is serious business - A.ex_act(severity) + LEGACY_EX_ACT(A, severity, null) . = ..() /obj/machinery/atmospherics/Entered(atom/movable/Obj) diff --git a/code/modules/vore/fluffstuff/custom_guns.dm b/code/modules/vore/fluffstuff/custom_guns.dm index eac989bfb31..bc477680e7f 100644 --- a/code/modules/vore/fluffstuff/custom_guns.dm +++ b/code/modules/vore/fluffstuff/custom_guns.dm @@ -754,7 +754,7 @@ END OF CITADEL CHANGES */ /obj/item/gun/energy/frontier/emp_act(severity) return ..(severity+2) -/obj/item/gun/energy/frontier/ex_act() //|rugged| +/obj/item/gun/energy/frontier/legacy_ex_act() //|rugged| return /obj/item/gun/energy/frontier/locked diff --git a/code/modules/vore/resizing/grav_pull_vr.dm b/code/modules/vore/resizing/grav_pull_vr.dm index d8536f8cd32..863a0082a1c 100644 --- a/code/modules/vore/resizing/grav_pull_vr.dm +++ b/code/modules/vore/resizing/grav_pull_vr.dm @@ -36,7 +36,7 @@ if(X && !istype(X, /mob/living/carbon/human)) if(break_windows && istype(X, /obj/structure/window)) //shatter windows var/obj/structure/window/W = X - W.ex_act(2.0) + LEGACY_EX_ACT(W, 2, null) if(istype(X, /obj)) var/obj/O = X diff --git a/code/modules/xenoarcheaology/artifacts/artifact.dm b/code/modules/xenoarcheaology/artifacts/artifact.dm index a08393d8cba..ae45138531b 100644 --- a/code/modules/xenoarcheaology/artifacts/artifact.dm +++ b/code/modules/xenoarcheaology/artifacts/artifact.dm @@ -289,7 +289,7 @@ if(secondary_effect && secondary_effect.trigger == TRIGGER_ENERGY && prob(25)) secondary_effect.ToggleActivate(0) -/obj/machinery/artifact/ex_act(severity) +/obj/machinery/artifact/legacy_ex_act(severity) switch(severity) if(1.0) qdel(src) if(2.0) diff --git a/code/modules/xenoarcheaology/tools/coolant_tank.dm b/code/modules/xenoarcheaology/tools/coolant_tank.dm index c5c4daffb3e..6a15c1bcf3c 100644 --- a/code/modules/xenoarcheaology/tools/coolant_tank.dm +++ b/code/modules/xenoarcheaology/tools/coolant_tank.dm @@ -14,7 +14,7 @@ if(!istype(Proj ,/obj/item/projectile/beam/lasertag) && !istype(Proj ,/obj/item/projectile/beam/practice) ) // TODO: make this not terrible explode() -/obj/structure/reagent_dispensers/coolanttank/ex_act() +/obj/structure/reagent_dispensers/coolanttank/legacy_ex_act() explode() /obj/structure/reagent_dispensers/coolanttank/proc/explode()