]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Adds minable salt "ore" (#25324)
authorZadeon <loldude9000@gmail.com>
Mon, 26 Feb 2024 23:34:15 +0000 (17:34 -0600)
committerGitHub <noreply@github.com>
Mon, 26 Feb 2024 23:34:15 +0000 (16:34 -0700)
* 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.

15 files changed:
Resources/Locale/en-US/materials/materials.ftl
Resources/Locale/en-US/salvage/salvage-magnet.ftl
Resources/Prototypes/Entities/Objects/Materials/ore.yml
Resources/Prototypes/Entities/Structures/Walls/asteroid.yml
Resources/Prototypes/Entities/World/Debris/asteroids.yml
Resources/Prototypes/Procedural/Magnet/asteroid.yml
Resources/Prototypes/Procedural/biome_ore_templates.yml
Resources/Prototypes/Procedural/salvage_loot.yml
Resources/Prototypes/Reagents/Materials/ores.yml
Resources/Prototypes/Stacks/Materials/ore.yml
Resources/Prototypes/ore.yml
Resources/Textures/Objects/Materials/ore.rsi/meta.json
Resources/Textures/Objects/Materials/ore.rsi/salt.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/rock.rsi/meta.json
Resources/Textures/Structures/Walls/rock.rsi/rock_salt.png [new file with mode: 0644]

index de95753233104c1844a652b18ac76b6fff6c2d68..dca520b5b49c91bad5e0ff8e21b239dd348f1ab8 100644 (file)
@@ -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
index 64db8ead33bfdd82fdcee345e72fa46122cf523f..1a391ea48cd1ceac76dbf626cec9952671096e54 100644 (file)
@@ -11,6 +11,7 @@ salvage-magnet-resources = {$resource ->
     [OreIron] Iron
     [OreCoal] Coal
     [OreQuartz] Quartz
+    [OreSalt] Salt
     [OreGold] Gold
     [OreSilver] Silver
     [OrePlasma] Plasma
index 2fed6498bddc5de938a1ddf07d601ffbdcf61d4d..bf7dbfad5a3cb8a511c29ade11e077b35fc128df 100644 (file)
   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
index aa5f1421c737946fd4a64faef02883137b111916..e354877612a1a6af4373b3eb31d08746e90e59f5 100644 (file)
       - 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
           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
           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
           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
           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
           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
         - 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
index 6cb0c35ef54bc5b2eeda9b3603039113d539c156..061288d010b558d42af4734e693184f6fffc4472 100644 (file)
@@ -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
index f30bd871ea1c97e6187b901508d5162ce6e8d4b9..a21b709afada83a942f49f36b2536cfd27c92a50 100644 (file)
@@ -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
index 1aba55128f574e3e35216440c78d91b3ad020055..4a60427e305e2ced128769a003232353b8910f73 100644 (file)
   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
index 92b04496baa7e14b5df28b426c4a1dde9f9457c6..f12e8c7ffda474176cff6a78970b9e0077e6c8e5 100644 (file)
     - !type:BiomeMarkerLoot
       proto: OreQuartz
 
+- type: salvageLoot
+  id: OreSalt
+  guaranteed: true
+  loots:
+    - !type:BiomeMarkerLoot
+      proto: OreSalt
+
 # - Medium value
 - type: salvageLoot
   id: OreGold
index 4f4dceea8b9dee2dc765a5153b2347f33ed1f31a..18f1d9ebb3acbc29224d61e06a75f8f6fcf269ac 100644 (file)
   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
index b7b32c8b23d341b25b3d186f75f55913899656aa..2a95393c27bbf2ec9a43a73c524ea7ea99263a31 100644 (file)
   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
index c7e69966d4cc39cce96d1bd2b680a716f68707f4..dde1516c8552588f713f6902fcf4eacc50b74c84 100644 (file)
   minOreYield: 1
   maxOreYield: 3
 
+- type: ore
+  id: OreSalt
+  oreEntity: Salt1
+  minOreYield: 1
+  maxOreYield: 3
+
 # Low yields
 - type: ore
   id: OrePlasma
index 0751cf76d3d0f5cd6c4b5027302997a70a613b81..98a10750bf72cf12e4c74446adde0030d5b901c5 100644 (file)
@@ -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 (file)
index 0000000..5ee3e44
Binary files /dev/null and b/Resources/Textures/Objects/Materials/ore.rsi/salt.png differ
index 0cdbae89786bfc0f004d5583d9ac771de26891cd..aa46326a4b58b08ee1cb2c1b56ef758ee86987d0 100644 (file)
         {
             "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 (file)
index 0000000..4b8a163
Binary files /dev/null and b/Resources/Textures/Structures/Walls/rock.rsi/rock_salt.png differ