From ae2067c5beac43e4e43269ede6dd639393fa9618 Mon Sep 17 00:00:00 2001 From: NoreUhh <85219416+NoreUhh@users.noreply.github.com> Date: Thu, 30 Oct 2025 18:02:43 -0700 Subject: [PATCH] Add 2 New Reagents (Felinase and Caninase) (#41136) * Flavors, Flavor Profiles, Reagent Text * Base Reagent and Mix reaction * Borkinase, flavor stuff * Final touches me thinks * Comment out shit * Update fun.yml removed comments * Update fun.yml Increased output for borkinase and felinase * explosive reaction creates razorium when mixed and makes a radioactive explosion. screaming explosion funny!!! * reagent descriptions updated em * chem is no longer nuclear bomb * remove tile-break scale * recipe change done through web view dont kill me im lazy * removed cellular, halved rads done through web again, dont end me thanks * updated locale to reflect name change * updated reagent to reflect name change * updated reactions to reflect name changes --------- Co-authored-by: NoreUhh --- .../Speech/EntitySystems/BarkAccentSystem.cs | 9 +- .../Speech/EntitySystems/OwOAccentSystem.cs | 10 +- .../Locale/en-US/flavors/flavor-profiles.ftl | 1 + Resources/Locale/en-US/reagents/meta/fun.ftl | 6 + .../Entities/StatusEffects/speech.yml | 16 +++ Resources/Prototypes/Flavors/flavors.yml | 5 + Resources/Prototypes/Reagents/fun.yml | 110 ++++++++++++++++++ .../Prototypes/Recipes/Reactions/fun.yml | 47 ++++++++ 8 files changed, 202 insertions(+), 2 deletions(-) diff --git a/Content.Server/Speech/EntitySystems/BarkAccentSystem.cs b/Content.Server/Speech/EntitySystems/BarkAccentSystem.cs index 927b1259ad..27e42c70ed 100644 --- a/Content.Server/Speech/EntitySystems/BarkAccentSystem.cs +++ b/Content.Server/Speech/EntitySystems/BarkAccentSystem.cs @@ -1,3 +1,4 @@ +using Content.Shared.StatusEffectNew; using Content.Server.Speech.Components; using Content.Shared.Speech; using Robust.Shared.Random; @@ -23,6 +24,7 @@ namespace Content.Server.Speech.EntitySystems public override void Initialize() { SubscribeLocalEvent(OnAccent); + SubscribeLocalEvent>(OnAccentRelayed); } public string Accentuate(string message) @@ -36,9 +38,14 @@ namespace Content.Server.Speech.EntitySystems .Replace("l", "r").Replace("L", "R"); } - private void OnAccent(EntityUid uid, BarkAccentComponent component, AccentGetEvent args) + private void OnAccent(Entity entity, ref AccentGetEvent args) { args.Message = Accentuate(args.Message); } + + private void OnAccentRelayed(Entity entity, ref StatusEffectRelayedEvent args) + { + args.Args.Message = Accentuate(args.Args.Message); + } } } diff --git a/Content.Server/Speech/EntitySystems/OwOAccentSystem.cs b/Content.Server/Speech/EntitySystems/OwOAccentSystem.cs index ff930e524a..804c711ea7 100644 --- a/Content.Server/Speech/EntitySystems/OwOAccentSystem.cs +++ b/Content.Server/Speech/EntitySystems/OwOAccentSystem.cs @@ -1,5 +1,6 @@ using Content.Server.Speech.Components; using Content.Shared.Speech; +using Content.Shared.StatusEffectNew; using Robust.Shared.Random; namespace Content.Server.Speech.EntitySystems @@ -20,6 +21,7 @@ namespace Content.Server.Speech.EntitySystems public override void Initialize() { SubscribeLocalEvent(OnAccent); + SubscribeLocalEvent>(OnAccentRelayed); } public string Accentuate(string message) @@ -34,9 +36,15 @@ namespace Content.Server.Speech.EntitySystems .Replace("l", "w").Replace("L", "W"); } - private void OnAccent(EntityUid uid, OwOAccentComponent component, AccentGetEvent args) + private void OnAccent(Entity entity, ref AccentGetEvent args) { args.Message = Accentuate(args.Message); } + + private void OnAccentRelayed(Entity entity, ref StatusEffectRelayedEvent args) + { + args.Args.Message = Accentuate(args.Args.Message); + } + } } diff --git a/Resources/Locale/en-US/flavors/flavor-profiles.ftl b/Resources/Locale/en-US/flavors/flavor-profiles.ftl index f012d83d7e..1e76818ebf 100644 --- a/Resources/Locale/en-US/flavors/flavor-profiles.ftl +++ b/Resources/Locale/en-US/flavors/flavor-profiles.ftl @@ -183,6 +183,7 @@ flavor-complex-false-meat = not entirely unlike meat flavor-complex-paper = like mushy pulp flavor-complex-compressed-meat = like compressed meat flavor-complex-dog-food = like dog food +flavor-complex-canned-tuna = like canned tuna # Drink-specific flavors. diff --git a/Resources/Locale/en-US/reagents/meta/fun.ftl b/Resources/Locale/en-US/reagents/meta/fun.ftl index d6e4fe4794..eb4ff634d7 100644 --- a/Resources/Locale/en-US/reagents/meta/fun.ftl +++ b/Resources/Locale/en-US/reagents/meta/fun.ftl @@ -33,3 +33,9 @@ reagent-desc-hew = Pure essence of inversed lizard plush. Makes you Hew! reagent-name-corgiessence = corgium reagent-desc-corgiessence = Tastes like dog food. Clearly an acquired taste. + +reagent-name-catessence = felinase +reagent-desc-catessence = A type of carcinogenic enzyme known to break down proteins found within the vocal cords of most animals. Mixing is NOT recommended. + +reagent-name-canidessence = caninase +reagent-desc-canidessence = A type of carcinogenic enzyme known to break down proteins found within the vocal cords of most animals. Mixing is NOT recommended. diff --git a/Resources/Prototypes/Entities/StatusEffects/speech.yml b/Resources/Prototypes/Entities/StatusEffects/speech.yml index 1fe13c4626..0f957bfe56 100644 --- a/Resources/Prototypes/Entities/StatusEffects/speech.yml +++ b/Resources/Prototypes/Entities/StatusEffects/speech.yml @@ -33,3 +33,19 @@ name: scrambled components: - type: ScrambledAccent + +# Causes wu to tawk wike a cat. ^w^ +- type: entity + parent: SpeechStatusEffectBase + id: StatusEffectOwO + name: owoaccent + components: + - type: OwOAccent + +# Causes you to tark rike a dog. Woof! +- type: entity + parent: SpeechStatusEffectBase + id: StatusEffectBark + name: barkaccent + components: + - type: BarkAccent diff --git a/Resources/Prototypes/Flavors/flavors.yml b/Resources/Prototypes/Flavors/flavors.yml index 513803e102..e1fac917af 100644 --- a/Resources/Prototypes/Flavors/flavors.yml +++ b/Resources/Prototypes/Flavors/flavors.yml @@ -1349,6 +1349,11 @@ flavorType: Base description: flavor-complex-dog-food +- type: flavor + id: cannedtuna + flavorType: Complex + description: flavor-complex-canned-tuna + - type: flavor id: fishops flavorType: Complex diff --git a/Resources/Prototypes/Reagents/fun.yml b/Resources/Prototypes/Reagents/fun.yml index 0ad3e9af61..f6bddeee2d 100644 --- a/Resources/Prototypes/Reagents/fun.yml +++ b/Resources/Prototypes/Reagents/fun.yml @@ -429,3 +429,113 @@ - !type:ReagentCondition reagent: CorgiJuice min: 50 + +- type: reagent + id: Felinase + name: reagent-name-catessence + group: Toxins + desc: reagent-desc-catessence + physicalDesc: reagent-physical-desc-milky + flavor: cannedtuna + color: "#d8bed8" + metabolisms: + Poison: + metabolismRate: 0.2 + effects: + - !type:HealthChange + conditions: + - !type:ReagentCondition + reagent: Felinase + min: 25 + damage: + types: + Radiation: 0.5 + - !type:AdjustReagent + reagent: Felinase + amount: -15 + conditions: + - !type:ReagentCondition + reagent: Felinase + min: 40 + - !type:ModifyStatusEffect + conditions: + - !type:ReagentCondition + reagent: Felinase + min: 25 + effectProto: StatusEffectOwO + time: 25.0 + type: Add + - !type:Emote + conditions: + - !type:ReagentCondition + reagent: Felinase + min: 25 + emote: Cough + showInChat: true + showInGuidebook: true + force: true + probability: 0.05 + - !type:PopupMessage + conditions: + - !type:ReagentCondition + reagent: Felinase + min: 25 + type: Local + visualType: Small + messages: [ "capsaicin-effect-light-burn" ] + probability: 0.05 + +- type: reagent + id: Caninase + name: reagent-name-canidessence + group: Toxins + desc: reagent-desc-canidessence + physicalDesc: reagent-physical-desc-bubbly + flavor: dogfood + color: "#b87333" + metabolisms: + Poison: + metabolismRate: 0.2 + effects: + - !type:HealthChange + conditions: + - !type:ReagentCondition + reagent: Caninase + min: 25 + damage: + types: + Radiation: 0.5 + - !type:AdjustReagent + reagent: Caninase + amount: -15 + conditions: + - !type:ReagentCondition + reagent: Caninase + min: 40 + - !type:ModifyStatusEffect + conditions: + - !type:ReagentCondition + reagent: Caninase + min: 25 + effectProto: StatusEffectBark + time: 25.0 + type: Add + - !type:Emote + conditions: + - !type:ReagentCondition + reagent: Caninase + min: 25 + emote: Cough + showInChat: true + showInGuidebook: true + force: true + probability: 0.05 + - !type:PopupMessage + conditions: + - !type:ReagentCondition + reagent: Caninase + min: 25 + type: Local + visualType: Small + messages: [ "capsaicin-effect-light-burn" ] + probability: 0.05 diff --git a/Resources/Prototypes/Recipes/Reactions/fun.yml b/Resources/Prototypes/Recipes/Reactions/fun.yml index b000481476..a0c5c546c7 100644 --- a/Resources/Prototypes/Recipes/Reactions/fun.yml +++ b/Resources/Prototypes/Recipes/Reactions/fun.yml @@ -227,3 +227,50 @@ amount: 1 products: CorgiJuice: 2 + +- type: reaction + id: Felinase + reactants: + Haloperidol: + amount: 3 + Cognizine: + amount: 2 + CarpoToxin: + amount: 2 + Enzyme: + amount: 1 + products: + Felinase: 2 + +- type: reaction + id: Caninase + reactants: + Haloperidol: + amount: 3 + Cognizine: + amount: 2 + Happiness: + amount: 2 + Enzyme: + amount: 1 + products: + Caninase: 2 + +- type: reaction + id: CaninaseFelinaseReaction + impact: High + priority: 20 + reactants: + Caninase: + amount: 1 + Felinase: + amount: 1 + products: + Razorium: 2 + effects: + - !type:Explosion + explosionType: Radioactive + maxIntensity: 5 + intensityPerUnit: 1 + intensitySlope: 2.7 + maxTotalIntensity: 50 -- 2.51.2