diff --git a/Content.Server/Botany/SeedPrototype.cs b/Content.Server/Botany/SeedPrototype.cs
index 52eed9d097..3d700f2775 100644
--- a/Content.Server/Botany/SeedPrototype.cs
+++ b/Content.Server/Botany/SeedPrototype.cs
@@ -168,7 +168,7 @@ public partial class SeedData
[DataField("seedless")] public bool Seedless = false;
///
- /// If true, rapidly decrease health while growing. Used to kill off
+ /// If false, rapidly decrease health while growing. Used to kill off
/// plants with "bad" mutations.
///
[DataField("viable")] public bool Viable = true;
@@ -228,6 +228,12 @@ public partial class SeedData
#endregion
+ ///
+ /// The seed prototypes this seed may mutate into when prompted to.
+ ///
+ [DataField("mutationPrototypes", customTypeSerializer: typeof(PrototypeIdListSerializer))]
+ public List MutationPrototypes = new();
+
public SeedData Clone()
{
DebugTools.Assert(!Immutable, "There should be no need to clone an immutable seed.");
@@ -241,6 +247,7 @@ public partial class SeedData
PacketPrototype = PacketPrototype,
ProductPrototypes = new List(ProductPrototypes),
+ MutationPrototypes = new List(MutationPrototypes),
Chemicals = new Dictionary(Chemicals),
ConsumeGasses = new Dictionary(ConsumeGasses),
ExudeGasses = new Dictionary(ExudeGasses),
diff --git a/Content.Server/Botany/Systems/MutationSystem.cs b/Content.Server/Botany/Systems/MutationSystem.cs
index a1794b8118..8e714b6485 100644
--- a/Content.Server/Botany/Systems/MutationSystem.cs
+++ b/Content.Server/Botany/Systems/MutationSystem.cs
@@ -27,7 +27,7 @@ public sealed class MutationSystem : EntitySystem
///
/// You MUST clone() seed before mutating it!
///
- public void MutateSeed(SeedData seed, float severity)
+ public void MutateSeed(ref SeedData seed, float severity)
{
if (!seed.Unique)
{
@@ -68,7 +68,7 @@ public sealed class MutationSystem : EntitySystem
MutateBool(ref seed.Sentient , true , 10 , totalbits , severity);
MutateBool(ref seed.Ligneous , true , 10 , totalbits , severity);
MutateBool(ref seed.Bioluminescent , true , 10 , totalbits , severity);
- MutateBool(ref seed.TurnIntoKudzu , true , 10 , totalbits , severity);
+ MutateBool(ref seed.TurnIntoKudzu , true , 5 , totalbits , severity);
MutateBool(ref seed.CanScream , true , 10 , totalbits , severity);
seed.BioluminescentColor = RandomColor(seed.BioluminescentColor, 10, totalbits, severity);
// ConstantUpgade (10)
@@ -80,6 +80,9 @@ public sealed class MutationSystem : EntitySystem
// Chems (20)
MutateChemicals(ref seed.Chemicals, 5, 20, totalbits, severity);
+
+ // Species (5)
+ MutateSpecies(ref seed, 5, totalbits, severity);
}
public SeedData Cross(SeedData a, SeedData b)
@@ -274,6 +277,31 @@ public sealed class MutationSystem : EntitySystem
}
}
+ private void MutateSpecies(ref SeedData seed, int bits, int totalbits, float mult)
+ {
+ float p = mult * bits / totalbits;
+ p = Math.Clamp(p, 0, 1);
+ if (!Random(p))
+ return;
+
+ if (seed.MutationPrototypes.Count == 0)
+ return;
+
+ var targetProto = _robustRandom.Pick(seed.MutationPrototypes);
+ _prototypeManager.TryIndex(targetProto, out SeedPrototype? protoSeed);
+
+ if (protoSeed == null)
+ {
+ Log.Error($"Seed prototype could not be found: {targetProto}!");
+ return;
+ }
+
+ var oldSeed = seed.Clone();
+ seed = protoSeed.Clone();
+ seed.Potency = oldSeed.Potency;
+ seed.Yield = oldSeed.Yield;
+ }
+
private Color RandomColor(Color color, int bits, int totalbits, float mult)
{
float p = mult*bits/totalbits;
diff --git a/Content.Server/Botany/Systems/PlantHolderSystem.cs b/Content.Server/Botany/Systems/PlantHolderSystem.cs
index 275b80dd7f..b5f9335b5d 100644
--- a/Content.Server/Botany/Systems/PlantHolderSystem.cs
+++ b/Content.Server/Botany/Systems/PlantHolderSystem.cs
@@ -347,6 +347,7 @@ public sealed class PlantHolderSystem : EntitySystem
if (component.MutationLevel > 0)
{
Mutate(uid, Math.Min(component.MutationLevel, 25), component);
+ component.UpdateSpriteAfterUpdate = true;
component.MutationLevel = 0;
}
@@ -844,7 +845,7 @@ public sealed class PlantHolderSystem : EntitySystem
if (component.Seed != null)
{
EnsureUniqueSeed(uid, component);
- _mutation.MutateSeed(component.Seed, severity);
+ _mutation.MutateSeed(ref component.Seed, severity);
}
}
diff --git a/Resources/Locale/en-US/seeds/seeds.ftl b/Resources/Locale/en-US/seeds/seeds.ftl
index b7d77ca1e6..152d5ba6a4 100644
--- a/Resources/Locale/en-US/seeds/seeds.ftl
+++ b/Resources/Locale/en-US/seeds/seeds.ftl
@@ -9,6 +9,8 @@ seeds-oat-name = oat
seeds-oat-display-name = oat stalks
seeds-banana-name = banana
seeds-banana-display-name = banana plant
+seeds-mimana-name = mimana
+seeds-mimana-display-name = mimana plant
seeds-carrots-name = carrot
seeds-carrots-display-name = carrots
seeds-cabbage-name = cabbage
@@ -29,8 +31,14 @@ seeds-sugarcane-name = sugarcane
seeds-sugarcane-display-name = sugarcanes
seeds-towercap-name = tower cap
seeds-towercap-display-name = tower caps
+seeds-steelcap-name = steel cap
+seeds-steelcap-display-name = steel caps
seeds-tomato-name = tomato
seeds-tomato-display-name = tomato plant
+seeds-bluetomato-name = blue tomato
+seeds-bluetomato-display-name = blue tomato plant
+seeds-bloodtomato-name = blood tomato
+seeds-bloodtomato-display-name = blood tomato plant
seeds-eggplant-name = eggplant
seeds-eggplant-display-name = eggplants
seeds-apple-name = apple
@@ -51,8 +59,12 @@ seeds-tobacco-name = tobacco
seeds-tobacco-display-name = tobacco plant
seeds-nettle-name = nettle
seeds-nettle-display-name = nettles
+seeds-deathnettle-name = death nettle
+seeds-deathnettle-display-name = death nettles
seeds-chili-name = chili
seeds-chili-display-name = chilis
+seeds-chilly-name = chilly
+seeds-chilly-display-name = chilly peppers
seeds-poppy-name = poppy
seeds-poppy-display-name = poppies
seeds-aloe-name = aloe
@@ -61,6 +73,8 @@ seeds-lingzhi-name = lingzhi
seeds-lingzhi-display-name = lingzhi
seeds-ambrosiavulgaris-name = ambrosia vulgaris
seeds-ambrosiavulgaris-display-name = ambrosia vulgaris
+seeds-ambrosiadeus-name = ambrosia deus
+seeds-ambrosiadeus-display-name = ambrosia deus
seeds-galaxythistle-name = galaxythistle
seeds-galaxythistle-display-name = galaxythistle
seeds-flyamanita-name = fly amanita
@@ -71,6 +85,8 @@ seeds-rice-name = rice
seeds-rice-display-name = rice stalks
seeds-soybeans-name = soybeans
seeds-soybeans-display-name = soy plant
+seeds-koibean-name = koibeans
+seeds-koibean-display-name = koibean plant
seeds-watermelon-name = watermelon
seeds-watermelon-display-name = watermelon plant
seeds-grape-name = grape
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
index bc0965008d..5fe38c4a57 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
@@ -108,6 +108,25 @@
seedId: towercap
- type: Log
+- type: entity
+ name: steel-cap log
+ description: Steel doesn't grow on trees! It grows on mushrooms, of course.
+ id: SteelLog
+ parent: ProduceBase
+ components:
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/steelcap.rsi
+ - type: SolutionContainerManager
+ - type: MeleeWeapon
+ damage:
+ types:
+ Blunt: 12
+ - type: Produce
+ seedId: steelcap
+ - type: Log
+ spawnedPrototype: SheetSteel1
+ spawnCount: 1
+
- type: entity
name: nettle
description: Stingy little prick.
@@ -138,6 +157,39 @@
- type: Extractable
grindableSolutionName: food
+- type: entity
+ name: death nettle
+ description: This nettle's out for blood.
+ id: DeathNettle
+ parent: ProduceBase
+ components:
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/death_nettle.rsi
+ - type: Item
+ size: 10
+ sprite: Objects/Specific/Hydroponics/death_nettle.rsi
+ - type: MeleeWeapon
+ damage:
+ types:
+ Heat: 6
+ Caustic: 6
+ - type: SolutionContainerManager
+ solutions:
+ food:
+ reagents:
+ - ReagentId: SulfuricAcid
+ Quantity: 15
+ - ReagentId: FluorosulfuricAcid
+ Quantity: 15
+ - type: Produce
+ seedId: deathNettle
+ - type: MeleeChemicalInjector
+ transferAmount: 6
+ solution: food
+ pierceArmor: true # We do a little trolling
+ - type: Extractable
+ grindableSolutionName: food
+
- type: entity
name: banana
parent: FoodProduceBase
@@ -168,6 +220,37 @@
- ReagentId: JuiceBanana
Quantity: 10
+- type: entity
+ name: mimana
+ parent: FoodProduceBase
+ id: FoodMimana
+ description: Mime's favorite.
+ components:
+ - type: FlavorProfile
+ flavors:
+ - banana
+ - nothing
+ - type: Food
+ trash: TrashMimanaPeel
+ - type: SolutionContainerManager
+ solutions:
+ food:
+ maxVol: 7
+ reagents:
+ - ReagentId: MuteToxin
+ Quantity: 5
+ - ReagentId: Vitamin
+ Quantity: 2
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/mimana.rsi
+ - type: Produce
+ seedId: mimana
+ - type: Extractable
+ juiceSolution:
+ reagents:
+ - ReagentId: Nothing
+ Quantity: 5
+
- type: entity
name: banana peel
parent: BaseItem
@@ -218,6 +301,24 @@
grindableSolutionName: food
- type: SpaceGarbage
+- type: entity
+ name: mimana peel
+ parent: TrashBananaPeel
+ id: TrashMimanaPeel
+ components:
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/mimana.rsi
+ state: peel
+ - type: Item
+ sprite: Objects/Specific/Hydroponics/mimana.rsi
+ heldPrefix: peel
+ - type: Slippery
+ slipSound:
+ path: /Audio/Effects/slip.ogg
+ params:
+ volume: -100
+ launchForwardsMultiplier: 1.6
+
- type: entity
name: bananium peel
parent: TrashBananaPeel
@@ -505,6 +606,86 @@
- !type:DoActsBehavior
acts: [ "Destruction" ]
+- type: entity
+ name: blue tomato
+ parent: FoodTomato
+ id: FoodBlueTomato
+ description: This one is blue.
+ components:
+ - type: SolutionContainerManager
+ solutions:
+ food:
+ maxVol: 19
+ reagents:
+ - ReagentId: Nutriment
+ Quantity: 5
+ - ReagentId: SpaceLube
+ Quantity: 10
+ - ReagentId: Vitamin
+ Quantity: 4
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/blue_tomato.rsi
+ - type: Produce
+ seedId: blueTomato
+ - type: Extractable
+ grindableSolutionName: food
+ juiceSolution:
+ reagents:
+ - ReagentId: SpaceLube
+ Quantity: 10
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 1
+ behaviors:
+ - !type:PlaySoundBehavior
+ sound:
+ collection: desecration
+ - !type:SpillBehavior
+ solution: food
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+
+- type: entity
+ name: blood tomato
+ parent: FoodTomato
+ id: FoodBloodTomato
+ description: Wait, that's not ketchup...
+ components:
+ - type: SolutionContainerManager
+ solutions:
+ food:
+ maxVol: 14
+ reagents:
+ - ReagentId: Blood
+ Quantity: 10
+ - ReagentId: Vitamin
+ Quantity: 4
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/blood_tomato.rsi
+ - type: Produce
+ seedId: bloodTomato
+ - type: Extractable
+ grindableSolutionName: food
+ juiceSolution:
+ reagents:
+ - ReagentId: Blood
+ Quantity: 10
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 1
+ behaviors:
+ - !type:PlaySoundBehavior
+ sound:
+ collection: desecration
+ - !type:SpillBehavior
+ solution: food
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+
- type: entity
name: eggplant
parent: FoodProduceBase
@@ -823,6 +1004,32 @@
- type: Produce
seedId: chili
+- type: entity
+ name: chilly pepper
+ parent: FoodProduceBase
+ id: FoodChilly
+ description: Icy hot.
+ components:
+ - type: FlavorProfile
+ flavors:
+ - spicy
+ - cold
+ - type: SolutionContainerManager
+ solutions:
+ food:
+ maxVol: 18
+ reagents:
+ - ReagentId: Nutriment
+ Quantity: 4
+ - ReagentId: Frostoil
+ Quantity: 10
+ - ReagentId: Vitamin
+ Quantity: 4
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/chilly.rsi
+ - type: Produce
+ seedId: chilly
+
- type: entity
name: aloe
parent: FoodProduceBase
@@ -941,6 +1148,43 @@
tags:
- Ambrosia
+- type: entity
+ name: ambrosia deus
+ parent: FoodProduceBase
+ id: FoodAmbrosiaDeus
+ description: An extremely sought-after medicinal plant. May have some funky side effects.
+ components:
+ - type: FlavorProfile
+ flavors:
+ - leafy
+ - medicine
+ - type: SolutionContainerManager
+ solutions:
+ food:
+ maxVol: 22
+ reagents:
+ - ReagentId: Omnizine
+ Quantity: 5
+ - ReagentId: SpaceDrugs
+ Quantity: 5
+ - ReagentId: Nutriment
+ Quantity: 2
+ - ReagentId: Desoxyephedrine
+ Quantity: 10
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/ambrosia_deus.rsi
+ - type: Produce
+ seedId: ambrosiaDeus
+ - type: Extractable
+ grindableSolutionName: food
+ - type: Clothing
+ sprite: Objects/Specific/Hydroponics/ambrosia_deus.rsi
+ slots:
+ - HEAD
+ - type: Tag
+ tags:
+ - Ambrosia
+
- type: entity
name: galaxythistle
parent: FoodProduceBase
@@ -1058,6 +1302,31 @@
- ReagentId: MilkSoy
Quantity: 5
+- type: entity
+ name: koibean
+ description: These beans seem a little bit fishy.
+ id: FoodKoibean
+ parent: ProduceBase
+ components:
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/koibean.rsi
+ - type: SolutionContainerManager
+ solutions:
+ food:
+ maxVol: 9
+ reagents:
+ - ReagentId: Nutriment
+ Quantity: 5
+ - ReagentId: CarpoToxin
+ Quantity: 4
+ - type: Produce
+ seedId: koibean
+ - type: Extractable
+ juiceSolution:
+ reagents:
+ - ReagentId: CarpoToxin
+ Quantity: 4
+
- type: entity
name: watermelon
parent: FoodProduceBase
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml
index 0d98669fae..c24021c8cc 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml
@@ -42,6 +42,16 @@
- type: Sprite
sprite: Objects/Specific/Hydroponics/banana.rsi
+- type: entity
+ parent: SeedBase
+ name: packet of mimana seeds
+ id: MimanaSeeds
+ components:
+ - type: Seed
+ seedId: mimana
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/mimana.rsi
+
- type: entity
parent: SeedBase
name: packet of carrot seeds
@@ -142,6 +152,16 @@
- type: Sprite
sprite: Objects/Specific/Hydroponics/towercap.rsi
+- type: entity
+ parent: SeedBase
+ name: packet of steel cap spores
+ id: SteelcapSeeds
+ components:
+ - type: Seed
+ seedId: steelcap
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/steelcap.rsi
+
- type: entity
parent: SeedBase
name: packet of tomato seeds
@@ -152,6 +172,26 @@
- type: Sprite
sprite: Objects/Specific/Hydroponics/tomato.rsi
+- type: entity
+ parent: SeedBase
+ name: packet of blue tomato seeds
+ id: BlueTomatoSeeds
+ components:
+ - type: Seed
+ seedId: blueTomato
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/blue_tomato.rsi
+
+- type: entity
+ parent: SeedBase
+ name: packet of blood tomato seeds
+ id: BloodTomatoSeeds
+ components:
+ - type: Seed
+ seedId: bloodTomato
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/blood_tomato.rsi
+
- type: entity
parent: SeedBase
name: packet of eggplant seeds
@@ -235,6 +275,17 @@
- type: Sprite
sprite: Objects/Specific/Hydroponics/nettle.rsi
+- type: entity
+ parent: SeedBase
+ name: packet of death nettle seeds
+ description: "Handle with very thick gloves."
+ id: DeathNettleSeeds
+ components:
+ - type: Seed
+ seedId: deathNettle
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/death_nettle.rsi
+
- type: entity
parent: SeedBase
name: packet of chili seeds
@@ -246,6 +297,17 @@
- type: Sprite
sprite: Objects/Specific/Hydroponics/chili.rsi
+- type: entity
+ parent: SeedBase
+ name: packet of chilly seeds
+ description: "Frostburn."
+ id: ChillySeeds
+ components:
+ - type: Seed
+ seedId: chilly
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/chilly.rsi
+
- type: entity
parent: SeedBase
name: packet of aloe seeds
@@ -290,6 +352,17 @@
- type: Sprite
sprite: Objects/Specific/Hydroponics/ambrosia_vulgaris.rsi
+- type: entity
+ parent: SeedBase
+ name: packet of ambrosia deus seeds
+ description: "A medicinal plant for the gods themselves."
+ id: AmbrosiaDeusSeeds
+ components:
+ - type: Seed
+ seedId: ambrosiaDeus
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/ambrosia_deus.rsi
+
- type: entity
parent: SeedBase
name: packet of galaxythistle seeds
@@ -354,6 +427,16 @@
- type: Sprite
sprite: Objects/Specific/Hydroponics/soybeans.rsi
+- type: entity
+ parent: SeedBase
+ name: packet of koibean seeds
+ id: KoibeanSeeds
+ components:
+ - type: Seed
+ seedId: koibean
+ - type: Sprite
+ sprite: Objects/Specific/Hydroponics/koibean.rsi
+
- type: entity
parent: SeedBase
name: packet of red onion seeds
diff --git a/Resources/Prototypes/Hydroponics/seeds.yml b/Resources/Prototypes/Hydroponics/seeds.yml
index aa18088766..277cadd12b 100644
--- a/Resources/Prototypes/Hydroponics/seeds.yml
+++ b/Resources/Prototypes/Hydroponics/seeds.yml
@@ -59,6 +59,8 @@
packetPrototype: BananaSeeds
productPrototypes:
- FoodBanana
+ mutationPrototypes:
+ - mimana
harvestRepeat: Repeat
lifespan: 50
maturation: 6
@@ -77,6 +79,33 @@
Max: 2
PotencyDivisor: 50
+- type: seed
+ id: mimana
+ name: seeds-mimana-name
+ noun: seeds-noun-seeds
+ displayName: seeds-mimana-display-name
+ plantRsi: Objects/Specific/Hydroponics/mimana.rsi
+ packetPrototype: MimanaSeeds
+ productPrototypes:
+ - FoodMimana
+ harvestRepeat: Repeat
+ lifespan: 50
+ maturation: 6
+ production: 6
+ yield: 2
+ idealLight: 9
+ waterConsumption: 0.60
+ idealHeat: 298
+ chemicals:
+ MuteToxin:
+ Min: 1
+ Max: 5
+ PotencyDivisor: 20
+ Nutriment:
+ Min: 1
+ Max: 2
+ PotencyDivisor: 50
+
- type: seed
id: carrots
name: seeds-carrots-name
@@ -270,6 +299,8 @@
packetPrototype: TowercapSeeds
productPrototypes:
- Log
+ mutationPrototypes:
+ - steelcap
lifespan: 80
maturation: 15
ligneous: true
@@ -282,6 +313,27 @@
lightTolerance: 6
idealHeat: 288
+- type: seed
+ id: steelcap
+ name: seeds-steelcap-name
+ noun: seeds-noun-spores
+ displayName: seeds-steelcap-display-name
+ plantRsi: Objects/Specific/Hydroponics/steelcap.rsi
+ packetPrototype: SteelcapSeeds
+ productPrototypes:
+ - SteelLog
+ lifespan: 80
+ maturation: 15
+ ligneous: true
+ production: 3
+ yield: 3
+ potency: 1
+ growthStages: 3
+ waterConsumption: 0.60
+ nutrientConsumption: 0.80
+ lightTolerance: 6
+ idealHeat: 288
+
- type: seed
id: tomato
name: seeds-tomato-name
@@ -291,6 +343,9 @@
packetPrototype: TomatoSeeds
productPrototypes:
- FoodTomato
+ mutationPrototypes:
+ - blueTomato
+ - bloodTomato
harvestRepeat: Repeat
lifespan: 25
maturation: 8
@@ -317,6 +372,72 @@
Max: 4
PotencyDivisor: 25
+- type: seed
+ id: blueTomato
+ name: seeds-bluetomato-name
+ noun: seeds-noun-seeds
+ displayName: seeds-bluetomato-display-name
+ plantRsi: Objects/Specific/Hydroponics/blue_tomato.rsi
+ packetPrototype: BlueTomatoSeeds
+ productPrototypes:
+ - FoodBlueTomato
+ harvestRepeat: Repeat
+ lifespan: 25
+ maturation: 8
+ production: 6
+ yield: 2
+ potency: 10
+ waterConsumption: 0.60
+ nutrientConsumption: 0.70
+ idealLight: 8
+ idealHeat: 298
+ juicy: true
+ splatPrototype: PuddleSplatter
+ chemicals:
+ Nutriment:
+ Min: 1
+ Max: 5
+ PotencyDivisor: 20
+ SpaceLube:
+ Min: 1
+ Max: 10
+ PotencyDivisor: 10
+ Vitamin:
+ Min: 1
+ Max: 4
+ PotencyDivisor: 25
+
+- type: seed
+ id: bloodTomato
+ name: seeds-bloodtomato-name
+ noun: seeds-noun-seeds
+ displayName: seeds-bloodtomato-display-name
+ plantRsi: Objects/Specific/Hydroponics/blood_tomato.rsi
+ packetPrototype: BloodTomatoSeeds
+ productPrototypes:
+ - FoodBloodTomato
+ harvestRepeat: Repeat
+ lifespan: 25
+ maturation: 8
+ production: 6
+ yield: 2
+ potency: 10
+ waterConsumption: 0.60
+ nutrientConsumption: 0.70
+ idealLight: 8
+ idealHeat: 298
+ juicy: true
+ splatPrototype: PuddleSplatter
+ chemicals:
+ Blood:
+ Min: 1
+ Max: 10
+ PotencyDivisor: 10
+ Vitamin:
+ Min: 1
+ Max: 4
+ PotencyDivisor: 25
+
- type: seed
id: eggplant
name: seeds-eggplant-name
@@ -326,6 +447,8 @@
packetPrototype: EggplantSeeds
productPrototypes:
- FoodEggplant
+ mutationPrototypes:
+ - eggy
harvestRepeat: Repeat
lifespan: 25
maturation: 6
@@ -461,6 +584,8 @@
packetPrototype: OnionSeeds
productPrototypes:
- FoodOnion
+ mutationPrototypes:
+ - onionred
lifespan: 25
maturation: 8
production: 6
@@ -624,6 +749,8 @@
packetPrototype: NettleSeeds
productPrototypes:
- Nettle
+ mutationPrototypes:
+ - deathNettle
lifespan: 25
maturation: 8
production: 6
@@ -639,6 +766,35 @@
Max: 25
PotencyDivisor: 4
+- type: seed
+ id: deathNettle
+ name: seeds-deathnettle-name
+ noun: seeds-noun-seeds
+ displayName: seeds-deathnettle-display-name
+ plantRsi: Objects/Specific/Hydroponics/death_nettle.rsi
+ packetPrototype: DeathNettleSeeds
+ productPrototypes:
+ - DeathNettle
+ lifespan: 25
+ maturation: 8
+ production: 6
+ yield: 2
+ potency: 20
+ growthStages: 5
+ idealLight: 8
+ waterConsumption: 0.70
+ nutrientConsumption: 0.80
+ idealHeat: 298
+ chemicals:
+ SulfuricAcid:
+ Min: 1
+ Max: 15
+ PotencyDivisor: 6
+ FluorosulfuricAcid:
+ Min: 1
+ Max: 15
+ PotencyDivisor: 6
+
- type: seed
id: chili
name: seeds-chili-name
@@ -648,6 +804,8 @@
packetPrototype: ChiliSeeds
productPrototypes:
- FoodChili
+ mutationPrototypes:
+ - chilly
harvestRepeat: Repeat
lifespan: 25
maturation: 6
@@ -670,6 +828,37 @@
Max: 4
PotencyDivisor: 25
+- type: seed
+ id: chilly
+ name: seeds-chilly-name
+ noun: seeds-noun-seeds
+ displayName: seeds-chilly-display-name
+ plantRsi: Objects/Specific/Hydroponics/chilly.rsi
+ packetPrototype: ChillySeeds
+ productPrototypes:
+ - FoodChilly
+ harvestRepeat: Repeat
+ lifespan: 25
+ maturation: 6
+ production: 6
+ yield: 2
+ potency: 20
+ idealLight: 9
+ idealHeat: 298
+ chemicals:
+ Frostoil:
+ Min: 1
+ Max: 10
+ PotencyDivisor: 10
+ Nutriment:
+ Min: 1
+ Max: 4
+ PotencyDivisor: 25
+ Vitamin:
+ Min: 1
+ Max: 4
+ PotencyDivisor: 25
+
- type: seed
id: poppy
name: seeds-poppy-name
@@ -757,6 +946,8 @@
packetPrototype: AmbrosiaVulgarisSeeds
productPrototypes:
- FoodAmbrosiaVulgaris
+ mutationPrototypes:
+ - ambrosiaDeus
lifespan: 25
maturation: 10
production: 3
@@ -786,6 +977,40 @@
Max: 2
Potencydivisor: 50
+- type: seed
+ id: ambrosiaDeus
+ name: seeds-ambrosiadeus-name
+ noun: seeds-noun-seeds
+ displayName: seeds-ambrosiadeus-display-name
+ plantRsi: Objects/Specific/Hydroponics/ambrosia_deus.rsi
+ packetPrototype: AmbrosiaDeusSeeds
+ productPrototypes:
+ - FoodAmbrosiaDeus
+ lifespan: 25
+ maturation: 10
+ production: 3
+ yield: 3
+ potency: 10
+ growthStages: 6
+ waterConsumption: 0.60
+ chemicals:
+ Nutriment:
+ Min: 1
+ Max: 2
+ PotencyDivisor: 10
+ Omnizine: # Don't kill me
+ Min: 1
+ Max: 5
+ PotencyDivisor: 20
+ SpaceDrugs:
+ Min: 1
+ Max: 5
+ PotencyDivisor: 20
+ Desoxyephedrine:
+ Min: 1
+ Max: 10
+ PotencyDivisor: 10
+
- type: seed
id: galaxythistle
name: seeds-galaxythistle-name
@@ -898,6 +1123,31 @@
packetPrototype: SoybeanSeeds
productPrototypes:
- FoodSoybeans
+ mutationPrototypes:
+ - koibean
+ growthStages: 4
+ lifespan: 25
+ maturation: 6
+ production: 6
+ yield: 3
+ potency: 5
+ idealLight: 7
+ nutrientConsumption: 0.40
+ chemicals:
+ Nutriment:
+ Min: 1
+ Max: 3
+ PotencyDivisor: 25
+
+- type: seed
+ id: koibean
+ name: seeds-koibean-name
+ noun: seeds-noun-seeds
+ displayName: seeds-koibean-display-name
+ plantRsi: Objects/Specific/Hydroponics/koibean.rsi
+ packetPrototype: KoibeanSeeds
+ productPrototypes:
+ - FoodKoibean
growthStages: 4
lifespan: 25
maturation: 6
@@ -911,6 +1161,10 @@
Min: 1
Max: 5
PotencyDivisor: 20
+ CarpoToxin:
+ Min: 1
+ Max: 4
+ PotencyDivisor: 30
- type: seed
id: grape
diff --git a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml
index fc0e97b5aa..d329821230 100644
--- a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml
+++ b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml
@@ -360,11 +360,10 @@
result: FoodBreadMimana
time: 15
reagents:
- MilkSoy: 5
- Nothing: 5 #replace with mimana
+ Nothing: 5
solids:
FoodDough: 1
- FoodTofu: 1
+ FoodMimana: 1
- type: microwaveMealRecipe
id: RecipeBread
@@ -804,8 +803,7 @@
Blood: 10
solids:
FoodBowlBig: 1
- FoodTomato: 2
- #todo Replace with blood tomato
+ FoodBloodTomato: 2
- type: microwaveMealRecipe
id: RecipeWingFangChuSoup
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/dead.png b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/dead.png
new file mode 100644
index 0000000000..bf926e4e3b
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/dead.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/equipped-HELMET.png b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/equipped-HELMET.png
new file mode 100644
index 0000000000..bfe45ac800
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/equipped-HELMET.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/harvest.png b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/harvest.png
new file mode 100644
index 0000000000..3f4f2429a9
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/harvest.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/meta.json b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/meta.json
new file mode 100644
index 0000000000..40707f825b
--- /dev/null
+++ b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/meta.json
@@ -0,0 +1,53 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from https://github.com/tgstation/tgstation/commit/bd870d649cc8ac9d8af2fbc046af4a79afb5ab28",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "dead"
+ },
+ {
+ "name": "harvest",
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "produce"
+ },
+ {
+ "name": "seed"
+ },
+ {
+ "name": "stage-1"
+ },
+ {
+ "name": "stage-2"
+ },
+ {
+ "name": "stage-3"
+ },
+ {
+ "name": "stage-4"
+ },
+ {
+ "name": "stage-5"
+ },
+ {
+ "name": "stage-6"
+ },
+ {
+ "name": "equipped-HELMET",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/produce.png b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/produce.png
new file mode 100644
index 0000000000..98ff617ef3
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/produce.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/seed.png b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/seed.png
new file mode 100644
index 0000000000..5d28a30e6e
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/seed.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-1.png b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-1.png
new file mode 100644
index 0000000000..4a94d43c07
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-2.png b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-2.png
new file mode 100644
index 0000000000..bca9f99930
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-3.png b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-3.png
new file mode 100644
index 0000000000..0649c3cd58
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-3.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-4.png b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-4.png
new file mode 100644
index 0000000000..5885942bd3
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-4.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-5.png b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-5.png
new file mode 100644
index 0000000000..76205e8f2d
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-5.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-6.png b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-6.png
new file mode 100644
index 0000000000..8ce6611f71
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/ambrosia_deus.rsi/stage-6.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/dead.png b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/dead.png
new file mode 100644
index 0000000000..25d398c8f9
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/dead.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/harvest.png b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/harvest.png
new file mode 100644
index 0000000000..a2628d5589
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/harvest.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/meta.json b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/meta.json
new file mode 100644
index 0000000000..fd70b99058
--- /dev/null
+++ b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/meta.json
@@ -0,0 +1,41 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at 1dbcf389b0ec6b2c51b002df5fef8dd1519f8068",
+ "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"
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/produce.png b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/produce.png
new file mode 100644
index 0000000000..bf5f2fee7a
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/produce.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/seed.png b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/seed.png
new file mode 100644
index 0000000000..80fe525edf
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/seed.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-1.png b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-1.png
new file mode 100644
index 0000000000..e34ef20fff
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-2.png b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-2.png
new file mode 100644
index 0000000000..129b560922
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-3.png b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-3.png
new file mode 100644
index 0000000000..a80a9c7b6f
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-3.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-4.png b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-4.png
new file mode 100644
index 0000000000..1cb5be1317
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-4.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-5.png b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-5.png
new file mode 100644
index 0000000000..abdb41dd9c
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-5.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-6.png b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-6.png
new file mode 100644
index 0000000000..bcf5686df9
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/stage-6.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/dead.png b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/dead.png
new file mode 100644
index 0000000000..25d398c8f9
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/dead.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/harvest.png b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/harvest.png
new file mode 100644
index 0000000000..930f67cc65
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/harvest.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/meta.json b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/meta.json
new file mode 100644
index 0000000000..fd70b99058
--- /dev/null
+++ b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/meta.json
@@ -0,0 +1,41 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at 1dbcf389b0ec6b2c51b002df5fef8dd1519f8068",
+ "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"
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/produce.png b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/produce.png
new file mode 100644
index 0000000000..465dd4eefb
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/produce.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/seed.png b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/seed.png
new file mode 100644
index 0000000000..2d19327516
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/seed.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-1.png b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-1.png
new file mode 100644
index 0000000000..5353eb5a6c
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-2.png b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-2.png
new file mode 100644
index 0000000000..7ed189bdbc
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-3.png b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-3.png
new file mode 100644
index 0000000000..9a253c7354
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-3.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-4.png b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-4.png
new file mode 100644
index 0000000000..b8eccc4585
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-4.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-5.png b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-5.png
new file mode 100644
index 0000000000..1397b0b044
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-5.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-6.png b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-6.png
new file mode 100644
index 0000000000..27afd0c2ec
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/stage-6.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/dead.png b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/dead.png
new file mode 100644
index 0000000000..5e8ef56941
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/dead.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/harvest.png b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/harvest.png
new file mode 100644
index 0000000000..618fd68be3
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/harvest.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/meta.json b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/meta.json
new file mode 100644
index 0000000000..1acde5d635
--- /dev/null
+++ b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/meta.json
@@ -0,0 +1,41 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/commit/b459ea3fdee965bdc3e93e7983ad7fa610d05c12",
+ "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"
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/produce.png b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/produce.png
new file mode 100644
index 0000000000..45ea8a32f5
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/produce.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/seed.png b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/seed.png
new file mode 100644
index 0000000000..fdb29c9a58
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/seed.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-1.png b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-1.png
new file mode 100644
index 0000000000..3738f191d6
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-2.png b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-2.png
new file mode 100644
index 0000000000..e6381c1c09
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-3.png b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-3.png
new file mode 100644
index 0000000000..a5a94077a1
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-3.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-4.png b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-4.png
new file mode 100644
index 0000000000..5445d57a95
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-4.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-5.png b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-5.png
new file mode 100644
index 0000000000..72b38c2538
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-5.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-6.png b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-6.png
new file mode 100644
index 0000000000..de66ea6474
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/chilly.rsi/stage-6.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/dead.png b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/dead.png
new file mode 100644
index 0000000000..87b39e2a56
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/dead.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/harvest.png b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/harvest.png
new file mode 100644
index 0000000000..69a19b7f89
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/harvest.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/inhand-left.png b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/inhand-left.png
new file mode 100644
index 0000000000..1e45f5ee18
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/inhand-left.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/inhand-right.png b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/inhand-right.png
new file mode 100644
index 0000000000..df8b5fbebe
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/inhand-right.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/meta.json b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/meta.json
new file mode 100644
index 0000000000..361c777a97
--- /dev/null
+++ b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/meta.json
@@ -0,0 +1,46 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "dead"
+ },
+ {
+ "name": "harvest"
+ },
+ {
+ "name": "produce"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "seed"
+ },
+ {
+ "name": "stage-1"
+ },
+ {
+ "name": "stage-2"
+ },
+ {
+ "name": "stage-3"
+ },
+ {
+ "name": "stage-4"
+ },
+ {
+ "name": "stage-5"
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/produce.png b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/produce.png
new file mode 100644
index 0000000000..88ae743177
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/produce.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/seed.png b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/seed.png
new file mode 100644
index 0000000000..7951c49d35
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/seed.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-1.png b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-1.png
new file mode 100644
index 0000000000..ffe7bc8034
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-2.png b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-2.png
new file mode 100644
index 0000000000..c694b5bf07
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-3.png b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-3.png
new file mode 100644
index 0000000000..b40c63d294
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-3.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-4.png b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-4.png
new file mode 100644
index 0000000000..eb6779ed03
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-4.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-5.png b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-5.png
new file mode 100644
index 0000000000..18b2a825dd
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/death_nettle.rsi/stage-5.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/dead.png b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/dead.png
new file mode 100644
index 0000000000..44755fdd88
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/dead.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/harvest.png b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/harvest.png
new file mode 100644
index 0000000000..7d50c8a41e
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/harvest.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/meta.json b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/meta.json
new file mode 100644
index 0000000000..4e433c101e
--- /dev/null
+++ b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/meta.json
@@ -0,0 +1,35 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from https://github.com/tgstation/tgstation/commit/696dfcc59c9e65e7bbe3923d1f7e880ea384783f",
+ "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"
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/produce.png b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/produce.png
new file mode 100644
index 0000000000..2990d41d96
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/produce.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/seed.png b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/seed.png
new file mode 100644
index 0000000000..9691f85da8
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/seed.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-1.png b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-1.png
new file mode 100644
index 0000000000..9a12e8fdd8
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-2.png b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-2.png
new file mode 100644
index 0000000000..05fbeeef12
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-3.png b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-3.png
new file mode 100644
index 0000000000..5d77527980
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-3.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-4.png b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-4.png
new file mode 100644
index 0000000000..c1058f829a
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/koibean.rsi/stage-4.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/dead.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/dead.png
new file mode 100644
index 0000000000..3df1e3a500
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/dead.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/harvest.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/harvest.png
new file mode 100644
index 0000000000..fd3edc9158
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/harvest.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/meta.json b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/meta.json
new file mode 100644
index 0000000000..88c277fde7
--- /dev/null
+++ b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/meta.json
@@ -0,0 +1,67 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/6be7633abca9f1a51cab1020500cf0776ce78e5c",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "dead"
+ },
+ {
+ "name": "harvest"
+ },
+ {
+ "name": "produce"
+ },
+ {
+ "name": "peel"
+ },
+ {
+ "name": "peel2"
+ },
+ {
+ "name": "peel3"
+ },
+ {
+ "name": "peel-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "peel-inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "seed"
+ },
+ {
+ "name": "stage-1"
+ },
+ {
+ "name": "stage-2"
+ },
+ {
+ "name": "stage-3"
+ },
+ {
+ "name": "stage-4"
+ },
+ {
+ "name": "stage-5"
+ },
+ {
+ "name": "stage-6"
+ },
+ {
+ "name": "primed",
+ "delays": [
+ [
+ 4.9,
+ 0.1
+ ]
+ ]
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel-inhand-left.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel-inhand-left.png
new file mode 100644
index 0000000000..636e6e0edb
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel-inhand-right.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel-inhand-right.png
new file mode 100644
index 0000000000..b0b57704be
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel.png
new file mode 100644
index 0000000000..7466bb896d
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel2.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel2.png
new file mode 100644
index 0000000000..3a67bea887
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel2.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel3.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel3.png
new file mode 100644
index 0000000000..19ea5649dd
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/peel3.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/primed.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/primed.png
new file mode 100644
index 0000000000..0baf6cb2a5
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/primed.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/produce.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/produce.png
new file mode 100644
index 0000000000..a52c185508
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/produce.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/seed.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/seed.png
new file mode 100644
index 0000000000..21c5f9f75c
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/seed.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-1.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-1.png
new file mode 100644
index 0000000000..0e5ef65f02
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-2.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-2.png
new file mode 100644
index 0000000000..ce90e178e4
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-3.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-3.png
new file mode 100644
index 0000000000..981d682a77
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-3.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-4.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-4.png
new file mode 100644
index 0000000000..981d682a77
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-4.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-5.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-5.png
new file mode 100644
index 0000000000..3ff16225c3
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-5.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-6.png b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-6.png
new file mode 100644
index 0000000000..3ff16225c3
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/mimana.rsi/stage-6.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/dead.png b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/dead.png
new file mode 100644
index 0000000000..4a6ec75c8a
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/dead.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/harvest.png b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/harvest.png
new file mode 100644
index 0000000000..5295c304cd
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/harvest.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/meta.json b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/meta.json
new file mode 100644
index 0000000000..5d378bcac6
--- /dev/null
+++ b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/meta.json
@@ -0,0 +1,32 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from https://github.com/tgstation/tgstation/commit/dccc1e60a3c151e2b7fac26da7b3087757f1e116",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "dead"
+ },
+ {
+ "name": "harvest"
+ },
+ {
+ "name": "produce"
+ },
+ {
+ "name": "seed"
+ },
+ {
+ "name": "stage-1"
+ },
+ {
+ "name": "stage-2"
+ },
+ {
+ "name": "stage-3"
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/produce.png b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/produce.png
new file mode 100644
index 0000000000..0177af6e72
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/produce.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/seed.png b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/seed.png
new file mode 100644
index 0000000000..90bddae87b
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/seed.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/stage-1.png b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/stage-1.png
new file mode 100644
index 0000000000..dd7692b326
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/stage-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/stage-2.png b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/stage-2.png
new file mode 100644
index 0000000000..bcdad96e93
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/stage-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/stage-3.png b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/stage-3.png
new file mode 100644
index 0000000000..5295c304cd
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Hydroponics/steelcap.rsi/stage-3.png differ