From d3189b83cfd31dc1d4fe5db73dfdec1c5aec172f Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Thu, 22 Aug 2024 17:35:00 +0300 Subject: [PATCH] Pumpkin + Cabbage (#417) * seeds * import Omsoyk plant sprites * cabbage slicing * sliceable pumpkin * some tweaks * seedbed clean fix, remove shitcode systems * seed crafting, knife fix * utencil * Update base.yml * cabbage rebalance * abstract seed --- .../SpawnOnTileTool/CP14SpawnOnTileSystem.cs | 21 --- .../CP14DestroyedByToolComponent.cs | 17 --- .../CP14DestroyedByToolSystem.cs | 59 -------- .../CP14SpawnOnTileToolComponent.cs | 43 ------ .../SharedCP14SpawnOnTileToolSystem.cs | 58 -------- .../Prototypes/_CP14/Entities/FARMINGTEST.yml | 10 -- .../Objects/Consumable/Food/produce.yml | 130 ++++++++++++++++++ .../Objects/Specific/Farming/seeds.yml | 61 ++++++++ .../Objects/Weapons/Melee/Tools/hoe.yml | 5 +- .../Entities/Objects/Weapons/Melee/base.yml | 8 ++ .../Structures/Furniture/workbenchs.yml | 4 +- .../Specific/Farming/Herbals/base.yml | 2 - .../Farming/Herbals/domesticated/cabbage.yml | 69 ++++++++++ .../Farming/Herbals/domesticated/pumpkin.yml | 69 ++++++++++ .../wheat.yml} | 0 .../Structures/Specific/Farming/soil.yml | 35 +---- .../Entities/Structures/Walls/natural.yml | 2 +- .../Construction/Graphs/Farming/seedbed.yml | 32 +++++ .../_CP14/Recipes/Construction/farming.yml | 20 +++ .../_CP14/Recipes/Workbench/cooking_table.yml | 16 ++- .../Farming/Produce/cabbage.rsi/base1.png | Bin 0 -> 535 bytes .../Farming/Produce/cabbage.rsi/base2.png | Bin 0 -> 588 bytes .../Farming/Produce/cabbage.rsi/base3.png | Bin 0 -> 555 bytes .../Farming/Produce/cabbage.rsi/meta.json | 32 +++++ .../Farming/Produce/cabbage.rsi/slice1.png | Bin 0 -> 307 bytes .../Farming/Produce/cabbage.rsi/slice2.png | Bin 0 -> 295 bytes .../Farming/Produce/cabbage.rsi/slice3.png | Bin 0 -> 319 bytes .../Farming/Produce/cabbage.rsi/slice4.png | Bin 0 -> 286 bytes .../Farming/Produce/pumpkin.rsi/base1.png | Bin 0 -> 377 bytes .../Farming/Produce/pumpkin.rsi/base2.png | Bin 0 -> 529 bytes .../Farming/Produce/pumpkin.rsi/base3.png | Bin 0 -> 461 bytes .../Farming/Produce/pumpkin.rsi/base4.png | Bin 0 -> 431 bytes .../Farming/Produce/pumpkin.rsi/meta.json | 35 +++++ .../Farming/Produce/pumpkin.rsi/slice1.png | Bin 0 -> 261 bytes .../Farming/Produce/pumpkin.rsi/slice2.png | Bin 0 -> 260 bytes .../Farming/Produce/pumpkin.rsi/slice3.png | Bin 0 -> 248 bytes .../Farming/Produce/pumpkin.rsi/slice4.png | Bin 0 -> 250 bytes .../Specific/Farming/seeds.rsi/bag.png | Bin 0 -> 292 bytes .../Specific/Farming/seeds.rsi/cabbage.png | Bin 0 -> 183 bytes .../Specific/Farming/seeds.rsi/meta.json | 26 ++++ .../Specific/Farming/seeds.rsi/pumpkin.png | Bin 0 -> 196 bytes .../Specific/Farming/seeds.rsi/tomato.png | Bin 0 -> 171 bytes .../Specific/Farming/seeds.rsi/wheat.png | Bin 0 -> 142 bytes .../Farming/Herbals/cabbage.rsi/death.png | Bin 0 -> 1321 bytes .../Farming/Herbals/cabbage.rsi/grow-1.png | Bin 0 -> 422 bytes .../Farming/Herbals/cabbage.rsi/grow-2.png | Bin 0 -> 923 bytes .../Farming/Herbals/cabbage.rsi/grow-3.png | Bin 0 -> 1093 bytes .../Farming/Herbals/cabbage.rsi/grow-4.png | Bin 0 -> 1168 bytes .../Farming/Herbals/cabbage.rsi/grow-5.png | Bin 0 -> 1317 bytes .../Farming/Herbals/cabbage.rsi/grow-6.png | Bin 0 -> 1575 bytes .../Farming/Herbals/cabbage.rsi/meta.json | 32 +++++ .../Farming/Herbals/pumpkin.rsi/death.png | Bin 0 -> 1468 bytes .../Farming/Herbals/pumpkin.rsi/grow-1.png | Bin 0 -> 885 bytes .../Farming/Herbals/pumpkin.rsi/grow-2.png | Bin 0 -> 1210 bytes .../Farming/Herbals/pumpkin.rsi/grow-3.png | Bin 0 -> 1603 bytes .../Farming/Herbals/pumpkin.rsi/grow-4.png | Bin 0 -> 1767 bytes .../Farming/Herbals/pumpkin.rsi/grow-5.png | Bin 0 -> 1780 bytes .../Farming/Herbals/pumpkin.rsi/grow-6.png | Bin 0 -> 2093 bytes .../Farming/Herbals/pumpkin.rsi/meta.json | 32 +++++ Resources/migration.yml | 4 + 60 files changed, 575 insertions(+), 247 deletions(-) delete mode 100644 Content.Server/_CP14/SpawnOnTileTool/CP14SpawnOnTileSystem.cs delete mode 100644 Content.Shared/_CP14/DestroyedByTool/CP14DestroyedByToolComponent.cs delete mode 100644 Content.Shared/_CP14/DestroyedByTool/CP14DestroyedByToolSystem.cs delete mode 100644 Content.Shared/_CP14/SpawnOnTileTool/CP14SpawnOnTileToolComponent.cs delete mode 100644 Content.Shared/_CP14/SpawnOnTileTool/SharedCP14SpawnOnTileToolSystem.cs delete mode 100644 Resources/Prototypes/_CP14/Entities/FARMINGTEST.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/produce.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Specific/Farming/seeds.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated/cabbage.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated/pumpkin.yml rename Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/{domesticated.yml => domesticated/wheat.yml} (100%) create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Farming/seedbed.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/farming.yml create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/base1.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/base2.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/base3.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/slice1.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/slice2.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/slice3.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/slice4.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/base1.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/base2.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/base3.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/base4.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/slice1.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/slice2.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/slice3.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/slice4.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/bag.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/cabbage.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/pumpkin.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/tomato.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/wheat.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/death.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/grow-1.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/grow-2.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/grow-3.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/grow-4.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/grow-5.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/grow-6.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/death.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/grow-1.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/grow-2.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/grow-3.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/grow-4.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/grow-5.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/grow-6.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/meta.json diff --git a/Content.Server/_CP14/SpawnOnTileTool/CP14SpawnOnTileSystem.cs b/Content.Server/_CP14/SpawnOnTileTool/CP14SpawnOnTileSystem.cs deleted file mode 100644 index 33cb3dfd58..0000000000 --- a/Content.Server/_CP14/SpawnOnTileTool/CP14SpawnOnTileSystem.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Content.Shared._CP14.SpawnOnTileTool; - -namespace Content.Server._CP14.SpawnOnTileTool; - -public sealed partial class CP14SpawnOnTileToolSystem : SharedCP14SpawnOnTileToolSystem -{ - public override void Initialize() - { - SubscribeLocalEvent(AfterDoAfter); - } - - private void AfterDoAfter(Entity ent, ref SpawnOnTileToolAfterEvent args) - { - if (args.Handled || args.Cancelled) - return; - - SpawnAtPosition(args.Spawn, GetCoordinates(args.Coordinates)); - - args.Handled = true; - } -} diff --git a/Content.Shared/_CP14/DestroyedByTool/CP14DestroyedByToolComponent.cs b/Content.Shared/_CP14/DestroyedByTool/CP14DestroyedByToolComponent.cs deleted file mode 100644 index 8b42e08637..0000000000 --- a/Content.Shared/_CP14/DestroyedByTool/CP14DestroyedByToolComponent.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Content.Shared.Tools; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.DestroyedByTool; - -/// -/// abstract ability to destroy objects by using the right kind of tool on them -/// -[RegisterComponent, Access(typeof(CP14DestroyedByToolSystem))] -public sealed partial class CP14DestroyedByToolComponent : Component -{ - [DataField] - public ProtoId? Tool; - - [DataField] - public TimeSpan RemoveTime = TimeSpan.FromSeconds(1f); -} diff --git a/Content.Shared/_CP14/DestroyedByTool/CP14DestroyedByToolSystem.cs b/Content.Shared/_CP14/DestroyedByTool/CP14DestroyedByToolSystem.cs deleted file mode 100644 index 57067c3d4b..0000000000 --- a/Content.Shared/_CP14/DestroyedByTool/CP14DestroyedByToolSystem.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Content.Shared.DoAfter; -using Content.Shared.Interaction; -using Content.Shared.Tools.Components; -using Content.Shared.Tools.Systems; -using Robust.Shared.Serialization; - -namespace Content.Shared._CP14.DestroyedByTool; - -public sealed partial class CP14DestroyedByToolSystem : EntitySystem -{ - [Dependency] private readonly SharedToolSystem _tool = default!; - [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnDestroyDoAfter); - SubscribeLocalEvent(OnInteractUsing); - } - - private void OnInteractUsing(Entity ent, ref InteractUsingEvent args) - { - if (args.Handled) - return; - - if (ent.Comp.Tool == null || !_tool.HasQuality(args.Used, ent.Comp.Tool)) - return; - - if (TryComp(args.Used, out var tool)) - { - _tool.PlayToolSound(args.Used, tool, args.User); - } - - var doAfterArgs = - new DoAfterArgs(EntityManager, args.User, ent.Comp.RemoveTime, new CP14DestroyedByToolDoAfterEvent(), args.Target) - { - BreakOnDamage = true, - BlockDuplicate = true, - BreakOnMove = true, - BreakOnHandChange = true, - }; - _doAfter.TryStartDoAfter(doAfterArgs); - } - - private void OnDestroyDoAfter(Entity ent, ref CP14DestroyedByToolDoAfterEvent args) - { - if (args.Cancelled || args.Handled) - return; - - QueueDel(ent); - - args.Handled = true; - } -} - -[Serializable, NetSerializable] -public sealed partial class CP14DestroyedByToolDoAfterEvent : SimpleDoAfterEvent -{ -} diff --git a/Content.Shared/_CP14/SpawnOnTileTool/CP14SpawnOnTileToolComponent.cs b/Content.Shared/_CP14/SpawnOnTileTool/CP14SpawnOnTileToolComponent.cs deleted file mode 100644 index 9bdd921e2a..0000000000 --- a/Content.Shared/_CP14/SpawnOnTileTool/CP14SpawnOnTileToolComponent.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Content.Shared.DoAfter; -using Content.Shared.Maps; -using Robust.Shared.Map; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization; - -namespace Content.Shared._CP14.SpawnOnTileTool; - -/// -/// Allows using an item on a certain type of tile to spawn entities on it. -/// -[RegisterComponent, Access(typeof(SharedCP14SpawnOnTileToolSystem))] -public sealed partial class CP14SpawnOnTileToolComponent : Component -{ - [DataField] - public Dictionary, EntProtoId> Spawns = new(); - - [DataField] - public bool NeedEmptySpace = true; - - [DataField] - public TimeSpan DoAfter = TimeSpan.FromSeconds(1f); -} - -[Serializable, NetSerializable] -public sealed partial class SpawnOnTileToolAfterEvent : DoAfterEvent -{ - public override DoAfterEvent Clone() => this; - public readonly NetCoordinates Coordinates; - public readonly EntProtoId Spawn; - - public SpawnOnTileToolAfterEvent(IEntityManager entManager, EntityCoordinates coord, EntProtoId spawn) - { - Spawn = spawn; - Coordinates = entManager.GetNetCoordinates(coord); - } - - public SpawnOnTileToolAfterEvent(NetCoordinates coord, EntProtoId spawn) - { - Spawn = spawn; - Coordinates = coord; - } -} diff --git a/Content.Shared/_CP14/SpawnOnTileTool/SharedCP14SpawnOnTileToolSystem.cs b/Content.Shared/_CP14/SpawnOnTileTool/SharedCP14SpawnOnTileToolSystem.cs deleted file mode 100644 index 1236aed50c..0000000000 --- a/Content.Shared/_CP14/SpawnOnTileTool/SharedCP14SpawnOnTileToolSystem.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System.Linq; -using Content.Shared._CP14.Farming; -using Content.Shared.DoAfter; -using Content.Shared.Interaction; -using Content.Shared.Maps; -using Content.Shared.Popups; -using Robust.Shared.Map; -using Robust.Shared.Map.Components; - -namespace Content.Shared._CP14.SpawnOnTileTool; - -public partial class SharedCP14SpawnOnTileToolSystem : EntitySystem -{ - [Dependency] private readonly SharedMapSystem _map = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - [Dependency] private readonly ITileDefinitionManager _tileDef = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; - [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; - - public override void Initialize() - { - SubscribeLocalEvent(OnAfterInteract); - } - - private void OnAfterInteract(Entity tool, ref AfterInteractEvent args) - { - var grid = _transform.GetGrid(args.ClickLocation); - - if (grid == null || !TryComp(grid, out var gridComp)) - return; - - var tile = _map.GetTileRef(grid.Value, gridComp, args.ClickLocation); - var tileDef = (ContentTileDefinition) _tileDef[tile.Tile.TypeId]; - - if (tool.Comp.NeedEmptySpace && _map.GetAnchoredEntities(grid.Value, gridComp, args.ClickLocation).Count() > 0) - { - _popup.PopupClient(Loc.GetString("cp14-insufficient-space"), args.ClickLocation, args.User); - return; - } - - foreach (var pair in tool.Comp.Spawns) - { - if (tileDef.ID != pair.Key) - continue; - - var doAfterArgs = - new DoAfterArgs(EntityManager, args.User, tool.Comp.DoAfter, new SpawnOnTileToolAfterEvent(EntityManager, args.ClickLocation, pair.Value), tool) - { - BreakOnDamage = true, - BlockDuplicate = true, - BreakOnMove = true, - BreakOnHandChange = true - }; - _doAfter.TryStartDoAfter(doAfterArgs); - break; - } - } -} diff --git a/Resources/Prototypes/_CP14/Entities/FARMINGTEST.yml b/Resources/Prototypes/_CP14/Entities/FARMINGTEST.yml deleted file mode 100644 index 6a83f97a5d..0000000000 --- a/Resources/Prototypes/_CP14/Entities/FARMINGTEST.yml +++ /dev/null @@ -1,10 +0,0 @@ -- type: entity - id: CP14SeedTest - name: FUCK test SEED - parent: BaseItem - components: - - type: Sprite - sprite: Objects/Specific/Hydroponics/seeds.rsi - state: seed - - type: CP14Seed - plantProto: CP14PlantWheat \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/produce.yml new file mode 100644 index 0000000000..4bdf0c6a9d --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/produce.yml @@ -0,0 +1,130 @@ +- type: entity + id: CP14FoodCabbage + parent: FoodInjectableBase + name: cabbage + description: Green edible ball. + components: + - type: Item + size: Normal + - type: FlavorProfile + flavors: + - cabbage + - type: Sprite + sprite: _CP14/Objects/Specific/Farming/Produce/cabbage.rsi + layers: + - state: base1 + map: [ "random" ] + - type: RandomSprite + available: + - random: + base1: "" + base2: "" + base3: "" + - type: SolutionContainerManager + solutions: + food: + maxVol: 12 + reagents: + - ReagentId: Nutriment + Quantity: 10 + - ReagentId: Vitamin + Quantity: 1 + - type: SliceableFood + count: 4 + sliceTime: 1.5 + slice: CP14FoodCabbageSlice + +- type: entity + id: CP14FoodCabbageSlice + parent: CP14FoodCabbage + name: cabbage leaf + description: Time to make green salads + components: + - type: Item + size: Tiny + - type: Sprite + layers: + - state: slice1 + map: [ "random" ] + - type: RandomSprite + available: + - random: + slice1: "" + slice2: "" + slice3: "" + slice4: "" + - type: SolutionContainerManager + solutions: + food: + maxVol: 3 # 1/4 cabbage + reagents: + - ReagentId: Nutriment + Quantity: 2.5 + - ReagentId: Vitamin + Quantity: 0.25 + +- type: entity + id: CP14FoodPumpkin + parent: FoodInjectableBase + name: pumpkin + description: Big, cool pumpkin. + components: + - type: Item + size: Normal + - type: FlavorProfile + flavors: + - pumpkin + - type: Sprite + sprite: _CP14/Objects/Specific/Farming/Produce/pumpkin.rsi + layers: + - state: base1 + map: [ "random" ] + - type: RandomSprite + available: + - random: + base1: "" + base2: "" + base3: "" + base4: "" + - type: SolutionContainerManager + solutions: + food: + maxVol: 25 + reagents: + - ReagentId: PumpkinFlesh + Quantity: 20 + - ReagentId: Vitamin + Quantity: 5 + - type: SliceableFood + count: 5 + sliceTime: 2 + slice: CP14FoodPumpkinSlice + +- type: entity + id: CP14FoodPumpkinSlice + parent: CP14FoodPumpkin + name: pumpkin slice + description: Pumpkin! # TODO + components: + - type: Item + size: Tiny + - type: Sprite + layers: + - state: slice1 + map: [ "random" ] + - type: RandomSprite + available: + - random: + slice1: "" + slice2: "" + slice3: "" + slice4: "" + - type: SolutionContainerManager + solutions: + food: + maxVol: 5 # 1/5 pumpkin + reagents: + - ReagentId: Nutriment + Quantity: 4 + - ReagentId: Vitamin + Quantity: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Farming/seeds.yml b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Farming/seeds.yml new file mode 100644 index 0000000000..b02f08a035 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Farming/seeds.yml @@ -0,0 +1,61 @@ +- type: entity + id: CP14BaseSeed + parent: BaseItem + abstract: true + components: + - type: Item + size: Tiny + - type: Sprite + sprite: _CP14/Objects/Specific/Farming/seeds.rsi + +- type: entity + id: CP14SeedWheat + name: wheat seeds + description: Small wheat seeds. What will you do with them? Grind them into flour, or plant them again? + parent: CP14BaseSeed + components: + - type: Sprite + layers: + - state: bag + - state: wheat + - type: CP14Seed + plantProto: CP14PlantWheat + +- type: entity + id: CP14SeedPumpkin + name: pumpkin seeds + description: Pumpkin seeds. Some pumpkin seems to have been gutted and butchered. + parent: CP14BaseSeed + components: + - type: Sprite + layers: + - state: bag + - state: pumpkin + - type: CP14Seed + plantProto: CP14PlantPumpkin + +- type: entity + id: CP14SeedCabbage + name: cabbage seeds + description: Oh, no, my cabbage! + parent: CP14BaseSeed + components: + - type: Sprite + layers: + - state: bag + - state: cabbage + - type: CP14Seed + plantProto: CP14PlantCabbage + +- type: entity + id: CP14SeedTomato + name: tomato seeds + description: It looks like powder! They're so small, these seeds. + parent: CP14BaseSeed + components: + - type: Sprite + layers: + - state: bag + - state: tomato + #- type: CP14Seed + # plantProto: CP14PlantWheat \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/hoe.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/hoe.yml index 64d082fd4f..c88f40d547 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/hoe.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/hoe.yml @@ -21,7 +21,4 @@ collection: MetalThud - type: Item size: Normal - sprite: _CP14/Objects/Weapons/Melee/Hoe/hoe.rsi - - type: CP14SpawnOnTileTool - spawns: - CP14FloorDirt: CP14PloughedGround \ No newline at end of file + sprite: _CP14/Objects/Weapons/Melee/Hoe/hoe.rsi \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml index a3c776ce12..44d023e53b 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml @@ -69,6 +69,14 @@ - type: CP14Sharpened - type: CP14SharpeningStone - type: UseDelay + - type: Tool + qualities: + - Slicing + useSound: + path: /Audio/Items/Culinary/chop.ogg + - type: Utensil + types: + - Knife - type: entity id: CP14BaseWeaponDestructible diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml index 03fa7504a5..1690c134b9 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml @@ -120,4 +120,6 @@ - CP14FoodDoughLarge - CP14FoodDoughMediumFlat - CP14FoodDoughMedium - - CP14FoodMeatLamb \ No newline at end of file + - CP14FoodMeatLamb + - CP14SeedPumpkin + - CP14SeedWheat \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/base.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/base.yml index e82e467a26..8b39043273 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/base.yml @@ -10,8 +10,6 @@ - type: Physics canCollide: false bodyType: Static - - type: CP14DestroyedByTool - tool: CP14Digging - type: CP14PlantAutoRoot - type: Damageable damageContainer: Biological diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated/cabbage.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated/cabbage.yml new file mode 100644 index 0000000000..e52b390785 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated/cabbage.yml @@ -0,0 +1,69 @@ +- type: entity + id: CP14PlantCabbage + parent: CP14GatherablePlantBase + name: cabbage + description: OOO # TODO + components: + - type: Sprite + sprite: _CP14/Structures/Specific/Farming/Herbals/cabbage.rsi + layers: + - state: grow-1 + map: ["enum.PlantVisualLayers.Base"] + - type: CP14PlantMetabolizer + metabolizerId: Base + - type: CP14PlantEnergyFromLight + energy: 1 + daytime: true + - type: CP14PlantVisuals + growthSteps: 6 + - type: CP14PlantGrowing + energyCost: 1 + resourceCost: 1 + growthPerUpdate: 0.1 # 10 minute to full grow + - type: CP14PlantFading + resourcePerMinute: 0.25 #20 minute from water + - type: CP14PlantGatherable + deleteAfterHarvest: true + loot: + All: CP14GatherCabbage + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTypeTrigger + damageType: Cellular + damage: 1 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + CP14PlantWheatDeath: + min: 1 + max: 1 + +- type: entity + id: CP14PlantCabbageDeath + name: dead cabbage + description: The sad spectacle of wasted food. + parent: CP14GatherableBase + components: + - type: Sprite + sprite: _CP14/Structures/Specific/Farming/Herbals/cabbage.rsi + state: death + - type: Gatherable + toolWhitelist: + tags: + - CP14HerbalGathering + +- type: entityLootTable + id: CP14GatherCabbage + entries: + - id: CP14FoodCabbage + amount: 3 + maxAmount: 4 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated/pumpkin.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated/pumpkin.yml new file mode 100644 index 0000000000..208a7babea --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated/pumpkin.yml @@ -0,0 +1,69 @@ +- type: entity + id: CP14PlantPumpkin + parent: CP14GatherablePlantBase + name: pumpkin + description: OOO # TODO + components: + - type: Sprite + sprite: _CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi + layers: + - state: grow-1 + map: ["enum.PlantVisualLayers.Base"] + - type: CP14PlantMetabolizer + metabolizerId: Base + - type: CP14PlantEnergyFromLight + energy: 1 + daytime: true + - type: CP14PlantVisuals + growthSteps: 6 + - type: CP14PlantGrowing + energyCost: 1 + resourceCost: 1 + growthPerUpdate: 0.1 # 10 minute to full grow + - type: CP14PlantFading + resourcePerMinute: 0.25 #20 minute from water + - type: CP14PlantGatherable + deleteAfterHarvest: true + loot: + All: CP14GatherPumpkin + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTypeTrigger + damageType: Cellular + damage: 1 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + CP14PlantWheatDeath: + min: 1 + max: 1 + +- type: entity + id: CP14PlantPumpkinDeath + name: dead pumpkin + description: The sad spectacle of wasted food. + parent: CP14GatherableBase + components: + - type: Sprite + sprite: _CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi + state: death + - type: Gatherable + toolWhitelist: + tags: + - CP14HerbalGathering + +- type: entityLootTable + id: CP14GatherPumpkin + entries: + - id: CP14FoodPumpkin + amount: 1 + maxAmount: 2 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated/wheat.yml similarity index 100% rename from Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated.yml rename to Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/Herbals/domesticated/wheat.yml diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/soil.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/soil.yml index ef711610ef..5b9f4af05a 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/soil.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Farming/soil.yml @@ -31,39 +31,12 @@ anchored: true - type: CP14Soil solution: soil - - type: CP14DestroyedByTool - tool: CP14Digging - type: entity - name: ploughed ground + id: CP14SeedbedWooden parent: CP14BaseFarmingSoil - id: CP14PloughedGround - components: - - type: Sprite - drawdepth: FloorTiles - sprite: _CP14/Structures/Specific/Farming/soil.rsi - layers: - - state: soil1 - map: ["random"] - - state: liq-1 #Resprite this shit - map: ["enum.SolutionContainerLayers.Fill"] - visible: false - snapCardinals: true - - type: SolutionContainerVisuals - maxFillLevels: 4 - fillBaseName: liq- - - type: RandomSprite - available: - - random: - soil1: "" - soil2: "" - soil3: "" - soil4: "" - -- type: entity name: seedbed - id: CP14SeedbedDefault - parent: CP14BaseFarmingSoil + description: A wooden tub with a pile of earth adapted for growing plants. components: - type: Icon sprite: _CP14/Structures/Specific/Farming/seedbed.rsi @@ -85,4 +58,6 @@ state: seedbed_default_north - map: [ "enum.EdgeLayer.West" ] state: seedbed_default_west -# snapCardinals: true (when you flip it over, you get a swastika) + - type: Construction + graph: CP14Seedbed + node: CP14SeedbedWooden diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Walls/natural.yml b/Resources/Prototypes/_CP14/Entities/Structures/Walls/natural.yml index 06578f2648..dc4ea6dab1 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Walls/natural.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Walls/natural.yml @@ -34,7 +34,7 @@ - type: entity id: CP14WallDirt - name: earth cliffs + name: earth wall parent: CP14BaseWall description: A tall pile of dirt. Can a house be built from it? components: diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Farming/seedbed.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Farming/seedbed.yml new file mode 100644 index 0000000000..2d674ec1bc --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Farming/seedbed.yml @@ -0,0 +1,32 @@ +- type: constructionGraph + id: CP14Seedbed + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14SeedbedWooden + steps: + - material: CP14Dirt + amount: 2 + doAfter: 2 + - material: CP14WoodenPlanks + amount: 2 + doAfter: 2 + + - node: CP14SeedbedWooden + entity: CP14SeedbedWooden + edges: + - to: start + steps: + - tool: CP14Digging + doAfter: 1 + completed: + - !type:SpawnPrototype + prototype: CP14WoodenPlanks1 + amount: 2 + - !type:SpawnPrototype + prototype: CP14DirtBlock1 + amount: 2 + - !type:DeleteEntity {} \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/farming.yml b/Resources/Prototypes/_CP14/Recipes/Construction/farming.yml new file mode 100644 index 0000000000..e794023f54 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/farming.yml @@ -0,0 +1,20 @@ +- type: construction + crystallPunkAllowed: true + name: Seedbed + description: A wooden tub with a pile of earth adapted for growing plants. + id: CP14SeedbedWooden + graph: CP14Seedbed + startNode: start + targetNode: CP14SeedbedWooden + category: construction-category-furniture + icon: + sprite: _CP14/Structures/Specific/Farming/seedbed.rsi + state: seedbed_default + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + - !type:TileType + targets: + - CP14FloorDirt \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/cooking_table.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/cooking_table.yml index df3bfef3be..d686816628 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/cooking_table.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/cooking_table.yml @@ -29,4 +29,18 @@ entities: CP14FoodDoughMedium: 1 result: CP14FoodDoughMediumFlat - tryMergeSolutions: true \ No newline at end of file + tryMergeSolutions: true + +- type: CP14Recipe + id: CP14SeedPumpkin + craftTime: 1 + entities: + CP14FoodPumpkinSlice: 1 + result: CP14SeedPumpkin + +- type: CP14Recipe + id: CP14SeedWheat + craftTime: 1 + entities: + CP14Wheat: 1 + result: CP14SeedWheat \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/base1.png b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/base1.png new file mode 100644 index 0000000000000000000000000000000000000000..836c717c3ba6a6c1ac85ff6e034a7b2894693a9e GIT binary patch literal 535 zcmV+y0_gpTP)Px$(Md!>R9J=Wl(B0RK@^9-xtPlxM%M%+2O@_oWH|y>N+1x6m?lji5rjanJ_r)6 z4zv&ptxb{tKnMhq9Hcc{1Pn+ZT{z~*7FS$xMK~5t_HGG|#X76O!r3U;%-0P2-p+f! zH}B1W#bUAiXGGQwyLwUMJnYyfRT`ESp;Z$VMMK30+Lo#%6aPk z0NLy!g8~p6$I4|%ECYpXcBxfMY;J|r{Xtr-=L%}o(hm{p50QRibONv5Zt&p#zS`Uh zfu!oS6^BMEM%(l^By-X3m~=O zPCqKZcm}TY4gh$QV`(b@^y!!;zOsPnsa0{^*-^>;AEE9K@La*y@QHZ;W<6^-i^XEG Z@EwVvz+cEr!1e$D002ovPDHLkV1jdc^qc?y literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/base2.png b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/base2.png new file mode 100644 index 0000000000000000000000000000000000000000..37a305c8da14d6eb06f131fe2b88843e174f2edb GIT binary patch literal 588 zcmV-S0<-;zP)Px%21!IgR9J=Wl|N_`Q5?rVFP1d1SC523h73Uh4I#K`Gx%qyS+azxAQVEuxrn&B zNCyQsMFc@`a8U{-p-UE%MGS?2AXJW2irkQBD6||VBstXQkX}rRrSDL1xzG0AJ$~Qs z``&xM2Ob_C9{(Akvgpp*Bkte5H5wO+83|yRHeKtQaK7Dpcu6K>egLjsd81TYY0+Wf zQguLMdmjKz50Xyh#f<)1R%<aO%tRvrmKLWcl5q?km%<5E@j@{p>std_yMno};NAQ0 zEGJap`TVi9_SXgq#f&Uf2YhLLa%1Bti*LTr@xARA_NSqI?3)34;R zVGPqg`1jCk_erPnqC)-Hx;_>0CoipuabrhPstzzr8%+<6<{Z+gyz<#nGLTN?MYYyD zNMX1`M>HA<3{x4KcY~6FaTA&zq+|7Hw)+!;jqQCpR*%Gd$dv(CePBG=O6{2hXdH+- z*D(GqZ+`K5AwhO=ChNDb-czAet a{E1(vY}MclUQnR`0000Px$R4Dr$;h>_899n`xz+qr0~-syCI-}AlShYl)L zs#NKJmzej!<<*)5h?1O-A8z&eckkay&n-S@=Su_VbbGvc{Z&RuPCS$VtiIS40C)En zQtfLt>TCuJY;Ro~-TllI0E(;!VTR`lM&l`qPG2rMeHr)`k7)+LXgnoKa_v;90D~|i z@Gat@-|xZ zmkR(zW>Jz8_!ej9542k~&dwh=K3GBZhH^nUQwqT4)tXcnE0B%#WuhdgdM1kFZWk3CmtyW^qMYmaG$?O1fW zJv!Z<(Y;0vsD_$#L1hbt<*G!1Z!t-YVw(d@(jDQseF=3|U+s&V@RNKBRE%d`Iz2fu z0x&AU>B$k3bVsN^pZ9V}2ecgv+p(U&8b$si<0hPy=L$UcZ}S0c1`9+<&LlO@9{%Am tQq85_g?6h3!1mU)P;2u5RH{^|(r;P~(;nt12?PKD002ovPDHLkV1me1^+W&w literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/meta.json b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/meta.json new file mode 100644 index 0000000000..951fc11d1a --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by omsoyk (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base1" + }, + { + "name": "base2" + }, + { + "name": "base3" + }, + { + "name": "slice1" + }, + { + "name": "slice2" + }, + { + "name": "slice3" + }, + { + "name": "slice4" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/slice1.png b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/slice1.png new file mode 100644 index 0000000000000000000000000000000000000000..d2cb6aded306b23b25235e15efc78d23dfa06a10 GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Z#`WcLn2y} z6C_v{Cy4Yk1sWV^m>9(Ts3`aUYHjD9m3kH~n<{;tM8#aSn0V0g%$NU{r`t>9-TQlf z!}}ZMZKbbc|6M-Ic;`>{fA8*M0}wdilyG?8d==}a));mW-=_9wGvhOk%tF4l<@)so zG4&o%Ium4>%-=iNtXg;GM8W5G^v{DRrH_-*)o{s6neE`&+3n!WWZB;~F$xvTukSug`uqG_kV|~Rn#I>WBi3~VrOg-rbLM~3 r`M{F>`pwho*Qhf*N&q<~&4Q_JPteYL%iYz0o@MZK^>bP0l+XkK4pVr& literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/slice3.png b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/slice3.png new file mode 100644 index 0000000000000000000000000000000000000000..4177b48192b6f06300aa8dd63cd4bab23593afcb GIT binary patch literal 319 zcmV-F0l@x=P)Px#`AI}UR9J=W)ICeXKp4RBe?)4ELUHQQ!J*I~xQgK5Pz$b3ei*k7?v~Oo(8bBN zt4o%G&|Q!S860l7NdkpjU7ijl!8IqggU@d~?(TWH7f?zmwPS(LqKC&T0Z39|Je+&& zQP``xU^4AV{F;-bg0YV4yK}kk54MxQWZIKiyaFI!)m1BHv5Gl@FK0KfhZlu}ClUu)spTM<*_ REbIUP002ovPDHLkV1j%oi~j%s literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/slice4.png b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/cabbage.rsi/slice4.png new file mode 100644 index 0000000000000000000000000000000000000000..bbe12c3e26f2915992eb023e6b1a973f5bf3eb0d GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}H#}V&Ln2y} z6C_v{Cy4Yk1sWV^m?(7iT;j6-OOIMgfPk2 z?fW0}U6_)-xSx4n%^yDgPqWMa8(Tyc8hLaV8~DWjo0xdFN_^5~#+#i2Vq82t9T^R+ z9KNyzMbAauA~Zm1-dKN|d+=n}Px$Gf6~2R9J=Wls`+uKp2M~ty3XTrTu6|_j`ZuU$9s#7Rw)V@RQH4H{Ei%+5nJd z5`e20Wu$pjC-7|4F4IhM+-~Bbh?9cJxJxb+zU!11_oA{1;|k11?b7Qt0Em-s4Cc;bOLDZXDil{JkFq?u$g z?gEet#dWcQ4g`a3z$k>}YO|Y%Djb>^@Lh++T#}1z--CfeFmP!0hbA)h4QS$|APQRm zyWZzQp*O;JtGB?&fF3^BmO2+|7hIEOl3&>Zo$WqpCXMevtwW@@VIR}L7K_DV`8Rw4 XyB&UyqG;Iu00000NkvXXu0mjfS~#Q# literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/base2.png b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/base2.png new file mode 100644 index 0000000000000000000000000000000000000000..c97412b6684b4f9e577e0a80ff2e9b3c110881fc GIT binary patch literal 529 zcmV+s0`C2ZP)Px$%Sl8*R9J=Wl(9?Pa1_Ts*K3y_1d{1jjv|GVfNMQCxG7n>)!^pnU(jzIe&ubaL`kUVL1ne%#%#woTr3UWH7aSfWM4{r{qlW(G z@E~D%se$L3INvw2Ytoey(3=-oK5Nl(`1$24cC*g*lUY7|JmcB^DN(4fn{`CXndr_` z1dOAO_5kpMl>L(n9mC{K*v+~g#nc2up<-+29DsJmU?mQC`&iNL7yxYToTHBR^g_Ol8c{bg8DsPwGIO~`Xi0EVNaNb2HF*qaxb=bHL<gc_)ig6F&rgVcI;o2+JWw|s)Y-i$kFBhJuaqf;fjiiihIK^F1WKx Ty6~<300000NkvXXu0mjfa!CTr literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/base3.png b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/base3.png new file mode 100644 index 0000000000000000000000000000000000000000..9d22e449787d73d96801a42d8bf9f53dfe86020e GIT binary patch literal 461 zcmV;;0W$uHP)Px$hejI7@%X~$H}i#g#>PbCof0uzZx zhKD>pstt193yy67uz&o(MB*GxV(jGXT>Pp*g7cg2;{Nbl&p2 zucMnxI>zBy`|lc2Krtu$udn>_?g@z21vMIt=3np$JDY|n0w|9n00000NkvXXu0mjf DPx$X-PyuR9J=Wl`%`hKp2LfT3rIgWHAt-2!%oiCp+oVfK<>SxYb4a4_xZMa1k5@ zJ4szE3OcyhMW+htU_lhBLLpNWrA0)&#>&kE&<5b(^qFG8Ld)iOnXUQb>vy3-C002ovPDHLkV1il`zW)FK literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/meta.json b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/meta.json new file mode 100644 index 0000000000..0d939a3753 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by omsoyk (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base1" + }, + { + "name": "base2" + }, + { + "name": "base3" + }, + { + "name": "base4" + }, + { + "name": "slice1" + }, + { + "name": "slice2" + }, + { + "name": "slice3" + }, + { + "name": "slice4" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/slice1.png b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/slice1.png new file mode 100644 index 0000000000000000000000000000000000000000..6992c12f9ea42d0b05a72d6bb6addfc7d9157393 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}`#oJ8Ln2y} z6C_v{Cy4Yk1sZUjVA;)d^nd;RCqL&070)b)wuF}q zVxk7_JJ;5GZmLYNWO&ArQups>e#&f9F1LdkAor#)GptWAa58aj@&|f_!PC{xWt~$( F69BqNW-yw&?t16o^4I(6?r?egnleuod zlXOdV+vnHMYvjMn2{>^mR;{WHXPvjUFVdQ I&MBb@0NbZ(^8f$< literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/slice3.png b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/slice3.png new file mode 100644 index 0000000000000000000000000000000000000000..ffc70034919777c9e9552dd2749dd3a9436177bb GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}n><|{Ln2z= zURcO=*g$~oL49_}g636SS43ZZQkwm0@|&5TID|VpZVLPGbD1`ua#(1vb<)afYXsHV zr0=K~Pv1SCSt7Y-WBsGsMr@0dSIPDC?bDt7Rkzx!I5>TRYwKEpgD*6?xqRmax;ahQ z#n=(!$i%^x%@G+Qu=7xY?5?_haSiL{GrnHn=Ppy!dfjBrLblf)-Qw1-*zZp>EPZym w^vKU|DrZ&LBb@HYUp{VKYMI<)_)Yj;`fr0h-@I=&16|MH>FVdQ&MBb@0Hao8Hvj+t literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/slice4.png b/Resources/Textures/_CP14/Objects/Specific/Farming/Produce/pumpkin.rsi/slice4.png new file mode 100644 index 0000000000000000000000000000000000000000..3923b64294fea75d5c4abaf99e10bce7194ec605 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}TRdGHLn2y} z6C_v{Cy4Yk1sZU*3EdFY`1k*<)7}3&p4`{F@^`;>fXs3mvjZ+&Nv5f3Y3Q#x3DedVGZ{9~&lyoK}}A{`v!>N+rR328cj}N rKOobnw@mZ6_ok;X$GII`z`$@}sa|gChI`>a_cM69`njxgN@xNAMsHxJ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/bag.png b/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/bag.png new file mode 100644 index 0000000000000000000000000000000000000000..05e46b5f1904ba5393828e1b04b532b948819ef7 GIT binary patch literal 292 zcmV+<0o(qGP)Px#-bqA3R9J=WldTE@K@>)hA_kMIVOg;ld;q&9gCH0MlOPs@Phb&?&tMV3BpA&m zv)FtBahRZMGFa9i4q}@@+;UHvd*S=;&&+@z2!aqZ2^Y~~+>L@_765g+p>)V-wsG>Z z7QKtlR|k{pcPgmUjoxHw?U%9@C>;XOtd>wZB=9}61s9yw)~?qgKbJAFzTR1HcTQf` z8vv-3vjo0p;{8#(*Z`2U6-)=M=(9LLA)jX0ZbW}+;2Whw&XRq+N!PPyLnNoDNQGPHnT7voAxonJcdjhFvB{ggpTN$J;a zH|crTl`h{nyu2%U|JCX!-;}u%1z7DuTQoMD>-g5-C;T&H;%Vjt2R;6pAbW@WyJOb~XANdbA3u$)AI8I}(d+-1A|G%f^ zZM}t2JWY>ccy==#Jz2&Q$@in|8N=bVyXz(Q&9yx60i@z}zun|)duHXGQi=Qa{d-~T m{O@Ld%4}nx4H{tU7#J$e)E8PAU(p1*gu&C*&t;ucLK6Ux#YeON literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/tomato.png b/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/tomato.png new file mode 100644 index 0000000000000000000000000000000000000000..07b4f3a2d390e89e9789dd8d56ecf632dc984ec6 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}sh%#5ArY-_ zFYXm|a1c29@js`?qvW=LHNv_V`ov0#HcpUqmRHffbii;@_5Pagd*`wW3JP}4<(8eZ z>C~R$EomjkrS_$CbRDpG5v_ T-gnyzXd#2AtDnm{r-UW|ahyPc literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/wheat.png b/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/wheat.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b3613c156b2dcaa777ba052d7fb6352553d735 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}9-c0aArY-_ zFK*;yP~c$=EM-2pcFqyT*b`AFI5wVQTE=l|@4v~-OIR2f;?y>0z9@`6EE|y5zV&^M o;=K-SquFiy4k$S>Gcd$ki1~=zkNu*O0W_1r)78&qol`;+05C!=%m4rY literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/death.png b/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/death.png new file mode 100644 index 0000000000000000000000000000000000000000..f62b7353719e3a7808556f9723579a851f370740 GIT binary patch literal 1321 zcmV+^1=jkBP)Px(<4Ht8R9J<@S20K8mzM?oiF7Gt= z@l`%&GHEPUinwar%V&b`blv~}mX*fGrELWO?=P2{`)kz_cJ?n60Hl(r=(O#3QLC2F zbXiqhDa?gog!#EC6bd$aO!OQFL4;gx6l90?kLjF_ z3I!Ws7y$tCb{4g22{*S-0D$?qDS4g;Ijv{abX+V}in71yxVUQEOCY)2C_0@tVTb7+ zV4&@H0RYA6an#SRv9Z1&@1EzQ?ROCb5i*%R3qNzLn$DTd+gT6{L0&cPQLB~!KtM4a z!obPVnht^}24sG23ZCb~veNK8KUM=w7XUo8&h(dmKk2-k751(g_wYO)H@8oyRZH+Z zANBKVWHM=lVI;K?W5BY~LXqi&1wMO-`Y*06R*IqzK)(hCBH7xgXaGNv&Z_s9OHEbV*}qVGho^XdxzugHi^WP2 zJNp-EYonqWJ=ZAfeMRhbLgVYVn9l(r;xr>d_wiMz-8(#$A|ew&ui(fUHJ*+tF+;g6`9CndVp(nngkZgz#|`Di+>=!5(C zDr+0-3+Qy-knAjTiVjFI3#sjQ#bNRy5{3~*CRXGI%r%-Bfcf3DfpPrMI@9KbBn+dN z+5x?(w!FHlOhKUvat5$Q7zFQv=3p~Na;yuI_dWA~Ac(NMx*HRbt&Pe+WCY5ZAu~Y` z$w&u!*K`2=HY^luwEgbTYnf&Brr}uXPMiHtDbCwjogCff8Fb3u^LAGD#=3x%n*|e} zM|D-BG+|4^zLH@}@dI*p^9a&XA$AfQ*<2{%-IXdZ3fwf3^3I{(Sx)<9&hO f|MU;;U$g%J+A)ZJ$nJsD00000NkvXXu0mjfBzJO} literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/grow-1.png b/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/grow-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8f87b0bce76a1b0981f6e0b283ab8f9422f0a23a GIT binary patch literal 422 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 b|Nrtg;nq2yGWj$l00000NkvXXu0mjfyqRUO literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/grow-6.png b/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/grow-6.png new file mode 100644 index 0000000000000000000000000000000000000000..67c89c34fb8eb88127f9c0a11cfccf6ab4ab1ff4 GIT binary patch literal 1575 zcmV+?2H5$DP)Px);Ymb6R9JaP-;!X&N zbasKxqSJ+i>?}nH47ex*N~vuovj{>PVTyvZtByl>VX_D`LxM5!&7|aq(L0OeoZR<} z(6g#9_nh;c@BAuoMtSh?ngoDwz>bCaJ#kh&0NB}`l>kQS3F{*OI6A%|)>f8G&cgva z0H9Fr0RVpd;rCB;Gx;v-Y;GI~0!=asyjWgc$Cb;!N!7SslGxlh;D>kaUzGr$1qJky zgccNRY-e{?7Ro*7C5cL{gOpBD0RWs^}Yre=w zKXeM^9`di+Xc=u&pIW0)f7{$R5IeiGGL!F)oPw&33J?JHw+@GcNEM1km3Yi&iU{bp zE&wjHOdhCMz^e9UB6kGr_gza-TGlz-J`11+P?%I7@KxG1d4NF83p z2mnl9ylq-O>XKssDhO3F`7Wl$Z;DZhpA&U+0)2)~jm6K}Frk~ieu*m@fN3KFz|6N_ zOKKz9YU=M)4cz1SZ<-+`)Fm-{tT4{y@0HVW@ zoJ{zU8LUm+C8=h53k8ox(Y2Q*gz^>H?Dbq_5*<6E1cPd>q-5SKOUTk7#cUIceyd)ETWOEH(z2ShpZ?xFtF`dmdI0|dm zgah^=YXd;>n2)2Uqefj$HefhzRZ&4C6Mkqx!Aw+Y9j*b&sTLG?^u%Dtq?^q(m{DSo zZjV&DiZ8zV{;Qv)?IU1w;@9VOxIHesc=;aRTydlR&zF$4kEk0TOi{mh`5xW>1pa<2 zFzyq8&53cJz#nh^#rX?%gadY*zhKAXr*Dx=_;LP%9d+Xa9zT5x{jWi1*qnIxt}`6P zT2MeQ4*m{#`vp^M0vH}Di28?zX|V|{;^O>LduDSDK1TGA*K}3U8mF$BiQE-qbXwD{ zZy9Z1@JQ`lDm2Z~hBPVl;?Ht&!imZNOn6Wq1dIk4-IH2S;MA~;V%k=;5!FdXqOM~a zu_yIysp?tZs{f`T7LB-YYAgyqNa#$8MqIqXT1J08Q~Qv?sqvfQ)L1nA?};uXqL;wa zeL&7zMjMk8P6p2ai0W{_&c@sx7qpPq^fysXvbM6soj`de@Z^we(C_Md2Cy){Cx-cK zGVOFqO-?vXJ+8{Bu_)%E4n!j^L?bT5V?L(7e@hH)5cLG!bQ7+vEMZ}OPtfooy0oBx z78E!-z9H1Nsw~X!iEzNqOwL6en7(*hoEnSb-YpO2q7G<5VY(v#%Q{xYy4T71S?_|g Z%KxAP>)3XRD2D(5002ovPDHLkV1jTr=vx2) literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/meta.json b/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/meta.json new file mode 100644 index 0000000000..8a7376ec6a --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/cabbage.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by omsoyk (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "grow-1" + }, + { + "name": "grow-2" + }, + { + "name": "grow-3" + }, + { + "name": "grow-4" + }, + { + "name": "grow-5" + }, + { + "name": "grow-6" + }, + { + "name": "death" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/death.png b/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/death.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d4f0a8a3007e81cb417fba74402802c511ae5a GIT binary patch literal 1468 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 Y0x!gYu^Aiq_y7O^07*qoM6N<$f-Znk4gdfE literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/grow-3.png b/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/grow-3.png new file mode 100644 index 0000000000000000000000000000000000000000..72970b507fe4b9740d70476d2b22c6b12427bbb8 GIT binary patch literal 1603 zcmV-J2E6%+P)Px){YgYYRA_e6>u) zbQ1`@yvq}*A~HFKWV!^e+kp7)gA4CF2bTF_qmX6`^TT>=1vqkbNa`uT^jhAsj#PoHCU{xvc=h9O6L6^U@v z&ufL(A{_PeagQ0}9y7l9%Es$n@SzD16ca}#$B^1Py0Df=6@}JG^QpZf_@?Y)k8jG3 z*v7&I68Un7=gT2(><)5ccaW1(-V1@5r_TWZC&z`V-$_USFm?wy#YV0BG(tG)=R`V_ zV_4rggQc&hF3~FyAdHSovdBsfiizXSy9=$u zkt$Z5Y3vSiOJ5HFRFU?&4SK~wyY8JJE0~~|IL19@L{@TQO)I?DZ9u|dJ{Opw-_nWM z`PTq|Vb=sB;n#Q0E?CR!HXxBILRO@P83<@H21Z9F*-{`4`XdzbV{G`AN?^#*E;OCV zF({^rCy?-3kmbl~^qyWc+(|J|58A#BQp>Ooc{#5NZAuxo-9@?$K%3lV^_BB78UV}QC2 zs2OMbARwN@Q9q|xAuCcw(}RWtNK;x+;Es+=GHo58%iZ@)LW4wvgjY-)$#msxdPgy# z%JuYCa9tL#^z|T{IR*(s7Z1B880C3whM`(9Xssw<(5kL21=8q}jDWR5jC`IfP{?0w zQLap2*fqiOo` zL)Aeh$FLMgiwb;lTo9IccH?(^SIUU^nKr!OU%&bU`ErOS(?J6e$s?`1f!7Wqf9D!#C?6!xbuH+VFy3)^+L~eso!2`yjvph%`#&KjAQgT8G${ z>PA|Oj!ZHV@Rz%P1GoWKsEjVj2w9Qf3LOC`i1P=n9!3Rm=IL{$hlnl$lvSvpWi!X< zl8jXi9RMMi)~97ff^%S*yXMNU^z~reqh1+V$%%>%sI|c9uFTV3_cE_Hb6<%7wG7&p zLVLLuv5f@|Yvq~RW8ah=Pv-UksQthDz6phVWuL4_crv#SnhzEur|`O$IT|#ax`X&K zfeG6O0ZuMP&7E^#nb!_6RHfHwhscF3f_~sebJSYHQt3Qr_oyBZRQSf zaXrMgO7KnDv9@|B+70bMM0)^;xmr(0dTj!+jRkHqcObr*MSL?0-;`YxESdvout}tf zu=Mp@Xg8=)1k}NwEU9O%zBU0_kuZF#1JjRg!g*UpB2|RfZ4lK}8|bx@7RA)CYl1BW z(ojqsv8@uuJ!ai=@wEtqqkc|xfQneZr4#Yp2W-&lVX`8jOEO|@^$`7*&MLRieh>gE z9}VK0SwvQH;*3Tz=nmrAd`zQezoqj$W2hR_rao$y0bq7sZJ7aJZS}BjQm8jGH^Q|` zIpJNiGl7cQ=Fh)gdT;GHANu2P3oW$JLJR+I`~&o9Mz{4q=IsCg002ovPDHLkV1hqr B@~Qv; literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/grow-4.png b/Resources/Textures/_CP14/Structures/Specific/Farming/Herbals/pumpkin.rsi/grow-4.png new file mode 100644 index 0000000000000000000000000000000000000000..609301a8337bd577405941fd13394dc0fb045ff8 GIT binary patch literal 1767 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 CrystallPunk migration zone end