Adds Syndiborg to NukeOps, enables shortcuts for borgs/drones, notifies the AI of borg changes

This commit is contained in:
Markolie
2014-11-23 07:52:38 +01:00
parent 20419b69d3
commit 30c1960fe8
24 changed files with 275 additions and 214 deletions
+48 -39
View File
@@ -18,31 +18,31 @@
var/charge_tick = 0
var/recharge_time = 10 //Time it takes for shots to recharge (in ticks)
New()
..()
processing_objects.Add(src)
/obj/item/weapon/gun/energy/taser/cyborg/New()
..()
processing_objects.Add(src)
Destroy()
processing_objects.Remove(src)
..()
/obj/item/weapon/gun/energy/taser/cyborg/Destroy()
processing_objects.Remove(src)
..()
process() //Every [recharge_time] ticks, recharge a shot for the cyborg
charge_tick++
if(charge_tick < recharge_time) return 0
charge_tick = 0
/obj/item/weapon/gun/energy/taser/cyborg/process() //Every [recharge_time] ticks, recharge a shot for the cyborg
charge_tick++
if(charge_tick < recharge_time) return 0
charge_tick = 0
if(!power_supply) return 0 //sanity
if(power_supply.charge >= power_supply.maxcharge) return 0 // check if we actually need to recharge
if(!power_supply) return 0 //sanity
if(power_supply.charge >= power_supply.maxcharge) return 0 // check if we actually need to recharge
if(isrobot(src.loc))
var/mob/living/silicon/robot/R = src.loc
if(R && R.cell)
R.cell.use(charge_cost) //Take power from the borg...
power_supply.give(charge_cost) //... to recharge the shot
if(isrobot(src.loc))
var/mob/living/silicon/robot/R = src.loc
if(R && R.cell)
R.cell.use(charge_cost) //Take power from the borg...
power_supply.give(charge_cost) //... to recharge the shot
update_icon()
return 1
update_icon()
return 1
/obj/item/weapon/gun/energy/stunrevolver
@@ -70,30 +70,39 @@
cell_type = "/obj/item/weapon/cell/crap"
var/charge_tick = 0
/obj/item/weapon/gun/energy/crossbow/New()
..()
processing_objects.Add(src)
New()
..()
processing_objects.Add(src)
/obj/item/weapon/gun/energy/crossbow/Destroy()
processing_objects.Remove(src)
..()
/obj/item/weapon/gun/energy/crossbow/process()
charge_tick++
if(charge_tick < 4) return 0
charge_tick = 0
if(!power_supply) return 0
power_supply.give(1000)
return 1
Destroy()
processing_objects.Remove(src)
..()
process()
charge_tick++
if(charge_tick < 4) return 0
charge_tick = 0
if(!power_supply) return 0
power_supply.give(1000)
/obj/item/weapon/gun/energy/crossbow/update_icon()
return
/obj/item/weapon/gun/energy/crossbow/cyborg/process()
..()
return
/obj/item/weapon/gun/energy/crossbow/cyborg/process_chambered()
if(in_chamber)
return 1
update_icon()
return
if(isrobot(src.loc))
var/mob/living/silicon/robot/R = src.loc
if(R && R.cell)
R.cell.use(100)
in_chamber = new /obj/item/projectile/energy/bolt(src)
return 1
return 0
/obj/item/weapon/gun/energy/crossbow/largecrossbow
name = "Energy Crossbow"