]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
crystals drop shards and ore crab tweaks. (#20930)
authorbrainfood1183 <113240905+brainfood1183@users.noreply.github.com>
Sat, 16 Dec 2023 22:20:14 +0000 (22:20 +0000)
committerGitHub <noreply@github.com>
Sat, 16 Dec 2023 22:20:14 +0000 (15:20 -0700)
* crystals drop shards and ore crab tweaks

* crystals drop shards, shards can be crafted into colored light tubes and silver ore crab.

* crystals can now be unanchored.

* added silver crab to rock anom spawn

* fixes

* sorted out the parenting for crystal light tubes.

27 files changed:
Resources/Prototypes/Entities/Markers/Spawners/Random/asteroidcrab.yml
Resources/Prototypes/Entities/Markers/Spawners/Random/crystal.yml
Resources/Prototypes/Entities/Markers/Spawners/mobs.yml
Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml
Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Power/lights.yml
Resources/Prototypes/Entities/Structures/Decoration/crystals.yml
Resources/Prototypes/Recipes/Construction/Graphs/utilities/lighting.yml [new file with mode: 0644]
Resources/Prototypes/Recipes/Construction/lighting.yml [new file with mode: 0644]
Resources/Prototypes/ore.yml
Resources/Prototypes/tags.yml
Resources/Textures/Mobs/Elemental/orecrab.rsi/iron_crab.png [moved from Resources/Textures/Mobs/Elemental/orecrab.rsi/ironcrab.png with 100% similarity]
Resources/Textures/Mobs/Elemental/orecrab.rsi/meta.json
Resources/Textures/Mobs/Elemental/orecrab.rsi/quartz_crab.png [moved from Resources/Textures/Mobs/Elemental/orecrab.rsi/quartzcrab.png with 100% similarity]
Resources/Textures/Mobs/Elemental/orecrab.rsi/silver_crab.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/orecrab.rsi/uranium_crab.png [moved from Resources/Textures/Mobs/Elemental/orecrab.rsi/uraniumcrab.png with 100% similarity]
Resources/Textures/Objects/Materials/Shards/crystal.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard1.png [new file with mode: 0644]
Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard2.png [new file with mode: 0644]
Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard3.png [new file with mode: 0644]
Resources/Textures/Structures/Decoration/crystal.rsi/crystal_blue.png [deleted file]
Resources/Textures/Structures/Decoration/crystal.rsi/crystal_cyan.png [deleted file]
Resources/Textures/Structures/Decoration/crystal.rsi/crystal_green.png [deleted file]
Resources/Textures/Structures/Decoration/crystal.rsi/crystal_grey.png
Resources/Textures/Structures/Decoration/crystal.rsi/crystal_orange.png [deleted file]
Resources/Textures/Structures/Decoration/crystal.rsi/crystal_pink.png [deleted file]
Resources/Textures/Structures/Decoration/crystal.rsi/meta.json

index 07820e91cde31aaec36d5c6ac24cdbaa3063a331..190ee079e46d199ade8879115fdbbbe76b1c36d7 100644 (file)
@@ -6,8 +6,8 @@
     - type: Sprite
       layers:
         - state: red
-        - sprite: Structures/Decoration/crystal.rsi
-          state: crystal_cyan
+        - sprite: Structures/Walls/rock.rsi
+          state: rock_asteroid_ore
     - type: RandomSpawner
       prototypes:
         - AsteroidRockCrab
index c90f2d0bf61c2c75ddc7ad7e5b56281a003326ce..84adf28e2d9f8a46259e71b4e6274a971aae6de9 100644 (file)
@@ -8,7 +8,7 @@
       layers:
         - state: red
         - sprite: Structures/Decoration/crystal.rsi
-          state: crystal_cyan
+          state: crystal_grey
     - type: RandomSpawner
       prototypes:
         - CrystalGreen
@@ -16,4 +16,5 @@
         - CrystalOrange
         - CrystalBlue
         - CrystalCyan
+        - CrystalGrey
       chance: 0.7
index 0766fc18d8670b2db2d8dad582416388e5782959..eecf395bb195614522f9710d2df2c3956a9f1926 100644 (file)
   - type: Sprite
     layers:
     - state: green
-    - state: quartzcrab
+    - state: quartz_crab
       sprite: Mobs/Elemental/orecrab.rsi
   - type: RandomSpawner
     prototypes:
       - MobUraniumCrab
       - MobIronCrab
       - MobQuartzCrab
+      - MobSilverCrab
 
 - type: entity
   name: luminous person spawner
index 8ab65c340ea73fd90f05593fb63f659734955d97..483659f1c142a9f6db15e20956be91d9f1593480 100644 (file)
@@ -1,5 +1,4 @@
 - type: entity
-  save: false
   abstract: true
   id: MobElementalBase
   components:
   - type: ZombieImmune
 
 - type: entity
+  abstract: true
+  id: MobOreCrab
+  name: ore crab
   parent: [ MobElementalBase, MobCombat ]
-  id: MobQuartzCrab
-  name: quartz crab
-  description: An ore crab made from quartz.
   components:
   - type: Sprite
     sprite: Mobs/Elemental/orecrab.rsi
-    state: quartzcrab
+    state: uranium_crab
   - type: HTN
     rootTask:
       task: SimpleHostileCompound
   - type: MeleeWeapon
+    hidden: true
     soundHit:
       path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg
     damage:
       types:
-        Piercing: 12
-  - type: CombatMode
+        Blunt: 6
+  - type: MovementSpeedModifier
+    baseWalkSpeed : 2
+    baseSprintSpeed : 2.5
   - type: NpcFactionMember
     factions:
       - SimpleHostile
+
+- type: entity
+  parent: MobOreCrab
+  id: MobQuartzCrab
+  description: An ore crab made from Quartz.
+  components:
+  - type: Sprite
+    state: quartz_crab
   - type: Destructible
     thresholds:
     - trigger:
         acts: [ "Destruction" ]
 
 - type: entity
-  parent: [ MobElementalBase, MobCombat ]
+  parent: MobOreCrab
   id: MobIronCrab
-  name: ore crab
   description: An ore crab made from iron.
   components:
   - type: Sprite
-    sprite: Mobs/Elemental/orecrab.rsi
-    state: ironcrab
-  - type: HTN
-    rootTask:
-      task: SimpleHostileCompound
+    state: iron_crab
   - type: MeleeWeapon
-    soundHit:
-      path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg
     damage:
       types:
-        Blunt: 8
-  - type: CombatMode
+        Blunt: 5
   - type: MovementSpeedModifier
     baseWalkSpeed : 1.5
     baseSprintSpeed : 2
-  - type: NpcFactionMember
-    factions:
-      - SimpleHostile
   - type: Destructible
     thresholds:
     - trigger:
         acts: [ "Destruction" ]
 
 - type: entity
-  parent: [ MobElementalBase, MobCombat ]
+  parent: MobOreCrab
   id: MobUraniumCrab
-  name: ore crab
   description: An ore crab made from uranium.
   components:
-  - type: Sprite
-    sprite: Mobs/Elemental/orecrab.rsi
-    state: uraniumcrab
-  - type: HTN
-    rootTask:
-      task: IdleCompound
-  - type: MeleeWeapon
-    soundHit:
-      path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg
-    damage:
-      types:
-        Blunt: 8
-  - type: CombatMode
-  - type: MovementSpeedModifier
-    baseWalkSpeed : 2
-    baseSprintSpeed : 2.5
+  - type: FactionException
+  - type: NPCRetaliation
+    attackMemoryLength: 10
   - type: NpcFactionMember
     factions:
-      - SimpleHostile
+      - SimpleNeutral
   - type: RadiationSource
     intensity: 2
     slope: 0.3
       - !type:SpawnEntitiesBehavior
         spawn:
           UraniumOre1:
-            min: 8
-            max: 10
+            min: 3
+            max: 6
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: PointLight
     energy: 3
     color: "#06DF24"
 
+- type: entity
+  parent: MobOreCrab
+  id: MobSilverCrab
+  name: ore crab
+  description: An ore crab made from silver.
+  components:
+  - type: Sprite
+    state: silver_crab
+  - type: MeleeWeapon
+    damage:
+      types:
+        Blunt: 5
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 70
+      behaviors:
+      - !type:PlaySoundBehavior
+        sound:
+          collection: GlassBreak
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          SilverOre1:
+            min: 4
+            max: 6
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+
 - type: entity
   name: Reagent slime
   id: ReagentSlime
diff --git a/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml b/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml
new file mode 100644 (file)
index 0000000..797cee6
--- /dev/null
@@ -0,0 +1,138 @@
+- type: entity
+  abstract: true
+  parent: BaseItem
+  id: ShardCrystalBase
+  name: crystal shard
+  description:  A small piece of crystal.
+  components:
+  - type: Sharp
+  - type: Sprite
+    layers:
+      - sprite: Objects/Materials/Shards/crystal.rsi
+        state: shard1
+        map: [ "enum.DamageStateVisualLayers.Base" ]
+  - type: RandomSprite
+    available:
+      - enum.DamageStateVisualLayers.Base:
+          shard1: ""
+      - enum.DamageStateVisualLayers.Base:
+          shard2: ""
+      - enum.DamageStateVisualLayers.Base:
+          shard3: ""
+  - type: SpaceGarbage
+  - type: ItemCooldown
+  - type: MeleeWeapon
+    attackRate: 1.5
+    damage:
+      types:
+        Slash: 3.5
+  - type: Damageable
+    damageContainer: Inorganic
+    damageModifierSet: Glass
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 100
+      behaviors:
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+  - type: StaticPrice
+    price: 50
+
+- type: entity
+  parent: ShardCrystalBase
+  id: ShardCrystalCyan
+  name: cyan crystal shard
+  description: A small piece of crystal.
+  components:
+  - type: Sprite
+    color: "#47f8ff"
+  - type: PointLight
+    radius: 2
+    energy: 2.5
+    color: "#47f8ff"
+  - type: Tag
+    tags:
+      - Trash
+      - CrystalCyan
+
+- type: entity
+  parent: ShardCrystalBase
+  name: blue crystal shard
+  id: ShardCrystalBlue
+  components:
+  - type: Sprite
+    color: "#39a1ff"
+  - type: PointLight
+    radius: 2
+    energy: 2.5
+    color: "#39a1ff"
+  - type: Tag
+    tags:
+      - Trash
+      - CrystalBlue
+
+- type: entity
+  parent: ShardCrystalBase
+  id: ShardCrystalOrange
+  name: orange crystal shard
+  components:
+  - type: Sprite
+    color: "#ff8227"
+  - type: PointLight
+    radius: 2
+    energy: 2.5
+    color: "#ff8227"
+  - type: Tag
+    tags:
+      - Trash
+      - CrystalOrange
+
+- type: entity
+  parent: ShardCrystalBase
+  id: ShardCrystalPink
+  name: pink crystal shard
+  components:
+  - type: Sprite
+    color: "#ff66cc"
+  - type: PointLight
+    radius: 2
+    energy: 2.5
+    color: "#ff66cc"
+  - type: Tag
+    tags:
+      - Trash
+      - CrystalPink
+
+- type: entity
+  parent: ShardCrystalBase
+  id: ShardCrystalGreen
+  name: green crystal shard
+  components:
+  - type: Sprite
+    color: "#52ff39"
+  - type: PointLight
+    radius: 2
+    energy: 2.5
+    color: "#52ff39"
+  - type: Tag
+    tags:
+      - Trash
+      - CrystalGreen
+
+- type: entity
+  parent: ShardCrystalBase
+  id: ShardCrystalRed
+  name: red crystal shard
+  components:
+  - type: Sprite
+    color: "#fb4747"
+  - type: PointLight
+    radius: 2
+    energy: 2.5
+    color: "#fb4747"
+  - type: Tag
+    tags:
+      - Trash
+      - CrystalRed
index 05454c374f284d59c9ee302f32c1b199f28a31d7..361ee1e8082c5dd2d9bd6980e7e8f321ce7aef91 100644 (file)
     sprite:  Objects/Power/light_tube.rsi
   - type: LightBulb
     bulb: Tube
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 100
+      behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+    - trigger:
+        !type:DamageTrigger
+        damage: 5
+      behaviors:
+      - !type:PlaySoundBehavior
+        sound:
+          collection: GlassBreak
+      - !type:DoActsBehavior
+        acts: [ "Breakage" ]
+    - trigger:
+        !type:DamageTrigger
+        damage: 10
+      behaviors:
+      - !type:PlaySoundBehavior
+        sound:
+          collection: GlassBreak
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          ShardGlass:
+            min: 1
+            max: 1
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
 
 # Lighting color values gathered from
 # https://andi-siess.de/rgb-to-color-temperature/
     lightSoftness: 0.5
     BurningTemperature: 350
     PowerUse: 100
+
+- type: entity
+  parent: BaseLightTube
+  name: cyan crystal light tube
+  description: A high power high energy bulb which has a small colored crystal inside.
+  id: LightTubeCrystalCyan
+  components:
+  - type: LightBulb
+    color: "#47f8ff"
+    lightEnergy: 3
+    lightRadius: 8
+    lightSoftness: 0.5
+    BurningTemperature: 350
+    PowerUse: 60
+  - type: Construction
+    graph: CyanLight
+    node: icon
+
+- type: entity
+  parent: LightTubeCrystalCyan
+  name: blue crystal light tube
+  id: LightTubeCrystalBlue
+  components:
+  - type: LightBulb
+    color: "#39a1ff"
+    lightEnergy: 3
+    lightRadius: 8
+    lightSoftness: 0.5
+    BurningTemperature: 350
+    PowerUse: 60
+  - type: Construction
+    graph: BlueLight
+    node: icon
+
+- type: entity
+  parent: LightTubeCrystalCyan
+  name: pink crystal light tube
+  id: LightTubeCrystalPink
+  components:
+  - type: LightBulb
+    color: "#ff66cc"
+    lightEnergy: 3
+    lightRadius: 8
+    lightSoftness: 0.5
+    BurningTemperature: 350
+    PowerUse: 60
+  - type: Construction
+    graph: PinkLight
+    node: icon
+
+- type: entity
+  parent: LightTubeCrystalCyan
+  name: orange crystal light tube
+  id: LightTubeCrystalOrange
+  components:
+  - type: LightBulb
+    color: "#ff8227"
+    lightEnergy: 3
+    lightRadius: 8
+    lightSoftness: 0.5
+    BurningTemperature: 350
+    PowerUse: 60
+  - type: Construction
+    graph: OrangeLight
+    node: icon
+
+- type: entity
+  parent: LightTubeCrystalCyan
+  name: red crystal light tube
+  id: LightTubeCrystalRed
+  components:
+  - type: LightBulb
+    color: "#fb4747"
+    lightEnergy: 3
+    lightRadius: 8
+    lightSoftness: 0.5
+    BurningTemperature: 350
+    PowerUse: 60
+  - type: Construction
+    graph: RedLight
+    node: icon
+
+- type: entity
+  parent: LightTubeCrystalCyan
+  name: green crystal light tube
+  id: LightTubeCrystalGreen
+  components:
+  - type: LightBulb
+    color: "#52ff39"
+    lightEnergy: 3
+    lightRadius: 8
+    lightSoftness: 0.5
+    BurningTemperature: 350
+    PowerUse: 60
+  - type: Construction
+    graph: GreenLight
+    node: icon
index 4afe06c8a52538d4fcf21363e1bc460fdce992d9..9bee6a0d4d88efe6583d5c9afabe53d29aea9a3e 100644 (file)
@@ -1,17 +1,24 @@
 - type: entity
   id: CrystalGreen
   parent: BaseStructure
-  name: green crystal
-  description: It's a shiny green crystal.
+  suffix: green
+  name: crystal
+  description: A crystaline solid.
   components:
     - type: Sprite
       sprite: Structures/Decoration/crystal.rsi
-      state: crystal_green
+      state: crystal_grey
+      color: "#52ff39"
       noRot: true
     - type: Reflect
       reflectProb: 0.5
       reflects:
       - Energy
+      spread: 75
+    - type: Anchorable
+      delay: 2
+    - type: Physics
+      bodyType: Static
     - type: Fixtures
       fixtures:
         fix1:
     - type: PointLight
       radius: 3
       energy: 3
-      color: "#06DF24"
+      color: "#52ff39"
     - type: Damageable
       damageContainer: Inorganic
-      damageModifierSet: Metallic
+      damageModifierSet: Glass
     - type: Destructible
       thresholds:
         - trigger:
             !type:DamageTrigger
             damage: 50
           behaviors:
-            - !type:DoActsBehavior
-              acts: [ "Destruction" ]
             - !type:PlaySoundBehavior
               sound:
                 collection: GlassBreak
+            - !type:SpawnEntitiesBehavior
+              spawn:
+                ShardCrystalGreen:
+                  min: 1
+                  max: 1
+            - !type:DoActsBehavior
+              acts: [ "Destruction" ]
 
 - type: entity
   id: CrystalPink
   parent: CrystalGreen
-  name: pink crystal
-  description: It's a shiny pink crystal.
+  suffix: pink
   components:
     - type: Sprite
-      sprite: Structures/Decoration/crystal.rsi
-      state: crystal_pink
+      color: "#ff66cc"
     - type: PointLight
       radius: 3
       energy: 3
-      color: "#DF06DC"
+      color: "#ff66cc"
+    - type: Destructible
+      thresholds:
+        - trigger:
+            !type:DamageTrigger
+            damage: 50
+          behaviors:
+            - !type:DoActsBehavior
+              acts: [ "Destruction" ]
+            - !type:PlaySoundBehavior
+              sound:
+                collection: GlassBreak
+            - !type:SpawnEntitiesBehavior
+              spawn:
+                ShardCrystalPink:
+                  min: 1
+                  max: 1
 
 - type: entity
   id: CrystalGrey
   parent: CrystalGreen
-  name: grey crystal
-  description: It's a shiny grey crystal.
+  suffix: red
   components:
     - type: Sprite
-      sprite: Structures/Decoration/crystal.rsi
       state: crystal_grey
+      color: "#fb4747"
     - type: PointLight
-      radius: 3
-      energy: 3
-      color: "#C1B0C1"
+      color: "#fb4747"
+    - type: Destructible
+      thresholds:
+        - trigger:
+            !type:DamageTrigger
+            damage: 50
+          behaviors:
+            - !type:DoActsBehavior
+              acts: [ "Destruction" ]
+            - !type:PlaySoundBehavior
+              sound:
+                collection: GlassBreak
+            - !type:SpawnEntitiesBehavior
+              spawn:
+                ShardCrystalRed:
+                  min: 1
+                  max: 2
 
 - type: entity
   id: CrystalOrange
   parent: CrystalGreen
-  name: orange crystal
-  description: It's a shiny orange crystal.
+  suffix: orange
   components:
     - type: Sprite
-      sprite: Structures/Decoration/crystal.rsi
-      state: crystal_orange
+      color: "#ff8227"
     - type: PointLight
       radius: 3
       energy: 3
-      color: "#E8820F"
+      color: "#ff8227"
+    - type: Destructible
+      thresholds:
+        - trigger:
+            !type:DamageTrigger
+            damage: 50
+          behaviors:
+            - !type:DoActsBehavior
+              acts: [ "Destruction" ]
+            - !type:PlaySoundBehavior
+              sound:
+                collection: GlassBreak
+            - !type:SpawnEntitiesBehavior
+              spawn:
+                ShardCrystalOrange:
+                  min: 1
+                  max: 2
 
 - type: entity
   id: CrystalBlue
   parent: CrystalGreen
-  name: blue crystal
-  description: It's a shiny blue crystal.
+  suffix: blue
   components:
     - type: Sprite
-      sprite: Structures/Decoration/crystal.rsi
-      state: crystal_blue
+      color: "#39a1ff"
     - type: PointLight
       radius: 3
       energy: 3
-      color: "#1843D4"
+      color: "#39a1ff"
+    - type: Destructible
+      thresholds:
+        - trigger:
+            !type:DamageTrigger
+            damage: 50
+          behaviors:
+            - !type:DoActsBehavior
+              acts: [ "Destruction" ]
+            - !type:PlaySoundBehavior
+              sound:
+                collection: GlassBreak
+            - !type:SpawnEntitiesBehavior
+              spawn:
+                ShardCrystalBlue:
+                  min: 1
+                  max: 2
 
 - type: entity
   id: CrystalCyan
   parent: CrystalGreen
-  name: cyan crystal
-  description: It's a shiny cyan crystal.
+  suffix: cyan
   components:
     - type: Sprite
-      sprite: Structures/Decoration/crystal.rsi
-      state: crystal_cyan
+      color: "#47f8ff"
     - type: PointLight
       radius: 3
       energy: 3
-      color: "#18C9D4"
-
+      color: "#47f8ff"
+    - type: Destructible
+      thresholds:
+        - trigger:
+            !type:DamageTrigger
+            damage: 50
+          behaviors:
+            - !type:PlaySoundBehavior
+              sound:
+                collection: GlassBreak
+            - !type:SpawnEntitiesBehavior
+              spawn:
+                ShardCrystalCyan:
+                  min: 1
+                  max: 2
+            - !type:DoActsBehavior
+               acts: [ "Destruction" ]
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/lighting.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/lighting.yml
new file mode 100644 (file)
index 0000000..378feb1
--- /dev/null
@@ -0,0 +1,120 @@
+- type: constructionGraph
+  id: CyanLight
+  start: start
+  graph:
+    - node: start
+      edges:
+        - to: icon
+          steps:
+            - material: Glass
+              amount: 1
+              doAfter: 1
+            - tag: CrystalCyan
+              name: cyan crystal shard
+              icon:
+                sprite: Objects/Materials/Shards/crystal.rsi
+                state: shard1
+                color: #52ff39
+              doAfter: 1
+    - node: icon
+      entity: LightTubeCrystalCyan
+
+- type: constructionGraph
+  id: BlueLight
+  start: start
+  graph:
+    - node: start
+      edges:
+        - to: icon
+          steps:
+            - material: Glass
+              amount: 2
+              doAfter: 1
+            - tag: CrystalBlue
+              name: blue crystal shard
+              icon:
+                sprite: Objects/Materials/Shards/crystal.rsi
+                state: shard1
+              doAfter: 1
+    - node: icon
+      entity: LightTubeCrystalBlue
+
+- type: constructionGraph
+  id: PinkLight
+  start: start
+  graph:
+    - node: start
+      edges:
+        - to: icon
+          steps:
+            - material: Glass
+              amount: 2
+              doAfter: 1
+            - tag: CrystalPink
+              name: pink crystal shard
+              icon:
+                sprite: Objects/Materials/Shards/crystal.rsi
+                state: shard1
+              doAfter: 1
+    - node: icon
+      entity: LightTubeCrystalPink
+
+- type: constructionGraph
+  id: OrangeLight
+  start: start
+  graph:
+    - node: start
+      edges:
+        - to: icon
+          steps:
+            - material: Glass
+              amount: 2
+              doAfter: 1
+            - tag: CrystalOrange
+              name: orange crystal shard
+              icon:
+                sprite: Objects/Materials/Shards/crystal.rsi
+                state: shard1
+              doAfter: 1
+    - node: icon
+      entity: LightTubeCrystalOrange
+
+- type: constructionGraph
+  id: RedLight
+  start: start
+  graph:
+    - node: start
+      edges:
+        - to: icon
+          steps:
+            - material: Glass
+              amount: 2
+              doAfter: 1
+            - tag: CrystalRed
+              name: red crystal shard
+              icon:
+                sprite: Objects/Materials/Shards/crystal.rsi
+                state: shard1
+              doAfter: 1
+    - node: icon
+      entity: LightTubeCrystalRed
+
+- type: constructionGraph
+  id: GreenLight
+  start: start
+  graph:
+    - node: start
+      edges:
+        - to: icon
+          steps:
+            - material: Glass
+              amount: 2
+              doAfter: 1
+            - tag: CrystalGreen
+              name: green crystal shard
+              icon:
+                sprite: Objects/Materials/Shards/crystal.rsi
+                state: shard1
+              doAfter: 1
+    - node: icon
+      entity: LightTubeCrystalGreen
diff --git a/Resources/Prototypes/Recipes/Construction/lighting.yml b/Resources/Prototypes/Recipes/Construction/lighting.yml
new file mode 100644 (file)
index 0000000..0533f70
--- /dev/null
@@ -0,0 +1,65 @@
+- type: construction
+  name: cyan light tube
+  id: CyanLight
+  graph: CyanLight
+  startNode: start
+  targetNode: icon
+  category: construction-category-utilities
+  description: A high powered light tube containing a cyan crystal
+  icon: { sprite: Objects/Power/light_tube.rsi, state: normal }
+  objectType: Item
+
+- type: construction
+  name: blue light tube
+  id: BlueLight
+  graph: BlueLight
+  startNode: start
+  targetNode: icon
+  category: construction-category-utilities
+  description: A high powered light tube containing a blue crystal
+  icon: { sprite: Objects/Power/light_tube.rsi, state: normal }
+  objectType: Item
+
+- type: construction
+  name: pink light tube
+  id: PinkLight
+  graph: PinkLight
+  startNode: start
+  targetNode: icon
+  category: construction-category-utilities
+  description: A high powered light tube containing a pink crystal
+  icon: { sprite: Objects/Power/light_tube.rsi, state: normal }
+  objectType: Item
+
+- type: construction
+  name: orange light tube
+  id: OrangeLight
+  graph: OrangeLight
+  startNode: start
+  targetNode: icon
+  category: construction-category-utilities
+  description: A high powered light tube containing an orange crystal
+  icon: { sprite: Objects/Power/light_tube.rsi, state: normal }
+  objectType: Item
+
+- type: construction
+  name: red light tube
+  id: RedLight
+  graph: RedLight
+  startNode: start
+  targetNode: icon
+  category: construction-category-utilities
+  description: A high powered light tube containing a red crystal
+  icon: { sprite: Objects/Power/light_tube.rsi, state: normal }
+  objectType: Item
+
+- type: construction
+  name: green light tube
+  id: GreenLight
+  graph: GreenLight
+  startNode: start
+  targetNode: icon
+  category: construction-category-utilities
+  description: A high powered light tube containing a green crystal
+  icon: { sprite: Objects/Power/light_tube.rsi, state: normal }
+  objectType: Item
index 89214c96fa4edd405110bd09b0f86eafcfaae3f7..f8861af8342316659d98d56c710ba9314d9bdb8c 100644 (file)
   id: OreIronCrab
   oreEntity: MobIronCrab
 
+- type: ore
+  id: OreSilverCrab
+  oreEntity: MobSilverCrab
+
 - type: ore
   id: OreUraniumCrab
   oreEntity: MobUraniumCrab
@@ -71,4 +75,5 @@
   weights:
     OreQuartzCrab: 5
     OreIronCrab: 5
-    OreUraniumCrab: 3
+    OreUraniumCrab: 2
+    OreSilverCrab: 3
index 4546c4ac486b3c89a3ea9b9aff42529db636da30..a65ea0d5faba95ceb7b0f3e33abb66a170608a9e 100644 (file)
 - type: Tag
   id: Cryobeaker
 
+- type: Tag
+  id: CrystalCyan
+
+- type: Tag
+  id: CrystalBlue
+
+- type: Tag
+  id: CrystalPink
+
+- type: Tag
+  id: CrystalGreen
+
+- type: Tag
+  id: CrystalOrange
+
+- type: Tag
+  id: CrystalRed
+
 - type: Tag
   id: ConveyorAssembly
 
index b8ffd5034dc8f14bd2be09d448e3865b86b7491f..a85de366171564b53f706aa35cf826aaf7877112 100644 (file)
@@ -8,15 +8,19 @@
   "copyright": "Made by brainfood1183 (github)",
   "states": [
     {
-      "name": "ironcrab",
+      "name": "iron_crab",
       "directions": 4
     },
     {
-      "name": "uraniumcrab",
+      "name": "uranium_crab",
       "directions": 4
     },
     {
-      "name": "quartzcrab",
+      "name": "silver_crab",
+      "directions": 4
+    },
+    {
+      "name": "quartz_crab",
       "directions": 4
     }
   ]
diff --git a/Resources/Textures/Mobs/Elemental/orecrab.rsi/silver_crab.png b/Resources/Textures/Mobs/Elemental/orecrab.rsi/silver_crab.png
new file mode 100644 (file)
index 0000000..b378d65
Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/orecrab.rsi/silver_crab.png differ
diff --git a/Resources/Textures/Objects/Materials/Shards/crystal.rsi/meta.json b/Resources/Textures/Objects/Materials/Shards/crystal.rsi/meta.json
new file mode 100644 (file)
index 0000000..f800f2b
--- /dev/null
@@ -0,0 +1,20 @@
+{
+  "version": 1,
+  "license": "CC-BY-SA-3.0",
+  "copyright": "Made by brainfood1183 (github)",
+  "size": {
+    "x": 32,
+    "y": 32
+  },
+  "states": [
+    {
+      "name": "shard1"
+    },
+    {
+      "name": "shard2"
+    },
+    {
+      "name": "shard3"
+    }
+  ]
+}
diff --git a/Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard1.png b/Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard1.png
new file mode 100644 (file)
index 0000000..f8cb52c
Binary files /dev/null and b/Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard1.png differ
diff --git a/Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard2.png b/Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard2.png
new file mode 100644 (file)
index 0000000..f7925af
Binary files /dev/null and b/Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard2.png differ
diff --git a/Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard3.png b/Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard3.png
new file mode 100644 (file)
index 0000000..966eba6
Binary files /dev/null and b/Resources/Textures/Objects/Materials/Shards/crystal.rsi/shard3.png differ
diff --git a/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_blue.png b/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_blue.png
deleted file mode 100644 (file)
index 03307ba..0000000
Binary files a/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_blue.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_cyan.png b/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_cyan.png
deleted file mode 100644 (file)
index f245ead..0000000
Binary files a/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_cyan.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_green.png b/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_green.png
deleted file mode 100644 (file)
index d8d60fd..0000000
Binary files a/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_green.png and /dev/null differ
index 13c5bf3cac4f78272cfeb865507fc88048fbbb73..54753985085af1ec7e90b023ce31895f6d713494 100644 (file)
Binary files a/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_grey.png and b/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_grey.png differ
diff --git a/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_orange.png b/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_orange.png
deleted file mode 100644 (file)
index 39d6230..0000000
Binary files a/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_orange.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_pink.png b/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_pink.png
deleted file mode 100644 (file)
index f9f81c5..0000000
Binary files a/Resources/Textures/Structures/Decoration/crystal.rsi/crystal_pink.png and /dev/null differ
index 14fb2c79741338aef5b3bb7a1b7a1855f4e621e6..21a6cf71501b2a4a67852832d25c5e73ee68c73a 100644 (file)
@@ -7,21 +7,6 @@
     "y": 32
   },
   "states": [
-    {
-      "name": "crystal_green"
-    },
-    {
-      "name": "crystal_pink"
-    },
-    {
-      "name": "crystal_orange"
-    },
-    {
-      "name": "crystal_blue"
-    },
-    {
-      "name": "crystal_cyan"
-    },
     {
       "name": "crystal_grey"
     }