From a7f9b2881bb84b4b0dddca80f23194c4aa319b09 Mon Sep 17 00:00:00 2001 From: QuantumSeanyGlass Date: Mon, 13 Mar 2023 13:16:04 -0700 Subject: [PATCH] Mutation Toxins (#14314) --- .../Locale/en-US/reagents/meta/toxins.ftl | 15 +++ .../Prototypes/Diseases/noninfectious.yml | 115 ++++++++++++++++++ Resources/Prototypes/Polymorphs/polymorph.yml | 51 ++++++++ Resources/Prototypes/Reagents/toxins.yml | 87 +++++++++++++ 4 files changed, 268 insertions(+) diff --git a/Resources/Locale/en-US/reagents/meta/toxins.ftl b/Resources/Locale/en-US/reagents/meta/toxins.ftl index 1fea06f6b6..dde09919b1 100644 --- a/Resources/Locale/en-US/reagents/meta/toxins.ftl +++ b/Resources/Locale/en-US/reagents/meta/toxins.ftl @@ -54,3 +54,18 @@ reagent-desc-allicin = An organosulfur compound found in alliums like garlic, on reagent-name-pax = pax reagent-desc-pax = A psychiatric drug which prevents the patient from directly harming anyone. + +reagent-name-human-muta-tox = human mutation toxin +reagent-name-human-muta-tox = A drug capable of transforming any humanoid into a Human. + +reagent-name-slime-person-muta-tox = slime person mutation toxin +reagent-desc-slime-person-muta-tox = A drug capable of transforming any humanoid into a slime person. + +reagent-name-skeleton-muta-tox = skin hurting juice +reagent-desc-skeleton-muta-tox = A drug that hurts all over, followed by everything but the essentials falling off. Transforms any humanoid into a skeleton. + +reagent-name-reptilian-muta-tox = reptilian mutation toxin +reagent-desc-reptilian-muta-tox = A drug capable of transforming any humanoid into a reptilian. + +reagent-name-monkey-muta-tox = monkey mutation toxin +reagent-desc-monkey-muta-tox = A drug capable of transforming any humanoid into a monkey. diff --git a/Resources/Prototypes/Diseases/noninfectious.yml b/Resources/Prototypes/Diseases/noninfectious.yml index 91d691fcc5..79b29e99fe 100644 --- a/Resources/Prototypes/Diseases/noninfectious.yml +++ b/Resources/Prototypes/Diseases/noninfectious.yml @@ -66,5 +66,120 @@ - !type:DiseasePopUp probability: 0.03 +# Mutation toxin diseases +- type: disease + id: HumanMutation + name: disease-proto-muta-human + infectious: false + cureResist: 0.10 + stages: + - 0 + - 60 + effects: + - !type:DiseasePolymorph + probability: 1 + polymorphId: HumanMutationMorph + polymorphMessage: disease-polymorph + polymorphSound: + path: /Audio/Voice/Human/malescream_1.ogg + stages: + - 1 + cures: + - !type:DiseaseJustWaitCure + maxLength: 61 # not sure how stages work, maybe this should be 60 or 60.1 or something + - !type:DiseaseReagentCure + reagent: Stellibinin + +- type: disease + id: SlimePersonMutation + name: disease-proto-muta-slime-person + infectious: false + cureResist: 0.10 + stages: + - 0 + - 60 + effects: + - !type:DiseasePolymorph + probability: 1 + polymorphId: SlimePersonMutationMorph + polymorphMessage: disease-polymorph + polymorphSound: + path: /Audio/Voice/Talk/slime_exclaim.ogg + stages: + - 1 + cures: + - !type:DiseaseJustWaitCure + maxLength: 61 # not sure how stages work, maybe this should be 60 or 60.1 or something + - !type:DiseaseReagentCure + reagent: Stellibinin + +- type: disease + id: ReptilianMutation + name: disease-proto-muta-reptilian + infectious: false + cureResist: 0.10 + stages: + - 0 + - 60 + effects: + - !type:DiseasePolymorph + probability: 1 + polymorphId: ReptilianMutationMorph + polymorphMessage: disease-polymorph + polymorphSound: + path: /Audio/Voice/Reptilian/reptilian_scream.ogg + stages: + - 1 + cures: + - !type:DiseaseJustWaitCure + maxLength: 61 # not sure how stages work, maybe this should be 60 or 60.1 or something + - !type:DiseaseReagentCure + reagent: Stellibinin + +- type: disease + id: SkeletonMutation + name: disease-proto-muta-skeleton + infectious: false + cureResist: 0.10 + stages: + - 0 + - 60 + effects: + - !type:DiseasePolymorph + probability: 1 + polymorphId: SkeletonMutationMorph + polymorphMessage: disease-polymorph + polymorphSound: + path: /Audio/Voice/Skeleton/skeleton_scream.ogg + stages: + - 1 + cures: + - !type:DiseaseJustWaitCure + maxLength: 61 # not sure how stages work, maybe this should be 60 or 60.1 or something + - !type:DiseaseReagentCure + reagent: Stellibinin + +- type: disease + id: MonkeyMutation + name: disease-proto-muta-monkey + infectious: false + cureResist: 0.10 + stages: + - 0 + - 60 + effects: + - !type:DiseasePolymorph + probability: 1 + polymorphId: MonkeyMutationMorph + polymorphMessage: disease-polymorph + polymorphSound: + path: /Audio/Animals/monkey_scream.ogg + stages: + - 1 + cures: + - !type:DiseaseJustWaitCure + maxLength: 61 # not sure how stages work, maybe this should be 60 or 60.1 or something + - !type:DiseaseReagentCure + reagent: Stellibinin ### Once radiation is refactored I want it to have a small chance of giving you regular cancer diff --git a/Resources/Prototypes/Polymorphs/polymorph.yml b/Resources/Prototypes/Polymorphs/polymorph.yml index 9c6076fc6f..b0a536724b 100644 --- a/Resources/Prototypes/Polymorphs/polymorph.yml +++ b/Resources/Prototypes/Polymorphs/polymorph.yml @@ -75,6 +75,57 @@ transferHumanoidAppearance: true inventory: Transfer +- type: polymorph + id: HumanMutationMorph + entity: MobHuman + forced: true + transferName: true + # I would like to use transferHumanoidAppearance, but it doesn't work the way you'd expect yet + # transferHumanoidAppearance: true + revertOnCrit: false + revertOnDeath: false + inventory: Transfer + +- type: polymorph + id: SlimePersonMutationMorph + entity: MobSlimePerson + forced: true + transferName: true + # transferHumanoidAppearance: true + revertOnCrit: false + revertOnDeath: false + inventory: Transfer + +- type: polymorph + id: ReptilianMutationMorph + entity: MobReptilian + forced: true + transferName: true + # transferHumanoidAppearance: true + revertOnCrit: false + revertOnDeath: false + inventory: Transfer + +- type: polymorph + id: SkeletonMutationMorph + entity: MobSkeletonPerson + forced: true + transferName: true + # transferHumanoidAppearance: true + revertOnCrit: false + revertOnDeath: false + inventory: Transfer + +- type: polymorph + id: MonkeyMutationMorph + entity: MobMonkey + forced: true + transferName: true + # transferHumanoidAppearance: true + revertOnCrit: false + revertOnDeath: false + inventory: Transfer + - type: polymorph id: AMIVMorph entity: MobMonkey diff --git a/Resources/Prototypes/Reagents/toxins.yml b/Resources/Prototypes/Reagents/toxins.yml index 74bfa3d67f..c04b223c05 100644 --- a/Resources/Prototypes/Reagents/toxins.yml +++ b/Resources/Prototypes/Reagents/toxins.yml @@ -474,3 +474,90 @@ component: Pacified refresh: false type: Add + +# Mutation toxins. Appeareance, flavour, and physical description have had very little thought put into them, and are in fact taken +# from other reagents. +- type: reagent + id: HumanMutaToxin + name: reagent-name-human-muta-tox + desc: reagent-desc-human-muta-tox + physicalDesc: reagent-physical-desc-ferrous + flavor: metallic + color: "#800000" + metabolisms: + Poison: + effects: + - !type:ChemCauseDisease + conditions: + - !type:ReagentThreshold + min: 20 + causeChance: 1 + disease: HumanMutation + +- type: reagent + id: SlimePersonMutaToxin + name: reagent-name-slime-person-muta-tox + desc: reagent-desc-slime-person-muta-tox + physicalDesc: reagent-physical-desc-viscous + flavor: slimy + color: "#2cf274" + metabolisms: + Poison: + effects: + - !type:ChemCauseDisease + conditions: + - !type:ReagentThreshold + min: 20 + causeChance: 1 + disease: SlimePersonMutation + +- type: reagent + id: SkeletonMutaToxin + name: reagent-name-skeleton-muta-tox + desc: reagent-desc-skeleton-muta-tox + physicalDesc: reagent-physical-desc-opaque + flavor: milk + color: "#DFDFDF" + metabolisms: + Poison: + effects: + - !type:ChemCauseDisease + conditions: + - !type:ReagentThreshold + min: 20 + causeChance: 1 + disease: SkeletonMutation + +- type: reagent + id: ReptilianMutaToxin + name: reagent-name-reptilian-muta-tox + desc: reagent-desc-reptilian-muta-tox + physicalDesc: reagent-physical-desc-crystalline + flavor: metallic + color: "#364266" + metabolisms: + Poison: + effects: + - !type:ChemCauseDisease + conditions: + - !type:ReagentThreshold + min: 20 + causeChance: 1 + disease: ReptilianMutation + +- type: reagent + id: MonkeyMutaToxin + name: reagent-name-monkey-muta-tox + desc: reagent-desc-monkey-muta-tox + physicalDesc: reagent-physical-desc-fibrous + flavor: meaty + color: "#3B1E08" + metabolisms: + Poison: + effects: + - !type:ChemCauseDisease + conditions: + - !type:ReagentThreshold + min: 20 + causeChance: 1 + disease: MonkeyMutation -- 2.52.0