From 3825b4e1d550cf86a19a676bec51e93b376abf5e Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 17 Oct 2018 14:31:07 -0400 Subject: [PATCH 1/2] Refactors Spark Spread Activation --- code/datums/spell.dm | 10 ++++------ .../miniantags/abduction/abduction_gear.dm | 4 +--- .../miniantags/abduction/machinery/pad.dm | 4 +--- .../miniantags/revenant/revenant_abilities.dm | 8 ++------ .../shadowling/shadowling_abilities.dm | 4 +--- code/game/gamemodes/wizard/godhand.dm | 8 ++------ .../machinery/computer/HolodeckControl.dm | 12 +++-------- code/game/machinery/computer/message.dm | 4 +--- code/game/machinery/cryopod.dm | 4 +--- code/game/machinery/deployable.dm | 16 ++++----------- code/game/machinery/doors/airlock.dm | 4 +--- code/game/machinery/doors/door.dm | 3 +-- code/game/machinery/igniter.dm | 4 +--- code/game/machinery/machinery.dm | 4 +--- code/game/machinery/quantum_pad.dm | 4 +--- .../effects/decals/Cleanable/robots.dm | 4 +--- code/game/objects/effects/decals/remains.dm | 6 ------ .../effects/effect_system/effect_system.dm | 6 +++++- .../effects/effect_system/effects_other.dm | 4 +--- .../effects/effect_system/effects_sparks.dm | 13 +++++++++++- code/game/objects/effects/gibs.dm | 4 +--- code/game/objects/effects/mines.dm | 4 +--- code/game/objects/effects/portals.dm | 4 +--- .../objects/items/devices/chameleonproj.dm | 5 +---- .../items/devices/radio/electropack.dm | 4 +--- code/game/objects/items/toys.dm | 8 ++------ code/game/objects/items/weapons/fireworks.dm | 8 ++------ code/game/objects/items/weapons/legcuffs.dm | 4 +--- .../objects/items/weapons/melee/energy.dm | 8 -------- .../objects/items/weapons/storage/secure.dm | 4 +--- code/game/objects/items/weapons/twohanded.dm | 8 ++------ .../structures/crates_lockers/closets.dm | 8 ++------ .../structures/crates_lockers/crates.dm | 20 ++++++------------- code/game/objects/structures/electricchair.dm | 4 +--- code/game/objects/structures/grille.dm | 4 +--- .../antagonists/_common/antag_spawner.dm | 4 +--- .../awaymissions/mission_code/wildwest.dm | 4 +--- code/modules/awaymissions/trigger.dm | 8 ++------ code/modules/clothing/gloves/miscellaneous.dm | 4 +--- code/modules/clothing/masks/miscellaneous.dm | 4 +--- code/modules/clothing/spacesuits/hardsuit.dm | 4 +--- code/modules/events/rogue_drones.dm | 4 +--- code/modules/fish/fishtank.dm | 4 +--- .../kitchen_machinery/kitchen_machine.dm | 4 +--- code/modules/mining/equipment_locker.dm | 8 ++------ code/modules/mob/living/carbon/human/death.dm | 4 +--- .../mob/living/carbon/human/human_organs.dm | 7 +------ code/modules/mob/living/carbon/human/life.dm | 8 ++------ code/modules/mob/living/living_defense.dm | 4 +--- .../modules/mob/living/silicon/robot/robot.dm | 1 + .../mob/living/simple_animal/bot/bot.dm | 8 ++------ .../mob/living/simple_animal/bot/cleanbot.dm | 4 +--- .../mob/living/simple_animal/bot/ed209bot.dm | 4 +--- .../mob/living/simple_animal/bot/floorbot.dm | 4 +--- .../mob/living/simple_animal/bot/medbot.dm | 4 +--- .../mob/living/simple_animal/bot/mulebot.dm | 4 +--- .../mob/living/simple_animal/bot/secbot.dm | 4 +--- .../mob/living/simple_animal/bot/syndicate.dm | 4 +--- .../living/simple_animal/friendly/corgi.dm | 8 ++------ .../living/simple_animal/hostile/hivebot.dm | 4 +--- .../simple_animal/hostile/retaliate/drone.dm | 16 ++++----------- .../programs/antagonist/revelation.dm | 8 ++------ code/modules/power/apc.dm | 12 +++-------- code/modules/power/cable.dm | 4 +--- code/modules/power/lighting.dm | 8 ++------ .../power/singularity/containment_field.dm | 4 +--- code/modules/power/singularity/emitter.dm | 8 +++++--- code/modules/power/smes.dm | 12 +++-------- .../modules/projectiles/projectile/bullets.dm | 8 ++------ code/modules/projectiles/projectile/energy.dm | 8 ++------ .../modules/projectiles/projectile/special.dm | 4 +--- .../chemistry/recipes/pyrotechnics.dm | 12 +++-------- .../reagents/chemistry/recipes/toxins.dm | 4 +--- code/modules/surgery/organs/augments_arms.dm | 8 +++----- code/modules/surgery/organs/organ_external.dm | 7 +------ code/modules/telesci/telepad.dm | 4 +--- code/modules/telesci/telesci_computer.dm | 12 +++-------- 77 files changed, 135 insertions(+), 347 deletions(-) diff --git a/code/datums/spell.dm b/code/datums/spell.dm index 1a78f8be2ca..653cc0020bc 100644 --- a/code/datums/spell.dm +++ b/code/datums/spell.dm @@ -261,9 +261,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin if(istype(target,/mob/living) && message) to_chat(target, text("[message]")) if(sparks_spread) - var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread() - sparks.set_up(sparks_amt, 0, location) //no idea what the 0 is - sparks.start() + do_sparks(sparks_amt, 0, location) if(smoke_spread) if(smoke_spread == 1) var/datum/effect_system/smoke_spread/smoke = new @@ -328,10 +326,10 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin /obj/effect/proc_holder/spell/targeted/choose_targets(mob/user = usr) var/list/targets = list() - + switch(max_targets) if(0) //unlimited - + if(!humans_only) for(var/mob/living/target in view_or_range(range, user, selection_type)) targets += target @@ -344,7 +342,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin targets += user else var/possible_targets = list() - + if(!humans_only) for(var/mob/living/M in view_or_range(range, user, selection_type)) if(!include_user && user == M) diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index 28f6fd4544a..05a29a5f3f4 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -561,9 +561,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} /obj/item/restraints/handcuffs/energy/used/dropped(mob/user) user.visible_message("[user]'s [src] break in a discharge of energy!", \ "[user]'s [src] break in a discharge of energy!") - var/datum/effect_system/spark_spread/S = new - S.set_up(4,0,user.loc) - S.start() + do_sparks(4, 0, user.loc) . = ..() /obj/item/abductor_baton/examine(mob/user) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm index ce30708a76f..f7ff2864608 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm @@ -46,7 +46,5 @@ duration = 80 /obj/effect/temp_visual/teleport_abductor/New() - var/datum/effect_system/spark_spread/S = new - S.set_up(10,0,loc) - S.start() + do_sparks(10, 0, loc) ..() \ No newline at end of file diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm index 5a7825c0cfe..c201b1bc45d 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm @@ -209,9 +209,7 @@ if(!L.on) return L.visible_message("\The [L] suddenly flares brightly and begins to spark!") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread/ - s.set_up(4, 0, L) - s.start() + do_sparks(4, 0, L) new/obj/effect/temp_visual/revenant(L.loc) sleep(20) if(!L.on) //wait, wait, don't shock me @@ -222,9 +220,7 @@ return M.Beam(L,icon_state="purple_lightning",icon='icons/effects/effects.dmi',time=5) M.electrocute_act(shock_damage, "[L.name]", safety=1) - var/datum/effect_system/spark_spread/z = new /datum/effect_system/spark_spread/ - z.set_up(4, 0, M) - z.start() + do_sparks(4, 0, M) playsound(M, 'sound/machines/defib_zap.ogg', 50, 1, -1) //Defile: Corrupts nearby stuff, unblesses floor tiles. diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm index 63e37911224..d2c3cc2c72e 100644 --- a/code/game/gamemodes/shadowling/shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm @@ -540,9 +540,7 @@ to_chat(S, "ERROR $!(@ ERROR )#^! SENSORY OVERLOAD \[$(!@#") S << 'sound/misc/interference.ogg' playsound(S, 'sound/machines/warning-buzzer.ogg', 50, 1) - var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread - sp.set_up(5, 1, S) - sp.start() + do_sparks(5, 1, S) S.Weaken(6) for(var/obj/structure/window/W in T.contents) W.take_damage(rand(80, 100)) diff --git a/code/game/gamemodes/wizard/godhand.dm b/code/game/gamemodes/wizard/godhand.dm index 260f809334c..c6992f99b98 100644 --- a/code/game/gamemodes/wizard/godhand.dm +++ b/code/game/gamemodes/wizard/godhand.dm @@ -48,9 +48,7 @@ if(!proximity || target == user || !ismob(target) || !iscarbon(user) || user.lying || user.handcuffed) //exploding after touching yourself would be bad return var/mob/M = target - var/datum/effect_system/spark_spread/sparks = new - sparks.set_up(4, 0, M.loc) //no idea what the 0 is - sparks.start() + do_sparks(4, 0, M.loc) //no idea what the 0 is M.gib() ..() @@ -84,9 +82,7 @@ /obj/item/melee/touch_attack/fake_disintegrate/afterattack(atom/target, mob/living/carbon/user, proximity) if(!proximity || target == user || !ismob(target) || !iscarbon(user) || user.lying || user.handcuffed) //not exploding after touching yourself would be bad return - var/datum/effect_system/spark_spread/sparks = new - sparks.set_up(4, 0, target.loc) //no idea what the 0 is - sparks.start() + do_sparks(4, 0, target.loc) playsound(target.loc, 'sound/goonstation/effects/gib.ogg', 50, 1) ..() diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 5d5e6bd9511..604ac3f02f3 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -217,9 +217,7 @@ for(var/turf/T in linkedholodeck) if(prob(30)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, T) - s.start() + do_sparks(2, 1, T) T.ex_act(3) T.hotspot_expose(1000,500,1) @@ -257,9 +255,7 @@ if(L.name=="Atmospheric Test Start") spawn(20) var/turf/T = get_turf(L) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, T) - s.start() + do_sparks(2, 1, T) if(T) T.temperature = 5000 T.hotspot_expose(50000,50000,1)*/ @@ -306,9 +302,7 @@ /* if(L.name=="Atmospheric Test Start") spawn(20) var/turf/T = get_turf(L) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, T) - s.start() + do_sparks(2, 1, T) if(T) T.temperature = 5000 T.hotspot_expose(50000,50000,1)*/ diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index bcbe7a07e5d..4fe6848fe3e 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -15,7 +15,6 @@ //Server linked to. var/obj/machinery/message_server/linkedServer = null //Sparks effect - For emag - var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread //Messages - Saves me time if I want to change something. var/noserver = "ALERT: No server detected." var/incorrectkey = "ALERT: Incorrect decryption key!" @@ -56,8 +55,7 @@ icon_screen = hack_icon // An error screen I made in the computers.dmi emag = 1 screen = 2 - spark_system.set_up(5, 0, src) - src.spark_system.start() + do_sparks(5, 0, src) var/obj/item/paper/monitorkey/MK = new/obj/item/paper/monitorkey MK.loc = src.loc playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index af63a92e2ff..b6a02aacfd0 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -149,9 +149,7 @@ playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1) return visible_message("The console sparks, and some items fall out!") - var/datum/effect_system/spark_spread/sparks = new - sparks.set_up(5, 1, src) - sparks.start() + do_sparks(5, 1, src) for(var/obj/item/I in objective_items) dispense_item(I) diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 8c47855731f..a3ad1bae19f 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -188,9 +188,7 @@ for reference: to_chat(user, "Barrier lock toggled off.") return else - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, src) - s.start() + do_sparks(2, 1, src) visible_message("BZZzZZzZZzZT") return return @@ -223,16 +221,12 @@ for reference: emagged = 1 req_access = null to_chat(user, "You break the ID authentication lock on the [src].") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, src) - s.start() + do_sparks(2, 1, src) visible_message("BZZzZZzZZzZT") else if(src.emagged == 1) src.emagged = 2 to_chat(user, "You short out the anchoring mechanism on the [src].") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, src) - s.start() + do_sparks(2, 1, src) visible_message("BZZzZZzZZzZT") ex_act(severity) @@ -275,9 +269,7 @@ for reference: /* var/obj/item/stack/rods/ =*/ new /obj/item/stack/rods(Tsec) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) explosion(src.loc,-1,-1,0) if(src) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 0fd3d27d3d4..e144c92ae46 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -627,9 +627,7 @@ About the new airlock wires panel: if(isElectrified() && density && istype(mover, /obj/item)) var/obj/item/I = mover if(I.flags & CONDUCT) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) return ..() /obj/machinery/door/airlock/attack_hand(mob/user) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 706b1a82ce0..6f838319040 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -76,8 +76,7 @@ if(autoclose_timer) deltimer(autoclose_timer) autoclose_timer = 0 - if(spark_system) - QDEL_NULL(spark_system) + QDEL_NULL(spark_system) return ..() /obj/machinery/door/Bumped(atom/AM) diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 87ec7974711..3c36edb1685 100755 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -101,9 +101,7 @@ flick("[base_state]-spark", src) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, src) - s.start() + do_sparks(2, 1, src) src.last_spark = world.time use_power(1000) var/turf/location = src.loc diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 1d33a1ae795..05eaae1a9d9 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -587,9 +587,7 @@ Class Procs: return 0 if((TK in user.mutations) && !Adjacent(user)) return 0 - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) if(electrocute_mob(user, get_area(src), src, 0.7)) if(user.stunned) return 1 diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm index b58e9d12c84..e5a43c523f5 100644 --- a/code/game/machinery/quantum_pad.dm +++ b/code/game/machinery/quantum_pad.dm @@ -94,9 +94,7 @@ doteleport(user) /obj/machinery/quantumpad/proc/sparks() - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, get_turf(src)) - s.start() + do_sparks(5, 1, get_turf(src)) /obj/machinery/quantumpad/attack_ghost(mob/dead/observer/ghost) if(linked_pad) diff --git a/code/game/objects/effects/decals/Cleanable/robots.dm b/code/game/objects/effects/decals/Cleanable/robots.dm index 16a9bf5a711..1c8ad706dc8 100644 --- a/code/game/objects/effects/decals/Cleanable/robots.dm +++ b/code/game/objects/effects/decals/Cleanable/robots.dm @@ -29,9 +29,7 @@ var/obj/effect/decal/cleanable/blood/oil/streak = new(src.loc) streak.update_icon() else if(prob(10)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) if(step_to(src, get_step(src, direction), 0)) break diff --git a/code/game/objects/effects/decals/remains.dm b/code/game/objects/effects/decals/remains.dm index b97b149991b..77a51b4d975 100644 --- a/code/game/objects/effects/decals/remains.dm +++ b/code/game/objects/effects/decals/remains.dm @@ -22,12 +22,6 @@ icon_state = "remainsrobot" anchored = TRUE -/obj/effect/decal/remains/robot/New() - ..() - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() - /obj/effect/decal/remains/slime name = "You shouldn't see this" desc = "Noooooooooooooooooooooo" diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm index d71e7631565..1231c8136fa 100644 --- a/code/game/objects/effects/effect_system/effect_system.dm +++ b/code/game/objects/effects/effect_system/effect_system.dm @@ -8,8 +8,9 @@ would spawn and follow the beaker, even if it is carried or thrown. /obj/effect/particle_effect name = "particle effect" mouse_opacity = MOUSE_OPACITY_TRANSPARENT - unacidable = 1//So effects are not targeted by alien acid. + unacidable = TRUE //So effects are not targeted by alien acid. pass_flags = PASSTABLE | PASSGRILLE + anchored = TRUE /obj/effect/particle_effect/New() ..() @@ -28,6 +29,7 @@ would spawn and follow the beaker, even if it is carried or thrown. var/atom/holder var/effect_type var/total_effects = 0 + var/autocleanup = FALSE //will delete itself after use /datum/effect_system/Destroy() holder = null @@ -71,3 +73,5 @@ would spawn and follow the beaker, even if it is carried or thrown. /datum/effect_system/proc/decrement_total_effect() total_effects-- + if(autocleanup && total_effects <= 0) + qdel(src) \ No newline at end of file diff --git a/code/game/objects/effects/effect_system/effects_other.dm b/code/game/objects/effects/effect_system/effects_other.dm index ef9ed8ac11a..194a37c860f 100644 --- a/code/game/objects/effects/effect_system/effects_other.dm +++ b/code/game/objects/effects/effect_system/effects_other.dm @@ -155,9 +155,7 @@ /datum/effect_system/reagents_explosion/start() if(amount <= 2) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, location) - s.start() + do_sparks(2, 1, location) for(var/mob/M in viewers(5, location)) to_chat(M, "The solution violently explodes.") diff --git a/code/game/objects/effects/effect_system/effects_sparks.dm b/code/game/objects/effects/effect_system/effects_sparks.dm index 77925b3170a..f59f44ca1db 100644 --- a/code/game/objects/effects/effect_system/effects_sparks.dm +++ b/code/game/objects/effects/effect_system/effects_sparks.dm @@ -5,15 +5,26 @@ // will always spawn at the items location. ///////////////////////////////////////////// +/proc/do_sparks(n, c, source) + // n - number of sparks + // c - cardinals, bool, do the sparks only move in cardinal directions? + // source - source of the sparks. + + var/datum/effect_system/spark_spread/sparks = new + sparks.set_up(n, c, source) + sparks.autocleanup = TRUE + sparks.start() + /obj/effect/particle_effect/sparks name = "sparks" desc = "it's a spark what do you need to know?" icon_state = "sparks" - anchored = 1 + anchored = TRUE var/hotspottemp = 1000 /obj/effect/particle_effect/sparks/New() ..() + flick("sparks", src) // replay the animation playsound(loc, "sparks", 100, 1) var/turf/T = loc if(isturf(T)) diff --git a/code/game/objects/effects/gibs.dm b/code/game/objects/effects/gibs.dm index 3cffb3f7eaf..3b08c44114b 100644 --- a/code/game/objects/effects/gibs.dm +++ b/code/game/objects/effects/gibs.dm @@ -30,9 +30,7 @@ var/obj/effect/decal/cleanable/blood/gibs/gib = null if(sparks) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, location) - s.start() + do_sparks(2, 1, location) for(var/i = 1, i<= gibtypes.len, i++) if(gibamounts[i]) diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 8323641c899..1b619faa41b 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -25,9 +25,7 @@ if(triggered) return visible_message("[victim] sets off [bicon(src)] [src]!") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) mineEffect(victim) triggered = 1 qdel(src) diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index e190988392d..793d7265c27 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -57,9 +57,7 @@ /obj/effect/portal/proc/invalid_teleport() visible_message("[src] flickers and fails due to bluespace interference!") - var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread() - spark_system.set_up(5, 0, loc) - spark_system.start() + do_sparks(5, 0, loc) qdel(src) diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index b587c650c4c..7a25f4ece1b 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -67,10 +67,7 @@ /obj/item/chameleon/proc/disrupt(var/delete_dummy = 1) if(active_dummy) - var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread - spark_system.set_up(5, 0, src) - spark_system.attach(src) - spark_system.start() + do_sparks(5, 0, src) eject_all() if(delete_dummy) qdel(active_dummy) diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 9aa30053983..71fc397a2c4 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -87,9 +87,7 @@ if(M) M.moved_recently = 0 to_chat(M, "You feel a sharp shock!") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, M) - s.start() + do_sparks(3, 1, M) M.Weaken(5) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index c1b88897bfd..e672ff14b10 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -250,9 +250,7 @@ /obj/item/toy/snappop/virus/throw_impact(atom/hit_atom) ..() - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) new /obj/effect/decal/cleanable/ash(src.loc) visible_message("The [name] explodes!","You hear a bang!") playsound(src, 'sound/effects/snap.ogg', 50, 1) @@ -270,9 +268,7 @@ var/ash_type = /obj/effect/decal/cleanable/ash /obj/item/toy/snappop/proc/pop_burst(var/n=3, var/c=1) - var/datum/effect_system/spark_spread/s = new() - s.set_up(n, c, src) - s.start() + do_sparks(n, c, src) new ash_type(loc) visible_message("[src] explodes!", "You hear a snap!") diff --git a/code/game/objects/items/weapons/fireworks.dm b/code/game/objects/items/weapons/fireworks.dm index 138cb24ff40..d2e523cf953 100644 --- a/code/game/objects/items/weapons/fireworks.dm +++ b/code/game/objects/items/weapons/fireworks.dm @@ -25,7 +25,7 @@ obj/item/sparkler icon = 'icons/obj/fireworks.dmi' icon_state = "sparkler_0" var/litzor = 0 - var/datum/effect_system/spark_spread/S + obj/item/sparkler/attackby(obj/item/W,mob/user, params) if(litzor) return @@ -36,11 +36,7 @@ obj/item/sparkler/attackby(obj/item/W,mob/user, params) icon_state = "sparkler_1" var/b = rand(5,9) for(var/xy, xy<=b, xy++) - S = new() - S.set_up(1,0,src.loc) - if(ismob(src.loc) || isobj(src.loc)) - S.attach(src.loc) - S.start() + do_sparks(1, 0, loc) sleep(10) qdel(src) /obj/crate/fireworks diff --git a/code/game/objects/items/weapons/legcuffs.dm b/code/game/objects/items/weapons/legcuffs.dm index c705374f7a9..3391687f20a 100644 --- a/code/game/objects/items/weapons/legcuffs.dm +++ b/code/game/objects/items/weapons/legcuffs.dm @@ -136,9 +136,7 @@ /obj/item/restraints/legcuffs/beartrap/energy/proc/dissipate() if(!ismob(loc)) - var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread - sparks.set_up(1, 1, src) - sparks.start() + do_sparks(1, 1, src) qdel(src) /obj/item/restraints/legcuffs/beartrap/energy/attack_hand(mob/user) diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 2dcbef5b1a5..8ad283a77da 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -215,16 +215,8 @@ throw_speed = 3 throw_range = 1 w_class = WEIGHT_CLASS_BULKY //So you can't hide it in your pocket or some such. - var/datum/effect_system/spark_spread/spark_system sharp = 1 -//Most of the other special functions are handled in their own files. aka special snowflake code so kewl -/obj/item/melee/energy/blade/New() - ..() - spark_system = new /datum/effect_system/spark_spread() - spark_system.set_up(5, 0, src) - spark_system.attach(src) - /obj/item/melee/energy/blade/attack_self(mob/user) return diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index bb78ba208ec..8f054278259 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -74,9 +74,7 @@ overlays += image('icons/obj/storage.dmi', icon_locking) locked = 0 if(istype(weapon, /obj/item/melee/energy/blade)) - var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread() - spark_system.set_up(5, 0, src.loc) - spark_system.start() + do_sparks(5, 0, src.loc) playsound(loc, 'sound/weapons/blade1.ogg', 50, 1) playsound(loc, "sparks", 50, 1) to_chat(user, "You slice through the lock on [src].") diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 9b50956f1af..9418df86368 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -614,9 +614,7 @@ origin_tech = "combat=4;powerstorage=7" /obj/item/twohanded/mjollnir/proc/shock(mob/living/target) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread() - s.set_up(5, 1, target.loc) - s.start() + do_sparks(5, 1, target.loc) target.visible_message("[target.name] was shocked by the [name]!", \ "You feel a powerful shock course through your body sending you flying!", \ "You hear a heavy electrical crack!") @@ -739,9 +737,7 @@ Z.take_organ_damage(0, 30) user.visible_message("[user] slams the charged axe into [Z.name] with all [user.p_their()] might!") playsound(loc, 'sound/magic/lightningbolt.ogg', 5, 1) - var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread - sparks.set_up(1, 1, src) - sparks.start() + do_sparks(1, 1, src) if(A && wielded && (istype(A, /obj/structure/window) || istype(A, /obj/structure/grille))) if(istype(A, /obj/structure/window)) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 2f681c79d76..8e328c9400e 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -206,9 +206,7 @@ if(!(E.rcell && E.rcell.use(E.chargecost))) to_chat(user, "Unable to teleport, insufficient charge.") return - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) do_teleport(src, E.pad, 0) to_chat(user, "Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.") return @@ -233,9 +231,7 @@ if(!(E.rcell && E.rcell.use(E.chargecost))) to_chat(user, "Unable to teleport, insufficient charge.") return - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) do_teleport(src, L) to_chat(user, "Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.") return diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 648f3c95622..87cae2fb993 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -38,15 +38,13 @@ if(isliving(usr)) var/mob/living/L = usr if(L.electrocute_act(17, src)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) return 2 playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3) for(var/obj/O in src) //Objects - O.forceMove(loc) - for(var/mob/M in src) //Mobs + O.forceMove(loc) + for(var/mob/M in src) //Mobs M.forceMove(loc) icon_state = icon_opened src.opened = 1 @@ -115,9 +113,7 @@ if(!(E.rcell && E.rcell.use(E.chargecost))) to_chat(user, "Unable to teleport, insufficient charge.") return - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) do_teleport(src, E.pad, 0) to_chat(user, "Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.") return @@ -139,9 +135,7 @@ if(!(E.rcell && E.rcell.use(E.chargecost))) to_chat(user, "Unable to teleport, insufficient charge.") return - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) do_teleport(src, L) to_chat(user, "Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.") return @@ -217,9 +211,7 @@ if(isliving(user)) var/mob/living/L = user if(L.electrocute_act(17, src)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) return src.add_fingerprint(user) src.toggle(user) diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm index 348c6fde265..dcbc7c017bb 100644 --- a/code/game/objects/structures/electricchair.dm +++ b/code/game/objects/structures/electricchair.dm @@ -69,9 +69,7 @@ A.updateicon() flick("echair_shock", src) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(12, 1, src) - s.start() + do_sparks(12, 1, src) visible_message("The electric chair went off!", "You hear a deep sharp shock!") if(buckled_mob) buckled_mob.electrocute_act(110, src, 1) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 6b8f5544428..22b796c4c20 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -254,9 +254,7 @@ var/obj/structure/cable/C = T.get_cable_node() if(C) if(electrocute_mob(user, C, src)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) return 1 else return 0 diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index ecf8c336118..80a62f9c818 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -52,9 +52,7 @@ if(!borg_to_spawn) //If there's no type at all, let it still be used but don't do anything used = FALSE return - var/datum/effect_system/spark_spread/S = new /datum/effect_system/spark_spread - S.set_up(4, 1, src) - S.start() + do_sparks(4, 1, src) var/mob/living/silicon/robot/R switch(borg_to_spawn) if("Medical") diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index 73509693012..91c09d15f30 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -155,10 +155,8 @@ call(src,triggerproc)(M) /obj/effect/meatgrinder/proc/triggerrad1(mob) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread for(var/mob/O in viewers(world.view, src.loc)) - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) explosion(mob, 1, 0, 0, 0) qdel(src) diff --git a/code/modules/awaymissions/trigger.dm b/code/modules/awaymissions/trigger.dm index 0ac6e656206..60a43702cb1 100644 --- a/code/modules/awaymissions/trigger.dm +++ b/code/modules/awaymissions/trigger.dm @@ -22,13 +22,9 @@ M.Move(dest) if(entersparks) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(4, 1, src) - s.start() + do_sparks(4, 1, src) if(exitsparks) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(4, 1, dest) - s.start() + do_sparks(4, 1, dest) if(entersmoke) var/datum/effect_system/smoke_spread/s = new diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 40c29c1d991..5e1beb969ef 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -92,9 +92,7 @@ if(H.a_intent == INTENT_HARM) var/mob/living/carbon/C = A if(cell.use(stun_cost)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 0, loc) - s.start() + do_sparks(5, 0, loc) playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1) H.do_attack_animation(C) visible_message("[C] has been touched with [src] by [H]!") diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index fba251f71f8..c10ccf32f89 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -170,9 +170,7 @@ var/mob/M = can_shock(loc) if(M) to_chat(M, "You feel a sharp shock!") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, M) - s.start() + do_sparks(3, 1, M) M.Weaken(5) M.Stuttering(1) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 2ba550d8a81..dea27a5b946 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -591,9 +591,7 @@ /obj/item/clothing/suit/space/hardsuit/shielded/hit_reaction(mob/living/carbon/human/owner, attack_text) if(current_charges > 0) - var/datum/effect_system/spark_spread/s = new - s.set_up(2, 1, src) - s.start() + do_sparks(2, 1, src) owner.visible_message("[owner]'s shields deflect [attack_text] in a shower of sparks!") current_charges-- recharge_cooldown = world.time + recharge_delay diff --git a/code/modules/events/rogue_drones.dm b/code/modules/events/rogue_drones.dm index c4f1f8ac40a..2b61744658e 100644 --- a/code/modules/events/rogue_drones.dm +++ b/code/modules/events/rogue_drones.dm @@ -38,9 +38,7 @@ /datum/event/rogue_drone/end() var/num_recovered = 0 for(var/mob/living/simple_animal/hostile/retaliate/malf_drone/D in drones_list) - var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread() - sparks.set_up(3, 0, D.loc) - sparks.start() + do_sparks(3, 0, D.loc) D.z = level_name_to_num(CENTCOMM) D.has_loot = 0 diff --git a/code/modules/fish/fishtank.dm b/code/modules/fish/fishtank.dm index 412c5407ddc..f0451d25817 100644 --- a/code/modules/fish/fishtank.dm +++ b/code/modules/fish/fishtank.dm @@ -492,9 +492,7 @@ if(water_level && prob(45)) //If there is water, there is a chance the cat will slip, Syndicat will spark like E-N when this happens M.visible_message("[M.name] slipped and got soaked!", "You slipped and got soaked!") if(istype(M, /mob/living/simple_animal/pet/cat/Syndi)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) else //No water or didn't slip, get that fish! M.visible_message("[M.name] catches and devours a live fish!", "You catch and devour a live fish, yum!") kill_fish() //Kill a random fish diff --git a/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm b/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm index 9de98749e42..f36f6400f27 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm @@ -392,9 +392,7 @@ updateUsrDialog() /obj/machinery/kitchen_machine/proc/broke() - var/datum/effect_system/spark_spread/s = new - s.set_up(2, 1, src) - s.start() + do_sparks(2, 1, src) icon_state = broken_icon // Make it look all busted up and shit visible_message("The [src] breaks!") //Let them know they're stupid broken = 2 // Make it broken so it can't be used util fixed diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index 61e1f2efeed..6b62f07c103 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -352,9 +352,7 @@ updateUsrDialog() /obj/machinery/mineral/ore_redemption/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() + do_sparks(5, 1, src) if(severity == 1) if(prob(50)) qdel(src) @@ -564,9 +562,7 @@ qdel(voucher) /obj/machinery/mineral/equipment_vendor/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() + do_sparks(5, 1, src) if(prob(50 / severity) && severity < 3) qdel(src) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 3f138d112ff..1f405b91464 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -42,9 +42,7 @@ hgibs(loc, dna) else new /obj/effect/decal/cleanable/blood/gibs/robot(loc) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) QDEL_IN(animation, 15) QDEL_IN(src, 0) return TRUE diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index 2c03e66bf8a..55228c51a51 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -107,12 +107,7 @@ custom_emote(1, "drops what [p_they()] [p_were()] holding, [p_their()] [E.name] malfunctioning!") - var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread() - spark_system.set_up(5, 0, src) - spark_system.attach(src) - spark_system.start() - spawn(10) - qdel(spark_system) + do_sparks(5, 0, src) /mob/living/carbon/human/proc/becomeSlim() to_chat(src, "You feel fit again!") diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 11df45462c4..a1d0630e586 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -709,14 +709,10 @@ adjustToxLoss(0.1) else //stuff only for synthetics if(alcohol_strength >= spark_start && prob(25)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) if(alcohol_strength >= collapse_start && prob(10)) emote("collapse") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) if(alcohol_strength >= braindamage_start && prob(10)) adjustBrainLoss(1) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index ed6ef267fb0..bc4eeb804b9 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -286,9 +286,7 @@ visible_message("The [M.name] has shocked [src]!", \ "The [M.name] has shocked [src]!") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) return 1 add_attack_logs(src, M, "Slime'd") return diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index d2e065d3b8d..2f4056f6149 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -275,6 +275,7 @@ var/list/robot_verbs_default = list( QDEL_NULL(camera) QDEL_NULL(cell) QDEL_NULL(robot_suit) + QDEL_NULL(spark_system) return ..() /mob/living/silicon/robot/proc/pick_module() diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 8414f928544..dbec1d42bbe 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -373,17 +373,13 @@ to_chat(user, "The welder must be on for this task!") else if(W.force) //if force is non-zero - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) ..() /mob/living/simple_animal/bot/bullet_act(obj/item/projectile/Proj) if(Proj && (Proj.damage_type == BRUTE || Proj.damage_type == BURN)) if(prob(75) && Proj.damage > 0) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) return ..() /mob/living/simple_animal/bot/emp_act(severity) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 5a0a04d0189..b6cca5940e3 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -187,9 +187,7 @@ if(prob(50)) new /obj/item/robot_parts/l_arm(Tsec) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) ..() /obj/machinery/bot_core/cleanbot diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 6895dc21cbc..5969d7a6d40 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -406,9 +406,7 @@ if(lasercolor == "r") new /obj/item/clothing/suit/redtag(Tsec) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) new /obj/effect/decal/cleanable/blood/oil(loc) ..() diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index b1133cb0e08..68e64ee65ed 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -407,9 +407,7 @@ T.amount = amount amount = 0 - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) ..() /obj/machinery/bot_core/floorbot diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 52de4660908..3ed09c39a99 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -595,9 +595,7 @@ if(emagged && prob(25)) playsound(loc, 'sound/voice/minsult.ogg', 50, 0) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) ..() /mob/living/simple_animal/bot/medbot/proc/declare(crit_patient) diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index a65e0198539..103e443d7e7 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -847,9 +847,7 @@ cell.update_icon() cell = null - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) new /obj/effect/decal/cleanable/blood/oil(loc) ..() diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 451f21ce09a..3069499b3f0 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -439,9 +439,7 @@ Auto Patrol: []"}, if(prob(50)) new /obj/item/robot_parts/l_arm(Tsec) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) new /obj/effect/decal/cleanable/blood/oil(loc) ..() diff --git a/code/modules/mob/living/simple_animal/bot/syndicate.dm b/code/modules/mob/living/simple_animal/bot/syndicate.dm index 3ca3c6d1f2b..d1e42598ff4 100644 --- a/code/modules/mob/living/simple_animal/bot/syndicate.dm +++ b/code/modules/mob/living/simple_animal/bot/syndicate.dm @@ -165,9 +165,7 @@ depotarea.list_remove(src, depotarea.guard_list) walk_to(src,0) visible_message("[src] blows apart!") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) new /obj/effect/decal/cleanable/blood/oil(loc) var/obj/effect/decal/mecha_wreckage/gygax/dark/wreck = new /obj/effect/decal/mecha_wreckage/gygax/dark(loc) wreck.name = "sentry bot wreckage" diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 77d930b6b69..e26a004e2c3 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -613,15 +613,11 @@ //spark for no reason if(prob(5)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) /mob/living/simple_animal/pet/corgi/Ian/borgi/death(gibbed) // Only execute the below if we successfully died . = ..(gibbed) if(!.) return FALSE - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index e08e7e11502..051f2209729 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -52,9 +52,7 @@ . = ..(gibbed) if(!.) return FALSE - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) /mob/living/simple_animal/hostile/hivebot/tele//this still needs work name = "Beacon" diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm index 90586bb43c6..709a238346a 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm @@ -80,16 +80,12 @@ //repair a bit of damage if(prob(1)) src.visible_message("[bicon(src)] [src] shudders and shakes as some of it's damaged systems come back online.") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) health += rand(25,100) //spark for no reason if(prob(5)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) //sometimes our targetting sensors malfunction, and we attack anyone nearby if(prob(disabled ? 0 : 1)) @@ -129,9 +125,7 @@ src.visible_message("[bicon(src)] [src] begins to spark and shake violenty!") else src.visible_message("[bicon(src)] [src] sparks and shakes like it's about to explode!") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) if(!exploding && !disabled && prob(explode_chance)) exploding = 1 @@ -154,9 +148,7 @@ /mob/living/simple_animal/hostile/retaliate/malf_drone/Destroy() //Seriously, what the actual hell. //some random debris left behind if(has_loot) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) var/obj/O //shards diff --git a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm index aadf49ad9c0..22df710c6f8 100644 --- a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm +++ b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm @@ -27,16 +27,12 @@ if(battery_module && prob(25)) qdel(battery_module) computer.visible_message("\The [computer]'s battery explodes in rain of sparks.") - var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread() - spark_system.set_up(5, 0, computer.loc) - spark_system.start() + do_sparks(5, 0, computer.loc) if(recharger && prob(50)) qdel(recharger) computer.visible_message("\The [computer]'s recharger explodes in rain of sparks.") - var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread() - spark_system.set_up(5, 0, computer.loc) - spark_system.start() + do_sparks(5, 0, computer.loc) /datum/computer_file/program/revelation/Topic(href, list/href_list) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 5f7ddcc035c..dbf30cd59b0 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -536,9 +536,7 @@ var/turf/T = get_turf(src) var/obj/structure/cable/N = T.get_cable_node() if(prob(50) && electrocute_mob(usr, N, N)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) return C.use(10) user.visible_message(\ @@ -555,9 +553,7 @@ if(do_after(user, 50 * W.toolspeed, target = src)) if(terminal && opened && has_electronics!=2) if(prob(50) && electrocute_mob(usr, terminal.powernet, terminal)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) return new /obj/item/stack/cable_coil(loc,10) to_chat(user, "You cut the cables and dismantle the power terminal.") @@ -1076,9 +1072,7 @@ smoke.set_up(3, 0, src.loc) smoke.attach(src) smoke.start() - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) for(var/mob/M in viewers(src)) M.show_message("The [src.name] suddenly lets out a blast of smoke and some sparks!", 3, "You hear sizzling electronics.", 2) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 5860bcd1e3a..048cbf65500 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -195,9 +195,7 @@ By design, d1 is the smallest direction and d2 is the highest if(!prob(prb)) return 0 if(electrocute_mob(user, powernet, src, siemens_coeff)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) return 1 else return 0 diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index d978e39a7f0..fcb0b12f0d3 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -386,9 +386,7 @@ to_chat(user, "You stick \the [W] into the light socket!") if(has_power() && (W.flags & CONDUCT)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) if(prob(75)) electrocute_mob(user, get_area(src), src, rand(0.7,1.0)) @@ -540,9 +538,7 @@ if(status == LIGHT_OK || status == LIGHT_BURNED) playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1) if(on || overloaded) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) status = LIGHT_BROKEN update() diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index 0e9bdd8ddf3..a0e84f8455a 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -99,9 +99,7 @@ if(hasShocked) return 0 hasShocked = 1 - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, AM.loc) - s.start() + do_sparks(5, 1, AM.loc) var/atom/target = get_edge_target_turf(AM, get_dir(src, get_step_away(AM, src))) AM.throw_at(target, 200, 4) spawn(5) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 0bcde54af4b..ca0c4cb749a 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -24,6 +24,7 @@ var/frequency = 0 var/id_tag = null var/datum/radio_frequency/radio_connection + var/datum/effect_system/spark_spread/sparks /obj/machinery/power/emitter/New() ..() @@ -32,6 +33,8 @@ component_parts += new /obj/item/stock_parts/micro_laser(null) component_parts += new /obj/item/stock_parts/manipulator(null) RefreshParts() + sparks = new + sparks.set_up(5, 1, src) /obj/machinery/power/emitter/RefreshParts() var/max_firedelay = 120 @@ -124,6 +127,7 @@ msg_admin_attack("Emitter deleted at ([x],[y],[z] - [ADMIN_JMP(src)])", ATKLOG_FEW) log_game("Emitter deleted at ([x],[y],[z])") investigate_log("deleted at ([x],[y],[z])","singulo") + QDEL_NULL(sparks) return ..() /obj/machinery/power/emitter/update_icon() @@ -206,9 +210,7 @@ A.dir = src.dir playsound(get_turf(src), 'sound/weapons/emitter.ogg', 25, 1) if(prob(35)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + sparks.start() switch(dir) if(NORTH) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index e5a669ef860..6d5d0226e69 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -184,9 +184,7 @@ if(do_after(user, 50 * I.toolspeed, target = src)) if(prob(50) && electrocute_mob(usr, terminal.powernet, terminal)) //animate the electrocution if uncautious and unlucky - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) return //give the wires back and delete the terminal @@ -323,9 +321,7 @@ var/turf/T = get_turf(user) var/obj/structure/cable/N = T.get_cable_node() //get the connecting node cable, if there's one if(prob(50) && electrocute_mob(user, N, N)) //animate the electrocution if uncautious and unlucky - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) return user.visible_message(\ @@ -446,9 +442,7 @@ qdel(src) return if(prob(15)) //Power drain - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) if(prob(50)) emp_act(1) else diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 6c19971a996..cd73c90d1cf 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -96,9 +96,7 @@ ..() /obj/item/projectile/bullet/pellet/weak/on_range() - var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread - sparks.set_up(1, 1, src) - sparks.start() + do_sparks(1, 1, src) ..() /obj/item/projectile/bullet/pellet/overload @@ -114,9 +112,7 @@ /obj/item/projectile/bullet/pellet/overload/on_range() explosion(src, 0, 0, 2) - var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread - sparks.set_up(3, 3, src) - sparks.start() + do_sparks(3, 3, src) ..() /obj/item/projectile/bullet/midbullet diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 10786ec4b82..5da56d179bd 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -22,9 +22,7 @@ /obj/item/projectile/energy/electrode/on_hit(var/atom/target, var/blocked = 0) . = ..() if(!ismob(target) || blocked >= 100) //Fully blocked by mob or collided with dense object - burst into sparks! - var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread - sparks.set_up(1, 1, src) - sparks.start() + do_sparks(1, 1, src) else if(iscarbon(target)) var/mob/living/carbon/C = target if(HULK in C.mutations) @@ -34,9 +32,7 @@ C.do_jitter_animation(jitter) /obj/item/projectile/energy/electrode/on_range() //to ensure the bolt sparks when it reaches the end of its range if it didn't hit a target yet - var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread - sparks.set_up(1, 1, src) - sparks.start() + do_sparks(1, 1, src) ..() /obj/item/projectile/energy/declone diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index ef8a36f7f86..85eb3b25c9f 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -193,9 +193,7 @@ icon_state = "snappop" /obj/item/projectile/clown/Bump(atom/A as mob|obj|turf|area) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() + do_sparks(3, 1, src) new /obj/effect/decal/cleanable/ash(loc) visible_message("The [name] explodes!","You hear a snap!") playsound(src, 'sound/effects/snap.ogg', 50, 1) diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index a5d37cb8b60..b08e96a8d9e 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -157,9 +157,7 @@ /datum/chemical_reaction/blackpowder_explosion/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, location) - s.start() + do_sparks(2, 1, location) sleep(rand(20,30)) blackpowder_detonate(holder, created_volume) @@ -186,9 +184,7 @@ datum/chemical_reaction/flash_powder if(holder.has_reagent("stabilizing_agent")) return var/location = get_turf(holder.my_atom) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, location) - s.start() + do_sparks(2, 1, location) for(var/mob/living/carbon/C in viewers(5, location)) if(C.flash_eyes()) if(get_dist(C, location) < 4) @@ -206,9 +202,7 @@ datum/chemical_reaction/flash_powder /datum/chemical_reaction/flash_powder_flash/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(2, 1, location) - s.start() + do_sparks(2, 1, location) for(var/mob/living/carbon/C in viewers(5, location)) if(C.flash_eyes()) if(get_dist(C, location) < 4) diff --git a/code/modules/reagents/chemistry/recipes/toxins.dm b/code/modules/reagents/chemistry/recipes/toxins.dm index 462402c4317..0697ccd50d4 100644 --- a/code/modules/reagents/chemistry/recipes/toxins.dm +++ b/code/modules/reagents/chemistry/recipes/toxins.dm @@ -144,9 +144,7 @@ /datum/chemical_reaction/teslium/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(6, 1, location) - s.start() + do_sparks(6, 1, location) /datum/chemical_reaction/mutagen name = "Unstable mutagen" diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index e83dc1abc44..2616c6c6c7e 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -284,9 +284,7 @@ var/mob/living/carbon/human/H = user if(H.get_int_organ(/obj/item/organ/internal/cell)) if(A.emagged || A.stat & BROKEN) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, A) - s.start() + do_sparks(3, 1, A) to_chat(H, "The APC power currents surge erratically, damaging your chassis!") H.adjustFireLoss(10,0) else if(A.cell && A.cell.charge > 0) @@ -326,11 +324,11 @@ /obj/item/organ/internal/cyberimp/arm/telebaton name = "telebaton implant" desc = "Telescopic baton implant. Does what it says on the tin" // A better description - + contents = newlist(/obj/item/melee/classic_baton) /obj/item/organ/internal/cyberimp/arm/advmop name = "advanced mop implant" desc = "Advanced mop implant. Does what it says on the tin" // A better description - + contents = newlist(/obj/item/mop/advanced) \ No newline at end of file diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index f352f9f48a2..74d498704aa 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -729,12 +729,7 @@ Note that amputating the affected organ does in fact remove the infection from t "Your [src.name] explodes!",\ "You hear an explosion!") explosion(get_turf(owner),-1,-1,2,3) - var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread() - spark_system.set_up(5, 0, victim) - spark_system.attach(owner) - spark_system.start() - spawn(10) - qdel(spark_system) + do_sparks(5, 0, victim) qdel(src) /obj/item/organ/external/proc/disfigure() diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm index 73da331e342..2f3667a645f 100644 --- a/code/modules/telesci/telepad.dm +++ b/code/modules/telesci/telepad.dm @@ -155,8 +155,6 @@ /obj/item/rcs/emag_act(user as mob) if(!emagged) emagged = 1 - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + do_sparks(5, 1, src) to_chat(user, " You emag the RCS. Activate it to toggle between modes.") return diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm index 2e3cd109062..f458d6e7152 100644 --- a/code/modules/telesci/telesci_computer.dm +++ b/code/modules/telesci/telesci_computer.dm @@ -145,9 +145,7 @@ /obj/machinery/computer/telescience/proc/sparks() if(telepad) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, get_turf(telepad)) - s.start() + do_sparks(5, 1, get_turf(telepad)) else return @@ -203,9 +201,7 @@ // use a lot of power use_power(power * 10) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, get_turf(telepad)) - s.start() + do_sparks(5, 1, get_turf(telepad)) temp_msg = "Teleport successful.
" if(teles_left < 10) @@ -214,9 +210,7 @@ temp_msg += "Data printed below." var/sparks = get_turf(target) - var/datum/effect_system/spark_spread/y = new /datum/effect_system/spark_spread - y.set_up(5, 1, sparks) - y.start() + do_sparks(5, 1, sparks) var/turf/source = target var/turf/dest = get_turf(telepad) From 73200c942df52211f5a65a7e9a14c199e0a25dff Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Thu, 18 Oct 2018 19:50:24 -0400 Subject: [PATCH 2/2] tweak --- code/game/machinery/computer/message.dm | 1 - code/game/objects/items/weapons/storage/secure.dm | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 4fe6848fe3e..87d35c2d7b4 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -14,7 +14,6 @@ circuit = /obj/item/circuitboard/message_monitor //Server linked to. var/obj/machinery/message_server/linkedServer = null - //Sparks effect - For emag //Messages - Saves me time if I want to change something. var/noserver = "ALERT: No server detected." var/incorrectkey = "ALERT: Incorrect decryption key!" diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index 8f054278259..0a256136d2e 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -74,7 +74,7 @@ overlays += image('icons/obj/storage.dmi', icon_locking) locked = 0 if(istype(weapon, /obj/item/melee/energy/blade)) - do_sparks(5, 0, src.loc) + do_sparks(5, 0, loc) playsound(loc, 'sound/weapons/blade1.ogg', 50, 1) playsound(loc, "sparks", 50, 1) to_chat(user, "You slice through the lock on [src].")