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
23 changes: 13 additions & 10 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/quickclot = 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/autoinjector/quickclot = list(CAT_MEDSUP, "Injector (Quickclot Plus)", 1, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon = list(CAT_MEDSUP, "Injector (Peridaxon Plus)", 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/peridaxon = 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/quickclot = list(CAT_FCSUP, "Injector (Quick-Clot Plus)", 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/quickclot = 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/autoinjector/quickclot = list(CAT_SYNTH, "Injector (Quickclot Plus)", 1, "cyan"),
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon = list(CAT_SYNTH, "Injector (Peridaxon Plus)", 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
18 changes: 14 additions & 4 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,7 +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 @@ -230,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 @@ -330,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 @@ -352,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 @@ -374,3 +376,11 @@
/obj/item/defibrillator/gloves/update_icon_state()
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.
1 change: 0 additions & 1 deletion code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,6 @@
new /obj/item/storage/pill_bottle/spaceacillin(src)
new /obj/item/storage/pill_bottle/alkysine(src)
new /obj/item/storage/pill_bottle/imidazoline(src)
new /obj/item/storage/pill_bottle/quickclot(src)
new /obj/item/storage/pill_bottle/hypervene(src)
new /obj/item/stack/medical/splint(src)
new /obj/item/stack/medical/splint(src)
Expand Down
28 changes: 14 additions & 14 deletions code/game/objects/items/storage/pouch.dm
Original file line number Diff line number Diff line change
Expand Up @@ -506,13 +506,13 @@

/obj/item/storage/pouch/medkit/medic/Initialize(mapload)
. = ..()
new /obj/item/stack/medical/heal_pack/advanced/burn_pack(src)
new /obj/item/stack/medical/heal_pack/advanced/burn_pack(src)
new /obj/item/stack/medical/heal_pack/advanced/burn_pack(src)
new /obj/item/stack/medical/heal_pack/advanced/bruise_pack(src)
new /obj/item/stack/medical/heal_pack/advanced/bruise_pack(src)
new /obj/item/stack/medical/heal_pack/advanced/bruise_pack(src)
new /obj/item/stack/medical/heal_pack/advanced/bruise_combat_pack(src)
new /obj/item/stack/medical/heal_pack/advanced/bruise_combat_pack(src)
new /obj/item/stack/medical/heal_pack/advanced/burn_combat_pack(src)
new /obj/item/stack/medical/heal_pack/advanced/burn_combat_pack(src)
new /obj/item/reagent_containers/hypospray/advanced/meraderm(src)
new /obj/item/reagent_containers/hypospray/advanced/meraderm(src)
new /obj/item/reagent_containers/hypospray/advanced/nanoblood(src)

/obj/item/storage/pouch/medkit/som
desc = "A standard use medkit pouch that can contain all kinds of medical supplies and equipment. Made with traditional SOM leather."
Expand Down Expand Up @@ -548,10 +548,10 @@
new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced(src)
new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced(src)
new /obj/item/reagent_containers/hypospray/autoinjector/dexalinplus(src)
new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus(src)
new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus(src)
new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus(src)
new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus(src)
new /obj/item/reagent_containers/hypospray/autoinjector/quickclot(src)
new /obj/item/reagent_containers/hypospray/autoinjector/quickclot(src)
new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon(src)
new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon(src)

/obj/item/storage/pouch/medical_injectors/som
desc = "A specialized medical pouch that can only hold auto-injectors. This one looks to be made out of traditional SOM leather."
Expand All @@ -575,10 +575,10 @@
new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced(src)
new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced(src)
new /obj/item/reagent_containers/hypospray/autoinjector/dexalinplus(src)
new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus(src)
new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus(src)
new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus(src)
new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus(src)
new /obj/item/reagent_containers/hypospray/autoinjector/quickclot(src)
new /obj/item/reagent_containers/hypospray/autoinjector/quickclot(src)
new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon(src)
new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon(src)

/obj/item/storage/pouch/medical_injectors/icc
desc = "A specialized medical pouch that can only hold auto-injectors. This one looks to be made out of a synthetic tan fabric."
Expand Down
40 changes: 20 additions & 20 deletions code/modules/reqs/supplypacks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1388,8 +1388,8 @@ MEDICAL
/obj/item/storage/pouch/medical_injectors/medic,
/obj/item/storage/pouch/medical_injectors/medic,
/obj/item/storage/pouch/medical_injectors/medic,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon,
/obj/item/reagent_containers/hypospray/autoinjector/neuraline,
/obj/item/stack/nanopaste,
)
Expand Down Expand Up @@ -1576,22 +1576,22 @@ MEDICAL
/obj/item/reagent_containers/hypospray/advanced/meraderm,
/obj/item/reagent_containers/hypospray/advanced/oxycodone,
/obj/item/reagent_containers/hypospray/advanced/oxycodone,
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus,
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus,
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus,
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus,
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus,
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus,
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus,
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus,
/obj/item/reagent_containers/hypospray/autoinjector/quickclot,
/obj/item/reagent_containers/hypospray/autoinjector/quickclot,
/obj/item/reagent_containers/hypospray/autoinjector/quickclot,
/obj/item/reagent_containers/hypospray/autoinjector/quickclot,
/obj/item/reagent_containers/hypospray/autoinjector/quickclot,
/obj/item/reagent_containers/hypospray/autoinjector/quickclot,
/obj/item/reagent_containers/hypospray/autoinjector/quickclot,
/obj/item/reagent_containers/hypospray/autoinjector/quickclot,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon,
/obj/item/reagent_containers/hypospray/autoinjector/dexalinplus,
/obj/item/reagent_containers/hypospray/autoinjector/dexalinplus,
/obj/item/reagent_containers/hypospray/autoinjector/dexalinplus,
Expand Down Expand Up @@ -1678,8 +1678,8 @@ MEDICAL
name = "QuickPeri+ kit"
notes = "contains injector quick+ and peri+."
contains = list(
/obj/item/reagent_containers/hypospray/autoinjector/quickclotplus,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus,
/obj/item/reagent_containers/hypospray/autoinjector/quickclot,
/obj/item/reagent_containers/hypospray/autoinjector/peridaxon,
)
cost = 30

Expand Down
Loading