diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index a066c4cb0cc..054cbeb006d 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -18,32 +18,34 @@ dissipate_delay = 5 dissipate_strength = 1 var/list/orbiting_balls = list() + var/miniball = FALSE var/produced_power var/energy_to_raise = 32 var/energy_to_lower = -20 /obj/singularity/energy_ball/Initialize(mapload, starting_energy = 50, is_miniball = FALSE) + miniball = is_miniball . = ..() - if(!miniball) + if(!is_miniball) set_light(10, 7, "#EEEEFF") /obj/singularity/energy_ball/ex_act(severity, target) return /obj/singularity/energy_ball/Destroy() - if(orbiting && istype(orbiting.orbiting, /obj/singularity/energy_ball)) - var/obj/singularity/energy_ball/EB = orbiting.orbiting + if(orbiting && istype(orbiting.parent, /obj/singularity/energy_ball)) + var/obj/singularity/energy_ball/EB = orbiting.parent EB.orbiting_balls -= src for(var/ball in orbiting_balls) var/obj/singularity/energy_ball/EB = ball - qdel(EB) + QDEL_NULL(EB) - return ..() + . = ..() /obj/singularity/energy_ball/admin_investigate_setup() - if(istype(loc, /obj/singularity/energy_ball)) - return + if(miniball) + return //don't annnounce miniballs ..() /obj/singularity/energy_ball/process(wait) @@ -54,7 +56,7 @@ move_the_basket_ball(4 + orbiting_balls.len * 1.5, wait) - playsound(src.loc, 'sound/magic/lightningbolt.ogg', 100, 1, extrarange = 30) + playsound(src.loc, 'sound/effects/lightningbolt.ogg', 100, 1, extrarange = 30) pixel_x = 0 pixel_y = 0 @@ -64,13 +66,13 @@ pixel_x = -32 pixel_y = -32 for (var/ball in orbiting_balls) - var/range = rand(1, Clamp(orbiting_balls.len, 3, 7)) + var/range = rand(1, CLAMP(orbiting_balls.len, 3, 7)) tesla_zap(ball, range, TESLA_MINI_POWER/7*range, TRUE) else energy = 0 // ensure we dont have miniballs of miniballs /obj/singularity/energy_ball/examine(mob/user) - ..() + . = ..() if(orbiting_balls.len) to_chat(user, "The amount of orbiting mini-balls is [orbiting_balls.len].") @@ -99,7 +101,7 @@ energy_to_lower = energy_to_raise - 20 energy_to_raise = energy_to_raise * 1.25 - playsound(src.loc, 'sound/magic/lightning_chargeup.ogg', 100, 1, extrarange = 30) + playsound(src.loc, 'sound/effects/lightning_chargeup.ogg', 100, 1, extrarange = 30) addtimer(CALLBACK(src, .proc/new_mini_ball), 100) else if(energy < energy_to_lower && orbiting_balls.len) @@ -136,16 +138,15 @@ target.orbiting_balls += src // GLOB.poi_list -= src target.dissipate_strength = target.orbiting_balls.len - . = ..() /obj/singularity/energy_ball/stop_orbit() - if (orbiting && istype(orbiting.orbiting, /obj/singularity/energy_ball)) - var/obj/singularity/energy_ball/orbitingball = orbiting.orbiting + if (orbiting && istype(orbiting.parent, /obj/singularity/energy_ball)) + var/obj/singularity/energy_ball/orbitingball = orbiting.parent orbitingball.orbiting_balls -= src orbitingball.dissipate_strength = orbitingball.orbiting_balls.len - ..() - if (!loc && !QDELETED(src)) + . = ..() + if (!QDELETED(src)) qdel(src) /obj/singularity/energy_ball/proc/dust_mobs(atom/A)