anchor.diff:  			LAssailant = M
   
   			playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
  -			for(var/mob/O in viewers(src, null))
  -				O.show_message(text("\red [] has grabbed [name] passively!", M), 1)
  +			visible_message("<span class='warning'>[M] has grabbed [name] passively!</span>")
   
   		if ("disarm")
   			playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1)
   			var/damage = 5
   			if(prob(95))
   				Weaken(10)
  -				for(var/mob/O in viewers(src, null))
  -					if ((O.client && !( O.blinded )))
  -						O.show_message(text("<span class='danger'>[] has tackled down [name]!</span>", M), 1)
  +				visible_message("<span class='danger'>[M] has tackled down [name]!</span>", \
  +						"<span class='userdanger'>[M] has tackled down [name]!</span>")
   			else
   				if(drop_item())
  -					for(var/mob/O in viewers(src, null))
  -						if ((O.client && !( O.blinded )))
  -							O.show_message(text("<span class='danger'>[] has disarmed [name]!</span>", M), 1)
  +					visible_message("<span class='danger'>[M] has disarmed [name]!</span>", \
  +							"<span class='userdanger'>[M] has disarmed [name]!</span>")
   			adjustBruteLoss(damage)
   			updatehealth()
   	return
  
positive.code: 					if ( (paralysis < 5)  && (health > 0) )
  						Paralyse(rand(10, 15))
  						spawn( 0 )
  							for(var/mob/O in viewers(src, null))
  								if ((O.client && !( O.blinded )))
  									O.show_message(text("<span class='danger'>[] has knocked out [name]!</span>", M), 1)
  							return
  				adjustBruteLoss(damage)
  				updatehealth()
  			else
  				playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
  				for(var/mob/O in viewers(src, null))
  					if ((O.client && !( O.blinded )))
  						O.show_message(text("<span class='danger'>[] has attempted to punch [name]!</span>", M), 1)
  		else
  			if (M.a_intent == "grab")
  				if (M == src || anchored)
  
negative.code: 	return 0
  
  /mob/living/carbon/monkey/canBeHandcuffed()
  	return 1
  