From e308eec703e012e88fa6910819ed9849601b6cc4 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Sat, 5 Apr 2025 01:00:39 +0300 Subject: [PATCH] Hoe dirt preparing (#1135) * seedbed returns * modular hoe! * hoe gameplay * remove onion seeds --- Content.Shared/Tiles/FloorTileSystem.cs | 2 +- .../Farming/Components/CP14SeedComponent.cs | 2 +- .../TileEditTool/CP14EditTileToolComponent.cs | 35 +++++++ .../TileEditTool/CP14EditTileToolSystem.cs | 72 +++++++++++++ Resources/Locale/en-US/_CP14/tiles/tiles.ftl | 1 + Resources/Locale/ru-RU/_CP14/tiles/tiles.ftl | 1 + .../Catalog/Cargo/Store/SpiceStream/buy.yml | 2 - .../_CP14/Entities/Effects/visual_effect.yml | 3 + .../Entities/Markers/Spawners/Random/misc.yml | 3 - .../Objects/Consumable/Food/produce.yml | 2 + .../Objects/ModularTools/Blade/hoe.yml | 79 ++++++++++++++ .../Objects/Specific/Farming/seeds.yml | 13 --- .../Objects/Weapons/Melee/Tools/hoe.yml | 24 ----- .../Objects/Weapons/ModularPresets/hoe.yml | 14 +++ .../Flora/Gatherable/Farm/onion.yml | 4 +- .../Flora/Gatherable/Farm/pepper.yml | 6 +- .../Flora/Gatherable/Farm/tomatoes.yml | 1 - .../Structures/Flora/Gatherable/base.yml | 6 +- .../_CP14/ModularCraft/Blade/hoe.yml | 96 ++++++++++++++++++ .../_CP14/ModularCraft/Blade/spear.yml | 4 + .../Recipes/Workbench/Anvil/modular_blade.yml | 43 +++++++- .../Recipes/Workbench/CookingTable/seeds.yml | 11 -- Resources/Prototypes/_CP14/Tiles/produced.yml | 28 +++++ .../Hoe/metall_hoe.rsi/equipped-BELT1.png | Bin 0 -> 246 bytes .../Hoe/metall_hoe.rsi/equipped-BELT2.png | Bin 0 -> 250 bytes .../Hoe/metall_hoe.rsi/equipped-NECK.png | Bin 0 -> 247 bytes .../Blade/Hoe/metall_hoe.rsi/icon.png | Bin 0 -> 237 bytes .../Blade/Hoe/metall_hoe.rsi/inhand-left.png | Bin 0 -> 445 bytes .../Blade/Hoe/metall_hoe.rsi/inhand-right.png | Bin 0 -> 443 bytes .../Blade/Hoe/metall_hoe.rsi/meta.json | 42 ++++++++ .../metall_hoe.rsi/wielded-inhand-left.png | Bin 0 -> 390 bytes .../metall_hoe.rsi/wielded-inhand-right.png | Bin 0 -> 398 bytes .../Weapons/Melee/Hoe/hoe.rsi/icon.png | Bin 376 -> 0 bytes .../Weapons/Melee/Hoe/hoe.rsi/inhand-left.png | Bin 811 -> 0 bytes .../Melee/Hoe/hoe.rsi/inhand-right.png | Bin 799 -> 0 bytes .../Weapons/Melee/Hoe/hoe.rsi/meta.json | 22 ---- .../Specific/Farming/seedbed.rsi/liq-1.png | Bin 600 -> 592 bytes .../Specific/Farming/seedbed.rsi/liq-2.png | Bin 852 -> 823 bytes .../Specific/Farming/seedbed.rsi/liq-3.png | Bin 962 -> 940 bytes .../Specific/Farming/seedbed.rsi/liq-4.png | Bin 940 -> 922 bytes .../Specific/Farming/seedbed.rsi/meta.json | 21 +--- .../Farming/seedbed.rsi/seedbed_default.png | Bin 864 -> 0 bytes .../seedbed.rsi/seedbed_default_east.png | Bin 270 -> 0 bytes .../seedbed.rsi/seedbed_default_north.png | Bin 280 -> 0 bytes .../seedbed.rsi/seedbed_default_south.png | Bin 266 -> 0 bytes .../seedbed.rsi/seedbed_default_west.png | Bin 258 -> 0 bytes .../_CP14/Tiles/DirtSeedBag/attributions.yml | 9 ++ .../_CP14/Tiles/DirtSeedBag/double_edge_E.png | Bin 0 -> 577 bytes .../_CP14/Tiles/DirtSeedBag/double_edge_N.png | Bin 0 -> 637 bytes .../_CP14/Tiles/DirtSeedBag/double_edge_S.png | Bin 0 -> 622 bytes .../_CP14/Tiles/DirtSeedBag/double_edge_W.png | Bin 0 -> 574 bytes .../_CP14/Tiles/DirtSeedBag/seedbed.png | Bin 0 -> 1375 bytes .../Tiles/DirtSeedBag/single_edge_NE.png | Bin 0 -> 544 bytes .../Tiles/DirtSeedBag/single_edge_NW.png | Bin 0 -> 527 bytes .../Tiles/DirtSeedBag/single_edge_SE.png | Bin 0 -> 555 bytes .../Tiles/DirtSeedBag/single_edge_SW.png | Bin 0 -> 544 bytes Resources/migration.yml | 2 + 57 files changed, 443 insertions(+), 105 deletions(-) create mode 100644 Content.Shared/_CP14/TileEditTool/CP14EditTileToolComponent.cs create mode 100644 Content.Shared/_CP14/TileEditTool/CP14EditTileToolSystem.cs create mode 100644 Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hoe.yml delete mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/hoe.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/hoe.yml create mode 100644 Resources/Prototypes/_CP14/ModularCraft/Blade/hoe.yml create mode 100644 Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/equipped-BELT1.png create mode 100644 Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/equipped-BELT2.png create mode 100644 Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/equipped-NECK.png create mode 100644 Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/inhand-left.png create mode 100644 Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/inhand-right.png create mode 100644 Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/wielded-inhand-right.png delete mode 100644 Resources/Textures/_CP14/Objects/Weapons/Melee/Hoe/hoe.rsi/icon.png delete mode 100644 Resources/Textures/_CP14/Objects/Weapons/Melee/Hoe/hoe.rsi/inhand-left.png delete mode 100644 Resources/Textures/_CP14/Objects/Weapons/Melee/Hoe/hoe.rsi/inhand-right.png delete mode 100644 Resources/Textures/_CP14/Objects/Weapons/Melee/Hoe/hoe.rsi/meta.json delete mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/seedbed.rsi/seedbed_default.png delete mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/seedbed.rsi/seedbed_default_east.png delete mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/seedbed.rsi/seedbed_default_north.png delete mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/seedbed.rsi/seedbed_default_south.png delete mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/seedbed.rsi/seedbed_default_west.png create mode 100644 Resources/Textures/_CP14/Tiles/DirtSeedBag/attributions.yml create mode 100644 Resources/Textures/_CP14/Tiles/DirtSeedBag/double_edge_E.png create mode 100644 Resources/Textures/_CP14/Tiles/DirtSeedBag/double_edge_N.png create mode 100644 Resources/Textures/_CP14/Tiles/DirtSeedBag/double_edge_S.png create mode 100644 Resources/Textures/_CP14/Tiles/DirtSeedBag/double_edge_W.png create mode 100644 Resources/Textures/_CP14/Tiles/DirtSeedBag/seedbed.png create mode 100644 Resources/Textures/_CP14/Tiles/DirtSeedBag/single_edge_NE.png create mode 100644 Resources/Textures/_CP14/Tiles/DirtSeedBag/single_edge_NW.png create mode 100644 Resources/Textures/_CP14/Tiles/DirtSeedBag/single_edge_SE.png create mode 100644 Resources/Textures/_CP14/Tiles/DirtSeedBag/single_edge_SW.png diff --git a/Content.Shared/Tiles/FloorTileSystem.cs b/Content.Shared/Tiles/FloorTileSystem.cs index 3acd5051c9..e66b259388 100644 --- a/Content.Shared/Tiles/FloorTileSystem.cs +++ b/Content.Shared/Tiles/FloorTileSystem.cs @@ -170,7 +170,7 @@ public sealed class FloorTileSystem : EntitySystem return tileDef.BaseTurf == baseTurf; } - private void PlaceAt(EntityUid user, EntityUid gridUid, MapGridComponent mapGrid, EntityCoordinates location, + public void PlaceAt(EntityUid user, EntityUid gridUid, MapGridComponent mapGrid, EntityCoordinates location, ushort tileId, SoundSpecifier placeSound, float offset = 0) { _adminLogger.Add(LogType.Tile, LogImpact.Low, $"{ToPrettyString(user):actor} placed tile {_tileDefinitionManager[tileId].Name} at {ToPrettyString(gridUid)} {location}"); diff --git a/Content.Shared/_CP14/Farming/Components/CP14SeedComponent.cs b/Content.Shared/_CP14/Farming/Components/CP14SeedComponent.cs index e359a3c648..eb128a7180 100644 --- a/Content.Shared/_CP14/Farming/Components/CP14SeedComponent.cs +++ b/Content.Shared/_CP14/Farming/Components/CP14SeedComponent.cs @@ -16,5 +16,5 @@ public sealed partial class CP14SeedComponent : Component public EntProtoId PlantProto; [DataField] - public HashSet> SoilTile = new() { "CP14FloorDirt" }; + public HashSet> SoilTile = new() { "CP14FloorDirtSeedbed" }; } diff --git a/Content.Shared/_CP14/TileEditTool/CP14EditTileToolComponent.cs b/Content.Shared/_CP14/TileEditTool/CP14EditTileToolComponent.cs new file mode 100644 index 0000000000..b674380d62 --- /dev/null +++ b/Content.Shared/_CP14/TileEditTool/CP14EditTileToolComponent.cs @@ -0,0 +1,35 @@ +using Content.Shared.DoAfter; +using Content.Shared.Maps; +using Robust.Shared.Audio; +using Robust.Shared.Map; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; + +namespace Content.Shared._CP14.TileEditTool; + +[RegisterComponent, Access(typeof(CP14EditTileToolSystem))] +public sealed partial class CP14EditTileToolComponent : Component +{ + [DataField] + public TimeSpan Delay = TimeSpan.FromSeconds(1f); + + [DataField] + public SoundSpecifier? Sound; + + [DataField] + public Dictionary, ProtoId> TileReplace = new(); +} + +[Serializable, NetSerializable] +public sealed partial class CP14TileToolReplaceDoAfter : DoAfterEvent +{ + [DataField(required:true)] + public NetCoordinates Coordinates; + + public CP14TileToolReplaceDoAfter(NetCoordinates coordinates) + { + Coordinates = coordinates; + } + + public override DoAfterEvent Clone() => this; +} diff --git a/Content.Shared/_CP14/TileEditTool/CP14EditTileToolSystem.cs b/Content.Shared/_CP14/TileEditTool/CP14EditTileToolSystem.cs new file mode 100644 index 0000000000..5b110fc5a6 --- /dev/null +++ b/Content.Shared/_CP14/TileEditTool/CP14EditTileToolSystem.cs @@ -0,0 +1,72 @@ +using Content.Shared.DoAfter; +using Content.Shared.Interaction; +using Content.Shared.Maps; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Map; +using Robust.Shared.Map.Components; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.TileEditTool; + +public sealed class CP14EditTileToolSystem : EntitySystem +{ + [Dependency] private readonly SharedMapSystem _map = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnTileClick); + SubscribeLocalEvent(OnDoAfterEnd); + } + + private void OnTileClick(Entity ent, ref AfterInteractEvent args) + { + if (args.Handled || !args.CanReach) + return; + + var doAfterArgs = + new DoAfterArgs(EntityManager, + args.User, + ent.Comp.Delay, + new CP14TileToolReplaceDoAfter(GetNetCoordinates(args.ClickLocation)), + ent) + { + BreakOnDamage = true, + BlockDuplicate = false, + BreakOnMove = true, + BreakOnHandChange = true, + }; + _doAfter.TryStartDoAfter(doAfterArgs); + } + + private void OnDoAfterEnd(Entity ent, ref CP14TileToolReplaceDoAfter args) + { + if (args.Cancelled || args.Handled) + return; + + var location = GetCoordinates(args.Coordinates); + + var map = _transform.GetMap(location); + if (!TryComp(map, out var gridComp)) + return; + + var tileRef = location.GetTileRef(); + + if (tileRef is null) + return; + + var tile = tileRef.Value.Tile.GetContentTileDefinition(); + + if (!ent.Comp.TileReplace.TryGetValue(tile, out var replaceTile)) + return; + + args.Handled = true; + + _map.SetTile((map.Value, gridComp), location, new Tile(_proto.Index(replaceTile).TileId)); + _audio.PlayPredicted(ent.Comp.Sound, location, args.User); + } +} diff --git a/Resources/Locale/en-US/_CP14/tiles/tiles.ftl b/Resources/Locale/en-US/_CP14/tiles/tiles.ftl index 1a7396eb19..a0fc614de3 100644 --- a/Resources/Locale/en-US/_CP14/tiles/tiles.ftl +++ b/Resources/Locale/en-US/_CP14/tiles/tiles.ftl @@ -13,6 +13,7 @@ cp14-tiles-snow-deep-deep = deep deep snow # Produced cp14-tiles-foundation = foundation +cp14-tiles-dirt-seedbed = dirt seedbed cp14-tiles-red-woodplanks = red woodplanks cp14-tiles-red-woodplanks-big = big red planks diff --git a/Resources/Locale/ru-RU/_CP14/tiles/tiles.ftl b/Resources/Locale/ru-RU/_CP14/tiles/tiles.ftl index 0b4fabb18f..c288d50f67 100644 --- a/Resources/Locale/ru-RU/_CP14/tiles/tiles.ftl +++ b/Resources/Locale/ru-RU/_CP14/tiles/tiles.ftl @@ -13,6 +13,7 @@ cp14-tiles-snow-deep-deep = очень глубокий снег # Produced cp14-tiles-foundation = фундамент +cp14-tiles-dirt-seedbed = земляная грядка cp14-tiles-red-woodplanks = красные доски cp14-tiles-red-woodplanks-big = большие красные доски diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy.yml index 804ffc629d..bca044f7e2 100644 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy.yml +++ b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy.yml @@ -27,8 +27,6 @@ amount: 3 - id: CP14SeedTomato amount: 3 - - id: CP14SeedOnion - amount: 3 - id: CP14SeedPepper amount: 3 diff --git a/Resources/Prototypes/_CP14/Entities/Effects/visual_effect.yml b/Resources/Prototypes/_CP14/Entities/Effects/visual_effect.yml index 03cb9d7db1..b665ab14d2 100644 --- a/Resources/Prototypes/_CP14/Entities/Effects/visual_effect.yml +++ b/Resources/Prototypes/_CP14/Entities/Effects/visual_effect.yml @@ -22,6 +22,9 @@ tags: - HideContextMenu - type: AnimationPlayer + - type: EmitSoundOnSpawn + sound: + collection: CP14Digging - type: entity id: CP14SnowEffect diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/misc.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/misc.yml index bf0f301dab..df99828917 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/misc.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/misc.yml @@ -9,9 +9,6 @@ - CP14DirtBlock1 chance: 1 deleteSpawnerAfterSpawn: false - - type: EmitSoundOnSpawn - sound: - collection: CP14Digging - type: entity id: CP14RandomSnowLootSpawner diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/produce.yml index 316cedb0e3..b4f022a3cd 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/produce.yml @@ -459,6 +459,8 @@ Quantity: 4 - ReagentId: Allicin Quantity: 3 + - type: CP14Seed + plantProto: CP14PlantOnion - type: Tag tags: - CP14FarmFood diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hoe.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hoe.yml new file mode 100644 index 0000000000..8138579d9c --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hoe.yml @@ -0,0 +1,79 @@ +- type: entity + parent: BaseItem + id: CP14ModularBladeHoeBase + categories: [ ForkFiltered ] + abstract: true + description: A hoe blade without a hilt. A blacksmith can use it as a spare part to create a tool. + components: + - type: Item + storedRotation: 45 + shape: + - 0,0,0,0 + storedOffset: 0, 5 + +- type: entity + parent: CP14ModularBladeHoeBase + id: CP14ModularBladeIronHoe + name: iron hoe blade + components: + - type: Sprite + sprite: _CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi + layers: + - state: icon + - type: CP14ModularCraftPart + possibleParts: + - BladeIronHoe + - type: CP14Material + materials: + CP14Iron: 10 + +- type: entity + parent: CP14ModularBladeHoeBase + id: CP14ModularBladeCopperHoe + name: copper hoe blade + components: + - type: Sprite + sprite: _CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi + layers: + - state: icon + color: "#ffaf47" + - type: CP14ModularCraftPart + possibleParts: + - BladeCopperHoe + - type: CP14Material + materials: + CP14Copper: 10 + +- type: entity + parent: CP14ModularBladeHoeBase + id: CP14ModularBladeGoldHoe + name: golden hoe blade + components: + - type: Sprite + sprite: _CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi + layers: + - state: icon + color: "#bd712f" + - type: CP14ModularCraftPart + possibleParts: + - BladeGoldHoe + - type: CP14Material + materials: + CP14Gold: 10 + +- type: entity + parent: CP14ModularBladeSickleBase + id: CP14ModularBladeMithrilHoe + name: mithril hoe blade + components: + - type: Sprite + sprite: _CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi + layers: + - state: icon + color: "#45d2a4" + - type: CP14ModularCraftPart + possibleParts: + - BladeMithrilHoe + - type: CP14Material + materials: + CP14Mithril: 10 \ 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 index c166aea09b..4f82178153 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Farming/seeds.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Farming/seeds.yml @@ -75,19 +75,6 @@ - type: CP14Seed plantProto: CP14PlantTomatoes -- type: entity - id: CP14SeedOnion - name: onion seeds - description: Onion seeds, small but strong. - parent: CP14BaseSeed - components: - - type: Sprite - layers: - - state: bag - - state: onion - - type: CP14Seed - plantProto: CP14PlantOnion - - type: entity id: CP14SeedPepper name: pepper seeds diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/hoe.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/hoe.yml deleted file mode 100644 index 2712189011..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/hoe.yml +++ /dev/null @@ -1,24 +0,0 @@ -- type: entity - id: CP14BaseHoe - parent: - - BaseItem - - CP14BaseWeaponDestructible - - CP14BaseWeaponSelfDamage - - CP14BaseWeaponLight - name: hoe - description: A gardening tool to prepare the soil for planting, or to clear weeds - components: - - type: Sprite - sprite: _CP14/Objects/Weapons/Melee/Hoe/hoe.rsi - state: icon - - type: MeleeWeapon - wideAnimationRotation: 65 - damage: - types: - Piercing: 4 - Slash: 3 - soundHit: - collection: MetalThud - - type: Item - size: Normal - sprite: _CP14/Objects/Weapons/Melee/Hoe/hoe.rsi \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/hoe.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/hoe.yml new file mode 100644 index 0000000000..d1a248d35d --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/hoe.yml @@ -0,0 +1,14 @@ +- type: entity + id: CP14ModularIronHoe + parent: CP14ModularGripWooden + name: iron hoe + description: Hoe. Your perfect tool for tilling the ground and preparing it for gardening. + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeIronHoe \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/onion.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/onion.yml index 07eb4887cc..c7d2ddc917 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/onion.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/onion.yml @@ -20,5 +20,5 @@ id: CP14GatherOnion entries: - id: CP14FoodOnion - amount: 1 - maxAmount: 3 + amount: 2 + maxAmount: 4 diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/pepper.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/pepper.yml index bf83625f4b..260d2fe9f9 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/pepper.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/pepper.yml @@ -1,6 +1,6 @@ - type: entity id: CP14PlantPepper - parent: CP14GatherablePlantSingleHarvestBase + parent: CP14GatherablePlantMultiHarvestBase name: pepper description: Russian roulette. Are you hot, or are you sweet peppers? components: @@ -22,5 +22,5 @@ id: CP14GatherPepper entries: - id: CP14FoodPepper - amount: 2 - maxAmount: 4 + amount: 1 + maxAmount: 3 diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/tomatoes.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/tomatoes.yml index c30ae02fe0..51887c280b 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/tomatoes.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/tomatoes.yml @@ -13,7 +13,6 @@ sprite: _CP14/Structures/Flora/Farm/tomatoes.rsi map: ["enum.PlantVisualLayers.Base"] - type: CP14PlantGatherable - deleteAfterHarvest: false loot: All: CP14GatherTomatoes diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/base.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/base.yml index e2a850406b..ecd13285da 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/base.yml @@ -104,7 +104,7 @@ thresholds: - trigger: !type:DamageTrigger #Overkill - damage: 35 + damage: 45 behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] @@ -123,7 +123,7 @@ - trigger: !type:DamageTypeTrigger #Heat damageType: Heat - damage: 10 + damage: 20 behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] @@ -135,7 +135,7 @@ - trigger: !type:DamageGroupTrigger #Brute damageGroup: Brute - damage: 10 + damage: 15 behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/hoe.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/hoe.yml new file mode 100644 index 0000000000..72e70f31b7 --- /dev/null +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/hoe.yml @@ -0,0 +1,96 @@ +#Concept: +# Copy of dagger with bigger damage, but without throwing +- type: modularPart + id: BaseBladeHoe + modifiers: + - !type:Inherit + copyFrom: + - BaseWeaponChemical + - BaseWeaponThrowable + #components: TODO Add gathering tag + - !type:AddComponents + override: true + components: + - type: DamageOtherOnHit + damage: + types: + Piercing: 6 + - type: ThrowingAngle + angle: 135 + - type: EmbeddableProjectile + offset: -0.15,-0.15 + removalTime: 0.5 + - type: CP14EditTileTool + sound: + collection: CP14Digging + tileReplace: + CP14FloorDirt: CP14FloorDirtSeedbed + CP14FloorDirtSeedbed: CP14FloorDirt + - !type:EditMeleeWeapon + newWideAnimation: CP14WeaponArcThrust + attackRateMultiplier: 1.5 + bonusDamage: + types: + Piercing: 6 + - !type:EditIncreaseDamageOnWield + bonusDamage: + types: + Piercing: 3 + - !type:EditItem + newSize: Normal + adjustShape: 0, 1 + storedOffsetBonus: 0, 5 + - !type:EditModularSlots + addSlots: + - Garde + +- type: modularPart + id: BladeIronHoe + slots: + - Blade + sourcePart: CP14ScrapIron + rsiPath: _CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi + modifiers: + - !type:Inherit + copyFrom: + - BaseBladeHoe + - BaseBladeIron + +- type: modularPart + id: BladeGoldHoe + slots: + - Blade + sourcePart: CP14ScrapGold + rsiPath: _CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi + color: "#ffaf47" + modifiers: + - !type:Inherit + copyFrom: + - BaseBladeHoe + - BaseBladeGold + +- type: modularPart + id: BladeCopperHoe + slots: + - Blade + sourcePart: CP14ScrapCopper + rsiPath: _CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi + color: "#bd712f" + modifiers: + - !type:Inherit + copyFrom: + - BaseBladeHoe + - BaseBladeCopper + +- type: modularPart + id: BladeMithrilHoe + slots: + - Blade + sourcePart: CP14ScrapMithril + rsiPath: _CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi + color: "#45d2a4" + modifiers: + - !type:Inherit + copyFrom: + - BaseBladeHoe + - BaseBladeMithril diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml index c4c68fab2a..b4c5e172e2 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml @@ -29,6 +29,10 @@ bonusDamage: types: Piercing: 8 + - !type:EditIncreaseDamageOnWield + bonusDamage: + types: + Piercing: 3 - !type:EditItem newSize: Normal adjustShape: 0, 1 diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml index bc40bc6a51..2d7ff53a16 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml @@ -503,4 +503,45 @@ stack: CP14MithrilBar count: 2 result: CP14ModularBladeMithrilHammer - \ No newline at end of file + +# Sickle + +- type: CP14Recipe + id: CP14ModularBladeIronHoe + tag: CP14RecipeAnvil + craftTime: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + result: CP14ModularBladeIronHoe + +- type: CP14Recipe + id: CP14ModularBladeCopperHoe + tag: CP14RecipeAnvil + craftTime: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + result: CP14ModularBladeCopperHoe + +- type: CP14Recipe + id: CP14ModularBladeGoldHoe + tag: CP14RecipeAnvil + craftTime: 2 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + result: CP14ModularBladeGoldHoe + +- type: CP14Recipe + id: CP14ModularBladeMithrilHoe + tag: CP14RecipeAnvil + craftTime: 2 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + result: CP14ModularBladeMithrilHoe \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml index ca9d405512..2f51e7e5c6 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml @@ -51,17 +51,6 @@ count: 1 result: CP14SeedCucumber -- type: CP14Recipe - id: CP14SeedOnion - tag: CP14RecipeCooking - craftTime: 1 - requirements: - - !type:ProtoIdResource - protoId: CP14FoodOnion - count: 1 - result: CP14SeedOnion - resultCount: 2 - - type: CP14Recipe id: CP14SeedPepper tag: CP14RecipeCooking diff --git a/Resources/Prototypes/_CP14/Tiles/produced.yml b/Resources/Prototypes/_CP14/Tiles/produced.yml index 4a6bffd94a..24d0711ab7 100644 --- a/Resources/Prototypes/_CP14/Tiles/produced.yml +++ b/Resources/Prototypes/_CP14/Tiles/produced.yml @@ -190,3 +190,31 @@ collection: FootstepAsteroid heatCapacity: 10000 weather: true + +- type: tile + editorHidden: false + id: CP14FloorDirtSeedbed + name: cp14-tiles-dirt-seedbed + sprite: /Textures/_CP14/Tiles/DirtSeedBag/seedbed.png + variants: 2 + placementVariants: + - 1.0 + - 1.0 + edgeSpritePriority: 100 + edgeSprites: + SouthEast: /Textures/_CP14/Tiles/DirtSeedBag/single_edge_SE.png + NorthEast: /Textures/_CP14/Tiles/DirtSeedBag/single_edge_NE.png + NorthWest: /Textures/_CP14/Tiles/DirtSeedBag/single_edge_NW.png + SouthWest: /Textures/_CP14/Tiles/DirtSeedBag/single_edge_SW.png + South: /Textures/_CP14/Tiles/DirtSeedBag/double_edge_S.png + East: /Textures/_CP14/Tiles/DirtSeedBag/double_edge_E.png + North: /Textures/_CP14/Tiles/DirtSeedBag/double_edge_N.png + West: /Textures/_CP14/Tiles/DirtSeedBag/double_edge_W.png + baseTurf: CP14FloorDirt + deconstructTools: [ CP14Digging ] + itemDrop: CP14DirtEffect + isSubfloor: true + footstepSounds: + collection: FootstepAsteroid + heatCapacity: 10000 + weather: true \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/equipped-BELT1.png new file mode 100644 index 0000000000000000000000000000000000000000..adc02b3793e814bb9454597cf38abefee2249917 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|Hh8)?hE&XX zdrL8oDNuyqJBchA=C ze-`>a_18}opcx?GdufxLMBgzxPqs-*7FE2e^FC|-e`Ru{-JAY>*WYGa&3yT}F4Hjn z)x$ex=kMxWW7d9K;#Zq-&GYuAn!PCpZ)&{0daPXyViJ&S@LG8_{-6IDwS!mKr!=Z5 o7EMlg#eB+PvcfDD1_q^{Ow-gN;-`8{cn#9v>FVdQ&MBb@0BcrY)c^nh literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/equipped-NECK.png new file mode 100644 index 0000000000000000000000000000000000000000..bc47bd5a1f658ef79a606e8d458285a1a61333c2 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|HhQ`^hE&XX zd)bhyDS+YF$MY{({MH6K3%T;@Rx>c;xXOwS&4M)e8UW ze^=N1XZL3U8UZxk{-2JN4Gxcu%IpgXVMZVFst#MU*?cF9l(l89IkWoEc*>JG! iIyP6rnk#b|ocjOMmPhJkPGhfkd{phQ+G$!<>n^Q}cji~r$L)yKzxSO*T*8Z? kgRfuc^BWfzm(8D;6OU(PO#jW733M`pr>mdKI;Vst00-e+NB{r; literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..08dce83f01d844128cc3f20b47bba6b2f945d9ed GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z%ROBjLn`LH zy}3WD*+GW=!}_KE52l!^G`DM5?NH$l(0IZa_2`yu@NW*Q)N)gx0LK%?TSpfzRl2@# zY4-9xhf0l97XE)cb#k5kS6WoVVYtxIH^tcXq)N<&3#CpzmmSR}t$X$UxbGz&OQm05ZPwP>fA?=(_ig9ISvIU|@0reH hYTmC8wCY4n{_8WxCvQ1A#|0Q444$rjF6*2UngGxs(K!GB literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..4e138aa3152e1a15002fb78672583fce5a3c9133 GIT binary patch literal 443 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zOFdm2Ln`LH zy=kA-oFKvWL4B!u!6~Upit>wIJeVZ2Am9XJ)T3K>SK2oD-P|lSiCKin(qVT>#>x)a zs9j~JMECI>O}MgU!m7}ky2)KNd;S-EVC{f`43l{${`W2Puzz~l)4pKuPL>9Pjt~Dn zw%vUvy#Auu=eWDPt*W9+yX*29LWLO`cHf@uBlr9z`>w>Kr}_)Cm{zF?unCGR)s~lk zCmq~!u|jEbXS-vI_HV22cQ-%jeSP-nsrW9%qLq~3WzVyKW7#j?pu6{1-oD!M<^bE~- literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/meta.json new file mode 100644 index 0000000000..2a39519ae5 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/meta.json @@ -0,0 +1,42 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-4.0", + "copyright": "Created by TheShuEd (Github) ", + "states": [ + { + "name": "equipped-BELT1", + "directions": 4 + }, + { + "name": "equipped-BELT2", + "directions": 4 + }, + { + "name": "equipped-NECK", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..2edcbb7cc87f7203cc919649903fb513d37b42a7 GIT binary patch literal 390 zcmV;10eSw3P)Px$KuJVFRCt{2*|AE)Kpe;Mf59i{K^!G2&2kk-i8{o% zMzL&1g+XswQ1Q8FeT-#0m3)K~-4nFir_$+kCCzd*o6hC=<*8LRZaf*b;wVu!_g6BT z&gJL#TlcF~!}a{V65x8i8Oy-39ktIMP}LHsM6sA%5@1yE000000001LrSy#ckkTwy z?{Ba2`SB&=$x!=zwc&cc>JLV0(i_rZYx-VjA k0*<=->$Y_t0C4R70SdOiyi09(ZvX%Q07*qoM6N<$g3^Ai$p8QV literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/Blade/Hoe/metall_hoe.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..7121ff2d902565c4dfbd9b2a344a185447310f33 GIT binary patch literal 398 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zJv?0;Ln`LH zy=Cop*g=5pLFW|VC671?8yKAO-Y_dD{$$(D>R!Of{$cT=^2bbh4Jjwt8;*4;2)HmW zT6#*ft<9q^)n~$qTRs2RN1cp*Q;{bBX%+|23J|E$l>0X9u}nfDiKwk_EHJ$&-xJF_lkw5v_lOszcl`DW8O z{c~(vWmo5)EVLCAeXt`gnRSikc~Q^c2iLP3raTBg_0c2@Vi}0+2>;)^CpGHlp56Hu zzkKNM^MB*lcadXlP2Z!G)#W0G=kJ~odUju!o&I$BT>jHG!Z+1lMX)OTj`vC3e_7_b zaIrn-|1c4Coxf&V%fwH7YLb_K_wwgU*E92#q%WU}KV2oFzDRs={`s3%wRY^@`||wE nJ^rB=W`u?`evk!P{p+1DL-`@K+8?sdKrZog^>bP0l+XkK&^fIN literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Hoe/hoe.rsi/icon.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Hoe/hoe.rsi/icon.png deleted file mode 100644 index 26a88c3dc03bd30a47bb85c4590124c57d05a508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 376 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 BcsT$7 literal 852 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 qqP`)#Fr5Hj=500001b5ch_0Itp) z=>Px#$Vo&&R9J=W*dY$WKoEuD*Uj2Rt>pj+3>QFi2+qkZur&x0Y9K2bmH-J&ilLJ! z$?7*^e^>WqrrkDecAM20gGb5(4#&0uF&Bf!GA@_~$*}=CH%%o5Po`L#%q88~2FccB z*Z^I{l&Y9g6;o=4*>Be)3j+LM*l%yUYhvfvtI^q-3>%;mOv(e(0pN$R@_{v56B}js z(5sVC*?P3utI;{Y#u)=xzJb{j63qFQ(LX;-3;gN&l8gTFCQ<-DA=<8^{}Rp{{R30 diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/seedbed.rsi/seedbed_default_north.png b/Resources/Textures/_CP14/Structures/Specific/Farming/seedbed.rsi/seedbed_default_north.png deleted file mode 100644 index 0d56d68c2314fc25e893801f286eb81f4f1133a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^${@_a1|;QfZjJ;}jKx9jP7LeL$-D$|E_u2*hD5Z! zy|j_5$w7ks!~TNi=C&3S$txAk&ifoT^It6fCbm|O*HQ1N;3ZE^PO~E?E3346KmMK8 z{Cmg$@0D^69EvRhPC#P9{--L2>z(H(N}h{q?XF;8XjxOmFW0xySZv?@+$@Hc=?#^5H{=0GXV#CV7y6ew(NBUpC?k{=P;MX$CDYyJLpZOJ0DPo$h_aWwqtL2Zv cXAHaeqq!3I`-z+~0{V`@)78&qol`;+036tKY5)KL diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/seedbed.rsi/seedbed_default_south.png b/Resources/Textures/_CP14/Structures/Specific/Farming/seedbed.rsi/seedbed_default_south.png deleted file mode 100644 index fc304982512659e3ef87ff4d8283e55b5494e1ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^${@_a1|;QfZjJ;}jKx9jP7LeL$-D$|j(EB_hD5Z! zy|j_*kbwy61@VgJX2FRMt~B+@zI`QL@-6?5;r~NhS0|`z2CeB>5Fjpm>BzQ=f$t=5 zU$2h$a+#*qJIN>YuZq&5t3__>k}D10=kBi6+tV()ZFcEr&FLLJ+fH0M!lQX|ZDKj2 z>dYil&bQ{NwKL7irf)c%^fmfnz{+Zkzt3;}-(dfzU{$7-9B=;5u-NxoW_atbUUUAQ z&hCd--wK8-DAi3n-;(xe`@_mWmiQ>$PNib~X!h+@j6l}|!GrUA8LTJA2nsjL2ZH#X Lu6{1-oD!Mq4-AAtJ^FaT6@Jed=r>=^OBp#M3X~GLae$i5xskOJ^wD7vHw(w{Om}M zl@AtNPBdpa;KjRfR!H(%7Mbt2C#JtVxx}|pEH6%2;h4!vy)<$4WDU!A@a}u~TK9NCW29Ht#^@AJ!|S(q&saL+`0L;^L1&h}*Pi#3`%Ja+@h8u}|JMPk znkg1vRlGCifgXQV&+6+(SkqP>D5%-G^nd!A;%at=KMV_wD8CKYHC+Sr2ZN`ppUXO@ GgeCw&acdC( diff --git a/Resources/Textures/_CP14/Tiles/DirtSeedBag/attributions.yml b/Resources/Textures/_CP14/Tiles/DirtSeedBag/attributions.yml new file mode 100644 index 0000000000..cbaaa0b02d --- /dev/null +++ b/Resources/Textures/_CP14/Tiles/DirtSeedBag/attributions.yml @@ -0,0 +1,9 @@ +- files: ["seedbed.png"] + license: "All right reserved" + copyright: "Created by Jaraten" + source: "https://github.com/crystallpunk-14/crystall-punk-14/" + +- files: ["double_edge.png", "single_edge.png"] + license: "All right reserved" + copyright: "Created by Jaraten" + source: "https://github.com/crystallpunk-14/crystall-punk-14/" \ No newline at end of file diff --git a/Resources/Textures/_CP14/Tiles/DirtSeedBag/double_edge_E.png b/Resources/Textures/_CP14/Tiles/DirtSeedBag/double_edge_E.png new file mode 100644 index 0000000000000000000000000000000000000000..c3f80fd3cb8a767be394c8e852ff6ea9496de5fc GIT binary patch literal 577 zcmV-H0>1r;P)EX>4Tx04R}tkv&MmKpe$iQ;Q-M2MdZiWT;LSL`4J_sbUc zaarNK#aS&^S@WL!g~6P*lHxkeVZ^Y6I1&&cqlyyBun?hDBgI6L_M;yDLC2pUmrSk_ z7&#VDfeOj-ga5(rZq5AUgqswM0)ZFX{ulu|cY#LDw!e>UyKw^epMfi_<*(F%nNQMd zEiHTm^lk$e*DX!n11@)ffhS!uBuDbo6!LlC{fxdT3-sLr-D_@d&3&9c0BP!K`35*R z1V#&#z3%buuJ+#kJ=5&(2g&$y%FR$F@&Et;cS%G+R9J;$jJ4PO&wvDEMfezq0gvB& zB1#=Lvyt^OdKziM9U#KXLQpfc0g8=pKL5d~@XhCUcpXRzfZ6ll)n|wUM0i;+eE9gy zCk9y&J~)jJJbv?uVe!Gsj8t*mC>RB!U=)mkQ7{Td!6+C7qhJ(_f)NJ*uIV70X-x_d P00000NkvXXu0mjf54{25 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Tiles/DirtSeedBag/double_edge_N.png b/Resources/Textures/_CP14/Tiles/DirtSeedBag/double_edge_N.png new file mode 100644 index 0000000000000000000000000000000000000000..a34a841701f89eeebc460c9b0351742a33d10a22 GIT binary patch literal 637 zcmV-@0)qXCP)EX>4Tx04R}tkv&MmKpe$iQ;Q-M2MdZiWT;LSL`4J_sbUc zaarNK#aS&^S@WL!g~6P*lHxkeVZ^Y6I1&&cqlyyBun?hDBgI6L_M;yDLC2pUmrSk_ z7&#VDfeOj-ga5(rZq5AUgqswM0)ZFX{ulu|cY#LDw!e>UyKw^epMfi_<*(F%nNQMd zEiHTm^lk$e*DX!n11@)ffhS!uBuDbo6!LlC{fxdT3-sLr-D_@d&3&9c0BP!K`35*R z1V#&#z3%buuJ+#kJ=5&(2g&$y%FR$F@&Et;vq?ljR9J=W(Y*@7FcbygQ%FIIks!gT z1syx;TlkzliBI6*12|+2Qqm3`ggQvDKQR>-m-CG`%Q8Ot>XiT{cb%e7Wy3m0H^aciKYNJ9?C9M_sx%+?SCT?5fKp)5&hK@ X{uVkQFCQ0$00000NkvXXu0mjfTk;>L literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Tiles/DirtSeedBag/double_edge_S.png b/Resources/Textures/_CP14/Tiles/DirtSeedBag/double_edge_S.png new file mode 100644 index 0000000000000000000000000000000000000000..068ae56539aad1516f3a941f88578515bbba3c07 GIT binary patch literal 622 zcmV-!0+IcRP)EX>4Tx04R}tkv&MmKpe$iQ;Q-M2MdZiWT;LSL`4J_sbUc zaarNK#aS&^S@WL!g~6P*lHxkeVZ^Y6I1&&cqlyyBun?hDBgI6L_M;yDLC2pUmrSk_ z7&#VDfeOj-ga5(rZq5AUgqswM0)ZFX{ulu|cY#LDw!e>UyKw^epMfi_<*(F%nNQMd zEiHTm^lk$e*DX!n11@)ffhS!uBuDbo6!LlC{fxdT3-sLr-D_@d&3&9c0BP!K`35*R z1V#&#z3%buuJ+#kJ=5&(2g&$y%FR$F@&Et;q)9|UR9J=W(lHCdFc1ac7s%jXL?k$+ zpkqe;7ykdjRj`u;5#!)cXqOt!rfPI?dEb_BdASQwyRC20vqnP-v3XisqfyxzN*%*B z+Z$$T0NAV-qXCuu?UJ#JBsqw-MyHSvo9q>afrnGXd^-8uS?_YYW3@C{R)}W+fb!0@ z-v&yr&dR!X`MR|DQM0dWRoH9dolE~r<`0JS->P)EX>4Tx04R}tkv&MmKpe$iQ;Q-M2MdZiWT;LSL`4J_sbUc zaarNK#aS&^S@WL!g~6P*lHxkeVZ^Y6I1&&cqlyyBun?hDBgI6L_M;yDLC2pUmrSk_ z7&#VDfeOj-ga5(rZq5AUgqswM0)ZFX{ulu|cY#LDw!e>UyKw^epMfi_<*(F%nNQMd zEiHTm^lk$e*DX!n11@)ffhS!uBuDbo6!LlC{fxdT3-sLr-D_@d&3&9c0BP!K`35*R z1V#&#z3%buuJ+#kJ=5&(2g&$y%FR$F@&Et;bV)=(R9J=W%`pmqAQZ;&C%D$++DSS_ zx9OrSZMg&zl2JiIO@@eC4Q=0Ve9!lnwM~7}j|Meo_uPL_iSpBNir)#FVV^5w?}0KC ziGpW?sZgxrX0fI+mh^fMcgv?w!Vmj#Bfad@Ny%Ox0ssI20000)TuQqziAKHOVgLXD M07*qoM6N<$g13AGiU0rr literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Tiles/DirtSeedBag/seedbed.png b/Resources/Textures/_CP14/Tiles/DirtSeedBag/seedbed.png new file mode 100644 index 0000000000000000000000000000000000000000..0e6b1718d95ee18a12885dd5cbb6adb77d971e1f GIT binary patch literal 1375 zcmV-l1)%zgP)Px)8A(JzR9JM>zud!Tp7WK1Kqqy5j%t*xzG&ut^~^s5k9uQA*z4PEX3 zm5IU-8y$rquy$qD^?ejhzz=s(wzliqt}80jc75CRho{|P?7zt6K&M5b|sUA|nX{Z5N|eDf^5on>yNQ5!NN zzW2@9l@;BrS6O4KkIA+ui64A^e~%kX!!Z3u>TQ81vN8~cBgLX_EyF_7AOt7c5E%xZ z7eLbxRvOo)(@aDThiV+bi{p*`uS|lEs}=ss;+N$-|FS9NHOt}`yFRyN$OEUPlTA={CD!8JJ0fe~5 zfa#)**hnIm;kGcxM`-=<);gF)l*NJ+9s6 zrwuKJM+Z)ZA-TZ>lrC~=``%t@MTy8C&tLUrAl#4h$TkflkcM5H4;~NC|PI2%9;1m!^)w37jDrP$$+#PD%k10BQorZP&4) zbcR%6IYs2qw0SngZpi8Up)-&nRYYX7FOJVB6oId7F>#?Fpnh>NO=9XcONM~`>G(_K ztTK-ErqH(vZ?!7jgGI>@Xb@o^uylkrzP^?su+r!R-VjEOe7PA4@lt~4g_O8b0*Ir3 ztfjh97P2>FJj)QWM+@nA3)H>hrWp}V*EnC9lyrPO*s&r~Qqv_C54&S~5^ij`L_IG*S|u*V z!=^w|o@ZoKcUzR$Hz&14i8`POSIY&u3G?Mywk=8yREPz6v)LEWPH7THVYn^I(qN#{ zBP2~?YqBDznF?+J$J7l1HK)zKNTP_76+K)jDg$CjjqtAT&tnyBLp^`9FSL{Z5ROF- zMcn4s#hHc`wOvCKColf_6wEX>4Tx04R}tkv&MmKpe$iQ;Q-M2MdZiWT;LSL`4J_sbUc zaarNK#aS&^S@WL!g~6P*lHxkeVZ^Y6I1&&cqlyyBun?hDBgI6L_M;yDLC2pUmrSk_ z7&#VDfeOj-ga5(rZq5AUgqswM0)ZFX{ulu|cY#LDw!e>UyKw^epMfi_<*(F%nNQMd zEiHTm^lk$e*DX!n11@)ffhS!uBuDbo6!LlC{fxdT3-sLr-D_@d&3&9c0BP!K`35*R z1V#&#z3%buuJ+#kJ=5&(2g&$y%FR$F@&Et;R!KxbR9J;$jJ4PO&%nUIAS=ShaQ^-~ z1`%EshQ$XjGcwQ#u*iz=(aSFE4p@KkA%lV#FI?cw=RX7JoKY|eM!_f;1*2dTjDk@x i3P!;w7zLwX0001CunfTNDAa!d0000EX>4Tx04R}tkv&MmKpe$iQ;Q-M2MdZiWT;LSL`4J_sbUc zaarNK#aS&^S@WL!g~6P*lHxkeVZ^Y6I1&&cqlyyBun?hDBgI6L_M;yDLC2pUmrSk_ z7&#VDfeOj-ga5(rZq5AUgqswM0)ZFX{ulu|cY#LDw!e>UyKw^epMfi_<*(F%nNQMd zEiHTm^lk$e*DX!n11@)ffhS!uBuDbo6!LlC{fxdT3-sLr-D_@d&3&9c0BP!K`35*R z1V#&#z3%buuJ+#kJ=5&(2g&$y%FR$F@&Et;MM*?KR9J=W&7l#%AP@!7e@wcfjC4a| zbb+M+?5T^*3@BP45&P7-wQ}b6N RIXVCU002ovPDHLkV1k`>>kt3{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Tiles/DirtSeedBag/single_edge_SE.png b/Resources/Textures/_CP14/Tiles/DirtSeedBag/single_edge_SE.png new file mode 100644 index 0000000000000000000000000000000000000000..9d10808319fc238257e81b36302bfec731267a85 GIT binary patch literal 555 zcmV+`0@VG9P)EX>4Tx04R}tkv&MmKpe$iQ;Q-M2MdZiWT;LSL`4J_sbUc zaarNK#aS&^S@WL!g~6P*lHxkeVZ^Y6I1&&cqlyyBun?hDBgI6L_M;yDLC2pUmrSk_ z7&#VDfeOj-ga5(rZq5AUgqswM0)ZFX{ulu|cY#LDw!e>UyKw^epMfi_<*(F%nNQMd zEiHTm^lk$e*DX!n11@)ffhS!uBuDbo6!LlC{fxdT3-sLr-D_@d&3&9c0BP!K`35*R z1V#&#z3%buuJ+#kJ=5&(2g&$y%FR$F@&Et;VM#EX>4Tx04R}tkv&MmKpe$iQ;Q-M2MdZiWT;LSL`4J_sbUc zaarNK#aS&^S@WL!g~6P*lHxkeVZ^Y6I1&&cqlyyBun?hDBgI6L_M;yDLC2pUmrSk_ z7&#VDfeOj-ga5(rZq5AUgqswM0)ZFX{ulu|cY#LDw!e>UyKw^epMfi_<*(F%nNQMd zEiHTm^lk$e*DX!n11@)ffhS!uBuDbo6!LlC{fxdT3-sLr-D_@d&3&9c0BP!K`35*R z1V#&#z3%buuJ+#kJ=5&(2g&$y%FR$F@&Et;R!KxbR9J;$^fc1^FT%^h@aFR$h6k@c zGcYhPFkFA~gpq+xfC*;#hi|{>WhV+?x%2Wn!-p?F-~#mY{U{g(qhJ(_f>AIEM!_f; i1*2dTjDk@xC;$NOG8iGo5>Q+K0000 CrystallEdge migration zone end