anchor.diff:  	base_icon_state = "lightning"
   	sound = 'sound/magic/lightningbolt.ogg'
   	active = FALSE
  -	var/tesla_range = 15
  -	var/tesla_power = 20000
  -	var/tesla_boom = FALSE
  +	projectile_var_overrides = list("tesla_range" = 15, "tesla_power" = 20000, "tesla_boom" = FALSE)
   	active_msg = "You energize your hand with arcane lightning!"
   	deactive_msg = "You let the energy flow out of your hands back into yourself..."
  -
  -/obj/effect/proc_holder/spell/aimed/lightningbolt/fire_projectile(mob/living/user, atom/target)
  -	var/obj/item/projectile/magic/aoe/lightning/P = new /obj/item/projectile/magic/aoe/lightning(user.loc)
  -	P.current = get_turf(user)
  -	P.preparePixelProjectile(target, get_turf(target), user)
  -	if(projectile_damage_override != -1)
  -		P.damage = projectile_damage_override
  -		P.nodamage = TRUE
  -		if(P.damage)
  -			P.nodamage = FALSE
  -	P.tesla_power = tesla_power
  -	P.tesla_range = tesla_range
  -	P.tesla_boom = tesla_boom
  -	P.fire()
  -	return TRUE
  +	projectile_type = /obj/item/projectile/magic/aoe/lightning
   
   /obj/effect/proc_holder/spell/aimed/fireball
   	name = "Fireball"
  
positive.code: 		return FALSE
  	fire_projectile(user, target)
  	user.newtonian_move(get_dir(U, T))
  	remove_ranged_ability() //Auto-disable the ability once successfully performed
  	return TRUE
  
  /obj/effect/proc_holder/spell/aimed/proc/fire_projectile(mob/living/user, atom/target)
  	var/obj/item/projectile/P = new projectile_type(user.loc)
  	P.current = get_turf(user)
  	P.preparePixelProjectile(target, get_turf(target), user)
  	if(projectile_damage_override != -1)
  		P.damage = projectile_damage_override
  		P.nodamage = TRUE
  		if(P.damage)
  			P.nodamage = FALSE
  	P.fire()
  	return TRUE
  
  
negative.code: 	var/active_msg = "You charge your projectile!"
  	var/base_icon_state = "projectile"
  	var/active_icon_state = "projectile"
  	var/list/projectile_var_overrides = list()
  	var/projectile_amount = 1	//Projectiles per cast.
  	var/current_amount = 1	//How many projectiles left.
  	var/clickdelay_override = -1
  
  /obj/effect/proc_holder/spell/aimed/Click()
  	var/mob/living/user = usr
  