From 9fbb40e1e86779c989e1a4b843a2eb8c9dba22d7 Mon Sep 17 00:00:00 2001 From: MistakeNot4892 Date: Wed, 9 Nov 2022 22:12:59 +1100 Subject: [PATCH] Adding vox reagents, removing Vox Delight. --- code/datums/outfits/vox.dm | 15 +++ code/modules/food/food/drinks.dm | 35 ++++++ code/modules/food/food/lunch.dm | 2 +- code/modules/reagents/reactions/_reactions.dm | 2 +- .../reagents/reactions/instant/drinks.dm | 7 -- .../modules/reagents/reactions/instant/vox.dm | 68 +++++++++++ code/modules/reagents/reagents/core.dm | 1 - code/modules/reagents/reagents/food_drinks.dm | 20 ---- code/modules/reagents/reagents/vox.dm | 106 ++++++++++++++++++ icons/obj/drinks.dmi | Bin 99966 -> 100114 bytes polaris.dme | 2 + 11 files changed, 228 insertions(+), 30 deletions(-) create mode 100644 code/modules/reagents/reactions/instant/vox.dm create mode 100644 code/modules/reagents/reagents/vox.dm diff --git a/code/datums/outfits/vox.dm b/code/datums/outfits/vox.dm index a658572bc3..ba5f8c583d 100644 --- a/code/datums/outfits/vox.dm +++ b/code/datums/outfits/vox.dm @@ -7,6 +7,21 @@ hierarchy_type = /decl/hierarchy/outfit/vox flags = OUTFIT_HAS_BACKPACK + var/list/consumables = list( + /obj/item/reagent_containers/food/drinks/flask/vox/protoslurry, + /obj/item/reagent_containers/food/drinks/flask/vox/repairgel, + /obj/item/reagent_containers/food/drinks/flask/vox/riaak + ) + +/decl/hierarchy/outfit/vox/equip(mob/living/carbon/human/H, rank, assignment) + . = ..() + if(istype(H) && length(consumables)) + for(var/consumable in consumables) + var/thing = new consumable + if(!H.equip_to_storage(thing)) + qdel(thing) + break + /decl/hierarchy/outfit/vox/survivor name = "Vox Survivor" belt = /obj/item/gun/launcher/spikethrower/small diff --git a/code/modules/food/food/drinks.dm b/code/modules/food/food/drinks.dm index 8741105e55..b10c95586f 100644 --- a/code/modules/food/food/drinks.dm +++ b/code/modules/food/food/drinks.dm @@ -419,3 +419,38 @@ icon_state = "vacuumflask" volume = 60 center_of_mass = list("x"=15, "y"=4) + +// Vox flasks. +/obj/item/reagent_containers/food/drinks/flask/vox + name = "vox canister" + desc = "A stubby airtight canister made from hammered plates of blue-green alloy." + icon_state = "voxflask" + volume = 30 + var/initial_reagents + +/obj/item/reagent_containers/food/drinks/flask/vox/Initialize() + . = ..() + var/largest_reagent + for(var/rid in initial_reagents) + var/amt = initial_reagents[rid] + reagents.add_reagent(rid, amt) + if(!largest_reagent || amt > initial_reagents[largest_reagent]) + largest_reagent = rid + if(largest_reagent) + for(var/datum/reagent/R in reagents.reagent_list) + if(R.id == largest_reagent) + name = "[name] ([R.name])" + break + +/obj/item/reagent_containers/food/drinks/flask/vox/protoslurry + initial_reagents = list("voxslurry" = 30) + +/obj/item/reagent_containers/food/drinks/flask/vox/repairgel + initial_reagents = list("voxmeds" = 30) + +/obj/item/reagent_containers/food/drinks/flask/vox/riaak + initial_reagents = list("voxbooze" = 30) + +// This is mainly there for debugging as there's no other way to get it atm. +/obj/item/reagent_containers/food/drinks/flask/vox/alkahest + initial_reagents = list("voxenzyme" = 30) diff --git a/code/modules/food/food/lunch.dm b/code/modules/food/food/lunch.dm index 516084b588..e199dfe1f3 100644 --- a/code/modules/food/food/lunch.dm +++ b/code/modules/food/food/lunch.dm @@ -122,7 +122,7 @@ var/global/list/lunchables_ethanol_reagents_ = list(/datum/reagent/ethanol/acid_ /datum/reagent/ethanol/pwine, /datum/reagent/ethanol/threemileisland, /datum/reagent/ethanol/toxins_special, - /datum/reagent/ethanol/voxdelight, + /datum/reagent/ethanol/riaaak, /datum/reagent/ethanol/soemmerfire, /datum/reagent/ethanol/slimeshot) diff --git a/code/modules/reagents/reactions/_reactions.dm b/code/modules/reagents/reactions/_reactions.dm index d63967d900..ba63b43dcf 100644 --- a/code/modules/reagents/reactions/_reactions.dm +++ b/code/modules/reagents/reactions/_reactions.dm @@ -125,4 +125,4 @@ //obtains any special data that will be provided to the reaction products //this is called just before reactants are removed. /decl/chemical_reaction/proc/send_data(var/datum/reagents/holder, var/reaction_limit) - return null \ No newline at end of file + return null diff --git a/code/modules/reagents/reactions/instant/drinks.dm b/code/modules/reagents/reactions/instant/drinks.dm index 4142f9915e..9fb804e66e 100644 --- a/code/modules/reagents/reactions/instant/drinks.dm +++ b/code/modules/reagents/reactions/instant/drinks.dm @@ -997,13 +997,6 @@ required_reagents = list("tonic" = 1, "holywater" = 1, "honey" = 1) result_amount = 3 -/decl/chemical_reaction/instant/drinks/voxdelight - name = "Vox's Delight" - id = "voxdelight" - result = "voxdelight" - required_reagents = list("phoron" = 3, "fuel" = 1, "water" = 1) - result_amount = 4 - /decl/chemical_reaction/instant/drinks/screamingviking name = "Screaming Viking" id = "screamingviking" diff --git a/code/modules/reagents/reactions/instant/vox.dm b/code/modules/reagents/reactions/instant/vox.dm new file mode 100644 index 0000000000..17f17a3788 --- /dev/null +++ b/code/modules/reagents/reactions/instant/vox.dm @@ -0,0 +1,68 @@ +/decl/chemical_reaction/instant/vox_protoslurry + name = "Vox Protoslurry" + id = "voxslurry" + result = "protoslurry" + result_amount = 4 + required_reagents = list( + "iron" = 1, + "carbon" = 1, + "protein" = 2 + ) + catalysts = list("voxenzyme" = 5) + +/decl/chemical_reaction/instant/vox_medication + name = "Vox Medication" + id = "vox_medication" + result = "voxmeds" + result_amount = 2 + required_reagents = list( + "voxslurry" = 2, + "protein" = 2, + "silicon" = 1 + ) + +/decl/chemical_reaction/instant/vox_dissolve + result_amount = 1 + catalysts = list("voxenzyme" = 1) + +/decl/chemical_reaction/instant/vox_dissolve/egg + name = "Vox Egg Dissolution" + id = "vox_dissolve_egg" + result = "protein" + required_reagents = list("egg" = 1) + +/decl/chemical_reaction/instant/vox_dissolve/woodpulp + name = "Vox Wood Pulp Dissolution" + id = "vox_dissolve_woodpulp" + result = "carbon" + required_reagents = list("woodpulp" = 1) + +/decl/chemical_reaction/instant/vox_dissolve/plasticide + name = "Vox Plasticide Dissolution" + id = "vox_dissolve_plasticide" + result = "carbon" + required_reagents = list("plasticide" = 1) + +/decl/chemical_reaction/instant/vox_dissolve/blood + name = "Vox Blood Dissolution" + id = "vox_dissolve_blood" + result = "iron" + result_amount = 0.5 + required_reagents = list("blood" = 1) + +/decl/chemical_reaction/instant/vox_dissolve/blood/on_reaction(var/datum/reagents/holder, var/created_volume) + . = ..() + if(created_volume) + holder.add_reagent("protein", created_volume) + +/decl/chemical_reaction/instant/vox_booze + name = "Riaaak" + id = "voxbooze" + result = "voxbooze" + required_reagents = list( + "voxslurry" = 5, + "fuel" = 5, + "hydrogen" = 5 + ) + catalysts = list("voxenzyme" = 5) + result_amount = 15 diff --git a/code/modules/reagents/reagents/core.dm b/code/modules/reagents/reagents/core.dm index f9375fa3c1..e3a33633c9 100644 --- a/code/modules/reagents/reagents/core.dm +++ b/code/modules/reagents/reagents/core.dm @@ -263,4 +263,3 @@ ..() if(istype(L)) L.adjust_fire_stacks(amount / 10) // Splashing people with welding fuel to make them easy to ignite! - diff --git a/code/modules/reagents/reagents/food_drinks.dm b/code/modules/reagents/reagents/food_drinks.dm index e5013c64ab..560ee3dbe7 100644 --- a/code/modules/reagents/reagents/food_drinks.dm +++ b/code/modules/reagents/reagents/food_drinks.dm @@ -4031,26 +4031,6 @@ allergen_type = ALLERGEN_GRAINS|ALLERGEN_STIMULANT //Made from whiskey(grains), cola (caffeine) and vodka(grains) -/datum/reagent/ethanol/voxdelight - name = "Vox's Delight" - id = "voxdelight" - description = "A dangerous combination of all things flammable. Why would you drink this?" - taste_description = "corrosive death" - color = "#7c003a" // rgb(124, 0, 58) - strength = 10 - - glass_name = "Vox's Delight" - glass_desc = "Not recommended if you enjoy having organs." - -/datum/reagent/drink/voxdelight/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) - ..() - if(alien == IS_DIONA) - return - if(alien == IS_VOX) - M.adjustToxLoss(-0.5 * removed) - return - M.adjustToxLoss(3 * removed) - /datum/reagent/ethanol/screamingviking name = "Screaming Viking" id = "screamingviking" diff --git a/code/modules/reagents/reagents/vox.dm b/code/modules/reagents/reagents/vox.dm new file mode 100644 index 0000000000..d4e9b9447c --- /dev/null +++ b/code/modules/reagents/reagents/vox.dm @@ -0,0 +1,106 @@ +// Solvent - used in vox chemistry and stomachs. +/datum/reagent/acid/voxenzyme + name = "alkahest" + id = "voxenzyme" + description = "A seething slurry of pseudo-living proteins, acids and enzymes, utterly alien in composition and capable of dissolving almost anything." + taste_description = "salt and burning" + reagent_state = LIQUID + color = COLOR_CYAN + power = 12 + meltdose = 1 + scannable = FALSE + +// Vox slurry - used to fuel machines, feed vox and gear, and as an ingredient in the biofoundry +/datum/reagent/toxin/voxslurry + name = "protoslurry" + id = "voxslurry" + taste_description = "coppery slime" + description = "A complex slurry of lipids, proteins, metal particulate and long polymer chains. Ubiquitous to vox-inhabited stations and equipment." + strength = 6 + scannable = FALSE + +/datum/reagent/toxin/voxslurry/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + if(alien != IS_VOX) + return ..() + M.adjust_nutrition(12 * removed) + M.heal_organ_damage(0.5 * removed, 0.5 * removed) + M.add_chemical_effect(CE_BLOODRESTORE, 4 * removed) + +/datum/reagent/toxin/voxslurry/affect_touch(var/mob/living/carbon/M, var/alien, var/removed) + affect_blood(M, alien, removed) + +// General-purpose vox medication +/datum/reagent/toxin/voxmeds + name = "repair gel" + id = "voxmeds" + taste_description = "fizzing sweetness" + description = "A complex serum composed of vox-manufactured nanomachines, complex protein chains and microscopic bundles of metallic fibers." + strength = 8 + scannable = FALSE + +/datum/reagent/toxin/voxmeds/affect_touch(var/mob/living/carbon/M, var/alien, var/removed) + affect_blood(M, alien, removed) + +/datum/reagent/toxin/voxmeds/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + + if(alien != IS_VOX) + // Mostly copied from mutagen. + . = ..() + if(!M.dna) + return + if(prob(removed * 10)) + randmuti(M) + if(prob(98)) + randmutb(M) + else + randmutg(M) + domutcheck(M, null) + M.UpdateAppearance() + if(prob(removed * 40)) + randmuti(M) + to_chat(M, SPAN_WARNING("You feel odd!")) + M.apply_effect(10 * removed, IRRADIATE, 0) + return + + M.adjustOxyLoss(-3 * removed) + M.heal_organ_damage(1.5 * removed, 1.5 * removed) + M.adjustToxLoss(-1.5 * removed) + + // Copied from peridaxon for the time being. + var/mob/living/carbon/human/H = M + for(var/obj/item/organ/I in H.internal_organs) + if(I.robotic >= ORGAN_ROBOT) + continue + if(I.damage > 0) + I.damage = max(I.damage - removed, 0) + H.Confuse(5) + if(I.damage <= 5 && I.organ_tag == O_EYES) + H.sdisabilities &= ~BLIND + +/datum/reagent/ethanol/riaaak // Vox moonshine + name = "riaaak" + id = "voxbooze" + description = "Vox clades brew this noxious concoction in half-empty fuel tanks using whatever dregs come to hand." + taste_description = "burning, acrid foulness" + taste_mult = 2.5 + color = "#22aa88" + strength = 7 + + glass_name = "riaaak" + glass_desc = "An oily green brew that will knock even a Vox on its tail." + +/datum/reagent/ethanol/riaaak/affect_ingest(mob/living/carbon/M, alien, removed) + . = ..() + if(alien != IS_VOX && alien != IS_DIONA) + handle_nonvox_effects(M, removed, CHEM_INGEST) + +/datum/reagent/ethanol/riaaak/affect_blood(mob/living/carbon/M, alien, removed) + . = ..() + if(alien != IS_VOX && alien != IS_DIONA) + handle_nonvox_effects(M, removed, CHEM_BLOOD) + +/datum/reagent/ethanol/riaaak/proc/handle_nonvox_effects(var/mob/living/carbon/M, var/removed, var/method) + // todo: eye damage, stomach damage, poisoning? + var/dam = removed * 5 * M.species.chem_strength_tox // arbitrary + if(dam) + M.adjustToxLoss(dam) diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index c138e6093ee474df6b93c551670f3c238f2fcfa4..7f7f890264e1740cd8ba847b9f54f98fcbf8b4a5 100644 GIT binary patch delta 3878 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 delta 3738 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 Ef}6{wdH?_b diff --git a/polaris.dme b/polaris.dme index 3038694fc1..cec4e64baa 100644 --- a/polaris.dme +++ b/polaris.dme @@ -2953,6 +2953,7 @@ #include "code\modules\reagents\reactions\instant\drinks.dm" #include "code\modules\reagents\reactions\instant\food.dm" #include "code\modules\reagents\reactions\instant\instant.dm" +#include "code\modules\reagents\reactions\instant\vox.dm" #include "code\modules\reagents\reagent_containers\_reagent_containers.dm" #include "code\modules\reagents\reagent_containers\blood_pack.dm" #include "code\modules\reagents\reagent_containers\borghypo.dm" @@ -2974,6 +2975,7 @@ #include "code\modules\reagents\reagents\modifiers.dm" #include "code\modules\reagents\reagents\other.dm" #include "code\modules\reagents\reagents\toxins.dm" +#include "code\modules\reagents\reagents\vox.dm" #include "code\modules\recycling\conveyor2.dm" #include "code\modules\recycling\disposal-construction.dm" #include "code\modules\recycling\disposal.dm"