Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

more cool stuff for the engineer and medic uplink erts #17224

Merged
merged 2 commits into from
Jan 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 0 additions & 4 deletions code/datums/components/uplink.dm
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,3 @@ GLOBAL_LIST_EMPTY(uplinks)
nt_uplink_type = NT_ERT_MEDIC
/datum/component/uplink/nanotrasen/engineer
nt_uplink_type = NT_ERT_ENGINEER

#undef NT_ERT_TROOPER
#undef NT_ERT_MEDIC
#undef NT_ERT_ENGINEER
4 changes: 4 additions & 0 deletions code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,10 @@
SSwardrobe.provide_type(/obj/item/holosign_creator/multi/CE, src)
//much roomier now that we've managed to remove two tools

/obj/item/storage/belt/utility/chief/full/ert
name = "advanced nanotrasen toolbelt"
desc = "Full of top of the line tools for all of your engineering needs."

/obj/item/storage/belt/utility/chief/full/get_types_to_preload()
var/list/to_preload = list() //Yes this is a pain. Yes this is the point
to_preload += /obj/item/handdrill
Expand Down
14 changes: 14 additions & 0 deletions code/modules/reagents/chemistry/reagents/medicine_reagents.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1852,3 +1852,17 @@
clot_rate = 0.4 //slightly better than regular coagulant
passive_bleed_modifier = 0.5
overdose_threshold = 10 //but easier to overdose on

/datum/reagent/medicine/resurrector_nanites
name = "Resurrector Nanite Serum"
description = "A serum of nanites capable of restoring corpses to living people in a timely manner."
taste_description = "a bunch of tiny robots"

/datum/reagent/medicine/resurrector_nanites/reaction_mob(mob/living/carbon/M)
..()
if(M.stat != DEAD)
return
M.revive(full_heal = TRUE)
M.Jitter(10 SECONDS)
M.emote("gasp")

20 changes: 20 additions & 0 deletions code/modules/reagents/reagent_containers/hypospray.dm
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,19 @@
else
. += span_notice("It is spent.")

/obj/item/reagent_containers/autoinjector/medipen/resurrector
name = "resurrector nanite serum"
desc = "A single-use superdose of nanites capable of restoring a corpse to perfect working very quickly. Does nothing on a living person."
icon_state = "mechserum"
list_reagents = list(/datum/reagent/medicine/resurrector_nanites = 12)

/obj/item/reagent_containers/autoinjector/medipen/resurrector/attack(mob/living/M, mob/user)
if(!reagents.total_volume)
to_chat(user, span_warning("[src] is empty!"))
return
if(do_after(user, 3 SECONDS, M))
..()

/obj/item/reagent_containers/autoinjector/medipen/stimpack //goliath kiting
name = "stimpack medipen"
desc = "A rapid way to stimulate your body's adrenaline, allowing for freer movement in restrictive armor."
Expand Down Expand Up @@ -197,6 +210,13 @@
list_reagents = list(/datum/reagent/water/holywater = 150, /datum/reagent/peaceborg/tire = 50, /datum/reagent/peaceborg/confuse = 50)
amount_per_transfer_from_this = 50

/obj/item/reagent_containers/autoinjector/combat/healermech
name = "healer nanite serum"
desc = "Contains reverse-engineered nanites that will quickly heal most wounds on a subject. Pre-filled with fifteen doses."
volume = 150
amount_per_transfer_from_this = 10
list_reagents = list(/datum/reagent/medicine/syndicate_nanites = 150)

/obj/item/reagent_containers/autoinjector/medipen/atropine
name = "atropine autoinjector"
desc = "A rapid way to save a person from a critical injury state!"
Expand Down
101 changes: 68 additions & 33 deletions code/modules/uplink/uplink_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2599,15 +2599,15 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/energy/e_gun
cost = 3
limited_stock = 2 //One for you and a friend, no infinite guns though
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/energy_weps/tac_egun
name = "Tactical Energy Gun"
desc = "A military-grade augmented energy gun, fitted with a tasing mode."
item = /obj/item/gun/energy/e_gun/stun
cost = 20
limited_stock = 1
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/energy_weps/mini_egun
name = "Miniature Energy Gun"
Expand All @@ -2622,21 +2622,21 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/ballistic/automatic/laser
cost = 8
limited_stock = 1
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/energy_weps/m1911
name = "Spur"
desc = "A legendary slowly self-charging pistol with massive recoil that deals more damage the more charge it has."
item = /obj/item/gun/energy/polarstar/spur
cost = 10
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/energy_weps/pulsecarbine
name = "Pulse Carbine"
desc = "A severely lethal energy carbine that fires additionaly fires pulse rounds. Must be recharged instead of reloaded."
item = /obj/item/gun/energy/pulse/carbine
cost = 45
required_ert_uplink = 1 //Medics and engies can buy pulse pistols
required_ert_uplink = NT_ERT_TROOPER //Medics and engies can buy pulse pistols

