From b9df2a495ab9d478df8060b3ecb97db33f6a447a Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Wed, 9 Oct 2024 13:40:06 +0300 Subject: [PATCH] some blacksmith bandage (#483) * anvil * iron and copper ore walls + procedural cave update * vladimirs rocks * furnace * Revert "furnace" This reverts commit f378e4fb85e5bc9d8b0014d039bbe7d4ce0c1eae. * Revert "vladimirs rocks" This reverts commit b2c6a193fcf5db1fe3c691345b55a9ec8cd6c1c3. * Revert "iron and copper ore walls + procedural cave update" This reverts commit dc6d70b10e41dbe88461a7512c2c35ec40b14a82. * Revert "anvil" This reverts commit 3ab1649992a2aad12255315ca8c8241cac182e32. * Reapply "anvil" This reverts commit 91c226d18d56f7088844dfc1a0c1161a6a1f239f. * huh * fuck anvil * Revert "fuck anvil" This reverts commit 3c3a87c25e140ee9f1fd90dfa03ee1511b472553. * Revert "huh" This reverts commit 7fb44b490862c602ce3de2434cee063b55eec7e8. * fix comment * Reapply "iron and copper ore walls + procedural cave update" This reverts commit 891c3ba0aaebdea291dcddff536241ca0bf6a913. * Reapply "vladimirs rocks" This reverts commit 4f2eaef6c19568f8bfe389cfc0ff27677cefc07f. * Reapply "furnace" This reverts commit 9d7e042ddfc9cbae7d718c5b0822145b9f8e3ca9. * Update anvil.yml * Update workbenchs.yml * Update workbenchs.yml * Update workbenchs.yml * Update workbenchs.yml * Update workbenchs.yml * Update workbenchs.yml * Update workbenchs.yml * Update workbenchs.yml * Update workbenchs.yml * EVIL anvil * Update workbenchs.yml --- .../Objects/Weapons/Melee/battleStaff.yml | 6 +- .../Entities/Structures/Fence/iron_grille.yml | 6 +- .../_CP14/Entities/Structures/Flora/rocks.yml | 115 +++++++++++ .../Structures/Furniture/workbenchs.yml | 63 +++++- .../Entities/Structures/Walls/natural.yml | 186 +++++++++--------- .../_CP14/Procedural/biome_template.yml | 52 ++--- .../Procedural/biomes_template_grasslands.yml | 28 +++ .../_CP14/Recipes/Workbench/anvil.yml | 148 ++++++++++++++ .../_CP14/Recipes/Workbench/furnace.yml | 23 +++ .../_CP14/Recipes/Workbench/workbench.yml | 10 +- Resources/Prototypes/_CP14/tags.yml | 6 + .../Flora/Rocks/rocks_big.rsi/meta.json | 26 +++ .../Flora/Rocks/rocks_big.rsi/rock0.png | Bin 0 -> 1014 bytes .../Flora/Rocks/rocks_big.rsi/rock1.png | Bin 0 -> 1195 bytes .../Flora/Rocks/rocks_big.rsi/rock2.png | Bin 0 -> 1126 bytes .../Flora/Rocks/rocks_big.rsi/rock3.png | Bin 0 -> 1009 bytes .../Flora/Rocks/rocks_big.rsi/rock4.png | Bin 0 -> 1186 bytes .../Flora/Rocks/rocks_small.rsi/meta.json | 38 ++++ .../Flora/Rocks/rocks_small.rsi/rock0.png | Bin 0 -> 753 bytes .../Flora/Rocks/rocks_small.rsi/rock1.png | Bin 0 -> 607 bytes .../Flora/Rocks/rocks_small.rsi/rock2.png | Bin 0 -> 652 bytes .../Flora/Rocks/rocks_small.rsi/rock3.png | Bin 0 -> 539 bytes .../Flora/Rocks/rocks_small.rsi/rock4.png | Bin 0 -> 440 bytes .../Flora/Rocks/rocks_small.rsi/rock5.png | Bin 0 -> 673 bytes .../Flora/Rocks/rocks_small.rsi/rock6.png | Bin 0 -> 277 bytes .../Flora/Rocks/rocks_small.rsi/rock7.png | Bin 0 -> 712 bytes .../Flora/Rocks/rocks_small.rsi/rock8.png | Bin 0 -> 248 bytes .../Furniture/mannequin.rsi/meta.json | 2 +- .../Furniture/workbench.rsi/anvil.png | Bin 0 -> 391 bytes .../Furniture/workbench.rsi/furnace.png | Bin 0 -> 412 bytes .../Furniture/workbench.rsi/meta.json | 6 + 31 files changed, 588 insertions(+), 127 deletions(-) create mode 100644 Resources/Prototypes/_CP14/Entities/Structures/Flora/rocks.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Workbench/anvil.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock0.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock1.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock2.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock3.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock4.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/rock0.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/rock1.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/rock2.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/rock3.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/rock4.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/rock5.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/rock6.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/rock7.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/rock8.png create mode 100644 Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/anvil.png create mode 100644 Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/furnace.png diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml index 730e6cf724..ce771e4b96 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml @@ -24,7 +24,7 @@ - type: IncreaseDamageOnWield damage: types: - Blunt: 4 + Blunt: 3 - type: MeleeWeapon angle: 100 attackRate: 1.3 @@ -33,12 +33,12 @@ wideAnimation: CP14WeaponArcSlash damage: types: - Blunt: 4 + Blunt: 3 soundHit: collection: MetalThud cPAnimationLength: 0.3 cPAnimationOffset: -1.3 - type: StaminaDamageOnHit - damage: 9 + damage: 4 - type: CP14Currency currency: 20 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille.yml b/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille.yml index 99df874049..d8377bb13c 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille.yml @@ -19,9 +19,9 @@ !type:DamageTrigger damage: 250 behaviors: - #- !type:PlaySoundBehavior - # sound: - # collection: WoodDestroy + - !type:PlaySoundBehavior + sound: + collection: MetalBreak - !type:DoActsBehavior acts: [ "Destruction" ] diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/rocks.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/rocks.yml new file mode 100644 index 0000000000..74df660fc9 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Flora/rocks.yml @@ -0,0 +1,115 @@ +- type: entity + id: CP14BaseRock + name: rock + description: A piece of rock. Hard, heavy, useless. + abstract: true + placement: + mode: SnapgridCenter + components: + - type: Clickable + - type: Sprite + drawdepth: Mobs + snapCardinals: true + - type: Physics + bodyType: Static + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: Rock + +- type: entity + id: CP14RockSmall + parent: CP14BaseRock + suffix: Small + components: + - type: Climbable + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.4 + density: 500 + layer: + - HalfWallLayer + - Opaque + - type: Sprite + sprite: _CP14/Structures/Flora/Rocks/rocks_small.rsi + offset: 0,0.2 + layers: + - state: rock0 + map: ["random"] + - type: RandomSprite + available: + - random: + rock0: "" + rock1: "" + rock2: "" + rock3: "" + rock4: "" + rock5: "" + rock7: "" + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 75 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + params: + volume: -6 + - !type:SpawnEntitiesBehavior + spawn: + CP14StoneBlock1: + min: 2 + max: 3 + +- type: entity + id: CP14RockBig + parent: CP14BaseRock + suffix: Big + components: + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.5 + density: 1500 + layer: + - WallLayer + - type: Sprite + sprite: _CP14/Structures/Flora/Rocks/rocks_big.rsi + offset: 0,0.5 + layers: + - state: rock0 + map: ["random"] + - type: RandomSprite + available: + - random: + rock0: "" + rock1: "" + rock2: "" + rock3: "" + rock4: "" + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + params: + volume: -6 + - !type:SpawnEntitiesBehavior + spawn: + CP14StoneBlock1: + min: 5 + max: 8 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml index 708c7db44a..0953dc376c 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml @@ -105,7 +105,6 @@ description: A table with embroidery tools to create different clothing and materials. components: - type: Sprite - snapCardinals: true state: sewing_table - type: Icon state: sewing_table @@ -114,3 +113,65 @@ collection: CP14Sawing #TODO recipeTags: - CP14RecipeSewing + +- type: entity + id: CP14WorkbenchAnvil + parent: + - CP14BaseWorkbench + name: anvil + description: I feel really bad, please someone fix this. + components: + - type: Sprite + state: anvil + - type: Icon + state: anvil + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: StructuralMetallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 250 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: CP14Workbench + craftSound: + collection: CP14Sawing #TODO + recipeTags: + - CP14RecipeAnvil + +- type: entity + id: CP14WorkbenchFurnace + parent: + - CP14BaseWorkbench + name: melting furnace + description: I feel really bad, please someone fix this. + components: + - type: Sprite + state: furnace + - type: Icon + state: furnace + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: StructuralMetallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: CP14Workbench + craftSound: + collection: CP14Sawing #TODO + recipeTags: + - CP14RecipeMeltingFurnace \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Walls/natural.yml b/Resources/Prototypes/_CP14/Entities/Structures/Walls/natural.yml index dc4ea6dab1..b382535eeb 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Walls/natural.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Walls/natural.yml @@ -69,97 +69,63 @@ graph: CP14WallDirt node: WallDirt -#- type: entity -# id: CP14WallStoneCopperOre -# suffix: copper ore -# parent: CP14WallStone -# description: A solid stone natural wall. You can see the sharp flecks of copper in it. -# components: -# - type: Sprite -# sprite: _CP14/Structures/Walls/cave_stone_copper.rsi -# - type: Icon -# sprite: _CP14/Structures/Walls/cave_stone_copper.rsi -# - type: Destructible -# thresholds: -# - trigger: -# !type:DamageTrigger -# damage: 100 -# behaviors: -# - !type:DoActsBehavior -# acts: ["Destruction"] -# - !type:PlaySoundBehavior -# sound: -# path: /Audio/Effects/break_stone.ogg -# params: -# volume: -6 -# - !type:SpawnEntitiesBehavior -# spawn: -# CP14OreCopper: -# min: 1 -# max: 5 -# -#- type: entity -# id: CP14WallStoneIronOre -# suffix: iron ore -# parent: CP14WallStone -# description: A solid stone natural wall. You can see the sharp flecks of iron in it. -# components: -# - type: Sprite -# sprite: _CP14/Structures/Walls/cave_stone_iron.rsi -# - type: Icon -# sprite: _CP14/Structures/Walls/cave_stone_iron.rsi -# - type: Destructible -# thresholds: -# - trigger: -# !type:DamageTrigger -# damage: 100 -# behaviors: -# - !type:DoActsBehavior -# acts: ["Destruction"] -# - !type:PlaySoundBehavior -# sound: -# path: /Audio/Effects/break_stone.ogg -# params: -# volume: -6 -# - !type:SpawnEntitiesBehavior -# spawn: -# CP14OreIron: -# min: 1 -# max: 5 -# -#- type: entity -# id: CP14WallStoneSilverOre -# suffix: silver ore -# parent: CP14WallStone -# description: A solid stone natural wall. You see the tantalizing particles of silver in it. -# components: -# - type: Sprite -# sprite: _CP14/Structures/Walls/Natural/cave_stone_silver.rsi -# - type: Icon -# sprite: _CP14/Structures/Walls/Natural/cave_stone_silver.rsi -# - type: Destructible -# thresholds: -# - trigger: -# !type:DamageTrigger -# damage: 100 -# behaviors: -# - !type:DoActsBehavior -# acts: ["Destruction"] -# - !type:PlaySoundBehavior -# sound: -# path: /Audio/Effects/break_stone.ogg -# params: -# volume: -6 -# - !type:SpawnEntitiesBehavior -# spawn: -# CP14OreSilver: -# min: 1 -# max: 5 -# CP14StoneBlock1: -# min: 2 -# max: 3 -# - type: IconSmooth -# base: wall +- type: entity + id: CP14WallStoneCopperOre + suffix: copper ore + parent: CP14WallStone + description: A solid stone natural wall. You can see the sharp flecks of copper in it. + components: + - type: Sprite + sprite: _CP14/Structures/Walls/Natural/cave_stone_copper.rsi + - type: Icon + sprite: _CP14/Structures/Walls/Natural/cave_stone_copper.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + params: + volume: -6 + - !type:SpawnEntitiesBehavior + spawn: + CP14OreCopper: + min: 1 + max: 5 + +- type: entity + id: CP14WallStoneIronOre + suffix: iron ore + parent: CP14WallStone + description: A solid stone natural wall. You can see the sharp flecks of iron in it. + components: + - type: Sprite + sprite: _CP14/Structures/Walls/Natural/cave_stone_iron.rsi + - type: Icon + sprite: _CP14/Structures/Walls/Natural/cave_stone_iron.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + params: + volume: -6 + - !type:SpawnEntitiesBehavior + spawn: + CP14OreIron: + min: 1 + max: 5 - type: entity id: CP14WallStoneGoldOre @@ -193,4 +159,40 @@ min: 2 max: 3 - type: IconSmooth - base: wall \ No newline at end of file + base: wall + +# We dont have silver now + +#- type: entity +# id: CP14WallStoneSilverOre +# suffix: silver ore +# parent: CP14WallStone +# description: A solid stone natural wall. You see the tantalizing particles of silver in it. +# components: +# - type: Sprite +# sprite: _CP14/Structures/Walls/Natural/cave_stone_silver.rsi +# - type: Icon +# sprite: _CP14/Structures/Walls/Natural/cave_stone_silver.rsi +# - type: Destructible +# thresholds: +# - trigger: +# !type:DamageTrigger +# damage: 100 +# behaviors: +# - !type:DoActsBehavior +# acts: ["Destruction"] +# - !type:PlaySoundBehavior +# sound: +# path: /Audio/Effects/break_stone.ogg +# params: +# volume: -6 +# - !type:SpawnEntitiesBehavior +# spawn: +# CP14OreSilver: +# min: 1 +# max: 5 +# CP14StoneBlock1: +# min: 2 +# max: 3 +# - type: IconSmooth +# base: wall \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Procedural/biome_template.yml b/Resources/Prototypes/_CP14/Procedural/biome_template.yml index 67d7744caf..b15dda01dc 100644 --- a/Resources/Prototypes/_CP14/Procedural/biome_template.yml +++ b/Resources/Prototypes/_CP14/Procedural/biome_template.yml @@ -28,30 +28,8 @@ allowedTiles: - CP14FloorBase entities: - - FloraGreyStalagmite1 - - FloraGreyStalagmite2 - - FloraGreyStalagmite3 - - FloraGreyStalagmite4 - - FloraGreyStalagmite5 - - FloraRockSolid01 - - FloraRockSolid02 - - FloraRockSolid03 - - FloraGreyStalagmite1 - - FloraGreyStalagmite2 - - FloraGreyStalagmite3 - - FloraGreyStalagmite4 - - FloraGreyStalagmite5 - - FloraRockSolid01 - - FloraRockSolid02 - - FloraRockSolid03 - - FloraGreyStalagmite1 - - FloraGreyStalagmite2 - - FloraGreyStalagmite3 - - FloraGreyStalagmite4 - - FloraGreyStalagmite5 - - FloraRockSolid01 - - FloraRockSolid02 - - FloraRockSolid03 + - CP14RockSmall + - CP14RockSmall - CP14QuartzCrystal - !type:BiomeEntityLayer # lumishroom sage threshold: 0.6 @@ -118,7 +96,7 @@ - CP14WallStone #Ores - !type:BiomeEntityLayer - threshold: 0.6 + threshold: 0.7 noise: seed: 10 noiseType: OpenSimplex2 @@ -127,4 +105,26 @@ allowedTiles: - CP14FloorBase entities: - - CP14WallStoneGoldOre \ No newline at end of file + - CP14WallStoneGoldOre + - !type:BiomeEntityLayer + threshold: 0.6 + noise: + seed: 15 + noiseType: OpenSimplex2 + fractalType: FBm + frequency: 3 + allowedTiles: + - CP14FloorBase + entities: + - CP14WallStoneIronOre + - !type:BiomeEntityLayer + threshold: 0.5 + noise: + seed: 20 + noiseType: OpenSimplex2 + fractalType: FBm + frequency: 3 + allowedTiles: + - CP14FloorBase + entities: + - CP14WallStoneCopperOre \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Procedural/biomes_template_grasslands.yml b/Resources/Prototypes/_CP14/Procedural/biomes_template_grasslands.yml index a94b5ec24f..6379957667 100644 --- a/Resources/Prototypes/_CP14/Procedural/biomes_template_grasslands.yml +++ b/Resources/Prototypes/_CP14/Procedural/biomes_template_grasslands.yml @@ -208,6 +208,32 @@ - CP14FloorGrass entities: - CP14GatherableWildSage + - !type:BiomeEntityLayer # More Rocks + threshold: 0.7 + noise: + seed: 18 + noiseType: OpenSimplex2 + fractalType: FBm + frequency: 3 + allowedTiles: + - CP14FloorGrass + - CP14FloorGrassLight + - CP14FloorGrassTall + entities: + - CP14RockSmall + - !type:BiomeEntityLayer # More Rocks + threshold: 0.8 + noise: + seed: 27 + noiseType: OpenSimplex2 + fractalType: FBm + frequency: 2 + allowedTiles: + - CP14FloorGrass + - CP14FloorGrassLight + - CP14FloorGrassTall + entities: + - CP14RockBig # Подбиомы лугов @@ -225,6 +251,8 @@ frequency: 2 allowedTiles: - CP14FloorGrass + - CP14FloorGrassLight + - CP14FloorGrassTall entities: - CP14FloraTree01 - CP14FloraTree02 diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/anvil.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/anvil.yml new file mode 100644 index 0000000000..5d04db29a1 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/anvil.yml @@ -0,0 +1,148 @@ +- type: CP14Recipe + id: CP14BaseBattleHammer + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 1 + CP14IronBar: 3 + result: CP14BaseBattleHammer + +- type: CP14Recipe + id: CP14BaseDagger + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 1 + CP14IronBar: 1 + result: CP14BaseDagger + +- type: CP14Recipe + id: CP14BaseHandheldAxe + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 1 + CP14IronBar: 1 + result: CP14BaseHandheldAxe + +- type: CP14Recipe + id: CP14BaseLightHammer + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 1 + CP14IronBar: 1 + result: CP14BaseLightHammer + +- type: CP14Recipe + id: CP14BaseMace + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 1 + CP14IronBar: 2 + result: CP14BaseMace + +- type: CP14Recipe + id: CP14BaseShield + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 2 + CP14IronBar: 2 + result: CP14BaseShield + +- type: CP14Recipe + id: CP14BaseSickle + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 1 + CP14IronBar: 2 + result: CP14BaseSickle + +- type: CP14Recipe + id: CP14BaseThrowableSpear + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 2 + CP14IronBar: 1 + result: CP14BaseThrowableSpear + +- type: CP14Recipe + id: CP14BaseSword + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 1 + CP14IronBar: 3 + result: CP14BaseSword + +- type: CP14Recipe + id: CP14BaseTwoHandedSword + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 1 + CP14IronBar: 4 + result: CP14BaseTwoHandedSword + +- type: CP14Recipe + id: CP14BaseHoe + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 1 + CP14IronBar: 2 + result: CP14BaseHoe + +- type: CP14Recipe + id: CP14BasePickaxe + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 1 + CP14IronBar: 2 + result: CP14BasePickaxe + +- type: CP14Recipe + id: CP14BaseShovel + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14WoodenPlanks: 1 + CP14IronBar: 2 + result: CP14BaseShovel + +- type: CP14Recipe + id: CP14ClothingCloakCuirass + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14IronBar: 5 + result: CP14ClothingCloakCuirass + +- type: CP14Recipe + id: CP14ClothingCloakInfantryCuirass + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14IronBar: 6 + result: CP14ClothingCloakInfantryCuirass + +- type: CP14Recipe + id: CP14ClothingCloakCuirassLoincloth + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14IronBar: 6 + result: CP14ClothingCloakCuirassLoincloth + +- type: CP14Recipe + id: CP14ClothingCloakCuirassLeg + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14IronBar: 7 + result: CP14ClothingCloakCuirassLeg \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml new file mode 100644 index 0000000000..18e25937aa --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml @@ -0,0 +1,23 @@ +- type: CP14Recipe + id: CP14CopperBar1 + tag: CP14RecipeMeltingFurnace + craftTime: 4 + entities: + CP14OreCopper: 2 + result: CP14CopperBar1 + +- type: CP14Recipe + id: CP14IronBar1 + tag: CP14RecipeMeltingFurnace + craftTime: 4 + entities: + CP14OreIron: 2 + result: CP14IronBar1 + +- type: CP14Recipe + id: CP14GoldBar1 + tag: CP14RecipeMeltingFurnace + craftTime: 4 + entities: + CP14OreGold: 2 + result: CP14GoldBar1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml index 4a1725f17c..efc2b3a803 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml @@ -51,4 +51,12 @@ CP14Wheat: 2 stacks: CP14WoodenPlanks: 2 - result: CP14BaseBroom \ No newline at end of file + result: CP14BaseBroom + +- type: CP14Recipe + id: CP14BaseBattleStaff + tag: CP14RecipeWorkbench + craftTime: 4 + stacks: + CP14WoodenPlanks: 3 + result: CP14BaseBattleStaff \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/tags.yml b/Resources/Prototypes/_CP14/tags.yml index eca6c68975..442a162530 100644 --- a/Resources/Prototypes/_CP14/tags.yml +++ b/Resources/Prototypes/_CP14/tags.yml @@ -42,3 +42,9 @@ - type: Tag id: CP14RecipeWorkbench + +- type: Tag + id: CP14RecipeAnvil + +- type: Tag + id: CP14RecipeMeltingFurnace diff --git a/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/meta.json b/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/meta.json new file mode 100644 index 0000000000..1b87eff81a --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CLA", + "copyright": "created by vladimir.s", + "size": { + "x": 48, + "y": 64 + }, + "states": [ + { + "name": "rock0" + }, + { + "name": "rock1" + }, + { + "name": "rock2" + }, + { + "name": "rock3" + }, + { + "name": "rock4" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock0.png b/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock0.png new file mode 100644 index 0000000000000000000000000000000000000000..d61ad235c6f0bc302bf91e67380a84378f64efbf GIT binary patch literal 1014 zcmVPx&ut`KgRA_oJ@~LPWCI!QKOBrbJ4DzR zQXlppR63@Efr6l{f=B{ET4)i;9_po+gb)Bje`j3<7!Z#GRSQT(e{F5USzfMs z+QQt#Kl{8Hry^vs(bx-FSRl(HQ2|lDuL~1dO6Wu?Ko`3Gd#US$1=Q9yoY`68X^SdU zNn;`w@Mj{GTA(aIb@qE5d%S5>wQ{oeq2%d3=SmgfMcqV$m?bZZi3!j_9#GiO$of9@ zcb2?t3I!xAkSi2H2yuT=C@(H~uH%tcg|G$uH6TiaWmzaMF2OX1*7B2AnSDUgg%%9M zbNuJ(irbG6;<}p7S!W^aLZ)fq=gEnC%p*_t!^f>AOw;0$@AmJNXCF`qVk(07WP%mQ zgAU>p(gG;L$hI%e6M2l{$5`q>l0t+8RI96jm8ec+vU%ar(B`PT`HIu zj|HRzu$47zN7d`tFdzOWDMY!Dg<()_?SO@JBQXI0UGG@PXQ#R6@A_S2vU#O3Vg<3x zUX=yA_M!jp`dyV{85y8gC<`nu(;-s8`Iu zGNt(^Bd_DlvPw{EsRN7{Pr9Wut268P5i84teNqsWrRGW%CzH(!llNJ6BqBT0&k4dF zn*f7nKa)(ikpml*6^9Ul*Y#Hb_>WLdPtRak7OpOTONsDXS9CH)#z3!QV{dl{0I>D$ zz31G1<3PDCv@g!_^!d7bJXfkXB5pLYqfuFL03e^8_AHwzahe)sEdaptv4`l(?%17q k3%X1;uS7gWihlrq0j^b-_7EQW{r~^~07*qoM6N<$g6i4ZegFUf literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock1.png b/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock1.png new file mode 100644 index 0000000000000000000000000000000000000000..cc917429dc3e4ef20eb9bf784827b5a7cc9f85e0 GIT binary patch literal 1195 zcmV;c1XTNpP)Px(Wl2OqRA_C-4>iTKV1jclh5l0^ zIkq%CgcKZ%AR!p}P)NYV#g!6Y!C4pznz`gos~9_!2V9F)$Gjo z=Dm6QW){fE$jHdZ$jHdZ$jHdZ$jHdZ_yWm|+QIt9mLJ!qSS*I_-LfpycD6AwIRyZi zo-U%*^3eGE&qSKWk~EfC-`Mi+RI7n|r>+|ks)CCLJ{oytsGr1$p*%pdE{oSuvgX9~ z<3|qx027l_s8noa`)1QI_Cz8NRF~HR!b#Yfd#-(^WX<81-+l)G^g3+-*W$T%xaY16 zGxCJ72dc|!{`7QFi01=-vwBba9Em4-oi>(MR<)tU`+oiU4cwD|BQ?f)fMy*4S}jl6 zruO1x;J2-l8JS;u+b1k{QT38T7xMY^*U|gG2L2G8KCn* z$OCemzS;jvTzj4;gz{OW*{!{JiOnCr4;V<|c|U1l{2uVU>)Dc1BXDi_<3|rsnqLrx z=-MY`X146Vzc>kbL2CeySuUPx78#0NLQbuwP#=Z-4Wo7N)lj1(fE&vVR84|un&pH% zAY096Kh1&DB4B`RFZxR>t0H`4@t-4~JcJ1DrL%W$Q|mVrLZ0U-Hz32%YIy9bBCMhpC%41NZrQ9Q3>5ni~=D z0M#zdrlT}Mmr?jYh5QX6nnM++suI0rS$Oi~*U)_vgaKScrDCJmbhHoY#1nFHHw>n= z&=>$%<=Z~(kjTaSg{2D{p61oo=JRZ~Lu+az|;mfs?kpZ^7=-;VUl^-waub!tMHAt`12Ch7C*l1`Ezy|%U zxd(RZd!eJl+RpaSB4v;A&r6PToCDyO<`=Yk5L#D826X$En3xO;Zh!bNr2LP9`36c( zwT^R~>-H~wE>`CK#ffojt{s$xCiYEZa-@^a^002ov JPDHLkV1j9Px(AW1|)RA_@4`q4wmnIc=7F{X`^_e1rl$bFFQXz0vr5!$w{(~6gAosGZSP=adderhvbyHW z_zIK;5-Gr12A&*G`d>mx0a35B-)zG3l3BUiZfRE{>BO0xo2NIfUlXSI zB#M8gK++9OdLwgP4_n(ienZCNPlp+aAo))3NOtK+DCfY|_6`8}m50ZKW%X@j%=&4O z2NEW+=XqFJU4!d-sMTzI`n2cE;#!L+@=5js?RkJF9|x0`XD~L<=zxV-5(Q6O0o|SX z#1#m_s$NhUHKi5cEhRc_ka>;=Aq16k=TR6bX>Deyd4QErMvjkfLI`R#+en|3xQvRx zN+=;D)=PZ#VqPldhm;f9*gVi}w?Jz4z;)3s%~}r;e)T#^>nbY{)ws#D6cuY6>l?3x zvee3`ZBNpRm#1UzTY2$J*ed~l54D0vEV^YhaR`MaAS1ZAa5GdU0&o4%u`2!fQOF}fdNPKjEV75xr|1USBYVsJbO+xfdNSc*aAr>uOLhg_R=0mi@a`!suV(D z;S*=ku;+O4Nx}zEOkzfq?_Ij>mb4W`ajy$$1r83}J|cyYQY3kmWKU{+Kp}*3xg7Gv zv;N;A^2Pj+G65a(fPx1orRa4IrS6sOGG)l~hiIY?A<`b`bq+)Oc3mq5!FFM%-k_|r zEtiS#yPC8II=v%wdR}ap=$^LmEyV8I*ST)HMOmmezkVF>fYK4h=vbAO&YS@-SOSOh zMPIpKm12lXUfKSKhm;4H>yBfv>br3`U+lZD(>p>jKP222qRJ*uJot4#?t5~iF!&9O zOjLIt)xNdX`@2W)O`0qBoMUJ)6HLS=Sto?dbs z;j}hkS-5limXK>`2(fT@|7N@InyBI=iQOQ+efbPRh;XWVvivmkxyXgB>IG^d(PY3p s4v3RIY~57<-9{B*p_rD@GGqYo8zi9)b3o0}Bme*a07*qoM6N<$g0-#;J^%m! literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock3.png b/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock3.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2c48cec9e7c2357705cf391ec738d93bb54800 GIT binary patch literal 1009 zcmVPx&t4TybRA_|5q#=O>k?BEZ*&nmh+H z$ndX_v)y59W0S{^?fv*>{W${9ZFbh$*yPL2rtB04<|D*fhcn1WaNO%z6=J2MF!=?i z8adbQbP*S3Q-pCRvXSq*E_~k)+Ke%L{O}%^?p1KimWXF2H#b*S`Ipb162})EC(`zP zAD8YG7MyDE!x)n$yeh0FaTtuTNEG_6i@xh7u4`>qT&_&3wwA4UzWmVfsRs>KXivj?YN=#dXwt(i!DsMFEK|3u9ROpJB zTM`S1iX=uqEeg7@Y9W(c5KxVR^&Dt-x>_O_V+dQ4in&;*-RVL$!7Vsdv^(9PO^wPd zXbFfXFc9^&=lM7|Jd&ORW)oj;tzj}6@Uyd@q{+=F0y+t~+-yo`WRdKUADncm&VgCycmr822{Pgq;xm*sM^F$SU`RX+QpjgPmsl6r5$jTOyjZm71I6+|< z-}iBMcNaM)$cx`pCLZjB=&+WF9CB2#*>?#8U#(?DC>eB=OOTKzOFqsog-*K4KnFnT3Hly%Vd7 z62w)>0}2A_^>-0J+K7Vby@29OtTI9>$t~;memW-IYh)pvkjL*gArB}B7z~HxPAL$? zRmjRK~t;iO-xxUEVPsi508-_{0T3<%QDlxv`Di-oV6ohTUf2)$bxxRRkpV3FQa;3(p zt42Ug0EIkY;VWfYG~%F=rxF*Kd9ljB4akJZNDG4Tmlajw0;yG~T&eN+KIWq1;PThG zbmKLRSQ1-#{vna;3&A)i;q{gkm9&!Ek78^lV@z f5vmS_5*gzgRC00000NkvXXu0mjfrFzpG literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock4.png b/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_big.rsi/rock4.png new file mode 100644 index 0000000000000000000000000000000000000000..d7aa3507bddaf812b7ba5def85c0451f4e4ed58b GIT binary patch literal 1186 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/rock4.png b/Resources/Textures/_CP14/Structures/Flora/Rocks/rocks_small.rsi/rock4.png new file mode 100644 index 0000000000000000000000000000000000000000..666630438b846654ea2da591d446dcde32ab186e GIT binary patch literal 440 zcmV;p0Z0CcP)Px$a!Eu%R9J=WmcL8GKorNn6^9O`6jDTtk}ZWoI}{WgIvAuVIP^~x#NFA!#X(RI z$xukQP)|z9fr9}<3Fl(Z_L?8>V$mg^CAs9?`+o0{%R8W?q@<*z0p| z$0r;g9m;3R!k-`S+6G9a>h}7g)w1RIz%&5>FRqIq;A`Sx6odIAQtmCf*B>T~0e}?$ z4Y>wvyCa%SBQvH*>B$DtSX4n352JW<25h?{s}GdVsp^ zl0;`ye{;>~JDF(I>y$Wc$dh(Px%TS-JgR9J=WRxxYaKp1_hTO4o*1{-6drrIP3SeQTy88TD^lRyS99Xj{-6iW9( zp_Ee6p>u~W1{+%N;DSMdLY+n-6dic5z#^FIkes-a?&MR~`faEC?%un5-}jw>4K~C@>0ARV8BM5$Ii&z`z_4>5YXaE2XpFGaZGh!ZPL@0y2UY`O0Bj-T~5ynwO zaxuCh?y1PTu8XegN*BpQF*uG5$FZ@sU59OV3X@hUz&$vkUDr*$-7`(dl8+bBY~}^& ziV&{IJvgGxW&<+MN8i5Z7H5V14#Ql`a5zFZn<}ly32+=+2w;9QQAMSg6*3%-(r+pe zg?)feHbMx_PEUjqWMFpjTdrf6;Ll&hv zp)M|e{X`TI9D7fN?;p=UPx#&q+i3%!$3J?K3`b)CeBW1%RUd(E zmm{lKiudhSGhRQ%*UO0@ymJc!j)$#Mw$>kbZ^HBZSPXDFp8=HR+6@3?bA`nD>WBqF b5PpUS@sB*xvPx%f=NU{R9J=WRzXV}K^T3hl@(TOU_uCPWDA7|LPN=|LJmz^QSjhF@lXmqw)FRi z9t)*siv(Iqu?G)@lnC)qupk)Bib%FBl7%c1riXQ=voo`sl^%N8ciP?gcHW!sd-Kfz z88T$Zkl{ZgmnNvOv_{iTxc}v2syP|%rXhb+t>Vma665A9i#^iYh)4{q*6Q@t%NOW5 z=dm$mYZd^|{PbBnK2FS70fhp=>dG<~!3Y_?w|*o|0oQfW@4Eniqr(G*Z)^#GaCNII z%K*TIu#yO==Mc+92mv7kopwt*ccOsdzyk_|i|C!6;Psog=sD+FVg_-HWh_oWYzeBh zIt75jjey?i2_Iu3WXR z>3rndaNzOhR05L7fv~=vc1s}wLc^KH1g56*5n@Ju9r(Ds=tem2B$3ZqmQv47y9GZO zDdZwy9JvmP3FFLFwq~)jy(LUWv~e|t8SR-*=7mJIJ6#>V`zqFzOK=zZ|86z2xl`~>Swz;vcG#OShSp*{{BwDJ* z(pu!KhzPjZB9u8<#+l>Rnx>{^t))f=jY*%o7p-0000<|{Ln2z= zURLCGa^zwEus_K_qUES_jy{Lf8#eyRpS2;IZQil&KA2GNC{W4V+>~U|?P_~CjOU&B z_S<T;HUcp_a69K<0Pr2^T%eUzB6l@7_Y*;Mjh$ndF$t&F*N@6)$dC1 u)}474RXPx$K}keGRA_4!3lr=UB}a zl41cQXwKB12bktYE5u7Wpcz7R8faZF9`_pn`4I{z{h?W6l8k9uho*J2pRPx$R!KxbRA_1Ot~AZ=sl&4dRIJx+fS@mIW#o z)&%P@>VgsO#zIEE#p@vx-XAH|r-=6f8G$;%?m(qKabNF9h3f4lCZ*85+Ju+^NZ8?W|M`?c!~nLs(&CLF7zoXOs_J488=*DC z8?(?&Ou2EXPdfBJaak6qtE3iUN%