anchor.diff:  		update()
   	else if (last_ch != charging)
   		queue_icon_update()
  +	src.updateDialog()
   
   // val 0=off, 1=off(auto) 2=on 3=on(auto)
   // on 0=off, 1=on, 2=autooff
  
positive.code: 	spawn(10)
  		spooky=0
  		update_icon()
  
  //attack with an item - open/close cover, insert cell, or (un)lock interface
  /obj/machinery/power/apc/attackby(obj/item/W, mob/user)
  
negative.code: #define APC_WIRE_MAIN_POWER2 3
  #define APC_WIRE_AI_CONTROL 4
  
  //update_state
  #define UPSTATE_CELL_IN 1
  #define UPSTATE_OPENED1 2
  #define UPSTATE_OPENED2 4
  #define UPSTATE_MAINT 8
  #define UPSTATE_BROKE 16
  #define UPSTATE_BLUESCREEN 32
  #define UPSTATE_WIREEXP 64
  #define UPSTATE_ALLGOOD 128
  
  //update_overlay
  #define APC_UPOVERLAY_CHARGEING0 1
  #define APC_UPOVERLAY_CHARGEING1 2
  #define APC_UPOVERLAY_CHARGEING2 4
  #define APC_UPOVERLAY_EQUIPMENT0 8
  #define APC_UPOVERLAY_EQUIPMENT1 16
  #define APC_UPOVERLAY_EQUIPMENT2 32
  #define APC_UPOVERLAY_LIGHTING0 64
  #define APC_UPOVERLAY_LIGHTING1 128
  #define APC_UPOVERLAY_LIGHTING2 256
  #define APC_UPOVERLAY_ENVIRON0 512
  #define APC_UPOVERLAY_ENVIRON1 1024
  #define APC_UPOVERLAY_ENVIRON2 2048
  #define APC_UPOVERLAY_LOCKED 4096
  
  #define APC_UPDATE_ICON_COOLDOWN 100 // 10 seconds
  
  
  // the Area Power Controller (APC), formerly Power Distribution Unit (PDU)
  // one per area, needs wire conection to power network
  