diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm
index ca28400596e..6c22a9c08db 100644
--- a/code/datums/helper_datums/teleport.dm
+++ b/code/datums/helper_datums/teleport.dm
@@ -9,8 +9,8 @@
var/atom/movable/teleatom //atom to teleport
var/atom/destination //destination to teleport to
var/precision = 0 //teleport precision
- var/datum/effect/effect/system/effectin //effect to show right before teleportation
- var/datum/effect/effect/system/effectout //effect to show right after teleportation
+ var/datum/effect_system/effectin //effect to show right before teleportation
+ var/datum/effect_system/effectout //effect to show right after teleportation
var/soundin //soundfile to play before teleportation
var/soundout //soundfile to play after teleportation
var/force_teleport = 1 //if false, teleport will use Move() proc (dense objects will prevent teleportation)
@@ -59,7 +59,7 @@
//custom effects must be properly set up first for instant-type teleports
//optional
-/datum/teleport/proc/setEffects(datum/effect/effect/system/aeffectin=null,datum/effect/effect/system/aeffectout=null)
+/datum/teleport/proc/setEffects(datum/effect_system/aeffectin=null,datum/effect_system/aeffectout=null)
effectin = istype(aeffectin) ? aeffectin : null
effectout = istype(aeffectout) ? aeffectout : null
return 1
@@ -79,7 +79,7 @@
/datum/teleport/proc/teleportChecks()
return 1
-/datum/teleport/proc/playSpecials(atom/location,datum/effect/effect/system/effect,sound)
+/datum/teleport/proc/playSpecials(atom/location,datum/effect_system/effect,sound)
if(location)
if(effect)
spawn(-1)
@@ -148,9 +148,9 @@
/datum/teleport/instant/science
-/datum/teleport/instant/science/setEffects(datum/effect/effect/system/aeffectin,datum/effect/effect/system/aeffectout)
+/datum/teleport/instant/science/setEffects(datum/effect_system/aeffectin,datum/effect_system/aeffectout)
if(aeffectin==null || aeffectout==null)
- var/datum/effect/effect/system/spark_spread/aeffect = new
+ var/datum/effect_system/spark_spread/aeffect = new
aeffect.set_up(5, 1, teleatom)
effectin = effectin || aeffect
effectout = effectout || aeffect
diff --git a/code/datums/spell.dm b/code/datums/spell.dm
index 86591120ba1..f0600d848ab 100644
--- a/code/datums/spell.dm
+++ b/code/datums/spell.dm
@@ -207,20 +207,20 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
if(istype(target,/mob/living) && message)
target << text("[message]")
if(sparks_spread)
- var/datum/effect/effect/system/spark_spread/sparks = new
+ var/datum/effect_system/spark_spread/sparks = new
sparks.set_up(sparks_amt, 0, location) //no idea what the 0 is
sparks.start()
if(smoke_spread)
if(smoke_spread == 1)
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(smoke_amt, location)
smoke.start()
else if(smoke_spread == 2)
- var/datum/effect/effect/system/smoke_spread/bad/smoke = new
+ var/datum/effect_system/smoke_spread/bad/smoke = new
smoke.set_up(smoke_amt, location)
smoke.start()
else if(smoke_spread == 3)
- var/datum/effect/effect/system/smoke_spread/sleeping/smoke = new
+ var/datum/effect_system/smoke_spread/sleeping/smoke = new
smoke.set_up(smoke_amt, location)
smoke.start()
diff --git a/code/datums/spells/ethereal_jaunt.dm b/code/datums/spells/ethereal_jaunt.dm
index d86dbcaf175..3fd6266d19c 100644
--- a/code/datums/spells/ethereal_jaunt.dm
+++ b/code/datums/spells/ethereal_jaunt.dm
@@ -75,7 +75,7 @@
/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/proc/jaunt_steam(mobloc)
- var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread()
+ var/datum/effect_system/steam_spread/steam = new /datum/effect_system/steam_spread()
steam.set_up(10, 0, mobloc)
steam.start()
diff --git a/code/game/gamemodes/abduction/abduction_gear.dm b/code/game/gamemodes/abduction/abduction_gear.dm
index 115b92f8ae1..61a05796c16 100644
--- a/code/game/gamemodes/abduction/abduction_gear.dm
+++ b/code/game/gamemodes/abduction/abduction_gear.dm
@@ -522,7 +522,7 @@ Congratulations! You are now trained for xenobiology research!"}
/obj/item/weapon/restraints/handcuffs/energy/used/dropped(mob/user)
user.visible_message("[user]'s [src] break in a discharge of energy!", \
"[user]'s [src] break in a discharge of energy!")
- var/datum/effect/effect/system/spark_spread/S = new
+ var/datum/effect_system/spark_spread/S = new
S.set_up(4,0,user.loc)
S.start()
qdel(src)
diff --git a/code/game/gamemodes/abduction/machinery/pad.dm b/code/game/gamemodes/abduction/machinery/pad.dm
index e7abfd04529..c7693ffbdc0 100644
--- a/code/game/gamemodes/abduction/machinery/pad.dm
+++ b/code/game/gamemodes/abduction/machinery/pad.dm
@@ -57,7 +57,7 @@
/obj/machinery/abductor/pad/proc/MobToLoc(place,mob/living/target)
var/obj/effect/teleport_abductor/F = new(place)
- var/datum/effect/effect/system/spark_spread/S = new
+ var/datum/effect_system/spark_spread/S = new
S.set_up(10,0,place)
S.start()
sleep(80)
@@ -68,7 +68,7 @@
/obj/machinery/abductor/pad/proc/PadToLoc(place)
var/obj/effect/teleport_abductor/F = new(place)
- var/datum/effect/effect/system/spark_spread/S = new
+ var/datum/effect_system/spark_spread/S = new
S.set_up(10,0,place)
S.start()
sleep(80)
diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm
index 1ab4ecdc166..1dde1a9168c 100644
--- a/code/game/gamemodes/antag_spawner.dm
+++ b/code/game/gamemodes/antag_spawner.dm
@@ -64,7 +64,7 @@
H << "Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later."
/obj/item/weapon/antag_spawner/contract/spawn_antag(client/C, turf/T, type = "")
- PoolOrNew(/obj/effect/effect/smoke, T)
+ PoolOrNew(/obj/effect/particle_effect/smoke, T)
var/mob/living/carbon/human/M = new/mob/living/carbon/human(T)
C.prefs.copy_to(M)
M.key = C.key
@@ -150,7 +150,7 @@
if(!borg_to_spawn) //If there's no type at all, let it still be used but don't do anything
used = 0
return
- var/datum/effect/effect/system/spark_spread/S = new /datum/effect/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()
var/mob/living/silicon/robot/R
diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm
index 7979875e313..3715e02a671 100644
--- a/code/game/gamemodes/blob/blobs/blob_mobs.dm
+++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm
@@ -91,7 +91,7 @@
/mob/living/simple_animal/hostile/blob/blobspore/death(gibbed)
..(1)
// On death, create a small smoke of harmful gas (s-Acid)
- var/datum/effect/effect/system/smoke_spread/chem/S = new
+ var/datum/effect_system/smoke_spread/chem/S = new
var/turf/location = get_turf(src)
// Create the reagents to put into the air
diff --git a/code/game/gamemodes/gang/dominator.dm b/code/game/gamemodes/gang/dominator.dm
index 62e911426dc..b75613ab551 100644
--- a/code/game/gamemodes/gang/dominator.dm
+++ b/code/game/gamemodes/gang/dominator.dm
@@ -54,7 +54,7 @@
iconname += "-[gang.color]"
SetLuminosity(3)
- var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread
health -= damage
diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm
index 83b9b3ed8b9..fe10e866b2c 100644
--- a/code/game/gamemodes/shadowling/shadowling_abilities.dm
+++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm
@@ -400,7 +400,7 @@
B.reagents.clear_reagents() //Just in case!
B.icon_state = null //Invisible
B.reagents.add_reagent("blindness_smoke", 10)
- var/datum/effect/effect/system/smoke_spread/chem/S = new
+ var/datum/effect_system/smoke_spread/chem/S = new
S.attach(B)
if(S)
S.set_up(B.reagents, 4, 0, B.loc)
@@ -464,7 +464,7 @@ datum/reagent/shadowling_blindness_smoke //Reagent used for above spell
S << "ERROR $!(@ ERROR )#^! SENSORY OVERLOAD \[$(!@#"
S << 'sound/misc/interference.ogg'
playsound(S, 'sound/machines/warning-buzzer.ogg', 50, 1)
- var/datum/effect/effect/system/spark_spread/sp = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread
sp.set_up(5, 1, S)
sp.start()
S.Weaken(6)
diff --git a/code/game/gamemodes/wizard/godhand.dm b/code/game/gamemodes/wizard/godhand.dm
index ef90c160dfa..2883ae0a50a 100644
--- a/code/game/gamemodes/wizard/godhand.dm
+++ b/code/game/gamemodes/wizard/godhand.dm
@@ -51,7 +51,7 @@
B.loc = get_turf(C_target)
B.transfer_identity(C_target)
C_target.internal_organs -= B
- var/datum/effect/effect/system/spark_spread/sparks = new
+ var/datum/effect_system/spark_spread/sparks = new
sparks.set_up(4, 0, M.loc) //no idea what the 0 is
sparks.start()
M.gib()
diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm
index e43ac72fd45..912ca478951 100644
--- a/code/game/machinery/ai_slipper.dm
+++ b/code/game/machinery/ai_slipper.dm
@@ -95,7 +95,7 @@
if(cooldown_on || disabled)
return
else
- PoolOrNew(/obj/effect/effect/foam, loc)
+ PoolOrNew(/obj/effect/particle_effect/foam, loc)
src.uses--
cooldown_on = 1
cooldown_time = world.timeofday + 100
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 1c3fb0a8862..b29c928227b 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -220,7 +220,7 @@
return 0
if(!prob(prb))
return 0 //you lucked out, no shock for you
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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() //sparks always.
if (electrocute_mob(user, get_area(src), src))
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index 44624e57680..e994bd45030 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -39,7 +39,7 @@
"Construction",
"T-Comm",
"Security",
- "Machinery",
+ "Machinery",
"Medical",
"Misc"
)
@@ -361,7 +361,7 @@
return 0
if(!prob(prb))
return 0
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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 (electrocute_mob(user, get_area(src), src, 0.7))
@@ -374,7 +374,7 @@
if(hack)
for(var/datum/design/D in files.possible_designs)
- if((D.build_type & AUTOLATHE) && ("hacked" in D.category))
+ if((D.build_type & AUTOLATHE) && ("hacked" in D.category))
files.known_designs += D
else
for(var/datum/design/D in files.known_designs)
diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm
index 4023b379920..55a2444a231 100644
--- a/code/game/machinery/bots/bots.dm
+++ b/code/game/machinery/bots/bots.dm
@@ -261,7 +261,7 @@
user << "The welder must be on for this task!"
else
if(W.force) //if force is non-zero
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
switch(W.damtype)
if("fire")
@@ -281,7 +281,7 @@
if((Proj.damage_type == BRUTE || Proj.damage_type == BURN))
health -= Proj.damage
if(prob(75) && Proj.damage > 0)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
..()
diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm
index 0874c53af2d..87df25eded6 100644
--- a/code/game/machinery/bots/cleanbot.dm
+++ b/code/game/machinery/bots/cleanbot.dm
@@ -148,7 +148,7 @@ text("[on ? "On" : "Off"]"))
if(prob(5)) //Spawns foam!
visible_message("[src] whirs and bubbles violently, before releasing a plume of froth!")
- PoolOrNew(/obj/effect/effect/foam, loc)
+ PoolOrNew(/obj/effect/particle_effect/foam, loc)
else if (prob(5))
audible_message("[src] makes an excited beeping booping sound!")
@@ -234,7 +234,7 @@ text("[on ? "On" : "Off"]"))
if (prob(50))
new /obj/item/robot_parts/l_arm(Tsec)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
..()
diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm
index dd03dc521e2..0f2a506a7ab 100644
--- a/code/game/machinery/bots/ed209bot.dm
+++ b/code/game/machinery/bots/ed209bot.dm
@@ -436,7 +436,7 @@ Auto Patrol[]"},
if(lasercolor == "r")
new /obj/item/clothing/suit/redtag(Tsec)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
diff --git a/code/game/machinery/bots/floorbot.dm b/code/game/machinery/bots/floorbot.dm
index 71f5e3d04d0..50a429270f5 100644
--- a/code/game/machinery/bots/floorbot.dm
+++ b/code/game/machinery/bots/floorbot.dm
@@ -455,7 +455,7 @@ obj/machinery/bot/floorbot/process_scan(scan_target)
T.amount = amount
amount = 0
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
..()
diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm
index 315468230dc..bcc7e4fa730 100644
--- a/code/game/machinery/bots/medbot.dm
+++ b/code/game/machinery/bots/medbot.dm
@@ -520,7 +520,7 @@
if (prob(50))
new /obj/item/robot_parts/l_arm(Tsec)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
..()
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index c74d6526b09..9b96447552b 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -833,7 +833,7 @@ var/global/mulebot_count = 0
cell.update_icon()
cell = null
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm
index ae739499a1c..2fdb4c03990 100644
--- a/code/game/machinery/bots/secbot.dm
+++ b/code/game/machinery/bots/secbot.dm
@@ -371,7 +371,7 @@ Auto Patrol: []"},
if(prob(50))
new /obj/item/robot_parts/l_arm(Tsec)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm
index 0587b8c9c3b..0ba57253e61 100644
--- a/code/game/machinery/computer/HolodeckControl.dm
+++ b/code/game/machinery/computer/HolodeckControl.dm
@@ -171,7 +171,7 @@
for(var/turf/T in linkedholodeck)
if(prob(30))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, T)
s.start()
T.ex_act(3)
@@ -240,7 +240,7 @@
spawn(20)
if(istype(target,/area/holodeck/source_burntest))
var/turf/T = get_turf(L)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, T)
s.start()
if(T)
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index c575e09025f..6597ee9fd2e 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -12,7 +12,7 @@
//Server linked to.
var/obj/machinery/message_server/linkedServer = null
//Sparks effect - For emag
- var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread
//Messages - Saves me time if I want to change something.
var/noserver = "ALERT: No server detected."
var/incorrectkey = "ALERT: Incorrect decryption key!"
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index 200aa1fca7a..89b1c3e396c 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -167,7 +167,7 @@ obj/structure/barricade/wooden/proc/take_damage(damage, leave_debris=1, message)
user << "Barrier lock toggled off."
return
else
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, src)
s.start()
visible_message("BZZzZZzZZzZT")
@@ -201,7 +201,7 @@ obj/structure/barricade/wooden/proc/take_damage(damage, leave_debris=1, message)
src.emagged = 1
src.req_access = null
user << "You break the ID authentication lock on \the [src]."
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, src)
s.start()
visible_message("BZZzZZzZZzZT")
@@ -209,7 +209,7 @@ obj/structure/barricade/wooden/proc/take_damage(damage, leave_debris=1, message)
else if (src.emagged == 1)
src.emagged = 2
user << "You short out the anchoring mechanism on \the [src]."
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, src)
s.start()
visible_message("BZZzZZzZZzZT")
@@ -250,7 +250,7 @@ obj/structure/barricade/wooden/proc/take_damage(damage, leave_debris=1, message)
/* var/obj/item/stack/rods/ =*/
new /obj/item/stack/rods(Tsec)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 07f2f5b3bea..c3d7449b657 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -207,7 +207,7 @@ About the new airlock wires panel:
return 0 //Already shocked someone recently?
if(!prob(prb))
return 0 //you lucked out, no shock for you
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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() //sparks always.
if(electrocute_mob(user, get_area(src), src))
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index f0194cc645d..5964f7462cf 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -158,7 +158,7 @@
/obj/machinery/door/ex_act(severity, target)
if(severity == 3)
if(prob(80))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, src)
s.start()
return
diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm
index 03383fd1309..3f7e84b1277 100644
--- a/code/game/machinery/doors/poddoor.dm
+++ b/code/game/machinery/doors/poddoor.dm
@@ -98,20 +98,20 @@
if(prob(80))
qdel(src)
else
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, src)
s.start()
if(2)
if(prob(20))
qdel(src)
else
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, src)
s.start()
if(3)
if(prob(80))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, src)
s.start()
diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm
index 9920a4f5de7..20c5308fe67 100644
--- a/code/game/machinery/igniter.dm
+++ b/code/game/machinery/igniter.dm
@@ -54,10 +54,19 @@
var/disable = 0
var/last_spark = 0
var/base_state = "migniter"
+ var/datum/effect_system/spark_spread/spark_system
anchored = 1
/obj/machinery/sparker/New()
..()
+ spark_system = new /datum/effect_system/spark_spread
+ spark_system.set_up(2, 1, src)
+ spark_system.attach(src)
+
+/obj/machinery/sparker/Destroy()
+ qdel(spark_system)
+ spark_system = null
+ return ..()
/obj/machinery/sparker/power_change()
if ( powered() && disable == 0 )
@@ -86,7 +95,7 @@
icon_state = "[base_state]-p"
/obj/machinery/sparker/attack_ai()
- if (src.anchored)
+ if (anchored)
return src.ignite()
else
return
@@ -100,10 +109,8 @@
flick("[base_state]-spark", src)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- s.set_up(2, 1, src)
- s.start()
- src.last_spark = world.time
+ spark_system.start()
+ last_spark = world.time
use_power(1000)
var/turf/location = src.loc
if (isturf(location))
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 78c2f6c826f..4d6e0bb0fa8 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -53,13 +53,13 @@
var/faction = "neutral"
- var/datum/effect/effect/system/spark_spread/spark_system //the spark system, used for generating... sparks?
+ var/datum/effect_system/spark_spread/spark_system //the spark system, used for generating... sparks?
/obj/machinery/porta_turret/New()
..()
icon_state = "[lasercolor]grey_target_prism"
//Sets up a spark system
- spark_system = new /datum/effect/effect/system/spark_spread
+ spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm
index b8a8a000a56..8134995ba53 100644
--- a/code/game/machinery/slotmachine.dm
+++ b/code/game/machinery/slotmachine.dm
@@ -100,7 +100,7 @@
/obj/machinery/computer/slot_machine/emag_act()
if(!emagged)
emagged = 1
- var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
+ var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(4, 0, src.loc)
spark_system.start()
playsound(src.loc, "sparks", 50, 1)
diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm
index 6b915b1bc36..abe5c2933ea 100644
--- a/code/game/machinery/turrets.dm
+++ b/code/game/machinery/turrets.dm
@@ -62,7 +62,7 @@
var/wasvalid = 0
var/lastfired = 0
var/shot_delay = 30 //3 seconds between shots
- var/datum/effect/effect/system/spark_spread/spark_system
+ var/datum/effect_system/spark_spread/spark_system
use_power = 1
idle_power_usage = 50
active_power_usage = 300
@@ -73,7 +73,7 @@
/obj/machinery/turret/New()
- spark_system = new /datum/effect/effect/system/spark_spread
+ spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
// targets = new
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 9e659261180..b1593005551 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -590,7 +590,7 @@
return 0
if(!prob(prb))
return 0
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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(electrocute_mob(user, get_area(src), src, 0.7))
diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm
index 2b093ab4d86..69b1f18468b 100644
--- a/code/game/mecha/combat/marauder.dm
+++ b/code/game/mecha/combat/marauder.dm
@@ -12,7 +12,7 @@
var/smoke = 5
var/smoke_ready = 1
var/smoke_cooldown = 100
- var/datum/effect/effect/system/smoke_spread/smoke_system = new
+ var/datum/effect_system/smoke_spread/smoke_system = new
operation_req_access = list(access_cent_specops)
wreckage = /obj/structure/mecha_wreckage/marauder
add_req_access = 0
diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm
index 052b5a08353..07433c97ac1 100644
--- a/code/game/mecha/equipment/tools/work_tools.dm
+++ b/code/game/mecha/equipment/tools/work_tools.dm
@@ -149,7 +149,7 @@
var/list/the_targets = list(T,T1,T2)
spawn(0)
for(var/a=0, a<5, a++)
- var/obj/effect/effect/water/W = PoolOrNew(/obj/effect/effect/water, get_turf(chassis))
+ var/obj/effect/particle_effect/water/W = PoolOrNew(/obj/effect/particle_effect/water, get_turf(chassis))
if(!W)
return
var/turf/my_target = pick(the_targets)
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 8b45cf3faae..579863acdca 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -36,7 +36,7 @@
var/maint_access = 0
var/dna_lock//dna-locking the mech
var/list/proc_res = list() //stores proc owners, like proc_res["functionname"] = owner reference
- var/datum/effect/effect/system/spark_spread/spark_system = new
+ var/datum/effect_system/spark_spread/spark_system = new
var/lights = 0
var/lights_power = 6
var/last_user_hud = 1 // used to show/hide the mecha hud while preserving previous preference
diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm
index a10301a8eb7..30bc38bf624 100644
--- a/code/game/objects/effects/anomalies.dm
+++ b/code/game/objects/effects/anomalies.dm
@@ -27,7 +27,7 @@
/obj/effect/anomaly/proc/anomalyNeutralize()
- PoolOrNew(/obj/effect/effect/smoke/bad, loc)
+ PoolOrNew(/obj/effect/particle_effect/smoke/bad, loc)
for(var/atom/movable/O in src)
O.loc = src.loc
diff --git a/code/game/objects/effects/decals/Cleanable/robots.dm b/code/game/objects/effects/decals/Cleanable/robots.dm
index 002b5e1a4fa..becacd4d2ea 100644
--- a/code/game/objects/effects/decals/Cleanable/robots.dm
+++ b/code/game/objects/effects/decals/Cleanable/robots.dm
@@ -22,7 +22,7 @@
if (prob(40))
new /obj/effect/decal/cleanable/oil/streak(src.loc)
else if (prob(10))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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 (step_to(src, get_step(src, direction), 0))
diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm
index 5ed578fecdb..a3d38bf1426 100644
--- a/code/game/objects/effects/effect_system/effect_system.dm
+++ b/code/game/objects/effects/effect_system/effect_system.dm
@@ -6,56 +6,67 @@ would spawn and follow the beaker, even if it is carried or thrown.
*/
-/obj/effect/effect
- name = "effect"
+/obj/effect/particle_effect
+ name = "particle effect"
icon = 'icons/effects/effects.dmi'
mouse_opacity = 0
- unacidable = 1//So effect are not targeted by alien acid.
+ unacidable = 1//So effects are not targeted by alien acid.
pass_flags = PASSTABLE | PASSGRILLE
-/obj/effect/effect/New()
+/obj/effect/particle_effect/New()
..()
if(ticker)
cameranet.updateVisibility(src)
-/obj/effect/effect/Destroy()
+/obj/effect/particle_effect/Destroy()
if(ticker)
cameranet.updateVisibility(src)
..()
return QDEL_HINT_PUTINPOOL
-/*
-/datum/effect/effect/proc/fadeOut(var/atom/A, var/frames = 16)
- if(A.alpha == 0) //Handle already transparent case
- return
- if(frames == 0)
- frames = 1 //We will just assume that by 0 frames, the coder meant "during one frame".
- var/step = A.alpha / frames
- for(var/i = 0, i < frames, i++)
- A.alpha -= step
- sleep(world.tick_lag)
- return
-*/
-/datum/effect/effect/system
+
+/datum/effect_system
var/number = 3
var/cardinals = 0
var/turf/location
var/atom/holder
- var/setup = 0
+ var/effect_type
+ var/total_effects = 0
-/datum/effect/effect/system/Destroy()
+/datum/effect_system/Destroy()
holder = null
location = null
return ..()
-/datum/effect/effect/system/proc/set_up(n = 3, c = 0, turf/loc)
+/datum/effect_system/proc/set_up(n = 3, c = 0, loca)
if(n > 10)
n = 10
number = n
cardinals = c
- location = loc
- setup = 1
+ if(isturf(loca))
+ location = loca
+ else
+ location = get_turf(loca)
-/datum/effect/effect/system/proc/attach(atom/atom)
+/datum/effect_system/proc/attach(atom/atom)
holder = atom
-/datum/effect/effect/system/proc/start()
\ No newline at end of file
+/datum/effect_system/proc/start()
+ for(var/i in 1 to number)
+ if(total_effects > 20)
+ return
+ spawn(0)
+ if(holder)
+ location = get_turf(holder)
+ var/obj/effect/E = PoolOrNew(effect_type, location)
+ total_effects++
+ var/direction
+ if(cardinals)
+ direction = pick(cardinal)
+ else
+ direction = pick(alldirs)
+ var/steps_amt = pick(1,2,3)
+ for(var/j in 1 to steps_amt)
+ sleep(5)
+ step(E,direction)
+ spawn(20)
+ total_effects--
\ No newline at end of file
diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm
index 2482107f2cb..bdfe7759266 100644
--- a/code/game/objects/effects/effect_system/effects_foam.dm
+++ b/code/game/objects/effects/effect_system/effects_foam.dm
@@ -1,7 +1,7 @@
// Foam
// Similar to smoke, but slower and mobs absorb its reagent through their exposed skin.
-/obj/effect/effect/foam
+/obj/effect/particle_effect/foam
name = "foam"
icon_state = "foam"
opacity = 0
@@ -15,29 +15,29 @@
var/lifetime = 6
-/obj/effect/effect/foam/metal
+/obj/effect/particle_effect/foam/metal
name = "aluminium foam"
metal = 1
icon_state = "mfoam"
-/obj/effect/effect/foam/metal/iron
+/obj/effect/particle_effect/foam/metal/iron
name = "iron foam"
metal = 2
-/obj/effect/effect/foam/New(loc)
+/obj/effect/particle_effect/foam/New(loc)
..(loc)
create_reagents(1000) //limited by the size of the reagent holder anyway.
SSobj.processing |= src
playsound(src, 'sound/effects/bubbles2.ogg', 80, 1, -3)
-/obj/effect/effect/foam/Destroy()
+/obj/effect/particle_effect/foam/Destroy()
SSobj.processing.Remove(src)
return ..()
-/obj/effect/effect/foam/proc/kill_foam()
+/obj/effect/particle_effect/foam/proc/kill_foam()
SSobj.processing.Remove(src)
if(metal)
var/obj/structure/foamedmetal/M = new(src.loc)
@@ -48,7 +48,7 @@
qdel(src)
-/obj/effect/effect/foam/process()
+/obj/effect/particle_effect/foam/process()
lifetime--
if(lifetime < 1)
kill_foam()
@@ -71,7 +71,7 @@
return
spread_foam()
-/obj/effect/effect/foam/proc/foam_mob(mob/living/L)
+/obj/effect/particle_effect/foam/proc/foam_mob(mob/living/L)
if(lifetime<1)
return 0
if(!istype(L))
@@ -81,66 +81,66 @@
lifetime--
return 1
-/obj/effect/effect/foam/Crossed(atom/movable/AM)
+/obj/effect/particle_effect/foam/Crossed(atom/movable/AM)
if(istype(AM, /mob/living/carbon))
var/mob/living/carbon/M = AM
M.slip(5, 2, src)
-/obj/effect/effect/foam/metal/Crossed(atom/movable/AM)
+/obj/effect/particle_effect/foam/metal/Crossed(atom/movable/AM)
return
-/obj/effect/effect/foam/proc/spread_foam()
+/obj/effect/particle_effect/foam/proc/spread_foam()
var/turf/t_loc = get_turf(src)
for(var/turf/T in t_loc.GetAtmosAdjacentTurfs())
- var/obj/effect/effect/foam/foundfoam = locate() in T //Don't spread foam where there's already foam!
+ var/obj/effect/particle_effect/foam/foundfoam = locate() in T //Don't spread foam where there's already foam!
if(foundfoam)
continue
for(var/mob/living/L in T)
foam_mob(L)
- var/obj/effect/effect/foam/F = PoolOrNew(src.type, T)
+ var/obj/effect/particle_effect/foam/F = PoolOrNew(src.type, T)
F.amount = amount
reagents.copy_to(F, (reagents.total_volume))
F.color = color
F.metal = metal
-/obj/effect/effect/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
+/obj/effect/particle_effect/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(prob(max(0, exposed_temperature - 475))) //foam dissolves when heated
kill_foam()
-/obj/effect/effect/foam/metal/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
+/obj/effect/particle_effect/foam/metal/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
return
///////////////////////////////////////////////
//FOAM EFFECT DATUM
-/datum/effect/effect/system/foam_spread
+/datum/effect_system/foam_spread
var/amount = 10 // the size of the foam spread.
var/obj/chemholder
- var/obj/effect/effect/foam/foamtype = /obj/effect/effect/foam
+ effect_type = /obj/effect/particle_effect/foam
var/metal = 0
-/datum/effect/effect/system/foam_spread/metal
- foamtype = /obj/effect/effect/foam/metal
+/datum/effect_system/foam_spread/metal
+ effect_type = /obj/effect/particle_effect/foam/metal
-/datum/effect/effect/system/foam_spread/New()
+/datum/effect_system/foam_spread/New()
..()
chemholder = PoolOrNew(/obj)
var/datum/reagents/R = new/datum/reagents(1000)
chemholder.reagents = R
R.my_atom = chemholder
-/datum/effect/effect/system/foam_spread/Destroy()
+/datum/effect_system/foam_spread/Destroy()
qdel(chemholder)
chemholder = null
return ..()
-/datum/effect/effect/system/foam_spread/set_up(amt=5, loca, datum/reagents/carry = null)
+/datum/effect_system/foam_spread/set_up(amt=5, loca, datum/reagents/carry = null)
if(istype(loca, /turf/))
location = loca
else
@@ -149,16 +149,16 @@
amount = round(sqrt(amt / 2), 1)
carry.copy_to(chemholder, 4*carry.total_volume) //The foam holds 4 times the total reagents volume for balance purposes.
-/datum/effect/effect/system/foam_spread/metal/set_up(amt=5, loca, datum/reagents/carry = null, metaltype)
+/datum/effect_system/foam_spread/metal/set_up(amt=5, loca, datum/reagents/carry = null, metaltype)
..()
metal = metaltype
-/datum/effect/effect/system/foam_spread/start()
- var/obj/effect/effect/foam/foundfoam = locate() in location
+/datum/effect_system/foam_spread/start()
+ var/obj/effect/particle_effect/foam/foundfoam = locate() in location
if(foundfoam)//If there was already foam where we start, we add our foaminess to it.
foundfoam.amount += amount
else
- var/obj/effect/effect/foam/F = PoolOrNew(foamtype, location)
+ var/obj/effect/particle_effect/foam/F = PoolOrNew(effect_type, location)
var/foamcolor = mix_color_from_reagents(chemholder.reagents.reagent_list)
chemholder.reagents.copy_to(F, chemholder.reagents.total_volume/amount)
F.color = foamcolor
diff --git a/code/game/objects/effects/effect_system/effects_other.dm b/code/game/objects/effects/effect_system/effects_other.dm
index 02c2a389a4b..6cd6bf23320 100644
--- a/code/game/objects/effects/effect_system/effects_other.dm
+++ b/code/game/objects/effects/effect_system/effects_other.dm
@@ -1,83 +1,114 @@
/////////////////////////////////////////////
-//////// Attach an Ion trail to any object, that spawns when it moves (like for the jetpack)
+//////// Attach a trail to any object, that spawns when it moves (like for the jetpack)
/// just pass in the object to attach it to in set_up
/// Then do start() to start it and stop() to stop it, obviously
/// and don't call start() in a loop that will be repeated otherwise it'll get spammed!
/////////////////////////////////////////////
-/obj/effect/effect/ion_trails
- name = "ion trails"
- icon_state = "ion_trails"
- anchored = 1
-
-/datum/effect/effect/system/ion_trail_follow
+/datum/effect_system/trail_follow
var/turf/oldposition
var/processing = 1
var/on = 1
-/datum/effect/effect/system/ion_trail_follow/Destroy()
+/datum/effect_system/trail_follow/set_up(atom/atom)
+ attach(atom)
+ oldposition = get_turf(atom)
+
+/datum/effect_system/trail_follow/Destroy()
oldposition = null
return ..()
-/datum/effect/effect/system/ion_trail_follow/set_up(atom/atom)
- attach(atom)
+/datum/effect_system/trail_follow/proc/stop()
+ processing = 0
+ on = 0
+ oldposition = null
+/datum/effect_system/trail_follow/steam
+ effect_type = /obj/effect/particle_effect/steam
-/datum/effect/effect/system/ion_trail_follow/start() //Whoever is responsible for this abomination of code should become an hero
- if(!src.on)
- src.on = 1
- src.processing = 1
- if(src.processing)
- src.processing = 0
- var/turf/T = get_turf(src.holder)
- if(T != src.oldposition)
+/datum/effect_system/trail_follow/steam/start()
+ if(!on)
+ on = 1
+ processing = 1
+ if(!oldposition)
+ oldposition = get_turf(holder)
+ if(processing)
+ processing = 0
+ if(number < 3)
+ var/obj/effect/particle_effect/steam/I = PoolOrNew(/obj/effect/particle_effect/steam, oldposition)
+ number++
+ I.dir = holder.dir
+ oldposition = get_turf(holder)
+ spawn(10)
+ qdel(I)
+ number--
+ spawn(2)
+ if(on)
+ processing = 1
+ start()
+
+/obj/effect/particle_effect/ion_trails
+ name = "ion trails"
+ icon_state = "ion_trails"
+ anchored = 1
+
+/datum/effect_system/trail_follow/ion
+ effect_type = /obj/effect/particle_effect/ion_trails
+
+/datum/effect_system/trail_follow/ion/start() //Whoever is responsible for this abomination of code should become an hero
+ if(!on)
+ on = 1
+ processing = 1
+ if(!oldposition)
+ oldposition = get_turf(holder)
+ if(processing)
+ processing = 0
+ var/turf/T = get_turf(holder)
+ if(T != oldposition)
if(!has_gravity(T))
- var/obj/effect/effect/ion_trails/I = PoolOrNew(/obj/effect/effect/ion_trails, oldposition)
- I.dir = src.holder.dir
+ var/obj/effect/particle_effect/ion_trails/I = PoolOrNew(effect_type, oldposition)
+ I.dir = holder.dir
flick("ion_fade", I)
I.icon_state = ""
- spawn( 20 )
+ spawn(20)
qdel(I)
- src.oldposition = T
+ oldposition = T
spawn(2)
- if(src.on)
- src.processing = 1
- src.start()
+ if(on)
+ processing = 1
+ start()
-/datum/effect/effect/system/ion_trail_follow/proc/stop()
- src.processing = 0
- src.on = 0
- oldposition = null
//Reagent-based explosion effect
-/datum/effect/effect/system/reagents_explosion
+
+/datum/effect_system/reagents_explosion
var/amount // TNT equivalent
var/flashing = 0 // does explosion creates flash effect?
var/flashing_factor = 0 // factor of how powerful the flash effect relatively to the explosion
var/explosion_message = 1 //whether we show a message to mobs.
-/datum/effect/effect/system/reagents_explosion/set_up (amt, loc, flash = 0, flash_fact = 0, message = 1)
+/datum/effect_system/reagents_explosion/set_up(amt, loca, flash = 0, flash_fact = 0, message = 1)
amount = amt
explosion_message = message
- if(istype(loc, /turf/))
- location = loc
+ if(isturf(loca))
+ location = loca
else
- location = get_turf(loc)
+ location = get_turf(loca)
flashing = flash
flashing_factor = flash_fact
return
-/datum/effect/effect/system/reagents_explosion/start()
+/datum/effect_system/reagents_explosion/start()
if(explosion_message)
location.visible_message("The solution violently explodes!", \
"You hear an explosion!")
if (amount <= 2)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm
index bf54d62ea65..cb5f4de5cdd 100644
--- a/code/game/objects/effects/effect_system/effects_smoke.dm
+++ b/code/game/objects/effects/effect_system/effects_smoke.dm
@@ -2,7 +2,7 @@
//// SMOKE SYSTEMS
/////////////////////////////////////////////
-/obj/effect/effect/smoke
+/obj/effect/particle_effect/smoke
name = "smoke"
icon = 'icons/effects/96x96.dmi'
icon_state = "smoke"
@@ -17,7 +17,7 @@
var/opaque = 1 //whether the smoke can block the view when in enough amount
-/obj/effect/effect/smoke/proc/fade_out(frames = 16)
+/obj/effect/particle_effect/smoke/proc/fade_out(frames = 16)
if(alpha == 0) //Handle already transparent case
return
if(frames == 0)
@@ -27,24 +27,24 @@
alpha -= step
sleep(world.tick_lag)
-/obj/effect/effect/smoke/New()
+/obj/effect/particle_effect/smoke/New()
..()
create_reagents(500)
SSobj.processing |= src
-/obj/effect/effect/smoke/Destroy()
+/obj/effect/particle_effect/smoke/Destroy()
SSobj.processing.Remove(src)
return ..()
-/obj/effect/effect/smoke/proc/kill_smoke()
+/obj/effect/particle_effect/smoke/proc/kill_smoke()
SSobj.processing.Remove(src)
spawn(0)
fade_out()
spawn(10)
qdel(src)
-/obj/effect/effect/smoke/process()
+/obj/effect/particle_effect/smoke/process()
lifetime--
if(lifetime < 1)
kill_smoke()
@@ -53,7 +53,7 @@
smoke_mob(L)
return 1
-/obj/effect/effect/smoke/proc/smoke_mob(mob/living/carbon/C)
+/obj/effect/particle_effect/smoke/proc/smoke_mob(mob/living/carbon/C)
if(!istype(C))
return 0
if(lifetime<1)
@@ -68,16 +68,16 @@
C.smoke_delay = 0
return 1
-/obj/effect/effect/smoke/proc/spread_smoke()
+/obj/effect/particle_effect/smoke/proc/spread_smoke()
var/turf/t_loc = get_turf(src)
var/list/newsmokes = list()
for(var/turf/T in t_loc.GetAtmosAdjacentTurfs())
- var/obj/effect/effect/smoke/foundsmoke = locate() in T //Don't spread smoke where there's already smoke!
+ var/obj/effect/particle_effect/smoke/foundsmoke = locate() in T //Don't spread smoke where there's already smoke!
if(foundsmoke)
continue
for(var/mob/living/L in T)
smoke_mob(L)
- var/obj/effect/effect/smoke/S = new type(T)
+ var/obj/effect/particle_effect/smoke/S = new type(T)
reagents.copy_to(S, reagents.total_volume)
S.dir = pick(cardinal)
S.amount = amount-1
@@ -90,25 +90,25 @@
if(newsmokes.len)
spawn(1) //the smoke spreads rapidly but not instantly
- for(var/obj/effect/effect/smoke/SM in newsmokes)
+ for(var/obj/effect/particle_effect/smoke/SM in newsmokes)
SM.spread_smoke()
-/datum/effect/effect/system/smoke_spread
+/datum/effect_system/smoke_spread
var/amount = 10
- var/smoke_type = /obj/effect/effect/smoke
+ effect_type = /obj/effect/particle_effect/smoke
-/datum/effect/effect/system/smoke_spread/set_up(radius = 5, loca)
+/datum/effect_system/smoke_spread/set_up(radius = 5, loca)
if(isturf(loca))
location = loca
else
location = get_turf(loca)
amount = radius
-/datum/effect/effect/system/smoke_spread/start()
+/datum/effect_system/smoke_spread/start()
if(holder)
location = get_turf(holder)
- var/obj/effect/effect/smoke/S = new smoke_type(location)
+ var/obj/effect/particle_effect/smoke/S = new effect_type(location)
S.amount = amount
if(S.amount)
S.spread_smoke()
@@ -118,17 +118,17 @@
// Bad smoke
/////////////////////////////////////////////
-/obj/effect/effect/smoke/bad
+/obj/effect/particle_effect/smoke/bad
lifetime = 8
-/obj/effect/effect/smoke/bad/smoke_mob(mob/living/carbon/M)
+/obj/effect/particle_effect/smoke/bad/smoke_mob(mob/living/carbon/M)
if(..())
M.drop_item()
M.adjustOxyLoss(1)
M.emote("cough")
return 1
-/obj/effect/effect/smoke/bad/CanPass(atom/movable/mover, turf/target, height=0)
+/obj/effect/particle_effect/smoke/bad/CanPass(atom/movable/mover, turf/target, height=0)
if(height==0) return 1
if(istype(mover, /obj/item/projectile/beam))
var/obj/item/projectile/beam/B = mover
@@ -137,23 +137,23 @@
-/datum/effect/effect/system/smoke_spread/bad
- smoke_type = /obj/effect/effect/smoke/bad
+/datum/effect_system/smoke_spread/bad
+ effect_type = /obj/effect/particle_effect/smoke/bad
/////////////////////////////////////////////
// Nanofrost smoke
/////////////////////////////////////////////
-/obj/effect/effect/smoke/freezing
+/obj/effect/particle_effect/smoke/freezing
name = "nanofrost smoke"
color = "#B2FFFF"
opaque = 0
-/datum/effect/effect/system/smoke_spread/freezing
- smoke_type = /obj/effect/effect/smoke/freezing
+/datum/effect_system/smoke_spread/freezing
+ effect_type = /obj/effect/particle_effect/smoke/freezing
var/blast = 0
-/datum/effect/effect/system/smoke_spread/freezing/proc/Chilled(atom/A)
+/datum/effect_system/smoke_spread/freezing/proc/Chilled(atom/A)
if(istype(A, /turf/simulated))
var/turf/simulated/T = A
if(T.air)
@@ -177,11 +177,11 @@
Item.extinguish()
return
-/datum/effect/effect/system/smoke_spread/freezing/set_up(radius = 5, loca, blasting = 0)
+/datum/effect_system/smoke_spread/freezing/set_up(radius = 5, loca, blasting = 0)
..()
blast = blasting
-/datum/effect/effect/system/smoke_spread/freezing/start()
+/datum/effect_system/smoke_spread/freezing/start()
if(blast)
for(var/turf/T in trange(2, location))
Chilled(T)
@@ -193,29 +193,29 @@
// Sleep smoke
/////////////////////////////////////////////
-/obj/effect/effect/smoke/sleeping
+/obj/effect/particle_effect/smoke/sleeping
color = "#9C3636"
lifetime = 10
-/obj/effect/effect/smoke/sleeping/smoke_mob(mob/living/carbon/M)
+/obj/effect/particle_effect/smoke/sleeping/smoke_mob(mob/living/carbon/M)
if(..())
M.drop_item()
M.sleeping = max(M.sleeping,10)
M.emote("cough")
return 1
-/datum/effect/effect/system/smoke_spread/sleeping
- smoke_type = /obj/effect/effect/smoke/sleeping
+/datum/effect_system/smoke_spread/sleeping
+ effect_type = /obj/effect/particle_effect/smoke/sleeping
/////////////////////////////////////////////
// Chem smoke
/////////////////////////////////////////////
-/obj/effect/effect/smoke/chem
+/obj/effect/particle_effect/smoke/chem
lifetime = 10
-/obj/effect/effect/smoke/chem/process()
+/obj/effect/particle_effect/smoke/chem/process()
if(..())
var/turf/T = get_turf(src)
var/fraction = 1/initial(lifetime)
@@ -227,7 +227,7 @@
reagents.reaction(T, TOUCH, fraction)
return 1
-/obj/effect/effect/smoke/chem/smoke_mob(mob/living/carbon/M)
+/obj/effect/particle_effect/smoke/chem/smoke_mob(mob/living/carbon/M)
if(lifetime<1)
return 0
if(!istype(M))
@@ -242,23 +242,23 @@
-/datum/effect/effect/system/smoke_spread/chem
+/datum/effect_system/smoke_spread/chem
var/obj/chemholder
- smoke_type = /obj/effect/effect/smoke/chem
+ effect_type = /obj/effect/particle_effect/smoke/chem
-/datum/effect/effect/system/smoke_spread/chem/New()
+/datum/effect_system/smoke_spread/chem/New()
..()
chemholder = PoolOrNew(/obj)
var/datum/reagents/R = new/datum/reagents(500)
chemholder.reagents = R
R.my_atom = chemholder
-/datum/effect/effect/system/smoke_spread/chem/Destroy()
+/datum/effect_system/smoke_spread/chem/Destroy()
qdel(chemholder)
chemholder = null
return ..()
-/datum/effect/effect/system/smoke_spread/chem/set_up(datum/reagents/carry = null, radius = 1, loca, silent = 0)
+/datum/effect_system/smoke_spread/chem/set_up(datum/reagents/carry = null, radius = 1, loca, silent = 0)
if(istype(loca, /turf/))
location = loca
else
@@ -289,11 +289,11 @@
log_game("A chemical smoke reaction has taken place in ([where])[contained]. No associated key.")
-/datum/effect/effect/system/smoke_spread/chem/start()
+/datum/effect_system/smoke_spread/chem/start()
var/color = mix_color_from_reagents(chemholder.reagents.reagent_list)
if(holder)
location = get_turf(holder)
- var/obj/effect/effect/smoke/chem/S = new smoke_type(location)
+ var/obj/effect/particle_effect/smoke/chem/S = new effect_type(location)
if(chemholder.reagents.total_volume > 1) // can't split 1 very well
chemholder.reagents.copy_to(S, chemholder.reagents.total_volume)
diff --git a/code/game/objects/effects/effect_system/effects_sparks.dm b/code/game/objects/effects/effect_system/effects_sparks.dm
index e67971ed6a9..cac9fe3d4b3 100644
--- a/code/game/objects/effects/effect_system/effects_sparks.dm
+++ b/code/game/objects/effects/effect_system/effects_sparks.dm
@@ -5,110 +5,42 @@
// will always spawn at the items location.
/////////////////////////////////////////////
-/obj/effect/effect/sparks
+/obj/effect/particle_effect/sparks
name = "sparks"
icon_state = "sparks"
- var/amount = 6
anchored = 1
- mouse_opacity = 0
-/obj/effect/effect/sparks/New()
+/obj/effect/particle_effect/sparks/New()
..()
flick("sparks", src) // replay the animation
playsound(src.loc, "sparks", 100, 1)
var/turf/T = src.loc
if (istype(T, /turf))
T.hotspot_expose(1000,100)
- spawn (100)
+ spawn(20)
qdel(src)
-/obj/effect/effect/sparks/Destroy()
+/obj/effect/particle_effect/sparks/Destroy()
var/turf/T = src.loc
if (istype(T, /turf))
T.hotspot_expose(1000,100)
return ..()
-/obj/effect/effect/sparks/Move()
+/obj/effect/particle_effect/sparks/Move()
..()
var/turf/T = src.loc
- if (istype(T, /turf))
+ if(isturf(T))
T.hotspot_expose(1000,100)
- return
-/datum/effect/effect/system/spark_spread
- var/total_sparks = 0 // To stop it being spammed and lagging!
-
-/datum/effect/effect/system/spark_spread/set_up(n = 3, c = 0, loca)
- if(n > 10)
- n = 10
- number = n
- cardinals = c
- if(istype(loca, /turf/))
- location = loca
- else
- location = get_turf(loca)
-
-/datum/effect/effect/system/spark_spread/start()
- var/i = 0
- for(i=0, i 20)
- return
- spawn(0)
- if(holder)
- src.location = get_turf(holder)
- var/obj/effect/effect/sparks/sparks = PoolOrNew(/obj/effect/effect/sparks, location)
- src.total_sparks++
- var/direction
- if(src.cardinals)
- direction = pick(cardinal)
- else
- direction = pick(alldirs)
- for(i=0, i 10)
- n = 10
- number = n
- cardinals = c
- if(istype(loca, /turf/))
- location = loca
- else
- location = get_turf(loca)
-
-/datum/effect/effect/system/lightning_spread/start()
- var/i = 0
- for(i=0, i 20)
- return
- spawn(0)
- if(holder)
- src.location = get_turf(holder)
- var/obj/effect/effect/sparks/electricity/sparks = PoolOrNew(/obj/effect/effect/sparks/electricity, location)
- src.total_sparks++
- var/direction
- if(src.cardinals)
- direction = pick(cardinal)
- else
- direction = pick(alldirs)
- for(i=0, i 10)
- n = 10
- number = n
- cardinals = c
- location = loc
-
-/datum/effect/effect/system/steam_spread/start()
- var/i = 0
- for(i=0, i[victim] sets off \icon[src] [src]!")
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
mineEffect(victim)
diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm
index 878c378a237..8d6f3974b76 100644
--- a/code/game/objects/effects/portals.dm
+++ b/code/game/objects/effects/portals.dm
@@ -1,3 +1,6 @@
+
+/obj/effect
+
/obj/effect/portal
name = "portal"
desc = "Looks unstable. Best to test it with the clown."
diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm
index 3c44d6e1454..ea28eef5d5c 100644
--- a/code/game/objects/effects/step_triggers.dm
+++ b/code/game/objects/effects/step_triggers.dm
@@ -144,20 +144,20 @@
M.Move(dest)
if(entersparks)
- var/datum/effect/effect/system/spark_spread/s = new
+ var/datum/effect_system/spark_spread/s = new
s.set_up(4, 1, src)
s.start()
if(exitsparks)
- var/datum/effect/effect/system/spark_spread/s = new
+ var/datum/effect_system/spark_spread/s = new
s.set_up(4, 1, dest)
s.start()
if(entersmoke)
- var/datum/effect/effect/system/smoke_spread/s = new
+ var/datum/effect_system/smoke_spread/s = new
s.set_up(4, 1, src, 0)
s.start()
if(exitsmoke)
- var/datum/effect/effect/system/smoke_spread/s = new
+ var/datum/effect_system/smoke_spread/s = new
s.set_up(4, 1, dest, 0)
s.start()
diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm
index 6d3c4e6dce0..1f72ec2e519 100644
--- a/code/game/objects/explosion.dm
+++ b/code/game/objects/explosion.dm
@@ -74,7 +74,7 @@
SSmachine.postpone(postponeCycles)
if(heavy_impact_range > 1)
- var/datum/effect/system/explosion/E = new/datum/effect/system/explosion()
+ var/datum/effect_system/explosion/E = new/datum/effect_system/explosion()
E.set_up(epicenter)
E.start()
diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm
index 91a9da0d1b8..5e6a85914ed 100644
--- a/code/game/objects/items/devices/chameleonproj.dm
+++ b/code/game/objects/items/devices/chameleonproj.dm
@@ -67,7 +67,7 @@
/obj/item/device/chameleon/proc/disrupt(delete_dummy = 1)
if(active_dummy)
- var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/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()
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index 068c9c4b905..ce8e17ac87e 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -111,7 +111,7 @@
step(M, pick(cardinal))
M << "You feel a sharp shock!"
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, M)
s.start()
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 334ca37c804..e93e42896ba 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -516,7 +516,7 @@
w_class = 1
/obj/item/toy/snappop/proc/pop_burst()
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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)
@@ -539,7 +539,7 @@
if(M.m_intent == "run")
M << "You step on the snap pop!"
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 0, src)
s.start()
new /obj/effect/decal/cleanable/ash(src.loc)
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index ef2806a9693..45d48b4fb1c 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -21,7 +21,7 @@ RCD
materials = list(MAT_METAL=100000)
origin_tech = "engineering=4;materials=2"
req_access_txt = "11"
- var/datum/effect/effect/system/spark_spread/spark_system
+ var/datum/effect_system/spark_spread/spark_system
var/matter = 0
var/max_matter = 160
var/working = 0
@@ -229,8 +229,9 @@ RCD
/obj/item/weapon/rcd/New()
+ ..()
desc = "An RCD. It currently holds [matter]/[max_matter] matter-units."
- src.spark_system = new /datum/effect/effect/system/spark_spread
+ src.spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
rcd_list += src
diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm
index 41162bbe617..320adf21ed8 100644
--- a/code/game/objects/items/weapons/RPD.dm
+++ b/code/game/objects/items/weapons/RPD.dm
@@ -136,7 +136,7 @@ var/global/list/RPD_recipes=list(
w_class = 3
materials = list(MAT_METAL=75000, MAT_GLASS=37500)
origin_tech = "engineering=4;materials=2"
- var/datum/effect/effect/system/spark_spread/spark_system
+ var/datum/effect_system/spark_spread/spark_system
var/working = 0
var/p_type = 0
var/p_conntype = 0
@@ -158,7 +158,7 @@ var/global/list/RPD_recipes=list(
/obj/item/weapon/pipe_dispenser/New()
. = ..()
- spark_system = new /datum/effect/effect/system/spark_spread
+ spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm
index e95ad094637..c18f344a717 100644
--- a/code/game/objects/items/weapons/cigs_lighters.dm
+++ b/code/game/objects/items/weapons/cigs_lighters.dm
@@ -174,7 +174,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
damtype = "fire"
force = 4
if(reagents.get_reagent_amount("plasma")) // the plasma explodes when exposed to fire
- var/datum/effect/effect/system/reagents_explosion/e = new()
+ var/datum/effect_system/reagents_explosion/e = new()
e.set_up(round(reagents.get_reagent_amount("plasma") / 2.5, 1), get_turf(src), 0, 0)
e.start()
if(ismob(loc))
@@ -183,7 +183,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
qdel(src)
return
if(reagents.get_reagent_amount("welding_fuel")) // the fuel explodes, too, but much less violently
- var/datum/effect/effect/system/reagents_explosion/e = new()
+ var/datum/effect_system/reagents_explosion/e = new()
e.set_up(round(reagents.get_reagent_amount("welding_fuel") / 5, 1), get_turf(src), 0, 0)
e.start()
if(ismob(loc))
diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm
index 02aa4feb3e6..aaa24788476 100644
--- a/code/game/objects/items/weapons/clown_items.dm
+++ b/code/game/objects/items/weapons/clown_items.dm
@@ -43,7 +43,7 @@
/obj/item/weapon/soap/suicide_act(mob/user)
user.say(";FFFFFFFFFFFFFFFFUUUUUUUDGE!!")
user.visible_message("[user] lifts the [src.name] to their mouth and gnaws on it furiously, producing a thick froth! They'll never get that BB gun now!")
- PoolOrNew(/obj/effect/effect/foam, loc)
+ PoolOrNew(/obj/effect/particle_effect/foam, loc)
return (TOXLOSS)
/obj/item/weapon/soap/Crossed(AM as mob|obj)
diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm
index ffdb5b0031e..9d09a3b0cf8 100644
--- a/code/game/objects/items/weapons/extinguisher.dm
+++ b/code/game/objects/items/weapons/extinguisher.dm
@@ -131,7 +131,7 @@
for(var/a=0, a<5, a++)
spawn(0)
- var/obj/effect/effect/water/W = PoolOrNew( /obj/effect/effect/water, get_turf(src) )
+ var/obj/effect/particle_effect/water/W = PoolOrNew( /obj/effect/particle_effect/water, get_turf(src) )
var/turf/my_target = pick(the_targets)
if(precision)
the_targets -= my_target
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 3a1c8fa1094..0f81973778e 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -183,7 +183,7 @@
mix_reagents()
if(reagents.total_volume) //The possible reactions didnt use up all reagents, so we spread it around.
- var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread()
+ var/datum/effect_system/steam_spread/steam = new /datum/effect_system/steam_spread()
steam.set_up(10, 0, get_turf(src))
steam.attach(src)
steam.start()
diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm
index 442cb76fe2f..ed4d00fbc6b 100644
--- a/code/game/objects/items/weapons/grenades/smokebomb.dm
+++ b/code/game/objects/items/weapons/grenades/smokebomb.dm
@@ -5,11 +5,11 @@
det_time = 20
item_state = "flashbang"
slot_flags = SLOT_BELT
- var/datum/effect/effect/system/smoke_spread/bad/smoke
+ var/datum/effect_system/smoke_spread/bad/smoke
/obj/item/weapon/grenade/smokebomb/New()
..()
- src.smoke = new /datum/effect/effect/system/smoke_spread/bad
+ src.smoke = new /datum/effect_system/smoke_spread/bad
src.smoke.attach(src)
/obj/item/weapon/grenade/smokebomb/Destroy()
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index be562abd8ef..c6047b5c6af 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -246,7 +246,7 @@
..()
spawn(100)
if(!istype(loc, /mob))
- var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/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()
qdel(src)
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index e22e919cd55..340e8f35485 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -205,11 +205,11 @@
throw_range = 1
w_class = 4//So you can't hide it in your pocket or some such.
flags = NOSHIELD
- var/datum/effect/effect/system/spark_spread/spark_system
+ var/datum/effect_system/spark_spread/spark_system
//Most of the other special functions are handled in their own files. aka special snowflake code so kewl
/obj/item/weapon/melee/energy/blade/New()
- spark_system = new /datum/effect/effect/system/spark_spread()
+ spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm
index 04f3d8e95ba..07cd251c829 100644
--- a/code/game/objects/items/weapons/scrolls.dm
+++ b/code/game/objects/items/weapons/scrolls.dm
@@ -58,7 +58,7 @@
if(!((user == loc || (in_range(src, user) && istype(src.loc, /turf)))))
return
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(2, user.loc)
smoke.attach(user)
smoke.start()
diff --git a/code/game/objects/items/weapons/singularityhammer.dm b/code/game/objects/items/weapons/singularityhammer.dm
index ad021525f0a..47d08602b72 100644
--- a/code/game/objects/items/weapons/singularityhammer.dm
+++ b/code/game/objects/items/weapons/singularityhammer.dm
@@ -86,7 +86,7 @@
origin_tech = "combat=5;powerstorage=5"
/obj/item/weapon/twohanded/mjollnir/proc/shock(mob/living/target)
- var/datum/effect/effect/system/lightning_spread/s = new /datum/effect/effect/system/lightning_spread
+ var/datum/effect_system/lightning_spread/s = new /datum/effect_system/lightning_spread
s.set_up(5, 1, target.loc)
s.start()
target.take_organ_damage(0,30)
diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm
index 87f7a91e262..e69653ef0d1 100644
--- a/code/game/objects/items/weapons/tanks/jetpack.dm
+++ b/code/game/objects/items/weapons/tanks/jetpack.dm
@@ -6,14 +6,14 @@
item_state = "jetpack"
distribute_pressure = ONE_ATMOSPHERE * O2STANDARD
action_button_name = "Toggle Jetpack"
- var/datum/effect/effect/system/ion_trail_follow/ion_trail
+ var/datum/effect_system/trail_follow/ion/ion_trail
var/on = 0
var/stabilization_on = 0
var/volume_rate = 500 //Needed for borg jetpack transfer
/obj/item/weapon/tank/jetpack/New()
..()
- ion_trail = new /datum/effect/effect/system/ion_trail_follow()
+ ion_trail = new /datum/effect_system/trail_follow/ion()
ion_trail.set_up(src)
@@ -104,7 +104,7 @@
/obj/item/weapon/tank/jetpack/carbondioxide/New()
..()
- ion_trail = new /datum/effect/effect/system/ion_trail_follow()
+ ion_trail = new /datum/effect_system/trail_follow/ion()
ion_trail.set_up(src)
air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
diff --git a/code/game/objects/items/weapons/tanks/watertank.dm b/code/game/objects/items/weapons/tanks/watertank.dm
index d7adcd96db4..f9cee70d66e 100644
--- a/code/game/objects/items/weapons/tanks/watertank.dm
+++ b/code/game/objects/items/weapons/tanks/watertank.dm
@@ -293,7 +293,7 @@
if(!Adj|| !istype(target, /turf))
return
if(metal_synthesis_cooldown < 5)
- var/obj/effect/effect/foam/metal/F = PoolOrNew(/obj/effect/effect/foam/metal, get_turf(target))
+ var/obj/effect/particle_effect/foam/metal/F = PoolOrNew(/obj/effect/particle_effect/foam/metal, get_turf(target))
F.amount = 0
metal_synthesis_cooldown++
spawn(100)
@@ -311,7 +311,7 @@
pass_flags = PASSTABLE
/obj/effect/nanofrost_container/proc/Smoke()
- var/datum/effect/effect/system/smoke_spread/freezing/S = new
+ var/datum/effect_system/smoke_spread/freezing/S = new
S.set_up(2, src.loc, blasting=1)
S.start()
var/obj/effect/decal/cleanable/flour/F = new /obj/effect/decal/cleanable/flour(src.loc)
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index 4f750117216..44edb4a6f24 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -215,7 +215,7 @@
if(isliving(user))
var/mob/living/L = user
if(L.electrocute_act(17, src))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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
diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm
index ea02c495be9..b1802b6f7a6 100644
--- a/code/game/objects/structures/electricchair.dm
+++ b/code/game/objects/structures/electricchair.dm
@@ -44,7 +44,7 @@
A.updateicon()
flick("echair1", src)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(12, 1, src)
s.start()
if(buckled_mob)
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index d6c56c34a34..8a02e0ad474 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -237,7 +237,7 @@
var/obj/structure/cable/C = T.get_cable_node()
if(C)
if(electrocute_mob(user, C, src))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
return 1
diff --git a/code/game/objects/structures/hivebot.dm b/code/game/objects/structures/hivebot.dm
index 35f50d2aabf..02969f8a79a 100644
--- a/code/game/objects/structures/hivebot.dm
+++ b/code/game/objects/structures/hivebot.dm
@@ -10,7 +10,7 @@
/obj/structure/hivebot_beacon/New()
..()
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(2, loc)
smoke.start()
visible_message("The [src] warps in!")
diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm
index ea1c6621eef..0b6c43f50a8 100644
--- a/code/modules/assembly/igniter.dm
+++ b/code/modules/assembly/igniter.dm
@@ -4,7 +4,7 @@
icon_state = "igniter"
materials = list(MAT_METAL=500, MAT_GLASS=50)
origin_tech = "magnets=1"
- var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread
heat = 1000
/obj/item/device/assembly/igniter/New()
diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm
index a99c853513b..4d3d62244e1 100644
--- a/code/modules/awaymissions/mission_code/wildwest.dm
+++ b/code/modules/awaymissions/mission_code/wildwest.dm
@@ -142,7 +142,7 @@
O << "[M] triggered the \icon[src] [src]"
triggered = 1
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm
index 86594113f29..42ab9dac848 100644
--- a/code/modules/clothing/spacesuits/plasmamen.dm
+++ b/code/modules/clothing/spacesuits/plasmamen.dm
@@ -29,7 +29,7 @@
extinguishes_left--
H.visible_message("[H]'s suit automatically extinguishes them!","Your suit automatically extinguishes you.")
H.ExtinguishMob()
- PoolOrNew(/obj/effect/effect/water, get_turf(H))
+ PoolOrNew(/obj/effect/particle_effect/water, get_turf(H))
//I just want the light feature of the hardsuit helmet
diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm
index f47ea71f2d6..79b38a2d5e8 100644
--- a/code/modules/events/vent_clog.dm
+++ b/code/modules/events/vent_clog.dm
@@ -34,7 +34,7 @@
R.my_atom = vent
R.add_reagent(pick(gunk), 50)
- var/datum/effect/effect/system/smoke_spread/chem/smoke = new
+ var/datum/effect_system/smoke_spread/chem/smoke = new
smoke.set_up(R, 1, vent, silent = 1)
playsound(vent.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
smoke.start()
diff --git a/code/modules/events/wizard/curseditems.dm b/code/modules/events/wizard/curseditems.dm
index 410a46c0f41..e077ef55271 100644
--- a/code/modules/events/wizard/curseditems.dm
+++ b/code/modules/events/wizard/curseditems.dm
@@ -51,6 +51,6 @@
I.name = "cursed " + I.name
for(var/mob/living/carbon/human/H in living_mob_list)
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(0, H.loc)
smoke.start()
diff --git a/code/modules/events/wizard/imposter.dm b/code/modules/events/wizard/imposter.dm
index 9a155830455..7987b2e5bfd 100644
--- a/code/modules/events/wizard/imposter.dm
+++ b/code/modules/events/wizard/imposter.dm
@@ -14,7 +14,7 @@
if(!candidates) return //Sad Trombone
var/client/C = pick(candidates)
- PoolOrNew(/obj/effect/effect/smoke, W.loc)
+ PoolOrNew(/obj/effect/particle_effect/smoke, W.loc)
var/mob/living/carbon/human/I = new /mob/living/carbon/human(W.loc)
W.dna.transfer_identity(I, transfer_SE=1)
diff --git a/code/modules/events/wizard/shuffle.dm b/code/modules/events/wizard/shuffle.dm
index a30f1be1491..5597be83c7f 100644
--- a/code/modules/events/wizard/shuffle.dm
+++ b/code/modules/events/wizard/shuffle.dm
@@ -28,7 +28,7 @@
moblocs.len -= 1
for(var/mob/living/carbon/human/H in living_mob_list)
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(0, H.loc)
smoke.start()
@@ -60,7 +60,7 @@
mobnames.len -= 1
for(var/mob/living/carbon/human/H in living_mob_list)
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(0, H.loc)
smoke.start()
@@ -92,6 +92,6 @@
mobs -= mobs[mobs.len]
for(var/mob/living/carbon/human/H in living_mob_list)
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(0, H.loc)
smoke.start()
diff --git a/code/modules/food&drinks/kitchen machinery/microwave.dm b/code/modules/food&drinks/kitchen machinery/microwave.dm
index 400bbd075a9..94326f51489 100644
--- a/code/modules/food&drinks/kitchen machinery/microwave.dm
+++ b/code/modules/food&drinks/kitchen machinery/microwave.dm
@@ -308,7 +308,7 @@
qdel(S)
/obj/machinery/microwave/proc/broke()
- var/datum/effect/effect/system/spark_spread/s = new
+ var/datum/effect_system/spark_spread/s = new
s.set_up(2, 1, src)
s.start()
icon_state = "mwb" // Make it look all busted up and shit
diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm
index 4c2f1a18855..b3794a4644e 100644
--- a/code/modules/mining/equipment_locker.dm
+++ b/code/modules/mining/equipment_locker.dm
@@ -224,7 +224,7 @@
return
/obj/machinery/mineral/ore_redemption/ex_act(severity, target)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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)
@@ -391,7 +391,7 @@
qdel(voucher)
/obj/machinery/mineral/equipment_vendor/ex_act(severity, target)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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)
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index 5e15bcd71a7..f7009a2573c 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -178,7 +178,7 @@
used = TRUE
sleep(50)
playsound(get_turf(src), 'sound/effects/phasein.ogg', 100, 1)
- PoolOrNew(/obj/effect/effect/smoke, src.loc)
+ PoolOrNew(/obj/effect/particle_effect/smoke, src.loc)
load()
qdel(src)
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index f4d46e02fc3..fad49701ae8 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -82,7 +82,7 @@
visible_message("The [M.name] has shocked [src]!", \
"The [M.name] has shocked [src]!")
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
var/power = M.powerlevel + rand(0,3)
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 4e708d7f2b2..76b58d05dff 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -37,7 +37,7 @@ var/list/ai_list = list()
var/obj/item/device/multitool/aiMulti = null
var/obj/machinery/bot/Bot
var/tracking = 0 //this is 1 if the AI is currently tracking somebody, but the track has not yet been completed.
- var/datum/effect/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
//MALFUNCTION
var/datum/module_picker/malf_picker
@@ -85,7 +85,7 @@ var/list/ai_list = list()
holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holo1"))
- spark_system = new /datum/effect/effect/system/spark_spread()
+ spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index c5cdaedc234..9a5270b4be8 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -48,8 +48,8 @@
var/modtype = "robot"
var/lower_mod = 0
var/jetpack = 0
- var/datum/effect/effect/system/ion_trail_follow/ion_trail = null
- var/datum/effect/effect/system/spark_spread/spark_system//So they can initialize sparks whenever/N
+ var/datum/effect_system/trail_follow/ion/ion_trail = null
+ var/datum/effect_system/spark_spread/spark_system//So they can initialize sparks whenever/N
var/jeton = 0
var/lawupdate = 1 //Cyborgs will sync their laws with their AI by default
@@ -70,7 +70,7 @@
var/updating = 0 //portable camera camerachunk update
/mob/living/silicon/robot/New(loc)
- spark_system = new /datum/effect/effect/system/spark_spread()
+ spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm
index ca434c387aa..d71bf264a14 100644
--- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm
@@ -47,7 +47,7 @@
..(1)
visible_message("[src] blows apart!")
new /obj/effect/decal/cleanable/robot_debris(src.loc)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
ghostize()
diff --git a/code/modules/mob/living/simple_animal/revenant/revenant_abilities.dm b/code/modules/mob/living/simple_animal/revenant/revenant_abilities.dm
index 0ed3e23e591..3713815c8bc 100644
--- a/code/modules/mob/living/simple_animal/revenant/revenant_abilities.dm
+++ b/code/modules/mob/living/simple_animal/revenant/revenant_abilities.dm
@@ -58,7 +58,7 @@
return
L.visible_message("\The [L] suddenly flares brightly and begins to spark!")
sleep(10)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(4, 1, L)
s.start()
sleep(10)
@@ -67,7 +67,7 @@
return
M.Beam(L,icon_state="lightning",icon='icons/effects/effects.dmi',time=5)
M.electrocute_act(25, "[L.name]")
- var/datum/effect/effect/system/spark_spread/z = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/z = new /datum/effect_system/spark_spread
z.set_up(4, 1, M)
z.start()
playsound(M, 'sound/machines/defib_zap.ogg', 50, 1, -1)
@@ -166,7 +166,7 @@
S << "ERROR $!(@ ERROR )#^! SENSORY OVERLOAD \[$(!@#"
S << 'sound/misc/interference.ogg'
playsound(S, 'sound/machines/warning-buzzer.ogg', 50, 1)
- var/datum/effect/effect/system/spark_spread/sp = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread
sp.set_up(5, 1, S)
sp.start()
S.Weaken(6)
diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm
index 1e03ac46a1a..0c1fc6093f0 100644
--- a/code/modules/ninja/energy_katana.dm
+++ b/code/modules/ninja/energy_katana.dm
@@ -7,7 +7,7 @@
force = 40
throwforce = 20
armour_penetration = 15
- var/datum/effect/effect/system/spark_spread/spark_system
+ var/datum/effect_system/spark_spread/spark_system
/obj/item/weapon/katana/energy/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
if(!user || !target)
@@ -65,7 +65,7 @@
/obj/item/weapon/katana/energy/New()
..()
- spark_system = new /datum/effect/effect/system/spark_spread()
+ spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
diff --git a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm
index 9af14584432..8d82ae40c5d 100644
--- a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm
@@ -73,7 +73,7 @@ It is possible to destroy the net by the occupant or someone else.
M << "You appear in a strange place!"
spawn(0)
- var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
+ var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, M.loc)
spark_system.start()
playsound(M.loc, 'sound/effects/phasein.ogg', 25, 1)
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_smoke.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_smoke.dm
index 67fd087608e..5b8c58f1d2f 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_smoke.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_smoke.dm
@@ -9,7 +9,7 @@
if(!ninjacost(0,N_SMOKE_BOMB))
var/mob/living/carbon/human/H = affecting
- var/datum/effect/effect/system/smoke_spread/bad/smoke = new
+ var/datum/effect_system/smoke_spread/bad/smoke = new
smoke.set_up(4, H.loc)
smoke.start()
playsound(H.loc, 'sound/effects/bamf.ogg', 50, 2)
diff --git a/code/modules/ninja/suit/ninjaDrainAct.dm b/code/modules/ninja/suit/ninjaDrainAct.dm
index 11d97b7a7c4..3a48faefcbe 100644
--- a/code/modules/ninja/suit/ninjaDrainAct.dm
+++ b/code/modules/ninja/suit/ninjaDrainAct.dm
@@ -28,7 +28,7 @@ They *could* go in their appropriate files, but this is supposed to be modular
. = 0
if(cell && cell.charge)
- var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
+ var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, loc)
while(G.candrain && cell.charge> 0 && !maxcapacity)
@@ -71,7 +71,7 @@ They *could* go in their appropriate files, but this is supposed to be modular
. = 0
if(charge)
- var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
+ var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, loc)
while(G.candrain && charge > 0 && !maxcapacity)
@@ -278,7 +278,7 @@ They *could* go in their appropriate files, but this is supposed to be modular
if(S.cell && S.cell.charge && S.cell.use(1000))
. = DRAIN_MOB_SHOCK
//Got that electric touch
- var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
+ var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, loc)
playsound(src, "sparks", 50, 1)
visible_message("[H] electrocutes [src] with their touch!", "[H] electrocutes you with their touch!")
diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm
index a09592528a2..c74a0b30edc 100644
--- a/code/modules/ninja/suit/suit.dm
+++ b/code/modules/ninja/suit/suit.dm
@@ -25,7 +25,7 @@ Contents:
//Important parts of the suit.
var/mob/living/carbon/human/affecting = null
var/obj/item/weapon/stock_parts/cell/cell
- var/datum/effect/effect/system/spark_spread/spark_system
+ var/datum/effect_system/spark_spread/spark_system
var/list/reagent_list = list("omnizine","salbutamol","spaceacillin","charcoal","nutriment","radium","potass_iodide")//The reagents ids which are added to the suit at New().
var/list/stored_research = list()//For stealing station research.
var/obj/item/weapon/disk/tech_disk/t_disk//To copy design onto disk.
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 1eb73268566..dc7c033d22a 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -486,7 +486,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/effect/system/spark_spread/s = new /datum/effect/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
@@ -936,11 +936,11 @@
cell.corrupt()
src.malfhack = 1
update_icon()
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(1, src.loc)
smoke.attach(src)
smoke.start()
- var/datum/effect/effect/system/spark_spread/s = new
+ var/datum/effect_system/spark_spread/s = new
s.set_up(3, 1, src)
s.start()
visible_message("The [src.name] suddenly lets out a blast of smoke and some sparks!", \
@@ -1206,7 +1206,7 @@
/obj/machinery/power/apc/proc/shock(mob/user, prb)
if(!prob(prb))
return 0
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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(isalien(user))
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 3180e7c593e..b2ca9ae4a1b 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -166,7 +166,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/effect/system/spark_spread/s = new /datum/effect/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
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index bdbab991470..287aa0d28bd 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -351,7 +351,7 @@
user << "You stick \the [W] into the light socket!"
if(has_power() && (W.flags & CONDUCT))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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))
@@ -496,7 +496,7 @@
if(status == LIGHT_OK || status == LIGHT_BURNED)
playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1)
if(on)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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
diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm
index 7fc737afb46..cc65f704968 100644
--- a/code/modules/power/singularity/containment_field.dm
+++ b/code/modules/power/singularity/containment_field.dm
@@ -113,7 +113,7 @@
return
/obj/machinery/field/proc/bump_field(atom/movable/AM as mob|obj)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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)))
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index 95cec63ff84..673767faa5c 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -163,7 +163,7 @@
playsound(src.loc, 'sound/weapons/emitter.ogg', 25, 1)
if(prob(35))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm
index 25be564a372..38f637d82fc 100644
--- a/code/modules/power/singularity/narsie.dm
+++ b/code/modules/power/singularity/narsie.dm
@@ -42,7 +42,7 @@
user << "Your soul is too far away."
return
makeNewConstruct(/mob/living/simple_animal/construct/harvester, user, null, 1)
- PoolOrNew(/obj/effect/effect/smoke/sleeping, user.loc)
+ PoolOrNew(/obj/effect/particle_effect/smoke/sleeping, user.loc)
/obj/singularity/narsie/process()
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index fe60d38873c..2873fb753e0 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -138,7 +138,7 @@
if(do_after(user, 20, target = src) && C.amount >= 10)
var/obj/structure/cable/N = T.get_cable_node() //get the connecting node cable, if there's one
if (prob(50) && electrocute_mob(usr, N, N)) //animate the electrocution if uncautious and unlucky
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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
diff --git a/code/modules/power/terminal.dm b/code/modules/power/terminal.dm
index 37fded3198f..ddc0723be64 100644
--- a/code/modules/power/terminal.dm
+++ b/code/modules/power/terminal.dm
@@ -63,7 +63,7 @@
if(do_after(user, 50, target = src))
if(master && master.can_terminal_dismantle())
if(prob(50) && electrocute_mob(user, powernet, src))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, master)
s.start()
return
diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm
index 15eca5df034..e1e88439f09 100644
--- a/code/modules/projectiles/guns/magic/wand.dm
+++ b/code/modules/projectiles/guns/magic/wand.dm
@@ -123,7 +123,7 @@
/obj/item/weapon/gun/magic/wand/teleport/zap_self(mob/living/user)
do_teleport(user, user, 10)
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(3, user.loc)
smoke.start()
charges--
diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm
index f8e6dbf479b..df78f854412 100644
--- a/code/modules/projectiles/projectile/energy.dm
+++ b/code/modules/projectiles/projectile/energy.dm
@@ -21,7 +21,7 @@
/obj/item/projectile/energy/electrode/on_hit(atom/target, blocked = 0)
. = ..()
if(!ismob(target) || blocked >= 2) //Fully blocked by mob or collided with dense object - burst into sparks!
- var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/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))
@@ -33,7 +33,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/effect/system/spark_spread/sparks = new /datum/effect/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()
..()
@@ -56,7 +56,7 @@
..()
/obj/item/projectile/energy/net/on_range()
- var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/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()
..()
diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm
index d714ea730d9..46ec24aa982 100644
--- a/code/modules/projectiles/projectile/magic.dm
+++ b/code/modules/projectiles/projectile/magic.dm
@@ -81,7 +81,7 @@
if(!stuff.anchored && stuff.loc)
teleammount++
do_teleport(stuff, stuff, 10)
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(max(round(4 - teleammount),0), stuff.loc) //Smoke drops off if a lot of stuff is moved for the sake of sanity
smoke.start()
diff --git a/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm
index 32a253ae5de..a523b04ce35 100644
--- a/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm
@@ -96,7 +96,7 @@
/datum/reagent/blackpowder/on_ex_act()
var/location = get_turf(holder.my_atom)
- var/datum/effect/effect/system/reagents_explosion/e = new()
+ var/datum/effect_system/reagents_explosion/e = new()
e.set_up(1 + round(volume/6, 1), location, 0, 0, message = 0)
e.start()
holder.clear_reagents()
diff --git a/code/modules/reagents/Chemistry-Recipes/Others.dm b/code/modules/reagents/Chemistry-Recipes/Others.dm
index 89c8ed50a8e..c375d787d17 100644
--- a/code/modules/reagents/Chemistry-Recipes/Others.dm
+++ b/code/modules/reagents/Chemistry-Recipes/Others.dm
@@ -199,7 +199,7 @@
var/location = get_turf(holder.my_atom)
for(var/mob/M in viewers(5, location))
M << "The solution spews out foam!"
- var/datum/effect/effect/system/foam_spread/s = new()
+ var/datum/effect_system/foam_spread/s = new()
s.set_up(created_volume, location, holder)
s.start()
holder.clear_reagents()
@@ -220,7 +220,7 @@
for(var/mob/M in viewers(5, location))
M << "The solution spews out a metallic foam!"
- var/datum/effect/effect/system/foam_spread/metal/s = new()
+ var/datum/effect_system/foam_spread/metal/s = new()
s.set_up(created_volume, location, holder, 1)
s.start()
holder.clear_reagents()
@@ -237,7 +237,7 @@
var/location = get_turf(holder.my_atom)
for(var/mob/M in viewers(5, location))
M << "The solution spews out a metallic foam!"
- var/datum/effect/effect/system/foam_spread/metal/s = new()
+ var/datum/effect_system/foam_spread/metal/s = new()
s.set_up(created_volume, location, holder, 2)
s.start()
holder.clear_reagents()
diff --git a/code/modules/reagents/Chemistry-Recipes/Pyrotechnics.dm b/code/modules/reagents/Chemistry-Recipes/Pyrotechnics.dm
index 470ded9a986..bd5b6fcc337 100644
--- a/code/modules/reagents/Chemistry-Recipes/Pyrotechnics.dm
+++ b/code/modules/reagents/Chemistry-Recipes/Pyrotechnics.dm
@@ -11,7 +11,7 @@
return
holder.remove_reagent("nitroglycerin", created_volume)
var/location = get_turf(holder.my_atom)
- var/datum/effect/effect/system/reagents_explosion/e = new()
+ var/datum/effect_system/reagents_explosion/e = new()
e.set_up(round (created_volume/2, 1), location, 0, 0)
e.start()
holder.clear_reagents()
@@ -26,7 +26,7 @@
/datum/chemical_reaction/nitroglycerin_explosion/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
- var/datum/effect/effect/system/reagents_explosion/e = new()
+ var/datum/effect_system/reagents_explosion/e = new()
e.set_up(round(created_volume/2, 1), location, 0, 0)
e.start()
holder.clear_reagents()
@@ -40,7 +40,7 @@
/datum/chemical_reaction/potassium_explosion/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
- var/datum/effect/effect/system/reagents_explosion/e = new()
+ var/datum/effect_system/reagents_explosion/e = new()
e.set_up(round (created_volume/10, 1), location, 0, 0)
e.start()
holder.clear_reagents()
@@ -64,7 +64,7 @@
/datum/chemical_reaction/blackpowder_explosion/on_reaction(datum/reagents/holder, created_volume)
sleep(rand(50,100))
var/location = get_turf(holder.my_atom)
- var/datum/effect/effect/system/reagents_explosion/e = new()
+ var/datum/effect_system/reagents_explosion/e = new()
e.set_up(1 + round(created_volume/6, 1), location, 0, 0)
e.start()
holder.clear_reagents()
@@ -180,7 +180,7 @@
if(holder.has_reagent("stabilizing_agent"))
return
var/location = get_turf(holder.my_atom)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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 get_hearers_in_view(created_volume/10, location))
@@ -201,7 +201,7 @@
/datum/chemical_reaction/flash_powder_flash/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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 get_hearers_in_view(created_volume/10, location))
@@ -224,7 +224,7 @@
holder.remove_reagent("smoke_powder", created_volume)
var/smoke_radius = round(sqrt(created_volume / 2), 1)
var/location = get_turf(holder.my_atom)
- var/datum/effect/effect/system/smoke_spread/chem/S = new
+ var/datum/effect_system/smoke_spread/chem/S = new
S.attach(location)
playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3)
if(S)
@@ -246,7 +246,7 @@
/datum/chemical_reaction/smoke_powder_smoke/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
var/smoke_radius = round(sqrt(created_volume / 2), 1)
- var/datum/effect/effect/system/smoke_spread/chem/S = new
+ var/datum/effect_system/smoke_spread/chem/S = new
S.attach(location)
playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3)
if(S)
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index 8c8932a7bd2..3b8886f3571 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -56,12 +56,12 @@
return
if(2)
if (prob(50))
- PoolOrNew(/obj/effect/effect/water, src.loc)
+ PoolOrNew(/obj/effect/particle_effect/water, src.loc)
qdel(src)
return
if(3)
if (prob(5))
- PoolOrNew(/obj/effect/effect/water, src.loc)
+ PoolOrNew(/obj/effect/particle_effect/water, src.loc)
qdel(src)
return
else
@@ -69,7 +69,7 @@
/obj/structure/reagent_dispensers/watertank/blob_act()
if(prob(50))
- PoolOrNew(/obj/effect/effect/water, loc)
+ PoolOrNew(/obj/effect/particle_effect/water, loc)
qdel(src)
/obj/structure/reagent_dispensers/fueltank
diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm
index 16162ce11a2..8b058c4096c 100644
--- a/code/modules/research/experimentor.dm
+++ b/code/modules/research/experimentor.dm
@@ -229,7 +229,7 @@
loaded_item = null
/obj/machinery/r_n_d/experimentor/proc/throwSmoke(turf/where)
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(0, where)
smoke.start()
@@ -319,7 +319,7 @@
R.my_atom = src
R.add_reagent(chosenchem , 50)
investigate_log("Experimentor has released [chosenchem] smoke.", "experimentor")
- var/datum/effect/effect/system/smoke_spread/chem/smoke = new
+ var/datum/effect_system/smoke_spread/chem/smoke = new
smoke.set_up(R, 0, src, silent = 1)
playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
smoke.start()
@@ -331,7 +331,7 @@
var/datum/reagents/R = new/datum/reagents(50)
R.my_atom = src
R.add_reagent(chosenchem , 50)
- var/datum/effect/effect/system/smoke_spread/chem/smoke = new
+ var/datum/effect_system/smoke_spread/chem/smoke = new
smoke.set_up(R, 0, src, silent = 1)
playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
smoke.start()
@@ -418,7 +418,7 @@
R.my_atom = src
R.add_reagent("frostoil" , 50)
investigate_log("Experimentor has released frostoil gas.", "experimentor")
- var/datum/effect/effect/system/smoke_spread/chem/smoke = new
+ var/datum/effect_system/smoke_spread/chem/smoke = new
smoke.set_up(R, 0, src, silent = 1)
playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
smoke.start()
@@ -440,7 +440,7 @@
ejectItem(TRUE)
if(prob(EFFECT_PROB_MEDIUM-badThingCoeff))
visible_message("[src] malfunctions, releasing a flurry of chilly air as [exp_on] pops out!")
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(0, src.loc)
smoke.start()
ejectItem()
@@ -642,7 +642,7 @@
//////////////// RELIC PROCS /////////////////////////////
/obj/item/weapon/relic/proc/throwSmoke(turf/where)
- var/datum/effect/effect/system/smoke_spread/smoke = new
+ var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(0, where)
smoke.start()
diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm
index 928180e8375..70837f07271 100644
--- a/code/modules/research/rdmachines.dm
+++ b/code/modules/research/rdmachines.dm
@@ -30,7 +30,7 @@
return 0
if(!prob(prb))
return 0
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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 (electrocute_mob(user, get_area(src), src, 0.7))
diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm
index 811ef4d991f..dae04b42b5b 100644
--- a/code/modules/telesci/bscrystal.dm
+++ b/code/modules/telesci/bscrystal.dm
@@ -18,7 +18,7 @@
/obj/item/bluespace_crystal/attack_self(mob/user)
user.visible_message("[user] crushes [src]!", "You crush [src]!")
- PoolOrNew(/obj/effect/effect/sparks, loc)
+ PoolOrNew(/obj/effect/particle_effect/sparks, loc)
playsound(src.loc, "sparks", 50, 1)
blink_mob(user)
user.unEquip(src)
@@ -31,7 +31,7 @@
if(!..()) // not caught in mid-air
visible_message("[src] fizzles and disappears upon impact!")
var/turf/T = get_turf(hit_atom)
- PoolOrNew(/obj/effect/effect/sparks, T)
+ PoolOrNew(/obj/effect/particle_effect/sparks, T)
playsound(src.loc, "sparks", 50, 1)
if(isliving(hit_atom))
blink_mob(hit_atom)
diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm
index 798c0e70181..1fc0a9dd1ac 100644
--- a/code/modules/telesci/telepad.dm
+++ b/code/modules/telesci/telepad.dm
@@ -151,7 +151,7 @@
/obj/item/weapon/rcs/emag_act(mob/user)
if(!emagged)
emagged = 1
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
user << "You emag the RCS. Click on it to toggle between modes."
diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm
index a166eb69b0a..f0b3dea8f4c 100644
--- a/code/modules/telesci/telesci_computer.dm
+++ b/code/modules/telesci/telesci_computer.dm
@@ -142,7 +142,7 @@
/obj/machinery/computer/telescience/proc/sparks()
if(telepad)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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
@@ -200,7 +200,7 @@
// use a lot of power
use_power(power * 10)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/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()
@@ -211,7 +211,7 @@
temp_msg += "Data printed below."
var/sparks = get_turf(target)
- var/datum/effect/effect/system/spark_spread/y = new /datum/effect/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()
diff --git a/tgstation.dme b/tgstation.dme
index f4272161a16..1c8d90ed74d 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -553,7 +553,6 @@
#include "code\game\objects\effects\aliens.dm"
#include "code\game\objects\effects\anomalies.dm"
#include "code\game\objects\effects\bump_teleporter.dm"
-#include "code\game\objects\effects\explosion_particles.dm"
#include "code\game\objects\effects\forcefields.dm"
#include "code\game\objects\effects\gibs.dm"
#include "code\game\objects\effects\glowshroom.dm"
@@ -576,6 +575,7 @@
#include "code\game\objects\effects\decals\Cleanable\misc.dm"
#include "code\game\objects\effects\decals\Cleanable\robots.dm"
#include "code\game\objects\effects\effect_system\effect_system.dm"
+#include "code\game\objects\effects\effect_system\effects_explosion.dm"
#include "code\game\objects\effects\effect_system\effects_foam.dm"
#include "code\game\objects\effects\effect_system\effects_other.dm"
#include "code\game\objects\effects\effect_system\effects_smoke.dm"