/datum/uplink_item/nt/energy_weps/pulsepistol
name = "Pulse Pistol"
Expand All @@ -2653,7 +2653,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))

/datum/uplink_item/nt/ball_weps
category = "Ballistic Weapons"
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/ball_weps/boarder
name = "NT-ARG 'Boarder' Rifle"
Expand Down Expand Up @@ -2698,14 +2698,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))

/datum/uplink_item/nt/ammo
category = "Ammunition"
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/ammo/recharger
name = "Weapon Recharger"
desc = "Standard issue energy weapon recharger. Must be anchored in an APC-powered area."
item = /obj/machinery/recharger
cost = 2
required_ert_uplink = 3
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/ammo/powerpack
name = "Power Pack"
Expand Down Expand Up @@ -2819,21 +2819,21 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
pocketed when inactive."
item = /obj/item/melee/transforming/energy/sword/saber
cost = 8
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/cqc/eshield
name = "Energy Shield"
desc = "A shield that blocks all energy projectiles but is useless against physical attacks."
item = /obj/item/shield/energy
cost = 16
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/cqc/ntmantisblade
name = "H.E.P.H.A.E.S.T.U.S. Mantis Blades"
desc = "A pair of retractable arm-blade implants. Activating both will let you double-attack."
item = /obj/item/storage/briefcase/nt_mantis
cost = 14
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/cqc/sblade
name = "Switchblade"
Expand All @@ -2846,21 +2846,21 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "A manual that teaches a single user tactical Close-Quarters Combat before self-destructing."
item = /obj/item/book/granter/martial/cqc
cost = 13
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/cqc/teleshield
name = "Telescopic Shield"
desc = "A foldable shield that blocks attacks when active but can break."
item = /obj/item/shield/riot/tele
cost = 3
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/cqc/stunbaton
name = "Stun Baton"
desc = "A robust charged baton that will swiftly take down most criminals."
item = /obj/item/melee/baton/loaded
cost = 1
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/cqc/telebaton
name = "Telescopic Baton"
Expand All @@ -2884,7 +2884,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
minimum setting of 10 seconds."
item = /obj/item/grenade/plastic/c4
cost = 1
required_ert_uplink = 3
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/support/x4
name = "Composition X-4"
desc = "A variety of plastic explosive with a stronger explosive charge. It is both safer to use and is capable of breaching even the most secure areas."
item = /obj/item/grenade/plastic/x4
cost = 3
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/support/medkit
name = "Medic Kit"
Expand All @@ -2900,7 +2907,21 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
and other supplies helpful for a field medic."
item = /obj/item/storage/firstaid/tactical
cost = 4
required_ert_uplink = 2 //Only real medics get the good stuff
required_ert_uplink = NT_ERT_MEDIC //Only real medics get the good stuff

/datum/uplink_item/nt/support/healermech
name = "Healer Nanite Serum"
desc = "An auto-injector full of reverse-engineered syndicate healing nanites. These will quickly repair most damage on a patient, pre-filled with fifteen doses."
item = /obj/item/reagent_containers/autoinjector/combat/healermech
cost = 8
required_ert_uplink = NT_ERT_MEDIC

/datum/uplink_item/nt/support/resurrectormech
name = "Resurrector Nanite Serum"
desc = "A single-use superdose of nanites capable of fully repairing a body, including replacing lost organs and limbs and restoring blood volume. Will do nothing to a living person."
item = /obj/item/reagent_containers/autoinjector/medipen/resurrector
cost = 8
required_ert_uplink = NT_ERT_MEDIC

