Merge pull request #9888 from Fox-McCloud/spark-refactor

Refactors Spark Spread Activation
This commit is contained in:
Mark Mak
2018-10-19 08:41:03 +08:00
committed by GitHub
77 changed files with 135 additions and 348 deletions
+4 -6
View File
@@ -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)
@@ -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("<span class='danger'>[user]'s [src] break in a discharge of energy!</span>", \
"<span class='userdanger'>[user]'s [src] break in a discharge of energy!</span>")
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)
@@ -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)
..()
@@ -209,9 +209,7 @@
if(!L.on)
return
L.visible_message("<span class='warning'><b>\The [L] suddenly flares brightly and begins to spark!</span>")
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.
@@ -540,9 +540,7 @@
to_chat(S, "<span class='warning'><b>ERROR $!(@ ERROR )#^! SENSORY OVERLOAD \[$(!@#</b></span>")
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))
+2 -6
View File
@@ -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)
..()
@@ -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)*/
+1 -4
View File
@@ -14,8 +14,6 @@
circuit = /obj/item/circuitboard/message_monitor
//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 = "<span class='alert'>ALERT: No server detected.</span>"
var/incorrectkey = "<span class='warning'>ALERT: Incorrect decryption key!</span>"
@@ -56,8 +54,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)
+1 -3
View File
@@ -149,9 +149,7 @@
playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1)
return
visible_message("<span class='warning'>The console sparks, and some items fall out!</span>")
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)
+4 -12
View File
@@ -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("<span class='warning'>BZZzZZzZZzZT</span>")
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("<span class='warning'>BZZzZZzZZzZT</span>")
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("<span class='warning'>BZZzZZzZZzZT</span>")
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)
+1 -3
View File
@@ -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)
+1 -2
View File
@@ -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)
+1 -3
View File
@@ -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
+1 -3
View File
@@ -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
+1 -3
View File
@@ -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)
@@ -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
@@ -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"
@@ -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)
@@ -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, "<span class='warning'>The solution violently explodes.</span>")
@@ -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))
+1 -3
View File
@@ -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])
+1 -3
View File
@@ -25,9 +25,7 @@
if(triggered)
return
visible_message("<span class='danger'>[victim] sets off [bicon(src)] [src]!</span>")
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)
+1 -3
View File
@@ -57,9 +57,7 @@
/obj/effect/portal/proc/invalid_teleport()
visible_message("<span class='warning'>[src] flickers and fails due to bluespace interference!</span>")
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)
@@ -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)
@@ -87,9 +87,7 @@
if(M)
M.moved_recently = 0
to_chat(M, "<span class='danger'>You feel a sharp shock!</span>")
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)
+2 -6
View File
@@ -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("<span class='warning'>The [name] explodes!</span>","<span class='warning'>You hear a bang!</span>")
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("<span class='warning'>[src] explodes!</span>",
"<span class='italics'>You hear a snap!</span>")
+2 -6
View File
@@ -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
+1 -3
View File
@@ -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)
@@ -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
@@ -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, loc)
playsound(loc, 'sound/weapons/blade1.ogg', 50, 1)
playsound(loc, "sparks", 50, 1)
to_chat(user, "You slice through the lock on [src].")
+2 -6
View File
@@ -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("<span class='danger'>[target.name] was shocked by the [name]!</span>", \
"<span class='userdanger'>You feel a powerful shock course through your body sending you flying!</span>", \
"<span class='italics'>You hear a heavy electrical crack!</span>")
@@ -739,9 +737,7 @@
Z.take_organ_damage(0, 30)
user.visible_message("<span class='danger'>[user] slams the charged axe into [Z.name] with all [user.p_their()] might!</span>")
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))
@@ -206,9 +206,7 @@
if(!(E.rcell && E.rcell.use(E.chargecost)))
to_chat(user, "<span class='notice'>Unable to teleport, insufficient charge.</span>")
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, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
return
@@ -233,9 +231,7 @@
if(!(E.rcell && E.rcell.use(E.chargecost)))
to_chat(user, "<span class='notice'>Unable to teleport, insufficient charge.</span>")
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, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
return
@@ -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, "<span class='notice'>Unable to teleport, insufficient charge.</span>")
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, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
return
@@ -139,9 +135,7 @@
if(!(E.rcell && E.rcell.use(E.chargecost)))
to_chat(user, "<span class='notice'>Unable to teleport, insufficient charge.</span>")
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, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
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)
@@ -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("<span class='danger'>The electric chair went off!</span>", "<span class='danger'>You hear a deep sharp shock!</span>")
if(buckled_mob)
buckled_mob.electrocute_act(110, src, 1)
+1 -3
View File
@@ -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
@@ -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")
@@ -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)
+2 -6
View File
@@ -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
@@ -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("<span class='danger'>[C] has been touched with [src] by [H]!</span>")
+1 -3
View File
@@ -170,9 +170,7 @@
var/mob/M = can_shock(loc)
if(M)
to_chat(M, "<span class='danger'>You feel a sharp shock!</span>")
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)
+1 -3
View File
@@ -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("<span class='danger'>[owner]'s shields deflect [attack_text] in a shower of sparks!</span>")
current_charges--
recharge_cooldown = world.time + recharge_delay
+1 -3
View File
@@ -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
+1 -3
View File
@@ -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
@@ -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("<span class='alert'>The [src] breaks!</span>") //Let them know they're stupid
broken = 2 // Make it broken so it can't be used util fixed
+2 -6
View File
@@ -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)
@@ -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
@@ -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, "<span class='notice'>You feel fit again!</span>")
+2 -6
View File
@@ -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)
+1 -3
View File
@@ -286,9 +286,7 @@
visible_message("<span class='danger'>The [M.name] has shocked [src]!</span>", \
"<span class='userdanger'>The [M.name] has shocked [src]!</span>")
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
@@ -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()
@@ -373,17 +373,13 @@
to_chat(user, "<span class='warning'>The welder must be on for this task!</span>")
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)
@@ -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
@@ -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)
..()
@@ -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
@@ -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)
@@ -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)
..()
@@ -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)
..()
@@ -165,9 +165,7 @@
depotarea.list_remove(src, depotarea.guard_list)
walk_to(src,0)
visible_message("<span class='userdanger'>[src] blows apart!</span>")
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"
@@ -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)
@@ -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"
@@ -80,16 +80,12 @@
//repair a bit of damage
if(prob(1))
src.visible_message("<span class='warning'>[bicon(src)] [src] shudders and shakes as some of it's damaged systems come back online.</span>")
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("<span class='warning'>[bicon(src)] [src] begins to spark and shake violenty!</span>")
else
src.visible_message("<span class='warning'>[bicon(src)] [src] sparks and shakes like it's about to explode!</span>")
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
@@ -27,16 +27,12 @@
if(battery_module && prob(25))
qdel(battery_module)
computer.visible_message("<span class='notice'>\The [computer]'s battery explodes in rain of sparks.</span>")
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("<span class='notice'>\The [computer]'s recharger explodes in rain of sparks.</span>")
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)
+3 -9
View File
@@ -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, "<span class='notice'>You cut the cables and dismantle the power terminal.</span>")
@@ -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("<span class='danger'>The [src.name] suddenly lets out a blast of smoke and some sparks!", 3, "<span class='danger'>You hear sizzling electronics.</span>", 2)
+1 -3
View File
@@ -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
+2 -6
View File
@@ -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()
@@ -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)
+5 -3
View File
@@ -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("<font color='red'>deleted</font> 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)
+3 -9
View File
@@ -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
@@ -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
@@ -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
@@ -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("<span class='warning'>The [name] explodes!</span>","<span class='warning'>You hear a snap!</span>")
playsound(src, 'sound/effects/snap.ogg', 50, 1)
@@ -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)
@@ -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"
+3 -5
View File
@@ -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, "<span class='warning'>The APC power currents surge erratically, damaging your chassis!</span>")
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)
@@ -729,12 +729,7 @@ Note that amputating the affected organ does in fact remove the infection from t
"<span class='danger'>Your [src.name] explodes!</span>",\
"<span class='danger'>You hear an explosion!</span>")
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()
+1 -3
View File
@@ -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, "<span class = 'caution'> You emag the RCS. Activate it to toggle between modes.</span>")
return
+3 -9
View File
@@ -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.<BR>"
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)