From f2686328fbe647fb6d11f23c8b24147828098b74 Mon Sep 17 00:00:00 2001 From: Warfan1815 Date: Sun, 22 Oct 2023 20:56:01 +0100 Subject: [PATCH] Initialcommit --- code/__DEFINES/chemistry.dm | 1 + .../items/reagent_containers/autoinjectors.dm | 4 ++-- code/game/objects/items/storage/pouch.dm | 4 ++-- .../chemistry_properties/prop_special.dm | 19 +++++++++++++++++++ .../reagents/chemistry_reactions/medical.dm | 8 ++++++++ .../reagents/chemistry_reagents/medical.dm | 15 ++++++++++++++- 6 files changed, 46 insertions(+), 5 deletions(-) diff --git a/code/__DEFINES/chemistry.dm b/code/__DEFINES/chemistry.dm index 078ccbdc2d..b99013f8a0 100644 --- a/code/__DEFINES/chemistry.dm +++ b/code/__DEFINES/chemistry.dm @@ -221,6 +221,7 @@ #define PROPERTY_ANTICARCINOGENIC "anti-carcinogenic" #define PROPERTY_UNKNOWN "unknown" //just has an OD effect #define PROPERTY_HEMOSITIC "hemositic" +#define PROPERTY_REVITALIZING "revitalizing" //Property rarity diff --git a/code/game/objects/items/reagent_containers/autoinjectors.dm b/code/game/objects/items/reagent_containers/autoinjectors.dm index 46463e628c..a59adbf568 100644 --- a/code/game/objects/items/reagent_containers/autoinjectors.dm +++ b/code/game/objects/items/reagent_containers/autoinjectors.dm @@ -92,8 +92,8 @@ /obj/item/reagent_container/hypospray/autoinjector/adrenaline name = "epinephrine autoinjector" - chemname = "adrenaline" - desc = "An autoinjector loaded with 3 uses of Epinephrine, better known as Adrenaline, a nerve stimulant useful in restarting the heart." + chemname = "adrenaline (concerntrated)" + desc = "An autoinjector loaded with 3 uses of Epinephrine, better known as Adrenaline, a nerve stimulant useful in restarting the heart. In this concerntrated form, it will prevent unconciousness but will cause minor suffocation." amount_per_transfer_from_this = LOWM_REAGENTS_OVERDOSE * INJECTOR_PERCENTAGE_OF_OD volume = (LOWM_REAGENTS_OVERDOSE * INJECTOR_PERCENTAGE_OF_OD) * INJECTOR_USES display_maptext = TRUE diff --git a/code/game/objects/items/storage/pouch.dm b/code/game/objects/items/storage/pouch.dm index 6d49db9950..cddca86eff 100644 --- a/code/game/objects/items/storage/pouch.dm +++ b/code/game/objects/items/storage/pouch.dm @@ -879,12 +879,12 @@ /obj/item/storage/pouch/pressurized_reagent_canister/revival/Initialize() . = ..() //we don't call fill_with because of the complex mix of chemicals we have - inner.reagents.add_reagent("adrenaline", inner.volume/3) + inner.reagents.add_reagent("adrenaline (concerntrated)", inner.volume/3) inner.reagents.add_reagent("inaprovaline", inner.volume/3) inner.reagents.add_reagent("tricordrazine", inner.volume/3) if(contents.len > 0) var/obj/item/reagent_container/hypospray/autoinjector/empty/medic/A = contents[1] - A.reagents.add_reagent("adrenaline", A.volume/3) + A.reagents.add_reagent("adrenaline (concerntrated)", A.volume/3) A.reagents.add_reagent("inaprovaline", A.volume/3) A.reagents.add_reagent("tricordrazine", A.volume/3) A.update_uses_left() diff --git a/code/modules/reagents/chemistry_properties/prop_special.dm b/code/modules/reagents/chemistry_properties/prop_special.dm index 640e184263..98af100699 100644 --- a/code/modules/reagents/chemistry_properties/prop_special.dm +++ b/code/modules/reagents/chemistry_properties/prop_special.dm @@ -369,3 +369,22 @@ /datum/chem_property/special/firepenetrating/update_reagent() holder.fire_penetrating = TRUE ..() + +/datum/chem_property/special/revitalizing + name = PROPERTY_REVITALIZING + code = "REV" + description = "For a period of time, revitalizes the main systems of the body and prevents unconciousness." + rarity = PROPERTY_ADMIN + category = PROPERTY_TYPE_STIMULANT + value = 666 + var/knocked_out_value_store = 0 + +/datum/chem_property/special/revitalizing/reagent_added(mob/living/M) + if(!ishuman(M)) + return + M.status_flags &= ~CANKNOCKOUT + knocked_out_value_store = M.knocked_out + M.knocked_out = 0 + +/datum/chem_property/special/revitalizing/on_delete(mob/living/M) + M.status_flags |= CANKNOCKOUT diff --git a/code/modules/reagents/chemistry_reactions/medical.dm b/code/modules/reagents/chemistry_reactions/medical.dm index 2e38117134..efba43a737 100644 --- a/code/modules/reagents/chemistry_reactions/medical.dm +++ b/code/modules/reagents/chemistry_reactions/medical.dm @@ -14,6 +14,14 @@ required_reagents = list("carbon" = 1, "nitrogen" = 1, "oxygen" = 1) result_amount = 2 +/datum/chemical_reaction/adrenaline + name = "Epinephrine (Concerntrated)" + id = "adrenaline (concerntrated)" + result = "adrenaline (concerntrated)" + required_reagents = list("carbon" = 1, "nitrogen" = 1, "oxygen" = 1) + required_catalysts = list("phoron" = 5) + result_amount = 1 + /datum/chemical_reaction/alkysine name = "Alkysine" id = "alkysine" diff --git a/code/modules/reagents/chemistry_reagents/medical.dm b/code/modules/reagents/chemistry_reagents/medical.dm index f69d1b952c..4b1dc49b85 100644 --- a/code/modules/reagents/chemistry_reagents/medical.dm +++ b/code/modules/reagents/chemistry_reagents/medical.dm @@ -270,7 +270,7 @@ chemclass = CHEM_CLASS_UNCOMMON properties = list(PROPERTY_NEOGENETIC = 3) -/datum/reagent/medical/adrenaline +/datum/reagent/medical/adrenaline // Legacy version name = "Epinephrine" id = "adrenaline" description = "A natural muscle and heart stimulant. Useful for restarting the heart. Overdosing may stress the heart and cause tissue damage." @@ -283,6 +283,19 @@ properties = list(PROPERTY_PAINKILLING = 1.5, PROPERTY_ELECTROGENETIC = 4, PROPERTY_INTRAVENOUS = 1) flags = REAGENT_TYPE_MEDICAL | REAGENT_SCANNABLE +/datum/reagent/medical/adrenaline/strong + name = "Epinephrine (Concerntrated)" + id = "adrenaline (concerntrated)" + description = "A natural muscle and heart stimulant that is in a high concerntration. Useful for restarting the heart and preventing unconciousness but in this concerntrated form it will cause minor suffocation. Overdosing may stress the heart and cause tissue damage." + reagent_state = LIQUID + color = "FFE703" // Yellow-ish + overdose = LOWM_REAGENTS_OVERDOSE + overdose_critical = LOWM_REAGENTS_OVERDOSE_CRITICAL + custom_metabolism = AMOUNT_PER_TIME(1, 10 SECONDS) + chemclass = CHEM_CLASS_COMMON + properties = list(PROPERTY_PAINKILLING = 2, PROPERTY_ELECTROGENETIC = 4, PROPERTY_REVITALIZING = 1, PROPERTY_HYPOXEMIC = 5, PROPERTY_INTRAVENOUS = 1) + flags = REAGENT_TYPE_MEDICAL | REAGENT_SCANNABLE + /datum/reagent/medical/ultrazine name = "Ultrazine" id = "ultrazine"