/datum/uplink_item/nt/support/medbeam
name = "Medbeam Gun"
Expand All @@ -2915,35 +2936,49 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "Comes pre-stocked with every engineering tool you'll ever need."
item = /obj/item/storage/belt/utility/full/engi
cost = 1
required_ert_uplink = 3
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/support/advanced_toolbelt
name = "Advanced toolbelt"
desc = "A toolbelt filled with advanced tools, for when you need to work quickly."
item = /obj/item/storage/belt/utility/chief/full/ert
cost = 5
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/support/rcd
name = "Rapid Construction Device"
desc = "Standard RCD that can repair or destroy structures very quickly. Holds up to 160 matter units."
item = /obj/item/construction/rcd/loaded
cost = 2
required_ert_uplink = 3
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/support/combatrcd
name = "Industrial RCD"
desc = "Heavy combat RCD that holds up to 500 matter units."
item = /obj/item/construction/rcd/combat
cost = 4
required_ert_uplink = 3
cost = 5
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/support/advancedrcd
name = "Advanced RCD"
desc = "An RCD with improved capacity, although slightly less than an industrial RCD. However, it can construct and deconstruct from range."
item = /obj/item/construction/rcd/arcd
cost = 10
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/support/rcdammo
name = "Compressed Matter Cartridge"
desc = "Highly compressed matter that restores 160 matter units on an RCD."
item = /obj/item/rcd_ammo
cost = 1
required_ert_uplink = 3
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/support/foamnades
name = "Box of Smart Metal Foam Grenades"
desc = "A box of 7 smart metal foam grenades to patch hull breaches with."
item = /obj/item/storage/box/smart_metal_foam
cost = 1
required_ert_uplink = 3
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/hardsuit
category = "Armor & Hardsuits"
Expand Down Expand Up @@ -2977,14 +3012,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "A bulky suit that protects you against melee attacks but not much else."
item = /obj/item/clothing/suit/armor/riot
cost = 1
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/hardsuit/riothelmet
name = "Riot Helmet"
desc = "A helmet that protects you against melee attacks but not much else."
item = /obj/item/clothing/head/helmet/riot
cost = 1
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/hardsuit/cmd
name = "ERT Commander Hardsuit"
Expand All @@ -2998,21 +3033,21 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "Make them fear the long arm of law."
item = /obj/item/clothing/suit/space/hardsuit/ert/sec
cost = 5
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/hardsuit/engi
name = "ERT Engineering Hardsuit"
desc = "HOW DID YOU DELAMINATE THE SM 5 MINUTES IN?"
item = /obj/item/clothing/suit/space/hardsuit/ert/engi
cost = 5
required_ert_uplink = 3
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/hardsuit/med
name = "ERT Medical Hardsuit"
desc = "Dying is illegal."
item = /obj/item/clothing/suit/space/hardsuit/ert/med
cost = 5
required_ert_uplink = 2
required_ert_uplink = NT_ERT_MEDIC

/datum/uplink_item/nt/hardsuit/ds
name = "MK.III SWAT Suit"
Expand All @@ -3036,21 +3071,21 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "Standard issue security gear, all in a stylish belt."
item = /obj/item/storage/belt/security/full
cost = 2
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/gear/flashbangs
name = "Box of Flashbangs"
desc = "A box of 7 flashbangs to make the crew hate you."
item = /obj/item/storage/box/flashbangs
cost = 2
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/gear/handcuffs
name = "Box of Handcuffs"
desc = "A box of 7 pairs of handcuffs to keep prisoners in line."
item = /obj/item/storage/box/handcuffs
cost = 1
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/gear/bowman
name = "Bowman Headset"
Expand All @@ -3063,21 +3098,21 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "A pair of sunglasses fitted with a security HUD."
item = /obj/item/clothing/glasses/hud/security/sunglasses
cost = 1
required_ert_uplink = 1
required_ert_uplink = NT_ERT_TROOPER

/datum/uplink_item/nt/gear/medhud
name = "Medical HUDglasses"
desc = "A pair of sunglasses fitted with a medical HUD."
item = /obj/item/clothing/glasses/hud/health/sunglasses
cost = 1
required_ert_uplink = 2
required_ert_uplink = NT_ERT_MEDIC

/datum/uplink_item/nt/gear/mesonhud
name = "Meson Sunglasses"
desc = "A pair of sunglasses fitted with meson technology."
item = /obj/item/clothing/glasses/meson/sunglasses
cost = 1
required_ert_uplink = 3
required_ert_uplink = NT_ERT_ENGINEER

/datum/uplink_item/nt/gear/thermalhud
name = "Optical Thermal Scanner"
Expand Down
Binary file modified icons/obj/syringe.dmi
Binary file not shown.