From 860fdd8cd0ec660601aa6ed15f0b8b7057c9e598 Mon Sep 17 00:00:00 2001 From: ErhardSteinhauer <65374927+ErhardSteinhauer@users.noreply.github.com> Date: Mon, 11 Nov 2024 23:30:09 +0300 Subject: [PATCH] Add xeno spawn markers (#2390) * xeno spawn markers * Fixed xeno spawner, less cult --------- Co-authored-by: Dvir --- .../Prototypes/Entities/Mobs/NPCs/xeno.yml | 9 + .../Conditional/mobs_hostile_xeno.yml | 165 ++++++++++++++++++ .../Markers/Spawners/untimedAISpawners.yml | 86 --------- .../_NF/Procedural/chromite_vgroid.yml | 20 +-- .../Prototypes/_NF/Procedural/snow_vgroid.yml | 36 +--- Resources/_NF/migration.yml | 6 + 6 files changed, 193 insertions(+), 129 deletions(-) create mode 100644 Resources/Prototypes/_NF/Entities/Markers/Spawners/Conditional/mobs_hostile_xeno.yml delete mode 100644 Resources/Prototypes/_NF/Entities/Markers/Spawners/untimedAISpawners.yml diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 83ed657291f..17cc2bda673 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -4,6 +4,7 @@ id: MobXeno parent: [NFMobRestrictions, SimpleSpaceMobBase] # Frontier: add NFMobRestrictions description: They mostly come at night. Mostly. + categories: [ HideSpawnMenu ] # Frontier components: - type: Insulated - type: CombatMode @@ -127,6 +128,7 @@ name: praetorian parent: MobXeno id: MobXenoPraetorian + categories: [ HideSpawnMenu ] # Frontier components: - type: Sprite drawdepth: Mobs @@ -160,6 +162,7 @@ name: drone parent: MobXeno id: MobXenoDrone + categories: [ HideSpawnMenu ] # Frontier components: - type: Sprite drawdepth: Mobs @@ -197,6 +200,7 @@ name: queen parent: MobXeno id: MobXenoQueen + categories: [ HideSpawnMenu ] # Frontier components: - type: Sprite drawdepth: Mobs @@ -236,6 +240,7 @@ name: ravager parent: MobXeno id: MobXenoRavager + categories: [ HideSpawnMenu ] # Frontier components: - type: Sprite drawdepth: Mobs @@ -273,6 +278,7 @@ name: runner parent: MobXeno id: MobXenoRunner + categories: [ HideSpawnMenu ] # Frontier components: - type: Sprite drawdepth: Mobs @@ -303,6 +309,7 @@ name: rouny parent: MobXenoRunner id: MobXenoRouny + categories: [ HideSpawnMenu ] # Frontier components: - type: Sprite drawdepth: Mobs @@ -318,6 +325,7 @@ name: spitter parent: MobXeno id: MobXenoSpitter + categories: [ HideSpawnMenu ] # Frontier components: - type: Sprite drawdepth: Mobs @@ -366,6 +374,7 @@ parent: [NFMobRestrictions, SimpleSpaceMobBase] # Frontier: add NFMobRestrictions id: MobPurpleSnake description: A menacing purple snake from Kepler-283c. + categories: [ HideSpawnMenu ] # Frontier components: - type: Sprite drawdepth: Mobs diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Conditional/mobs_hostile_xeno.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Conditional/mobs_hostile_xeno.yml new file mode 100644 index 00000000000..b72b65ebd84 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Conditional/mobs_hostile_xeno.yml @@ -0,0 +1,165 @@ +- type: entity + id: SpawnMobXenoBurrowerExpeditions + name: xeno burrower spawner + parent: MarkerBase + suffix: AI, Hostile + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: Mobs/Aliens/Xenos/burrower.rsi + state: running + - type: ConditionalSpawner + prototypes: + - MobXenoBurrowerExpeditions + +- type: entity + id: SpawnMobXenoDroneExpeditions + name: xeno drone spawner + parent: MarkerBase + suffix: AI, Hostile + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: Mobs/Aliens/Xenos/drone.rsi + state: running + - type: ConditionalSpawner + prototypes: + - MobXenoDroneExpeditions + +- type: entity + id: SpawnMobXenoPraetorianExpeditions + name: xeno praetorian spawner + parent: MarkerBase + suffix: AI, Hostile + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: Mobs/Aliens/Xenos/praetorian.rsi + state: running + - type: ConditionalSpawner + prototypes: + - MobXenoPraetorianExpeditions + +- type: entity + id: SpawnMobXenoRavagerExpeditions + name: xeno ravager spawner + parent: MarkerBase + suffix: AI, Hostile + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: Mobs/Aliens/Xenos/ravager.rsi + state: running + - type: ConditionalSpawner + prototypes: + - MobXenoRavagerExpeditions + +- type: entity + id: SpawnMobXenoRunnerExpeditions + name: xeno runner spawner + parent: MarkerBase + suffix: AI, Hostile + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: Mobs/Aliens/Xenos/runner.rsi + state: running + - type: ConditionalSpawner + prototypes: + - MobXenoRunnerExpeditions + +- type: entity + id: SpawnMobXenoSpitterExpeditions + name: xeno spitter spawner + parent: MarkerBase + suffix: AI, Hostile + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: Mobs/Aliens/Xenos/spitter.rsi + state: running + - type: ConditionalSpawner + prototypes: + - MobXenoSpitterExpeditions + +- type: entity + id: SpawnMobXenoQueenDungeon + name: xeno queen spawner + parent: MarkerBase + suffix: AI, Hostile + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: Mobs/Aliens/Xenos/queen.rsi + state: running + - type: ConditionalSpawner + prototypes: + - MobXenoQueenDungeon + +- type: entity + name: xeno spawner + suffix: AI, Hostile, T1 + parent: MarkerBase + id: SpawnMobXenoT1 + components: + - type: Sprite + layers: + - state: red + - sprite: Mobs/Aliens/Xenos/drone.rsi + state: crit + - state: ai + - type: RandomSpawner + prototypes: + - MobXenoBurrowerExpeditions + - MobXenoDroneExpeditions + rarePrototypes: + - MobXenoPraetorianExpeditions + - MobXenoRunnerExpeditions + - MobXenoSpitterExpeditions + rareChance: 0.10 + +- type: entity + suffix: AI, Hostile, T2 + parent: SpawnMobXenoT1 + id: SpawnMobXenoT2 + components: + - type: RandomSpawner + prototypes: + - MobXenoBurrowerExpeditions + - MobXenoPraetorianExpeditions + - MobXenoDroneExpeditions + - MobXenoRunnerExpeditions + - MobXenoSpitterExpeditions + rarePrototypes: + - MobXenoRavagerExpeditions + rareChance: 0.10 + +- type: entity + suffix: AI, Hostile, T3 + parent: SpawnMobXenoT1 + id: SpawnMobXenoT3 + components: + - type: RandomSpawner + prototypes: + - MobXenoPraetorianExpeditions + - MobXenoRunnerExpeditions + - MobXenoSpitterExpeditions + - MobXenoRavagerExpeditions + rarePrototypes: + - MobXenoDroneExpeditions + - MobXenoBurrowerExpeditions + rareChance: 0.10 \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/untimedAISpawners.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/untimedAISpawners.yml deleted file mode 100644 index 55699c7c186..00000000000 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/untimedAISpawners.yml +++ /dev/null @@ -1,86 +0,0 @@ -- type: entity - name: Xeno Spawner - suffix: Easy - id: XenoAISpawnerEasy - parent: MarkerBase - components: - - type: Sprite - layers: - - state: red - - sprite: Mobs/Aliens/Xenos/drone.rsi - state: crit - - state: ai - - type: RandomSpawner - prototypes: - - MobXeno - - MobXenoDrone - rarePrototypes: - - MobXenoPraetorian - - MobXenoRunner - - MobXenoSpitter - rareChance: 0.10 - -- type: entity - name: Xeno Spawner - suffix: Medium - id: XenoAISpawnerMedium - parent: MarkerBase - components: - - type: Sprite - layers: - - state: red - - sprite: Mobs/Aliens/Xenos/praetorian.rsi - state: crit - - state: ai - - type: RandomSpawner - prototypes: - - MobXeno - - MobXenoPraetorian - - MobXenoDrone - - MobXenoRunner - - MobXenoSpitter - rarePrototypes: - - MobXenoRavager - - MobXenoRouny - rareChance: 0.10 - -- type: entity - name: Xeno Spawner - suffix: Hard - id: XenoAISpawnerHard - parent: MarkerBase - components: - - type: Sprite - layers: - - state: red - - sprite: Mobs/Aliens/Xenos/ravager.rsi - state: crit - - state: ai - - type: RandomSpawner - prototypes: - - MobXenoPraetorian - - MobXenoRunner - - MobXenoSpitter - - MobXenoRavager - rarePrototypes: - - MobXenoQueen - - MobXenoRouny - - MobXenoDrone - - MobXeno - rareChance: 0.10 - -- type: entity - name: Xeno Spawner - suffix: Queen - id: XenoAISpawnerQueen - parent: MarkerBase - components: - - type: Sprite - layers: - - state: red - - sprite: Mobs/Aliens/Xenos/queen.rsi - state: crit - - state: ai - - type: RandomSpawner - prototypes: - - MobXenoQueen diff --git a/Resources/Prototypes/_NF/Procedural/chromite_vgroid.yml b/Resources/Prototypes/_NF/Procedural/chromite_vgroid.yml index bd45dd679bb..e87f88302e4 100644 --- a/Resources/Prototypes/_NF/Procedural/chromite_vgroid.yml +++ b/Resources/Prototypes/_NF/Procedural/chromite_vgroid.yml @@ -237,32 +237,32 @@ table: !type:NestedSelector tableId: SalvageEquipmentSpawnerValuable - !type:MobsDunGen - minCount: 2 - maxCount: 4 + minCount: 1 + maxCount: 2 groups: - id: SpawnMobBloodCultistPriest amount: 1 - !type:MobsDunGen - minCount: 2 - maxCount: 4 + minCount: 1 + maxCount: 2 groups: - id: SpawnMobBloodCultistAcolyte amount: 1 - !type:MobsDunGen - minCount: 2 - maxCount: 4 + minCount: 1 + maxCount: 2 groups: - id: SpawnMobBloodCultistZealotMelee amount: 1 - !type:MobsDunGen - minCount: 2 - maxCount: 4 + minCount: 1 + maxCount: 2 groups: - id: SpawnMobBloodCultistZealotRanged amount: 1 - !type:MobsDunGen - minCount: 2 - maxCount: 4 + minCount: 1 + maxCount: 2 groups: - id: SpawnMobBloodCultistCaster amount: 1 diff --git a/Resources/Prototypes/_NF/Procedural/snow_vgroid.yml b/Resources/Prototypes/_NF/Procedural/snow_vgroid.yml index 4e700f9459f..9fb72dcd07a 100644 --- a/Resources/Prototypes/_NF/Procedural/snow_vgroid.yml +++ b/Resources/Prototypes/_NF/Procedural/snow_vgroid.yml @@ -251,40 +251,10 @@ table: !type:NestedSelector tableId: SalvageEquipmentSpawnerValuable - !type:MobsDunGen - minCount: 2 - maxCount: 4 + minCount: 8 + maxCount: 15 groups: - - id: MobXenoBurrowerExpeditions - amount: 1 - - !type:MobsDunGen - minCount: 2 - maxCount: 4 - groups: - - id: MobXenoDroneExpeditions - amount: 1 - - !type:MobsDunGen - minCount: 2 - maxCount: 4 - groups: - - id: MobXenoPraetorianExpeditions - amount: 1 - - !type:MobsDunGen - minCount: 2 - maxCount: 4 - groups: - - id: MobXenoRavagerExpeditions - amount: 1 - - !type:MobsDunGen - minCount: 2 - maxCount: 4 - groups: - - id: MobXenoRunnerExpeditions - amount: 1 - - !type:MobsDunGen - minCount: 2 - maxCount: 4 - groups: - - id: MobXenoSpitterExpeditions + - id: SpawnMobXenoT2 amount: 1 #- type: dungeonConfig diff --git a/Resources/_NF/migration.yml b/Resources/_NF/migration.yml index 0633ecf091f..5c3d2ac9690 100644 --- a/Resources/_NF/migration.yml +++ b/Resources/_NF/migration.yml @@ -93,3 +93,9 @@ SpawnPointDetectiveNF: NFSpawnPointDetective # 2024-11-09 WarpPointShip: WarpPoint + +# 2024-11-11 Xeno +XenoAISpawnerEasy: SpawnMobXenoT1 +XenoAISpawnerMedium: SpawnMobXenoT2 +XenoAISpawnerHard: SpawnMobXenoT3 +XenoAISpawnerQueen: SpawnMobXenoQueenDungeon \ No newline at end of file