anchor.diff:  /obj/item/melee/baton/emp_act(severity)
   	. = ..()
   	if (!(. & EMP_PROTECT_SELF))
  +		switch_status(FALSE)
   		deductcharge(1000 / severity)
  +		var/downtime = 4 SECONDS / severity
  +		if(emped_timer > world.time)
  +			emped_timer += downtime * 0.5
  +		else
  +			emped_timer = world.time + downtime
   
   //Makeshift stun baton. Replacement for stun gloves.
   /obj/item/melee/baton/cattleprod
  
positive.code: 	preload_cell_type = /obj/item/stock_parts/cell/high
  
  /obj/item/melee/baton/proc/deductcharge(chrgdeductamt)
  	if(cell)
  		//Note this value returned is significant, as it will determine
  		//if a stun is applied or not
  		. = cell.use(chrgdeductamt)
  		if(status && cell.charge < hitcost)
  			//we're below minimum, turn off
  			status = 0
  			update_icon()
  			playsound(loc, "sparks", 75, 1, -1)
  
  
  /obj/item/melee/baton/update_icon()
  	if(status)
  
negative.code: 			cell.forceMove(get_turf(src))
  			cell = null
  			to_chat(user, "<span class='notice'>You remove the cell from [src].</span>")
  			switch_status(FALSE, TRUE)
  	else
  		return ..()
  
  /obj/item/melee/baton/attack_self(mob/user)
  	if(cell && cell.charge > hitcost)
  		if(emped_timer > world.time)
  			to_chat(user, "<span class='warning'>[src] briefly flickers as you try to turn it on, looks like it's momentarily out of service.</span>")
  		else
  			switch_status(!status)
  			to_chat(user, "<span class='notice'>[src] is now [status ? "on" : "off"].</span>")
  	else
  		switch_status(FALSE, TRUE)
  		if(!cell)
  			to_chat(user, "<span class='warning'>[src] does not have a power source!</span>")
  		else
  			to_chat(user, "<span class='warning'>[src] is out of charge.</span>")
  	add_fingerprint(user)
  
  /obj/item/melee/baton/attack(mob/M, mob/living/carbon/human/user)
  