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