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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New and changed corps equipment #8

Merged
merged 11 commits into from
Jul 26, 2024
29 changes: 16 additions & 13 deletions code/__DEFINES/loadout.dm
Original file line number Diff line number Diff line change
Expand Up @@ -117,17 +117,18 @@ GLOBAL_LIST_INIT(medic_gear_listed_products, list(
/obj/item/reagent_containers/hypospray/advanced/dermaline = list(CAT_MEDSUP, "Hypospray (60u dermaline)", 7, "cyan"),
/obj/item/reagent_containers/hypospray/advanced/meraderm = list(CAT_MEDSUP, "Hypospray (60u Meraderm)", 7, "cyan"),
/obj/item/reagent_containers/hypospray/advanced/nanoblood = list(CAT_MEDSUP, "Hypospray (60u Nanoblood)", 2, "cyan"),
/obj/item/reagent_containers/hypospray/advanced/quickclotplus = list(CAT_MEDSUP, "Hypospray (Quickclot Plus)", 4, "blue"),
/obj/item/reagent_containers/hypospray/advanced/peridaxonplus = list(CAT_MEDSUP, "Hypospray (Peridaxon Plus)", 7, "blue"),
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus = list(CAT_MEDSUP, "Injector (Quickclot Plus)", 1, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus = list(CAT_MEDSUP, "Injector (Peridaxon Plus)", 1, "cyan"),
/obj/item/reagent_containers/hypospray/advanced/quickclot = list(CAT_MEDSUP, "Hypospray (Quickclot)", 4, "blue"),
// /obj/item/reagent_containers/hypospray/advanced/peridaxonplus = list(CAT_MEDSUP, "Hypospray (Peridaxon)", 7, "blue"),
/obj/item/reagent_containers/hypospray/autoinjector/quickclot = list(CAT_MEDSUP, "Injector (Quickclot)", 1, "cyan"),
// /obj/item/reagent_containers/hypospray/autoinjector/peridaxon = list(CAT_MEDSUP, "Injector (Peridaxon)", 1, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/combat_advanced = list(CAT_MEDSUP, "Injector (Advanced)", 2, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/synaptizine = list(CAT_MEDSUP, "Injector (Synaptizine)", 2, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/neuraline = list(CAT_MEDSUP, "Injector (Neuraline)", 14, "cyan"),
/obj/item/healthanalyzer/gloves = list(CAT_MEDSUP, "Health scanner gloves", 2, "yellow"),
/obj/item/defibrillator/gloves = list(CAT_MEDSUP, "Advanced medical gloves", 4, "yellow"),
/obj/item/defibrillator/advanced = list(CAT_FCSUP, "advanced emergency defibrillator", 4, "yellow"),
/obj/item/tweezers_advanced = list(CAT_MEDSUP, "Advanced Tweezers", 8, "yellow"),
/obj/effect/vendor_bundle/stretcher = list(CAT_MEDSUP, "Medivac Stretcher", 16, "yellow"),
/obj/effect/vendor_bundle/stretcher = list(CAT_MEDSUP, "Medivac Stretcher", 20, "yellow"),
))

GLOBAL_LIST_INIT(leader_gear_listed_products, list(
Expand Down Expand Up @@ -264,10 +265,11 @@ GLOBAL_LIST_INIT(commander_gear_listed_products, list(
/obj/item/storage/box/crate/minisentry = list(CAT_FCSUP, "ST-580 point defense sentry kit", 15, "yellow"),
/obj/item/healthanalyzer/gloves = list(CAT_FCSUP, "Health scanner gloves", 2, "yellow"),
/obj/item/defibrillator/gloves = list(CAT_FCSUP, "Advanced medical gloves", 4, "yellow"),
/obj/item/defibrillator/advanced = list(CAT_FCSUP, "advanced emergency defibrillator", 4, "yellow"),
/obj/item/storage/pouch/medical_injectors/medic = list(CAT_FCSUP, "Advanced Injector Pouch", 16, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus = list(CAT_FCSUP, "Injector (Peridaxon Plus)", 4, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/dexalinplus = list(CAT_FCSUP, "Injector (Dexalin Plus)", 1, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus = list(CAT_FCSUP, "Injector (Quick-Clot Plus)", 4, "cyan"),
// /obj/item/reagent_containers/hypospray/autoinjector/peridaxon = list(CAT_FCSUP, "Injector (Peridaxon)", 4, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/dexalinplus = list(CAT_FCSUP, "Injector (Dexalin)", 1, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/quickclot = list(CAT_FCSUP, "Injector (Quick-Clot)", 4, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/synaptizine = list(CAT_FCSUP, "Injector (Synaptizine)", 2, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/combat_advanced = list(CAT_FCSUP, "Injector (Advanced)", 2, "cyan"),
/obj/item/stack/medical/heal_pack/advanced/bruise_combat_pack = list(CAT_FCSUP, "Combat Trauma Kit", 2, "cyan"),
Expand Down Expand Up @@ -338,18 +340,19 @@ GLOBAL_LIST_INIT(synthetic_gear_listed_products, list(
/obj/item/reagent_containers/hypospray/advanced/dermaline = list(CAT_SYNTH, "Hypospray (60u dermaline)", 8, "cyan"), //half the units of the derm case half the price
/obj/item/reagent_containers/hypospray/advanced/meraderm = list(CAT_SYNTH, "Hypospray (60u Meraderm)", 8, "cyan"), //half the units of the meraderm case half the price
/obj/item/reagent_containers/hypospray/advanced/nanoblood = list(CAT_SYNTH, "Hypospray (60u Nanoblood)", 2, "cyan"), //bit more than half of the nanoblood case
/obj/item/reagent_containers/hypospray/advanced/quickclotplus = list(CAT_SYNTH, "Hypospray (Quickclot Plus)", 4, "blue"),
/obj/item/reagent_containers/hypospray/advanced/peridaxonplus = list(CAT_SYNTH, "Hypospray (Peridaxon Plus)", 7, "blue"),
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus = list(CAT_SYNTH, "Injector (Quickclot Plus)", 1, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus = list(CAT_SYNTH, "Injector (Peridaxon Plus)", 1, "cyan"),
/obj/item/reagent_containers/hypospray/advanced/quickclot = list(CAT_SYNTH, "Hypospray (Quickclot)", 4, "blue"),
// /obj/item/reagent_containers/hypospray/advanced/peridaxonplus = list(CAT_SYNTH, "Hypospray (Peridaxon)", 7, "blue"),
/obj/item/reagent_containers/hypospray/autoinjector/quickclot = list(CAT_SYNTH, "Injector (Quickclot)", 1, "cyan"),
// /obj/item/reagent_containers/hypospray/autoinjector/peridaxon = list(CAT_SYNTH, "Injector (Peridaxon)", 1, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/combat_advanced = list(CAT_SYNTH, "Injector (Advanced)", 2, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/synaptizine = list(CAT_SYNTH, "Injector (Synaptizine)", 2, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/neuraline = list(CAT_SYNTH, "Injector (Neuraline)", 7, "cyan"),
/obj/item/healthanalyzer/gloves = list(CAT_SYNTH, "Health scanner gloves", 2, "yellow"),
/obj/item/defibrillator/gloves = list(CAT_SYNTH, "Advanced medical gloves", 4, "yellow"),
/obj/item/defibrillator/advanced = list(CAT_SYNTH, "advanced emergency defibrillator", 4, "yellow"),
/obj/item/tweezers_advanced = list(CAT_SYNTH, "Advanced Tweezers", 8, "yellow"),
/obj/item/tool/surgery/scalpel/manager = list(CAT_SYNTH, "Incision Management System", 6, "yellow"),
/obj/effect/vendor_bundle/stretcher = list(CAT_SYNTH, "Medivac Stretcher", 16, "yellow"),
/obj/effect/vendor_bundle/stretcher = list(CAT_SYNTH, "Medivac Stretcher", 20, "yellow"),
))

///Assoc list linking the job title with their specific points vendor
Expand Down
22 changes: 16 additions & 6 deletions code/game/objects/items/defibrillator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
var/ready = FALSE
///wether readying is needed
var/ready_needed = TRUE
var/advanced = FALSE
var/damage_threshold = 8 //This is the maximum non-oxy damage the defibrillator will heal to get a patient above -100, in all categories
var/charge_cost = 66 //How much energy is used.
var/obj/item/cell/dcell = null
Expand Down Expand Up @@ -44,8 +45,7 @@


/obj/item/defibrillator/update_icon_state()
. = ..()
icon_state = "defib"
icon_state = initial(icon_state)
if(ready)
icon_state += "_out"
if(dcell?.charge)
Expand Down Expand Up @@ -231,12 +231,12 @@
H.visible_message(span_danger("[H]'s body convulses a bit."))
defib_cooldown = world.time + 10 //1 second cooldown before you can shock again

if(H.wear_suit && H.wear_suit.flags_atom & CONDUCT)
if(H.wear_suit && advanced == FALSE && H.wear_suit.flags_atom & CONDUCT)
user.visible_message(span_warning("[icon2html(src, viewers(user))] \The [src] buzzes: Defibrillation failed: Paddles registering >100,000 ohms, Possible cause: Suit or Armor interferring."))
return

var/datum/internal_organ/heart/heart = H.internal_organs_by_name["heart"]
if(!issynth(H) && !isrobot(H) && heart && prob(25))
if(!issynth(H) && !isrobot(H) && heart && prob(90) && advanced == FALSE)
heart.take_damage(5) //Allow the defibrillator to possibly worsen heart damage. Still rare enough to just be the "clone damage" of the defib

if(HAS_TRAIT(H, TRAIT_UNDEFIBBABLE) || H.suiciding)
Expand Down Expand Up @@ -331,7 +331,6 @@
icon_state = "civ_defib_full"
item_state = "defib"


/obj/item/defibrillator/gloves
name = "advanced medical combat gloves"
desc = "Advanced medical gloves, these include small electrodes to defibrilate a patiant. No more bulky units!"
Expand All @@ -353,6 +352,8 @@
flags_heat_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE
max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE
advanced = TRUE

Tatarla marked this conversation as resolved.
Show resolved Hide resolved

/obj/item/defibrillator/gloves/equipped(mob/living/carbon/human/user, slot)
. = ..()
Expand All @@ -373,4 +374,13 @@
defibrillate(target, user)

/obj/item/defibrillator/gloves/update_icon_state()
return //The parent has some behaviour we don't want
return


Tatarla marked this conversation as resolved.
Show resolved Hide resolved
/obj/item/defibrillator/advanced
name = "advanced emergency defibrillator"
desc = "A handheld advanced emergency defibrillator, used to restore fibrillating patients. Can optionally bring people back from the dead."
icon = 'icons/obj/items/defibrillator.dmi'
icon_state = "civ_defib_full"
advanced = TRUE
charge_cost = 100 //How much energy is used.
61 changes: 27 additions & 34 deletions code/game/objects/items/reagent_containers/autoinjectors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
w_class = WEIGHT_CLASS_TINY
skilllock = 0
init_reagent_flags = DRAWABLE
amount_per_transfer_from_this = 10
volume = 30
list_reagents = list(/datum/reagent/consumable/sodiumchloride = 30)
amount_per_transfer_from_this = 15
volume = 45
list_reagents = list(/datum/reagent/consumable/sodiumchloride = 45)

/obj/item/reagent_containers/hypospray/autoinjector/update_icon_state()
. = ..()
Expand All @@ -30,14 +30,14 @@

/obj/item/reagent_containers/hypospray/autoinjector/fillable
desc = "An autoinjector loaded with... something, consult the doctor who gave this to you."
amount_per_transfer_from_this = 30
amount_per_transfer_from_this = 45
list_reagents = null

/obj/item/reagent_containers/hypospray/autoinjector/tricordrazine
name = "tricordrazine autoinjector"
desc = "An autoinjector loaded with 3 doses of tricordrazine, a weak general use medicine for treating damage."
icon_state = "autoinjector-4"
list_reagents = list(/datum/reagent/medicine/tricordrazine = 30)
list_reagents = list(/datum/reagent/medicine/tricordrazine = 45)
description_overlay = "Ti"

/obj/item/reagent_containers/hypospray/autoinjector/combat
Expand All @@ -46,10 +46,10 @@
icon_state = "RedGreen"
amount_per_transfer_from_this = 15
list_reagents = list(
/datum/reagent/medicine/bicaridine = 10,
/datum/reagent/medicine/kelotane = 10,
/datum/reagent/medicine/tricordrazine = 5,
/datum/reagent/medicine/tramadol = 5,
/datum/reagent/medicine/bicaridine = 15,
/datum/reagent/medicine/kelotane = 15,
/datum/reagent/medicine/tricordrazine = 7.5,
/datum/reagent/medicine/tramadol = 7.5,
)
description_overlay = "Cb"

Expand All @@ -59,17 +59,17 @@
icon_state = "Lilac"
amount_per_transfer_from_this = 15
list_reagents = list(
/datum/reagent/medicine/meralyne = 10,
/datum/reagent/medicine/dermaline = 10,
/datum/reagent/medicine/oxycodone = 10,
/datum/reagent/medicine/meralyne = 15,
/datum/reagent/medicine/dermaline = 15,
/datum/reagent/medicine/oxycodone = 15,
)
description_overlay = "Ca"

/obj/item/reagent_containers/hypospray/autoinjector/quickclot
name = "quick-clot autoinjector"
desc = "An autoinjector loaded with 3 doses of quick-clot, a chemical designed to pause all bleeding. Renew doses as needed."
icon_state = "autoinjector-7"
list_reagents = list(/datum/reagent/medicine/quickclot = 30)
list_reagents = list(/datum/reagent/medicine/quickclot = 45)
description_overlay = "Qk"

/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus
Expand Down Expand Up @@ -105,14 +105,14 @@
name = "dylovene autoinjector"
desc = "An auto-injector loaded with 3 doses of dylovene, an anti-toxin agent useful in cases of poisoning, overdoses and toxin build-up."
icon_state = "autoinjector-1"
list_reagents = list(/datum/reagent/medicine/dylovene = 30)
list_reagents = list(/datum/reagent/medicine/dylovene = 45)
description_overlay = "Dy"

/obj/item/reagent_containers/hypospray/autoinjector/tramadol
name = "tramadol autoinjector"
desc = "An auto-injector loaded with 3 doses of tramadol, an effective painkiller for normal wounds."
icon_state = "autoinjector-10"
list_reagents = list(/datum/reagent/medicine/tramadol = 30)
list_reagents = list(/datum/reagent/medicine/tramadol = 45)
description_overlay = "Ta"

/obj/item/reagent_containers/hypospray/autoinjector/oxycodone
Expand All @@ -128,22 +128,22 @@
name = "kelotane autoinjector"
desc = "An auto-injector loaded with 3 doses of kelotane, a common burn medicine."
icon_state = "autoinjector-5"
list_reagents = list(/datum/reagent/medicine/kelotane = 30)
list_reagents = list(/datum/reagent/medicine/kelotane = 45)
description_overlay = "Ke"

/obj/item/reagent_containers/hypospray/autoinjector/bicaridine
name = "bicaridine autoinjector"
desc = "An auto-injector loaded with 3 doses of bicaridine, a common brute and circulatory damage medicine."
icon_state = "autoinjector-3"
list_reagents = list(/datum/reagent/medicine/bicaridine = 30)
list_reagents = list(/datum/reagent/medicine/bicaridine = 45)
description_overlay = "Bi"

/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline
name = "inaprovaline autoinjector"
desc = "An auto-injector loaded with 2 doses of inaprovaline, an emergency stabilization medicine for patients in critical condition."
icon_state = "autoinjector-9"
amount_per_transfer_from_this = 15
list_reagents = list(/datum/reagent/medicine/inaprovaline = 30)
list_reagents = list(/datum/reagent/medicine/inaprovaline = 45)
description_overlay = "In"

/obj/item/reagent_containers/hypospray/autoinjector/dexalin
Expand All @@ -159,34 +159,31 @@
name = "spaceacillin autoinjector"
desc = "An auto-injector loaded with 3 doses of spaceacillin, an antibiotic medicine that helps combat infection and fight necrosis."
icon_state = "autoinjector-1"
volume = 15
amount_per_transfer_from_this = 5
list_reagents = list(/datum/reagent/medicine/spaceacillin = 15)
list_reagents = list(/datum/reagent/medicine/spaceacillin = 45)
description_overlay = "Sp"

/obj/item/reagent_containers/hypospray/autoinjector/alkysine
name = "alkysine autoinjector"
desc = "An auto-injector loaded with 3 doses of alkysine, long-living medicine for fixing brain and ear damage."
icon_state = "autoinjector-12"
volume = 15
amount_per_transfer_from_this = 5
list_reagents = list(/datum/reagent/medicine/alkysine = 15)
list_reagents = list(/datum/reagent/medicine/alkysine = 45)
description_overlay = "Al"

/obj/item/reagent_containers/hypospray/autoinjector/imidazoline
name = "imidazoline autoinjector"
desc = "An auto-injector loaded with 3 doses of imidazoline, medicine for fixing eyesight."
icon_state = "autoinjector-5"
list_reagents = list(/datum/reagent/medicine/imidazoline = 30)
list_reagents = list(/datum/reagent/medicine/imidazoline = 45)
description_overlay = "Im"

/obj/item/reagent_containers/hypospray/autoinjector/hypervene
name = "hypervene autoinjector"
desc = "An auto-injector loaded with 3 uses of hypervene, an emergency medicine that rapidly purges chems. Causes pain and vomiting."
icon_state = "Toxic"
amount_per_transfer_from_this = 3
volume = 9
list_reagents = list(/datum/reagent/hypervene = 9)
list_reagents = list(/datum/reagent/hypervene = 45)
description_overlay = "Hy"

/obj/item/reagent_containers/hypospray/autoinjector/virilyth //not accessible during normal play, only for valhalla
Expand Down Expand Up @@ -259,10 +256,9 @@
desc = "An autoinjector loaded with a single use of Russian Red. Restores a significant amount of stamina and heals a large amount of damage, but causes slight permanent damage."
icon_state = "Redwood"
amount_per_transfer_from_this = 15
volume = 30
list_reagents = list(
/datum/reagent/medicine/russian_red = 20,
/datum/reagent/medicine/oxycodone = 10,
/datum/reagent/medicine/russian_red = 30,
/datum/reagent/medicine/oxycodone = 15,
)
description_overlay = "Rr"
free_refills = FALSE
Expand All @@ -280,9 +276,8 @@
desc = "An auto-injector loaded with 2 doses of isotonic solution, formulated to quickly recover fluid volume after blood loss or trauma."
icon_state = "autoinjector-8"
amount_per_transfer_from_this = 15
volume = 30
list_reagents = list(
/datum/reagent/medicine/saline_glucose = 30,
/datum/reagent/medicine/saline_glucose = 45,
)

/obj/item/reagent_containers/hypospray/autoinjector/roulettium
Expand Down Expand Up @@ -319,23 +314,22 @@
icon_state = "autoinjector-6"
amount_per_transfer_from_this = 20
volume = 100

list_reagents = list(/datum/reagent/toxin/pain = 100)

/obj/item/reagent_containers/hypospray/autoinjector/spacedrugs //CL goodie
name = "space drugs autoinjector"
desc = "An auto-injector loaded with sweet, sweet space drugs... Hard to get as a marine."
icon_state = "autoinjector-1"
amount_per_transfer_from_this = 25
volume = 25

list_reagents = list(/datum/reagent/space_drugs = 25)

/obj/item/reagent_containers/hypospray/autoinjector/mindbreaker //made for debugging
name = "mindbreaker toxin autoinjector"
desc = "An auto-injector loaded with the hardest, deadliest drug around. May cure PTSD. May cause it."
icon_state = "Toxic"
amount_per_transfer_from_this = 30
volume = 30

list_reagents = list(/datum/reagent/toxin/mindbreaker = 50)

/obj/item/reagent_containers/hypospray/autoinjector/yautja
Expand All @@ -346,7 +340,6 @@
item_state = ""
amount_per_transfer_from_this = REAGENTS_OVERDOSE
volume = REAGENTS_OVERDOSE

list_reagents = list(/datum/reagent/thwei = REAGENTS_OVERDOSE)

/obj/item/reagent_containers/hypospray/autoinjector/yautja/attack(mob/M, mob/user)
Expand Down
Loading
Loading