Merge pull request #11809 from Xhuis/even_better_than_a_mass_emagger

Uplink rebalance
This commit is contained in:
Cheridan
2015-09-22 23:40:18 -05:00
22 changed files with 333 additions and 112 deletions
+22 -1
View File
@@ -1109,8 +1109,12 @@
scrambledcodes = 1
modtype = "Synd"
faction = list("syndicate")
designation = "Syndicate"
designation = "Syndicate Assault"
req_access = list(access_syndicate)
var/playstyle_string = "<span class='userdanger'>You are a Syndicate assault cyborg!</span><br>\
<b>You are armed with powerful offensive tools to aid you in your mission: help the operatives secure the nuclear authentication disk. \
Your cyborg LMG will slowly produce ammunition from your power supply, and your operative pinpointer will find and locate fellow nuclear operatives. \
<i>Help the operatives secure the disk at all costs!</i></b>"
/mob/living/silicon/robot/syndicate/New(loc)
..()
@@ -1120,6 +1124,23 @@
module = new /obj/item/weapon/robot_module/syndicate(src)
laws = new /datum/ai_laws/syndicate_override()
/mob/living/silicon/robot/syndicate/medical
icon_state = "syndi-medi"
designation = "Syndicate Medical"
playstyle_string = "<span class='userdanger'>You are a Syndicate medical cyborg!</span><br>\
<b>You are armed with powerful medical tools to aid you in your mission: help the operatives secure the nuclear authentication disk. \
Your hypospray will produce Restorative Nanites, a wonder-drug that will heal most types of bodily damages, including clone and brain damage. It also produces morphine for offense. \
Your defibrillator paddles can revive operatives through their hardsuits, or can be used on harm intent to shock enemies! \
Your energy saw functions as a circular saw, but can be activated to deal more damage, and your operative pinpointer will find and locate fellow nuclear operatives. \
<i>Help the operatives secure the disk at all costs!</i></b>"
/mob/living/silicon/robot/syndicate/New(loc)
..()
module = new /obj/item/weapon/robot_module/syndicate_medical(src)
spawn(5)
if(playstyle_string)
src << playstyle_string
/mob/living/silicon/robot/proc/notify_ai(notifytype, oldname, newname)
if(!connected_ai)
return
@@ -248,7 +248,7 @@
/obj/item/weapon/robot_module/syndicate
name = "syndicate robot module"
name = "syndicate assault robot module"
/obj/item/weapon/robot_module/syndicate/New()
..()
@@ -262,6 +262,37 @@
emag = null
fix_modules()
/obj/item/weapon/robot_module/syndicate_medical
name = "syndicate medical robot module"
/obj/item/weapon/robot_module/syndicate_medical/New()
..()
modules += new /obj/item/weapon/reagent_containers/borghypo/syndicate(src)
modules += new /obj/item/weapon/twohanded/shockpaddles/syndicate(src)
modules += new /obj/item/device/healthanalyzer(src)
modules += new /obj/item/weapon/reagent_containers/syringe(src)
modules += new /obj/item/weapon/surgical_drapes(src)
modules += new /obj/item/weapon/retractor(src)
modules += new /obj/item/weapon/hemostat(src)
modules += new /obj/item/weapon/cautery(src)
modules += new /obj/item/weapon/scalpel(src)
modules += new /obj/item/weapon/melee/energy/sword/cyborg/saw(src) //Energy saw -- primary weapon
modules += new /obj/item/roller/robo(src)
modules += new /obj/item/weapon/tank/jetpack/carbondioxide(src)
modules += new /obj/item/weapon/crowbar(src)
modules += new /obj/item/weapon/pinpointer/operative(src)
emag = null
var/datum/robot_energy_storage/gauze/gauzestore = new /datum/robot_energy_storage/gauze(src)
var/obj/item/stack/medical/gauze/cyborg/G = new /obj/item/stack/medical/gauze/cyborg(src)
G.source = gauzestore
modules += G
storages += gauzestore
fix_modules()
/datum/robot_energy_storage
var/name = "Generic energy storage"
var/max_energy = 30000
+1
View File
@@ -23,6 +23,7 @@
var/fire_sound = "gunshot"
var/suppressed = 0 //whether or not a message is displayed when fired
var/can_suppress = 0
var/can_unsuppress = 1
var/recoil = 0 //boom boom shake the room
var/clumsy_check = 1
var/obj/item/ammo_casing/chambered = null
+1 -1
View File
@@ -89,7 +89,7 @@
/obj/item/weapon/gun/projectile/attack_hand(mob/user)
if(loc == user)
if(suppressed)
if(suppressed && can_unsuppress)
var/obj/item/weapon/suppressor/S = suppressed
if(user.l_hand != src && user.r_hand != src)
..()
@@ -78,3 +78,14 @@
desc = "A modification of the syringe gun design, using a rotating cylinder to store up to six syringes."
icon_state = "rapidsyringegun"
max_syringes = 6
/obj/item/weapon/gun/syringe/syndicate
name = "dart pistol"
desc = "A small spring-loaded sidearm that functions identically to a syringe gun."
icon_state = "syringe_pistol"
item_state = "gun" //Smaller inhand
w_class = 2
origin_tech = "combat=2;syndicate=2"
force = 2 //Also very weak because it's smaller
suppressed = 1 //Softer fire sound
can_unsuppress = 0 //Permanently silenced
@@ -902,3 +902,20 @@ datum/reagent/medicine/tricordrazine/overdose_process(mob/living/M)
M.adjustFireLoss(2*REM)
..()
return
datum/reagent/medicine/syndicate_nanites //Used exclusively by Syndicate medical cyborgs
name = "Restorative Nanites"
id = "syndicate_nanites"
description = "Miniature medical robots that swiftly restore bodily damage."
reagent_state = SOLID
color = "#555555"
datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/M)
M.adjustBruteLoss(-2*REM)
M.adjustFireLoss(-2*REM)
M.adjustOxyLoss(-2*REM)
M.adjustToxLoss(-2*REM)
M.adjustBrainLoss(-5*REM)
M.adjustCloneLoss(-1*REM)
..()
return
@@ -125,6 +125,15 @@ Borg Hypospray
if(empty)
usr << "<span class='warning'>It is currently empty! Allow some time for the internal syntheszier to produce more.</span>"
/obj/item/weapon/reagent_containers/borghypo/syndicate
name = "syndicate cyborg hypospray"
desc = "A modified hypospray that generates reagents more quickly and consumes less power."
icon_state = "borghypo_s"
charge_cost = 20
recharge_time = 2
reagent_ids = list("syndicate_nanites", "potass_iodide", "morphine")
/*
Borg Shaker
*/
+1 -1
View File
@@ -74,7 +74,7 @@
//saw bone
/datum/surgery_step/saw
name = "saw bone"
implements = list(/obj/item/weapon/circular_saw = 100, /obj/item/weapon/melee/arm_blade = 75, /obj/item/weapon/twohanded/fireaxe = 50, /obj/item/weapon/hatchet = 35, /obj/item/weapon/kitchen/knife/butcher = 25)
implements = list(/obj/item/weapon/circular_saw = 100, /obj/item/weapon/melee/energy/sword/cyborg/saw = 100, /obj/item/weapon/melee/arm_blade = 75, /obj/item/weapon/twohanded/fireaxe = 50, /obj/item/weapon/hatchet = 35, /obj/item/weapon/kitchen/knife/butcher = 25)
time = 54
/datum/surgery_step/saw/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
+1 -1
View File
@@ -12,7 +12,7 @@
//cut fat
/datum/surgery_step/cut_fat
name = "cut excess fat"
implements = list(/obj/item/weapon/circular_saw = 100, /obj/item/weapon/hatchet = 35, /obj/item/weapon/kitchen/knife/butcher = 25)
implements = list(/obj/item/weapon/circular_saw = 100, /obj/item/weapon/melee/energy/sword/cyborg/saw = 100, /obj/item/weapon/hatchet = 35, /obj/item/weapon/kitchen/knife/butcher = 25)
time = 64
/datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
-1
View File
@@ -86,7 +86,6 @@
origin_tech = "materials=1;biotech=1"
attack_verb = list("attacked", "slashed", "sawed", "cut")
/obj/item/weapon/surgical_drapes
name = "surgical drapes"
desc = "Nanotrasen brand surgical drapes provide optimal safety and infection control."