From 40b405a3fb80d63a8edbf0b506e312c4b325ecd2 Mon Sep 17 00:00:00 2001 From: Dvir Date: Wed, 16 Oct 2024 15:54:44 +0300 Subject: [PATCH 1/2] Split base --- .../Entities/Mobs/NPCs/mob_hostile_base.yml | 68 +++++++++++++++++-- .../Mobs/NPCs/mob_hostile_bloodcultist.yml | 20 ++---- ...mob_hostile_expeditions_aberrant_flesh.yml | 5 +- .../NPCs/mob_hostile_expeditions_argocyte.yml | 2 +- .../NPCs/mob_hostile_expeditions_carp.yml | 1 + .../mob_hostile_expeditions_dinosaurs.yml | 2 +- .../mob_hostile_expeditions_explorers.yml | 1 + .../NPCs/mob_hostile_expeditions_xeno.yml | 2 +- .../Mobs/NPCs/mob_hostile_mercenaries.yml | 1 + .../Mobs/NPCs/mob_hostile_rogue_ai.yml | 9 +-- .../NPCs/mob_hostile_wizardfederation.yml | 12 +--- .../Mobs/NPCs/mob_meme_goblinbane.yml | 11 ++- .../Mobs/NPCs/mob_meme_goblinbane_minions.yml | 16 ++--- 13 files changed, 93 insertions(+), 57 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml index ea641b138e5..2aa763fa79b 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml @@ -83,6 +83,68 @@ reflects: - Energy +- type: entity + abstract: true + id: MobRestrictions + components: + - type: NFSalvageMobRestrictions + +- type: entity + abstract: true + id: MobTimedDespawn30 + components: + - type: TimedDespawn + lifetime: 30 + +- type: entity + abstract: true + id: MobTimedDespawn60 + components: + - type: TimedDespawn + lifetime: 60 + +- type: entity + abstract: true + id: MobTimedDespawn80 + components: + - type: TimedDespawn + lifetime: 80 + +- type: entity + abstract: true + id: MobTimedDespawn120 + components: + - type: TimedDespawn + lifetime: 120 + +- type: entity + abstract: true + id: MobTimedDespawn180 + components: + - type: TimedDespawn + lifetime: 180 + +- type: entity + abstract: true + id: MobTimedDespawn1200 + components: + - type: TimedDespawn + lifetime: 1200 + +- type: entity + abstract: true + id: MobTimedDespawn1800 + components: + - type: TimedDespawn + lifetime: 1800 + +- type: entity + abstract: true + id: MobTimedDespawn3000 + components: + - type: TimedDespawn + lifetime: 3000 + - type: entity save: false id: MobEnhancedMovement @@ -116,6 +178,7 @@ parent: - MobEnhancedMovement - MobPassiveRegenWeak + - MobRestrictions components: - type: Hands - type: Puller @@ -130,7 +193,6 @@ - FootstepSound - DoorBumpOpener - CannotSuicide - - type: NFSalvageMobRestrictions - type: FTLKnockdownImmune # Inventories @@ -267,7 +329,6 @@ minimumWait: 120 # 1 * 2 maximumWait: 240 # 2 * 60 nextAdvertisementTime: 0 - - type: NFSalvageMobRestrictions - type: FTLKnockdownImmune - type: Respirator updateInterval: 99999 # Shouldn't run often, if ever. @@ -346,11 +407,10 @@ - type: MobPrice price: 1500 deathPenalty: 0.5 - - type: NFSalvageMobRestrictions - type: Tag tags: - CanPilot - FootstepSound - DoorBumpOpener - CannotSuicide - - type: FTLKnockdownImmune + - type: FTLKnockdownImmune \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml index d9134cca7d9..dca1c141a34 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml @@ -1,17 +1,10 @@ -- type: entity - abstract: true - id: MobBloodCultistTimedDespawn - components: - - type: TimedDespawn - lifetime: 3000 # 50 mins (max blue space event duration involving these mobs - 40 mins) - - type: entity name: blood cultist abstract: true parent: - MobHumanoidHostileBase - MobHumanoidInvetory - #- MobBloodCultistTimedDespawn + - MobRestrictions id: MobBloodCultistBase components: - type: NpcFactionMember @@ -203,7 +196,7 @@ - MobNonHumanHostileBase - MobPassiveRegen - MobHumanoidHostileAISimpleMelee - #- MobBloodCultistTimedDespawn + - MobRestrictions id: MobBloodCultLeech description: This cultist, once human, is now a twisted and corrupted abomination, its body warped and distorted by the dark energies of Nar'Sie's influence. components: @@ -254,7 +247,7 @@ - MobNonHumanHostileBase - MobHumanoidHostileAIComplex - MobLaserReflect # Added to prevent laser abuse from players - #- MobBloodCultistTimedDespawn + - MobRestrictions id: MobBloodCultistAscended components: - type: NpcFactionMember @@ -352,6 +345,7 @@ - FlyingMobBase - MobPassiveRegen - MobHumanoidHostileAISimpleMelee + - MobTimedDespawn120 id: MobBloodCultDrainedOne description: A tortured soul, stripped of free will and left as a mere shadow of a human, enslaved and bound to obey its captors. components: @@ -414,8 +408,6 @@ chemicalMaxVolume: 100 - type: Speech speechVerb: Ghost - - type: TimedDespawn - lifetime: 110 - type: Ammo muzzleFlash: null @@ -463,7 +455,7 @@ # Drained One (summonable by players), melee - type: entity categories: [ HideSpawnMenu ] - parent: MobBloodCultDrainedOne + parent: [ MobBloodCultDrainedOne, MobTimedDespawn180 ] id: MobBloodCultDrainedOneNanoTrasen components: - type: NPCImprintingOnSpawnBehaviour @@ -483,8 +475,6 @@ - type: NpcFactionMember factions: - NanoTrasen - - type: TimedDespawn - lifetime: 180 # Turrets # blood pylon, ranged, magic bolt deals 5 slash and 2 bloodloss diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml index 1f26b1bdc1e..9f260deed9b 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml @@ -3,6 +3,7 @@ parent: - MobNonHumanHostileBase - MobHumanoidHostileAISimpleMelee + - MobRestrictions id: BaseMobFleshExpeditions name: aberrant flesh description: A shambling mass of flesh, animated through anomalous energy. @@ -434,7 +435,7 @@ # FUNNY LITTLE GUY # embedable projectile that bites you until you either kill it or detach it or die (or it despawns) - type: entity - parent: BaseMobFleshExpeditions + parent: [ BaseMobFleshExpeditions, MobTimedDespawn60 ] id: MobMawExpeditions name: aberrant flesh maw description: Immobile, flesh-boring creatures that are launched at victims. Latches on until killed or shaken off. Don't put your fingers in it. @@ -479,8 +480,6 @@ damage: types: Slash: 4 - - type: TimedDespawn - lifetime: 60 # Newborns (spawned from assimilation sack) - type: entity diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml index 5bae64c7046..03a8986295d 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml @@ -1,6 +1,6 @@ # BASE - type: entity - parent: MobNonHumanHostileBase + parent: [ MobNonHumanHostileBase, MobRestrictions ] id: BaseMobArgocyteExpeditions name: argocyte description: |- diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml index fb857051c1d..c204fdbe1da 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml @@ -2,6 +2,7 @@ - type: entity parent: - MobNonHumanHostileBase + - MobRestrictions id: BaseMobCarpExpeditions name: carp description: A variant of the common space carp, evolved to "swim" through gravity. Equally dangerous. diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml index 88c4ab1561f..08bb28fb529 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml @@ -1,7 +1,7 @@ # Based on https://github.com/space-wizards/space-station-14/pull/26883 by @Vonsant, sprites by belay5 (discord) # BASE - type: entity - parent: MobNonHumanHostileBase + parent: [ MobNonHumanHostileBase, MobRestrictions ] id: BaseMobDinosaurExpeditions name: dinosaur description: Enigmatic behemoths from a bygone era, known for their imposing stature and formidable presence. diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml index 75c638ef1e2..b9ec343e6ed 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml @@ -6,6 +6,7 @@ - MobNonHumanHostileBase - MobHumanoidInvetory - MobHumanoidHostileAISimpleRanged + - MobRestrictions id: MobExplorerBase components: - type: NpcFactionMember diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_xeno.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_xeno.yml index d67e754933d..f2191388f62 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_xeno.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_xeno.yml @@ -1,6 +1,6 @@ # BASE - type: entity - parent: MobNonHumanHostileBase + parent: [ MobNonHumanHostileBase, MobRestrictions ] id: BaseMobXenoExpeditions name: xeno description: They mostly come at night. Mostly. diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml index 262040d34a2..ac00ce4b6e2 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml @@ -7,6 +7,7 @@ - MobNonHumanHostileBase - MobHumanoidInvetorySimplified - MobHumanoidHostileAISimpleRanged + - MobRestrictions id: MobMercenaryBase description: A mercenary, merc, soldier of fortune, hired gun, dog of war. components: diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index a95215e3174..8f84a6ed16e 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -39,13 +39,6 @@ path: /Audio/Effects/double_beep.ogg ## Mob base -- type: entity - abstract: true - id: MobRogueSiliconTimedDespawn - components: - - type: TimedDespawn - lifetime: 1200 # 20 mins (because these mobs can't be encountered outside expeditions now) - - type: entity name: hivemind unit abstract: true @@ -55,7 +48,7 @@ - MobHumanoidInvetorySimplified - MobRogueSiliconAISimpleRanged - MobLaserReflect # Added to prevent laser abuse from players - #- MobRogueSiliconTimedDespawn + - MobRestrictions id: MobRogueSiliconBase components: - type: Damageable diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml index 5ba2f4cc52f..74cee80ea77 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml @@ -1,11 +1,4 @@ ## Mob base -- type: entity - abstract: true - id: MobWizFedTimedDespawn - components: - - type: TimedDespawn - lifetime: 1800 # 30 mins (max blue space event duration involving these mobs - 20 mins) - - type: entity name: Wizard abstract: true @@ -15,7 +8,7 @@ - MobHumanoidInvetory - MobHumanoidHostileAISimpleRanged - MobLaserReflect # Added to prevent laser abuse from players - #- MobWizFedTimedDespawn + - MobRestrictions id: MobWizFedlBase components: - type: NpcFactionMember @@ -196,6 +189,7 @@ parent: - MobNonHumanHostileBase - MobHumanoidHostileAISimpleMelee + - MobTimedDespawn30 id: WaterElementalConjured components: - type: HTN @@ -244,7 +238,5 @@ - type: MeleeChemicalInjector solution: bloodstream transferAmount: 10 - - type: TimedDespawn - lifetime: 30 - type: Ammo muzzleFlash: null diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_meme_goblinbane.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_meme_goblinbane.yml index 9adfc94cd66..941b9ab5bb5 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_meme_goblinbane.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_meme_goblinbane.yml @@ -21,9 +21,8 @@ layer: - Opaque -# Possessed Toilet - type: entity - id: MobMemeGoblinbane + id: BaseMobMemeGoblinbane name: "The Goblinbane" parent: [ MobNonHumanHostileBase, MobPassiveRegenWeak, MobHumanoidHostileAIComplex ] description: A Daemon of Cleanliness from the time before time (but after the first toilet was built). An ancient enemy of goblinkind. @@ -150,6 +149,14 @@ action: ActionSpawnCleanlinessDimensionPortal gunProto: CleanlinessDimensionPortalGun +# Possessed Toilet +- type: entity + id: MobMemeGoblinbane + name: "The Goblinbane" + parent: [ BaseMobMemeGoblinbane, MobRestrictions ] + description: A Daemon of Cleanliness from the time before time (but after the first toilet was built). An ancient enemy of goblinkind. + categories: [ HideSpawnMenu ] + - type: entity categories: [ HideSpawnMenu ] id: ActionSpawnCleanlinessDimensionPortal diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_meme_goblinbane_minions.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_meme_goblinbane_minions.yml index e2905588ac0..b5ecd16e35e 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_meme_goblinbane_minions.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_meme_goblinbane_minions.yml @@ -2,7 +2,7 @@ - type: entity id: MobMemePossessedMop name: possessed mop - parent: [ MobIncorporealBase, MobMemeGoblinbane ] + parent: [ MobIncorporealBase, BaseMobMemeGoblinbane, MobTimedDespawn120 ] categories: [ HideSpawnMenu ] components: - type: HTN @@ -68,14 +68,12 @@ - type: MeleeChemicalInjector solution: bloodstream transferAmount: 10 - - type: TimedDespawn - lifetime: 120 # Possessed Spray - type: entity id: MobMemePossessedSpray name: possessed spray - parent: MobMemeGoblinbane + parent: [ BaseMobMemeGoblinbane, MobTimedDespawn120 ] categories: [ HideSpawnMenu ] components: - type: HTN @@ -143,14 +141,12 @@ availableModes: - SemiAuto soundGunshot: /Audio/Weapons/Guns/Gunshots/water_spray.ogg - - type: TimedDespawn - lifetime: 120 # Possessed Bucket - type: entity id: MobMemePossessedBucket name: possessed mop bucket - parent: [ MobMemeGoblinbane ] + parent: [ BaseMobMemeGoblinbane, MobTimedDespawn120 ] categories: [ HideSpawnMenu ] components: - type: HTN @@ -213,14 +209,12 @@ types: Blunt: 6 Structural: 20 - - type: TimedDespawn - lifetime: 120 # Mop bucket dimention portal - type: entity id: MopBucketDimnsionPortal name: mop bucket portal - parent: [ MobIncorporealBase, XenoWardingTower ] + parent: [ MobIncorporealBase, XenoWardingTower, MobTimedDespawn80 ] description: A portal to a mop bucket dimension. Obviously. It says so on the label at the corner. components: - type: NpcFactionMember @@ -268,8 +262,6 @@ radius: 2.0 energy: 3.5 color: "yellow" - - type: TimedDespawn - lifetime: 80 - type: entity id: CleanlinessDimensionPortal From 5c701eaa2b3dfa5199b463782807d7cc11cfb851 Mon Sep 17 00:00:00 2001 From: Whatstone Date: Wed, 16 Oct 2024 09:47:04 -0400 Subject: [PATCH 2/2] Prefixing MobRestrictions, MobTimedDespawn --- .../Prototypes/Entities/Mobs/NPCs/carp.yml | 8 ++----- .../Prototypes/Entities/Mobs/NPCs/flesh.yml | 3 +-- .../Prototypes/Entities/Mobs/NPCs/space.yml | 12 +++------- .../Entities/Mobs/NPCs/spacetick.yml | 4 +--- .../Prototypes/Entities/Mobs/NPCs/xeno.yml | 6 ++--- .../Entities/Mobs/Player/dragon.yml | 3 +-- .../_NF/Entities/Mobs/NPCs/corpses.yml | 1 - .../_NF/Entities/Mobs/NPCs/elemental.yml | 6 ++--- .../Entities/Mobs/NPCs/mob_hostile_base.yml | 20 ++++++++--------- .../Mobs/NPCs/mob_hostile_bloodcultist.yml | 13 ++++++----- ...mob_hostile_expeditions_aberrant_flesh.yml | 4 ++-- .../NPCs/mob_hostile_expeditions_argocyte.yml | 2 +- .../NPCs/mob_hostile_expeditions_carp.yml | 2 +- .../mob_hostile_expeditions_dinosaurs.yml | 2 +- .../mob_hostile_expeditions_explorers.yml | 2 +- .../NPCs/mob_hostile_expeditions_xeno.yml | 3 +-- .../Mobs/NPCs/mob_hostile_mercenaries.yml | 2 +- .../Mobs/NPCs/mob_hostile_rogue_ai.yml | 2 +- .../NPCs/mob_hostile_wizardfederation.yml | 4 ++-- .../Mobs/NPCs/mob_meme_goblinbane.yml | 2 +- .../Mobs/NPCs/mob_meme_goblinbane_minions.yml | 8 +++---- .../_NF/Entities/Objects/base_contraband.yml | 22 +++++++++++++++---- 22 files changed, 64 insertions(+), 67 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml b/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml index cb811a761e1..380b741c391 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml @@ -152,10 +152,8 @@ - type: entity id: MobCarpSalvage - parent: MobCarp + parent: [NFMobRestrictions, MobCarp] # Frontier: add NFMobRestrictions, remove components suffix: "Salvage Ruleset" - components: - - type: NFSalvageMobRestrictions # Frontier - type: entity name: space carp @@ -244,7 +242,5 @@ - type: entity id: MobSharkSalvage - parent: MobShark + parent: [NFMobRestrictions, MobShark] # Frontier: add NFMobRestrictions suffix: "Salvage Ruleset" - components: - - type: NFSalvageMobRestrictions diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/flesh.yml b/Resources/Prototypes/Entities/Mobs/NPCs/flesh.yml index 64f8418d7bc..b4f6227c005 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/flesh.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/flesh.yml @@ -205,7 +205,7 @@ Blunt: 10 - type: entity - parent: [ SimpleSpaceMobBase, MobCombat ] + parent: [ NFMobRestrictions, SimpleSpaceMobBase, MobCombat ] # Frontier: add NFMobRestrictions id: BaseMobFleshSalvage #This one is immune to space! name: aberrant flesh suffix: "Salvage Ruleset" @@ -261,7 +261,6 @@ Slash: 6 - type: ReplacementAccent accent: genericAggressive - - type: NFSalvageMobRestrictions # Frontier - type: entity parent: BaseMobFleshSalvage diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/space.yml b/Resources/Prototypes/Entities/Mobs/NPCs/space.yml index aacf17d4165..e590eea848d 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/space.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/space.yml @@ -113,10 +113,8 @@ - type: entity id: MobBearSpaceSalvage - parent: MobBearSpace + parent: [NFMobRestrictions, MobBearSpace] # Frontier: add NFMobRestrictions, remove components suffix: "Salvage Ruleset" - components: - - type: NFSalvageMobRestrictions # Frontier - type: entity name: space kangaroo @@ -268,10 +266,8 @@ - type: entity id: MobSpiderSpaceSalvage - parent: MobSpiderSpace + parent: [NFMobRestrictions, MobSpiderSpace] # Frontier: add NFMobRestrictions, remove components suffix: "Salvage Ruleset" - components: - - type: NFSalvageMobRestrictions - type: entity name: space cobra @@ -365,10 +361,8 @@ - type: entity id: MobCobraSpaceSalvage - parent: MobCobraSpace + parent: [NFMobRestrictions, MobCobraSpace] # Frontier: add NFMobRestrictions, remove components suffix: "Salvage Ruleset" - components: - - type: NFSalvageMobRestrictions # Frontier: SalvageMobRestrictions