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
@@ -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)