diff --git a/Content.Server/Gatherable/Components/GatherableComponent.cs b/Content.Server/Gatherable/Components/GatherableComponent.cs
index f1d0c6ef74..5480f4404f 100644
--- a/Content.Server/Gatherable/Components/GatherableComponent.cs
+++ b/Content.Server/Gatherable/Components/GatherableComponent.cs
@@ -1,4 +1,6 @@
+using Content.Shared.EntityList;
using Content.Shared.Whitelist;
+using Robust.Shared.Prototypes;
namespace Content.Server.Gatherable.Components;
@@ -10,7 +12,7 @@ public sealed partial class GatherableComponent : Component
/// Whitelist for specifying the kind of tools can be used on a resource
/// Supports multiple tags.
///
- [DataField("whitelist", required: true)]
+ [DataField(required: true)]
public EntityWhitelist? ToolWhitelist;
///
@@ -18,14 +20,20 @@ public sealed partial class GatherableComponent : Component
/// (Tag1, Tag2, LootTableID1, LootTableID2 are placeholders for example)
/// --------------------
/// useMappedLoot: true
- /// whitelist:
+ /// toolWhitelist:
/// tags:
/// - Tag1
/// - Tag2
- /// mappedLoot:
+ /// loot:
/// Tag1: LootTableID1
/// Tag2: LootTableID2
///
- [DataField("loot")]
- public Dictionary? MappedLoot = new();
+ [DataField]
+ public Dictionary>? Loot = new();
+
+ ///
+ /// Random shift of the appearing entity during gathering
+ ///
+ [DataField]
+ public float GatherOffset = 0.3f;
}
diff --git a/Content.Server/Gatherable/GatherableSystem.Projectile.cs b/Content.Server/Gatherable/GatherableSystem.Projectile.cs
index f773ca2dbb..3ab8872fd7 100644
--- a/Content.Server/Gatherable/GatherableSystem.Projectile.cs
+++ b/Content.Server/Gatherable/GatherableSystem.Projectile.cs
@@ -1,7 +1,5 @@
using Content.Server.Gatherable.Components;
-using Content.Server.Projectiles;
using Content.Shared.Projectiles;
-using Content.Shared.Weapons.Ranged.Systems;
using Robust.Shared.Physics.Events;
namespace Content.Server.Gatherable;
@@ -13,20 +11,20 @@ public sealed partial class GatherableSystem
SubscribeLocalEvent(OnProjectileCollide);
}
- private void OnProjectileCollide(EntityUid uid, GatheringProjectileComponent component, ref StartCollideEvent args)
+ private void OnProjectileCollide(Entity gathering, ref StartCollideEvent args)
{
if (!args.OtherFixture.Hard ||
args.OurFixtureId != SharedProjectileSystem.ProjectileFixture ||
- component.Amount <= 0 ||
+ gathering.Comp.Amount <= 0 ||
!TryComp(args.OtherEntity, out var gatherable))
{
return;
}
- Gather(args.OtherEntity, uid, gatherable);
- component.Amount--;
+ Gather(args.OtherEntity, gathering, gatherable);
+ gathering.Comp.Amount--;
- if (component.Amount <= 0)
- QueueDel(uid);
+ if (gathering.Comp.Amount <= 0)
+ QueueDel(gathering);
}
}
diff --git a/Content.Server/Gatherable/GatherableSystem.cs b/Content.Server/Gatherable/GatherableSystem.cs
index 11295bb3a3..44e60cb102 100644
--- a/Content.Server/Gatherable/GatherableSystem.cs
+++ b/Content.Server/Gatherable/GatherableSystem.cs
@@ -1,11 +1,9 @@
using Content.Server.Destructible;
using Content.Server.Gatherable.Components;
-using Content.Shared.EntityList;
using Content.Shared.Interaction;
using Content.Shared.Tag;
using Content.Shared.Weapons.Melee.Events;
using Robust.Server.GameObjects;
-using Robust.Shared.Audio;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
@@ -14,7 +12,7 @@ namespace Content.Server.Gatherable;
public sealed partial class GatherableSystem : EntitySystem
{
- [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
+ [Dependency] private readonly IPrototypeManager _proto = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly DestructibleSystem _destructible = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
@@ -30,20 +28,20 @@ public sealed partial class GatherableSystem : EntitySystem
InitializeProjectile();
}
- private void OnAttacked(EntityUid uid, GatherableComponent component, AttackedEvent args)
+ private void OnAttacked(Entity gatherable, ref AttackedEvent args)
{
- if (component.ToolWhitelist?.IsValid(args.Used, EntityManager) != true)
+ if (gatherable.Comp.ToolWhitelist?.IsValid(args.Used, EntityManager) != true)
return;
- Gather(uid, args.User, component);
+ Gather(gatherable, args.User);
}
- private void OnActivate(EntityUid uid, GatherableComponent component, ActivateInWorldEvent args)
+ private void OnActivate(Entity gatherable, ref ActivateInWorldEvent args)
{
- if (component.ToolWhitelist?.IsValid(args.User, EntityManager) != true)
+ if (gatherable.Comp.ToolWhitelist?.IsValid(args.User, EntityManager) != true)
return;
- Gather(uid, args.User, component);
+ Gather(gatherable, args.User);
}
public void Gather(EntityUid gatheredUid, EntityUid? gatherer = null, GatherableComponent? component = null)
@@ -60,25 +58,22 @@ public sealed partial class GatherableSystem : EntitySystem
_destructible.DestroyEntity(gatheredUid);
// Spawn the loot!
- if (component.MappedLoot == null)
+ if (component.Loot == null)
return;
var pos = _transform.GetMapCoordinates(gatheredUid);
- foreach (var (tag, table) in component.MappedLoot)
+ foreach (var (tag, table) in component.Loot)
{
if (tag != "All")
{
if (gatherer != null && !_tagSystem.HasTag(gatherer.Value, tag))
continue;
}
- var getLoot = _prototypeManager.Index(table);
+ var getLoot = _proto.Index(table);
var spawnLoot = getLoot.GetSpawns(_random);
- var spawnPos = pos.Offset(_random.NextVector2(0.3f));
+ var spawnPos = pos.Offset(_random.NextVector2(component.GatherOffset));
Spawn(spawnLoot[0], spawnPos);
}
}
}
-
-
-
diff --git a/Resources/Audio/_CP14/Items/attributions.yml b/Resources/Audio/_CP14/Items/attributions.yml
index 542085c891..e4f851dd87 100644
--- a/Resources/Audio/_CP14/Items/attributions.yml
+++ b/Resources/Audio/_CP14/Items/attributions.yml
@@ -21,4 +21,9 @@
- files: ["campfire_whoosh.ogg"]
license: "CC0-1.0"
copyright: 'by GrimGrum of Freesound.org. Cropped and mixed from stereo to mono.'
- source: "https://freesound.org/people/GrimGrum/sounds/412558/"
\ No newline at end of file
+ source: "https://freesound.org/people/GrimGrum/sounds/412558/"
+
+- files: ["grass_gather.ogg", "grass_gather2.ogg", "grass_gather3.ogg"]
+ license: "CC0-1.0"
+ copyright: 'by hadescolossus of Freesound.org. Cropped and mixed from stereo to mono.'
+ source: "https://freesound.org/people/hadescolossus/sounds/705228/"
\ No newline at end of file
diff --git a/Resources/Audio/_CP14/Items/grass_gather.ogg b/Resources/Audio/_CP14/Items/grass_gather.ogg
new file mode 100644
index 0000000000..84a675571a
Binary files /dev/null and b/Resources/Audio/_CP14/Items/grass_gather.ogg differ
diff --git a/Resources/Audio/_CP14/Items/grass_gather2.ogg b/Resources/Audio/_CP14/Items/grass_gather2.ogg
new file mode 100644
index 0000000000..4428e01877
Binary files /dev/null and b/Resources/Audio/_CP14/Items/grass_gather2.ogg differ
diff --git a/Resources/Audio/_CP14/Items/grass_gather3.ogg b/Resources/Audio/_CP14/Items/grass_gather3.ogg
new file mode 100644
index 0000000000..6e279a5e88
Binary files /dev/null and b/Resources/Audio/_CP14/Items/grass_gather3.ogg differ
diff --git a/Resources/Locale/en-US/_CP14/reagents/meta/basic-effect-reagent.ftl b/Resources/Locale/en-US/_CP14/reagents/meta/basic-effect-reagent.ftl
new file mode 100644
index 0000000000..437df1f011
--- /dev/null
+++ b/Resources/Locale/en-US/_CP14/reagents/meta/basic-effect-reagent.ftl
@@ -0,0 +1,14 @@
+cp14-reagent-name-basic-heal-blunt = Healing solution for bruises
+cp14-reagent-desc-basic-heal-blunt = Effectively treats bones and bruises.
+
+cp14-reagent-name-basic-heal-piercing = Healing solution for puncture wounds
+cp14-reagent-desc-basic-heal-piercing = Effectively heals puncture wounds.
+
+cp14-reagent-name-basic-heal-slash = Healing solution for cuts.
+cp14-reagent-desc-basic-heal-slash = Effectively heals torn tissue.
+
+cp14-reagent-name-basic-satiate-hunger = Saturating solution
+cp14-reagent-desc-basic-satiate-hunger = A mixture that effectively restores hunger.
+
+cp14-reagent-name-basic-satiate-thirst = Life-giving moisture.
+cp14-reagent-desc-basic-satiate-thirst = A liquid that tastes very much like water. It tastes strange, but it's a good thirst quencher.
\ No newline at end of file
diff --git a/Resources/Locale/ru-RU/_CP14/reagents/meta/basic-effect-reagent.ftl b/Resources/Locale/ru-RU/_CP14/reagents/meta/basic-effect-reagent.ftl
new file mode 100644
index 0000000000..9d0e28fa9c
--- /dev/null
+++ b/Resources/Locale/ru-RU/_CP14/reagents/meta/basic-effect-reagent.ftl
@@ -0,0 +1,14 @@
+cp14-reagent-name-basic-heal-blunt = Лечебный раствор от ушибов
+cp14-reagent-desc-basic-heal-blunt = Эффективно лечит кости и ушибы.
+
+cp14-reagent-name-basic-heal-piercing = Лечебный раствор от уколов
+cp14-reagent-desc-basic-heal-piercing = Эффективно заращивает колотые раны.
+
+cp14-reagent-name-basic-heal-slash = Лечебный раствор от порезов
+cp14-reagent-desc-basic-heal-slash = Эффективно залечивает разорванные ткани.
+
+cp14-reagent-name-basic-satiate-hunger = Насыщающий раствор
+cp14-reagent-desc-basic-satiate-hunger = Смесь, эффективно восстанавливающая голод.
+
+cp14-reagent-name-basic-satiate-thirst = Живительная влага
+cp14-reagent-desc-basic-satiate-thirst = Жилкость, очень похожая на воду. Странная на вкус, но неплохо восполняет жажду.
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Objects/Misc/spaceshroom.yml b/Resources/Prototypes/Entities/Objects/Misc/spaceshroom.yml
index 9ec6ce0ed1..347371330b 100644
--- a/Resources/Prototypes/Entities/Objects/Misc/spaceshroom.yml
+++ b/Resources/Prototypes/Entities/Objects/Misc/spaceshroom.yml
@@ -19,14 +19,12 @@
!type:PhysShapeCircle
radius: 0.2
- type: InteractionOutline
- # TODO: Nuke this shit
- - type: OreVein
- oreChance: 1.0
- currentOre: SpaceShrooms
- type: Gatherable
- whitelist:
+ toolWhitelist:
components:
- Hands
+ loot:
+ All: SpaceshroomGather
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
@@ -39,6 +37,13 @@
- !type:DoActsBehavior
acts: [ "Destruction" ]
+- type: entityLootTable
+ id: SpaceshroomGather
+ entries:
+ - id: FoodSpaceshroom
+ amount: 1
+ maxAmount: 1
+
- type: entity
name: spaceshroom
parent: FoodProduceBase
@@ -120,4 +125,4 @@
state: spaceshroom_cooked
- type: Produce
- type: StaticPrice
- price: 40
+ price: 40
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml
index a8cb0b1cb8..8053a4196c 100644
--- a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml
+++ b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml
@@ -374,8 +374,8 @@
- type: Transform
noRot: true
- type: SoundOnGather
- - type: Gatherable
- whitelist:
+ - type: Gatherable
+ toolWhitelist:
tags:
- Pickaxe
- type: Damageable
diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sickle.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sickle.yml
index d3c9a9334c..8a8b96f042 100644
--- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sickle.yml
+++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sickle.yml
@@ -35,4 +35,7 @@
Slash: 5
Piercing: 3
soundHit:
- collection: MetalThud
\ No newline at end of file
+ collection: MetalThud
+ - type: Tag
+ tags:
+ - CP14HerbalGathering
\ No newline at end of file
diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/herbals.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/herbals.yml
new file mode 100644
index 0000000000..b10b589327
--- /dev/null
+++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/herbals.yml
@@ -0,0 +1,82 @@
+- type: entity
+ id: CP14GatherableHerbalBase
+ parent: BaseStructure
+ abstract: true
+ components:
+ - type: Transform
+ anchored: true
+ - type: Physics
+ canCollide: false
+ - type: Gatherable
+ toolWhitelist:
+ tags:
+ - CP14HerbalGathering
+ - type: Damageable
+ damageContainer: Inorganic
+ damageModifierSet: Wood
+ - type: MeleeSound
+ soundGroups:
+ Brute:
+ collection: CP14GrassGathering
+ params:
+ variation: 0.03
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 25
+ behaviors:
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+
+# Bloodgrass
+
+- type: entityLootTable
+ id: CP14GatherBloodgrass
+ entries:
+ - id: CP14BloodGrass
+ amount: 1
+ maxAmount: 1
+
+- type: entity
+ id: CP14GatherableBloodgrass
+ parent: CP14GatherableHerbalBase
+ name: bloodgrass
+ description: The dullest and most common plant to be found in the wild is the dark brown grass.
+ suffix: Gatherable
+ components:
+ - type: Sprite
+ drawdepth: FloorTiles
+ sprite: _CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi
+ state: grass1
+ - type: Gatherable
+ loot:
+ All: CP14GatherBloodgrass
+
+- type: entity
+ id: CP14GatherableBloodgrass2
+ parent: CP14GatherableBloodgrass
+ components:
+ - type: Sprite
+ state: grass2
+
+- type: entity
+ id: CP14GatherableBloodgrass3
+ parent: CP14GatherableBloodgrass
+ components:
+ - type: Sprite
+ state: grass3
+
+- type: entity
+ id: CP14GatherableBloodgrass4
+ parent: CP14GatherableBloodgrass
+ components:
+ - type: Sprite
+ state: grass4
+
+- type: entity
+ id: CP14GatherableBloodgrass5
+ parent: CP14GatherableBloodgrass
+ components:
+ - type: Sprite
+ state: grass5
\ No newline at end of file
diff --git a/Resources/Prototypes/_CP14/Entities/Structures/dungeon_entrance.yml b/Resources/Prototypes/_CP14/Entities/Structures/dungeon_entrance.yml
index fdceac744c..57c5d479fa 100644
--- a/Resources/Prototypes/_CP14/Entities/Structures/dungeon_entrance.yml
+++ b/Resources/Prototypes/_CP14/Entities/Structures/dungeon_entrance.yml
@@ -34,7 +34,7 @@
randomTeleport: false
- type: entity
- parent: PortalBlue
+ parent: CP14DungeonEntrance
id: CP14DungeonEntranceAutolink
suffix: Autolink Dungeon
components:
@@ -49,6 +49,7 @@
description: A way out of the dark underworld into the overworld.
components:
- type: Sprite
+ noRot: true
sprite: /Textures/_CP14/Structures/Dungeon/holes.rsi
drawdepth: Mobs
layers:
diff --git a/Resources/Prototypes/_CP14/Reagents/basic-effects.yml b/Resources/Prototypes/_CP14/Reagents/basic-effects.yml
new file mode 100644
index 0000000000..74c91d0e26
--- /dev/null
+++ b/Resources/Prototypes/_CP14/Reagents/basic-effects.yml
@@ -0,0 +1,73 @@
+- type: reagent
+ id: CP14BasicEffectHealBlunt
+ name: cp14-reagent-name-basic-heal-blunt
+ desc: cp14-reagent-desc-basic-heal-blunt
+ group: CP14BasicEffect
+ flavor: medicine
+ color: "#c71aaa"
+ physicalDesc: cp14-reagent-physical-desc-scarlet
+ metabolisms:
+ Medicine:
+ effects:
+ - !type:HealthChange
+ damage:
+ types:
+ Blunt: -1
+
+- type: reagent
+ id: CP14BasicEffectHealPiercing
+ name: cp14-reagent-name-basic-heal-piercing
+ desc: cp14-reagent-desc-basic-heal-piercing
+ group: CP14BasicEffect
+ flavor: medicine
+ color: "#e03895"
+ physicalDesc: cp14-reagent-physical-desc-scarlet
+ metabolisms:
+ Medicine:
+ effects:
+ - !type:HealthChange
+ damage:
+ types:
+ Piercing: -1
+
+- type: reagent
+ id: CP14BasicEffectHealSlash
+ name: cp14-reagent-name-basic-heal-slash
+ desc: cp14-reagent-desc-basic-heal-slash
+ group: CP14BasicEffect
+ flavor: medicine
+ color: "#cf153a"
+ physicalDesc: cp14-reagent-physical-desc-scarlet
+ metabolisms:
+ Medicine:
+ effects:
+ - !type:HealthChange
+ damage:
+ types:
+ Slash: -1
+
+- type: reagent
+ id: CP14BasicEffectSatiateHunger
+ name: cp14-reagent-name-basic-satiate-hunger
+ desc: cp14-reagent-desc-basic-satiate-hunger
+ group: CP14BasicEffect
+ flavor: nutriment
+ color: "#a35629"
+ physicalDesc: cp14-reagent-physical-desc-scarlet #TODO
+ metabolisms:
+ Food:
+ effects:
+ - !type:SatiateHunger
+
+- type: reagent
+ id: CP14BasicEffectSatiateThirst
+ name: cp14-reagent-name-basic-satiate-thirst
+ desc: cp14-reagent-desc-basic-satiate-thirst
+ group: CP14BasicEffect
+ flavor: nutriment
+ color: "#2b7fed"
+ physicalDesc: cp14-reagent-physical-desc-scarlet #TODO
+ metabolisms:
+ Drink:
+ effects:
+ - !type:SatiateThirst
\ No newline at end of file
diff --git a/Resources/Prototypes/_CP14/Recipes/Reactions/biological.yml b/Resources/Prototypes/_CP14/Recipes/Reactions/biological.yml
index 67e01ea993..ab4bde8da1 100644
--- a/Resources/Prototypes/_CP14/Recipes/Reactions/biological.yml
+++ b/Resources/Prototypes/_CP14/Recipes/Reactions/biological.yml
@@ -1,5 +1,5 @@
- type: reaction
- id: CP14VitalExtract
+ id: CP14BloodGrassProcessing1
minTemp: 350
reactants:
CP14Blood:
@@ -7,17 +7,19 @@
CP14BloodGrassSap:
amount: 2
products:
- CP14VitalExtract: 3
+ CP14BasicEffectSatiateHunger: 2
+ CP14BasicEffectHealSlash: 0.5
+ CP14BasicEffectHealPiercing: 0.5
-- type: reaction
- id: CP14VitalExtractOverheating
- minTemp: 450
- reactants:
- CP14VitalExtract:
- amount: 1
- effects:
- - !type:AreaReactionEffect
- duration: 20
- prototypeId: CP14MistVitalExtract
- sound:
- path: /Audio/Effects/smoke.ogg
\ No newline at end of file
+#- type: reaction
+# id: CP14BloodGrassProcessingFail1
+# minTemp: 450
+# reactants:
+# CP14VitalExtract:
+# amount: 1
+# effects:
+# - !type:AreaReactionEffect
+# duration: 20
+# prototypeId: CP14MistVitalExtract
+# sound:
+# path: /Audio/Effects/smoke.ogg
\ No newline at end of file
diff --git a/Resources/Prototypes/_CP14/SoundCollections/alchemy.yml b/Resources/Prototypes/_CP14/SoundCollections/alchemy.yml
index 26c19f03b8..3e1b0111d4 100644
--- a/Resources/Prototypes/_CP14/SoundCollections/alchemy.yml
+++ b/Resources/Prototypes/_CP14/SoundCollections/alchemy.yml
@@ -11,4 +11,11 @@
id: CP14Bubbles
files:
- /Audio/Effects/Chemistry/bubbles.ogg
- - /Audio/_CP14/Effects/bubbles.ogg
\ No newline at end of file
+ - /Audio/_CP14/Effects/bubbles.ogg
+
+- type: soundCollection
+ id: CP14GrassGathering
+ files:
+ - /Audio/_CP14/Items/grass_gather.ogg
+ - /Audio/_CP14/Items/grass_gather2.ogg
+ - /Audio/_CP14/Items/grass_gather3.ogg
diff --git a/Resources/Prototypes/_CP14/tags.yml b/Resources/Prototypes/_CP14/tags.yml
index 7f899e8d79..260538a00c 100644
--- a/Resources/Prototypes/_CP14/tags.yml
+++ b/Resources/Prototypes/_CP14/tags.yml
@@ -12,3 +12,6 @@
- type: Tag
id: CP14FireplaceFuel
+
+- type: Tag
+ id: CP14HerbalGathering
\ No newline at end of file
diff --git a/Resources/ServerInfo/_CP14/Guidebook_EN/AlchemyTabs/BasicAlchemy.xml b/Resources/ServerInfo/_CP14/Guidebook_EN/AlchemyTabs/BasicAlchemy.xml
index ef71006f75..931c6f4df7 100644
--- a/Resources/ServerInfo/_CP14/Guidebook_EN/AlchemyTabs/BasicAlchemy.xml
+++ b/Resources/ServerInfo/_CP14/Guidebook_EN/AlchemyTabs/BasicAlchemy.xml
@@ -2,8 +2,8 @@
# Basic alchemical reagents
-In the world of Eberron, there are 12 basic alchemical reagents called Extracts. They can be obtained in a variety of ways, and act as starting points for more complex alchemical recipes.
+Many potions consist of the individual basic reagent effects described below:
-
+
diff --git a/Resources/ServerInfo/_CP14/Guidebook_RU/AlchemyTabs/BasicAlchemy.xml b/Resources/ServerInfo/_CP14/Guidebook_RU/AlchemyTabs/BasicAlchemy.xml
index d6024d7358..2f7f5b36ee 100644
--- a/Resources/ServerInfo/_CP14/Guidebook_RU/AlchemyTabs/BasicAlchemy.xml
+++ b/Resources/ServerInfo/_CP14/Guidebook_RU/AlchemyTabs/BasicAlchemy.xml
@@ -2,8 +2,8 @@
# Основные алхимические реагенты
-В мире Эберрона существует 12 базовых алхимических реагентов, называемых экстрактами. Они могут быть получены различными способами и служат отправной точкой для более сложных алхимических рецептов.
+Многие зелья состоят из отдельных основных реагентных эффектов, описанных ниже:
-
+
diff --git a/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass1.png b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass1.png
new file mode 100644
index 0000000000..46c9a5b349
Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass1.png differ
diff --git a/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass2.png b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass2.png
new file mode 100644
index 0000000000..5f8f7d8aa1
Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass2.png differ
diff --git a/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass3.png b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass3.png
new file mode 100644
index 0000000000..f9d2e37a45
Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass3.png differ
diff --git a/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass4.png b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass4.png
new file mode 100644
index 0000000000..5163ba74b1
Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass4.png differ
diff --git a/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass5.png b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass5.png
new file mode 100644
index 0000000000..8fe2098bc2
Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/grass5.png differ
diff --git a/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/meta.json b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/meta.json
index c589efac42..3d030c7049 100644
--- a/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/meta.json
+++ b/Resources/Textures/_CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi/meta.json
@@ -5,7 +5,7 @@
"y": 32
},
"license": "CC-BY-SA-3.0",
- "copyright": "Created by TheShuEd (Github) for CrystallPunk14",
+ "copyright": "Base Created by TheShuEd (Github) for CrystallPunk14, Grass taken from tgstation at commits https://github.com/tgstation/tgstation/commit/729d858807905263adab8b5a331c1d8a04982dd3, and recolored",
"states": [
{
"name": "base1"
@@ -21,6 +21,21 @@
},
{
"name": "base5"
+ },
+ {
+ "name": "grass1"
+ },
+ {
+ "name": "grass2"
+ },
+ {
+ "name": "grass3"
+ },
+ {
+ "name": "grass4"
+ },
+ {
+ "name": "grass5"
}
]
}
\ No newline at end of file