mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Medical Tweaks
- Ointment now treats 3 burn damage per application - Advanced Trauma Kits treat 6 damage per application, and have 20 uses - Advanced Burn Kits treat 12 damage per application - Medical Rescue Suit injector now has 20 units per chem, and uses Inaprovaline, Dylovene, Paracematol, and Dexalin - Kelotane effectiveness reduced from 6 damage per tick to 4 damage per tick - Dermaline effectiveness reduced from 12 damage per tick, to 8 damage per tick - Dexalin metabolizes at 20% of the rate of Dexalin Plus, stats adjusted accordingly (Natje's suggestion) - Dexalin is now twice as effective (still pales in comparison to Dex Plus) - Reduced brain healing of Alkysine from 30 to 8 - Vermicetol now works like super tricordazine, healing all damage types at a moderate rate, while metabolizing slowly. Overdose threshold increased from 10u to 15u. - All pre-filled syringes start capped. - There is now a 20-second grace period for infection to start ticking up (Note: Using syringes on multiple people renders grace period null and void)
This commit is contained in:
@@ -130,7 +130,7 @@
|
|||||||
gender = PLURAL
|
gender = PLURAL
|
||||||
singular_name = "ointment"
|
singular_name = "ointment"
|
||||||
icon_state = "ointment"
|
icon_state = "ointment"
|
||||||
heal_burn = 1
|
heal_burn = 3
|
||||||
origin_tech = list(TECH_BIO = 1)
|
origin_tech = list(TECH_BIO = 1)
|
||||||
no_variants = FALSE
|
no_variants = FALSE
|
||||||
apply_sounds = list('sound/effects/ointment.ogg')
|
apply_sounds = list('sound/effects/ointment.ogg')
|
||||||
@@ -170,7 +170,9 @@
|
|||||||
singular_name = "advanced trauma kit"
|
singular_name = "advanced trauma kit"
|
||||||
desc = "An advanced trauma kit for severe injuries."
|
desc = "An advanced trauma kit for severe injuries."
|
||||||
icon_state = "traumakit"
|
icon_state = "traumakit"
|
||||||
heal_brute = 3
|
heal_brute = 6 //VOREStation Edit
|
||||||
|
amount = 20 //VOREStation Edit
|
||||||
|
max_amount = 20 //VOREStation Edit
|
||||||
origin_tech = list(TECH_BIO = 1)
|
origin_tech = list(TECH_BIO = 1)
|
||||||
apply_sounds = list('sound/effects/rip1.ogg','sound/effects/rip2.ogg','sound/effects/tape.ogg')
|
apply_sounds = list('sound/effects/rip1.ogg','sound/effects/rip2.ogg','sound/effects/tape.ogg')
|
||||||
|
|
||||||
@@ -233,7 +235,7 @@
|
|||||||
singular_name = "advanced burn kit"
|
singular_name = "advanced burn kit"
|
||||||
desc = "An advanced treatment kit for severe burns."
|
desc = "An advanced treatment kit for severe burns."
|
||||||
icon_state = "burnkit"
|
icon_state = "burnkit"
|
||||||
heal_burn = 3
|
heal_burn = 12 //VOREStation Edit
|
||||||
origin_tech = list(TECH_BIO = 1)
|
origin_tech = list(TECH_BIO = 1)
|
||||||
apply_sounds = list('sound/effects/ointment.ogg')
|
apply_sounds = list('sound/effects/ointment.ogg')
|
||||||
|
|
||||||
|
|||||||
@@ -104,14 +104,14 @@
|
|||||||
interface_name = "mounted chem injector"
|
interface_name = "mounted chem injector"
|
||||||
interface_desc = "Dispenses loaded chemicals via an arm-mounted injector."
|
interface_desc = "Dispenses loaded chemicals via an arm-mounted injector."
|
||||||
|
|
||||||
var/max_reagent_volume = 10 //Regen to this volume
|
var/max_reagent_volume = 20 //Regen to this volume
|
||||||
var/chems_to_use = 5 //Per injection
|
var/chems_to_use = 5 //Per injection
|
||||||
|
|
||||||
charges = list(
|
charges = list(
|
||||||
list("inaprovaline", "inaprovaline", 0, 10),
|
list("inaprovaline", "inaprovaline", 0, 20),
|
||||||
list("tricordrazine", "tricordrazine", 0, 10),
|
list("dylovene", "dylovene", 0, 20),
|
||||||
list("tramadol", "tramadol", 0, 10),
|
list("paracetamol", "paracetamol", 0, 20),
|
||||||
list("dexalin plus", "dexalinp", 0, 10)
|
list("dexalin", "dexalin", 0, 20)
|
||||||
)
|
)
|
||||||
|
|
||||||
/obj/item/rig_module/rescue_pharm/process()
|
/obj/item/rig_module/rescue_pharm/process()
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
chem_effective = 0.5
|
chem_effective = 0.5
|
||||||
M.adjustBruteLoss(2 * removed) //Mends burns, but has negative effects with a Promethean's skeletal structure.
|
M.adjustBruteLoss(2 * removed) //Mends burns, but has negative effects with a Promethean's skeletal structure.
|
||||||
if(alien != IS_DIONA)
|
if(alien != IS_DIONA)
|
||||||
M.heal_organ_damage(0, 6 * removed * chem_effective)
|
M.heal_organ_damage(0, 4 * removed * chem_effective) //VOREStation edit
|
||||||
|
|
||||||
/datum/reagent/dermaline
|
/datum/reagent/dermaline
|
||||||
name = "Dermaline"
|
name = "Dermaline"
|
||||||
@@ -85,7 +85,7 @@
|
|||||||
if(alien == IS_SLIME)
|
if(alien == IS_SLIME)
|
||||||
chem_effective = 0.75
|
chem_effective = 0.75
|
||||||
if(alien != IS_DIONA)
|
if(alien != IS_DIONA)
|
||||||
M.heal_organ_damage(0, 12 * removed * chem_effective)
|
M.heal_organ_damage(0, 8 * removed * chem_effective) //VOREStation edit
|
||||||
|
|
||||||
/datum/reagent/dylovene
|
/datum/reagent/dylovene
|
||||||
name = "Dylovene"
|
name = "Dylovene"
|
||||||
@@ -141,20 +141,21 @@
|
|||||||
color = "#0080FF"
|
color = "#0080FF"
|
||||||
overdose = REAGENTS_OVERDOSE
|
overdose = REAGENTS_OVERDOSE
|
||||||
scannable = 1
|
scannable = 1
|
||||||
|
metabolism = 0.2 //VOREStation Edit
|
||||||
|
|
||||||
/datum/reagent/dexalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
/datum/reagent/dexalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||||
if(alien == IS_VOX)
|
if(alien == IS_VOX)
|
||||||
M.adjustToxLoss(removed * 6)
|
M.adjustToxLoss(removed * 30) //VOREStation Edit
|
||||||
else if(alien == IS_SLIME && dose >= 15)
|
else if(alien == IS_SLIME && dose >= 15)
|
||||||
M.add_chemical_effect(CE_PAINKILLER, 15)
|
M.add_chemical_effect(CE_PAINKILLER, 15)
|
||||||
if(prob(15))
|
if(prob(15))
|
||||||
to_chat(M, "<span class='notice'>You have a moment of clarity as you collapse.</span>")
|
to_chat(M, "<span class='notice'>You have a moment of clarity as you collapse.</span>")
|
||||||
M.adjustBrainLoss(-5 * removed)
|
M.adjustBrainLoss(-25 * removed) //VOREStation Edit
|
||||||
M.Weaken(6)
|
M.Weaken(6)
|
||||||
else if(alien != IS_DIONA)
|
else if(alien != IS_DIONA)
|
||||||
M.adjustOxyLoss(-15 * removed)
|
M.adjustOxyLoss(-150 * removed) //VOREStation Edit
|
||||||
|
|
||||||
holder.remove_reagent("lexorin", 2 * removed)
|
holder.remove_reagent("lexorin", 10 * removed) //VOREStation Edit
|
||||||
|
|
||||||
/datum/reagent/dexalinp
|
/datum/reagent/dexalinp
|
||||||
name = "Dexalin Plus"
|
name = "Dexalin Plus"
|
||||||
@@ -399,7 +400,7 @@
|
|||||||
M.Weaken(5)
|
M.Weaken(5)
|
||||||
if(dose >= 10 && M.paralysis < 40)
|
if(dose >= 10 && M.paralysis < 40)
|
||||||
M.AdjustParalysis(1) //Messing with the core with a simple chemical probably isn't the best idea.
|
M.AdjustParalysis(1) //Messing with the core with a simple chemical probably isn't the best idea.
|
||||||
M.adjustBrainLoss(-30 * removed * chem_effective)
|
M.adjustBrainLoss(-8 * removed * chem_effective) //VOREStation Edit
|
||||||
M.add_chemical_effect(CE_PAINKILLER, 10 * chem_effective)
|
M.add_chemical_effect(CE_PAINKILLER, 10 * chem_effective)
|
||||||
|
|
||||||
/datum/reagent/imidazoline
|
/datum/reagent/imidazoline
|
||||||
|
|||||||
@@ -62,15 +62,20 @@
|
|||||||
/datum/reagent/vermicetol
|
/datum/reagent/vermicetol
|
||||||
name = "Vermicetol"
|
name = "Vermicetol"
|
||||||
id = "vermicetol"
|
id = "vermicetol"
|
||||||
description = "A potent chemical that treats burn damage at an exceptional rate and lasts a while."
|
description = "A potent chemical that treats all damage at an exceptional rate and lasts a while."
|
||||||
taste_description = "sparkles"
|
taste_description = "sparkles"
|
||||||
reagent_state = SOLID
|
reagent_state = SOLID
|
||||||
color = "#964e06"
|
color = "#964e06"
|
||||||
overdose = 10
|
overdose = 15
|
||||||
scannable = 1
|
scannable = 1
|
||||||
metabolism = 0.02
|
metabolism = 0.05
|
||||||
mrate_static = TRUE
|
mrate_static = TRUE
|
||||||
|
|
||||||
/datum/reagent/vermicetol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
/datum/reagent/vermicetol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||||
if(alien != IS_DIONA)
|
if(alien != IS_DIONA)
|
||||||
M.heal_organ_damage(0, 110 * removed) //Not as potent as Kelotane, but lasts LONG.
|
var/chem_effective = 1
|
||||||
|
if(alien == IS_SLIME)
|
||||||
|
chem_effective = 0.5
|
||||||
|
M.heal_organ_damage(60 * removed, 60 * removed * chem_effective)
|
||||||
|
M.adjustOxyLoss(-120 * removed * chem_effective)
|
||||||
|
M.adjustToxLoss(-60 * removed * chem_effective)
|
||||||
|
|||||||
@@ -333,8 +333,8 @@
|
|||||||
/obj/item/weapon/reagent_containers/syringe/inaprovaline/New()
|
/obj/item/weapon/reagent_containers/syringe/inaprovaline/New()
|
||||||
..()
|
..()
|
||||||
reagents.add_reagent("inaprovaline", 15)
|
reagents.add_reagent("inaprovaline", 15)
|
||||||
mode = SYRINGE_INJECT
|
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
|
||||||
update_icon()
|
//update_icon()
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/syringe/antitoxin
|
/obj/item/weapon/reagent_containers/syringe/antitoxin
|
||||||
name = "Syringe (anti-toxin)"
|
name = "Syringe (anti-toxin)"
|
||||||
@@ -343,8 +343,8 @@
|
|||||||
/obj/item/weapon/reagent_containers/syringe/antitoxin/New()
|
/obj/item/weapon/reagent_containers/syringe/antitoxin/New()
|
||||||
..()
|
..()
|
||||||
reagents.add_reagent("anti_toxin", 15)
|
reagents.add_reagent("anti_toxin", 15)
|
||||||
mode = SYRINGE_INJECT
|
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
|
||||||
update_icon()
|
//update_icon()
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/syringe/antiviral
|
/obj/item/weapon/reagent_containers/syringe/antiviral
|
||||||
name = "Syringe (spaceacillin)"
|
name = "Syringe (spaceacillin)"
|
||||||
@@ -353,8 +353,8 @@
|
|||||||
/obj/item/weapon/reagent_containers/syringe/antiviral/New()
|
/obj/item/weapon/reagent_containers/syringe/antiviral/New()
|
||||||
..()
|
..()
|
||||||
reagents.add_reagent("spaceacillin", 15)
|
reagents.add_reagent("spaceacillin", 15)
|
||||||
mode = SYRINGE_INJECT
|
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
|
||||||
update_icon()
|
//update_icon()
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/syringe/drugs
|
/obj/item/weapon/reagent_containers/syringe/drugs
|
||||||
name = "Syringe (drugs)"
|
name = "Syringe (drugs)"
|
||||||
@@ -365,8 +365,8 @@
|
|||||||
reagents.add_reagent("space_drugs", 5)
|
reagents.add_reagent("space_drugs", 5)
|
||||||
reagents.add_reagent("mindbreaker", 5)
|
reagents.add_reagent("mindbreaker", 5)
|
||||||
reagents.add_reagent("cryptobiolin", 5)
|
reagents.add_reagent("cryptobiolin", 5)
|
||||||
mode = SYRINGE_INJECT
|
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
|
||||||
update_icon()
|
//update_icon()
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral/New()
|
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral/New()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -43,7 +43,11 @@
|
|||||||
|
|
||||||
//Dirtiness should be very low if you're the first injectee. If you're spam-injecting 4 people in a row around you though,
|
//Dirtiness should be very low if you're the first injectee. If you're spam-injecting 4 people in a row around you though,
|
||||||
//This gives the last one a 30% chance of infection.
|
//This gives the last one a 30% chance of infection.
|
||||||
if(prob(dirtiness+(targets.len-1)*10))
|
var/infect_chance = dirtiness //Start with dirtiness
|
||||||
|
if(infect_chance <= 10 && (hash in targets)) //Extra fast uses on target is free
|
||||||
|
infect_chance = 0
|
||||||
|
infect_chance += (targets.len-1)*10 //Extra 10% per extra target
|
||||||
|
if(prob(infect_chance))
|
||||||
log_and_message_admins("[loc] infected [target]'s [eo.name] with \the [src].")
|
log_and_message_admins("[loc] infected [target]'s [eo.name] with \the [src].")
|
||||||
infect_limb(eo)
|
infect_limb(eo)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user