anchor.diff:  		return
   	if(arm.bodypart_disabled)
   		return
  -	var/damage = damage_deflection / 10
  +	var/damage = damage_deflection * 0.1
   	arm.receive_damage(brute=damage, wound_bonus = CANT_WOUND)
   
   /obj/machinery/attack_robot(mob/user)
   	if(!(interaction_flags_machine & INTERACT_MACHINE_ALLOW_SILICON) && !isAdminGhostAI(user))
   		return FALSE
  -	if(Adjacent(user) && can_buckle && has_buckled_mobs()) //so that borgs (but not AIs, sadly (perhaps in a future PR?)) can unbuckle people from machines
  -		if(buckled_mobs.len > 1)
  -			var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in sortNames(buckled_mobs)
  -			if(user_unbuckle_mob(unbuckled,user))
  -				return TRUE
  -		else
  -			if(user_unbuckle_mob(buckled_mobs[1],user))
  -				return TRUE
  -	return _try_interact(user)
  +
  +	if(!Adjacent(user) || !can_buckle || !has_buckled_mobs()) //so that borgs (but not AIs, sadly (perhaps in a future PR?)) can unbuckle people from machines
  +		return _try_interact(user)
  +
  +	if(buckled_mobs.len <= 1)
  +		if(user_unbuckle_mob(buckled_mobs[1],user))
  +			return TRUE
  +
  +	var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in sortNames(buckled_mobs)
  +	if(user_unbuckle_mob(unbuckled,user))
  +		return TRUE
   
   /obj/machinery/attack_ai(mob/user)
   	if(!(interaction_flags_machine & INTERACT_MACHINE_ALLOW_SILICON) && !isAdminGhostAI(user))
   		return FALSE
   	if(iscyborg(user))// For some reason attack_robot doesn't work
   		return attack_robot(user)
  -	else
  -		return _try_interact(user)
  +	return _try_interact(user)
   
   /obj/machinery/attackby(obj/item/weapon, mob/user, params)
   	. = ..()
  
positive.code: /obj/machinery/proc/RefreshParts() //Placeholder proc for machines that are built using frames.
  	return
  
  /obj/machinery/proc/default_pry_open(obj/item/I)
  	. = !(state_open || panel_open || is_operational || (flags_1 & NODECONSTRUCT_1)) && I.tool_behaviour == TOOL_CROWBAR
  	if(.)
  		I.play_tool_sound(src, 50)
  		visible_message(span_notice("[usr] pries open \the [src]."), span_notice("You pry open \the [src]."))
  		open_machine()
  
  /obj/machinery/proc/default_deconstruction_crowbar(obj/item/I, ignore_panel = 0, custom_deconstruct = FALSE)
  	. = (panel_open || ignore_panel) && !(flags_1 & NODECONSTRUCT_1) && I.tool_behaviour == TOOL_CROWBAR
  	if(. && !custom_deconstruct)
  		I.play_tool_sound(src, 50)
  		deconstruct(TRUE)
  
  /obj/machinery/deconstruct(disassembled = TRUE)
  	if(!(flags_1 & NODECONSTRUCT_1))
  		on_deconstruction()
  		if(LAZYLEN(component_parts))
  			spawn_frame(disassembled)
  			for(var/obj/item/I in component_parts)
  				I.forceMove(loc)
  			LAZYCLEARLIST(component_parts)
  	return ..()
  
  /**
   * Spawns a frame where this machine is. If the machine was not disassmbled, the
  
negative.code: /obj/machinery/attack_paw(mob/living/user, list/modifiers)
  	if(!user.combat_mode)
  		return attack_hand(user)
  	user.changeNext_move(CLICK_CD_MELEE)
  	user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
  	user.visible_message(span_danger("[user.name] smashes against \the [src.name] with its paws."), null, null, COMBAT_MESSAGE_RANGE)
  	take_damage(4, BRUTE, MELEE, 1)
  
  /obj/machinery/attack_hulk(mob/living/carbon/user)
  	. = ..()
  