mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-20 10:37:17 +01:00
Added a new borg upgrade module which requires illegal tech and combat tech to make. It allows you to give them their emagged equipment without fucking with their laws. New LMG by Ausops (both sprites and code). Right now appears only in Summon Guns, but may appear elsewhere in time. Grilles now have a bullet act, so they no longer magically absorb infinite bullets. Updated changelog. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5037 316c924e-a436-60f5-8080-3fe189b3f50e
152 lines
4.2 KiB
Plaintext
152 lines
4.2 KiB
Plaintext
// robot_upgrades.dm
|
|
// Contains various borg upgrades.
|
|
|
|
/obj/item/borg/upgrade/
|
|
name = "A borg upgrade module."
|
|
desc = "Protected by FRM."
|
|
icon = 'icons/obj/module.dmi'
|
|
icon_state = "cyborg_upgrade"
|
|
var/construction_time = 120
|
|
var/construction_cost = list("metal"=10000)
|
|
var/locked = 0
|
|
var/require_module = 0
|
|
var/installed = 0
|
|
|
|
/obj/item/borg/upgrade/proc/action(var/mob/living/silicon/robot/R)
|
|
if(R.stat == DEAD)
|
|
usr << "/red The [src] will not function on a deceased cyborg."
|
|
return 1
|
|
return 0
|
|
|
|
|
|
/obj/item/borg/upgrade/reset/
|
|
name = "Borg module reset board"
|
|
desc = "Used to reset a borg's module. Destroys any other upgrades applied to the borg."
|
|
icon_state = "cyborg_upgrade1"
|
|
require_module = 1
|
|
|
|
/obj/item/borg/upgrade/reset/action(var/mob/living/silicon/robot/R)
|
|
if(..()) return 0
|
|
R.uneq_all()
|
|
R.hands.icon_state = "nomod"
|
|
R.icon_state = "robot"
|
|
del(R.module)
|
|
R.module = null
|
|
R.modtype = "robot"
|
|
R.updatename("Default")
|
|
R.nopush = 0
|
|
R.updateicon()
|
|
|
|
return 1
|
|
|
|
|
|
/obj/item/borg/upgrade/restart/
|
|
name = "Borg emergency restart module"
|
|
desc = "Used to force a restart of a disabled-but-repaired borg, bringing it back online."
|
|
construction_cost = list("metal"=60000 , "glass"=5000)
|
|
icon_state = "cyborg_upgrade1"
|
|
|
|
|
|
/obj/item/borg/upgrade/restart/action(var/mob/living/silicon/robot/R)
|
|
if(R.health < 0)
|
|
usr << "You have to repair the borg before using this module!"
|
|
return 0
|
|
|
|
if(!R.key)
|
|
for(var/mob/dead/observer/ghost in player_list)
|
|
if(ghost.mind && ghost.mind.current == R)
|
|
R.key = ghost.key
|
|
|
|
R.stat = CONSCIOUS
|
|
return 1
|
|
|
|
|
|
/obj/item/borg/upgrade/vtec/
|
|
name = "Borg VTEC Module"
|
|
desc = "Used to kick in a borgs VTEC systems, increasing their speed."
|
|
construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 5000)
|
|
icon_state = "cyborg_upgrade2"
|
|
require_module = 1
|
|
|
|
/obj/item/borg/upgrade/vtec/action(var/mob/living/silicon/robot/R)
|
|
if(..()) return 0
|
|
|
|
if(R.speed == -1)
|
|
return 0
|
|
|
|
R.speed--
|
|
return 1
|
|
|
|
|
|
/obj/item/borg/upgrade/tasercooler/
|
|
name = "Borg Rapid Taser Cooling Module"
|
|
desc = "Used to cool a mounted taser, 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)
|
|
if(..()) return 0
|
|
|
|
if(!istype(R.module, /obj/item/weapon/robot_module/security))
|
|
R << "Upgrade mounting error! No suitable hardpoint detected!"
|
|
usr << "There's no mounting point for the module!"
|
|
return 0
|
|
|
|
var/obj/item/weapon/gun/energy/taser/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 cyborg has had its taser removed!"
|
|
return 0
|
|
|
|
if(T.recharge_time <= 2)
|
|
R << "Maximum cooling achieved for this hardpoint!"
|
|
usr << "There's no room for another cooling unit!"
|
|
return 0
|
|
|
|
else
|
|
T.recharge_time = max(2 , T.recharge_time - 4)
|
|
|
|
return 1
|
|
|
|
/obj/item/borg/upgrade/jetpack/
|
|
name = "Mining Borg Jetpack"
|
|
desc = "A carbon dioxide jetpack suitable for low-gravity mining operations"
|
|
construction_cost = list("metal"=10000,"plasma"=15000,"uranium" = 20000)
|
|
icon_state = "cyborg_upgrade3"
|
|
require_module = 1
|
|
|
|
/obj/item/borg/upgrade/jetpack/action(var/mob/living/silicon/robot/R)
|
|
if(..()) return 0
|
|
|
|
if(!istype(R.module, /obj/item/weapon/robot_module/miner))
|
|
R << "Upgrade mounting error! No suitable hardpoint detected!"
|
|
usr << "There's no mounting point for the module!"
|
|
return 0
|
|
else
|
|
R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide
|
|
for(var/obj/item/weapon/tank/jetpack/carbondioxide in R.module.modules)
|
|
R.internals = src
|
|
R.icon_state="Miner+j"
|
|
return 1
|
|
|
|
|
|
/obj/item/borg/upgrade/syndicate/
|
|
name = "Illegal Equipment Module"
|
|
desc = "Unlocks the hidden, deadlier functions of a cyborg"
|
|
construction_cost = list("metal"=10000,"glass"=15000,"diamond" = 10000)
|
|
icon_state = "cyborg_upgrade3"
|
|
require_module = 1
|
|
|
|
/obj/item/borg/upgrade/syndicate/action(var/mob/living/silicon/robot/R)
|
|
if(..()) return 0
|
|
|
|
if(R.emagged == 1)
|
|
return 0
|
|
|
|
R.emagged = 1
|
|
return 1 |