From: AutoOtter Date: Fri, 30 Aug 2024 23:24:13 +0000 (-0400) Subject: Meteor rock debuff (#31651) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=72832bf19dd509afb9069c1f1f92f80882a4373d;p=space-station-14.git Meteor rock debuff (#31651) * Makes meteor swarms spawn meteorite walls with 1/10 health of an asteroid wall. * Changed MeteorRock prototype base - Rebased MeteorRock to AsteroidRock from Basewall - MeteorRock now only changes the Destructible damage value * Tried to fix comments --- diff --git a/Resources/Prototypes/Entities/Structures/Walls/meteor.yml b/Resources/Prototypes/Entities/Structures/Walls/meteor.yml new file mode 100644 index 0000000000..6f310e3b74 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Walls/meteor.yml @@ -0,0 +1,219 @@ +# These define Meteor Walls separate from Asteroid walls so they have different properties +- type: entity + id: MeteorRock + parent: AsteroidRock + name: meteorite rock + description: What remains of a meteorite. + components: + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 12 #This change makes meteorite walls easier to destroy for cleanup + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + params: + volume: -6 + +# Ore veins +- type: entity + id: MeteorRockCoal + parent: MeteorRock + description: An ore vein rich with coal. + suffix: Coal + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreCoal + - 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_coal + +- type: entity + id: MeteorRockGold + parent: MeteorRock + description: An ore vein rich with gold. + suffix: Gold + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreGold + - 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_gold + +- type: entity + id: MeteorRockDiamond + parent: MeteorRock + description: An ore vein rich with diamonds. + suffix: Diamond + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreDiamond + - 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_diamond + +- type: entity + id: MeteorRockPlasma + parent: MeteorRock + description: An ore vein rich with plasma. + suffix: Plasma + components: + - type: OreVein + oreChance: 1.0 + currentOre: OrePlasma + - 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_phoron + +- type: entity + id: MeteorRockQuartz + parent: MeteorRock + description: An ore vein rich with quartz. + suffix: Quartz + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSpaceQuartz + - 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_quartz + +- type: entity + id: MeteorRockSilver + parent: MeteorRock + description: An ore vein rich with silver. + suffix: Silver + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSilver + - 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_silver +# Tin name is a holdover from the asteroid.yml prototype. +- type: entity + id: MeteorRockTin + parent: MeteorRock + description: An ore vein rich with iron. + suffix: Iron + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSteel + - 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_tin + +- type: entity + id: MeteorRockUranium + parent: MeteorRock + description: An ore vein rich with uranium. + suffix: Uranium + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreUranium + - 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_uranium + +- type: entity + id: MeteorRockBananium + parent: MeteorRock + description: An ore vein rich with bananium. + suffix: Bananium + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreBananium + - 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_bananium diff --git a/Resources/Prototypes/GameRules/meteorswarms.yml b/Resources/Prototypes/GameRules/meteorswarms.yml index 799b353eab..6203ee35ab 100644 --- a/Resources/Prototypes/GameRules/meteorswarms.yml +++ b/Resources/Prototypes/GameRules/meteorswarms.yml @@ -38,16 +38,16 @@ - type: weightedRandomEntity id: MeteorSpawnAsteroidWallTable weights: - AsteroidRock: 10 - AsteroidRockCoal: 5 - AsteroidRockQuartz: 5 - AsteroidRockTin: 5 - AsteroidRockSilver: 2 - AsteroidRockGold: 2 - AsteroidRockPlasma: 2 - AsteroidRockDiamond: 2 - AsteroidRockUranium: 0.5 - AsteroidRockBananium: 0.5 + MeteorRock: 10 + MeteorRockCoal: 5 + MeteorRockQuartz: 5 + MeteorRockTin: 5 + MeteorRockSilver: 2 + MeteorRockGold: 2 + MeteorRockPlasma: 2 + MeteorRockDiamond: 2 + MeteorRockUranium: 0.5 + MeteorRockBananium: 0.5 # Event Schedulers