]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Psicodine, Mannitol, Lipolicide and Happiness (#27134)
authorpotato1234_x <79580518+potato1234x@users.noreply.github.com>
Mon, 22 Apr 2024 08:45:38 +0000 (18:45 +1000)
committerGitHub <noreply@github.com>
Mon, 22 Apr 2024 08:45:38 +0000 (01:45 -0700)
* reagents

* Update Resources/Locale/en-US/reagents/meta/narcotics.ftl

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
13 files changed:
Content.Server/Chemistry/ReagentEffectConditions/TotalHunger.cs [new file with mode: 0644]
Resources/Locale/en-US/flavors/flavor-profiles.ftl
Resources/Locale/en-US/guidebook/chemistry/conditions.ftl
Resources/Locale/en-US/reagents/mannitol.ftl [new file with mode: 0644]
Resources/Locale/en-US/reagents/meta/medicine.ftl
Resources/Locale/en-US/reagents/meta/narcotics.ftl
Resources/Locale/en-US/reagents/meta/toxins.ftl
Resources/Locale/en-US/reagents/psicodine.ftl [new file with mode: 0644]
Resources/Prototypes/Flavors/flavors.yml
Resources/Prototypes/Reagents/medicine.yml
Resources/Prototypes/Reagents/narcotics.yml
Resources/Prototypes/Reagents/toxins.yml
Resources/Prototypes/Recipes/Reactions/medicine.yml

diff --git a/Content.Server/Chemistry/ReagentEffectConditions/TotalHunger.cs b/Content.Server/Chemistry/ReagentEffectConditions/TotalHunger.cs
new file mode 100644 (file)
index 0000000..1dd12e6
--- /dev/null
@@ -0,0 +1,35 @@
+using Content.Shared.Chemistry.Reagent;
+using Content.Shared.Nutrition.Components;
+using Content.Shared.FixedPoint;
+using Robust.Shared.Prototypes;
+
+namespace Content.Server.Chemistry.ReagentEffectConditions
+{
+    public sealed partial class Hunger : ReagentEffectCondition
+    {
+        [DataField]
+        public float Max = float.PositiveInfinity;
+
+        [DataField]
+        public float Min = 0;
+
+        public override bool Condition(ReagentEffectArgs args)
+        {
+            if (args.EntityManager.TryGetComponent(args.SolutionEntity, out HungerComponent? hunger))
+            {
+                var total = hunger.CurrentHunger;
+                if (total > Min && total < Max)
+                    return true;
+            }
+
+            return false;
+        }
+
+        public override string GuidebookExplanation(IPrototypeManager prototype)
+        {
+            return Loc.GetString("reagent-effect-condition-guidebook-total-hunger",
+                ("max", float.IsPositiveInfinity(Max) ? (float) int.MaxValue : Max),
+                ("min", Min));
+        }
+    }
+}
index 61567d86954fa1f28186a852d1469429bbf59d28..41b575b7d63a50e26e96d277b994a5dbfd242c5c 100644 (file)
@@ -168,6 +168,8 @@ flavor-complex-light = like a light gone out
 flavor-complex-profits = like profits
 flavor-complex-fishops = like the dreaded fishops
 flavor-complex-violets = like violets
+flavor-complex-mothballs = like mothballs
+flavor-complex-paint-thinner = like paint thinner
 
 # Drink-specific flavors.
 
index 807b5591a81b55bf15e5bde6ee780973ce6a1af5..7748ab9893cb9a4584981965b3f4501fe705c426 100644 (file)
@@ -7,6 +7,15 @@
                  }
     }
 
