Новые растения в ботанику (#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>
This commit is contained in:
ThereDrD0
2024-07-03 01:03:39 +03:00
committed by GitHub
parent 317f24da0c
commit bc57436166
83 changed files with 1389 additions and 18 deletions

View 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);
}
}

View 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);
}
}
}

View 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);
}
}
}

View File

@@ -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";
}

View File

@@ -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);
}
}

View File

@@ -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();
}

View 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);
}
}

View 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;
}

View 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";
}

View File

@@ -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.

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -0,0 +1,3 @@
flavor-complex-numbing-tranquility = как ошемляющее спокойствие
flavor-complex-true-nature = как пролом четвертой стены
flavor-complex-false-meat = мало, чем отличается от настоящего мяса

View File

@@ -0,0 +1,2 @@
reagent-effect-status-effect-RadiationProtection = защита от радиации
reagent-effect-status-effect-Drowsiness = сонливость

View File

@@ -0,0 +1,4 @@
reagent-name-potassium-iodide = Йодид калия
reagent-desc-potassium-iodide = Снижает поражающее действие радиации на 90%. Только для профилактического применения.
reagent-name-haloperidol = Галоперидол
reagent-desc-haloperidol = Выводит большинство стимулирующих/галлюциногенных препаратов. Уменьшает наркотические эффекты и нервозность. Вызывает сонливость.

View 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 = стебли мирового гороха

View File

@@ -73,7 +73,7 @@
contents:
- id: SyringePhalanximine
- id: RadAutoInjector
- id: EmergencyMedipen
- id: PillCanisterPotassiumIodide
- id: PillCanisterHyronalin
amount: 2

View File

@@ -345,3 +345,9 @@
Caustic: 0.5
Poison: 0.0
Cellular: 0.0
# protects against radiation
- type: damageModifierSet
id: PotassiumIodide
coefficients:
Radiation: 0.1

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -144,6 +144,8 @@
- TemporaryBlindness
- Pacified
- StaminaModifier
- RadiationProtection
- Drowsiness
- type: Reflect
enabled: false
reflectProb: 0

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 725 B

View File

@@ -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"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 B

View File

@@ -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"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -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"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 993 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1003 B

View File

@@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 439 B

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

View File

@@ -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"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

View 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);
}