Merge pull request #8331 from uraniummeltdown/effectfiles

Splits effect_system.dm into multiple files and cleans it up, OOP particle effects and effect systems
This commit is contained in:
tigercat2000
2017-11-26 12:35:01 -08:00
committed by GitHub
133 changed files with 1223 additions and 1623 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
icon_state = "igniter"
materials = list(MAT_METAL=500, MAT_GLASS=50)
origin_tech = "magnets=1"
var/datum/effect/system/spark_spread/sparks = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread
/obj/item/device/assembly/igniter/New()
..()
@@ -21,7 +21,7 @@
return ..()
/obj/effect/waterfall/proc/drip()
var/obj/effect/effect/water/W = new(loc)
var/obj/effect/particle_effect/water/W = new(loc)
W.dir = dir
spawn(1)
W.loc = get_step(W, dir)
@@ -177,7 +177,7 @@
call(src,triggerproc)(M)
/obj/effect/meatgrinder/proc/triggerrad1(mob)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
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()
+4 -4
View File
@@ -22,20 +22,20 @@
M.Move(dest)
if(entersparks)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(4, 1, src)
s.start()
if(exitsparks)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(4, 1, dest)
s.start()
if(entersmoke)
var/datum/effect/system/harmless_smoke_spread/s = new /datum/effect/system/harmless_smoke_spread
var/datum/effect_system/smoke_spread/s = new
s.set_up(4, 1, src, 0)
s.start()
if(exitsmoke)
var/datum/effect/system/harmless_smoke_spread/s = new /datum/effect/system/harmless_smoke_spread
var/datum/effect_system/smoke_spread/s = new
s.set_up(4, 1, dest, 0)
s.start()
@@ -92,7 +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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 0, loc)
s.start()
playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1)
+1 -1
View File
@@ -590,7 +590,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
var/datum/effect_system/spark_spread/s = new
s.set_up(2, 1, src)
s.start()
owner.visible_message("<span class='danger'>[owner]'s shields deflect [attack_text] in a shower of sparks!</span>")
+1 -1
View File
@@ -80,7 +80,7 @@
// Wiring! How exciting.
var/datum/wires/rig/wires
var/datum/effect/system/spark_spread/spark_system
var/datum/effect_system/spark_spread/spark_system
/obj/item/weapon/rig/examine()
to_chat(usr, "This is [bicon(src)][src.name].")
+1 -1
View File
@@ -38,7 +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()
var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread()
sparks.set_up(3, 0, D.loc)
sparks.start()
D.z = level_name_to_num(CENTCOMM)
+1 -1
View File
@@ -28,7 +28,7 @@
R.my_atom = vent
R.add_reagent(pick(gunk), 50)
var/datum/effect/system/chem_smoke_spread/smoke = new
var/datum/effect_system/smoke_spread/chem/smoke = new
smoke.set_up(R, rand(1, 2), 0, vent, 0, silent = 1)
playsound(vent.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
smoke.start(3)
+1 -1
View File
@@ -523,7 +523,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
else //No water or didn't slip, get that fish!
@@ -66,7 +66,7 @@
var/obj/item/weapon/reagent_containers/food/snacks/badrecipe/burnt = new(get_turf(src))
setRegents(props, burnt)
to_chat(user, "<span class='warning'>You smell burning coming from the [src]!</span>")
var/datum/effect/system/bad_smoke_spread/smoke = new /datum/effect/system/bad_smoke_spread() // burning things makes smoke!
var/datum/effect_system/smoke_spread/bad/smoke = new // burning things makes smoke!
smoke.set_up(5, 0, src)
smoke.start()
if(prob(firechance))
@@ -364,7 +364,7 @@
updateUsrDialog()
/obj/machinery/kitchen_machine/proc/broke()
var/datum/effect/system/spark_spread/s = new
var/datum/effect_system/spark_spread/s = new
s.set_up(2, 1, src)
s.start()
icon_state = broken_icon // Make it look all busted up and shit
+1 -1
View File
@@ -402,7 +402,7 @@
name = "gaseous decomposition"
/datum/plant_gene/trait/smoke/on_squash(obj/item/weapon/reagent_containers/food/snacks/grown/G, atom/target)
var/datum/effect/system/chem_smoke_spread/S = new
var/datum/effect_system/smoke_spread/chem/S = new
var/splat_location = get_turf(target)
var/smoke_amount = round(sqrt(G.seed.potency * 0.1), 1)
S.attach(splat_location)
+1 -1
View File
@@ -47,7 +47,7 @@
D.visible_message("<span class='danger'>[A] throws an invisible smoke bomb!!</span>")
var/datum/effect/system/bad_smoke_spread/smoke = new /datum/effect/system/bad_smoke_spread()
var/datum/effect_system/smoke_spread/bad/smoke = new
smoke.set_up(5, 0, D.loc)
smoke.start()
+2 -2
View File
@@ -278,7 +278,7 @@
updateUsrDialog()
/obj/machinery/mineral/ore_redemption/ex_act(severity, target)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
if(severity == 1)
@@ -506,7 +506,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
if(prob(50 / severity) && severity < 3)
@@ -259,14 +259,14 @@
to_chat(user, "[src] fizzles uselessly.")
return
var/datum/effect/system/harmless_smoke_spread/smoke = new /datum/effect/system/harmless_smoke_spread()
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(1, 0, user.loc)
smoke.start()
user.forceMove(get_turf(linked))
feedback_add_details("warp_cube","[src.type]")
var/datum/effect/system/harmless_smoke_spread/smoke2 = new /datum/effect/system/harmless_smoke_spread()
var/datum/effect_system/smoke_spread/smoke2 = new
smoke2.set_up(1, 0, user.loc)
smoke2.start()
+1 -1
View File
@@ -329,7 +329,7 @@
message_admins("[key_name_admin(usr)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[usr]'>?</A>) (<A HREF='?_src_=holder;adminplayerobservefollow=\ref[usr]'>FLW</A>) activated a bluespace capsule away from the mining level! (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[T.x];Y=[T.y];Z=[T.z]'>JMP</a>)")
log_admin("[key_name(usr)] activated a bluespace capsule away from the mining level at [T.x], [T.y], [T.z]")
template.load(deploy_location, centered = TRUE)
new /obj/effect/effect/harmless_smoke(get_turf(src))
new /obj/effect/particle_effect/smoke(get_turf(src))
qdel(src)
/obj/item/weapon/survivalcapsule/luxury
@@ -123,7 +123,7 @@
stuttering = power
Stun(power)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
@@ -40,7 +40,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
@@ -399,7 +399,7 @@
Stuttering(power)
Stun(power)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
@@ -107,7 +107,7 @@
custom_emote(1, "drops what they were holding, their [E.name] malfunctioning!")
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
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()
+2 -2
View File
@@ -767,12 +767,12 @@
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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
if(alcohol_strength >= collapse_start && prob(10))
emote("collapse")
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
if(alcohol_strength >= braindamage_start && prob(10))
@@ -43,6 +43,8 @@
var/list/icon/pipes_shown = list()
var/last_played_vent
var/smoke_delay = 0 //used to prevent spam with smoke reagent reaction on mob.
var/step_count = 0
var/list/butcher_results = null
@@ -59,7 +59,7 @@ var/list/robot_verbs_default = list(
var/viewalerts = 0
var/modtype = "Default"
var/lower_mod = 0
var/datum/effect/system/spark_spread/spark_system//So they can initialize sparks whenever/N
var/datum/effect_system/spark_spread/spark_system//So they can initialize sparks whenever/N
var/jeton = 0
var/low_power_mode = 0 //whether the robot has no charge left.
var/weapon_lock = 0
@@ -85,13 +85,13 @@ var/list/robot_verbs_default = list(
var/magpulse = 0
var/ionpulse = 0 // Jetpack-like effect.
var/ionpulse_on = 0 // Jetpack-like effect.
var/datum/effect/system/ion_trail_follow/ion_trail // Ionpulse effect.
var/datum/effect_system/trail_follow/ion/ion_trail // Ionpulse effect.
var/datum/action/item_action/toggle_research_scanner/scanner = null
var/list/module_actions = list()
/mob/living/silicon/robot/New(loc,var/syndie = 0,var/unfinished = 0, var/alien = 0)
spark_system = new /datum/effect/system/spark_spread()
spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
@@ -345,7 +345,7 @@
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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
..()
@@ -353,7 +353,7 @@
/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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
return ..()
@@ -367,8 +367,7 @@
pulse2.name = "emp sparks"
pulse2.anchored = 1
pulse2.dir = pick(cardinal)
spawn(10)
pulse2.delete()
QDEL_IN(pulse2, 10)
if(paicard)
paicard.emp_act(severity)
@@ -98,7 +98,7 @@
if(prob(5)) //Spawns foam!
visible_message("<span class='danger'>[src] whirs and bubbles violently, before releasing a plume of froth!</span>")
new /obj/structure/foam(loc)
new /obj/effect/particle_effect/foam(loc)
else if(prob(5))
audible_message("[src] makes an excited beeping booping sound!")
@@ -184,7 +184,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
..()
@@ -393,7 +393,7 @@ Auto Patrol[]"},
if(lasercolor == "r")
new /obj/item/clothing/suit/redtag(Tsec)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
@@ -406,7 +406,7 @@
T.amount = amount
amount = 0
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
..()
@@ -569,7 +569,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
..()
@@ -834,7 +834,7 @@
cell.update_icon()
cell = null
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
@@ -437,7 +437,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
@@ -621,12 +621,12 @@
//spark for no reason
if(prob(5))
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
/mob/living/simple_animal/pet/corgi/Ian/borgi/death(gibbed)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
..()
@@ -48,7 +48,7 @@
ranged = 1
/mob/living/simple_animal/hostile/hivebot/death(gibbed)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
..()
@@ -75,7 +75,7 @@
/mob/living/simple_animal/hostile/hivebot/tele/New()
..()
var/datum/effect/system/harmless_smoke_spread/smoke = new /datum/effect/system/harmless_smoke_spread()
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(5, 0, src.loc)
smoke.start()
visible_message("<span class='danger'>The [src] warps in!</span>")
@@ -22,7 +22,7 @@
speed = 8
projectiletype = /obj/item/projectile/beam/drone
projectilesound = 'sound/weapons/laser3.ogg'
var/datum/effect/system/ion_trail_follow/ion_trail
var/datum/effect_system/trail_follow/ion/ion_trail
//the drone randomly switches between these states because it's malfunctioning
var/hostile_drone = 0
@@ -80,14 +80,14 @@
//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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
health += rand(25,100)
//spark for no reason
if(prob(5))
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
@@ -129,7 +129,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
@@ -154,7 +154,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
var/obj/O
-2
View File
@@ -100,8 +100,6 @@
var/in_throw_mode = 0
var/coughedtime = null
var/emote_cd = 0 // Used to supress emote spamming. 1 if on CD, 2 if disabled by admin (manually set), else 0
var/job = null//Living
@@ -27,14 +27,14 @@
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()
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()
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()
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()
+2 -2
View File
@@ -7,7 +7,7 @@
throwforce = 20
armour_penetration = 50
var/cooldown = 0 // Because spam aint cool, yo.
var/datum/effect/system/spark_spread/spark_system
var/datum/effect_system/spark_spread/spark_system
/obj/item/weapon/katana/energy/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
@@ -69,7 +69,7 @@
/obj/item/weapon/katana/energy/New()
..()
spark_system = new /datum/effect/system/spark_spread()
spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
+4 -4
View File
@@ -530,7 +530,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
return
@@ -549,7 +549,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
return
@@ -1056,11 +1056,11 @@
cell.corrupt()
src.malfhack = 1
update_icon()
var/datum/effect/system/harmless_smoke_spread/smoke = new /datum/effect/system/harmless_smoke_spread()
var/datum/effect_system/smoke_spread/smoke = new
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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
for(var/mob/M in viewers(src))
+1 -1
View File
@@ -195,7 +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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
return 1
+2 -2
View File
@@ -371,7 +371,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
if(prob(75))
@@ -525,7 +525,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
status = LIGHT_BROKEN
@@ -99,7 +99,7 @@
if(hasShocked)
return 0
hasShocked = 1
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, AM.loc)
s.start()
var/atom/target = get_edge_target_turf(AM, get_dir(src, get_step_away(AM, src)))
+1 -1
View File
@@ -202,7 +202,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
+1 -1
View File
@@ -41,7 +41,7 @@
/obj/singularity/narsie/large/attack_ghost(mob/dead/observer/user as mob)
makeNewConstruct(/mob/living/simple_animal/hostile/construct/harvester, user, null, 1)
new /obj/effect/effect/sleep_smoke(user.loc)
new /obj/effect/particle_effect/smoke/sleeping(user.loc)
/obj/singularity/narsie/process()
+5 -5
View File
@@ -184,7 +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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
return
@@ -325,7 +325,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
return
@@ -440,7 +440,7 @@
for(var/mob/M in viewers(src))
M.show_message("<span class='warning'>The [src.name] is making strange noises!</span>", 3, "<span class='warning'>You hear sizzling electronics.</span>", 2)
sleep(10*pick(4,5,6,7,10,14))
var/datum/effect/system/harmless_smoke_spread/smoke = new /datum/effect/system/harmless_smoke_spread()
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(3, 0, src.loc)
smoke.attach(src)
smoke.start()
@@ -448,7 +448,7 @@
qdel(src)
return
if(prob(15)) //Power drain
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
if(prob(50))
@@ -456,7 +456,7 @@
else
emp_act(2)
if(prob(5)) //smoke only
var/datum/effect/system/harmless_smoke_spread/smoke = new /datum/effect/system/harmless_smoke_spread()
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(3, 0, src.loc)
smoke.attach(src)
smoke.start()
+1 -1
View File
@@ -122,7 +122,7 @@
/obj/item/weapon/gun/magic/wand/teleport/zap_self(mob/living/user)
do_teleport(user, user, 10)
var/datum/effect/system/harmless_smoke_spread/smoke = new /datum/effect/system/harmless_smoke_spread()
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(10, 0, user.loc)
smoke.start()
charges--
@@ -78,7 +78,7 @@
..()
/obj/item/projectile/bullet/pellet/weak/on_range()
var/datum/effect/system/spark_spread/sparks = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread
sparks.set_up(1, 1, src)
sparks.start()
..()
@@ -96,7 +96,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
var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread
sparks.set_up(3, 3, src)
sparks.start()
..()
@@ -22,7 +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
var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread
sparks.set_up(1, 1, src)
sparks.start()
else if(iscarbon(target))
@@ -34,7 +34,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
var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread
sparks.set_up(1, 1, src)
sparks.start()
..()
+1 -1
View File
@@ -100,7 +100,7 @@
if(!stuff.anchored && stuff.loc)
teleammount++
do_teleport(stuff, stuff, 10)
var/datum/effect/system/harmless_smoke_spread/smoke = new /datum/effect/system/harmless_smoke_spread()
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(max(round(10 - teleammount),1), 0, stuff.loc) //Smoke drops off if a lot of stuff is moved for the sake of sanity
smoke.start()
@@ -191,7 +191,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
new /obj/effect/decal/cleanable/ash(loc)
+1 -1
View File
@@ -29,7 +29,7 @@
splash_holder.handle_reactions() // React them now.
if(splash_holder.total_volume && affected_range >= 0) //The possible reactions didnt use up all reagents, so we spread it around.
var/datum/effect/system/steam_spread/steam = new /datum/effect/system/steam_spread()
var/datum/effect_system/steam_spread/steam = new /datum/effect_system/steam_spread()
steam.set_up(10, 0, epicenter)
steam.attach(epicenter)
steam.start()
@@ -140,7 +140,7 @@
/*
/datum/reagent/blackpowder/on_ex_act()
var/location = get_turf(holder.my_atom)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, location)
s.start()
sleep(rand(10,15))
@@ -19,7 +19,7 @@
var/location = get_turf(holder.my_atom)
holder.my_atom.visible_message("<span class='warning'>The solution spews out foam!</span>")
var/datum/effect/system/foam_spread/s = new()
var/datum/effect_system/foam_spread/s = new()
s.set_up(created_volume, location, holder, 0)
s.start()
holder.clear_reagents()
@@ -37,7 +37,7 @@
holder.my_atom.visible_message("<span class='warning'>The solution spews out a metalic foam!</span>")
var/datum/effect/system/foam_spread/s = new()
var/datum/effect_system/foam_spread/s = new()
s.set_up(created_volume, location, holder, MFOAM_ALUMINUM)
s.start()
@@ -54,7 +54,7 @@
holder.my_atom.visible_message("<span class='warning>The solution spews out a metalic foam!</span>")
var/datum/effect/system/foam_spread/s = new()
var/datum/effect_system/foam_spread/s = new()
s.set_up(created_volume, location, holder, MFOAM_IRON)
s.start()
@@ -7,7 +7,7 @@
mix_message = "The mixture explodes!"
/datum/chemical_reaction/explosion_potassium/on_reaction(datum/reagents/holder, created_volume)
var/datum/effect/system/reagents_explosion/e = new()
var/datum/effect_system/reagents_explosion/e = new()
e.set_up(round (created_volume/10, 1), holder.my_atom, 0, 0)
e.start()
holder.clear_reagents()
@@ -34,7 +34,7 @@
result_amount = 2
/datum/chemical_reaction/nitroglycerin/on_reaction(datum/reagents/holder, created_volume)
var/datum/effect/system/reagents_explosion/e = new()
var/datum/effect_system/reagents_explosion/e = new()
e.set_up(round(created_volume/2, 1), holder.my_atom, 0, 0)
e.start()
holder.clear_reagents()
@@ -130,7 +130,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, location)
s.start()
sleep(rand(20,30))
@@ -159,7 +159,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, location)
s.start()
for(var/mob/living/carbon/C in viewers(5, location))
@@ -179,7 +179,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, location)
s.start()
for(var/mob/living/carbon/C in viewers(5, location))
@@ -211,7 +211,7 @@ datum/chemical_reaction/flash_powder
if(holder.has_reagent(f_reagent))
holder.remove_reagent(f_reagent, holder.get_reagent_amount(f_reagent))
var/location = get_turf(holder.my_atom)
var/datum/effect/system/chem_smoke_spread/S = new /datum/effect/system/chem_smoke_spread
var/datum/effect_system/smoke_spread/chem/S = new
S.attach(location)
playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3)
spawn(0)
@@ -144,7 +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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(6, 1, location)
s.start()
+6 -6
View File
@@ -226,7 +226,7 @@
loaded_item = null
/obj/machinery/r_n_d/experimentor/proc/throwSmoke(turf/where)
var/datum/effect/system/harmless_smoke_spread/smoke = new
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(1,0, where, 0)
smoke.start()
@@ -318,7 +318,7 @@
R.my_atom = src
R.add_reagent(chosenchem , 15)
investigate_log("Experimentor has released [chosenchem] smoke.", "experimentor")
var/datum/effect/system/chem_smoke_spread/smoke = new
var/datum/effect_system/smoke_spread/chem/smoke = new
smoke.set_up(R, 1, 0, src, 0, silent = 1)
playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
smoke.start()
@@ -330,7 +330,7 @@
var/datum/reagents/R = new/datum/reagents(15)
R.my_atom = src
R.add_reagent(chosenchem , 15)
var/datum/effect/system/chem_smoke_spread/smoke = new
var/datum/effect_system/smoke_spread/chem/smoke = new
smoke.set_up(R, 1, 0, src, 0, silent = 1)
playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
smoke.start()
@@ -417,7 +417,7 @@
R.my_atom = src
R.add_reagent("frostoil" , 15)
investigate_log("Experimentor has released frostoil gas.", "experimentor")
var/datum/effect/system/chem_smoke_spread/smoke = new
var/datum/effect_system/smoke_spread/chem/smoke = new
smoke.set_up(R, 1, 0, src, 0, silent = 1)
playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
smoke.start()
@@ -439,7 +439,7 @@
ejectItem(TRUE)
if(prob(EFFECT_PROB_MEDIUM-badThingCoeff))
visible_message("<span class='warning'>[src] malfunctions, releasing a flurry of chilly air as [exp_on] pops out!</span>")
var/datum/effect/system/harmless_smoke_spread/smoke = new
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(1,0, src.loc, 0)
smoke.start()
ejectItem()
@@ -648,7 +648,7 @@
//////////////// RELIC PROCS /////////////////////////////
/obj/item/weapon/relic/proc/throwSmoke(turf/where)
var/datum/effect/system/harmless_smoke_spread/smoke = new
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(1,0, where, 0)
smoke.start()
+2 -2
View File
@@ -40,7 +40,7 @@
var/datum/global_iterator/pr_int_temp_processor //normalizes internal air mixture temperature
var/datum/global_iterator/pr_give_air //moves air from tank to cabin
var/datum/effect/system/ion_trail_follow/space_trail/ion_trail
var/datum/effect_system/trail_follow/ion/space_trail/ion_trail
var/hatch_open = 0
@@ -106,7 +106,7 @@
battery = new battery_type(src)
add_cabin()
add_airtank()
src.ion_trail = new /datum/effect/system/ion_trail_follow/space_trail()
src.ion_trail = new /datum/effect_system/trail_follow/ion/space_trail()
src.ion_trail.set_up(src)
src.ion_trail.start()
src.use_internal_tank = 1
+1 -1
View File
@@ -397,7 +397,7 @@
if(notice)
return null
//Totally nanite construction system not an immersion breaking spawning
var/datum/effect/system/harmless_smoke_spread/s = new /datum/effect/system/harmless_smoke_spread()
var/datum/effect_system/smoke_spread/s = new
s.set_up(4, 0, get_turf(centerpiece))
s.start()
var/obj/machinery/bsa/full/cannon = new(get_turf(centerpiece),centerpiece.get_cannon_direction())
+1 -1
View File
@@ -275,7 +275,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
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, A)
s.start()
to_chat(H, "<span class='warning'>The APC power currents surge erratically, damaging your chassis!</span>")
@@ -702,7 +702,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()
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()
+1 -1
View File
@@ -157,7 +157,7 @@
/obj/item/weapon/rcs/emag_act(user as mob)
if(!emagged)
emagged = 1
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
to_chat(user, "<span class = 'caution'> You emag the RCS. Activate it to toggle between modes.</span>")
+3 -3
View File
@@ -148,7 +148,7 @@
/obj/machinery/computer/telescience/proc/sparks()
if(telepad)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, get_turf(telepad))
s.start()
else
@@ -206,7 +206,7 @@
// use a lot of power
use_power(power * 10)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, get_turf(telepad))
s.start()
@@ -217,7 +217,7 @@
temp_msg += "Data printed below."
var/sparks = get_turf(target)
var/datum/effect/system/spark_spread/y = new /datum/effect/system/spark_spread
var/datum/effect_system/spark_spread/y = new /datum/effect_system/spark_spread
y.set_up(5, 1, sparks)
y.start()