--- /dev/null
+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));
+ }
+ }
+}
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.
}
}
+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}
--- /dev/null
+mannitol-effect-enlightened = You feel ENLIGHTENED!
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.
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.
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.
--- /dev/null
+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.
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
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
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
- !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
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