Merge pull request #264 from Fox-McCloud/Secborg

Secborg
This commit is contained in:
Fox-McCloud
2015-02-09 00:22:44 -05:00
5 changed files with 87 additions and 55 deletions
+13 -13
View File
@@ -22,13 +22,13 @@
component_parts += new /obj/item/weapon/cell/high(src)
RefreshParts()
build_icon()
/obj/machinery/recharge_station/upgraded/New()
..()
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(src)
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(src)
component_parts += new /obj/item/weapon/stock_parts/manipulator/pico(src)
component_parts += new /obj/item/weapon/cell/hyper(src)
component_parts += new /obj/item/weapon/cell/hyper(src)
RefreshParts()
/obj/machinery/recharge_station/RefreshParts()
@@ -39,8 +39,8 @@
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
repairs += M.rating - 1
for(var/obj/item/weapon/cell/C in component_parts)
recharge_speed *= C.maxcharge / 10000
recharge_speed *= C.maxcharge / 10000
/obj/machinery/recharge_station/process()
if(!(NOPOWER|BROKEN))
return
@@ -65,8 +65,8 @@
if(occupant)
occupant.emp_act(severity)
go_out()
..(severity)
..(severity)
/obj/machinery/recharge_station/proc/build_icon()
if(NOPOWER|BROKEN)
if(src.occupant)
@@ -80,15 +80,15 @@
if (istype(P, /obj/item/weapon/screwdriver))
if(src.occupant)
user << "<span class='notice'>The maintenance panel is locked.</span>"
return
return
default_deconstruction_screwdriver(user, "borgdecon2", "borgcharger0", P)
return
return
if(exchange_parts(user, P))
return
default_deconstruction_crowbar(P)
return
default_deconstruction_crowbar(P)
/obj/machinery/recharge_station/proc/process_occupant()
if(src.occupant)
if (istype(occupant, /mob/living/silicon/robot))
@@ -137,7 +137,7 @@
O:broken = 0
O:times_used = 0
O:icon_state = "flash"
if(istype(O,/obj/item/weapon/gun/energy/taser/cyborg))
if(istype(O,/obj/item/weapon/gun/energy/disabler/cyborg))
if(O:power_supply.charge < O:power_supply.maxcharge)
O:power_supply.give(O:charge_cost)
O:update_icon()
@@ -100,15 +100,15 @@
return 1
/obj/item/borg/upgrade/tasercooler
name = "robotic Rapid Taser Cooling Module"
desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate."
/obj/item/borg/upgrade/disablercooler
name = "robotic Rapid Disabler Cooling Module"
desc = "Used to cool a mounted disabler, increasing the potential current in it and thus its recharge rate."
construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500)
icon_state = "cyborg_upgrade3"
require_module = 1
/obj/item/borg/upgrade/tasercooler/action(var/mob/living/silicon/robot/R)
/obj/item/borg/upgrade/disablercooler/action(var/mob/living/silicon/robot/R)
if(..()) return 0
if(!istype(R.module, /obj/item/weapon/robot_module/security))
@@ -116,13 +116,13 @@
usr << "There's no mounting point for the module!"
return 0
var/obj/item/weapon/gun/energy/taser/cyborg/T = locate() in R.module
var/obj/item/weapon/gun/energy/disabler/cyborg/T = locate() in R.module
if(!T)
T = locate() in R.module.contents
if(!T)
T = locate() in R.module.modules
if(!T)
usr << "This robot has had its taser removed!"
usr << "This robot has had its disabler removed!"
return 0
if(T.recharge_time <= 2)
@@ -222,7 +222,7 @@
src.modules += new /obj/item/device/flash/cyborg(src)
src.modules += new /obj/item/weapon/handcuffs/cyborg(src)
src.modules += new /obj/item/weapon/melee/baton/robot(src)
src.modules += new /obj/item/weapon/gun/energy/taser/cyborg(src)
src.modules += new /obj/item/weapon/gun/energy/disabler/cyborg(src)
src.modules += new /obj/item/taperoll/police(src)
src.modules += new /obj/item/device/taperecorder(src)
src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src)
@@ -343,7 +343,7 @@
src.modules += new /obj/item/weapon/card/emag(src)
src.modules += new /obj/item/weapon/tank/jetpack/carbondioxide(src)
src.modules += new /obj/item/weapon/crowbar(src)
src.modules += new /obj/item/weapon/pinpointer/operative(src)
src.modules += new /obj/item/weapon/pinpointer/operative(src)
src.emag = null
return
@@ -284,6 +284,38 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
cell_type = "/obj/item/weapon/cell"
charge_cost = 500
/obj/item/weapon/gun/energy/disabler/cyborg
name = "cyborg disabler"
desc = "An integrated disabler that draws from a cyborg's power cell. This weapon contains a limiter to prevent the cyborg's power cell from overheating."
var/charge_tick = 0
var/recharge_time = 2.5
/obj/item/weapon/gun/energy/disabler/cyborg/New()
..()
processing_objects.Add(src)
/obj/item/weapon/gun/energy/disabler/cyborg/Destroy()
processing_objects.Remove(src)
..()
/obj/item/weapon/gun/energy/disabler/cyborg/process() //Every [recharge_time] ticks, recharge a shot for the cyborg
if(power_supply.charge == power_supply.maxcharge)
return 0
charge_tick++
if(charge_tick < recharge_time)
return 0
charge_tick = 0
if(!power_supply) return 0 //sanity
if(isrobot(src.loc))
var/mob/living/silicon/robot/R = src.loc
if(R && R.cell)
if(R.cell.use(charge_cost)) //Take power from the borg...
power_supply.give(charge_cost) //... to recharge the shot
update_icon()
return 1
/* 3d printer 'pseudo guns' for borgs */
@@ -65,7 +65,7 @@
construction_time = 200
category = list("Cyborg")
//Robot repair
//Robot repair
/datum/design/borg_binary_communication
name = "Cyborg Binary Communication Device"
id = "borg_binary_communication"
@@ -74,7 +74,7 @@
materials = list("$metal"=2500, "$glass"=1000)
construction_time = 200
category = list("Cyborg Repair")
/datum/design/borg_radio
name = "Cyborg Radio"
id = "borg_radio"
@@ -83,7 +83,7 @@
materials = list("$metal"=2500, "$glass"=1000)
construction_time = 200
category = list("Cyborg Repair")
/datum/design/borg_actuator
name = "Cyborg Actuator"
id = "borg_actuator"
@@ -92,7 +92,7 @@
materials = list("$metal"=3500)
construction_time = 200
category = list("Cyborg Repair")
/datum/design/borg_diagnosis_unit
name = "Cyborg Diagnosis Unit"
id = "borg_diagnosis_unit"
@@ -101,7 +101,7 @@
materials = list("$metal"=3500)
construction_time = 200
category = list("Cyborg Repair")
/datum/design/borg_camera
name = "Cyborg Camera"
id = "borg_camera"
@@ -110,7 +110,7 @@
materials = list("$metal"=2500, "$glass"=1000)
construction_time = 200
category = list("Cyborg Repair")
/datum/design/borg_armor
name = "Cyborg Armor"
id = "borg_armor"
@@ -541,7 +541,7 @@
materials = list("$metal"=10000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_drill
name = "Exosuit Engineering Equipment (Drill)"
id = "mech_drill"
@@ -559,7 +559,7 @@
materials = list("$metal"=10000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_hydraulic_clamp
name = "Exosuit Engineering Equipment (Hydraulic Clamp)"
id = "mech_hydraulic_clamp"
@@ -622,7 +622,7 @@
materials = list("$metal"=20000,"$bananium"=5000)
construction_time = 300
category = list("Exosuit Equipment")
/datum/design/mech_honker
name = "HoNkER BlAsT 5000"
id = "mech_honker"
@@ -631,7 +631,7 @@
materials = list("$metal"=20000,"$bananium"=10000)
construction_time = 500
category = list("Exosuit Equipment")
/datum/design/mech_mousetrap_mortar
name = "H.O.N.K Mousetrap Mortar"
id = "mech_mousetrap_mortar"
@@ -640,7 +640,7 @@
materials = list("$metal"=20000,"$bananium"=5000)
construction_time = 300
category = list("Exosuit Equipment")
// Exosuit Modules
/datum/design/mech_diamond_drill
name = "Exosuit Module (Diamond Mining Drill)"
@@ -652,7 +652,7 @@
materials = list("$metal"=10000,"$diamond"=6500)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_generator_nuclear
name = "Exosuit Module (ExoNuclear Reactor)"
desc = "Compact nuclear reactor module."
@@ -663,7 +663,7 @@
materials = list("$metal"=10000,"$glass"=1000,"$silver"=500)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_gravcatapult
name = "Exosuit Module (Gravitational Catapult Module)"
desc = "An exosuit mounted Gravitational Catapult."
@@ -685,7 +685,7 @@
materials = list("$metal"=10000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_rcd
name = "Exosuit Module (RCD Module)"
desc = "An exosuit-mounted Rapid Construction Device."
@@ -696,7 +696,7 @@
materials = list("$metal"=30000,"$gold"=20000,"$plasma"=25000,"$silver"=20000)
construction_time = 1200
category = list("Exosuit Equipment")
/datum/design/mech_ccw_armor
name = "Exosuit Module (Reactive Armor Booster Module)"
desc = "Exosuit-mounted armor booster."
@@ -707,7 +707,7 @@
materials = list("$metal"=20000,"$silver"=5000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_proj_armor
name = "Exosuit Module (Reflective Armor Booster Module)"
desc = "Exosuit-mounted armor booster."
@@ -718,7 +718,7 @@
materials = list("$metal"=20000,"$gold"=5000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_repair_droid
name = "Exosuit Module (Repair Droid Module)"
desc = "Automated Repair Droid. BEEP BOOP"
@@ -729,7 +729,7 @@
materials = list("$metal"=10000,"$glass"=5000,"$gold"=1000,"$silver"=2000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/clusterbang_launcher
name = "Exosuit Module (SOB-3 Clusterbang Launcher)"
desc = "A weapon that violates the Geneva Convention at 3 rounds per minute"
@@ -740,7 +740,7 @@
materials = list("$metal"=20000,"$gold"=10000,"$uranium"=10000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_teleporter
name = "Exosuit Module (Teleporter Module)"
desc = "An exosuit module that allows exosuits to teleport to any position in view."
@@ -751,7 +751,7 @@
materials = list("$metal"=10000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_energy_relay
name = "Exosuit Module (Tesla Energy Relay)"
desc = "Tesla Energy Relay"
@@ -761,8 +761,8 @@
build_path = /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay
materials = list("$metal"=10000,"$glass"=2000,"$gold"=2000,"$silver"=3000)
construction_time = 100
category = list("Exosuit Equipment")
category = list("Exosuit Equipment")
// Exosuit Weapons
/datum/design/mech_laser_heavy
name = "Exosuit Weapon (CH-LC \"Solaris\" Laser Cannon)"
@@ -774,7 +774,7 @@
materials = list("$metal"=10000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_laser
name = "Exosuit Weapon (CH-PS \"Immolator\" Laser)"
desc = "Allows for the construction of CH-PS Laser."
@@ -785,7 +785,7 @@
materials = list("$metal"=10000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_carbine
name = "Exosuit Weapon (FNX-99 \"Hades\" Carbine)"
desc = "Allows for the construction of FNX-99 \"Hades\" Carbine."
@@ -796,7 +796,7 @@
materials = list("$metal"=10000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_scattershot
name = "Exosuit Weapon (LBX AC 10 \"Scattershot\")"
desc = "Allows for the construction of LBX AC 10."
@@ -807,7 +807,7 @@
materials = list("$metal"=10000)
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_ion
name = "Exosuit Weapon (MKIV Ion Heavy Cannon)"
desc = "Allows for the construction of MKIV Ion Heavy Cannon."
@@ -850,7 +850,7 @@
req_tech = list("combat" = 4, "syndicate" = 3)
build_path = /obj/item/borg/upgrade/syndicate
category = "Cyborg Upgrade Modules"
category = list("Cyborg Upgrade Modules")
category = list("Cyborg Upgrade Modules")
/datum/design/borg_upgrade_jetpack
name = "Cyborg Upgrade Module (Mining Jetpack)"
@@ -860,16 +860,16 @@
materials = list("$metal"=10000,"$plasma"=15000,"$uranium" = 20000)
construction_time = 120
category = list("Cyborg Upgrade Modules")
/datum/design/borg_upgrade_tasercooler
name = "Cyborg Upgrade Module (Rapid Taser Cooling Module)"
id = "borg_upgrade_tasercooler"
/datum/design/borg_upgrade_disablercooler
name = "Cyborg Upgrade Module (Rapid Disabler Cooling Module)"
id = "borg_upgrade_disablercooler"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/tasercooler
build_path = /obj/item/borg/upgrade/disablercooler
materials = list("$metal"=80000 , "$glass"=6000 , "$gold"= 2000, "$diamond" = 500)
construction_time = 120
category = list("Cyborg Upgrade Modules")
/datum/design/borg_upgrade_rename
name = "Cyborg Upgrade Module (Rename Module)"
id = "borg_upgrade_rename"
@@ -878,7 +878,7 @@
materials = list("$metal"=35000)
construction_time = 120
category = list("Cyborg Upgrade Modules")
/datum/design/borg_upgrade_reset
name = "Cyborg Upgrade Module (Reset Module)"
id = "borg_upgrade_reset"