mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-17 05:27:38 +03:00
Mood Rework Part 1 (#2425)
This PR significantly reworks some parts of the mood system, namely by completely restoring and reworking the saturation scale shader so that its not completely terrible. Additionally, I've added numerous new instances and locations where Moodlets can be found in the game, particularly when it comes to food and drugs, as well as a new Mood interaction with the Deep Fryer. Chef gameplay is significantly expanded via the introduction of flavor related moodlets, as well as the almighty deep fryer giving a unique, moderately strong, and long lasting moodlet to anyone who eats whatever you deep fry. Go ahead, give someone a deep fried stick of salted butter coated in chocolate. You'll make their day. The big differences with the Saturation Scale are that its now variable, with smooth transitions, with the scale scaling with your character's mood. The more depressed you are, the more desaturated the world becomes. Whereas if you have entirely too many positive mood bonuses, the world becomes incredibly vibrant. <details><summary><h1>Media</h1></summary> <p> Shoukou's Bar as seen by someone with the Sanguine trait(and no other moodlets)  Max mood  Saturnine trait:  Minimum mood(dead)  Smooth transitions for shader tone. https://github.com/user-attachments/assets/3ab55da1-eca6-4cc5-9489-f4ad13ed0f27 </p> </details> 🆑 - add: Re-enabled the "Mood shader" after significantly reworking it. Mood visual effects now scale with your character's mood, instead of only ever being near-greyscale. Being high life now makes the world more colorful and saturated. - add: A huge variety of medicines, drugs, and even food items(based on flavor!) now have mood effects. Reaching for the packet of salt now actually makes food provide a better mood buff. - add: Being Tear-gassed causes a massive mood penalty. - add: Deep frying food provides a strong mood bonus. - add: Added new Manic, Mercurial, and Dead Emotions traits. Signed-off-by: VMSolidus <evilexecutive@gmail.com>
This commit is contained in:
@@ -3,7 +3,7 @@ using Robust.Client.Graphics;
|
||||
using Robust.Client.Player;
|
||||
using Robust.Shared.Enums;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Content.Shared.Mood;
|
||||
using Robust.Shared.Timing;
|
||||
using Content.Shared.Overlays;
|
||||
|
||||
namespace Content.Client.Overlays;
|
||||
@@ -17,8 +17,7 @@ public sealed class SaturationScaleOverlay : Overlay
|
||||
public override bool RequestScreenTexture => true;
|
||||
public override OverlaySpace Space => OverlaySpace.WorldSpace;
|
||||
private readonly ShaderInstance _shader;
|
||||
private const float Saturation = 0.5f;
|
||||
|
||||
private float _currentSaturation = 1f;
|
||||
|
||||
public SaturationScaleOverlay()
|
||||
{
|
||||
@@ -36,14 +35,14 @@ public sealed class SaturationScaleOverlay : Overlay
|
||||
return base.BeforeDraw(in args);
|
||||
}
|
||||
|
||||
|
||||
protected override void Draw(in OverlayDrawArgs args)
|
||||
{
|
||||
if (ScreenTexture is null)
|
||||
if (ScreenTexture is null || _playerManager.LocalEntity is not { Valid: true } player
|
||||
|| !_entityManager.HasComponent<SaturationScaleOverlayComponent>(player))
|
||||
return;
|
||||
|
||||
_shader.SetParameter("SCREEN_TEXTURE", ScreenTexture);
|
||||
_shader.SetParameter("saturation", Saturation);
|
||||
_shader.SetParameter("saturation", _currentSaturation);
|
||||
|
||||
var handle = args.WorldHandle;
|
||||
handle.SetTransform(Matrix3x2.Identity);
|
||||
@@ -51,4 +50,19 @@ public sealed class SaturationScaleOverlay : Overlay
|
||||
handle.DrawRect(args.WorldBounds, Color.White);
|
||||
handle.UseShader(null);
|
||||
}
|
||||
|
||||
protected override void FrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
if (ScreenTexture is null || _playerManager.LocalEntity is not { Valid: true } player
|
||||
|| !_entityManager.TryGetComponent(player, out SaturationScaleOverlayComponent? saturationComp)
|
||||
|| _currentSaturation == saturationComp.SaturationScale)
|
||||
return;
|
||||
|
||||
var deltaTSlower = args.DeltaSeconds * saturationComp.FadeInMultiplier;
|
||||
var saturationFadeIn = saturationComp.SaturationScale > _currentSaturation
|
||||
? deltaTSlower : -deltaTSlower;
|
||||
|
||||
_currentSaturation += saturationFadeIn;
|
||||
_shader.SetParameter("saturation", _currentSaturation);
|
||||
}
|
||||
}
|
||||
|
||||
45
Content.Server/EntityEffects/Effects/ChemPurgeMoodlets.cs
Normal file
45
Content.Server/EntityEffects/Effects/ChemPurgeMoodlets.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using Content.Server.Mood;
|
||||
using Content.Shared.EntityEffects;
|
||||
using Content.Shared.Mood;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server.EntityEffects.Effects;
|
||||
|
||||
/// <summary>
|
||||
/// Removes all non-categorized moodlets from an entity(anything not "Static" like hunger & thirst).
|
||||
/// </summary>
|
||||
[UsedImplicitly]
|
||||
public sealed partial class ChemPurgeMoodlets : EntityEffect
|
||||
{
|
||||
protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) =>
|
||||
Loc.GetString("reagent-effect-guidebook-purge-moodlets");
|
||||
|
||||
[DataField]
|
||||
public bool RemovePermanentMoodlets;
|
||||
|
||||
public override void Effect(EntityEffectBaseArgs args)
|
||||
{
|
||||
if (args is not EntityEffectReagentArgs _)
|
||||
return;
|
||||
|
||||
var entityManager = IoCManager.Resolve<EntityManager>();
|
||||
var protoMan = IoCManager.Resolve<IPrototypeManager>();
|
||||
|
||||
if (!entityManager.TryGetComponent(args.TargetEntity, out MoodComponent? moodComponent))
|
||||
return;
|
||||
|
||||
var moodletList = new List<string>();
|
||||
foreach (var moodlet in moodComponent.UncategorisedEffects)
|
||||
{
|
||||
if (!protoMan.TryIndex(moodlet.Key, out MoodEffectPrototype? moodProto)
|
||||
|| moodProto.Timeout == 0 && !RemovePermanentMoodlets)
|
||||
continue;
|
||||
|
||||
moodletList.Add(moodlet.Key);
|
||||
}
|
||||
|
||||
foreach (var moodId in moodletList)
|
||||
entityManager.EventBus.RaiseLocalEvent(args.TargetEntity, new MoodRemoveEffectEvent(moodId));
|
||||
}
|
||||
}
|
||||
36
Content.Server/EntityEffects/Effects/ChemRemoveMoodlet.cs
Normal file
36
Content.Server/EntityEffects/Effects/ChemRemoveMoodlet.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using Content.Shared.EntityEffects;
|
||||
using Content.Shared.Mood;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server.EntityEffects.Effects;
|
||||
|
||||
/// <summary>
|
||||
/// Removes a moodlet from an entity if present.
|
||||
/// </summary>
|
||||
[UsedImplicitly]
|
||||
public sealed partial class ChemRemoveMoodlet : EntityEffect
|
||||
{
|
||||
protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
|
||||
{
|
||||
var protoMan = IoCManager.Resolve<IPrototypeManager>();
|
||||
return Loc.GetString("reagent-effect-guidebook-remove-moodlet",
|
||||
("name", protoMan.Index<MoodEffectPrototype>(MoodPrototype.Id)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The mood prototype to be removed from the entity.
|
||||
/// </summary>
|
||||
[DataField(required: true)]
|
||||
public ProtoId<MoodEffectPrototype> MoodPrototype = default!;
|
||||
|
||||
public override void Effect(EntityEffectBaseArgs args)
|
||||
{
|
||||
if (args is not EntityEffectReagentArgs _)
|
||||
return;
|
||||
|
||||
var entityManager = IoCManager.Resolve<EntityManager>();
|
||||
var ev = new MoodRemoveEffectEvent(MoodPrototype);
|
||||
entityManager.EventBus.RaiseLocalEvent(args.TargetEntity, ev);
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,6 @@ using Content.Shared.Movement.Systems;
|
||||
using Content.Shared.Mood;
|
||||
using Content.Shared.Overlays;
|
||||
using Content.Shared.Popups;
|
||||
using Content.Shared.Traits.Assorted.Components;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Timer = Robust.Shared.Timing.Timer;
|
||||
@@ -33,7 +32,6 @@ public sealed class MoodSystem : EntitySystem
|
||||
[Dependency] private readonly PopupSystem _popup = default!;
|
||||
[Dependency] private readonly IConfigurationManager _config = default!;
|
||||
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
@@ -47,8 +45,11 @@ public sealed class MoodSystem : EntitySystem
|
||||
SubscribeLocalEvent<MoodComponent, MoodRemoveEffectEvent>(OnRemoveEffect);
|
||||
}
|
||||
|
||||
private void OnShutdown(EntityUid uid, MoodComponent component, ComponentShutdown args) =>
|
||||
private void OnShutdown(EntityUid uid, MoodComponent component, ComponentShutdown args)
|
||||
{
|
||||
_alerts.ClearAlertCategory(uid, component.MoodCategory);
|
||||
RemComp<SaturationScaleOverlayComponent>(uid);
|
||||
}
|
||||
|
||||
private void OnRemoveEffect(EntityUid uid, MoodComponent component, MoodRemoveEffectEvent args)
|
||||
{
|
||||
@@ -92,7 +93,6 @@ public sealed class MoodSystem : EntitySystem
|
||||
private void OnMoodEffect(EntityUid uid, MoodComponent component, MoodEffectEvent args)
|
||||
{
|
||||
if (!_config.GetCVar(CCVars.MoodEnabled)
|
||||
|| !_config.GetCVar(CCVars.MoodEnabled)
|
||||
|| !_prototypeManager.TryIndex<MoodEffectPrototype>(args.EffectId, out var prototype) )
|
||||
return;
|
||||
|
||||
@@ -268,7 +268,7 @@ public sealed class MoodSystem : EntitySystem
|
||||
uid = ev.Receiver;
|
||||
amount = ev.MoodChangedAmount;
|
||||
|
||||
var newMoodLevel = amount + neutral;
|
||||
var newMoodLevel = amount + neutral + ev.MoodOffset;
|
||||
if (!force)
|
||||
newMoodLevel = Math.Clamp(
|
||||
amount + neutral,
|
||||
@@ -283,6 +283,7 @@ public sealed class MoodSystem : EntitySystem
|
||||
mood.NeutralMoodThreshold = component.MoodThresholds.GetValueOrDefault(MoodThreshold.Neutral);
|
||||
}
|
||||
|
||||
RefreshShaders(uid, component.CurrentMoodLevel);
|
||||
UpdateCurrentThreshold(uid, component);
|
||||
}
|
||||
|
||||
@@ -313,7 +314,6 @@ public sealed class MoodSystem : EntitySystem
|
||||
{
|
||||
_movementSpeedModifier.RefreshMovementSpeedModifiers(uid);
|
||||
SetCritThreshold(uid, component, modifier);
|
||||
RefreshShaders(uid, modifier);
|
||||
}
|
||||
|
||||
// Modify interface
|
||||
@@ -325,12 +325,11 @@ public sealed class MoodSystem : EntitySystem
|
||||
component.LastThreshold = component.CurrentMoodThreshold;
|
||||
}
|
||||
|
||||
private void RefreshShaders(EntityUid uid, int modifier)
|
||||
private void RefreshShaders(EntityUid uid, float mood)
|
||||
{
|
||||
if (modifier == -1)
|
||||
EnsureComp<SaturationScaleOverlayComponent>(uid);
|
||||
else
|
||||
RemComp<SaturationScaleOverlayComponent>(uid);
|
||||
EnsureComp<SaturationScaleOverlayComponent>(uid, out var comp);
|
||||
comp.SaturationScale = mood / 50;
|
||||
Dirty(uid, comp);
|
||||
}
|
||||
|
||||
private void SetCritThreshold(EntityUid uid, MoodComponent component, int modifier)
|
||||
@@ -417,7 +416,6 @@ public sealed partial class ShowMoodEffects : IAlertClick
|
||||
var playerManager = IoCManager.Resolve<IPlayerManager>();
|
||||
|
||||
if (!entityManager.TryGetComponent<MoodComponent>(uid, out var comp)
|
||||
|| comp.CurrentMoodThreshold == MoodThreshold.Dead
|
||||
|| !playerManager.TryGetSessionByEntity(uid, out var session))
|
||||
return;
|
||||
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
using Content.Server.Body.Components;
|
||||
using Content.Shared.Nutrition.Components;
|
||||
using Content.Server.Nutrition.EntitySystems;
|
||||
using Content.Shared.FixedPoint;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server.Nutrition.Components;
|
||||
|
||||
[RegisterComponent, Access(typeof(FoodSystem), typeof(FoodSequenceSystem))]
|
||||
[RegisterComponent]
|
||||
public sealed partial class FoodComponent : Component
|
||||
{
|
||||
[DataField]
|
||||
@@ -80,4 +79,7 @@ public sealed partial class FoodComponent : Component
|
||||
/// </summary>
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
public bool RequireDead = true;
|
||||
|
||||
[DataField]
|
||||
public HashSet<string> MoodletsOnEat = new();
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ using Content.Shared.Administration.Logs;
|
||||
using Content.Shared.Body.Components;
|
||||
using Content.Shared.Body.Organ;
|
||||
using Content.Shared.Chemistry;
|
||||
using Content.Shared.Chemistry.Reagent;
|
||||
using Content.Shared.Database;
|
||||
using Content.Shared.DoAfter;
|
||||
using Content.Shared.FixedPoint;
|
||||
@@ -37,6 +36,7 @@ using Content.Shared.CCVar;
|
||||
using Content.Shared.Chemistry.EntitySystems;
|
||||
using Content.Shared.Whitelist;
|
||||
using Robust.Shared.Configuration;
|
||||
using Content.Shared.Mood;
|
||||
|
||||
namespace Content.Server.Nutrition.EntitySystems;
|
||||
|
||||
@@ -323,6 +323,9 @@ public sealed class FoodSystem : EntitySystem
|
||||
_popup.PopupPredicted(Loc.GetString("food-system-eat-broadcasted-success", ("user", Identity.Entity(args.User, EntityManager)), ("food", Identity.Entity(entity.Owner, EntityManager))),
|
||||
args.User, args.User, PopupType.MediumCaution);
|
||||
|
||||
foreach (var mood in entity.Comp.MoodletsOnEat)
|
||||
RaiseLocalEvent(args.User, new MoodEffectEvent(mood));
|
||||
|
||||
// log successful voluntary eating
|
||||
_adminLogger.Add(LogType.Ingestion, LogImpact.Low, $"{ToPrettyString(args.User):target} ate {ToPrettyString(entity.Owner):food}");
|
||||
}
|
||||
|
||||
@@ -236,5 +236,8 @@ namespace Content.Server.Nyanotrasen.Kitchen.Components
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
[DataField("soundRemoveItem")]
|
||||
public SoundSpecifier SoundRemoveItem = new SoundPathSpecifier("/Audio/Nyanotrasen/Machines/deepfryer_basket_remove_item.ogg");
|
||||
|
||||
[DataField]
|
||||
public string DeepFriedMoodletPrototype = "DeepFriedEffect";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -347,6 +347,9 @@ public sealed partial class DeepFryerSystem : SharedDeepfryerSystem
|
||||
|
||||
MakeCrispy(item);
|
||||
|
||||
if (TryComp(item, out FoodComponent? foodComp))
|
||||
foodComp.MoodletsOnEat.Add(component.DeepFriedMoodletPrototype);
|
||||
|
||||
var oilToUse = 0;
|
||||
|
||||
if (HasComp<ItemComponent>(item)) {
|
||||
|
||||
@@ -25,5 +25,5 @@ public sealed partial class CCVars
|
||||
CVarDef.Create("mood.modify_thresholds", false, CVar.SERVER);
|
||||
|
||||
public static readonly CVarDef<bool> MoodVisualEffects =
|
||||
CVarDef.Create("mood.visual_effects", false, CVar.CLIENTONLY | CVar.ARCHIVE);
|
||||
CVarDef.Create("mood.visual_effects", true, CVar.CLIENTONLY | CVar.ARCHIVE);
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ public sealed class MoodRemoveEffectEvent : EntityEventArgs
|
||||
/// EG: The end result after tallying up all Moodlets comes out to 70, but a trait multiplies it by 0.8 to make it 56.
|
||||
/// </summary>
|
||||
[ByRefEvent]
|
||||
public record struct OnSetMoodEvent(EntityUid Receiver, float MoodChangedAmount, bool Cancelled);
|
||||
public record struct OnSetMoodEvent(EntityUid Receiver, float MoodChangedAmount, bool Cancelled, float MoodOffset = 0f);
|
||||
|
||||
/// <summary>
|
||||
/// This event is raised on an entity when it receives a mood effect, but before the effects are calculated.
|
||||
|
||||
@@ -2,5 +2,15 @@
|
||||
|
||||
namespace Content.Shared.Overlays;
|
||||
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
public sealed partial class SaturationScaleOverlayComponent : Component { }
|
||||
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
|
||||
public sealed partial class SaturationScaleOverlayComponent : Component
|
||||
{
|
||||
[DataField, AutoNetworkedField]
|
||||
public float SaturationScale = 1f;
|
||||
|
||||
/// <summary>
|
||||
/// Modifies how quickly the saturation "fades in", normally at a rate of 1% per second times this multiplier.
|
||||
/// </summary>
|
||||
[DataField, AutoNetworkedField]
|
||||
public float FadeInMultiplier = 0.1f;
|
||||
}
|
||||
|
||||
22
Content.Shared/Traits/Assorted/Components/ManicComponent.cs
Normal file
22
Content.Shared/Traits/Assorted/Components/ManicComponent.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared.Traits.Assorted.Components;
|
||||
|
||||
/// <summary>
|
||||
/// A component that intensifies moodlets by a random amount.
|
||||
/// </summary>
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
public sealed partial class ManicComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// The lower bound for multiplying moodlet effects. This also deadens negative moods.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public float LowerMultiplier = 0.7f;
|
||||
|
||||
/// <summary>
|
||||
/// The amount to multiply moodlets by. This will also intensify negative moods too.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public float UpperMultiplier = 1.3f;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared.Traits.Assorted.Components;
|
||||
|
||||
/// <summary>
|
||||
/// A component that randomly varies user's mood. Triggers each time mood is changed.
|
||||
/// </summary>
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
public sealed partial class MercurialComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// The lower bounds for random mood offsets.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public float LowerMood = -10f;
|
||||
|
||||
/// <summary>
|
||||
/// The upper bounds for random mood offsets.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public float UpperMood = 10f;
|
||||
}
|
||||
@@ -5,6 +5,8 @@ using Content.Shared.Traits.Assorted.Components;
|
||||
using Content.Shared.Damage.Events;
|
||||
using Content.Shared.Weapons.Melee.Events;
|
||||
using Content.Shared.Damage.Components;
|
||||
using Content.Shared.Mood;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Shared.Traits.Assorted.Systems;
|
||||
|
||||
@@ -12,6 +14,7 @@ public sealed partial class TraitStatModifierSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly ContestsSystem _contests = default!;
|
||||
[Dependency] private readonly MobThresholdSystem _threshold = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
@@ -22,6 +25,8 @@ public sealed partial class TraitStatModifierSystem : EntitySystem
|
||||
SubscribeLocalEvent<AdrenalineComponent, GetThrowingDamageEvent>(OnAdrenalineGetThrowingDamage);
|
||||
SubscribeLocalEvent<PainToleranceComponent, GetMeleeDamageEvent>(OnPainToleranceGetMeleeDamage);
|
||||
SubscribeLocalEvent<PainToleranceComponent, GetThrowingDamageEvent>(OnPainToleranceGetThrowingDamage);
|
||||
SubscribeLocalEvent<ManicComponent, OnSetMoodEvent>(OnManicMood);
|
||||
SubscribeLocalEvent<MercurialComponent, OnSetMoodEvent>(OnMercurialMood);
|
||||
}
|
||||
|
||||
private void OnCritStartup(EntityUid uid, CritModifierComponent component, ComponentStartup args)
|
||||
@@ -83,4 +88,10 @@ public sealed partial class TraitStatModifierSystem : EntitySystem
|
||||
var modifier = _contests.StaminaContest(uid, component.BypassClamp, component.RangeModifier);
|
||||
return component.Inverse ? 1 / modifier : modifier;
|
||||
}
|
||||
|
||||
private void OnManicMood(EntityUid uid, ManicComponent component, ref OnSetMoodEvent args) =>
|
||||
args.MoodChangedAmount *= _random.NextFloat(component.LowerMultiplier, component.UpperMultiplier);
|
||||
|
||||
private void OnMercurialMood(EntityUid uid, MercurialComponent component, ref OnSetMoodEvent args) =>
|
||||
args.MoodOffset += _random.NextFloat(component.LowerMood, component.UpperMood);
|
||||
}
|
||||
|
||||
@@ -379,6 +379,12 @@ reagent-effect-guidebook-add-moodlet =
|
||||
*[other] for {$timeout} seconds
|
||||
}
|
||||
|
||||
reagent-effect-guidebook-remove-moodlet =
|
||||
Removes the {$name} moodlet.
|
||||
|
||||
reagent-effect-guidebook-purge-moodlets =
|
||||
Removes all active non-permanent moodlets.
|
||||
|
||||
reagent-effect-guidebook-purify-evil = Purifies evil powers
|
||||
reagent-effect-guidebook-plant-diethylamine =
|
||||
{ $chance ->
|
||||
|
||||
@@ -90,3 +90,69 @@ mood-effect-PlasmamanIngestPlasma =
|
||||
|
||||
mood-effect-PlasmamanIngestMilk =
|
||||
I can feel the milk's calcium repairing my bones. This is dairy-lightful!
|
||||
|
||||
# Floor Juice
|
||||
mood-effect-DrankBlood =
|
||||
I've just drank salty, lukewarm blood. That's disgusting!
|
||||
mood-effect-DrankBloodVampiric =
|
||||
Oh what sweet nectar is this, like a fine vintage.
|
||||
mood-effect-DrankInsectBlood =
|
||||
I've just drank slimy insect goop. That's disgusting!
|
||||
mood-effect-DrankVomit =
|
||||
Why did I just drink that vomit? It tastes like vomit!
|
||||
mood-effect-DrankZombieBlood =
|
||||
THAT TASTED VILE, LIKE DEATH IN LIQUID FORM!
|
||||
|
||||
# Medicines
|
||||
mood-effect-EpinephrineEffect =
|
||||
My blood feels like it has been set on fire!
|
||||
mood-effect-PsicodineEffect =
|
||||
I feel completely at peace.
|
||||
mood-effect-StrongStimulant =
|
||||
LET'S FUCKING GO!!!
|
||||
mood-effect-MildPaincauser =
|
||||
My body feels sore.
|
||||
mood-effect-StrongPaincauser =
|
||||
Agony gnaws at my soul.
|
||||
mood-effect-MildPainkiller =
|
||||
My aches and pains are just a little better.
|
||||
mood-effect-StrongPainkiller =
|
||||
I can barely feel anything, all of my pains are washed out and faded.
|
||||
|
||||
# Poisons
|
||||
mood-effect-LacerinolEffect =
|
||||
BILLIONS OF TINY KNIVES ARE INSIDE ME, GET THEM OUT!
|
||||
mood-effect-PuncturaseEffect =
|
||||
MY BODY IS FULL OF NEEDLES, GET THEM OUT!
|
||||
mood-effect-BruizineEffect =
|
||||
I FEEL LIKE I'M BEING CRUSHED BY A THOUSAND TON SPACE SHIP!
|
||||
mood-effect-TearGasEffect =
|
||||
MY EYES ARE BURNING, IT HURTS SO MUCH!
|
||||
mood-effect-BuzzochloricBeesEffect =
|
||||
OH NO NOT THE BEES! NOT THE BEES! NOT THE BEES AGHHHHHHHHHHHH! THEY'RE IN MY EYES!
|
||||
mood-effect-RomerolEffect =
|
||||
I THINK I AM GOING TO DIE. I AM BUT A CORPSE AWAITING ITS GRAVE.
|
||||
mood-effect-PaxEffect =
|
||||
Woah...
|
||||
|
||||
# Food
|
||||
mood-effect-SweetenerEffect =
|
||||
That tasted really sweet.
|
||||
mood-effect-SpicyEffect =
|
||||
That tasted spicy, hot in a good way.
|
||||
mood-effect-OilyEffect =
|
||||
I ate something cooked with sweet oil.
|
||||
mood-effect-SaltyEffect =
|
||||
I ate something salty, it tasted great!
|
||||
mood-effect-MintyEffect =
|
||||
I ate something minty, it was cool and refreshing.
|
||||
mood-effect-PepperEffect =
|
||||
I ate something peppery, it tasted great!
|
||||
mood-effect-ChocolateEffect =
|
||||
I ate something with chocolate, it was so good!
|
||||
mood-effect-ButterEffect =
|
||||
I ate a buttery treat, I could eat this all day.
|
||||
mood-effect-DeepFriedEffect =
|
||||
I ate something deep fried! It was the tastiest thing I've ever had in my life!
|
||||
mood-effect-TastyEffect =
|
||||
That was really tasty!
|
||||
|
||||
@@ -654,6 +654,15 @@ trait-description-IPCBrittleBoneDisease =
|
||||
This trait reduces your threshold for death by 60 points.
|
||||
(Just as the normal version, it halves the threshold. IPCs cannot be crit, so it instead makes you die 60 points sooner.)
|
||||
|
||||
trait-name-Manic = Manic
|
||||
trait-description-Manic = Your perception of the world is subject to varying intensities. Anything that affects your mood will have its effects multiplied by between 0.7 and 1.3.
|
||||
|
||||
trait-name-Mercurial = Mercurial
|
||||
trait-description-Mercurial = Your mood fluctuates regularly, causing you to have a random modifier to your mood that is always somewhere between -10 and +10.
|
||||
|
||||
trait-name-DeadEmotions = Dead Emotions
|
||||
trait-description-DeadEmotions = You feel nothing, and are completely unaffected by all positive or negative mood modifiers.
|
||||
|
||||
trait-name-IPCFaultyWaterproofing = Faulty Waterproofing
|
||||
trait-description-IPCFaultyWaterproofing =
|
||||
Either due to damage or cheap construction, your chassis is not waterproof.
|
||||
@@ -665,3 +674,4 @@ trait-description-IPCFragileCircuits =
|
||||
Your chassis is particularly bad at handling electric discharges.
|
||||
You immediately shut down any time you take [color=orange]Shock[/color] damage and must be rebooted.
|
||||
fragileCircuits-kill-popup = {$name}'s circuits shut down from short-circuiting!
|
||||
|
||||
|
||||
@@ -30,10 +30,159 @@
|
||||
# Non-Addictive Drugs
|
||||
- type: moodEffect
|
||||
id: EthanolBenefit
|
||||
moodChange: 7
|
||||
moodChange: 3
|
||||
timeout: 300 #5 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: SpaceDrugsBenefit
|
||||
moodChange: 7
|
||||
timeout: 300 #5 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: StrongStimulant
|
||||
moodChange: 10
|
||||
timeout: 300 #5 minutes
|
||||
|
||||
# Floor Juice
|
||||
- type: moodEffect
|
||||
id: DrankBlood
|
||||
moodChange: -10
|
||||
timeout: 60 #1 minute
|
||||
|
||||
- type: moodEffect
|
||||
id: DrankBloodVampiric
|
||||
moodChange: 10
|
||||
timeout: 300 #5 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: DrankInsectBlood
|
||||
moodChange: -10
|
||||
timeout: 60 #1 minute
|
||||
|
||||
- type: moodEffect
|
||||
id: DrankVomit
|
||||
moodChange: -10
|
||||
timeout: 60 #1 minute
|
||||
|
||||
- type: moodEffect
|
||||
id: DrankZombieBlood
|
||||
moodChange: -30
|
||||
timeout: 600 #10 minute
|
||||
|
||||
# Medicines
|
||||
- type: moodEffect
|
||||
id: EpinephrineEffect
|
||||
moodChange: -3
|
||||
timeout: 300 #5 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: PsicodineEffect
|
||||
moodChange: 8
|
||||
timeout: 300 #5 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: MildPaincauser
|
||||
moodChange: -1
|
||||
timeout: 300 #5 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: StrongPaincauser
|
||||
moodChange: -5
|
||||
timeout: 300 #5 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: MildPainkiller
|
||||
moodChange: 1
|
||||
timeout: 300 #5 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: StrongPainkiller
|
||||
moodChange: 5
|
||||
timeout: 300 #5 minutes
|
||||
|
||||
# Poisons
|
||||
- type: moodEffect
|
||||
id: LacerinolEffect
|
||||
moodChange: -20
|
||||
timeout: 60 #1 minute
|
||||
|
||||
- type: moodEffect
|
||||
id: PuncturaseEffect
|
||||
moodChange: -20
|
||||
timeout: 60 #1 minute
|
||||
|
||||
- type: moodEffect
|
||||
id: BruizineEffect
|
||||
moodChange: -20
|
||||
timeout: 60 #1 minute
|
||||
|
||||
- type: moodEffect
|
||||
id: TearGasEffect
|
||||
moodChange: -20
|
||||
timeout: 60 #1 minute
|
||||
|
||||
- type: moodEffect
|
||||
id: BuzzochloricBeesEffect
|
||||
moodChange: -20
|
||||
timeout: 60 #1 minute
|
||||
|
||||
- type: moodEffect
|
||||
id: RomerolEffect
|
||||
moodChange: -200
|
||||
timeout: 1800 #30 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: PaxEffect
|
||||
moodChange: 100
|
||||
timeout: 60 #1 minute
|
||||
|
||||
# Food
|
||||
- type: moodEffect
|
||||
id: SweetenerEffect
|
||||
moodChange: 0.5
|
||||
timeout: 1800 #30 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: SpicyEffect
|
||||
moodChange: 0.5
|
||||
timeout: 1800 #30 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: OilyEffect
|
||||
moodChange: 0.5
|
||||
timeout: 1800 #30 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: SaltyEffect
|
||||
moodChange: 0.5
|
||||
timeout: 1800 #30 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: MintyEffect
|
||||
moodChange: 0.5
|
||||
timeout: 1800 #30 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: PepperEffect
|
||||
moodChange: 0.5
|
||||
timeout: 1800 #30 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: ChocolateEffect
|
||||
moodChange: 3
|
||||
timeout: 1800 #30 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: ButterEffect
|
||||
moodChange: 4
|
||||
timeout: 1800 #30 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: DeepFriedEffect
|
||||
moodChange: 5
|
||||
timeout: 1800 #30 minutes
|
||||
|
||||
- type: moodEffect
|
||||
id: TastyEffect
|
||||
moodChange: 3
|
||||
timeout: 1800 #30 minutes
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
reagent: Ethanol
|
||||
min: 5
|
||||
min: 1
|
||||
|
||||
- type: reagent
|
||||
id: Gin
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
flavor: sweet
|
||||
color: aquamarine
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SweetenerEffect
|
||||
|
||||
- type: reagent
|
||||
id: BbqSauce
|
||||
@@ -17,6 +22,11 @@
|
||||
flavor: sweet
|
||||
color: darkred
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SweetenerEffect
|
||||
|
||||
- type: reagent
|
||||
id: Cornoil
|
||||
@@ -27,6 +37,11 @@
|
||||
flavor: oily
|
||||
color: yellow
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: OilyEffect
|
||||
|
||||
- type: reagent
|
||||
id: Frostoil
|
||||
@@ -36,6 +51,11 @@
|
||||
physicalDesc: reagent-physical-desc-cold
|
||||
flavor: cold
|
||||
color: skyblue
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: MintyEffect
|
||||
|
||||
- type: reagent
|
||||
id: HorseradishSauce
|
||||
@@ -46,6 +66,11 @@
|
||||
flavor: spicy
|
||||
color: gray
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SpicyEffect
|
||||
|
||||
- type: reagent
|
||||
id: Hotsauce
|
||||
@@ -56,6 +81,11 @@
|
||||
flavor: spicy
|
||||
color: red
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SpicyEffect
|
||||
|
||||
- type: reagent
|
||||
id: Ketchup
|
||||
@@ -66,6 +96,11 @@
|
||||
flavor: tomato
|
||||
color: red
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SweetenerEffect
|
||||
|
||||
- type: reagent
|
||||
id: Ketchunaise
|
||||
@@ -76,6 +111,11 @@
|
||||
flavor: ketchunaise
|
||||
color: "#fba399"
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SweetenerEffect
|
||||
|
||||
- type: reagent
|
||||
id: LaughinSyrup
|
||||
@@ -86,6 +126,11 @@
|
||||
flavor: sweet
|
||||
color: "#803280"
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SweetenerEffect
|
||||
|
||||
- type: reagent
|
||||
id: Mayo
|
||||
@@ -96,6 +141,11 @@
|
||||
flavor: mayonnaise
|
||||
color: "#f9f5e5"
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SweetenerEffect
|
||||
|
||||
- type: reagent
|
||||
id: Mustard
|
||||
@@ -106,6 +156,11 @@
|
||||
flavor: mustard
|
||||
color: "#ffdb58"
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SweetenerEffect
|
||||
|
||||
- type: reagent
|
||||
id: Vinaigrette
|
||||
@@ -116,6 +171,11 @@
|
||||
flavor: sour
|
||||
color: "#efdaae"
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SweetenerEffect
|
||||
|
||||
- type: reagent
|
||||
id: Soysauce
|
||||
@@ -133,6 +193,8 @@
|
||||
factor: 0.5
|
||||
- !type:SatiateThirst
|
||||
factor: -0.5 # high salt content
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SaltyEffect
|
||||
|
||||
- type: reagent
|
||||
id: TableSalt
|
||||
@@ -164,6 +226,8 @@
|
||||
# eating salt on its own kinda sucks, kids
|
||||
- !type:SatiateThirst
|
||||
factor: -0.5
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SaltyEffect
|
||||
|
||||
- type: reagent
|
||||
id: Syrup
|
||||
@@ -184,6 +248,8 @@
|
||||
effects:
|
||||
- !type:SatiateHunger
|
||||
factor: 6.0 #Stronger than cookedramen
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SweetenerEffect
|
||||
footstepSound:
|
||||
collection: FootstepBlood
|
||||
params:
|
||||
|
||||
@@ -86,6 +86,8 @@
|
||||
reagent: Nutriment
|
||||
min: 0.1
|
||||
factor: 1
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SweetenerEffect
|
||||
plantMetabolism:
|
||||
- !type:PlantAdjustNutrition
|
||||
amount: 0.1
|
||||
|
||||
@@ -104,6 +104,11 @@
|
||||
flavor: peppery
|
||||
color: black
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: PepperEffect
|
||||
|
||||
- type: reagent
|
||||
id: Vinegar
|
||||
@@ -157,8 +162,8 @@
|
||||
flavor: oily
|
||||
flavorMinimum: 0.05
|
||||
color: olive
|
||||
meltingPoint: -6.0 #Nyano - Summary: Add melting point for fryer.
|
||||
boilingPoint: 299.0 #Nyano - Summary: Add boiling point for fryer.
|
||||
meltingPoint: -6.0 #Nyano - Summary: Add melting point for fryer.
|
||||
boilingPoint: 299.0 #Nyano - Summary: Add boiling point for fryer.
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Food:
|
||||
@@ -166,6 +171,8 @@
|
||||
- !type:AdjustReagent
|
||||
reagent: Nutriment
|
||||
amount: 0.75
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: OilyEffect
|
||||
|
||||
- type: reagent
|
||||
id: Oil
|
||||
@@ -200,6 +207,8 @@
|
||||
- !type:AdjustReagent
|
||||
reagent: Nutriment #Oils enhance nutrition
|
||||
amount: 0.75
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SpicyEffect
|
||||
Poison:
|
||||
effects:
|
||||
- !type:AdjustTemperature
|
||||
@@ -234,6 +243,8 @@
|
||||
reagent: Nutriment
|
||||
min: 0.1
|
||||
factor: 1
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: ChocolateEffect
|
||||
plantMetabolism:
|
||||
- !type:PlantAdjustNutrition
|
||||
amount: 0.1
|
||||
@@ -258,4 +269,6 @@
|
||||
effects:
|
||||
- !type:AdjustReagent
|
||||
reagent: Nutriment
|
||||
amount: 0.75
|
||||
amount: 0.75
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: ButterEffect
|
||||
|
||||
@@ -46,6 +46,16 @@
|
||||
type: Vampiric
|
||||
reagent: Omnizine
|
||||
amount: 0.3
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: DrankBlood
|
||||
conditions:
|
||||
- !type:OrganType
|
||||
type: Human
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: DrankBloodVampiric
|
||||
conditions:
|
||||
- !type:OrganType
|
||||
type: Vampiric
|
||||
Food:
|
||||
effects:
|
||||
- !type:AdjustReagent
|
||||
@@ -84,6 +94,11 @@
|
||||
recognizable: true
|
||||
physicalDesc: reagent-physical-desc-slimy
|
||||
slippery: false
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: DrankInsectBlood
|
||||
|
||||
- type: reagent
|
||||
id: Slime
|
||||
@@ -146,6 +161,14 @@
|
||||
recognizable: true
|
||||
physicalDesc: reagent-physical-desc-metallic
|
||||
slippery: false
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: DrankBlood
|
||||
conditions:
|
||||
- !type:OrganType
|
||||
type: Human
|
||||
|
||||
- type: reagent
|
||||
parent: Blood
|
||||
@@ -158,6 +181,14 @@
|
||||
recognizable: true
|
||||
physicalDesc: reagent-physical-desc-pungent
|
||||
slippery: false
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: DrankBlood
|
||||
conditions:
|
||||
- !type:OrganType
|
||||
type: Human
|
||||
|
||||
- type: reagent
|
||||
id: ZombieBlood
|
||||
@@ -182,6 +213,9 @@
|
||||
Poison: 4
|
||||
- !type:ChemVomit
|
||||
probability: 0.25
|
||||
- !type:CauseZombieInfection
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: DrankZombieBlood
|
||||
|
||||
- type: reagent
|
||||
id: Ichor
|
||||
@@ -250,6 +284,8 @@
|
||||
- !type:AdjustReagent
|
||||
reagent: Nutriment
|
||||
amount: 0.1
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: DrankVomit
|
||||
footstepSound:
|
||||
collection: FootstepBlood
|
||||
params:
|
||||
|
||||
@@ -135,6 +135,8 @@
|
||||
- !type:HasTag
|
||||
invert: true
|
||||
tag: Bee
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: BuzzochloricBeesEffect
|
||||
|
||||
- type: reagent
|
||||
id: GroundBee
|
||||
@@ -204,6 +206,8 @@
|
||||
- !type:Emote
|
||||
emote: Scream
|
||||
probability: 0.3
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: LacerinolEffect
|
||||
|
||||
- type: reagent
|
||||
id: Fresium
|
||||
|
||||
@@ -138,6 +138,8 @@
|
||||
Radiation: -3
|
||||
groups:
|
||||
Brute: 0.5
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: StrongPaincauser
|
||||
|
||||
- type: reagent
|
||||
id: Bicaridine
|
||||
@@ -172,6 +174,8 @@
|
||||
- !type:ReagentThreshold
|
||||
min: 15
|
||||
- !type:Drunk
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: MildPaincauser
|
||||
|
||||
- type: reagent
|
||||
id: Cryoxadone
|
||||
@@ -383,6 +387,8 @@
|
||||
- !type:MovespeedModifier # Goob edit
|
||||
walkSpeedModifier: 1.1
|
||||
sprintSpeedModifier: 1.1
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: EpinephrineEffect
|
||||
|
||||
- type: reagent
|
||||
id: Hyronalin
|
||||
@@ -451,6 +457,8 @@
|
||||
Asphyxiation: -5
|
||||
- !type:ModifyBleedAmount
|
||||
amount: -0.25
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: MildPainkiller
|
||||
|
||||
- type: reagent
|
||||
id: Kelotane
|
||||
@@ -484,6 +492,8 @@
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
min: 25
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: MildPainkiller
|
||||
|
||||
- type: reagent
|
||||
id: Leporazine
|
||||
@@ -631,6 +641,11 @@
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
min: 10
|
||||
- !type:ChemRemoveMoodlet
|
||||
moodPrototype: RomerolEffect
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
min: 10
|
||||
|
||||
- type: reagent
|
||||
id: AmbuzolPlus
|
||||
@@ -648,6 +663,11 @@
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
min: 5
|
||||
- !type:ChemRemoveMoodlet
|
||||
moodPrototype: RomerolEffect
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
min: 5
|
||||
|
||||
- type: reagent
|
||||
id: PulpedBananaPeel
|
||||
@@ -745,6 +765,11 @@
|
||||
key: SeeingRainbows
|
||||
time: 15.0
|
||||
type: Remove
|
||||
- !type:ChemPurgeMoodlets
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
reagent: Synaptizine
|
||||
min: 10
|
||||
|
||||
- type: reagent
|
||||
id: TranexamicAcid
|
||||
@@ -793,6 +818,8 @@
|
||||
Heat: -0.5
|
||||
Shock: -0.5
|
||||
Cold: -0.5 # Was .33, Buffed due to limb damage changes
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: MildPainkiller
|
||||
|
||||
- type: reagent
|
||||
id: Lipozine
|
||||
@@ -1017,6 +1044,8 @@
|
||||
damage:
|
||||
types:
|
||||
Cold: 3
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: LacerinolEffect
|
||||
|
||||
- type: reagent
|
||||
id: Puncturase
|
||||
@@ -1041,6 +1070,8 @@
|
||||
damage:
|
||||
types:
|
||||
Blunt: 5
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: PuncturaseEffect
|
||||
|
||||
- type: reagent
|
||||
id: Bruizine
|
||||
@@ -1064,6 +1095,8 @@
|
||||
damage:
|
||||
types:
|
||||
Poison: 4
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: BruizineEffect
|
||||
|
||||
- type: reagent
|
||||
id: Pyrazine
|
||||
@@ -1273,14 +1306,8 @@
|
||||
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
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: PsicodineEffect
|
||||
|
||||
- type: reagent
|
||||
id: PotassiumIodide
|
||||
|
||||
@@ -52,6 +52,8 @@
|
||||
key: Adrenaline
|
||||
component: IgnoreSlowOnDamage
|
||||
time: 5
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: StrongStimulant
|
||||
Medicine:
|
||||
effects:
|
||||
- !type:ResetNarcolepsy
|
||||
@@ -109,6 +111,9 @@
|
||||
key: Adrenaline
|
||||
component: IgnoreSlowOnDamage
|
||||
time: 5
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: StrongStimulant
|
||||
# WD EDIT START
|
||||
- !type:GenericStatusEffect # WWDP
|
||||
key: NoScream
|
||||
component: NoScream
|
||||
@@ -123,6 +128,7 @@
|
||||
reagent: Ephedrine
|
||||
max: 1.1
|
||||
min: 1
|
||||
# WD EDIT END
|
||||
Medicine:
|
||||
effects:
|
||||
- !type:ResetNarcolepsy
|
||||
@@ -149,8 +155,8 @@
|
||||
sprintSpeedModifier: 1.3
|
||||
- !type:HealthChange
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
min: 80 #please wait 3 minutes before using another stimpack
|
||||
- !type:ReagentThreshold
|
||||
min: 80 #please wait 3 minutes before using another stimpack
|
||||
damage:
|
||||
types:
|
||||
Poison: 1
|
||||
@@ -190,23 +196,25 @@
|
||||
key: Adrenaline
|
||||
component: IgnoreSlowOnDamage
|
||||
time: 5
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: StrongStimulant
|
||||
Medicine:
|
||||
metabolismRate: 1.0
|
||||
effects:
|
||||
- !type:ResetNarcolepsy
|
||||
- !type:SatiateHunger
|
||||
factor: 1
|
||||
- !type:SatiateThirst
|
||||
factor: 1
|
||||
- !type:HealthChange
|
||||
conditions:
|
||||
- !type:TotalDamage
|
||||
min: 70
|
||||
max: 120 # you've got a chance to get out of crit
|
||||
damage: # heals at the same rate as tricordrazine, doesn't heal poison because if you OD'd I'm not giving you a safety net
|
||||
groups:
|
||||
Burn: -1
|
||||
Brute: -1
|
||||
- !type:ResetNarcolepsy
|
||||
- !type:SatiateHunger
|
||||
factor: 1
|
||||
- !type:SatiateThirst
|
||||
factor: 1
|
||||
- !type:HealthChange
|
||||
conditions:
|
||||
- !type:TotalDamage
|
||||
min: 70
|
||||
max: 120 # you've got a chance to get out of crit
|
||||
damage: # heals at the same rate as tricordrazine, doesn't heal poison because if you OD'd I'm not giving you a safety net
|
||||
groups:
|
||||
Burn: -1
|
||||
Brute: -1
|
||||
|
||||
- type: reagent
|
||||
id: THC
|
||||
@@ -303,10 +311,6 @@
|
||||
min: 15
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: SpaceDrugsBenefit
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
reagent: SpaceDrugs
|
||||
min: 5
|
||||
|
||||
- type: reagent
|
||||
id: Bananadine
|
||||
@@ -454,6 +458,8 @@
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
min: 5
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: TearGasEffect
|
||||
|
||||
- type: reagent
|
||||
id: Happiness
|
||||
@@ -487,17 +493,8 @@
|
||||
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:ChemAddMoodlet
|
||||
moodPrototype: PsicodineEffect
|
||||
- !type:GenericStatusEffect
|
||||
key: SeeingRainbows
|
||||
component: SeeingRainbows
|
||||
|
||||
@@ -470,6 +470,11 @@
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
min: 5
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: RomerolEffect
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
min: 5
|
||||
|
||||
- type: reagent
|
||||
id: UncookedAnimalProteins
|
||||
@@ -556,6 +561,8 @@
|
||||
component: Pacified
|
||||
refresh: false
|
||||
type: Add
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: PaxEffect
|
||||
|
||||
- type: reagent
|
||||
id: Honk
|
||||
|
||||
@@ -208,3 +208,55 @@
|
||||
- type: ReplacementAccent
|
||||
replacementChance: 0.15
|
||||
accent: liar
|
||||
|
||||
- type: trait
|
||||
id: Manic
|
||||
category: Mental
|
||||
points: 0
|
||||
requirements:
|
||||
- !type:CharacterJobRequirement
|
||||
inverted: true
|
||||
jobs:
|
||||
- Borg
|
||||
- StationAi
|
||||
functions:
|
||||
- !type:TraitAddComponent
|
||||
components:
|
||||
- type: Manic
|
||||
|
||||
- type: trait
|
||||
id: Mercurial
|
||||
category: Mental
|
||||
points: 0
|
||||
requirements:
|
||||
- !type:CharacterJobRequirement
|
||||
inverted: true
|
||||
jobs:
|
||||
- Borg
|
||||
- StationAi
|
||||
functions:
|
||||
- !type:TraitAddComponent
|
||||
components:
|
||||
- type: Mercurial
|
||||
|
||||
- type: trait
|
||||
id: DeadEmotions
|
||||
category: Mental
|
||||
points: -5
|
||||
requirements:
|
||||
- !type:CharacterJobRequirement
|
||||
inverted: true
|
||||
jobs:
|
||||
- Borg
|
||||
- StationAi
|
||||
- !type:CharacterTraitRequirement
|
||||
inverted: true
|
||||
traits:
|
||||
- Sanguine
|
||||
- Saturnine
|
||||
- Manic
|
||||
- Mercurial
|
||||
functions:
|
||||
- !type:TraitRemoveComponent
|
||||
components:
|
||||
- type: Mood
|
||||
|
||||
@@ -132,6 +132,8 @@
|
||||
- !type:AdjustReagent
|
||||
reagent: Mitogen
|
||||
amount: 0.125 # 1.25 per 5u
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: StrongPainkiller
|
||||
|
||||
- type: reagent
|
||||
id: Mitogen
|
||||
@@ -722,6 +724,8 @@
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
min: 20
|
||||
- !type:ChemAddMoodlet
|
||||
moodPrototype: MildPainkiller
|
||||
|
||||
# Externally applied meds
|
||||
|
||||
|
||||
Reference in New Issue
Block a user