Новые растения в ботанику (#416)
* add haloperidol, potassium iodide * review fixes * review and tuning * add: translation * new mutations * translation string fix * holymelons are holy now * add: translation * rename holymelon * Tomato killers don't kill the server anymore. (#28173) * tomato killer auto death * fix * Update miscellaneous.yml --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
79
Content.Client/Drowsiness/DrowsinessOverlay.cs
Normal file
@@ -0,0 +1,79 @@
|
||||
using Content.Shared.Drowsiness;
|
||||
using Content.Shared.StatusEffect;
|
||||
using Robust.Client.Graphics;
|
||||
using Robust.Client.Player;
|
||||
using Robust.Shared.Enums;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Content.Client.Drowsiness;
|
||||
|
||||
public sealed class DrowsinessOverlay : Overlay
|
||||
{
|
||||
[Dependency] private readonly IEntityManager _entityManager = default!;
|
||||
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
||||
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
||||
[Dependency] private readonly IEntitySystemManager _sysMan = default!;
|
||||
[Dependency] private readonly IGameTiming _timing = default!;
|
||||
|
||||
public override OverlaySpace Space => OverlaySpace.WorldSpace;
|
||||
public override bool RequestScreenTexture => true;
|
||||
private readonly ShaderInstance _drowsinessShader;
|
||||
|
||||
public float CurrentPower = 0.0f;
|
||||
|
||||
private const float PowerDivisor = 250.0f;
|
||||
private float _visualScale = 0;
|
||||
|
||||
public DrowsinessOverlay()
|
||||
{
|
||||
IoCManager.InjectDependencies(this);
|
||||
_drowsinessShader = _prototypeManager.Index<ShaderPrototype>("Drowsiness").InstanceUnique();
|
||||
}
|
||||
|
||||
protected override void FrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
var playerEntity = _playerManager.LocalEntity;
|
||||
|
||||
if (playerEntity == null)
|
||||
return;
|
||||
|
||||
if (!_entityManager.HasComponent<DrowsinessComponent>(playerEntity)
|
||||
|| !_entityManager.TryGetComponent<StatusEffectsComponent>(playerEntity, out var status))
|
||||
return;
|
||||
|
||||
var statusSys = _sysMan.GetEntitySystem<StatusEffectsSystem>();
|
||||
if (!statusSys.TryGetTime(playerEntity.Value, SharedDrowsinessSystem.DrowsinessKey, out var time, status))
|
||||
return;
|
||||
|
||||
var curTime = _timing.CurTime;
|
||||
var timeLeft = (float) (time.Value.Item2 - curTime).TotalSeconds;
|
||||
|
||||
CurrentPower += 8f * (0.5f * timeLeft - CurrentPower) * args.DeltaSeconds / (timeLeft + 1);
|
||||
}
|
||||
|
||||
protected override bool BeforeDraw(in OverlayDrawArgs args)
|
||||
{
|
||||
if (!_entityManager.TryGetComponent(_playerManager.LocalEntity, out EyeComponent? eyeComp))
|
||||
return false;
|
||||
|
||||
if (args.Viewport.Eye != eyeComp.Eye)
|
||||
return false;
|
||||
|
||||
_visualScale = Math.Clamp(CurrentPower / PowerDivisor, 0.0f, 1.0f);
|
||||
return _visualScale > 0;
|
||||
}
|
||||
|
||||
protected override void Draw(in OverlayDrawArgs args)
|
||||
{
|
||||
if (ScreenTexture == null)
|
||||
return;
|
||||
|
||||
var handle = args.WorldHandle;
|
||||
_drowsinessShader.SetParameter("SCREEN_TEXTURE", ScreenTexture);
|
||||
_drowsinessShader.SetParameter("VisualScale", _visualScale);
|
||||
handle.UseShader(_drowsinessShader);
|
||||
handle.DrawRect(args.WorldBounds, Color.White);
|
||||
handle.UseShader(null);
|
||||
}
|
||||
}
|
||||
53
Content.Client/Drowsiness/DrowsinessSystem.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using Content.Shared.Drowsiness;
|
||||
using Robust.Client.Graphics;
|
||||
using Robust.Client.Player;
|
||||
using Robust.Shared.Player;
|
||||
|
||||
namespace Content.Client.Drowsiness;
|
||||
|
||||
public sealed class DrowsinessSystem : SharedDrowsinessSystem
|
||||
{
|
||||
[Dependency] private readonly IPlayerManager _player = default!;
|
||||
[Dependency] private readonly IOverlayManager _overlayMan = default!;
|
||||
|
||||
private DrowsinessOverlay _overlay = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<DrowsinessComponent, ComponentInit>(OnDrowsinessInit);
|
||||
SubscribeLocalEvent<DrowsinessComponent, ComponentShutdown>(OnDrowsinessShutdown);
|
||||
|
||||
SubscribeLocalEvent<DrowsinessComponent, LocalPlayerAttachedEvent>(OnPlayerAttached);
|
||||
SubscribeLocalEvent<DrowsinessComponent, LocalPlayerDetachedEvent>(OnPlayerDetached);
|
||||
|
||||
_overlay = new();
|
||||
}
|
||||
|
||||
private void OnPlayerAttached(EntityUid uid, DrowsinessComponent component, LocalPlayerAttachedEvent args)
|
||||
{
|
||||
_overlayMan.AddOverlay(_overlay);
|
||||
}
|
||||
|
||||
private void OnPlayerDetached(EntityUid uid, DrowsinessComponent component, LocalPlayerDetachedEvent args)
|
||||
{
|
||||
_overlay.CurrentPower = 0;
|
||||
_overlayMan.RemoveOverlay(_overlay);
|
||||
}
|
||||
|
||||
private void OnDrowsinessInit(EntityUid uid, DrowsinessComponent component, ComponentInit args)
|
||||
{
|
||||
if (_player.LocalEntity == uid)
|
||||
_overlayMan.AddOverlay(_overlay);
|
||||
}
|
||||
|
||||
private void OnDrowsinessShutdown(EntityUid uid, DrowsinessComponent component, ComponentShutdown args)
|
||||
{
|
||||
if (_player.LocalEntity == uid)
|
||||
{
|
||||
_overlay.CurrentPower = 0;
|
||||
_overlayMan.RemoveOverlay(_overlay);
|
||||
}
|
||||
}
|
||||
}
|
||||
49
Content.Server/Drowsiness/DrowsinessSystem.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using Content.Shared.Drowsiness;
|
||||
using Content.Shared.Bed.Sleep;
|
||||
using Content.Shared.StatusEffect;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Server.Drowsiness;
|
||||
|
||||
public sealed class DrowsinessSystem : SharedDrowsinessSystem
|
||||
{
|
||||
[ValidatePrototypeId<StatusEffectPrototype>]
|
||||
private const string SleepKey = "ForcedSleep"; // Same one used by N2O and other sleep chems.
|
||||
|
||||
[Dependency] private readonly StatusEffectsSystem _statusEffects = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void Initialize()
|
||||
{
|
||||
SubscribeLocalEvent<DrowsinessComponent, ComponentStartup>(SetupDrowsiness);
|
||||
}
|
||||
|
||||
private void SetupDrowsiness(EntityUid uid, DrowsinessComponent component, ComponentStartup args)
|
||||
{
|
||||
component.NextIncidentTime = _random.NextFloat(component.TimeBetweenIncidents.X, component.TimeBetweenIncidents.Y);
|
||||
}
|
||||
public override void Update(float frameTime)
|
||||
{
|
||||
base.Update(frameTime);
|
||||
|
||||
var query = EntityQueryEnumerator<DrowsinessComponent>();
|
||||
while (query.MoveNext(out var uid, out var component))
|
||||
{
|
||||
component.NextIncidentTime -= frameTime;
|
||||
|
||||
if (component.NextIncidentTime >= 0)
|
||||
continue;
|
||||
|
||||
// Set the new time.
|
||||
component.NextIncidentTime += _random.NextFloat(component.TimeBetweenIncidents.X, component.TimeBetweenIncidents.Y);
|
||||
|
||||
var duration = _random.NextFloat(component.DurationOfIncident.X, component.DurationOfIncident.Y);
|
||||
|
||||
// Make sure the sleep time doesn't cut into the time to next incident.
|
||||
component.NextIncidentTime += duration;
|
||||
|
||||
_statusEffects.TryAddStatusEffect<ForcedSleepingComponent>(uid, SleepKey, TimeSpan.FromSeconds(duration), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using Robust.Shared.Prototypes;
|
||||
using Content.Shared.Damage.Prototypes;
|
||||
|
||||
namespace Content.Server.Radiation.Components;
|
||||
|
||||
/// <summary>
|
||||
/// Exists for use as a status effect.
|
||||
/// Adds the DamageProtectionBuffComponent to the entity and adds the specified DamageModifierSet to its list of modifiers.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed partial class RadiationProtectionComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// The radiation damage modifier for entities with this component.
|
||||
/// </summary>
|
||||
[DataField("modifier")]
|
||||
public ProtoId<DamageModifierSetPrototype> RadiationProtectionModifierSetId = "PotassiumIodide";
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
using Content.Server.Radiation.Components;
|
||||
using Content.Shared.Damage.Components;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server.Radiation.EntitySystems;
|
||||
|
||||
public sealed class RadiationProtectionSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
SubscribeLocalEvent<RadiationProtectionComponent, ComponentInit>(OnInit);
|
||||
SubscribeLocalEvent<RadiationProtectionComponent, ComponentShutdown>(OnShutdown);
|
||||
}
|
||||
|
||||
private void OnInit(EntityUid uid, RadiationProtectionComponent component, ComponentInit args)
|
||||
{
|
||||
if (!_prototypeManager.TryIndex(component.RadiationProtectionModifierSetId, out var modifier))
|
||||
return;
|
||||
var buffComp = EnsureComp<DamageProtectionBuffComponent>(uid);
|
||||
// add the damage modifier if it isn't in the dict yet
|
||||
if (!buffComp.Modifiers.ContainsKey(component.RadiationProtectionModifierSetId))
|
||||
buffComp.Modifiers.Add(component.RadiationProtectionModifierSetId, modifier);
|
||||
}
|
||||
|
||||
private void OnShutdown(EntityUid uid, RadiationProtectionComponent component, ComponentShutdown args)
|
||||
{
|
||||
if (!TryComp<DamageProtectionBuffComponent>(uid, out var buffComp))
|
||||
return;
|
||||
// remove the damage modifier from the dict
|
||||
buffComp.Modifiers.Remove(component.RadiationProtectionModifierSetId);
|
||||
// if the dict is empty now, remove the buff component
|
||||
if (buffComp.Modifiers.Count == 0)
|
||||
RemComp<DamageProtectionBuffComponent>(uid);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using Content.Shared.Damage.Prototypes;
|
||||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared.Damage.Components;
|
||||
|
||||
/// <summary>
|
||||
/// Applies the specified DamageModifierSets when the entity takes damage.
|
||||
/// </summary>
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
public sealed partial class DamageProtectionBuffComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// The damage modifiers for entities with this component.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public Dictionary<string, DamageModifierSetPrototype> Modifiers = new();
|
||||
}
|
||||
19
Content.Shared/Damage/Systems/DamageProtectionBuffSystem.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using Content.Shared.Damage.Components;
|
||||
|
||||
namespace Content.Shared.Damage.Systems;
|
||||
|
||||
public sealed class DamageProtectionBuffSystem : EntitySystem
|
||||
{
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<DamageProtectionBuffComponent, DamageModifyEvent>(OnDamageModify);
|
||||
}
|
||||
|
||||
private void OnDamageModify(EntityUid uid, DamageProtectionBuffComponent component, DamageModifyEvent args)
|
||||
{
|
||||
foreach (var modifier in component.Modifiers.Values)
|
||||
args.Damage = DamageSpecifier.ApplyModifierSet(args.Damage, modifier);
|
||||
}
|
||||
}
|
||||
25
Content.Shared/Drowsiness/DrowsinessComponent.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System.Numerics;
|
||||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared.Drowsiness;
|
||||
|
||||
/// <summary>
|
||||
/// Exists for use as a status effect. Adds a shader to the client that scales with the effect duration.
|
||||
/// </summary>
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
public sealed partial class DrowsinessComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// The random time between sleeping incidents, (min, max).
|
||||
/// </summary>
|
||||
[DataField("timeBetweenIncidents", required: true)]
|
||||
public Vector2 TimeBetweenIncidents = new Vector2(5f, 60f);
|
||||
|
||||
/// <summary>
|
||||
/// The duration of sleeping incidents, (min, max).
|
||||
/// </summary>
|
||||
[DataField("durationOfIncident", required: true)]
|
||||
public Vector2 DurationOfIncident = new Vector2(2, 5);
|
||||
|
||||
public float NextIncidentTime;
|
||||
}
|
||||
9
Content.Shared/Drowsiness/DrowsinessSystem.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using Content.Shared.StatusEffect;
|
||||
|
||||
namespace Content.Shared.Drowsiness;
|
||||
|
||||
public abstract class SharedDrowsinessSystem : EntitySystem
|
||||
{
|
||||
[ValidatePrototypeId<StatusEffectPrototype>]
|
||||
public const string DrowsinessKey = "Drowsiness";
|
||||
}
|
||||
@@ -172,6 +172,9 @@ flavor-complex-violets = like violets
|
||||
flavor-complex-pyrotton = like a burning mouth
|
||||
flavor-complex-mothballs = like mothballs
|
||||
flavor-complex-paint-thinner = like paint thinner
|
||||
flavor-complex-numbing-tranquility = like numbing tranquility
|
||||
flavor-complex-true-nature = like the true nature of reality
|
||||
flavor-complex-false-meat = not entirely unlike meat
|
||||
|
||||
# Drink-specific flavors.
|
||||
|
||||
|
||||
@@ -11,3 +11,5 @@ reagent-effect-status-effect-PressureImmunity = pressure immunity
|
||||
reagent-effect-status-effect-Pacified = combat pacification
|
||||
reagent-effect-status-effect-RatvarianLanguage = ratvarian language patterns
|
||||
reagent-effect-status-effect-StaminaModifier = modified stamina
|
||||
reagent-effect-status-effect-RadiationProtection = radiation protection
|
||||
reagent-effect-status-effect-Drowsiness = drowsiness
|
||||
|
||||
@@ -148,3 +148,8 @@ 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-potassium-iodide = potassium iodide
|
||||
reagent-desc-potassium-iodide = Will reduce the damaging effects of radiation by 90%. Prophylactic use only.
|
||||
|
||||
reagent-name-haloperidol = haloperidol
|
||||
reagent-desc-haloperidol = Removes most stimulating and hallucinogenic drugs. Reduces druggy effects and jitteriness. Causes drowsiness.
|
||||
|
||||
@@ -5,6 +5,8 @@ seeds-noun-spores = spores
|
||||
# Seeds
|
||||
seeds-wheat-name = wheat
|
||||
seeds-wheat-display-name = wheat stalks
|
||||
seeds-meatwheat-name = meatwheat
|
||||
seeds-meatwheat-display-name = meatwheat stalks
|
||||
seeds-oat-name = oat
|
||||
seeds-oat-display-name = oat stalks
|
||||
seeds-banana-name = banana
|
||||
@@ -25,6 +27,8 @@ seeds-lime-name = lime
|
||||
seeds-lime-display-name = lime trees
|
||||
seeds-orange-name = orange
|
||||
seeds-orange-display-name = orange trees
|
||||
seeds-extradimensionalorange-name = extradimensional orange
|
||||
seeds-extradimensionalorange-display-name = extradimensional orange trees
|
||||
seeds-pineapple-name = pineapple
|
||||
seeds-pineapple-display-name = pineapple plant
|
||||
seeds-potato-name = potato
|
||||
@@ -100,7 +104,9 @@ seeds-spacemans-trumpet-display-name = spaceman's trumpet plant
|
||||
seeds-koibean-name = koibeans
|
||||
seeds-koibean-display-name = koibean plant
|
||||
seeds-watermelon-name = watermelon
|
||||
seeds-watermelon-display-name = watermelon plant
|
||||
seeds-watermelon-display-name = watermelon vines
|
||||
seeds-holymelon-name = holymelon
|
||||
seeds-holymelon-display-name = holymelon vines
|
||||
seeds-grape-name = grape
|
||||
seeds-grape-display-name = grape plant
|
||||
seeds-cocoa-name = cocoa
|
||||
@@ -109,8 +115,10 @@ seeds-berries-name = berries
|
||||
seeds-berries-display-name = berry bush
|
||||
seeds-bungo-name = bungo
|
||||
seeds-bungo-display-name = bungo plant
|
||||
seeds-pea-name = pea
|
||||
seeds-pea-name = peas
|
||||
seeds-pea-display-name = pea vines
|
||||
seeds-worldpea-name = world peas
|
||||
seeds-worldpea-display-name = world pea vines
|
||||
seeds-pumpkin-name = pumpkin
|
||||
seeds-pumpkin-display-name = pumpkins
|
||||
seeds-cotton-name = cotton
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
flavor-complex-numbing-tranquility = как ошемляющее спокойствие
|
||||
flavor-complex-true-nature = как пролом четвертой стены
|
||||
flavor-complex-false-meat = мало, чем отличается от настоящего мяса
|
||||
@@ -0,0 +1,2 @@
|
||||
reagent-effect-status-effect-RadiationProtection = защита от радиации
|
||||
reagent-effect-status-effect-Drowsiness = сонливость
|
||||
4
Resources/Locale/ru-RU/_white/reagents/meta/medicine.ftl
Normal file
@@ -0,0 +1,4 @@
|
||||
reagent-name-potassium-iodide = Йодид калия
|
||||
reagent-desc-potassium-iodide = Снижает поражающее действие радиации на 90%. Только для профилактического применения.
|
||||
reagent-name-haloperidol = Галоперидол
|
||||
reagent-desc-haloperidol = Выводит большинство стимулирующих/галлюциногенных препаратов. Уменьшает наркотические эффекты и нервозность. Вызывает сонливость.
|
||||
8
Resources/Locale/ru-RU/_white/seeds/seeds.ftl
Normal file
@@ -0,0 +1,8 @@
|
||||
seeds-meatwheat-name = мясное пшено
|
||||
seeds-meatwheat-display-name = стебли мясного пшена
|
||||
seeds-extradimensionalorange-name = многомерный апельсин
|
||||
seeds-extradimensionalorange-display-name = дерево многомерного апельсина
|
||||
seeds-holymelon-name = святодыня
|
||||
seeds-holymelon-display-name = ростки святодыни
|
||||
seeds-worldpea-name = мировой горох
|
||||
seeds-worldpea-display-name = стебли мирового гороха
|
||||
@@ -73,7 +73,7 @@
|
||||
contents:
|
||||
- id: SyringePhalanximine
|
||||
- id: RadAutoInjector
|
||||
- id: EmergencyMedipen
|
||||
- id: PillCanisterPotassiumIodide
|
||||
- id: PillCanisterHyronalin
|
||||
amount: 2
|
||||
|
||||
|
||||
@@ -345,3 +345,9 @@
|
||||
Caustic: 0.5
|
||||
Poison: 0.0
|
||||
Cellular: 0.0
|
||||
|
||||
# protects against radiation
|
||||
- type: damageModifierSet
|
||||
id: PotassiumIodide
|
||||
coefficients:
|
||||
Radiation: 0.1
|
||||
|
||||
@@ -115,13 +115,22 @@
|
||||
- trigger:
|
||||
!type:DamageTypeTrigger
|
||||
damageType: Blunt
|
||||
damage: 100
|
||||
damage: 40
|
||||
behaviors:
|
||||
- !type:GibBehavior { }
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawn:
|
||||
FoodMeatTomato:
|
||||
min: 1
|
||||
max: 2
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- !type:PlaySoundBehavior
|
||||
sound:
|
||||
collection: gib
|
||||
- type: MobThresholds
|
||||
thresholds:
|
||||
0: Alive
|
||||
24: Dead
|
||||
35: Dead
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
@@ -137,7 +146,7 @@
|
||||
hidden: true
|
||||
damage:
|
||||
groups:
|
||||
Brute: 4
|
||||
Brute: 9
|
||||
animation: WeaponArcBite
|
||||
- type: Climbing
|
||||
- type: NameIdentifier
|
||||
@@ -157,3 +166,13 @@
|
||||
- type: Appearance
|
||||
- type: Produce
|
||||
seedId: killerTomato
|
||||
- type: PassiveDamage # Slight passive damage. 35 hp \ 5 min \ 60 sec = 0.08
|
||||
allowedStates:
|
||||
- Alive
|
||||
- Dead
|
||||
damageCap: 50
|
||||
damage:
|
||||
types:
|
||||
Blunt: 0.11
|
||||
- type: StaticPrice
|
||||
price: 400
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
- ForcedSleep
|
||||
- TemporaryBlindness
|
||||
- Pacified
|
||||
- RadiationProtection
|
||||
- Drowsiness
|
||||
- type: Buckle
|
||||
- type: StandingState
|
||||
- type: Tag
|
||||
@@ -104,6 +106,8 @@
|
||||
- TemporaryBlindness
|
||||
- Pacified
|
||||
- StaminaModifier
|
||||
- RadiationProtection
|
||||
- Drowsiness
|
||||
- type: Bloodstream
|
||||
bloodMaxVolume: 150
|
||||
- type: MobPrice
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
decay: 6
|
||||
cooldown: 1
|
||||
critThreshold: 400
|
||||
# immune to space drugs, pax, temporary blindness
|
||||
# immune to space drugs, pax, temporary blindness, drowsiness
|
||||
- type: StatusEffects
|
||||
allowed:
|
||||
- Stun
|
||||
@@ -41,6 +41,7 @@
|
||||
- Muted
|
||||
- ForcedSleep
|
||||
- StaminaModifier
|
||||
- RadiationProtection
|
||||
- type: MobState
|
||||
allowedStates:
|
||||
- Alive
|
||||
|
||||
@@ -144,6 +144,8 @@
|
||||
- TemporaryBlindness
|
||||
- Pacified
|
||||
- StaminaModifier
|
||||
- RadiationProtection
|
||||
- Drowsiness
|
||||
- type: Reflect
|
||||
enabled: false
|
||||
reflectProb: 0
|
||||
|
||||
@@ -503,6 +503,9 @@
|
||||
id: FoodMeatWheat
|
||||
description: This doesn't look like meat, but your standards aren't that high to begin with.
|
||||
components:
|
||||
- type: FlavorProfile
|
||||
flavors:
|
||||
- falsemeat
|
||||
- type: Sprite
|
||||
state: clump
|
||||
- type: SolutionContainerManager
|
||||
@@ -510,7 +513,7 @@
|
||||
food:
|
||||
reagents:
|
||||
- ReagentId: UncookedAnimalProteins
|
||||
Quantity: 1
|
||||
Quantity: 5
|
||||
|
||||
- type: entity
|
||||
name: raw snake meat
|
||||
@@ -599,6 +602,8 @@
|
||||
- type: SliceableFood
|
||||
count: 3
|
||||
slice: FoodMeatTomatoCutlet
|
||||
- type: StaticPrice
|
||||
price: 100
|
||||
|
||||
- type: entity
|
||||
name: salami
|
||||
@@ -1270,6 +1275,8 @@
|
||||
- type: Sprite
|
||||
state: salami-slice
|
||||
color: red
|
||||
- type: StaticPrice
|
||||
price: 30
|
||||
|
||||
- type: entity
|
||||
name: salami slice
|
||||
|
||||
@@ -56,6 +56,28 @@
|
||||
tags:
|
||||
- Wheat
|
||||
|
||||
- type: entity
|
||||
name: meatwheat bushel
|
||||
description: Some blood-drenched wheat stalks. You can crush them into what passes for meat if you squint hard enough.
|
||||
id: MeatwheatBushel
|
||||
parent: ProduceBase
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/meatwheat.rsi
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
reagents:
|
||||
- ReagentId: UncookedAnimalProteins
|
||||
Quantity: 10
|
||||
- type: SpawnItemsOnUse
|
||||
items:
|
||||
- id: FoodMeatWheat
|
||||
sound:
|
||||
path: /Audio/Voice/Slime/slime_squish.ogg
|
||||
- type: Produce
|
||||
seedId: meatwheat
|
||||
|
||||
- type: entity
|
||||
name: oat bushel
|
||||
description: Eat oats, do squats.
|
||||
@@ -605,6 +627,42 @@
|
||||
tags:
|
||||
- Fruit
|
||||
|
||||
- type: entity
|
||||
name: extradimensional orange
|
||||
parent: FoodProduceBase
|
||||
id: FoodExtradimensionalOrange
|
||||
description: You can hardly wrap your head around this thing.
|
||||
components:
|
||||
- type: FlavorProfile
|
||||
flavors:
|
||||
- truenature
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
maxVol: 19
|
||||
reagents:
|
||||
#- ReagentId: Haloperidol
|
||||
# Quantity: 10
|
||||
- ReagentId: Nutriment
|
||||
Quantity: 5
|
||||
- ReagentId: Vitamin
|
||||
Quantity: 4
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/extradimensional_orange.rsi
|
||||
- type: Produce
|
||||
seedId: extradimensionalOrange
|
||||
- type: PotencyVisuals
|
||||
minimumScale: 0.5 # reduce this in size beacuse the texture is way too big
|
||||
maximumScale: 1
|
||||
- type: Extractable
|
||||
juiceSolution:
|
||||
reagents:
|
||||
- ReagentId: JuiceOrange
|
||||
Quantity: 10
|
||||
- type: Tag
|
||||
tags:
|
||||
- Fruit
|
||||
|
||||
- type: entity
|
||||
name: pineapple
|
||||
parent: FoodProduceBase
|
||||
@@ -1652,6 +1710,97 @@
|
||||
- ReagentId: JuiceWatermelon
|
||||
Quantity: 4
|
||||
|
||||
- type: entity
|
||||
name: holymelon
|
||||
parent: [FoodProduceBase, ItemHeftyBase]
|
||||
id: FoodHolymelon
|
||||
description: The water within this melon has been blessed by some deity that's particularly fond of watermelon.
|
||||
components:
|
||||
- type: Item
|
||||
size: Small
|
||||
- type: FlavorProfile
|
||||
flavors:
|
||||
- holy
|
||||
- watermelon
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
maxVol: 25
|
||||
reagents:
|
||||
- ReagentId: Nutriment
|
||||
Quantity: 10
|
||||
- ReagentId: Vitamin
|
||||
Quantity: 5
|
||||
- ReagentId: Holywater
|
||||
Quantity: 10
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/holymelon.rsi
|
||||
- type: Produce
|
||||
seedId: watermelon
|
||||
- type: Extractable
|
||||
juiceSolution:
|
||||
reagents:
|
||||
- ReagentId: Wine
|
||||
Quantity: 20
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
- type: DamageOnHighSpeedImpact
|
||||
minimumSpeed: 0.1
|
||||
damage:
|
||||
types:
|
||||
Blunt: 1
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 1
|
||||
behaviors:
|
||||
- !type:PlaySoundBehavior
|
||||
sound:
|
||||
collection: desecration
|
||||
- !type:SpillBehavior
|
||||
solution: food
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: SliceableFood
|
||||
count: 5
|
||||
slice: FoodHolymelonSlice
|
||||
- type: HolyWeapon
|
||||
- type: Tag
|
||||
tags:
|
||||
- Fruit
|
||||
|
||||
- type: entity
|
||||
name: holymelon slice
|
||||
parent: ProduceSliceBase
|
||||
id: FoodHolymelonSlice
|
||||
description: Juicy golden and red slice.
|
||||
components:
|
||||
- type: Item
|
||||
size: Tiny
|
||||
- type: FlavorProfile
|
||||
flavors:
|
||||
- holy
|
||||
- watermelon
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/holymelon.rsi
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
maxVol: 5
|
||||
reagents:
|
||||
- ReagentId: Nutriment
|
||||
Quantity: 2
|
||||
- ReagentId: Vitamin
|
||||
Quantity: 1
|
||||
- ReagentId: Holywater
|
||||
Quantity: 2
|
||||
- type: Extractable
|
||||
juiceSolution:
|
||||
reagents:
|
||||
- ReagentId: Wine
|
||||
Quantity: 4
|
||||
|
||||
- type: entity
|
||||
name: grapes
|
||||
parent: FoodProduceBase
|
||||
@@ -1796,6 +1945,34 @@
|
||||
tags:
|
||||
- Vegetable
|
||||
|
||||
- type: entity
|
||||
parent: FoodProduceBase
|
||||
id: FoodWorldPeas
|
||||
name: cluster of world peas
|
||||
description: It's rumored to bring peace to any who consume it.
|
||||
components:
|
||||
- type: FlavorProfile
|
||||
flavors:
|
||||
- numbingtranquility
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
maxVol: 8
|
||||
reagents:
|
||||
- ReagentId: Happiness
|
||||
Quantity: 3
|
||||
- ReagentId: Nutriment
|
||||
Quantity: 3
|
||||
- ReagentId: Pax
|
||||
Quantity: 2
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/world_pea.rsi
|
||||
- type: Produce
|
||||
seedId: worldPea
|
||||
- type: Tag
|
||||
tags:
|
||||
- Vegetable
|
||||
|
||||
- type: entity
|
||||
name: pumpkin
|
||||
parent: FoodProduceBase
|
||||
|
||||
@@ -22,6 +22,17 @@
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/wheat.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of meatwheat seeds
|
||||
description: "If you ever wanted to drive a vegetarian to insanity, here's how."
|
||||
id: MeatwheatSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seedId: meatwheat
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/meatwheat.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of oat seeds
|
||||
@@ -133,6 +144,17 @@
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/orange.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of extradimensional orange seeds
|
||||
description: "Polygonal seeds."
|
||||
id: ExtradimensionalOrangeSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seedId: extradimensionalOrange
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/extradimensional_orange.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of pineapple seeds
|
||||
@@ -521,6 +543,16 @@
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/watermelon.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of holymelon seeds
|
||||
id: HolymelonSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seedId: holymelon
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/holymelon.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of grape seeds
|
||||
@@ -573,6 +605,17 @@
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/pea.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
id: WorldPeaSeeds
|
||||
name: packet of world pea seeds
|
||||
description: "These rather large seeds give off a soothing blue glow."
|
||||
components:
|
||||
- type: Seed
|
||||
seedId: worldPea
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/world_pea.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of pumpkin seeds
|
||||
|
||||
@@ -445,6 +445,38 @@
|
||||
- id: PillHyronalin
|
||||
amount: 5
|
||||
|
||||
- type: entity
|
||||
name: pill (potassium iodide 10u)
|
||||
parent: Pill
|
||||
id: PillPotassiumIodide
|
||||
components:
|
||||
- type: Pill
|
||||
pillType: 8
|
||||
- type: Sprite
|
||||
state: pill9
|
||||
- type: Label
|
||||
currentLabel: potassium iodide 10u
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
maxVol: 20
|
||||
reagents:
|
||||
- ReagentId: PotassiumIodide
|
||||
Quantity: 10
|
||||
|
||||
- type: entity
|
||||
name: pill canister (potassium iodide 10u)
|
||||
parent: PillCanister
|
||||
id: PillCanisterPotassiumIodide
|
||||
suffix: Potassium iodide, 5
|
||||
components:
|
||||
- type: Label
|
||||
currentLabel: potassium iodide 10u
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: PillPotassiumIodide
|
||||
amount: 5
|
||||
|
||||
- type: entity
|
||||
name: pill (iron 10u)
|
||||
parent: Pill
|
||||
@@ -744,6 +776,10 @@
|
||||
prob: 0.10
|
||||
maxAmount: 7
|
||||
orGroup: RandomPill
|
||||
- id: PillPotassiumIodide
|
||||
prob: 0.10
|
||||
maxAmount: 7
|
||||
orGroup: RandomPill
|
||||
- id: PillIron
|
||||
prob: 0.10
|
||||
maxAmount: 7
|
||||
|
||||
@@ -1072,4 +1072,19 @@
|
||||
- type: flavor
|
||||
id: paintthinner
|
||||
flavorType: Complex
|
||||
description: flavor-complex-paint-thinner
|
||||
description: flavor-complex-paint-thinner
|
||||
|
||||
- type: flavor
|
||||
id: numbingtranquility
|
||||
flavorType: Complex
|
||||
description: flavor-complex-numbing-tranquility
|
||||
|
||||
- type: flavor
|
||||
id: truenature
|
||||
flavorType: Complex
|
||||
description: flavor-complex-true-nature
|
||||
|
||||
- type: flavor
|
||||
id: falsemeat
|
||||
flavorType: Complex
|
||||
description: flavor-complex-false-meat
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
packetPrototype: WheatSeeds
|
||||
productPrototypes:
|
||||
- WheatBushel
|
||||
mutationPrototypes:
|
||||
- meatwheat
|
||||
lifespan: 25
|
||||
maturation: 6
|
||||
production: 3
|
||||
@@ -24,6 +26,32 @@
|
||||
Max: 20
|
||||
PotencyDivisor: 20
|
||||
|
||||
- type: seed
|
||||
id: meatwheat
|
||||
name: seeds-meatwheat-name
|
||||
noun: seeds-noun-seeds
|
||||
displayName: seeds-meatwheat-display-name
|
||||
plantRsi: Objects/Specific/Hydroponics/meatwheat.rsi
|
||||
packetPrototype: MeatwheatSeeds
|
||||
productPrototypes:
|
||||
- MeatwheatBushel
|
||||
lifespan: 25
|
||||
maturation: 6
|
||||
production: 3
|
||||
yield: 3
|
||||
potency: 5
|
||||
idealLight: 8
|
||||
nutrientConsumption: 0.40
|
||||
chemicals:
|
||||
Nutriment:
|
||||
Min: 1
|
||||
Max: 20
|
||||
PotencyDivisor: 20
|
||||
UncookedAnimalProteins:
|
||||
Min: 5
|
||||
Max: 20
|
||||
PotencyDivisor: 20
|
||||
|
||||
- type: seed
|
||||
id: oat
|
||||
name: seeds-oat-name
|
||||
@@ -145,6 +173,8 @@
|
||||
packetPrototype: LaughinPeaSeeds
|
||||
productPrototypes:
|
||||
- FoodLaughinPeaPod
|
||||
mutationPrototypes:
|
||||
- worldPea
|
||||
lifespan: 25
|
||||
growthStages: 3
|
||||
maturation: 8
|
||||
@@ -258,6 +288,8 @@
|
||||
packetPrototype: OrangeSeeds
|
||||
productPrototypes:
|
||||
- FoodOrange
|
||||
mutationPrototypes:
|
||||
- extradimensionalOrange
|
||||
harvestRepeat: Repeat
|
||||
lifespan: 55
|
||||
maturation: 6
|
||||
@@ -275,6 +307,36 @@
|
||||
Max: 4
|
||||
PotencyDivisor: 25
|
||||
|
||||
- type: seed
|
||||
id: extradimensionalOrange
|
||||
name: seeds-extradimensionalorange-name
|
||||
noun: seeds-noun-seeds
|
||||
displayName: seeds-extradimensionalorange-display-name
|
||||
plantRsi: Objects/Specific/Hydroponics/extradimensional_orange.rsi
|
||||
packetPrototype: ExtradimensionalOrangeSeeds
|
||||
productPrototypes:
|
||||
- FoodExtradimensionalOrange
|
||||
harvestRepeat: Repeat
|
||||
lifespan: 55
|
||||
maturation: 6
|
||||
production: 6
|
||||
yield: 3
|
||||
potency: 10
|
||||
idealLight: 8
|
||||
chemicals:
|
||||
#Haloperidol:
|
||||
# Min: 3
|
||||
# Max: 10
|
||||
# PotencyDivisor: 20
|
||||
Nutriment:
|
||||
Min: 1
|
||||
Max: 5
|
||||
PotencyDivisor: 20
|
||||
Vitamin:
|
||||
Min: 1
|
||||
Max: 4
|
||||
PotencyDivisor: 25
|
||||
|
||||
- type: seed
|
||||
id: pineapple
|
||||
name: seeds-pineapple-name
|
||||
@@ -1399,6 +1461,8 @@
|
||||
packetPrototype: WatermelonSeeds
|
||||
productPrototypes:
|
||||
- FoodWatermelon
|
||||
mutationPrototypes:
|
||||
- holymelon
|
||||
lifespan: 55
|
||||
maturation: 12
|
||||
production: 3
|
||||
@@ -1419,6 +1483,35 @@
|
||||
Max: 5
|
||||
PotencyDivisor: 20
|
||||
|
||||
- type: seed
|
||||
id: holymelon
|
||||
name: seeds-holymelon-name
|
||||
noun: seeds-noun-seeds
|
||||
displayName: seeds-holymelon-display-name
|
||||
plantRsi: Objects/Specific/Hydroponics/holymelon.rsi
|
||||
packetPrototype: HolymelonSeeds
|
||||
productPrototypes:
|
||||
- FoodHolymelon
|
||||
lifespan: 55
|
||||
maturation: 12
|
||||
production: 3
|
||||
yield: 1
|
||||
potency: 1
|
||||
idealLight: 8
|
||||
chemicals:
|
||||
Nutriment:
|
||||
Min: 1
|
||||
Max: 10
|
||||
PotencyDivisor: 10
|
||||
Holywater:
|
||||
Min: 1
|
||||
Max: 10
|
||||
PotencyDivisor: 10
|
||||
Vitamin:
|
||||
Min: 1
|
||||
Max: 5
|
||||
PotencyDivisor: 20
|
||||
|
||||
- type: seed
|
||||
id: cocoa
|
||||
name: seeds-cocoa-name
|
||||
@@ -1533,6 +1626,39 @@
|
||||
Max: 2
|
||||
PotencyDivisor: 50
|
||||
|
||||
- type: seed
|
||||
id: worldPea
|
||||
name: seeds-worldpea-name
|
||||
noun: seeds-noun-seeds
|
||||
displayName: seeds-worldpea-display-name
|
||||
plantRsi: Objects/Specific/Hydroponics/world_pea.rsi
|
||||
packetPrototype: PeaSeeds
|
||||
productPrototypes:
|
||||
- FoodWorldPeas
|
||||
lifespan: 25
|
||||
growthStages: 3
|
||||
maturation: 20
|
||||
production: 6
|
||||
yield: 3
|
||||
potency: 25
|
||||
idealLight: 8
|
||||
harvestRepeat: Repeat
|
||||
nutrientConsumption: 0.5
|
||||
waterConsumption: 0.5
|
||||
chemicals:
|
||||
Happiness:
|
||||
Min: 1
|
||||
Max: 3
|
||||
PotencyDivisor: 25
|
||||
Nutriment:
|
||||
Min: 1
|
||||
Max: 3
|
||||
PotencyDivisor: 20
|
||||
Pax:
|
||||
Min: 1
|
||||
Max: 2
|
||||
PotencyDivisor: 50
|
||||
|
||||
- type: seed
|
||||
id: pumpkin
|
||||
name: seeds-pumpkin-name
|
||||
|
||||
@@ -1741,3 +1741,189 @@
|
||||
- !type:AdjustReagent
|
||||
reagent: Ethanol
|
||||
amount: 0.15
|
||||
|
||||
- type: reagent
|
||||
id: VodkaRedBool
|
||||
name: reagent-name-vodka-red-bool
|
||||
parent: BaseAlcohol
|
||||
desc: reagent-desc-vodka-red-bool
|
||||
physicalDesc: reagent-physical-desc-strong-smelling
|
||||
flavor: vodkaredbool
|
||||
color: "#c4c27655"
|
||||
metamorphicSprite:
|
||||
sprite: Objects/Consumable/Drinks/ginvodkaglass.rsi
|
||||
state: icon_empty
|
||||
metamorphicMaxFillLevels: 4
|
||||
metamorphicFillBaseName: fill-
|
||||
metamorphicChangeColor: true
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 1
|
||||
- !type:AdjustReagent
|
||||
reagent: Ethanol
|
||||
amount: 0.10
|
||||
- !type:AdjustReagent
|
||||
reagent: Theobromine
|
||||
amount: 0.05
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 1.0
|
||||
type: Remove
|
||||
fizziness: 0.25
|
||||
|
||||
- type: reagent
|
||||
id: XenoBasher
|
||||
name: reagent-name-xeno-basher
|
||||
parent: BaseAlcohol
|
||||
desc: reagent-desc-xeno-basher
|
||||
physicalDesc: reagent-physical-desc-fizzy-and-creamy
|
||||
flavor: xenobasher
|
||||
color: "#4d6600"
|
||||
metamorphicSprite:
|
||||
sprite: Objects/Consumable/Drinks/xenobasher.rsi
|
||||
state: icon_empty
|
||||
metamorphicMaxFillLevels: 2
|
||||
metamorphicFillBaseName: fill-
|
||||
metamorphicChangeColor: false
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 1
|
||||
- !type:AdjustReagent
|
||||
reagent: Ethanol
|
||||
amount: 0.15
|
||||
- !type:AdjustReagent
|
||||
reagent: Theobromine
|
||||
amount: 0.05
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 1.0
|
||||
type: Remove
|
||||
fizziness: 0.15
|
||||
|
||||
- type: reagent
|
||||
id: IrishBool
|
||||
name: reagent-name-irish-bool
|
||||
parent: BaseAlcohol
|
||||
desc: reagent-desc-irish-bool
|
||||
physicalDesc: reagent-physical-desc-bubbly
|
||||
flavor: irishbool
|
||||
color: "#71672e99"
|
||||
metamorphicSprite:
|
||||
sprite: Objects/Consumable/Drinks/beerglass.rsi
|
||||
state: icon_empty
|
||||
metamorphicMaxFillLevels: 6
|
||||
metamorphicFillBaseName: fill-
|
||||
metamorphicChangeColor: true
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 1
|
||||
- !type:AdjustReagent
|
||||
reagent: Ethanol
|
||||
amount: 0.10
|
||||
- !type:AdjustReagent
|
||||
reagent: Theobromine
|
||||
amount: 0.05
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 1.0
|
||||
type: Remove
|
||||
fizziness: 0.15
|
||||
|
||||
- type: reagent
|
||||
id: BudgetInsulsDrink
|
||||
name: reagent-name-budget-insuls
|
||||
parent: BaseAlcohol
|
||||
desc: reagent-desc-budget-insuls
|
||||
physicalDesc: reagent-physical-desc-strong-smelling
|
||||
flavor: budgetinsulsdrink
|
||||
color: "#dede73"
|
||||
metamorphicSprite:
|
||||
sprite: Objects/Consumable/Drinks/budgetinsulsdrink.rsi
|
||||
state: icon_empty
|
||||
metamorphicMaxFillLevels: 3
|
||||
metamorphicFillBaseName: fill-
|
||||
metamorphicChangeColor: false
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 1
|
||||
- !type:AdjustReagent
|
||||
reagent: Ethanol
|
||||
amount: 0.15
|
||||
- !type:AdjustReagent
|
||||
reagent: Theobromine
|
||||
amount: 0.05
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 1.0
|
||||
type: Remove
|
||||
fizziness: 0.25
|
||||
|
||||
- type: reagent
|
||||
id: WatermelonWakeup
|
||||
name: reagent-name-watermelon-wakeup
|
||||
parent: BaseAlcohol
|
||||
desc: reagent-desc-watermelon-wakeup
|
||||
physicalDesc: reagent-physical-desc-sweet
|
||||
flavor: watermelonwakeup
|
||||
color: "#d49dca"
|
||||
metamorphicSprite:
|
||||
sprite: Objects/Consumable/Drinks/champagneglass.rsi
|
||||
state: icon_empty
|
||||
metamorphicMaxFillLevels: 4
|
||||
metamorphicFillBaseName: fill-
|
||||
metamorphicChangeColor: true
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 1
|
||||
- !type:AdjustReagent
|
||||
reagent: Ethanol
|
||||
amount: 0.07
|
||||
- !type:AdjustReagent
|
||||
reagent: Theobromine
|
||||
amount: 0.05
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 1.0
|
||||
type: Remove
|
||||
fizziness: 0.15
|
||||
|
||||
- type: reagent
|
||||
id: Rubberneck
|
||||
name: reagent-name-rubberneck
|
||||
parent: BaseAlcohol
|
||||
desc: reagent-desc-rubberneck
|
||||
physicalDesc: reagent-physical-desc-strong-smelling
|
||||
flavor: rubberneck
|
||||
color: "#f0d74a"
|
||||
metamorphicSprite:
|
||||
sprite: Objects/Consumable/Drinks/rubberneck.rsi
|
||||
state: icon_empty
|
||||
metamorphicMaxFillLevels: 3
|
||||
metamorphicFillBaseName: fill-
|
||||
metamorphicChangeColor: false
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 1
|
||||
- !type:AdjustReagent
|
||||
reagent: Ethanol
|
||||
amount: 0.15
|
||||
- !type:AdjustReagent
|
||||
reagent: Theobromine
|
||||
amount: 0.05
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 1.0
|
||||
type: Remove
|
||||
fizziness: 0.25
|
||||
|
||||
@@ -12,6 +12,10 @@
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 2
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 2.0
|
||||
type: Remove
|
||||
- !type:AdjustReagent
|
||||
reagent: Theobromine
|
||||
amount: 0.05
|
||||
@@ -90,6 +94,15 @@
|
||||
metamorphicMaxFillLevels: 1
|
||||
metamorphicFillBaseName: fill-
|
||||
metamorphicChangeColor: false
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 2
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 2.0
|
||||
type: Remove
|
||||
|
||||
- type: reagent
|
||||
id: GreenTea
|
||||
@@ -139,6 +152,15 @@
|
||||
metamorphicMaxFillLevels: 5
|
||||
metamorphicFillBaseName: fill-
|
||||
metamorphicChangeColor: false
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 2
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 2.0
|
||||
type: Remove
|
||||
|
||||
- type: reagent
|
||||
id: IcedGreenTea
|
||||
@@ -316,6 +338,10 @@
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 6
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 3.0
|
||||
type: Remove
|
||||
Poison:
|
||||
effects:
|
||||
- !type:HealthChange
|
||||
@@ -346,6 +372,15 @@
|
||||
metamorphicMaxFillLevels: 1
|
||||
metamorphicFillBaseName: fill-
|
||||
metamorphicChangeColor: false
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 2
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 2.0
|
||||
type: Remove
|
||||
|
||||
- type: reagent
|
||||
id: Tea
|
||||
|
||||
@@ -7,6 +7,15 @@
|
||||
flavor: soda
|
||||
color: "#6c2828"
|
||||
recognizable: true
|
||||
metabolisms:
|
||||
Drink:
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 2
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 1.0
|
||||
type: Remove
|
||||
|
||||
- type: reagent
|
||||
id: RoyRogers
|
||||
@@ -56,6 +65,10 @@
|
||||
effects:
|
||||
- !type:SatiateThirst
|
||||
factor: 2
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 2.0
|
||||
type: Remove
|
||||
- !type:AdjustReagent
|
||||
reagent: Theobromine
|
||||
amount: 0.05
|
||||
|
||||
@@ -891,6 +891,10 @@
|
||||
- !type:GenericStatusEffect
|
||||
key: Stutter
|
||||
component: StutteringAccent
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 10
|
||||
type: Remove
|
||||
- !type:ResetNarcolepsy
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
@@ -912,6 +916,10 @@
|
||||
metabolisms:
|
||||
Medicine:
|
||||
effects:
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
time: 10
|
||||
type: Remove
|
||||
- !type:ResetNarcolepsy
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
@@ -1353,3 +1361,82 @@
|
||||
- "psicodine-effect-anxieties-wash-away"
|
||||
- "psicodine-effect-at-peace"
|
||||
probability: 0.2
|
||||
|
||||
- type: reagent
|
||||
id: PotassiumIodide
|
||||
name: reagent-name-potassium-iodide
|
||||
group: Medicine
|
||||
desc: reagent-desc-potassium-iodide
|
||||
physicalDesc: reagent-physical-desc-grainy
|
||||
flavor: medicine
|
||||
color: "#baa15d"
|
||||
metabolisms:
|
||||
Medicine:
|
||||
effects:
|
||||
- !type:GenericStatusEffect
|
||||
key: RadiationProtection
|
||||
component: RadiationProtection
|
||||
time: 2
|
||||
type: Add
|
||||
refresh: false
|
||||
- !type:HealthChange
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
min: 20
|
||||
damage:
|
||||
types:
|
||||
Poison: 1
|
||||
|
||||
- type: reagent
|
||||
id: Haloperidol
|
||||
name: reagent-name-haloperidol
|
||||
group: Medicine
|
||||
desc: reagent-desc-haloperidol
|
||||
physicalDesc: reagent-physical-desc-crystalline
|
||||
flavor: medicine
|
||||
color: "#27870a"
|
||||
metabolisms:
|
||||
Medicine:
|
||||
effects:
|
||||
- !type:Emote
|
||||
emote: Yawn
|
||||
showInChat: true
|
||||
probability: 0.1
|
||||
- !type:GenericStatusEffect
|
||||
key: Drowsiness
|
||||
component: Drowsiness
|
||||
time: 4
|
||||
type: Add
|
||||
refresh: false
|
||||
- !type:GenericStatusEffect
|
||||
key: Jitter
|
||||
time: 4.0
|
||||
type: Remove
|
||||
- !type:GenericStatusEffect
|
||||
key: SeeingRainbows
|
||||
time: 10.0
|
||||
type: Remove
|
||||
- !type:AdjustReagent
|
||||
reagent: Desoxyephedrine
|
||||
amount: -3.0
|
||||
- !type:AdjustReagent
|
||||
reagent: Ephedrine
|
||||
amount: -3.0
|
||||
- !type:AdjustReagent
|
||||
reagent: Stimulants
|
||||
amount: -3.0
|
||||
- !type:AdjustReagent
|
||||
reagent: THC
|
||||
amount: -3.0
|
||||
- !type:AdjustReagent
|
||||
reagent: SpaceDrugs
|
||||
amount: -3.0
|
||||
- !type:AdjustReagent
|
||||
reagent: Bananadine
|
||||
amount: -3.0
|
||||
- !type:AdjustReagent
|
||||
reagent: SpaceGlue
|
||||
amount: -3.0
|
||||
- !type:AdjustReagent
|
||||
reagent: MindbreakerToxin
|
||||
amount: -3.0
|
||||
|
||||
@@ -49,6 +49,14 @@
|
||||
key: KnockedDown
|
||||
time: 3
|
||||
type: Remove
|
||||
- !type:GenericStatusEffect
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
reagent: Haloperidol
|
||||
max: 0.01
|
||||
key: Drowsiness
|
||||
time: 10
|
||||
type: Remove
|
||||
Medicine:
|
||||
effects:
|
||||
- !type:ResetNarcolepsy
|
||||
@@ -98,6 +106,14 @@
|
||||
key: KnockedDown
|
||||
time: 1
|
||||
type: Remove
|
||||
- !type:GenericStatusEffect
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
reagent: Haloperidol
|
||||
max: 0.01
|
||||
key: Drowsiness
|
||||
time: 10
|
||||
type: Remove
|
||||
- !type:PopupMessage
|
||||
visualType: Medium
|
||||
messages: ["ephedrine-effect-tight-pain", "ephedrine-effect-heart-pounds"]
|
||||
@@ -158,6 +174,14 @@
|
||||
key: ForcedSleep
|
||||
time: 3
|
||||
type: Remove
|
||||
- !type:GenericStatusEffect
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
reagent: Haloperidol
|
||||
max: 0.01
|
||||
key: Drowsiness
|
||||
time: 10
|
||||
type: Remove
|
||||
Medicine:
|
||||
metabolismRate: 0.2
|
||||
effects:
|
||||
|
||||
@@ -56,18 +56,19 @@
|
||||
metabolisms:
|
||||
Poison:
|
||||
effects:
|
||||
- !type:Emote
|
||||
emote: Yawn
|
||||
showInChat: true
|
||||
probability: 0.1
|
||||
- !type:MovespeedModifier
|
||||
walkSpeedModifier: 0.65
|
||||
sprintSpeedModifier: 0.65
|
||||
- !type:GenericStatusEffect
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
reagent: ChloralHydrate
|
||||
min: 10
|
||||
key: ForcedSleep
|
||||
component: ForcedSleeping
|
||||
refresh: false
|
||||
key: Drowsiness
|
||||
component: Drowsiness
|
||||
time: 4
|
||||
type: Add
|
||||
refresh: false
|
||||
- !type:HealthChange
|
||||
conditions:
|
||||
- !type:ReagentThreshold
|
||||
|
||||
@@ -671,3 +671,29 @@
|
||||
catalyst: true
|
||||
products:
|
||||
Happiness: 4
|
||||
|
||||
- type: reaction
|
||||
id: PotassiumIodide
|
||||
reactants:
|
||||
Potassium:
|
||||
amount: 1
|
||||
Iodine:
|
||||
amount: 1
|
||||
products:
|
||||
PotassiumIodide: 2
|
||||
|
||||
- type: reaction
|
||||
id: Haloperidol
|
||||
reactants:
|
||||
Aluminium:
|
||||
amount: 1
|
||||
Chlorine:
|
||||
amount: 1
|
||||
Fluorine:
|
||||
amount: 1
|
||||
Oil:
|
||||
amount: 1
|
||||
PotassiumIodide:
|
||||
amount: 1
|
||||
products:
|
||||
Haloperidol: 5
|
||||
|
||||
@@ -57,6 +57,11 @@
|
||||
kind: source
|
||||
path: "/Textures/Shaders/drunk.swsl"
|
||||
|
||||
- type: shader
|
||||
id: Drowsiness
|
||||
kind: source
|
||||
path: "/Textures/Shaders/radial_blur.swsl"
|
||||
|
||||
- type: shader
|
||||
id: Texture
|
||||
kind: source
|
||||
|
||||
@@ -68,6 +68,12 @@
|
||||
id: NarcoticEffect
|
||||
alwaysAllowed: true
|
||||
|
||||
- type: statusEffect
|
||||
id: RadiationProtection
|
||||
|
||||
- type: statusEffect
|
||||
id: Drowsiness #blurs your vision and makes you randomly fall asleep
|
||||
|
||||
# WD EDIT
|
||||
- type: statusEffect
|
||||
id: Incorporeal
|
||||
|
||||
|
After Width: | Height: | Size: 448 B |
|
After Width: | Height: | Size: 725 B |
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/vgstation-coders/vgstation13/commit/1dbcf389b0ec6b2c51b002df5fef8dd1519f8068 and https://github.com/tgstation/tgstation/commit/ead6d8d59753ef033efdfad17f337df268038ff3 and modified by slarticodefast",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "dead"
|
||||
},
|
||||
{
|
||||
"name": "harvest"
|
||||
},
|
||||
{
|
||||
"name": "produce",
|
||||
"delays": [
|
||||
[
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08,
|
||||
0.08
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "seed"
|
||||
},
|
||||
{
|
||||
"name": "stage-1"
|
||||
},
|
||||
{
|
||||
"name": "stage-2"
|
||||
},
|
||||
{
|
||||
"name": "stage-3"
|
||||
},
|
||||
{
|
||||
"name": "stage-4"
|
||||
},
|
||||
{
|
||||
"name": "stage-5"
|
||||
},
|
||||
{
|
||||
"name": "stage-6"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 169 B |
|
After Width: | Height: | Size: 196 B |
|
After Width: | Height: | Size: 243 B |
|
After Width: | Height: | Size: 359 B |
|
After Width: | Height: | Size: 545 B |
|
After Width: | Height: | Size: 625 B |
|
After Width: | Height: | Size: 317 B |
|
After Width: | Height: | Size: 440 B |
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/vgstation-coders/vgstation13/commit/b459ea3fdee965bdc3e93e7983ad7fa610d05c12 and https://github.com/tgstation/tgstation/commit/ead6d8d59753ef033efdfad17f337df268038ff3 and modified by slarticodefast",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "dead"
|
||||
},
|
||||
{
|
||||
"name": "harvest"
|
||||
},
|
||||
{
|
||||
"name": "produce",
|
||||
"delays": [
|
||||
[
|
||||
0.3,
|
||||
0.3,
|
||||
0.3,
|
||||
0.3
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "seed"
|
||||
},
|
||||
{
|
||||
"name": "stage-1"
|
||||
},
|
||||
{
|
||||
"name": "stage-2"
|
||||
},
|
||||
{
|
||||
"name": "stage-3"
|
||||
},
|
||||
{
|
||||
"name": "stage-4"
|
||||
},
|
||||
{
|
||||
"name": "stage-5"
|
||||
},
|
||||
{
|
||||
"name": "stage-6"
|
||||
},
|
||||
{
|
||||
"name": "slice"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 427 B |
|
After Width: | Height: | Size: 378 B |
|
After Width: | Height: | Size: 158 B |
|
After Width: | Height: | Size: 177 B |
|
After Width: | Height: | Size: 291 B |
|
After Width: | Height: | Size: 326 B |
|
After Width: | Height: | Size: 360 B |
|
After Width: | Height: | Size: 398 B |
|
After Width: | Height: | Size: 581 B |
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/vgstation-coders/vgstation13/commit/1dbcf389b0ec6b2c51b002df5fef8dd1519f8068 and https://github.com/tgstation/tgstation/commit/ead6d8d59753ef033efdfad17f337df268038ff3 and modified by slarticodefast",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "dead"
|
||||
},
|
||||
{
|
||||
"name": "harvest"
|
||||
},
|
||||
{
|
||||
"name": "produce"
|
||||
},
|
||||
{
|
||||
"name": "seed"
|
||||
},
|
||||
{
|
||||
"name": "stage-1"
|
||||
},
|
||||
{
|
||||
"name": "stage-2"
|
||||
},
|
||||
{
|
||||
"name": "stage-3"
|
||||
},
|
||||
{
|
||||
"name": "stage-4"
|
||||
},
|
||||
{
|
||||
"name": "stage-5"
|
||||
},
|
||||
{
|
||||
"name": "stage-6"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 993 B |
|
After Width: | Height: | Size: 406 B |
|
After Width: | Height: | Size: 391 B |
|
After Width: | Height: | Size: 641 B |
|
After Width: | Height: | Size: 809 B |
|
After Width: | Height: | Size: 835 B |
|
After Width: | Height: | Size: 994 B |
|
After Width: | Height: | Size: 1003 B |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/vgstation-coders/vgstation13/commit/b459ea3fdee965bdc3e93e7983ad7fa610d05c12",
|
||||
"copyright": "Taken from https://github.com/vgstation-coders/vgstation13/commit/b459ea3fdee965bdc3e93e7983ad7fa610d05c12 and https://github.com/tgstation/tgstation/commit/ead6d8d59753ef033efdfad17f337df268038ff3",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
|
||||
|
Before Width: | Height: | Size: 439 B After Width: | Height: | Size: 717 B |
|
After Width: | Height: | Size: 555 B |
|
After Width: | Height: | Size: 717 B |
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/ead6d8d59753ef033efdfad17f337df268038ff3 and modified by slarticodefast",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "dead"
|
||||
},
|
||||
{
|
||||
"name": "harvest"
|
||||
},
|
||||
{
|
||||
"name": "produce"
|
||||
},
|
||||
{
|
||||
"name": "seed"
|
||||
},
|
||||
{
|
||||
"name": "stage-1"
|
||||
},
|
||||
{
|
||||
"name": "stage-2"
|
||||
},
|
||||
{
|
||||
"name": "stage-3"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 512 B |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 353 B |
|
After Width: | Height: | Size: 425 B |
|
After Width: | Height: | Size: 556 B |
17
Resources/Textures/Shaders/radial_blur.swsl
Normal file
@@ -0,0 +1,17 @@
|
||||
uniform sampler2D SCREEN_TEXTURE;
|
||||
uniform highp float VisualScale; // between 0 and 1
|
||||
const highp float Intensity = 0.2;
|
||||
const highp int SampleCount = 16; // multiple of 2
|
||||
|
||||
// a simple radial blur
|
||||
void fragment() {
|
||||
highp vec2 uv = FRAGCOORD.xy * SCREEN_PIXEL_SIZE.xy;
|
||||
highp vec2 direction = vec2(0.5, 0.5) - uv;
|
||||
COLOR = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
highp float test = float(SampleCount);
|
||||
for (int i=1; i <= SampleCount; i++)
|
||||
{
|
||||
COLOR += zTextureSpec(SCREEN_TEXTURE, uv + float(i) * Intensity * VisualScale / float(SampleCount) * direction);
|
||||
}
|
||||
COLOR = COLOR / float(SampleCount);
|
||||
}
|
||||