diff --git a/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml b/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml index 0ba4cfee721..373751fb3d9 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml @@ -345,7 +345,10 @@ - id: Lamp prob: 0.01 orGroup: Useful - - id: FloraTreeLarge05 + - id: FloraTreeLarge + prob: 0.01 + orGroup: Useful + - id: LightTree #Funny mobs maybe prob: 0.01 orGroup: Useful #notuseful diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/flora.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/flora.yml index 9abd35a920b..416833538a3 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/flora.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/flora.yml @@ -7,36 +7,14 @@ layers: - state: red - sprite: Objects/Decoration/Flora/flora_trees.rsi - state: icon + state: tree01 - type: RandomSpawner prototypes: - - FloraTreeLarge01 - - FloraTreeLarge02 - - FloraTreeLarge03 - - FloraTreeLarge04 - - FloraTreeLarge05 - - FloraTreeLarge06 - - FloraTreeConifer01 - - FloraTreeConifer02 - - FloraTreeConifer03 - - FloraTreeSnow01 - - FloraTreeSnow02 - - FloraTreeSnow03 - - FloraTreeSnow04 - - FloraTreeSnow05 - - FloraTreeSnow06 - - FloraTree01 - - FloraTree02 - - FloraTree03 - - FloraTree04 - - FloraTree05 - - FloraTree06 + - FloraTreeLarge + - FloraTreeConifer + - FloraTreeSnow + - FloraTree chance: 0.95 rarePrototypes: - - ShadowTree01 - - ShadowTree02 - - ShadowTree03 - - ShadowTree04 - - ShadowTree05 - - ShadowTree06 + - ShadowTree rareChance: 0.05 diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/mineshaft.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/mineshaft.yml index 8d1b36c022b..34e6212dae2 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/mineshaft.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/mineshaft.yml @@ -63,12 +63,7 @@ - type: RandomSpawner offset: 0.3 prototypes: - - FloraStalagmite1 - - FloraStalagmite2 - - FloraStalagmite3 - - FloraStalagmite4 - - FloraStalagmite5 - - FloraStalagmite6 + - FloraStalagmite chance: 0.9 - type: entity @@ -84,10 +79,5 @@ - type: RandomSpawner offset: 0.3 prototypes: - - FloraGreyStalagmite1 - - FloraGreyStalagmite2 - - FloraGreyStalagmite3 - - FloraGreyStalagmite4 - - FloraGreyStalagmite5 - - FloraGreyStalagmite6 + - FloraGreyStalagmite chance: 0.9 diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/shadowkudzu.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/shadowkudzu.yml index 95a24157f98..bb799580955 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/shadowkudzu.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/shadowkudzu.yml @@ -14,12 +14,12 @@ - CrystalPink - CrystalPink - ShadowPortal - - ShadowTree01 - - ShadowTree02 - - ShadowTree03 - - ShadowTree04 - - ShadowTree05 - - ShadowTree06 + - ShadowTree #TODO: transform into EntityTable with weight + - ShadowTree + - ShadowTree + - ShadowTree + - ShadowTree + - ShadowTree rareChance: 0.05 rarePrototypes: - MobCatShadow diff --git a/Resources/Prototypes/Entities/Objects/Decoration/flora.yml b/Resources/Prototypes/Entities/Objects/Decoration/flora.yml index 31bc24cca63..cdbf73a29b0 100644 --- a/Resources/Prototypes/Entities/Objects/Decoration/flora.yml +++ b/Resources/Prototypes/Entities/Objects/Decoration/flora.yml @@ -147,30 +147,24 @@ - type: entity parent: BaseRock - id: FloraRockSolid01 + id: FloraRockSolid components: - type: Sprite - state: rocksolid01 - -- type: entity - parent: BaseRock - id: FloraRockSolid02 - components: - - type: Sprite - state: rocksolid02 - -- type: entity - parent: BaseRock - id: FloraRockSolid03 - components: - - type: Sprite - state: rocksolid03 + layers: + - state: rocksolid01 + map: ["random"] + - type: RandomSprite + available: + - random: + rocksolid01: "" + rocksolid02: "" + rocksolid03: "" - type: entity name: stalagmite description: Natural stone spikes. parent: BaseRock - id: FloraStalagmite1 + id: FloraStalagmite components: - type: Destructible thresholds: @@ -185,192 +179,75 @@ collection: GlassBreak - type: Sprite sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: stalagmite1 + layers: + - state: stalagmite1 + map: ["random"] + - type: RandomSprite + available: + - random: + stalagmite1: "" + stalagmite2: "" + stalagmite3: "" + stalagmite4: "" + stalagmite5: "" + stalagmite6: "" - type: entity - parent: FloraStalagmite1 - id: FloraStalagmite2 + parent: FloraStalagmite + id: FloraGreyStalagmite components: - type: Sprite sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: stalagmite2 - -- type: entity - parent: FloraStalagmite1 - id: FloraStalagmite3 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: stalagmite3 - -- type: entity - parent: FloraStalagmite1 - id: FloraStalagmite4 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: stalagmite4 - -- type: entity - parent: FloraStalagmite1 - id: FloraStalagmite5 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: stalagmite5 - -- type: entity - parent: FloraStalagmite1 - id: FloraStalagmite6 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: stalagmite6 - -- type: entity - parent: FloraStalagmite1 - id: FloraGreyStalagmite1 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: grey_stalagmite1 - -- type: entity - parent: FloraGreyStalagmite1 - id: FloraGreyStalagmite2 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: grey_stalagmite2 - -- type: entity - parent: FloraGreyStalagmite1 - id: FloraGreyStalagmite3 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: grey_stalagmite3 - -- type: entity - parent: FloraGreyStalagmite1 - id: FloraGreyStalagmite4 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: grey_stalagmite4 - -- type: entity - parent: FloraGreyStalagmite1 - id: FloraGreyStalagmite5 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: grey_stalagmite5 - -- type: entity - parent: FloraGreyStalagmite1 - id: FloraGreyStalagmite6 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_stalagmite.rsi - state: grey_stalagmite6 - - -- type: entity - parent: BaseTree - id: FloraTree01 - name: tree - components: - - type: Sprite - state: tree01 - -- type: entity - parent: BaseTree - id: FloraTree02 - name: tree - components: - - type: Sprite - state: tree02 - -- type: entity - parent: BaseTree - id: FloraTree03 - name: tree - components: - - type: Sprite - state: tree03 + layers: + - state: grey_stalagmite1 + map: ["random"] + - type: RandomSprite + available: + - random: + grey_stalagmite1: "" + grey_stalagmite2: "" + grey_stalagmite3: "" + grey_stalagmite4: "" + grey_stalagmite5: "" + grey_stalagmite6: "" - type: entity parent: BaseTree - id: FloraTree04 + id: FloraTree name: tree components: - type: Sprite - state: tree04 - -- type: entity - parent: BaseTree - id: FloraTree05 - name: tree - components: - - type: Sprite - state: tree05 - -- type: entity - parent: BaseTree - id: FloraTree06 - name: tree - components: - - type: Sprite - state: tree06 - -- type: entity - parent: BaseTreeSnow - id: FloraTreeSnow01 - name: snowy tree - components: - - type: Sprite - state: treesnow01 + layers: + - state: tree01 + map: ["random"] + - type: RandomSprite + available: + - random: + tree01: "" + tree02: "" + tree03: "" + tree04: "" + tree05: "" + tree06: "" - type: entity parent: BaseTreeSnow - id: FloraTreeSnow02 + id: FloraTreeSnow name: snowy tree components: - type: Sprite - state: treesnow02 - -- type: entity - parent: BaseTreeSnow - id: FloraTreeSnow03 - name: snowy tree - components: - - type: Sprite - state: treesnow03 - -- type: entity - parent: BaseTreeSnow - id: FloraTreeSnow04 - name: snowy tree - components: - - type: Sprite - state: treesnow04 - -- type: entity - parent: BaseTreeSnow - id: FloraTreeSnow05 - name: snowy tree - components: - - type: Sprite - state: treesnow05 - -- type: entity - parent: BaseTreeSnow - id: FloraTreeSnow06 - name: snowy tree - components: - - type: Sprite - state: treesnow06 + layers: + - state: treesnow01 + map: ["random"] + - type: RandomSprite + available: + - random: + treesnow01: "" + treesnow02: "" + treesnow03: "" + treesnow04: "" + treesnow05: "" + treesnow06: "" - type: entity parent: BaseTreeSnow @@ -382,75 +259,38 @@ - type: entity parent: BaseTreeLarge - id: FloraTreeLarge01 - name: large tree - components: - - type: Sprite - state: treelarge01 - -- type: entity - parent: BaseTreeLarge - id: FloraTreeLarge02 - name: large tree - components: - - type: Sprite - state: treelarge02 - -- type: entity - parent: BaseTreeLarge - id: FloraTreeLarge03 - name: large tree - components: - - type: Sprite - state: treelarge03 - -- type: entity - parent: BaseTreeLarge - id: FloraTreeLarge04 - name: large tree - components: - - type: Sprite - state: treelarge04 - -- type: entity - parent: BaseTreeLarge - id: FloraTreeLarge05 - name: large tree - components: - - type: Sprite - state: treelarge05 - -- type: entity - parent: BaseTreeLarge - id: FloraTreeLarge06 + id: FloraTreeLarge name: large tree components: - type: Sprite - state: treelarge06 - -- type: entity - parent: BaseTreeConifer - id: FloraTreeConifer01 - name: snowy conifer - components: - - type: Sprite - state: treeconifer01 + layers: + - state: treelarge01 + map: ["random"] + - type: RandomSprite + available: + - random: + treelarge01: "" + treelarge02: "" + treelarge03: "" + treelarge04: "" + treelarge05: "" + treelarge06: "" - type: entity parent: BaseTreeConifer - id: FloraTreeConifer02 + id: FloraTreeConifer name: snowy conifer components: - type: Sprite - state: treeconifer02 - -- type: entity - parent: BaseTreeConifer - id: FloraTreeConifer03 - name: snowy conifer - components: - - type: Sprite - state: treeconifer03 + layers: + - state: treeconifer01 + map: ["random"] + - type: RandomSprite + available: + - random: + treeconifer01: "" + treeconifer02: "" + treeconifer03: "" - type: entity parent: BaseTreeConifer @@ -517,53 +357,17 @@ state: treestumpconifer - type: entity - parent: FloraTree01 - id: ShadowTree01 + parent: FloraTree + id: ShadowTree name: dark wood description: The leaves are whispering about you. components: - type: Sprite sprite: Objects/Decoration/Flora/flora_shadow_trees.rsi - state: tree01 - -- type: entity - parent: ShadowTree01 - id: ShadowTree02 - components: - - type: Sprite - state: tree02 - -- type: entity - parent: ShadowTree01 - id: ShadowTree03 - components: - - type: Sprite - state: tree03 - -- type: entity - parent: ShadowTree01 - id: ShadowTree04 - components: - - type: Sprite - state: tree04 - -- type: entity - parent: ShadowTree01 - id: ShadowTree05 - components: - - type: Sprite - state: tree05 - -- type: entity - parent: ShadowTree01 - id: ShadowTree06 - components: - - type: Sprite - state: tree06 - type: entity parent: BaseTree - id: LightTree01 + id: LightTree name: glowing tree description: A marvelous tree filled with strange energy. components: @@ -573,7 +377,18 @@ color: "#6270bb" - type: Sprite sprite: Objects/Decoration/Flora/flora_treeslight.rsi - state: tree01 + layers: + - state: tree01 + map: ["random"] + - type: RandomSprite + available: + - random: + tree01: "" + tree02: "" + tree03: "" + tree04: "" + tree05: "" + tree06: "" - type: Destructible thresholds: - trigger: @@ -603,44 +418,4 @@ spawn: MobLuminousObject: min: 0 - max: 1 - -- type: entity - parent: LightTree01 - id: LightTree02 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_treeslight.rsi - state: tree02 - -- type: entity - parent: LightTree01 - id: LightTree03 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_treeslight.rsi - state: tree03 - -- type: entity - parent: LightTree01 - id: LightTree04 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_treeslight.rsi - state: tree04 - -- type: entity - parent: LightTree01 - id: LightTree05 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_treeslight.rsi - state: tree05 - -- type: entity - parent: LightTree01 - id: LightTree06 - components: - - type: Sprite - sprite: Objects/Decoration/Flora/flora_treeslight.rsi - state: tree06 + max: 1 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml index e6b81e7ce40..21b710a6180 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml @@ -134,12 +134,12 @@ offset: 0.2 chance: 0.05 prototypes: - - LightTree01 - - LightTree02 - - LightTree03 - - LightTree04 - - LightTree05 - - LightTree06 + - LightTree #TODO: transform into EntityTable with weight + - LightTree + - LightTree + - LightTree + - LightTree + - LightTree - CrystalCyan rarePrototypes: - AnomalyFloraBulb diff --git a/Resources/Prototypes/Polymorphs/polymorph.yml b/Resources/Prototypes/Polymorphs/polymorph.yml index c24aedbd65e..f7059f7d188 100644 --- a/Resources/Prototypes/Polymorphs/polymorph.yml +++ b/Resources/Prototypes/Polymorphs/polymorph.yml @@ -120,7 +120,7 @@ - type: polymorph id: TreeMorph configuration: - entity: FloraTree01 + entity: FloraTree forced: true transferName: true revertOnDeath: true diff --git a/Resources/Prototypes/Procedural/biome_templates.yml b/Resources/Prototypes/Procedural/biome_templates.yml index 88979316443..588d95f40da 100644 --- a/Resources/Prototypes/Procedural/biome_templates.yml +++ b/Resources/Prototypes/Procedural/biome_templates.yml @@ -46,9 +46,7 @@ allowedTiles: - FloorAsteroidSand entities: - - FloraRockSolid01 - - FloraRockSolid02 - - FloraRockSolid03 + - FloraRockSolid # Large rock areas - !type:BiomeEntityLayer threshold: -0.20 @@ -135,18 +133,8 @@ allowedTiles: - FloorPlanetGrass entities: - - FloraTree01 - - FloraTree02 - - FloraTree03 - - FloraTree04 - - FloraTree05 - - FloraTree06 - - FloraTreeLarge01 - - FloraTreeLarge02 - - FloraTreeLarge03 - - FloraTreeLarge04 - - FloraTreeLarge05 - - FloraTreeLarge06 + - FloraTree + - FloraTreeLarge # Rock formations - !type:BiomeEntityLayer allowedTiles: @@ -261,9 +249,7 @@ allowedTiles: - FloorBasalt entities: - - FloraRockSolid01 - - FloraRockSolid02 - - FloraRockSolid03 + - FloraRockSolid - !type:BiomeEntityLayer threshold: 0.2 noise: @@ -384,12 +370,7 @@ allowedTiles: - FloorSnow entities: - - FloraTreeSnow01 - - FloraTreeSnow02 - - FloraTreeSnow03 - - FloraTreeSnow04 - - FloraTreeSnow05 - - FloraTreeSnow06 + - FloraTreeSnow # Rock formations - !type:BiomeEntityLayer allowedTiles: @@ -479,12 +460,7 @@ allowedTiles: - FloorChromite entities: - - ShadowTree01 - - ShadowTree02 - - ShadowTree03 - - ShadowTree04 - - ShadowTree05 - - ShadowTree06 + - ShadowTree # Rock formations - !type:BiomeEntityLayer threshold: -0.2 @@ -548,12 +524,7 @@ allowedTiles: - FloorAsteroidSand entities: - - FloraStalagmite1 - - FloraStalagmite2 - - FloraStalagmite3 - - FloraStalagmite4 - - FloraStalagmite5 - - FloraStalagmite6 + - FloraStalagmite - !type:BiomeEntityLayer threshold: -0.5 invert: true @@ -601,12 +572,7 @@ allowedTiles: - FloorAsteroidSand entities: - - FloraStalagmite1 - - FloraStalagmite2 - - FloraStalagmite3 - - FloraStalagmite4 - - FloraStalagmite5 - - FloraStalagmite6 + - FloraStalagmite - !type:BiomeEntityLayer threshold: -0.6 invert: true diff --git a/Resources/Prototypes/Procedural/dungeon_configs.yml b/Resources/Prototypes/Procedural/dungeon_configs.yml index d75581bbc2b..c296aafad64 100644 --- a/Resources/Prototypes/Procedural/dungeon_configs.yml +++ b/Resources/Prototypes/Procedural/dungeon_configs.yml @@ -102,12 +102,7 @@ - !type:CorridorClutterDunGen contents: - - id: FloraStalagmite1 - - id: FloraStalagmite2 - - id: FloraStalagmite3 - - id: FloraStalagmite4 - - id: FloraStalagmite5 - - id: FloraStalagmite6 + - id: FloraStalagmite - !type:BoundaryWallDunGen diff --git a/Resources/ServerInfo/Guidebook/Mobs/Diona.xml b/Resources/ServerInfo/Guidebook/Mobs/Diona.xml index eedf23b14f2..6c9e4ba2080 100644 --- a/Resources/ServerInfo/Guidebook/Mobs/Diona.xml +++ b/Resources/ServerInfo/Guidebook/Mobs/Diona.xml @@ -16,7 +16,7 @@ ## Make Like A Tree And Leave - + Being exposed to too much Robust Harvest will cause a Diona to grow out of control, turning into an immobile tree (dropping all their equipment). Cutting down the tree will "restore" the Diona to their mobile state. diff --git a/Resources/Textures/Objects/Decoration/Flora/flora_trees.rsi/icon.png b/Resources/Textures/Objects/Decoration/Flora/flora_trees.rsi/icon.png deleted file mode 100644 index 41499b67b3d..00000000000 Binary files a/Resources/Textures/Objects/Decoration/Flora/flora_trees.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Decoration/Flora/flora_trees.rsi/meta.json b/Resources/Textures/Objects/Decoration/Flora/flora_trees.rsi/meta.json index 9242d06bd71..af84abf130c 100644 --- a/Resources/Textures/Objects/Decoration/Flora/flora_trees.rsi/meta.json +++ b/Resources/Textures/Objects/Decoration/Flora/flora_trees.rsi/meta.json @@ -7,9 +7,6 @@ "y": 96 }, "states": [ - { - "name": "icon" - }, { "name": "tree01" }, diff --git a/Resources/migration.yml b/Resources/migration.yml index 0dfb0e169b1..0910f3a533b 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -488,6 +488,56 @@ CrateSlimepersonLifeSupport: CrateNitrogenInternals # 2024-12-01 DungeonMasterCircuitBoard: GameMasterCircuitBoard +# 2024-12-12 +FloraRockSolid01: FloraRockSolid +FloraRockSolid02: FloraRockSolid +FloraRockSolid03: FloraRockSolid +FloraStalagmite1: FloraStalagmite +FloraStalagmite2: FloraStalagmite +FloraStalagmite3: FloraStalagmite +FloraStalagmite4: FloraStalagmite +FloraStalagmite5: FloraStalagmite +FloraStalagmite6: FloraStalagmite +FloraGreyStalagmite1: FloraGreyStalagmite +FloraGreyStalagmite2: FloraGreyStalagmite +FloraGreyStalagmite3: FloraGreyStalagmite +FloraGreyStalagmite4: FloraGreyStalagmite +FloraGreyStalagmite5: FloraGreyStalagmite +FloraGreyStalagmite6: FloraGreyStalagmite +FloraTree01: FloraTree +FloraTree02: FloraTree +FloraTree03: FloraTree +FloraTree04: FloraTree +FloraTree05: FloraTree +FloraTree06: FloraTree +FloraTreeSnow01: FloraTreeSnow +FloraTreeSnow02: FloraTreeSnow +FloraTreeSnow03: FloraTreeSnow +FloraTreeSnow04: FloraTreeSnow +FloraTreeSnow05: FloraTreeSnow +FloraTreeSnow06: FloraTreeSnow +FloraTreeLarge01: FloraTreeLarge +FloraTreeLarge02: FloraTreeLarge +FloraTreeLarge03: FloraTreeLarge +FloraTreeLarge04: FloraTreeLarge +FloraTreeLarge05: FloraTreeLarge +FloraTreeLarge06: FloraTreeLarge +FloraTreeConifer01: FloraTreeConifer +FloraTreeConifer02: FloraTreeConifer +FloraTreeConifer03: FloraTreeConifer +ShadowTree01: ShadowTree +ShadowTree02: ShadowTree +ShadowTree03: ShadowTree +ShadowTree04: ShadowTree +ShadowTree05: ShadowTree +ShadowTree06: ShadowTree +LightTree01: LightTree +LightTree02: LightTree +LightTree03: LightTree +LightTree04: LightTree +LightTree05: LightTree +LightTree06: LightTree + # Mira # 2024-07-28 WeaponSubMachineGunWt550: WeaponEnergyShotgun