anchor.diff:  
   	return 1
   
  -
  -
  -
   /obj/machinery/power/shipweapon/verb/rotate()
   	set name = "Rotate"
   	set category = "Object"
  
positive.code: 	var/obj/item/weapon/stock_parts/cell/cell
  	var/charge_rate = 30000
  
  	var/state = 0
  	var/locked = 0
  
  	var/projectile_type = /obj/item/projectile/ship_projectile/phase_blast
  	var/projectile_sound = 'sound/effects/phasefire.ogg'
  
  
  /obj/machinery/power/shipweapon/New()
  	..()
  
negative.code: /obj/machinery/power/shipweapon/process()
  	if(stat & (BROKEN|MAINT))
  		return
  	if(src.state != 2 || (!powernet && active_power_usage))
  		update_icon()
  		return
  	if(!active_power_usage || avail(active_power_usage))
  		var/load = min((cell.maxcharge-cell.charge)/GLOB.CELLRATE, charge_rate)		// charge at set rate, limited to spare capacity
  		add_load(load) // add the load to the terminal side network
  		cell.give(surplus() * GLOB.CELLRATE)	// increase the charge
  		if(!powered)
  			powered = 1
  			update_icon()
  		else
  			if(powered)
  				powered = 0
  				update_icon()
  			return
  
  /obj/machinery/power/shipweapon/proc/can_fire()
  	if(state != 2)
  