]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Salvage Threat: Gibtonite (#37160)
authorNemanja <98561806+EmoGarbage404@users.noreply.github.com>
Sun, 4 May 2025 00:38:47 +0000 (20:38 -0400)
committerGitHub <noreply@github.com>
Sun, 4 May 2025 00:38:47 +0000 (17:38 -0700)
Resources/Prototypes/Entities/Structures/Walls/asteroid.yml
Resources/Prototypes/Procedural/Magnet/asteroid.yml
Resources/Prototypes/Procedural/vgroid.yml
Resources/Textures/Structures/Walls/rock.rsi/gibtonite_active.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/rock.rsi/gibtonite_inactive.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/rock.rsi/meta.json

index 85c011ce11427e1b949577e2825768eaba16854d..34e84d39f62453027d460dedefa77427150e33ad 100644 (file)
           params:
             volume: -6
 
+- type: entity
+  abstract: true
+  id: BaseRockGibtonite
+  suffix: Gibtonite
+  components:
+  - type: Appearance
+  - type: GenericVisualizer
+    visuals:
+      enum.Trigger.TriggerVisuals.VisualState:
+        "gib":
+          Primed:
+            state: gibtonite_active
+            shader: unshaded
+            visible: true
+          Unprimed:
+            state: gibtonite_inactive
+            visible: false
+  - type: OnUseTimerTrigger
+    examinable: false
+    beepInterval: 0.4
+    beepSound:
+      collection: GlassCrack
+  - type: RandomTimerTrigger
+    min: 8
+    max: 10
+  - type: ExplodeOnTrigger
+  - type: Explosive
+    explosionType: DemolitionCharge
+    totalIntensity: 450
+    intensitySlope: 2.5
+    maxIntensity: 10
+    canCreateVacuum: false
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 3
+      behaviors:
+      - !type:TimerStartBehavior
+      - !type:PlaySoundBehavior
+        sound:
+          collection: GlassBreak
+    - trigger:
+        !type:DamageTrigger
+        damage: 500 # you have to really smack it for it to manually detonate. re-examine once defusal exists
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+      - !type:TriggerBehavior
+
 # Ore veins
 - type: entity
   id: AsteroidRockCoal
     - state: rock_artifact_fragment
       map: [ "enum.MiningScannerVisualLayers.Overlay" ]
 
+- type: entity
+  parent: [ BaseRockGibtonite, AsteroidRock ]
+  id: AsteroidRockGibtonite
+  components:
+  - 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: gibtonite_inactive
+      visible: false
+      map: [ "enum.MiningScannerVisualLayers.Overlay", "gib" ]
+
 - type: entity
   id: AsteroidRockMining
   parent: AsteroidRock
     - state: rock_artifact_fragment
       map: [ "enum.MiningScannerVisualLayers.Overlay" ]
 
+- type: entity
+  parent: [ BaseRockGibtonite, IronRock ]
+  id: IronRockGibtonite
+  components:
+  - type: Sprite
+    layers:
+    - state: ironrock
+    - map: [ "enum.EdgeLayer.South" ]
+      state: ironrock_south
+    - map: [ "enum.EdgeLayer.East" ]
+      state: ironrock_east
+    - map: [ "enum.EdgeLayer.North" ]
+      state: ironrock_north
+    - map: [ "enum.EdgeLayer.West" ]
+      state: ironrock_west
+    - state: gibtonite_inactive
+      visible: false
+      map: [ "enum.MiningScannerVisualLayers.Overlay", "gib" ]
+
 - type: entity
   id: IronRockDiamond
   parent: IronRock
index 043c890765f0d86de6771f59445fda05a38b5e06..a77a6b287b199edd50ea0e44d16637995d784635 100644 (file)
   # Generate biome
   - !type:BiomeDunGen
     biomeTemplate: Asteroid
+  - !type:OreDunGen
+    replacement: AsteroidRock
+    entity: AsteroidRockGibtonite
+    count: 8
+    minGroupSize: 0
+    maxGroupSize: 1
 
 # Multiple smaller asteroids
 # This is a pain so we generate fewer tiles
   # Generate biome
   - !type:BiomeDunGen
     biomeTemplate: Asteroid
+  - !type:OreDunGen
+    replacement: AsteroidRock
+    entity: AsteroidRockGibtonite
+    count: 8
+    minGroupSize: 0
+    maxGroupSize: 1
 
 # Long and spindly, less smooth than blob
 - type: dungeonConfig
   # Generate biome
   - !type:BiomeDunGen
     biomeTemplate: Asteroid
+  - !type:OreDunGen
+    replacement: AsteroidRock
+    entity: AsteroidRockGibtonite
+    count: 8
+    minGroupSize: 0
+    maxGroupSize: 1
 
 # Lots of holes in it
 - type: dungeonConfig
   # Generate biome
   - !type:BiomeDunGen
     biomeTemplate: Asteroid
+  - !type:OreDunGen
+    replacement: AsteroidRock
+    entity: AsteroidRockGibtonite
+    count: 8
+    minGroupSize: 0
+    maxGroupSize: 1
index 0747a58b30dc7a74a822292f4bbf2ac50dfeb7ab..e9044720cc12054e33e7754260ccf248be93977a 100644 (file)
       count: 15
       minGroupSize: 1
       maxGroupSize: 2
+    - !type:OreDunGen
+      replacement: IronRock
+      entity: IronRockGibtonite
+      count: 60 # you don't really hit it on purpose so it should be common
+      minGroupSize: 1
+      maxGroupSize: 1
 
 # Configs
 - type: dungeonConfig
diff --git a/Resources/Textures/Structures/Walls/rock.rsi/gibtonite_active.png b/Resources/Textures/Structures/Walls/rock.rsi/gibtonite_active.png
new file mode 100644 (file)
index 0000000..7909262
Binary files /dev/null and b/Resources/Textures/Structures/Walls/rock.rsi/gibtonite_active.png differ
diff --git a/Resources/Textures/Structures/Walls/rock.rsi/gibtonite_inactive.png b/Resources/Textures/Structures/Walls/rock.rsi/gibtonite_inactive.png
new file mode 100644 (file)
index 0000000..bf408b7
Binary files /dev/null and b/Resources/Textures/Structures/Walls/rock.rsi/gibtonite_inactive.png differ
index a29513356c586e735284d44d0af28933295fab56..9f649e0bbb818d2d7facde54530e57e955c86870 100644 (file)
@@ -1,7 +1,7 @@
 {
     "version": 1,
     "license": "CC-BY-SA-3.0",
-    "copyright": "https://github.com/Citadel-Station-13/Citadel-Station-13-RP/blob/817e7c1f225876b45891e3f06908e6d032f0a8bc/icons/turf/walls.dmi, rock_bananium made by brainfood1183 (github) for ss14, rock_snow, rock_asteroid, & rock_wall and co from https://github.com/tgstation/tgstation/tree/e929cf39cded5207d63df1fa8521f41f2816b383. ironrock taken from /vg/station at commit https://github.com/vgstation-coders/vgstation13/commit/02b9f6894af4419c9f7e699a22c402b086d8067e, sand rock made by TheShuEd for ss14",
+    "copyright": "https://github.com/Citadel-Station-13/Citadel-Station-13-RP/blob/817e7c1f225876b45891e3f06908e6d032f0a8bc/icons/turf/walls.dmi, rock_bananium made by brainfood1183 (github) for ss14, rock_snow, rock_asteroid, \u0026 rock_wall and co from https://github.com/tgstation/tgstation/tree/e929cf39cded5207d63df1fa8521f41f2816b383. ironrock taken from /vg/station at commit https://github.com/vgstation-coders/vgstation13/commit/02b9f6894af4419c9f7e699a22c402b086d8067e, sand rock made by TheShuEd for ss14, https://github.com/tgstation/tgstation/blob/5f3e12178e1fbe75ae4b1ff12e256f61b5bdddd5/icons/turf/mining.dmi",
     "size": {
         "x": 32,
         "y": 32
         {
             "name": "rock_diamond",
             "delays": [
-              [
-               0.2,
-               0.2,
-               0.2,
-               0.2,
-               0.2,
-               0.2,
-               0.2,
-               0.2,
-               0.2,
-               0.2,
-               0.2,
-               0.2
-              ]
+                [
+                    0.2,
+                    0.2,
+                    0.2,
+                    0.2,
+                    0.2,
+                    0.2,
+                    0.2,
+                    0.2,
+                    0.2,
+                    0.2,
+                    0.2,
+                    0.2
+                ]
             ]
         },
         {
         },
         {
             "name": "rock_andesite_west"
+        },
+        {
+            "name": "gibtonite_active",
+            "delays": [
+                [
+                    0.1,
+                    0.1,
+                    0.1,
+                    0.1
+                ]
+            ]
+        },
+        {
+            "name": "gibtonite_inactive"
         }
     ]
 }