anchor.diff:  			update_icon()
   		return
   
  -	var/mob/living/carbon/human/H = M
   	if(isrobot(M))
   		..()
   		return
   
   	if(user.a_intent == "harm")
  -		if(!..()) return
  -		H.visible_message("<span class='danger'>[H] has been beaten with [src] by [user]!</span>", \
  -							"<span class='userdanger'>[M] has been beaten with the [src] by [user]!</span>")
  -		playsound(loc, "swing_hit", 50, 1, -1)
  -		if(!status)
  -			H.forcesay(hit_appends)
  +		..()
   
   	else if(!status)
  -		H.visible_message("<span class='warning'>[H] has been prodded with [src] by [user]. Luckily it was off.</span>")
  +		M.visible_message("<span class='warning'>[M] has been prodded with [src] by [user]. Luckily it was off.</span>")
   		return
   
   	if(status)
  -		H.apply_effect(10, STUN, 0)
  -		H.apply_effect(10, WEAKEN, 0)
  -		H.apply_effect(10, STUTTER, 0)
   		user.lastattacked = M
  -		H.lastattacker = user
  -		if(isrobot(src.loc))
  -			var/mob/living/silicon/robot/R = src.loc
  +		M.lastattacker = user
  +
  +		M.Stun(10)
  +		M.Weaken(10)
  +		M.stuttering = max(M.stuttering, 10)
  +
  +		M.visible_message("<span class='danger'>[M] has been stunned with [src] by [user]!</span>")
  +		playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1)
  +
  +		if(isrobot(loc))
  +			var/mob/living/silicon/robot/R = loc
   			if(R && R.cell)
   				R.cell.use(50)
   		else
   			charges--
  -		H.visible_message("<span class='danger'>[H] has been stunned with [src] by [user]!</span>")
  -		H.forcesay(hit_appends)
  +		if(ishuman(M))
  +			var/mob/living/carbon/human/H = M
  +			H.forcesay(hit_appends)
   
  -		user.attack_log += "\[[time_stamp()]\]<font color='red'> Stunned [H.name] ([H.ckey]) with [src.name]</font>"
  -		H.attack_log += "\[[time_stamp()]\]<font color='orange'> Stunned by [user.name] ([user.ckey]) with [src.name]</font>"
  -		log_attack("<font color='red'>[user.name] ([user.ckey]) stunned [H.name] ([H.ckey]) with [src.name]</font>" )
  -
  -		playsound(src.loc, 'sound/weapons/Egloves.ogg', 50, 1, -1)
  +		user.attack_log += "\[[time_stamp()]\]<font color='red'> Stunned [M.name] ([M.ckey]) with [name]</font>"
  +		M.attack_log += "\[[time_stamp()]\]<font color='orange'> Stunned by [user.name] ([user.ckey]) with [name]</font>"
  +		log_attack("<font color='red'>[user.name] ([user.ckey]) stunned [M.name] ([M.ckey]) with [name]</font>" )
   
   		if(charges < 1)
   			status = 0
   			update_icon()
   
  -	add_fingerprint(user)
   
   /obj/item/weapon/melee/baton/emp_act(severity)
   	switch(severity)
  
positive.code: 	force = 10
  	throwforce = 7
  	w_class = 3
  	var/charges = 10
  	var/status = 0
  	origin_tech = "combat=2"
  
  	suicide_act(mob/user)
  		viewers(user) << "\red <b>[user] is putting the live [src.name] in \his mouth! It looks like \he's trying to commit suicide.</b>"
  		return (FIRELOSS)
  
  /obj/item/weapon/melee/baton/update_icon()
  	if(status)
  		icon_state = "stunbaton_active"
  	else
  		icon_state = "stunbaton"
  
  /obj/item/weapon/melee/baton/attack_self(mob/user)
  	if(status && (CLUMSY in user.mutations) && prob(50))
  
negative.code: 		user << "<span class='warning'>[src] is out of charge.</span>"
  	add_fingerprint(user)
  
  
  /obj/item/weapon/melee/baton/attack(mob/M, mob/user)
  	if(status && (CLUMSY in user.mutations) && prob(50))
  		user << "<span class='danger'>You accidentally hit yourself with [src]!</span>"
  