diff --git a/Content.Server/EntityEffects/Effects/LactozitIntolerance.cs b/Content.Server/EntityEffects/Effects/LactozitIntolerance.cs new file mode 100644 index 00000000000..5252c6ec17e --- /dev/null +++ b/Content.Server/EntityEffects/Effects/LactozitIntolerance.cs @@ -0,0 +1,24 @@ +/// Forge Change Start +using Content.Server.Traits.Assorted; +using Content.Shared.EntityEffects; +using JetBrains.Annotations; +using Robust.Shared.Prototypes; + +namespace Content.Server.EntityEffects.Effects; + +/// +/// Triggers a unique reaction on entities with Lactozit intolerance. +/// +[UsedImplicitly] +public sealed partial class LactozitIntolerance : EntityEffect +{ + protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) + => Loc.GetString("reagent-effect-guidebook-lactozitium-reaction", ("chance", Probability)); + + public override void Effect(EntityEffectBaseArgs args) + { + args.EntityManager.EntitySysManager.GetEntitySystem() + .TryTriggerLactozitiumReaction(args.TargetEntity); + } +} +/// Forge Change End diff --git a/Content.Server/_Forge/Traits/LactozitIntoleranceComponent.cs b/Content.Server/_Forge/Traits/LactozitIntoleranceComponent.cs new file mode 100644 index 00000000000..6e18469b954 --- /dev/null +++ b/Content.Server/_Forge/Traits/LactozitIntoleranceComponent.cs @@ -0,0 +1,18 @@ +using System.Numerics; + +namespace Content.Server.Traits.Assorted; + +/// +/// This is used for the Lactozit Intolerance trait. +/// +[RegisterComponent, Access(typeof(LactozitIntoleranceSystem))] +public sealed partial class LactozitIntoleranceComponent : Component +{ + /// + /// The random cooldown between Lactozitium incidents, (min, max). + /// + [DataField("timeBetweenIncidents", required: true)] + public Vector2 TimeBetweenIncidents { get; private set; } + + public float TimeUntilNextIncident; +} diff --git a/Content.Server/_Forge/Traits/LactozitIntoleranceSystem.cs b/Content.Server/_Forge/Traits/LactozitIntoleranceSystem.cs new file mode 100644 index 00000000000..01db8903eef --- /dev/null +++ b/Content.Server/_Forge/Traits/LactozitIntoleranceSystem.cs @@ -0,0 +1,69 @@ +using Content.Server.Chat.Systems; +using Content.Server.Medical; +using Content.Server.Popups; +using Robust.Shared.Audio; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Random; +using Robust.Shared.Player; + +namespace Content.Server.Traits.Assorted; + +/// +/// This handles Lactozit intolerance incidents when Lactozit is metabolized. +/// +public sealed partial class LactozitIntoleranceSystem : EntitySystem +{ + [Dependency] private ChatSystem _chat = default!; + [Dependency] private SharedAudioSystem _audio = default!; + [Dependency] private PopupSystem _popup = default!; + [Dependency] private IRobustRandom _random = default!; + [Dependency] private VomitSystem _vomit = default!; + + public void TryTriggerLactozitiumReaction(EntityUid uid, LactozitIntoleranceComponent? intolerance = null) + { + if (!Resolve(uid, ref intolerance, false)) + return; + + if (intolerance.TimeUntilNextIncident > 0) + return; + + intolerance.TimeUntilNextIncident = + _random.NextFloat(intolerance.TimeBetweenIncidents.X, intolerance.TimeBetweenIncidents.Y); + + BloatingEffect(uid); + + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out _, out var intolerance)) + { + if (intolerance.TimeUntilNextIncident <= 0) + continue; + + intolerance.TimeUntilNextIncident -= frameTime; + } + } + public void BloatingEffect(EntityUid uid){ + switch (_random.Next(3)) + { + case 0: + { + _audio.PlayPvs(new SoundCollectionSpecifier("Parp"), uid, AudioParams.Default.WithVariation(0.125f)); + var fartMessage = Loc.GetString("trait-lactozit-intolerance-fart", ("entity", uid)); + _popup.PopupEntity(fartMessage, uid, Filter.PvsExcept(uid), true); + _popup.PopupEntity(fartMessage, uid, uid); + break; + } + case 1: + _chat.TryEmoteWithChat(uid, "Belch", ignoreActionBlocker: true, forceEmote: true); + break; + case 2: + _vomit.Vomit(uid); + break; + } + } +} diff --git a/Resources/Locale/en-US/guidebook/chemistry/effects.ftl b/Resources/Locale/en-US/guidebook/chemistry/effects.ftl index 4a22d9889e3..2f848eae373 100644 --- a/Resources/Locale/en-US/guidebook/chemistry/effects.ftl +++ b/Resources/Locale/en-US/guidebook/chemistry/effects.ftl @@ -342,6 +342,12 @@ reagent-effect-guidebook-reset-narcolepsy = *[other] temporarily stave } off narcolepsy +reagent-effect-guidebook-lactozitium-reaction = + { $chance -> + [1] Triggers + *[other] trigger + } farting, vomiting, and burping in Lactozit-intolerant metabolisms + reagent-effect-guidebook-wash-cream-pie-reaction = { $chance -> [1] Washes diff --git a/Resources/Locale/en-US/traits/traits.ftl b/Resources/Locale/en-US/traits/traits.ftl index 770ff8b14d8..bfa4b08e866 100644 --- a/Resources/Locale/en-US/traits/traits.ftl +++ b/Resources/Locale/en-US/traits/traits.ftl @@ -7,6 +7,9 @@ trait-poor-vision-desc = Your eyes are not what they once were, you have difficu trait-narcolepsy-name = Narcolepsy trait-narcolepsy-desc = You fall asleep randomly. +trait-lactozit-intolerance-name = Lactozit intolerance +trait-lactozit-intolerance-desc = Lactozitium makes you fart, vomit, and burp uncontrollably. + trait-pacifist-name = Pacifist trait-pacifist-desc = You cannot attack or hurt any living beings. @@ -69,3 +72,5 @@ trait-painnumbness-desc = You lack any sense of feeling pain, being unaware of h # Mono trait-russian-name = Russian accent trait-russian-desc = You reek of vodka smell. + +trait-lactozit-intolerance-fart = { CAPITALIZE(THE($entity)) } lets out an awful burst of gas! diff --git a/Resources/Locale/ru-RU/guidebook/chemistry/effects.ftl b/Resources/Locale/ru-RU/guidebook/chemistry/effects.ftl index 125b361b8cc..54cea314cee 100644 --- a/Resources/Locale/ru-RU/guidebook/chemistry/effects.ftl +++ b/Resources/Locale/ru-RU/guidebook/chemistry/effects.ftl @@ -291,6 +291,11 @@ reagent-effect-guidebook-reset-narcolepsy = [1] Предотвращает *[other] предотвращают } приступы нарколепсии +reagent-effect-guidebook-lactozitium-reaction = + { $chance -> + [1] Вызывает + *[other] вызывают + } приступ газов, рвоты и отрыжки у существ с непереносимостью лактозита reagent-effect-guidebook-wash-cream-pie-reaction = { $chance -> [1] Смывает diff --git a/Resources/Locale/ru-RU/traits/traits.ftl b/Resources/Locale/ru-RU/traits/traits.ftl index d96df6a3796..c4471004ac7 100644 --- a/Resources/Locale/ru-RU/traits/traits.ftl +++ b/Resources/Locale/ru-RU/traits/traits.ftl @@ -1,9 +1,11 @@ trait-blindness-name = Слепота trait-blindness-desc = Вы совершенно слепы и не можете видеть дальше нескольких метров перед собой. trait-narcolepsy-name = Нарколепсия +trait-lactozit-intolerance-name = Непереносимость лактозита trait-poor-vision-name = Близорукость trait-poor-vision-desc = Ваши глаза уже не те, что раньше, и вы с трудом видите предметы вдали без корректирующих очков. trait-narcolepsy-desc = Вас одолевают приступы сонливости +trait-lactozit-intolerance-desc = Лактозит заставляет вас неконтролируемо пускать газы, блевать и рыгать. trait-pacifist-name = Пацифист trait-pacifist-desc = Вы не можете нападать и причинять вред живым существам. permanent-blindness-trait-examined = [color=lightblue]{ CAPITALIZE(POSS-PRONOUN($target)) } глаза остекленелые и расфокусированные. Не похоже, что { SUBJECT($target) } может хорошо вас видеть, если может вообще.[/color] @@ -48,3 +50,5 @@ trait-painnumbness-desc = Вы не чувствуете боли и не осо # Mono trait-russian-name = Русский акцент trait-russian-desc = От вас ощутимо пахнет водкой. + +trait-lactozit-intolerance-fart = { CAPITALIZE(THE($entity)) } выпускает отвратительный залп газов! diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml index 145a6f6a933..59468ebbc46 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml @@ -885,6 +885,8 @@ Quantity: 1 - ReagentId: Flavorol Quantity: 1 + - ReagentId: Lactozit # Forge-change + Quantity: 0.75 # Forge-change # Tastes like bread, butter. - type: entity @@ -910,6 +912,8 @@ Quantity: 2 - ReagentId: Flavorol Quantity: 1 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change # Tastes like bread, butter. - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml index 8b6653a527b..dadc94eba59 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml @@ -23,6 +23,8 @@ Quantity: 5 - ReagentId: Flavorol Quantity: 20 + - ReagentId: Lactozit # Forge-change + Quantity: 1.25 # Forge-change - type: Item size: Normal - type: Tag @@ -63,6 +65,8 @@ Quantity: 1 - ReagentId: Flavorol Quantity: 4 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change - type: Item size: Tiny - type: Tag @@ -154,6 +158,8 @@ Quantity: 5 - ReagentId: Flavorol Quantity: 5 + - ReagentId: Lactozit # Forge-change + Quantity: 1.25 # Forge-change - type: Tag tags: - Cake @@ -170,7 +176,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 6 + maxVol: 7 # Forge-change reagents: - ReagentId: JuiceCarrot Quantity: 3 @@ -180,6 +186,8 @@ Quantity: 1 - ReagentId: Flavorol Quantity: 1 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change - type: Tag tags: - Cake @@ -239,7 +247,7 @@ - ReagentId: Flavorol Quantity: 20 - ReagentId: Lactozit - Quantity: 3 + Quantity: 2.5 # Forge-change-end - type: SliceableFood slice: FoodCakeCheeseSlice @@ -265,7 +273,7 @@ - ReagentId: Flavorol Quantity: 4 - ReagentId: Lactozit - Quantity: 0.75 + Quantity: 0.5 # Forge-change-end # Tastes like sweetness, cream cheese. @@ -381,6 +389,8 @@ Quantity: 5 - ReagentId: Milk Quantity: 5 + - ReagentId: Lactozit # Forge-change + Quantity: 2.5 # Forge-change - type: Tag tags: - Cake @@ -409,6 +419,8 @@ Quantity: 1 - ReagentId: Milk Quantity: 1 + - ReagentId: Lactozit # Forge-change + Quantity: 0.5 # Forge-change - type: Tag tags: - Cake @@ -438,6 +450,8 @@ Quantity: 5 - ReagentId: Flavorol Quantity: 20 + - ReagentId: Lactozit # Forge-change + Quantity: 1.25 # Forge-change - type: entity name: slice of chocolate cake @@ -459,6 +473,8 @@ Quantity: 1 - ReagentId: Flavorol Quantity: 4 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change # Tastes like sweetness, cake, chocolate. - type: entity @@ -542,6 +558,8 @@ Quantity: 11 - ReagentId: Flavorol Quantity: 20 + - ReagentId: Lactozit # Forge-change + Quantity: 1.25 # Forge-change - type: Tag tags: - Cake @@ -566,6 +584,8 @@ Quantity: 2.2 - ReagentId: Flavorol Quantity: 4 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change - type: Tag tags: - Cake @@ -646,7 +666,8 @@ Quantity: 15 - ReagentId: Flavorol Quantity: 20 - + - ReagentId: Lactozit # Forge-change + Quantity: 1.25 # Forge-change - type: entity name: slice of vanilla cake parent: FoodCakeSliceBase @@ -668,6 +689,8 @@ Quantity: 3 - ReagentId: Flavorol Quantity: 4 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change # Tastes like sweetness, cake, vanilla. - type: entity @@ -693,7 +716,8 @@ Quantity: 15 - ReagentId: Flavorol Quantity: 20 - + - ReagentId: Lactozit # Forge-change + Quantity: 1.25 # Forge-change - type: entity name: slice of clown cake parent: FoodCakeSliceBase @@ -715,6 +739,8 @@ Quantity: 3 - ReagentId: Flavorol Quantity: 4 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change # Tastes like sweetness, cake, clown. - type: entity @@ -738,6 +764,8 @@ Quantity: 5 - ReagentId: PolypyryliumOligomers Quantity: 15 + - ReagentId: Lactozit # Forge-change + Quantity: 1.25 # Forge-change - type: entity name: slice of spaceman's cake @@ -758,6 +786,8 @@ Quantity: 1 - ReagentId: PolypyryliumOligomers Quantity: 3 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change # Tastes like sweetness, cake, jam. - type: entity @@ -782,6 +812,8 @@ Quantity: 20 - ReagentId: Vitamin Quantity: 5 + - ReagentId: Lactozit # Forge-change + Quantity: 1.25 # Forge-change - type: Sprite noRot: true drawdepth: Mobs @@ -865,10 +897,12 @@ - type: SolutionContainerManager solutions: food: - maxVol: 48 + maxVol: 50 # Forge-change reagents: - ReagentId: Flavorol Quantity: 48 + - ReagentId: Lactozit # Forge-change + Quantity: 1.25 # Forge-change - type: Food transferAmount: 12 - type: Item @@ -889,10 +923,12 @@ - type: SolutionContainerManager solutions: food: - maxVol: 12 + maxVol: 14 # Forge-change reagents: - ReagentId: Flavorol Quantity: 12 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change - type: Food transferAmount: 3 - type: PointLight diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml index 8d29e0d64b5..3dd791c5d49 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml @@ -348,6 +348,8 @@ reagents: - ReagentId: Flavorol Quantity: 5 + - ReagentId: Lactozit # Forge-change + Quantity: 0.5 # Forge-change - type: Tag tags: - Pancake @@ -411,6 +413,8 @@ reagents: - ReagentId: Flavorol Quantity: 5 # End Frontier: flavorol + - ReagentId: Lactozit # Forge-change + Quantity: 0.5 # Forge-change - type: entity name: chocolate chip pancake @@ -463,12 +467,14 @@ - type: SolutionContainerManager solutions: food: - maxVol: 6 + maxVol: 7 # Forge-change reagents: - ReagentId: Flavorol Quantity: 5 - ReagentId: Theobromine - Quantity: 1 + Quantity: 0.5 # Forge-change + - ReagentId: Lactozit # Forge-change + Quantity: 0.5 # Forge-change - type: entity name: waffles @@ -489,6 +495,8 @@ Quantity: 8 - ReagentId: Vitamin Quantity: 1 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change - type: entity name: soy waffles @@ -687,6 +695,10 @@ Quantity: 30 - ReagentId: Theobromine Quantity: 18 + # Forge-change-Start + - ReagentId: Lactozit + Quantity: 3 + # Forge-Change-End - type: SliceableFood count: 6 slice: FoodBakedBrownie @@ -714,6 +726,10 @@ Quantity: 5 - ReagentId: Theobromine Quantity: 3 + # Forge-change-Start + - ReagentId: Lactozit + Quantity: 0.5 + # Forge-Change-End - type: Tag tags: - Slice @@ -743,6 +759,10 @@ Quantity: 18 - ReagentId: THC Quantity: 150 + # Forge-change-Start + - ReagentId: Lactozit + Quantity: 3 + # Forge-Change-End - type: SliceableFood count: 6 slice: FoodBakedCannabisBrownie @@ -772,6 +792,10 @@ Quantity: 3 - ReagentId: THC Quantity: 25 + # Forge-change-Start + - ReagentId: Lactozit + Quantity: 0.5 + # Forge-Change-End - type: Tag tags: - Slice @@ -861,7 +885,7 @@ Quantity: 1 - type: MothFood # Frontier -- type: entity +- type: entity name: grilled cheese sandwich parent: FoodBakedBase id: FoodBakedGrilledCheeseSandwich diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml index 6862630f96b..cab93ab0ca5 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml @@ -24,6 +24,8 @@ Quantity: 5 - ReagentId: Flavorol Quantity: 11 + - ReagentId: Lactozit # Forge-change + Quantity: 2 # Forge-change - type: Food #All pies here made with a pie tin; unless you're some kind of savage, you're probably not destroying this when you eat or slice the pie! trash: - FoodPlateTin @@ -57,6 +59,8 @@ Quantity: 1 - ReagentId: Flavorol Quantity: 2 + - ReagentId: Lactozit # Forge-change + Quantity: 0.5 # Forge-change - type: Tag tags: - Pie @@ -487,6 +491,8 @@ Quantity: 4 - ReagentId: Flavorol Quantity: 6 + - ReagentId: Lactozit # Forge-change + Quantity: 4 # Forge-change # Tastes like pie, mushrooms. - type: entity @@ -560,4 +566,6 @@ Quantity: 2 - ReagentId: Flavorol Quantity: 15 + - ReagentId: Lactozit # Forge-change + Quantity: 0.5 # Forge-change # Tastes like tart, dark chocolate. diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml index 2813362c816..8bc1959c619 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml @@ -165,6 +165,17 @@ - state: mushroom - type: SliceableFood slice: FoodPizzaMushroomSlice + # Forge-Change-Start + - type: SolutionContainerManager + solutions: + food: + maxVol: 40 + reagents: + - ReagentId: Nutriment + Quantity: 20 + - ReagentId: Flavorol + Quantity: 15 + # Forge-Change-End - type: entity name: slice of mushroom pizza @@ -180,6 +191,17 @@ - type: Sprite layers: - state: mushroom-slice + # Forge-Change-Start + - type: SolutionContainerManager + solutions: + food: + maxVol: 6 + reagents: + - ReagentId: Nutriment + Quantity: 3.8 + - ReagentId: Flavorol + Quantity: 2 # Forge-change 3>2 + # Forge-Change-End # Tastes like crust, tomato, cheese, mushroom. - type: entity @@ -214,8 +236,6 @@ Quantity: 5 - ReagentId: Flavorol Quantity: 10 # Forge-change 15>10 - - ReagentId: Lactozit # Forge-change - Quantity: 1 # Forge-change - type: entity name: slice of vegetable pizza @@ -248,8 +268,6 @@ Quantity: 1 - ReagentId: Flavorol Quantity: 3 - - ReagentId: Lactozit # Forge-change - Quantity: 0.125 # Forge-change # Tastes like crust, tomato, cheese, carrot. @@ -449,6 +467,19 @@ tags: - Meat - Pizza + # Forge-Change-Start + - type: SolutionContainerManager + solutions: + food: + maxVol: 40 + reagents: + - ReagentId: Nutriment + Quantity: 15 + - ReagentId: Vitamin + Quantity: 5 + - ReagentId: Flavorol + Quantity: 15 + # Forge-Change-End - type: entity name: slice of Hawaiian pizza @@ -471,6 +502,20 @@ - Meat - Pizza - Slice + # Forge-Change-Start + - type: SolutionContainerManager + solutions: + food: + # Note: Keep FoodPizzaMoldySlice & FoodPizzaSliceBase roughly in sync + maxVol: 6 + reagents: + - ReagentId: Nutriment + Quantity: 3 + - ReagentId: Vitamin + Quantity: 0.8 + - ReagentId: Flavorol + Quantity: 2 # Forge-change 3>2 + # Forge-Change-End # Tastes like crust, tomato, cheese, pineapple, ham. #TODO: This is a meme pizza from /tg/. It has specially coded mechanics. @@ -616,13 +661,11 @@ maxVol: 40 reagents: - ReagentId: Nutriment - Quantity: 19 # Forge-change 20>19 + Quantity: 19 # Forge-change 20>19 - ReagentId: Radium Quantity: 4 - ReagentId: Uranium Quantity: 16 - - ReagentId: Lactozit # Forge-change - Quantity: 1 # Forge-change # - type: RadiationSource # Frontier # intensity: 0.1 # Frontier # slope: 3 # Frontier @@ -661,8 +704,6 @@ Quantity: 0.5 - ReagentId: Uranium Quantity: 2 - - ReagentId: Lactozit # Forge-change - Quantity: 0.125 # Forge-change # - type: RadiationSource # Frontier # intensity: 0.1 # Frontier # slope: 3 # Frontier diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/frozen.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/frozen.yml index 96bb7e85d2c..20162810a99 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/frozen.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/frozen.yml @@ -16,6 +16,12 @@ reagents: - ReagentId: Nutriment Quantity: 10 + # Forge-Change-Start + - ReagentId: Lactozit + Quantity: 0.25 + - ReagentId: Flavorol + Quantity: 3 + # Forge-Change-End # Ice-cream @@ -27,10 +33,23 @@ components: - type: Sprite state: sandwich + # Forge-Change-Start + - type: SolutionContainerManager + solutions: + food: + maxVol: 20 + reagents: + - ReagentId: Nutriment + Quantity: 10 + - ReagentId: Lactozit + Quantity: 0.5 + - ReagentId: Flavorol + Quantity: 3 + # Forge-Change-End - type: entity name: strawberry ice-cream sandwich - parent: FoodFrozenBase + parent: FoodFrozenSandwich # Forge-Change id: FoodFrozenSandwichStrawberry description: Portable ice-cream in its own packaging of the strawberry variety. components: @@ -45,6 +64,19 @@ components: - type: Sprite state: spacefreezy + # Forge-Change-Start + - type: SolutionContainerManager + solutions: + food: + maxVol: 20 + reagents: + - ReagentId: Nutriment + Quantity: 10 + - ReagentId: Lactozit + Quantity: 0.75 + - ReagentId: Flavorol + Quantity: 3 + # Forge-Change-End - type: entity name: ice-cream sundae @@ -53,7 +85,23 @@ description: A classic dessert. components: - type: Sprite - state: spacefreezy + # Forge-Change-Start + state: sundae + - type: SolutionContainerManager + solutions: + food: + maxVol: 20 + reagents: + - ReagentId: Nutriment + Quantity: 10 + - ReagentId: Lactozit + Quantity: 0.75 + - ReagentId: Flavorol + Quantity: 3 + - type: Food + trash: + - TrashCherryPit + # Forge-Change-End - type: entity name: cornuto @@ -72,6 +120,12 @@ Quantity: 10 - ReagentId: Theobromine Quantity: 1 + # Forge-Change-Start + - ReagentId: Lactozit + Quantity: 0.75 + - ReagentId: Flavorol + Quantity: 3 + # Forge-Change-End # Popsicle diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml index 345560f086d..e7d8abc0690 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml @@ -606,6 +606,17 @@ - sweetdough - type: Sprite state: cakebatter + # Forge-change-Start + - type: SolutionContainerManager + solutions: + food: + maxVol: 18 + reagents: + - ReagentId: Nutriment + Quantity: 15 + - ReagentId: Lactozit + Quantity: 0.75 + # Forge-Change-End - type: entity name: stick of butter @@ -645,6 +656,10 @@ reagents: - ReagentId: Butter Quantity: 15 + # Forge-change-Start + - ReagentId: Lactozit + Quantity: 2.25 + # Forge-Change-End - type: SliceableFood count: 3 slice: FoodButterSlice @@ -670,6 +685,10 @@ reagents: - ReagentId: Butter Quantity: 5 + # Forge-change-Start + - ReagentId: Lactozit + Quantity: 0.75 + # Forge-Change-End - type: Tag tags: - Slice @@ -694,6 +713,10 @@ Quantity: 10 - ReagentId: THC Quantity: 82 + # Forge-change-Start + - ReagentId: Lactozit + Quantity: 2 + # Forge-Change-End - type: Extractable grindableSolutionName: food diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml index e2e9ebb8168..077ea3efaee 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml @@ -5,29 +5,29 @@ # Base - type: entity # Forge-Change-Comp - parent: FoodMealBase - id: FoodMealHotdog - name: hotdog - description: Hot diggity dog! - components: - - type: Tag - tags: - - Cooked - - type: FlavorProfile - flavors: - - meaty - - bread - - type: Sprite - sprite: Objects/Consumable/Food/meals.rsi - state: hotdog - - type: SolutionContainerManager - solutions: - food: - maxVol: 18 - reagents: - - ReagentId: Nutriment - Quantity: 8 - - ReagentId: Flavorol + parent: FoodMealBase + id: FoodMealHotdog + name: hotdog + description: Hot diggity dog! + components: + - type: Tag + tags: + - Cooked + - type: FlavorProfile + flavors: + - meaty + - bread + - type: Sprite + sprite: Objects/Consumable/Food/meals.rsi + state: hotdog + - type: SolutionContainerManager + solutions: + food: + maxVol: 18 + reagents: + - ReagentId: Nutriment + Quantity: 8 + - ReagentId: Flavorol Quantity: 5 - type: entity @@ -719,9 +719,13 @@ - type: SolutionContainerManager solutions: food: - maxVol: 10 + maxVol: 12 # Forge-change reagents: - ReagentId: Nutriment Quantity: 4 - ReagentId: Vitamin Quantity: 4 + # Forge-change-Start + - ReagentId: Lactozit + Quantity: 2 + # Forge-Change-End diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml index 5ecdb2f4fea..4f69db6f2cd 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml @@ -177,4 +177,6 @@ Quantity: 8 - ReagentId: Vitamin Quantity: 1 + - ReagentId: Lactozit # Forge-change + Quantity: 2 # Forge-change # Tastes like pasta, butter. diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml index 8547cfcdd2a..9d4728798f2 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml @@ -1335,6 +1335,10 @@ Quantity: 6 - ReagentId: Allicin Quantity: 3 + # Forge-change-Start + - ReagentId: Lactozit + Quantity: 2 + # Forge-Change-End - type: Tag tags: - Meat @@ -1399,5 +1403,5 @@ Quantity: 10 - ReagentId: Lactozit # Forge-change Quantity: 1 # Forge-change - + diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Consumable/Food/moth.yml b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Consumable/Food/moth.yml index c50076d2364..0afd7ea693e 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Consumable/Food/moth.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Consumable/Food/moth.yml @@ -1263,6 +1263,8 @@ Quantity: 5 - ReagentId: Vitamin Quantity: 1 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change - type: MothFood # Frontier - type: Food requiresSpecialDigestion: true diff --git a/Resources/Prototypes/Nyanotrasen/Reagents/Consumable/Drink/alcohol.yml b/Resources/Prototypes/Nyanotrasen/Reagents/Consumable/Drink/alcohol.yml index 49d9361eb51..0d69717b05b 100644 --- a/Resources/Prototypes/Nyanotrasen/Reagents/Consumable/Drink/alcohol.yml +++ b/Resources/Prototypes/Nyanotrasen/Reagents/Consumable/Drink/alcohol.yml @@ -37,6 +37,11 @@ - !type:AdjustReagent reagent: Ethanol amount: 0.05 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: Silverjack @@ -175,3 +180,8 @@ - !type:AdjustReagent reagent: Ethanol amount: 0.03 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End diff --git a/Resources/Prototypes/Nyanotrasen/Reagents/Consumable/Drink/drinks.yml b/Resources/Prototypes/Nyanotrasen/Reagents/Consumable/Drink/drinks.yml index 0c1aa416c4a..a9437fd8f7c 100644 --- a/Resources/Prototypes/Nyanotrasen/Reagents/Consumable/Drink/drinks.yml +++ b/Resources/Prototypes/Nyanotrasen/Reagents/Consumable/Drink/drinks.yml @@ -34,6 +34,11 @@ effects: - !type:SatiateThirst factor: 3 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: BubbleTea @@ -57,3 +62,8 @@ - !type:AdjustReagent reagent: Nutriment amount: 0.1 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml b/Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml index add7c3be286..2e15ad0c55c 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml @@ -571,7 +571,7 @@ desc: reagent-desc-antifreeze physicalDesc: reagent-physical-desc-translucent flavor: antifreeze - color: "#ff7d63" + color: "#42e1a1" # Forge-Change metamorphicSprite: sprite: Objects/Consumable/Drinks/antifreeze.rsi state: icon_empty @@ -586,6 +586,11 @@ - !type:AdjustReagent reagent: Ethanol amount: 0.15 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: AtomicBomb @@ -635,6 +640,11 @@ - !type:AdjustReagent reagent: Ethanol amount: 0.15 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: BahamaMama @@ -665,6 +675,19 @@ metamorphicMaxFillLevels: 5 metamorphicFillBaseName: fill- metamorphicChangeColor: false + # Forge-change-Start + metabolisms: + Drink: + effects: + - !type:SatiateThirst + factor: 2 + - !type:AdjustReagent + reagent: Ethanol + amount: 0.06 + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: Barefoot @@ -680,6 +703,19 @@ metamorphicMaxFillLevels: 3 metamorphicFillBaseName: fill- metamorphicChangeColor: true + # Forge-change-Start + metabolisms: + Drink: + effects: + - !type:SatiateThirst + factor: 2 + - !type:AdjustReagent + reagent: Ethanol + amount: 0.06 + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: BeepskySmash @@ -757,6 +793,19 @@ metamorphicMaxFillLevels: 5 metamorphicFillBaseName: fill- metamorphicChangeColor: true + # Forge-change-Start + metabolisms: + Drink: + effects: + - !type:SatiateThirst + factor: 2 + - !type:AdjustReagent + reagent: Ethanol + amount: 0.06 + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: BraveBull @@ -906,6 +955,11 @@ Brute: -1 Airloss: -1 Toxin: -1 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: DriestMartini @@ -1117,6 +1171,11 @@ - !type:AdjustReagent reagent: Ethanol amount: 0.15 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: IrishCream @@ -1140,7 +1199,11 @@ - !type:AdjustReagent reagent: Ethanol amount: 0.2 - + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: IrishCoffee name: reagent-name-irish-coffee @@ -1163,6 +1226,11 @@ - !type:AdjustReagent reagent: Ethanol amount: 0.15 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: LongIslandIcedTea @@ -1378,6 +1446,11 @@ - !type:AdjustReagent reagent: Ethanol amount: 0.2 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: Patron @@ -1516,6 +1589,11 @@ component: Muted - !type:SatiateThirst factor: 2 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: Singulo @@ -1771,6 +1849,11 @@ - !type:AdjustReagent reagent: Ethanol amount: 0.15 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End fizziness: 0.5 - type: reagent @@ -1795,6 +1878,11 @@ - !type:AdjustReagent reagent: Ethanol amount: 0.15 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: VodkaRedBool @@ -1887,6 +1975,11 @@ key: Drowsiness time: 1.0 type: Remove + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End fizziness: 0.15 - type: reagent diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml index ca41b93114a..7550b38fb9d 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml @@ -57,7 +57,11 @@ effects: - !type:SatiateThirst factor: 1 - + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: CoconutWater name: reagent-name-coconut-water @@ -85,6 +89,11 @@ effects: - !type:SatiateThirst factor: 2 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: CafeLatte @@ -109,6 +118,11 @@ key: Drowsiness time: 2.0 type: Remove + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: GreenTea @@ -270,6 +284,11 @@ effects: - !type:SatiateThirst factor: 4 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: MilkGoat @@ -314,6 +333,11 @@ effects: - !type:SatiateThirst factor: -2 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: Nothing @@ -546,6 +570,11 @@ effects: - !type:SatiateThirst factor: 1 + # Forge-change-Start + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End fizziness: 0.3 - type: reagent diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/soda.yml b/Resources/Prototypes/Reagents/Consumable/Drink/soda.yml index 35fad2f8c18..96dfea4e400 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/soda.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/soda.yml @@ -111,6 +111,20 @@ metamorphicFillBaseName: fill- metamorphicChangeColor: true fizziness: 0 + # Forge-change-Start + metabolisms: + Drink: + effects: + - !type:SatiateThirst + factor: 2 + - !type:GenericStatusEffect + key: Drowsiness + time: 1.0 + type: Remove + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End - type: reagent id: LemonLime diff --git a/Resources/Prototypes/Traits/quirks.yml b/Resources/Prototypes/Traits/quirks.yml index d01bf6218ab..670b3df217b 100644 --- a/Resources/Prototypes/Traits/quirks.yml +++ b/Resources/Prototypes/Traits/quirks.yml @@ -22,3 +22,14 @@ category: Quirks components: - type: Snoring + +# Forge-Change-Start +- type: trait + id: LactozitIntolerance + name: trait-lactozit-intolerance-name + description: trait-lactozit-intolerance-desc + category: Disabilities + components: + - type: LactozitIntolerance + timeBetweenIncidents: 30, 40 +# Forge-Change-End diff --git a/Resources/Prototypes/_Forge/Reagents/Consumable/Food/food.yml b/Resources/Prototypes/_Forge/Reagents/Consumable/Food/food.yml index d9582a28de5..bb5838845f5 100644 --- a/Resources/Prototypes/_Forge/Reagents/Consumable/Food/food.yml +++ b/Resources/Prototypes/_Forge/Reagents/Consumable/Food/food.yml @@ -10,6 +10,7 @@ Food: metabolismRate: 0.25 effects: + - !type:LactozitIntolerance - !type:SatiateThirst factor: -0.1 - !type:EvenHealthChange @@ -19,4 +20,4 @@ conditions: - !type:OrganType type: Rodentia - shouldHave: true \ No newline at end of file + shouldHave: true diff --git a/Resources/Prototypes/_Mono/Entities/Objects/Consumable/Food/Baked/misc.yml b/Resources/Prototypes/_Mono/Entities/Objects/Consumable/Food/Baked/misc.yml index c289ccc5986..37cd50d3c45 100644 --- a/Resources/Prototypes/_Mono/Entities/Objects/Consumable/Food/Baked/misc.yml +++ b/Resources/Prototypes/_Mono/Entities/Objects/Consumable/Food/Baked/misc.yml @@ -8,12 +8,23 @@ sprite: _Mono/Objects/Consumable/Food/Baked/misc.rsi state: biscuit-simple - type: Tag - tags: + tags: - SimpleBiscuit + # Forge-Change-Start + - type: SolutionContainerManager + solutions: + food: + maxVol: 6 + reagents: + - ReagentId: Nutriment + Quantity: 5 + - ReagentId: Lactozit + Quantity: 0.25 + # Forge-Change-End - type: entity name: sugar biscuit - parent: FoodBakedBase + parent: FoodBakedBiscuitSimple # Forge-Change id: FoodBakedBiscuitSugar description: A biscuit with a sugar coating, perfect pair for some tea or coffee. components: @@ -21,12 +32,12 @@ sprite: _Mono/Objects/Consumable/Food/Baked/misc.rsi state: biscuit-sugar - type: Tag - tags: + tags: - SugarBiscuit - type: entity name: oatmeal biscuit - parent: FoodBakedBase + parent: FoodBakedBiscuitSimple # Forge-Change id: FoodBakedBiscuitOatmeal description: A biscuit made with oatmeal, perfect pair for some tea or coffee. components: @@ -34,5 +45,5 @@ sprite: _Mono/Objects/Consumable/Food/Baked/misc.rsi state: biscuit-oatmeal - type: Tag - tags: + tags: - OatmealBiscuit diff --git a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/ingredients.yml b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/ingredients.yml index 5e55dded311..ba2b260c2c8 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/ingredients.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/ingredients.yml @@ -256,6 +256,8 @@ Quantity: 2 - ReagentId: Sugar Quantity: 1 + - ReagentId: Lactozit # Forge-change + Quantity: 0.25 # Forge-change - type: entity parent: FoodInjectableBase diff --git a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/meals.yml b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/meals.yml index 80c96f17ce0..2046ee1f036 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/meals.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/meals.yml @@ -132,6 +132,10 @@ Quantity: 10 - ReagentId: Ichor Quantity: 12 + # Forge-change-Start + - ReagentId: Lactozit + Quantity: 2 + # Forge-Change-End - type: Tag tags: - Meat diff --git a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/spoiled.yml b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/spoiled.yml index 1676b709a0e..50f4b71e5ae 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/spoiled.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/spoiled.yml @@ -83,7 +83,9 @@ - ReagentId: Vitamin Quantity: 1 - ReagentId: GastroToxin - Quantity: 10 + Quantity: 9 # Forge-change + - ReagentId: Lactozit # Forge-change + Quantity: 1 # Forge-change - type: entity name: rotten burger diff --git a/Resources/Prototypes/_NF/Reagents/Consumables/Drink/drinks.yml b/Resources/Prototypes/_NF/Reagents/Consumables/Drink/drinks.yml index 5e228dc2617..6e2a311ce88 100644 --- a/Resources/Prototypes/_NF/Reagents/Consumables/Drink/drinks.yml +++ b/Resources/Prototypes/_NF/Reagents/Consumables/Drink/drinks.yml @@ -274,3 +274,16 @@ metamorphicMaxFillLevels: 8 metamorphicFillBaseName: fill metamorphicChangeColor: false + # Forge-change-Start + metabolisms: + Drink: + effects: + - !type:SatiateThirst + factor: 2 + - !type:AdjustReagent + reagent: Ethanol + amount: 0.06 + - !type:AdjustReagent + reagent: Lactozit + amount: 0.01 + # Forge-change-End diff --git a/Resources/Prototypes/_NF/Recipes/Cooking/meal_recipes.yml b/Resources/Prototypes/_NF/Recipes/Cooking/meal_recipes.yml index 800e096ef53..e3a70e284b9 100644 --- a/Resources/Prototypes/_NF/Recipes/Cooking/meal_recipes.yml +++ b/Resources/Prototypes/_NF/Recipes/Cooking/meal_recipes.yml @@ -1463,6 +1463,19 @@ PolypyryliumOligomers: 2 recipeType: - Assembler +# Forge-Changes-Start +- type: microwaveMealRecipe + id: RecipeFoodCakeSpaceman + name: spaceman's jelly-donut recipe + result: FoodCakeSpaceman + time: 5 + group: Dessert + solids: + FoodCakePlain: 1 + FoodSpacemansTrumpet: 4 + recipeType: + - Assembler +# Forge-Changes-End # NOT ACTUAL FOOD - type: microwaveMealRecipe