+reagent-effect-condition-guidebook-total-hunger =
+    { $max ->
+        [2147483648] the target has at least {NATURALFIXED($min, 2)} total hunger
+        *[other] { $min ->
+                    [0] the target has at most {NATURALFIXED($max, 2)} total hunger
+                    *[other] the target has between {NATURALFIXED($min, 2)} and {NATURALFIXED($max, 2)} total hunger
+                 }
+    }
+
 reagent-effect-condition-guidebook-reagent-threshold =
     { $max ->
         [2147483648] there's at least {NATURALFIXED($min, 2)}u of {$reagent}
diff --git a/Resources/Locale/en-US/reagents/mannitol.ftl b/Resources/Locale/en-US/reagents/mannitol.ftl
new file mode 100644 (file)
index 0000000..1d35aff
--- /dev/null
@@ -0,0 +1 @@
+mannitol-effect-enlightened = You feel ENLIGHTENED!
index e02d428082faea3b42bd90a0409ed3e8052ee68a..a0b557e28f7ba15a97e30e18a75ca493c3dcd94c 100644 (file)
@@ -132,3 +132,9 @@ reagent-desc-necrosol = A necrotic substance that seems to be able to heal froze
 
 reagent-name-aloxadone = aloxadone
 reagent-desc-aloxadone = A cryogenics chemical. Used to treat severe third degree burns via regeneration of the burnt tissue. Works regardless of the patient being alive or dead.
+
+reagent-name-mannitol = mannitol
+reagent-desc-mannitol = Efficiently restores brain damage.
+
+reagent-name-psicodine = psicodine
+reagent-desc-psicodine = Suppresses anxiety and other various forms of mental distress. Overdose causes hallucinations and minor toxin damage.
index ea115bf9627eca09b28128676a6952a3a2ba4e2f..a7cffb7f6ba960ff076b3a42faf727fd2c13273e 100644 (file)
@@ -39,3 +39,6 @@ reagent-desc-norepinephric-acid = A smooth chemical that blocks the optical rece
 
 reagent-name-tear-gas = tear gas
 reagent-desc-tear-gas = A chemical that causes severe irritation and crying, commonly used in riot control.
+
+reagent-name-happiness = happiness
+reagent-desc-happiness = Fills you with ecstatic numbness and causes minor brain damage. Highly addictive. If overdosed causes sudden mood swings.
index 660da9c271edf4164a26e3a983283a95ce5d1dbf..09b135e7f542d61a0e89de7d3165a63ab0ee2fb6 100644 (file)
@@ -75,3 +75,6 @@ reagent-desc-vestine = Has an adverse reaction within the body causing major jit
 
 reagent-name-tazinide = tazinide
 reagent-desc-tazinide = A highly dangerous metallic mixture which can interfere with most movement through an electrifying current.
+
+reagent-name-lipolicide = lipolicide
+reagent-desc-lipolicide = A powerful toxin that will destroy fat cells, massively reducing body weight in a short time. Deadly to those without nutriment in their body.
diff --git a/Resources/Locale/en-US/reagents/psicodine.ftl b/Resources/Locale/en-US/reagents/psicodine.ftl
new file mode 100644 (file)
index 0000000..c9795b1
--- /dev/null
@@ -0,0 +1,3 @@
+psicodine-effect-fearless = You feel totally fearless!
+psicodine-effect-anxieties-wash-away = All of your anxieties wash away!
+psicodine-effect-at-peace = You feel completely at peace.
index 2b55efc21b5d29e67a6ac7e44592abf82644e88b..25ed9d337205c3a7fd425c9112ec977ddb1eabca 100644 (file)
   id: violets
   flavorType: Complex
   description: flavor-complex-violets
+
+- type: flavor
+  id: mothballs
+  flavorType: Complex
+  description: flavor-complex-mothballs
+
+- type: flavor
+  id: paintthinner
+  flavorType: Complex
+  description: flavor-complex-paint-thinner
index 5df80543a7f4d33b675b8ce0d57932d43ad2c3b6..aae367d9eb9ae362e9f0225f9fc244970d3982cf 100644 (file)
             Heat: -3.0
             Shock: -3.0
             Caustic: -1.0
+
+- type: reagent
+  id : Mannitol # currently this is just a way to create psicodine
+  name: reagent-name-mannitol
+  group: Medicine
+  desc: reagent-desc-mannitol
+  physicalDesc: reagent-physical-desc-opaque
+  flavor: sweet
+  color: "#A0A0A0"
+  metabolisms:
+    Medicine:
+      effects:
+      - !type:PopupMessage
+        conditions:
+        - !type:ReagentThreshold
+          min: 15
+        type: Local
+        visualType: Medium
+        messages: [ "mannitol-effect-enlightened" ]
+        probability: 0.2
+
+- type: reagent
+  id: Psicodine
+  name: reagent-name-psicodine
+  group: Medicine
+  desc: reagent-desc-psicodine
+  physicalDesc: reagent-physical-desc-shiny
+  flavor: bitter
+  color: "#07E79E"
+  metabolisms:
+    Medicine:
+      effects:
+      - !type:HealthChange
+        conditions:
+        - !type:ReagentThreshold
+          min: 30
+        damage:
+          types:
+            Poison: 2
+      - !type:GenericStatusEffect
+        conditions:
+        - !type:ReagentThreshold
+          min: 30
+        key: SeeingRainbows
+        component: SeeingRainbows
+        type: Add
+        time: 8
+        refresh: false
+      - !type:GenericStatusEffect
+        key: Jitter
+        time: 2.0
+        type: Remove
+      - !type:GenericStatusEffect
+        key: Drunk
+        time: 6.0
+        type: Remove
+      - !type:PopupMessage # we dont have sanity/mood so this will have to do
+        type: Local
+        visualType: Medium
+        messages:
+        - "psicodine-effect-fearless"
+        - "psicodine-effect-anxieties-wash-away"
+        - "psicodine-effect-at-peace"
+        probability: 0.2
index cefc8043b086756030310717cfeb70f8e2adcc38..9b14fa2bc8927f30d8cdd5b9a4894cfee6c050c7 100644 (file)
         conditions:
         - !type:ReagentThreshold
           min: 20
+
+- type: reagent
+  id: Happiness
+  name: reagent-name-happiness
+  group: Narcotics
+  desc: reagent-desc-happiness
+  physicalDesc: reagent-physical-desc-soothing
+  flavor: paintthinner
+  color: "#EE35FF"
+  metabolisms:
+    Narcotic:
+      effects:
+      - !type:Emote
+        emote: Laugh
+        showInChat: true
+        probability: 0.1
+        conditions:
+        - !type:ReagentThreshold
+          max: 20
+      - !type:Emote
+        emote: Whistle
+        showInChat: true
+        probability: 0.1
+        conditions:
+        - !type:ReagentThreshold
+          max: 20
+      - !type:Emote
+        emote: Crying
+        showInChat: true
+        probability: 0.1
+        conditions:
+        - !type:ReagentThreshold
+          min: 20
+      - !type:PopupMessage # we dont have sanity/mood so this will have to do
+        type: Local
+        visualType: Medium
+        messages:
+        - "psicodine-effect-fearless"
+        - "psicodine-effect-anxieties-wash-away"
+        - "psicodine-effect-at-peace"
+        probability: 0.2
+        conditions:
+        - !type:ReagentThreshold
+          max: 20
+      - !type:GenericStatusEffect
+        key: SeeingRainbows
+        component: SeeingRainbows
+        type: Add
+        time: 5
+        refresh: false
index 8c91c5f226f032a028fb7d9ba14aed30f87110a0..f5b196acf6b604588cc039549027fdcdf8d36205 100644 (file)
       - !type:Electrocute
         probability: 0.8
 
+- type: reagent
+  id: Lipolicide
+  name: reagent-name-lipolicide
+  group: Toxins
+  desc: reagent-desc-lipolicide
+  physicalDesc: reagent-physical-desc-strong-smelling
+  flavor: mothballs #why does weightloss juice taste like mothballs
+  color: "#F0FFF0"
+  metabolisms:
+    Poison:
+      effects:
+      - !type:HealthChange
+        conditions:
+        - !type:Hunger
+          max: 50
+        damage:
+          types:
+            Poison: 2
+      - !type:SatiateHunger
+        factor: -6
index 60cb8a21f3539337edde25203711d57c5bce3fb6..b13c6bb71ba85e138261dc72b7fa1c6ebed1e574 100644 (file)
   products:
     Lipozine: 3
 
+- type: reaction
+  id: Mannitol
+  reactants:
+    Hydrogen:
+      amount: 1
+    Water:
+      amount: 1
+    Sugar:
+      amount: 1
+  products:
+    Mannitol: 3
+
 - type: reaction
   id: MindbreakerToxin
   minTemp: 370
       amount: 2
   products:
     Aloxadone: 4
+
+- type: reaction
+  id: Psicodine
+  impact: Medium
+  reactants:
+    Mannitol:
+      amount: 2
+    Impedrezene:
+      amount: 1
+    Water:
+      amount: 2
+  products:
+      Psicodine: 4
+
+- type: reaction
+  id: Lipolicide
+  reactants:
+    Ephedrine:
+      amount: 1
+    Diethylamine:
+      amount: 1
+    Mercury:
+      amount: 1
+  products:
+    Lipolicide: 3
+
+- type: reaction
+  id: Happiness
+  reactants:
+    Laughter:
+      amount: 2
+    Epinephrine:
+      amount: 1
+    Ethanol:
+      amount: 1
+    Plasma:
+      amount: 5
+      catalyst: true
+  products:
+    Happiness: 4