diff --git a/code/game/gamemodes/clock_cult/clock_scripture.dm b/code/game/gamemodes/clock_cult/clock_scripture.dm
index 103fd40fe93..0156767691a 100644
--- a/code/game/gamemodes/clock_cult/clock_scripture.dm
+++ b/code/game/gamemodes/clock_cult/clock_scripture.dm
@@ -1170,7 +1170,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed
for(var/mob/living/L in view(7, invoker))
if(is_servant_of_ratvar(L))
continue
- invoker.Beam(L, icon_state = "nzcrentrs_power", icon = 'icons/effects/beam.dmi', time = 10)
+ invoker.Beam(L, icon_state = "nzcrentrs_power", time = 10)
var/randdamage = rand(40, 60)
if(iscarbon(L))
L.electrocute_act(randdamage, "Nzcrentr's power", 1, randdamage)
diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm
index 405b6512001..980fbc9dd11 100644
--- a/code/game/gamemodes/cult/cult_structures.dm
+++ b/code/game/gamemodes/cult/cult_structures.dm
@@ -33,7 +33,7 @@
if(istype(M, /mob/living/simple_animal/hostile/construct/builder))
if(health < max_health)
health = min(max_health, health + 5)
- Beam(M, icon_state="sendbeam", icon='icons/effects/effects.dmi', time=4)
+ Beam(M, icon_state="sendbeam", time=4)
M.visible_message("[M] repairs \the [src].", \
"You repair [src], leaving it at [health]/[max_health] stability.")
else
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index abfdfa813d6..0b69fc9baba 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -586,7 +586,7 @@ var/list/teleport_runes = list()
user.say("Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!")
..()
mob_to_sacrifice.visible_message("[mob_to_sacrifice]'s body rises into the air, connected to [mob_to_revive] by a glowing tendril!")
- mob_to_revive.Beam(mob_to_sacrifice,icon_state="sendbeam",icon='icons/effects/effects.dmi',time=20)
+ mob_to_revive.Beam(mob_to_sacrifice,icon_state="sendbeam",time=20)
sleep(20)
if(!mob_to_sacrifice || !in_range(mob_to_sacrifice, src))
rune_in_use = 0
@@ -717,7 +717,7 @@ var/list/teleport_runes = list()
affecting.apply_damage(0.1, BRUTE)
if(!(user in T))
user.visible_message("A spectral tendril wraps around [user] and pulls them back to the rune!")
- Beam(user,icon_state="drainbeam",icon='icons/effects/effects.dmi',time=2)
+ Beam(user,icon_state="drainbeam",time=2)
user.forceMove(get_turf(src)) //NO ESCAPE :^)
if(user.key)
user.visible_message("[user] slowly relaxes, the glow around them dimming.", \
@@ -900,7 +900,7 @@ var/list/teleport_runes = list()
M.apply_damage(drained_amount, BRUTE, "chest")
user.adjustBruteLoss(-drained_amount)
M << "You feel extremely weak."
- user.Beam(T,icon_state="drainbeam",icon='icons/effects/effects.dmi',time=5)
+ user.Beam(T,icon_state="drainbeam",time=5)
user.visible_message("Blood flows from the rune into [user]!", \
"Blood flows into you, healing your wounds and revitalizing your spirit.")
diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
index b1420d8cb03..85e729c3962 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
@@ -54,7 +54,7 @@
reveal(46)
stun(46)
target.visible_message("[target] suddenly rises slightly into the air, their skin turning an ashy gray.")
- var/datum/beam/B = Beam(target,icon_state="drain_life",icon='icons/effects/effects.dmi',time=46)
+ var/datum/beam/B = Beam(target,icon_state="drain_life",time=46)
if(do_after(src, 46, 0, target)) //As one cannot prove the existance of ghosts, ghosts cannot prove the existance of the target they were draining.
qdel(B)
change_essence_amount(essence_drained, 0, target)
@@ -220,7 +220,7 @@
for(var/mob/living/carbon/human/M in view(shock_range, L))
if(M == user)
continue
- L.Beam(M,icon_state="purple_lightning",icon='icons/effects/effects.dmi',time=5)
+ L.Beam(M,icon_state="purple_lightning",time=5)
M.electrocute_act(shock_damage, L, safety=1)
var/datum/effect_system/spark_spread/z = new /datum/effect_system/spark_spread
z.set_up(4, 0, M)
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index 0fbd8d72b33..21014fb080d 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -58,7 +58,7 @@
playsound(src, alt_sound, 40, 1)
else
playsound(src, pshoom, 40, 1)
- user.Beam(dest_object,icon_state="rped_upgrade",icon='icons/effects/effects.dmi',time=5)
+ user.Beam(dest_object,icon_state="rped_upgrade",time=5)
return 1
user << "The [src.name] buzzes."
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index 9012e44136a..c6284f25056 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -272,7 +272,7 @@
closest_mob = A
if(closest_mob)
var/shock_damage = C.powernet.avail * 0.0002//setting shock damage for later. equals 1/5000 the power in the grid
- src.Beam(closest_mob, icon_state="lightning[rand(1,12)]", icon='icons/effects/effects.dmi', time=5)
+ src.Beam(closest_mob, icon_state="lightning[rand(1,12)]", time=5)
closest_mob.electrocute_act(shock_damage, src, 1)//ZAP, damage should be about 40 with 200000W
playsound(src.loc, 'sound/magic/LightningShock.ogg', 100, 1, extrarange = 5)
take_damage(tforce)
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index 1531c6780a0..5a77d9f2f7f 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -279,7 +279,7 @@
for(var/mob/living/M in view(6, owner))
if(M == owner)
continue
- owner.Beam(M,icon_state="lightning[rand(1, 12)]",icon='icons/effects/effects.dmi',time=5)
+ owner.Beam(M,icon_state="lightning[rand(1, 12)]",time=5)
M.adjustFireLoss(25)
playsound(M, 'sound/machines/defib_zap.ogg', 50, 1, -1)
reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 066ae8d47a7..c17e682949e 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -195,7 +195,7 @@
/obj/item/projectile/hook/fire(setAngle)
if(firer)
- chain = Beam(firer, icon_state = "chain", icon = 'icons/obj/lavaland/artefacts.dmi', time = INFINITY, maxdistance = INFINITY)
+ chain = firer.Beam(src, icon_state = "chain", time = INFINITY, maxdistance = INFINITY)
..()
/obj/item/projectile/hook/on_hit(atom/target)
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index a26f78cecf2..af34d8a989f 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -55,7 +55,7 @@
if(health < maxHealth)
adjustHealth(-5)
if(src != M)
- Beam(M,icon_state="sendbeam",icon='icons/effects/effects.dmi',time=4)
+ Beam(M,icon_state="sendbeam",time=4)
M.visible_message("[M] repairs some of \the [src]'s dents.", \
"You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health.")
else
diff --git a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
index 38a03707ef2..a37b4788297 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
@@ -30,7 +30,7 @@
var/datum/beam/C = pick(enemychains)
qdel(C)
enemychains -= C
- enemychains += Beam(target,"lightning[rand(1,12)]",'icons/effects/effects.dmi',70, 7,/obj/effect/ebeam/chain)
+ enemychains += Beam(target, "lightning[rand(1,12)]", time=70, maxdistance=7, beam_type=/obj/effect/ebeam/chain)
/mob/living/simple_animal/hostile/guardian/beam/Destroy()
removechains()
@@ -39,7 +39,7 @@
/mob/living/simple_animal/hostile/guardian/beam/Manifest()
if(..())
if(summoner)
- summonerchain = Beam(summoner,"lightning[rand(1,12)]",'icons/effects/effects.dmi',INFINITY, INFINITY,/obj/effect/ebeam/chain)
+ summonerchain = Beam(summoner, "lightning[rand(1,12)]", time=INFINITY, maxdistance=INFINITY, beam_type=/obj/effect/ebeam/chain)
while(loc != summoner)
if(successfulshocks > 5)
successfulshocks = 0
@@ -57,7 +57,7 @@
if(summonerchain && !qdeleted(summonerchain))
. += chainshock(summonerchain)
else
- summonerchain = Beam(summoner,"lightning[rand(1,12)]",'icons/effects/effects.dmi',INFINITY, INFINITY,/obj/effect/ebeam/chain)
+ summonerchain = Beam(summoner, "lightning[rand(1,12)]", time=INFINITY, maxdistance=INFINITY, beam_type=/obj/effect/ebeam/chain)
if(enemychains.len)
for(var/chain in enemychains)
if(!qdeleted(chain))
diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
index 7dc5c54bd33..14aeb265158 100644
--- a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
+++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
@@ -21,7 +21,7 @@
anchors += locate(x+2,y-2,z)
for(var/turf/T in anchors)
- var/datum/beam/B = Beam(T,"vine",'icons/effects/spacevines.dmi',INFINITY, 5,/obj/effect/ebeam/vine)
+ var/datum/beam/B = Beam(T, "vine", time=INFINITY, maxdistance=5, beam_type=/obj/effect/ebeam/vine)
B.sleep_time = 10 //these shouldn't move, so let's slow down updates to 1 second (any slower and the deletion of the vines would be too slow)
addtimer(src, "bear_fruit", growth_time)
@@ -98,15 +98,15 @@
if(A.density && A != L)
continue grasping
if(prob(grasp_chance))
- L << "\the [src] has you entangled!"
- grasping[L] = Beam(L,"vine",'icons/effects/spacevines.dmi',INFINITY, 5,/obj/effect/ebeam/vine)
+ L << "\The [src] has you entangled!"
+ grasping[L] = Beam(L, "vine", time=INFINITY, maxdistance=5, beam_type=/obj/effect/ebeam/vine)
break //only take 1 new victim per cycle
/mob/living/simple_animal/hostile/venus_human_trap/OpenFire(atom/the_target)
var/dist = get_dist(src,the_target)
- Beam(the_target,"vine",'icons/effects/spacevines.dmi',dist*2, dist+2,/obj/effect/ebeam/vine)
+ Beam(the_target, "vine", time=dist*2, maxdistance=dist+2, beam_type=/obj/effect/ebeam/vine)
the_target.attack_animal(src)
diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm
index 939c1d57ffc..a6387667c7a 100644
--- a/code/modules/mob/living/simple_animal/shade.dm
+++ b/code/modules/mob/living/simple_animal/shade.dm
@@ -43,7 +43,7 @@
if(istype(M, /mob/living/simple_animal/hostile/construct/builder))
if(health < maxHealth)
adjustHealth(-25)
- Beam(M,icon_state="sendbeam",icon='icons/effects/effects.dmi',time=4)
+ Beam(M,icon_state="sendbeam",time=4)
M.visible_message("[M] heals \the [src].", \
"You heal [src], leaving [src] at [health]/[maxHealth] health.")
else
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm
index 34d47d7e469..a8d6931a951 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm
@@ -15,7 +15,7 @@
H << "You may not use an energy net through solid obstacles!"
return
spawn(0)
- H.Beam(C,"n_beam",,15)
+ H.Beam(C,"n_beam",time=15)
H.say("Get over here!")
var/obj/effect/energy_net/E = new /obj/effect/energy_net(C.loc)
H.visible_message("[H] caught [C] with an energy net!","You caught [C] with an energy net!")
diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm
index 6af4d863856..433056473ed 100644
--- a/code/modules/power/tesla/energy_ball.dm
+++ b/code/modules/power/tesla/energy_ball.dm
@@ -236,7 +236,7 @@ var/list/blacklisted_tesla_types = typecacheof(list(/obj/machinery/atmospherics,
//Alright, we've done our loop, now lets see if was anything interesting in range
if(closest_atom)
//common stuff
- source.Beam(closest_atom, icon_state="lightning[rand(1,12)]", icon='icons/effects/effects.dmi', time=5)
+ source.Beam(closest_atom, icon_state="lightning[rand(1,12)]", time=5)
var/zapdir = get_dir(source, closest_atom)
if(zapdir)
. = zapdir
diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm
index 6c41ca751d7..b8524c36035 100644
--- a/code/modules/projectiles/projectile/energy.dm
+++ b/code/modules/projectiles/projectile/energy.dm
@@ -179,7 +179,7 @@
/obj/item/projectile/energy/shock_revolver/fire(setAngle)
if(firer)
- chain = Beam(firer, icon_state = "lightning[rand(1, 12)]", icon = 'icons/effects/effects.dmi', time = INFINITY, maxdistance = INFINITY)
+ chain = firer.Beam(src, icon_state = "lightning[rand(1, 12)]", time = INFINITY, maxdistance = INFINITY)
..()
/obj/item/projectile/energy/shock_revolver/on_hit(atom/target)
@@ -189,3 +189,4 @@
/obj/item/projectile/energy/shock_revolver/Destroy()
qdel(chain)
+ return ..()
diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm
index d21722150e1..d010bfbbc57 100644
--- a/code/modules/research/stock_parts.dm
+++ b/code/modules/research/stock_parts.dm
@@ -25,7 +25,7 @@
if(istype(T))
if(T.component_parts)
T.exchange_parts(user, src)
- user.Beam(T,icon_state="rped_upgrade",icon='icons/effects/effects.dmi',time=5)
+ user.Beam(T,icon_state="rped_upgrade",time=5)
return
/obj/item/weapon/storage/part_replacer/bluespace
@@ -45,7 +45,7 @@
if(get_dist(user, dest_object) < 8)
if(dest_object.storage_contents_dump_act(src, user))
play_rped_sound()
- user.Beam(dest_object,icon_state="rped_upgrade",icon='icons/effects/effects.dmi',time=5)
+ user.Beam(dest_object,icon_state="rped_upgrade",time=5)
return 1
user << "The [src.name] buzzes."
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm
index 728555db52e..1cf58b7fd9b 100644
--- a/code/modules/spells/spell_types/lichdom.dm
+++ b/code/modules/spells/spell_types/lichdom.dm
@@ -99,7 +99,7 @@
var/wheres_wizdo = dir2text(get_dir(body_turf, item_turf))
if(wheres_wizdo)
old_body.visible_message("Suddenly [old_body.name]'s corpse falls to pieces! You see a strange energy rise from the remains, and speed off towards the [wheres_wizdo]!")
- body_turf.Beam(item_turf,icon_state="lichbeam",icon='icons/effects/effects.dmi',time=10+10*resurrections,maxdistance=INFINITY)
+ body_turf.Beam(item_turf,icon_state="lichbeam",time=10+10*resurrections,maxdistance=INFINITY)
old_body.dust()
if(!marked_item) //linking item to the spell
diff --git a/code/modules/spells/spell_types/lightning.dm b/code/modules/spells/spell_types/lightning.dm
index 4fac684f72c..73e958926ca 100644
--- a/code/modules/spells/spell_types/lightning.dm
+++ b/code/modules/spells/spell_types/lightning.dm
@@ -58,13 +58,13 @@
return
playsound(get_turf(user), 'sound/magic/lightningbolt.ogg', 50, 1)
- user.Beam(target,icon_state="lightning[rand(1,12)]",icon='icons/effects/effects.dmi',time=5)
+ user.Beam(target,icon_state="lightning[rand(1,12)]",time=5)
Bolt(user,target,30,5,user)
Reset(user)
/obj/effect/proc_holder/spell/targeted/lightning/proc/Bolt(mob/origin,mob/target,bolt_energy,bounces,mob/user = usr)
- origin.Beam(target,icon_state="lightning[rand(1,12)]",icon='icons/effects/effects.dmi',time=5)
+ origin.Beam(target,icon_state="lightning[rand(1,12)]",time=5)
var/mob/living/carbon/current = target
if(bounces < 1)
current.electrocute_act(bolt_energy,"Lightning Bolt",safety=1)
diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm
index df3d5887c24..fdc5247f4aa 100644
--- a/code/modules/station_goals/bsa.dm
+++ b/code/modules/station_goals/bsa.dm
@@ -60,7 +60,7 @@
name = "Bluespace Artillery Fusor"
desc = "Contents classifed by Nanotrasen Naval Command. Needs to be linked with the other BSA parts using multitool."
icon_state = "fuel_chamber"
- var/obj/machinery/bsa/back/back
+ var/obj/machinery/bsa/back/back
var/obj/machinery/bsa/front/front
/obj/machinery/bsa/middle/attackby(obj/item/weapon/W, mob/user, params)
@@ -169,7 +169,7 @@
var/turf/point = get_front_turf()
for(var/turf/T in getline(get_step(point,dir),get_target_turf()))
T.ex_act(1)
- point.Beam(get_target_turf(),icon_state="bsa_beam",icon='icons/effects/beam.dmi',time=50,maxdistance = world.maxx) //ZZZAP
+ point.Beam(get_target_turf(),icon_state="bsa_beam",time=50,maxdistance = world.maxx) //ZZZAP
/obj/structure/filler
diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm
index 7592d63ec81..20f5a76f6d4 100644
--- a/code/modules/station_goals/shield.dm
+++ b/code/modules/station_goals/shield.dm
@@ -14,7 +14,7 @@
/datum/station_goal/station_shield/on_report()
- //Unlock
+ //Unlock
var/datum/supply_pack/P = SSshuttle.supply_packs[/datum/supply_pack/misc/shield_sat]
P.special_enabled = TRUE
@@ -69,7 +69,7 @@
/obj/machinery/computer/sat_control/ui_data()
var/list/data = list()
-
+
data["satellites"] = list()
for(var/obj/machinery/satellite/S in machines)
data["satellites"] += list(list(
@@ -78,8 +78,8 @@
"mode" = S.mode
))
data["notice"] = notice
-
-
+
+
var/datum/station_goal/station_shield/G = locate() in ticker.mode.station_goals
if(G)
data["meteor_shield"] = 1
@@ -116,7 +116,7 @@
active = !active
if(active)
animate(src, pixel_y = 2, time = 10, loop = -1)
- anchored = 1
+ anchored = 1
else
animate(src, pixel_y = 0, time = 10)
anchored = 0
@@ -136,7 +136,7 @@
desc = "Meteor Point Defense Satellite"
mode = "M-SHIELD"
var/kill_range = 10
-
+
/obj/machinery/satellite/meteor_shield/proc/space_los(meteor)
for(var/turf/T in getline(src,meteor))
if(!istype(T, /turf/open/space))
diff --git a/icons/effects/beam.dmi b/icons/effects/beam.dmi
index 921100eeb05..247d6a401f7 100644
Binary files a/icons/effects/beam.dmi and b/icons/effects/beam.dmi differ
diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi
index 01e00f7163f..f92197520c3 100644
Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