anchor.diff:  				owner.visible_message("\red [owner.name]'s [display_name] flies off in an arc.",\
   				"<span class='moderate'><b>Your [display_name] goes flying off!</b></span>",\
   				"You hear a terrible sound of ripping tendons and flesh.")
  +
  +			//Throw organs around
   			var/lol = pick(cardinal)
   			step(organ,lol)
  -			// force the icon to rebuild
  +
   			owner.regenerate_icons()
   
  -/datum/organ/external/proc/createwound(var/type = CUT, var/damage)
  -	if(damage == 0) return
  -
  -	// first check whether we can widen an existing wound
  -	if(wounds.len > 0 && prob(max(50+owner.number_wounds*10,100)))
  -		if((type == CUT || type == BRUISE) && damage >= 5)
  -			var/datum/wound/W = pick(wounds)
  -			if(W.amount == 1 && W.started_healing())
  -				W.open_wound(damage)
  -				if(prob(25))
  -					owner.visible_message("\red The wound on [owner.name]'s [display_name] widens with a nasty ripping voice.",\
  -					"\red The wound on your [display_name] widens with a nasty ripping voice.",\
  -					"You hear a nasty ripping noise, as if flesh is being torn apart.")
  -				return
  -
  -	// the wound we will create
  -	var/datum/wound/W
  -	var/wound_type
  -	var/size = min( max( 1, damage/10 ) , 6)
  -
  -	switch(type)
  -		if(CUT)
  -			var/list/size_names = typesof(/datum/wound/cut/) - /datum/wound/cut/
  -			wound_type = size_names[size]
  -
  -		if(BRUISE)
  -			var/list/size_names = typesof(/datum/wound/bruise/) - /datum/wound/bruise/
  -			wound_type = size_names[size]
  -
  -		if(BURN)
  -			var/list/size_names = typesof(/datum/wound/burn/) - /datum/wound/burn/
  -			wound_type = size_names[size]
  -
  -	W = new wound_type(damage)
  -
  -	// Possibly trigger an internal wound, too.
  -	var/local_damage = brute_dam + burn_dam + damage
  -	if(damage > 10 && type != BURN && local_damage > 20 && prob(damage) && !(status & ORGAN_ROBOT))
  -		var/datum/wound/internal_bleeding/I = new (15)
  -		wounds += I
  -		owner.custom_pain("You feel something rip in your [display_name]!", 1)
  -
  -	// check whether we can add the wound to an existing wound
  -	for(var/datum/wound/other in wounds)
  -		if(other.desc == W.desc)
  -			// okay, add it!
  -			other.damage += W.damage
  -			other.amount += 1
  -			W = null // to signify that the wound was added
  -			break
  -
  -	// if we couldn't add the wound to another wound, ignore
  -	if(W)
  -		wounds += W
  -
  -/datum/organ/external/proc/emp_act(severity)
  -	if(!(status & ORGAN_ROBOT))
  +
  +/****************************************************
  +			   HELPERS
  +****************************************************/
  +
  +/datum/organ/external/proc/bandage()
  +	var/rval = 0
  +	src.status &= ~ORGAN_BLEEDING
  +	for(var/datum/wound/W in wounds)
  +		if(W.internal) continue
  +		rval |= !W.bandaged
  +		W.bandaged = 1
  +	return rval
  +
  +/datum/organ/external/proc/clamp()
  +	var/rval = 0
  +	src.status &= ~ORGAN_BLEEDING
  +	for(var/datum/wound/W in wounds)
  +		if(W.internal) continue
  +		rval |= !W.clamped
  +		W.clamped = 1
  +	return rval
  +
  +/datum/organ/external/proc/salve()
  +	var/rval = 0
  +	for(var/datum/wound/W in wounds)
  +		rval |= !W.salved
  +		W.salved = 1
  +	return rval
  +
  +/datum/organ/external/proc/fracture()
  +	if(status & ORGAN_BROKEN)
   		return
  -	var/probability = 30
  -	var/damage = 15
  -	if(severity == 2)
  -		probability = 1
  -		damage = 3
  -	if(prob(probability))
  -		droplimb(1)
  -	else
  -		take_damage(damage, 0, 1, used_weapon = "EMP")
  +	owner.visible_message("\red You hear a loud cracking sound coming from \the [owner].","\red <b>Something feels like it shattered in your [display_name]!</b>","You hear a sickening crack.")
  +	owner.emote("scream")
  +	status |= ORGAN_BROKEN
  +	broken_description = pick("broken","fracture","hairline fracture")
  +	perma_injury = brute_dam
   
   /datum/organ/external/proc/robotize()
   	src.status &= ~ORGAN_BROKEN
  
positive.code: 				owner.u_equip(owner.shoes)
  		if(organ)
  			destspawn = 1
  			if(status & ORGAN_ROBOT && !no_explode)
  				owner.visible_message("\red \The [owner]'s [display_name] explodes violently!",\
  				"\red <b>Your [display_name] explodes!</b>",\
  
negative.code: 		if(T)
  			T.robotize()
  
  /datum/organ/external/proc/get_damage()	//returns total damage
  	return max(brute_dam + burn_dam - perma_injury, perma_injury)	//could use health?
  
  /datum/organ/external/proc/is_infected()
  	for(var/datum/wound/W in wounds)
  		if(W.germ_level > 100)
  			return 1
  	return 0
  
  /****************************************************
  			   ORGAN DEFINES
  ****************************************************/
  
  /datum/organ/external/chest
  	name = "chest"
  