anchor.diff:  	w_class = WEIGHT_CLASS_NORMAL
   	armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 40)
   	resistance_flags = FIRE_PROOF
  -	var/click_delay = 1.5
  -	var/fisto_setting = 1
  -	var/gasperfist = 3
  -	var/obj/item/tank/internals/tank = null //Tank used for the gauntlet's piston-ram.
  -
  +	/// Delay between attacks
  +	var/click_delay = 0.15 SECONDS
  +	/// Pressure level on the fist
  +	var/fist_pressure_setting = LOW_PRESSURE
  +	/// Amount of moles per punch
  +	var/gas_per_fist = 3
  +	/// Tank used for the gauntlet's piston-ram.
  +	var/obj/item/tank/internals/tank
   
   /obj/item/melee/powerfist/examine(mob/user)
   	. = ..()
  
positive.code: 		return
  	if(tank)
  		. += span_notice("[icon2html(tank, user)] It has \a [tank] mounted onto it.")
  
  /obj/item/melee/powerfist/wrench_act(mob/living/user, obj/item/tool)
  	switch(fisto_setting)
  		if(1)
  			fisto_setting = 2
  		if(2)
  			fisto_setting = 3
  		if(3)
  			fisto_setting = 1
  	tool.play_tool_sound(src)
  	to_chat(user, span_notice("You tweak \the [src]'s piston valve to [fisto_setting]."))
  	return TRUE
  
  /obj/item/melee/powerfist/screwdriver_act(mob/living/user, obj/item/tool)
  	if(tank)
  		updateTank(tank, 1, user)
  		return TRUE
  
  /obj/item/melee/powerfist/attackby(obj/item/W, mob/user, params)
  	if(istype(W, /obj/item/tank/internals))
  		if(!tank)
  			var/obj/item/tank/internals/IT = W
  			if(IT.volume <= 3)
  				to_chat(user, span_warning("\The [IT] is too small for \the [src]."))
  				return
  			updateTank(W, 0, user)
  
  /obj/item/melee/powerfist/proc/updateTank(obj/item/tank/internals/thetank, removing = 0, mob/living/carbon/human/user)
  	if(removing)
  		if(!tank)
  			to_chat(user, span_notice("\The [src] currently has no tank attached to it."))
  			return
  		to_chat(user, span_notice("You detach \the [thetank] from \the [src]."))
  		tank.forceMove(get_turf(user))
  		user.put_in_hands(tank)
  		tank = null
  	if(!removing)
  		if(tank)
  			to_chat(user, span_warning("\The [src] already has a tank."))
  			return
  		if(!user.transferItemToLoc(thetank, src))
  			return
  		to_chat(user, span_notice("You hook \the [thetank] up to \the [src]."))
  		tank = thetank
  
  
  /obj/item/melee/powerfist/attack(mob/living/target, mob/living/user)
  	if(!tank)
  
negative.code: 	if(HAS_TRAIT(user, TRAIT_PACIFISM))
  		to_chat(user, span_warning("You don't want to harm other living beings!"))
  		return
  	var/turf/our_turf = get_turf(src)
  	if(!our_turf)
  		return
  
  	var/datum/gas_mixture/gas_used = tank.remove_air(gas_per_fist * fist_pressure_setting)
  	if(!gas_used)
  		to_chat(user, span_warning("\The [src]'s tank is empty!"))
  		target.apply_damage((force / 5), BRUTE)
  		playsound(loc, 'sound/weapons/punch1.ogg', 50, TRUE)
  		target.visible_message(span_danger("[user]'s powerfist lets out a dull thunk as [user.p_they()] punch[user.p_es()] [target.name]!"), \
  			span_userdanger("[user]'s punches you!"))
  		return
  
  	if(!molar_cmp_equals(gas_used.total_moles(), gas_per_fist * fist_pressure_setting))
  		our_turf.assume_air(gas_used)
  		to_chat(user, span_warning("\The [src]'s piston-ram lets out a weak hiss, it needs more gas!"))
  		playsound(loc, 'sound/weapons/punch4.ogg', 50, TRUE)
  		target.apply_damage((force / 2), BRUTE)
  