From: Zadeon Date: Mon, 26 Feb 2024 23:34:15 +0000 (-0600) Subject: Adds minable salt "ore" (#25324) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=133bd0353a16a3b2260555318a1389b1c2c0f0e9;p=space-station-14.git Adds minable salt "ore" (#25324) * Added salt to ore.yml Added salt to ores.yml Added salt walls to asteroid.yml Added salt to BaseAsteroidDebris' list of ores to generate in asteroids.yml Added OreSalt to biome_ore_templates.yml Added salt to guaranteed salvageLoot in salvage_loot.yml Added salt entry under salvage-magnet-resources in salvage-magnet.ftl Added WIP sprites for salt. * Renamed salt's id to SaltOre inside Entities/Objects/Materials/ore.yml Fixed salt not being grindable due to using an incorrect reagent name Added salt to ore.rsi/meta.json and rock.rsi/meta.json * Added chlorine to the list of solutions salt gives when used in the grinder. * Gave salt ore and salt rock overlay unique sprites. * Added raw salt to materials/materials.ftl Updated SaltOre definition in ore.yml to have RawSalt under materialComposition * Updated saltore definition to give 10 units of tablesalt and 5 units of iodine when ground. --- diff --git a/Resources/Locale/en-US/materials/materials.ftl b/Resources/Locale/en-US/materials/materials.ftl index de95753233..dca520b5b4 100644 --- a/Resources/Locale/en-US/materials/materials.ftl +++ b/Resources/Locale/en-US/materials/materials.ftl @@ -34,3 +34,4 @@ materials-raw-silver = raw silver materials-raw-plasma = raw plasma materials-raw-uranium = raw uranium materials-raw-bananium = raw bananium +materials-raw-salt = raw salt diff --git a/Resources/Locale/en-US/salvage/salvage-magnet.ftl b/Resources/Locale/en-US/salvage/salvage-magnet.ftl index 64db8ead33..1a391ea48c 100644 --- a/Resources/Locale/en-US/salvage/salvage-magnet.ftl +++ b/Resources/Locale/en-US/salvage/salvage-magnet.ftl @@ -11,6 +11,7 @@ salvage-magnet-resources = {$resource -> [OreIron] Iron [OreCoal] Coal [OreQuartz] Quartz + [OreSalt] Salt [OreGold] Gold [OreSilver] Silver [OrePlasma] Plasma diff --git a/Resources/Prototypes/Entities/Objects/Materials/ore.yml b/Resources/Prototypes/Entities/Objects/Materials/ore.yml index 2fed6498bd..bf7dbfad5a 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/ore.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/ore.yml @@ -312,3 +312,36 @@ components: - type: Stack count: 1 + +- type: entity + parent: OreBase + id: SaltOre + name: salt + suffix: Full + components: + - type: Stack + stackType: SaltOre + - type: Sprite + state: salt + - type: Material + - type: PhysicalComposition + materialComposition: + RawSalt: 500 + - type: Extractable + grindableSolutionName: saltore + - type: SolutionContainerManager + solutions: + saltore: + reagents: + - ReagentId: TableSalt + Quantity: 10 + - ReagentId: Iodine + Quantity: 5 + +- type: entity + parent: SaltOre + id: Salt1 + suffix: Single + components: + - type: Stack + count: 1 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml index aa5f1421c7..e354877612 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml @@ -343,6 +343,28 @@ - map: [ "enum.EdgeLayer.West" ] state: ironrock_west +- type: entity + id: AsteroidRockSalt + parent: AsteroidRock + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_asteroid + - map: [ "enum.EdgeLayer.South" ] + state: rock_asteroid_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_asteroid_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_asteroid_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_asteroid_west + - state: rock_salt + - type: entity id: IronRockMining parent: IronRock @@ -613,6 +635,28 @@ state: rock_west - state: rock_artifact_fragment +- type: entity + id: WallRockSalt + parent: WallRock + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock + - map: [ "enum.EdgeLayer.South" ] + state: rock_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_west + - state: rock_salt + # Basalt variants - type: entity id: WallRockBasalt @@ -831,6 +875,28 @@ state: rock_wall_west - state: rock_artifact_fragment +- type: entity + id: WallRockBasaltSalt + parent: WallRockBasalt + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_wall + - map: [ "enum.EdgeLayer.South" ] + state: rock_wall_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_wall_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_wall_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_wall_west + - state: rock_salt + # Snow variants - type: entity id: WallRockSnow @@ -1049,6 +1115,27 @@ state: rock_snow_west - state: rock_artifact_fragment +- type: entity + id: WallRockSnowSalt + parent: WallRockSnow + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_snow + - map: [ "enum.EdgeLayer.South" ] + state: rock_snow_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_snow_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_snow_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_snow_west + - state: rock_salt # Sand variants - type: entity @@ -1268,6 +1355,28 @@ state: rock_sand_west - state: rock_artifact_fragment +- type: entity + id: WallRockSandSalt + parent: WallRockSand + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_sand + - map: [ "enum.EdgeLayer.South" ] + state: rock_sand_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_sand_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_sand_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_sand_west + - state: rock_salt + # Chromite variants - type: entity id: WallRockChromite @@ -1486,6 +1595,28 @@ state: rock_chromite_west - state: rock_artifact_fragment +- type: entity + id: WallRockChromiteSalt + parent: WallRockChromite + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_chromite + - map: [ "enum.EdgeLayer.South" ] + state: rock_chromite_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_chromite_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_chromite_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_chromite_west + - state: rock_salt + # Andesite variants - type: entity id: WallRockAndesite @@ -1703,3 +1834,25 @@ - map: [ "enum.EdgeLayer.West" ] state: rock_andesite_west - state: rock_artifact_fragment + +- type: entity + id: WallRockAndesiteSalt + parent: WallRockAndesite + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_andesite + - map: [ "enum.EdgeLayer.South" ] + state: rock_andesite_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_andesite_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_andesite_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_andesite_west + - state: rock_salt diff --git a/Resources/Prototypes/Entities/World/Debris/asteroids.yml b/Resources/Prototypes/Entities/World/Debris/asteroids.yml index 6cb0c35ef5..061288d010 100644 --- a/Resources/Prototypes/Entities/World/Debris/asteroids.yml +++ b/Resources/Prototypes/Entities/World/Debris/asteroids.yml @@ -26,6 +26,9 @@ - id: WallRockQuartz prob: 0.15 orGroup: rock + - id: WallRockSalt + prob: 0.15 + orGroup: rock - id: WallRockGold prob: 0.05 orGroup: rock diff --git a/Resources/Prototypes/Procedural/Magnet/asteroid.yml b/Resources/Prototypes/Procedural/Magnet/asteroid.yml index f30bd871ea..a21b709afa 100644 --- a/Resources/Prototypes/Procedural/Magnet/asteroid.yml +++ b/Resources/Prototypes/Procedural/Magnet/asteroid.yml @@ -4,6 +4,7 @@ OreIron: 1.0 OreQuartz: 1.0 OreCoal: 1.0 + OreSalt: 1.0 OreGold: 0.25 OreSilver: 0.25 OrePlasma: 0.15 diff --git a/Resources/Prototypes/Procedural/biome_ore_templates.yml b/Resources/Prototypes/Procedural/biome_ore_templates.yml index 1aba55128f..4a60427e30 100644 --- a/Resources/Prototypes/Procedural/biome_ore_templates.yml +++ b/Resources/Prototypes/Procedural/biome_ore_templates.yml @@ -40,6 +40,20 @@ maxGroupSize: 20 radius: 4 +- type: biomeMarkerLayer + id: OreSalt + entityMask: + AsteroidRock: AsteroidRockSalt + WallRock: WallRockSalt + WallRockBasalt: WallRockBasaltSalt + WallRockChromite: WallRockChromiteSalt + WallRockSand: WallRockSandSalt + WallRockSnow: WallRockSnowSalt + maxCount: 30 + minGroupSize: 10 + maxGroupSize: 20 + radius: 4 + # Medium value # Gold - type: biomeMarkerLayer diff --git a/Resources/Prototypes/Procedural/salvage_loot.yml b/Resources/Prototypes/Procedural/salvage_loot.yml index 92b04496ba..f12e8c7ffd 100644 --- a/Resources/Prototypes/Procedural/salvage_loot.yml +++ b/Resources/Prototypes/Procedural/salvage_loot.yml @@ -135,6 +135,13 @@ - !type:BiomeMarkerLoot proto: OreQuartz +- type: salvageLoot + id: OreSalt + guaranteed: true + loots: + - !type:BiomeMarkerLoot + proto: OreSalt + # - Medium value - type: salvageLoot id: OreGold diff --git a/Resources/Prototypes/Reagents/Materials/ores.yml b/Resources/Prototypes/Reagents/Materials/ores.yml index 4f4dceea8b..18f1d9ebb3 100644 --- a/Resources/Prototypes/Reagents/Materials/ores.yml +++ b/Resources/Prototypes/Reagents/Materials/ores.yml @@ -59,3 +59,12 @@ icon: { sprite: Objects/Materials/ore.rsi, state: bananium } color: "#32a852" price: 0.2 + +- type: material + id: RawSalt + stackEntity: Salt1 + name: materials-raw-salt + unit: materials-unit-chunk + icon: { sprite: Objects/Materials/ore.rsi, state: salt } + color: "#f5e7d7" + price: 0.075 \ No newline at end of file diff --git a/Resources/Prototypes/Stacks/Materials/ore.yml b/Resources/Prototypes/Stacks/Materials/ore.yml index b7b32c8b23..2a95393c27 100644 --- a/Resources/Prototypes/Stacks/Materials/ore.yml +++ b/Resources/Prototypes/Stacks/Materials/ore.yml @@ -62,3 +62,11 @@ spawn: Coal1 maxCount: 30 itemSize: 2 + +- type: stack + id: SaltOre + name: salt + icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: salt } + spawn: Salt1 + maxCount: 30 + itemSize: 2 diff --git a/Resources/Prototypes/ore.yml b/Resources/Prototypes/ore.yml index c7e69966d4..dde1516c85 100644 --- a/Resources/Prototypes/ore.yml +++ b/Resources/Prototypes/ore.yml @@ -37,6 +37,12 @@ minOreYield: 1 maxOreYield: 3 +- type: ore + id: OreSalt + oreEntity: Salt1 + minOreYield: 1 + maxOreYield: 3 + # Low yields - type: ore id: OrePlasma diff --git a/Resources/Textures/Objects/Materials/ore.rsi/meta.json b/Resources/Textures/Objects/Materials/ore.rsi/meta.json index 0751cf76d3..98a10750bf 100644 --- a/Resources/Textures/Objects/Materials/ore.rsi/meta.json +++ b/Resources/Textures/Objects/Materials/ore.rsi/meta.json @@ -30,6 +30,9 @@ }, { "name": "coal" + }, + { + "name": "salt" } ] } diff --git a/Resources/Textures/Objects/Materials/ore.rsi/salt.png b/Resources/Textures/Objects/Materials/ore.rsi/salt.png new file mode 100644 index 0000000000..5ee3e44a6f Binary files /dev/null and b/Resources/Textures/Objects/Materials/ore.rsi/salt.png differ diff --git a/Resources/Textures/Structures/Walls/rock.rsi/meta.json b/Resources/Textures/Structures/Walls/rock.rsi/meta.json index 0cdbae8978..aa46326a4b 100644 --- a/Resources/Textures/Structures/Walls/rock.rsi/meta.json +++ b/Resources/Textures/Structures/Walls/rock.rsi/meta.json @@ -151,6 +151,9 @@ { "name": "rock_bananium" }, + { + "name": "rock_salt" + }, { "name": "rock_sand" }, diff --git a/Resources/Textures/Structures/Walls/rock.rsi/rock_salt.png b/Resources/Textures/Structures/Walls/rock.rsi/rock_salt.png new file mode 100644 index 0000000000..4b8a163537 Binary files /dev/null and b/Resources/Textures/Structures/Walls/rock.rsi/rock_salt.png differ