anchor.diff:  					on = 0
   
   				m.set_state(!on)
  -
  -			for(var/mob/O in viewers(src)) //tell everyone the AI is a cunt
  -				O.show_message(text("\red \The [src] stops flickering. It has been switched to the [!on ? "on": "off"] setting."), 1)
  -			user << "\red You finish reprogramming [src]. It has been switched to the [!on ? "on": "off"] setting."
  -
  -			if(m.on) //set sprite
  -				icon_state = "ebreaker_on"
  -			else
  -				icon_state = "ebreaker_off"
  +				on = m.on
  +
  +				for(var/mob/O in viewers(src)) //tell everyone the AI is a cunt
  +					O.show_message(text("\red \The [src] stops flickering. It has been switched to the [!on ? "on": "off"] setting."), 1)
  +				user << "\red You finish reprogramming [src]. It has been switched to the [!on ? "on": "off"] setting."
  +
  +			update_sprite()
   			m.busy = 0
   
   
   /obj/structure/breaker/ebreaker/attack_hand(mob/user)
  +	if(locked)
  +		user << "\The [src] is locked."
  +		return
  +
  +	if(panel_open)
  +		if(emagged)
  +			user << "You start restoring the [src] to factory settings. This may take a while."
  +			if(do_after(user, 300))
  +				emagged = 0
  +				update_sprite()
  +				return
  +		return
  +
   	for(var/obj/structure/breaker/powerswitch/m in world)
   		if(m.id == id)
   
   			if(m.busy)//prevent spam
  -				user << "\red This breaker is already being toggled."
  +				user << "\red This [src] is already being toggled."
   				return
   			..()
   
   			m.busy = 1
  +			icon_state = sprite_working
   			for(var/mob/O in viewers(src)) //tell everyone something is going on
  -				O.show_message(text("\red [user] starts reprogramming the breaker."), 1)
  +				if(O != user)
  +					O.show_message(text("\red [user] starts reprogramming the [src]."), 1)
   			user << "\red You start reprogramming [src]."
   
   			if(do_after(user, 150))//3x as long as AI toggling the breaker
  
positive.code: 		for(var/obj/structure/cable/C in src.loc)
  			qdel(C)
  
  /////////////////////////
  //  ELECTRONIC BREAKER //
  //  WHAT AM I DOING?!  //
  /////////////////////////
  
  
  /obj/structure/breaker/ebreaker
  
negative.code: 					on = 0
  
  				m.set_state(!on)
  				on = m.on
  
  				for(var/mob/O in viewers(src)) //tell everyone the operation is done
  					if(O != user)
  						O.show_message(text("\red [user] reprograms [src]. It has been switched to the [on ? "on": "off"] setting."), 1)
  				user << "\red You finish reprogramming [src]. It has been switched to the [on ? "on": "off"] setting."
  
  			update_sprite()
  			m.busy = 0
  /obj/structure/breaker/ebreaker/examine(mob/user)
  	..()
  	if(locked)
  		user << "\The [src] appears to be locked."
  	else
  		user << "\The [src] appears to be unlocked."
  	if(!on)
  		user << "\The [src] is enabled."
  	else
  		user << "\The [src] is disabled."
  
  /obj/structure/breaker/ebreaker/attackby(obj/item/W, mob/user)
  	if(istype(W, /obj/item/weapon/card/id))
  		if(panel_open) //can't lock/unlock if cover is open
  			return
  		if(emagged)
  			user << "\red The [src] does not respond to your commands."
  			return
  		if(check_access(W))
  			if(locked)
  				locked = 0
  				user << "\red You unlock the [src]."
  				return
  			else
  				locked = 1
  				user << "\red You lock the [src]."
  				return
  		else
  			user << "\red Insufficient Access."
  			return
  
  	if(istype(W, /obj/item/weapon/card/emag))
  		if(panel_open)
  			return
  		if(locked)
  			locked = 0
  			user << "\red You unlock the [src]."
  			emagged = 1
  			update_sprite()
  			for(var/mob/O in viewers(user))
  				if(O != user)
  					O << "<span class='danger'> [user] hacked the [src] with [W]!"
  			return
  		else
  			user << "\red You cannot lock the [src] with [W]."
  			return
  
  	if(istype(W, /obj/item/weapon/crowbar))
  		if(panel_open == 0)
  			panel_open = 1
  		else
  			panel_open = 0
  		update_sprite()
  
  /obj/structure/breaker/ebreaker/proc/update_sprite()
  	/*
  	var/sprite_on = "ebreaker_on"
  	var/sprite_off = "ebreaker_off"
  	var/sprite_working = "ebreaker_r"
  	var/sprite_bsod = "ebreaker_bs"
  	var/sprite_panel = "ebreaker_on
  
  	for reference^^
  	*/
  	..()
  
  	if(panel_open)
  		icon_state = sprite_panel
  		return
  	else if(emagged)
  		icon_state = sprite_bsod
  		return
  	else if(on)
  		icon_state = sprite_on
  		return
  	else
  		icon_state = sprite_off
  		return
  
  
  