anchor.diff:  		return FALSE
   	fire_projectile(user, target)
   	user.newtonian_move(get_dir(U, T))
  -	remove_ranged_ability() //Auto-disable the ability once successfully performed
  +	if(clickdelay_override >= 0)
  +		user.changeNext_move(clickdelay_override)
  +	else
  +		user.changeNext_move(CLICK_CD_RANGE)
  +	current_amount--
  +	if(current_amount <= 0)
  +		remove_ranged_ability() //Auto-disable the ability once you run out of bullets.
   	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
  +	for(var/V in projectile_var_overrides)
  +		if(P.vars[V])
  +			P.vars[V] = projectile_var_overrides[V]
   	P.fire()
   	return TRUE
   
  
positive.code: 		remove_ranged_ability(msg)
  	else
  		msg = "<span class='notice'>[active_msg]<B>Left-click to shoot it at a target!</B></span>"
  		add_ranged_ability(user, msg, TRUE)
  
  /obj/effect/proc_holder/spell/aimed/update_icon()
  
negative.code: 	base_icon_state = "lightning"
  	sound = 'sound/magic/lightningbolt.ogg'
  	active = 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..."
  	projectile_type = /obj/item/projectile/magic/aoe/lightning
  
  /obj/effect/proc_holder/spell/aimed/fireball
  	name = "Fireball"
  