Merge pull request #12057 from Xhuis/it_worked_in_testing_3

Fixes and tweaks to Syndicate medical cyborgs
This commit is contained in:
Razharas
2015-09-30 23:14:58 +03:00
10 changed files with 59 additions and 31 deletions
+6 -3
View File
@@ -121,7 +121,7 @@
/obj/item/weapon/antag_spawner/borg_tele
name = "syndicate cyborg teleporter"
desc = "A single-use teleporter used to deploy a Syndicate cyborg on the field."
desc = "A single-use teleporter designed to deploy a single Syndicate cyborg onto the field."
icon = 'icons/obj/device.dmi'
icon_state = "locator"
var/TC_cost = 0
@@ -130,8 +130,11 @@
/obj/item/weapon/antag_spawner/borg_tele/attack_self(mob/user)
if(used)
user << "The teleporter is out of power."
user << "<span class='warning'>[src] is out of power!</span>"
return
if(!(user.mind in ticker.mode.syndicates))
user << "<span class='danger'>AUTHENTICATION FAILURE. ACCESS DENIED.</span>"
return 0
borg_to_spawn = input("What type?", "Cyborg Type", type) as null|anything in possible_types
if(!borg_to_spawn)
return
@@ -141,7 +144,7 @@
var/client/C = pick(borg_candicates)
spawn_antag(C, get_turf(src.loc), "syndieborg")
else
user << "<span class='notice'>Unable to connect to Syndicate Command. Please wait and try again later or use the teleporter on your uplink to get your points refunded.</span>"
user << "<span class='warning'>Unable to connect to Syndicate command. Please wait and try again later or use the teleporter on your uplink to get your points refunded.</span>"
/obj/item/weapon/antag_spawner/borg_tele/spawn_antag(client/C, turf/T, type = "")
if(!borg_to_spawn) //If there's no type at all, let it still be used but don't do anything
+21 -11
View File
@@ -253,6 +253,9 @@
var/mob/living/carbon/nearest_op = null
/obj/item/weapon/pinpointer/operative/attack_self()
if(!usr.mind || !(usr.mind in ticker.mode.syndicates))
usr << "<span class='danger'>AUTHENTICATION FAILURE. ACCESS DENIED.</span>"
return 0
if(!active)
active = 1
workop()
@@ -263,20 +266,27 @@
usr << "<span class='notice'>You deactivate the pinpointer.</span>"
/obj/item/weapon/pinpointer/operative/proc/scan_for_ops()
if(!nearest_op)
if(active)
nearest_op = null //Resets nearest_op every time it scans
var/closest_distance = 1000
for(var/mob/living/carbon/M in mob_list)
if(M.mind in ticker.mode.syndicates)
nearest_op = M
if(M.mind && (M.mind in ticker.mode.syndicates))
if(get_dist(M, get_turf(src)) < closest_distance) //Actually points toward the nearest op, instead of a random one like it used to
nearest_op = M
/obj/item/weapon/pinpointer/operative/proc/workop()
scan_for_ops()
point_at(nearest_op, 0)
spawn(5)
.()
if(active)
scan_for_ops()
point_at(nearest_op, 0)
spawn(5)
.()
else
return 0
/obj/item/weapon/pinpointer/operative/examine(mob/user)
..()
if(nearest_op != null)
user << "Nearest operative: <b>[nearest_op]</b>."
if(nearest_op == null && active)
user << "No operatives detected within scanning range."
if(active)
if(nearest_op)
user << "Nearest operative detected is <i>[nearest_op.real_name].</i>"
else
user << "No operatives detected within scanning range."
@@ -112,7 +112,7 @@
/obj/item/weapon/melee/energy/sword/cyborg/saw //Used by medical Syndicate cyborgs
name = "energy saw"
desc = "For heavy duty cutting. It has a carbon-fiber blade and an energy capacitor that can be toggled to make it more powerful."
desc = "For heavy duty cutting. It has a carbon-fiber blade in addition to a toggleable hard-light edge to dramatically increase sharpness."
icon_state = "esaw"
force_on = 30
force = 18 //About as much as a spear
@@ -121,13 +121,14 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "esaw_0"
icon_state_on = "esaw_1"
hitcost = 75 //Costs more because it's not intended to be a murderbone weapon
hitcost = 75 //Costs more than a standard cyborg esword
item_color = null
w_class = 3
sharpness = IS_SHARP
/obj/item/weapon/melee/energy/sword/cyborg/saw/New()
..()
icon_state = "esaw_0"
item_color = null
/obj/item/weapon/melee/energy/sword/cyborg/saw/IsShield()
@@ -1128,6 +1128,9 @@
radio = new /obj/item/device/radio/borg/syndicate(src)
module = new /obj/item/weapon/robot_module/syndicate(src)
laws = new /datum/ai_laws/syndicate_override()
spawn(5)
if(playstyle_string)
src << playstyle_string
/mob/living/silicon/robot/syndicate/medical
icon_state = "syndi-medi"
@@ -1142,9 +1145,6 @@
/mob/living/silicon/robot/syndicate/medical/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)
@@ -324,7 +324,6 @@
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)
@@ -332,6 +331,7 @@
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/card/emag(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)
@@ -914,16 +914,16 @@ datum/reagent/medicine/tricordrazine/overdose_process(mob/living/M)
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."
description = "Miniature medical robots that swiftly restore bodily damage. May begin to attack their host's cells in high amounts."
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)
M.adjustBruteLoss(-5*REM) //A ton of healing - this is a 50 telecrystal investment.
M.adjustFireLoss(-5*REM)
M.adjustOxyLoss(-15*REM)
M.adjustToxLoss(-5*REM)
M.adjustBrainLoss(-15*REM)
M.adjustCloneLoss(-3*REM)
..()
return
@@ -55,7 +55,7 @@ Borg Hypospray
//update_icon()
return 1
// Purely for testing purposes I swear~
// Purely for testing purposes I swear~ //don't lie to me
/*
/obj/item/weapon/reagent_containers/borghypo/verb/add_cyanide()
set src in world
@@ -128,7 +128,7 @@ Borg Hypospray
/obj/item/weapon/reagent_containers/borghypo/syndicate
name = "syndicate cyborg hypospray"
desc = "A modified hypospray that generates reagents more quickly and consumes less power."
desc = "An experimental piece of Syndicate technology used to produce powerful restorative nanites used to very quickly restore injuries of all types. Also metabolizes potassium iodide, for radiation poisoning, and morphine, for offense."
icon_state = "borghypo_s"
charge_cost = 20
recharge_time = 2
@@ -149,7 +149,7 @@ Borg Shaker
reagent_ids = list("beer", "orangejuice", "limejuice", "tomatojuice", "cola", "tonic", "sodawater", "ice", "cream", "whiskey", "vodka", "rum", "gin", "tequila", "vermouth", "wine", "kahlua", "cognac", "ale")
/obj/item/weapon/reagent_containers/borghypo/borgshaker/attack(mob/M, mob/user)
return //Can't inject stuff with a shaker, can we?
return //Can't inject stuff with a shaker, can we? //not with that attitude
/obj/item/weapon/reagent_containers/borghypo/borgshaker/regenerate_reagents()
if(isrobot(src.loc))
+2 -1
View File
@@ -94,4 +94,5 @@ bear1ake = Game Master
CoreOverload = Game Master
Jalleo = Game Master
Anonus Tanir = Game Master
FoxPMcCloud = Game Master
FoxPMcCloud = Game Master
Xhuis = Game Master
+13
View File
@@ -0,0 +1,13 @@
author: Xhuis
delete-after: True
changes:
- rscadd: "Syndicate Medical cyborgs now have cryptographic sequencers."
- rscdel: "Syndicate Medical cyborgs no longer have syringes."
- tweak: "Restorative Nanites now heal much more damage per type."
- bugfix: "Operative pinpointers now actually point toward the nearest operative."
- bugfix: "Syndicate Assault cyborgs no longer start with medical supplies."
- bugfix: "Energy saws now have a proper icon."
- bugfix: "Non-operatives can now longer use operative pinpointers or Syndicate cyborg teleporters."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB