anchor.diff:  
   /obj/item/clockwork/ratvarian_spear/throw_impact(atom/target)
   	var/turf/T = get_turf(target)
  -	if(..() || !isliving(target))
  -		return
  -	var/mob/living/L = target
  -	if(issilicon(L) || iscultist(L))
  -		L.Stun(6)
  -		L.Weaken(6)
  +	if(isliving(target))
  +		var/mob/living/L = target
  +		if(is_servant_of_ratvar(L))
  +			if(L.put_in_active_hand(src))
  +				L.visible_message("<span class='warning'>[L] catches [src] out of the air!</span>")
  +			else
  +				L.visible_message("<span class='warning'>[src] bounces off of [L], as if repelled by an unseen force!</span>")
  +		else if(!..())
  +			if(!L.null_rod_check())
  +				if(issilicon(L) || iscultist(L))
  +					L.Stun(6)
  +					L.Weaken(6)
  +				else
  +					L.Stun(2)
  +					L.Weaken(2)
  +			break_spear(T)
   	else
  -		L.Stun(2)
  -		L.Weaken(2)
  -	break_spear(T)
  +		L.visible_message("<span class='warning'>[src] bounces off of [L], as if repelled by an unseen force!</span>")
  +		break_spear(T)
  +		..()
   
   /obj/item/clockwork/ratvarian_spear/proc/break_spear(turf/T)
   	if(src)
  
positive.code: 		add_fingerprint(user)
  	else //todo yell at someone to make attack() use proper return values
  		..()
  
  	if(issilicon(target))
  		var/mob/living/silicon/S = target
  		if(S.stat != DEAD)
  			S.visible_message("<span class='warning'>[S] shudders violently at [src]'s touch!</span>", "<span class='userdanger'>ERROR: Temperature rising!</span>")
  			S.adjustFireLoss(25)
  	else if(iscultist(target) || isconstruct(target)) //Cultists take extra fire damage
  		var/mob/living/M = target
  		if(M.stat != DEAD)
  			M << "<span class='userdanger'>Your body flares with agony at [src]'s presence!</span>"
  			M.adjustFireLoss(10)
  	attack_verb = list("stabbed", "poked", "slashed")
  	update_force()
  	if(impaling)
  
negative.code: 	icon = 'icons/obj/clockwork_objects.dmi'
  	icon_state = "ratvarian_spear"
  	item_state = "ratvarian_spear"
  	force = 0 //damage is dealt in attack()
  	throwforce = 40
  	sharpness = IS_SHARP_ACCURATE
  	attack_verb = list("stabbed", "poked", "slashed")
  