Infer type for EntSelector (#30856)

Infer type for EntSelector.cs
This commit is contained in:
Nemanja
2024-08-10 10:17:45 -04:00
committed by GitHub
parent 2b4acde2c8
commit fdbf2a229e
5 changed files with 317 additions and 555 deletions

View File

@@ -8,7 +8,9 @@ namespace Content.Shared.EntityTable.EntitySelectors;
/// </summary> /// </summary>
public sealed partial class EntSelector : EntityTableSelector public sealed partial class EntSelector : EntityTableSelector
{ {
[DataField(required: true)] public const string IdDataFieldTag = "id";
[DataField(IdDataFieldTag, required: true)]
public EntProtoId Id; public EntProtoId Id;
[DataField] [DataField]

View File

@@ -0,0 +1,37 @@
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.Manager;
using Robust.Shared.Serialization.Markdown.Mapping;
using Robust.Shared.Serialization.Markdown.Validation;
using Robust.Shared.Serialization.TypeSerializers.Interfaces;
namespace Content.Shared.EntityTable.EntitySelectors;
[TypeSerializer]
public sealed class EntityTableTypeSerializer :
ITypeReader<EntityTableSelector, MappingDataNode>
{
public ValidationNode Validate(ISerializationManager serializationManager,
MappingDataNode node,
IDependencyCollection dependencies,
ISerializationContext? context = null)
{
if (node.Has(EntSelector.IdDataFieldTag))
return serializationManager.ValidateNode<EntSelector>(node, context);
return new ErrorNode(node, "Custom validation not supported! Please specify the type manually!");
}
public EntityTableSelector Read(ISerializationManager serializationManager,
MappingDataNode node,
IDependencyCollection dependencies,
SerializationHookContext hookCtx,
ISerializationContext? context = null,
ISerializationManager.InstantiationDelegate<EntityTableSelector>? instanceProvider = null)
{
var type = typeof(EntityTableSelector);
if (node.Has(EntSelector.IdDataFieldTag))
type = typeof(EntSelector);
return (EntityTableSelector) serializationManager.Read(type, node, context)!;
}
}

View File

@@ -2,67 +2,43 @@
id: AllPlushiesTable id: AllPlushiesTable
table: !type:GroupSelector table: !type:GroupSelector
children: children:
- !type:EntSelector - id: PlushieBee
id: PlushieBee - id: PlushieNar
- !type:EntSelector
id: PlushieNar
weight: 0.5 weight: 0.5
- !type:EntSelector - id: PlushieRatvar
id: PlushieRatvar
weight: 0.5 weight: 0.5
- !type:EntSelector - id: PlushieNuke
id: PlushieNuke - id: PlushieSlime
- !type:EntSelector - id: PlushieSnake
id: PlushieSlime
- !type:EntSelector
id: PlushieSnake
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: PlushieLizard
id: PlushieLizard
weight: 9 weight: 9
- !type:EntSelector - id: PlushieSpaceLizard
id: PlushieSpaceLizard
weight: 1 weight: 1
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: PlushieCarp
id: PlushieCarp - id: PlushieHolocarp
- !type:EntSelector
id: PlushieHolocarp
weight: 0.25 weight: 0.25
- !type:EntSelector - id: PlushieMagicarp
id: PlushieMagicarp
weight: 0.25 weight: 0.25
- !type:EntSelector - id: PlushieRainbowCarp
id: PlushieRainbowCarp
weight: 0.15 weight: 0.15
- !type:EntSelector - id: PlushieVox
id: PlushieVox - id: PlushieRouny
- !type:EntSelector
id: PlushieRouny
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: PlushieSharkBlue
id: PlushieSharkBlue - id: PlushieSharkGrey
- !type:EntSelector - id: PlushieSharkPink
id: PlushieSharkGrey - id: PlushieAtmosian
- !type:EntSelector - id: PlushieDiona
id: PlushieSharkPink - id: PlushieXeno
- !type:EntSelector - id: PlushieHampter
id: PlushieAtmosian - id: PlushieMoth
- !type:EntSelector - id: PlushieArachind
id: PlushieDiona - id: PlushiePenguin
- !type:EntSelector
id: PlushieXeno
- !type:EntSelector
id: PlushieHampter
- !type:EntSelector
id: PlushieMoth
- !type:EntSelector
id: PlushieArachind
- !type:EntSelector
id: PlushiePenguin
- type: entity - type: entity
id: CrateFunPlushie id: CrateFunPlushie
@@ -87,12 +63,10 @@
containers: containers:
entity_storage: !type:AllSelector entity_storage: !type:AllSelector
children: children:
- !type:EntSelector - id: PlushieLizard
id: PlushieLizard
amount: !type:ConstantNumberSelector amount: !type:ConstantNumberSelector
value: 3 value: 3
- !type:EntSelector - id: PlushieSpaceLizard
id: PlushieSpaceLizard
amount: !type:ConstantNumberSelector amount: !type:ConstantNumberSelector
value: 3 value: 3

View File

@@ -7,46 +7,31 @@
containers: containers:
entity_storage: !type:AllSelector entity_storage: !type:AllSelector
children: children:
- !type:EntSelector - id: ClothingBeltMilitaryWebbing
id: ClothingBeltMilitaryWebbing - id: ClothingHandsGlovesCombat
- !type:EntSelector - id: JetpackBlackFilled
id: ClothingHandsGlovesCombat - id: ClothingUniformJumpsuitOperative
- !type:EntSelector - id: ClothingUniformJumpskirtOperative
id: JetpackBlackFilled - id: ClothingHeadsetAltSyndicate
- !type:EntSelector - id: ClothingEyesHudSyndicate
id: ClothingUniformJumpsuitOperative
- !type:EntSelector
id: ClothingUniformJumpskirtOperative
- !type:EntSelector
id: ClothingHeadsetAltSyndicate
- !type:EntSelector
id: ClothingEyesHudSyndicate
- type: entityTable - type: entityTable
id: FillLockerEmergencyStandard id: FillLockerEmergencyStandard
table: !type:AllSelector table: !type:AllSelector
children: children:
- !type:EntSelector - id: ClothingMaskBreath
id: ClothingMaskBreath - id: ClothingOuterSuitEmergency
- !type:EntSelector
id: ClothingOuterSuitEmergency
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: EmergencyOxygenTankFilled
id: EmergencyOxygenTankFilled - id: OxygenTankFilled
- !type:EntSelector - id: ToolboxEmergencyFilled
id: OxygenTankFilled
- !type:EntSelector
id: ToolboxEmergencyFilled
prob: 0.5 prob: 0.5
- !type:EntSelector - id: MedkitOxygenFilled
id: MedkitOxygenFilled
prob: 0.2 prob: 0.2
- !type:EntSelector - id: WeaponFlareGun
id: WeaponFlareGun
prob: 0.05 prob: 0.05
- !type:EntSelector - id: BoxMRE
id: BoxMRE
prob: 0.1 prob: 0.1
- type: entity - type: entity
@@ -78,42 +63,30 @@
containers: containers:
entity_storage: !type:AllSelector entity_storage: !type:AllSelector
children: children:
- !type:EntSelector - id: ClothingMaskBreath
id: ClothingMaskBreath - id: ClothingOuterSuitEmergency
- !type:EntSelector
id: ClothingOuterSuitEmergency
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: EmergencyNitrogenTankFilled
id: EmergencyNitrogenTankFilled - id: NitrogenTankFilled
- !type:EntSelector
id: NitrogenTankFilled
- type: entityTable - type: entityTable
id: FillLockerFireStandard id: FillLockerFireStandard
table: !type:AllSelector table: !type:AllSelector
children: children:
- !type:EntSelector - id: ClothingOuterSuitFire
id: ClothingOuterSuitFire - id: ClothingHeadHelmetFire
- !type:EntSelector - id: ClothingMaskGas
id: ClothingHeadHelmetFire
- !type:EntSelector
id: ClothingMaskGas
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: EmergencyOxygenTankFilled
id: EmergencyOxygenTankFilled - id: OxygenTankFilled
- !type:EntSelector - id: CrowbarRed
id: OxygenTankFilled
- !type:EntSelector
id: CrowbarRed
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: FireExtinguisher
id: FireExtinguisher
weight: 98 weight: 98
- !type:EntSelector - id: SprayBottleWater #It's just budget cut after budget cut man
id: SprayBottleWater #It's just budget cut after budget cut man
weight: 2 weight: 2
- type: entity - type: entity
@@ -142,36 +115,24 @@
children: children:
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: ClothingUniformJumpsuitOperative
id: ClothingUniformJumpsuitOperative - id: ClothingUniformJumpskirtOperative
- !type:EntSelector - id: ClothingBackpackDuffelSyndicate
id: ClothingUniformJumpskirtOperative - id: CyberPen
- !type:EntSelector - id: CigPackSyndicate
id: ClothingBackpackDuffelSyndicate - id: ClothingBackpackDuffelSyndicatePyjamaBundle
- !type:EntSelector - id: ClothingBeltMilitaryWebbing
id: CyberPen - id: ClothingShoesBootsCombatFilled
- !type:EntSelector - id: ToolboxSyndicateFilled
id: CigPackSyndicate - id: BalloonSyn
- !type:EntSelector - id: WeaponSniperMosin
id: ClothingBackpackDuffelSyndicatePyjamaBundle
- !type:EntSelector
id: ClothingBeltMilitaryWebbing
- !type:EntSelector
id: ClothingShoesBootsCombatFilled
- !type:EntSelector
id: ToolboxSyndicateFilled
- !type:EntSelector
id: BalloonSyn
- !type:EntSelector
id: WeaponSniperMosin
weight: 2 weight: 2
- type: entityTable - type: entityTable
id: MaintenanceLockerLoot id: MaintenanceLockerLoot
table: !type:AllSelector table: !type:AllSelector
children: children:
- !type:EntSelector - id: StrangePill
id: StrangePill
prob: 0.20 prob: 0.20
# Tools # Tools
- !type:NestedSelector - !type:NestedSelector

View File

@@ -9,276 +9,158 @@
# Smoker's specialty # Smoker's specialty
- !type:AllSelector - !type:AllSelector
children: children:
- !type:EntSelector - id: Lighter
id: Lighter - id: CigCartonBlue
- !type:EntSelector
id: CigCartonBlue
# Gar glasses # Gar glasses
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: ClothingEyesGlassesGar
id: ClothingEyesGlassesGar - id: ClothingEyesGlassesGarOrange
- !type:EntSelector - id: ClothingEyesGlassesGarGiga
id: ClothingEyesGlassesGarOrange - id: Wristwatch
- !type:EntSelector
id: ClothingEyesGlassesGarGiga
- !type:EntSelector
id: Wristwatch
weight: 0.5 weight: 0.5
- !type:EntSelector - id: ClothingHeadHatCake
id: ClothingHeadHatCake - id: ClothingHeadHatSkub
- !type:EntSelector - id: ClothingHeadHatCone
id: ClothingHeadHatSkub - id: ClothingNeckBling
- !type:EntSelector - id: ClothingHeadHelmetCosmonaut
id: ClothingHeadHatCone - id: ClothingHeadHelmetBasic
- !type:EntSelector - id: ClothingShoeSlippersDuck
id: ClothingNeckBling - id: ClothingUnderSocksBee
- !type:EntSelector - id: ClothingUnderSocksCoder
id: ClothingHeadHelmetCosmonaut - id: ClothingHeadHatSquid
- !type:EntSelector
id: ClothingHeadHelmetBasic
- !type:EntSelector
id: ClothingShoeSlippersDuck
- !type:EntSelector
id: ClothingUnderSocksBee
- !type:EntSelector
id: ClothingUnderSocksCoder
- !type:EntSelector
id: ClothingHeadHatSquid
# Animal Masks # Animal Masks
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: ClothingMaskRat
id: ClothingMaskRat - id: ClothingMaskFox
- !type:EntSelector - id: ClothingMaskBee
id: ClothingMaskFox - id: ClothingMaskBear
- !type:EntSelector - id: ClothingMaskRaven
id: ClothingMaskBee - id: ClothingMaskJackal
- !type:EntSelector - id: ClothingMaskBat
id: ClothingMaskBear - id: ClothingBeltSuspenders
- !type:EntSelector - id: ClothingEyesEyepatch
id: ClothingMaskRaven - id: ClothingEyesGlasses
- !type:EntSelector - id: ClothingHandsGlovesLatex
id: ClothingMaskJackal - id: ClothingHandsGlovesFingerless
- !type:EntSelector - id: ClothingHandsGlovesColorBlack
id: ClothingMaskBat - id: ClothingHeadHatBeret
- !type:EntSelector - id: ClothingHeadHatBowlerHat
id: ClothingBeltSuspenders - id: ClothingHeadHatFedoraBrown
- !type:EntSelector
id: ClothingEyesEyepatch
- !type:EntSelector
id: ClothingEyesGlasses
- !type:EntSelector
id: ClothingHandsGlovesLatex
- !type:EntSelector
id: ClothingHandsGlovesFingerless
- !type:EntSelector
id: ClothingHandsGlovesColorBlack
- !type:EntSelector
id: ClothingHeadHatBeret
- !type:EntSelector
id: ClothingHeadHatBowlerHat
- !type:EntSelector
id: ClothingHeadHatFedoraBrown
weight: 0.5 weight: 0.5
- !type:EntSelector - id: ClothingHeadHatFedoraGrey
id: ClothingHeadHatFedoraGrey
weight: 0.5 weight: 0.5
- !type:EntSelector - id: ClothingHeadHatFez
id: ClothingHeadHatFez - id: ClothingHeadHatPaper
- !type:EntSelector - id: ClothingHeadHatPirate
id: ClothingHeadHatPaper - id: ClothingMaskSterile
- !type:EntSelector - id: ClothingNeckHeadphones
id: ClothingHeadHatPirate - id: ClothingNeckTieRed
- !type:EntSelector - id: ClothingOuterCoatGentle
id: ClothingMaskSterile
- !type:EntSelector
id: ClothingNeckHeadphones
- !type:EntSelector
id: ClothingNeckTieRed
- !type:EntSelector
id: ClothingOuterCoatGentle
- !type:AllSelector - !type:AllSelector
children: children:
- !type:EntSelector - id: ClothingOuterCoatJensen
id: ClothingOuterCoatJensen - id: ClothingEyesGlassesJensen
- !type:EntSelector - id: ClothingOuterCoatLab
id: ClothingEyesGlassesJensen
- !type:EntSelector
id: ClothingOuterCoatLab
- !type:AllSelector - !type:AllSelector
children: children:
- !type:EntSelector - id: ClothingOuterCoatPirate
id: ClothingOuterCoatPirate - id: ClothingHeadHatPirateTricord
- !type:EntSelector - id: ClothingHeadHatTophat
id: ClothingHeadHatPirateTricord - id: ClothingOuterHoodieBlack
- !type:EntSelector
id: ClothingHeadHatTophat
- !type:EntSelector
id: ClothingOuterHoodieBlack
weight: 0.5 weight: 0.5
- !type:EntSelector - id: ClothingOuterHoodieGrey
id: ClothingOuterHoodieGrey
weight: 0.5 weight: 0.5
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: ClothingOuterFlannelRed
id: ClothingOuterFlannelRed - id: ClothingOuterFlannelBlue
- !type:EntSelector - id: ClothingOuterFlannelGreen
id: ClothingOuterFlannelBlue - id: ClothingOuterVestHazard
- !type:EntSelector - id: ClothingShoesBootsJack
id: ClothingOuterFlannelGreen - id: ClothingShoesHighheelBoots
- !type:EntSelector - id: ClothingShoesBootsLaceup
id: ClothingOuterVestHazard - id: ClothingShoesLeather
- !type:EntSelector - id: ClothingShoesBootsSalvage
id: ClothingShoesBootsJack - id: ClothingShoesBootsWork
- !type:EntSelector - id: ClothingShoesTourist
id: ClothingShoesHighheelBoots - id: ClothingUniformJumpsuitLoungewear
- !type:EntSelector - id: ClothingHeadHatCowboyRed
id: ClothingShoesBootsLaceup
- !type:EntSelector
id: ClothingShoesLeather
- !type:EntSelector
id: ClothingShoesBootsSalvage
- !type:EntSelector
id: ClothingShoesBootsWork
- !type:EntSelector
id: ClothingShoesTourist
- !type:EntSelector
id: ClothingUniformJumpsuitLoungewear
- !type:EntSelector
id: ClothingHeadHatCowboyRed
# Uncommon Group # Uncommon Group
- !type:GroupSelector - !type:GroupSelector
weight: 23 weight: 23
children: children:
- !type:EntSelector - id: ClothingNeckCloakHerald
id: ClothingNeckCloakHerald - id: ClothingHeadHelmetTemplar
- !type:EntSelector
id: ClothingHeadHelmetTemplar
# Cloaks # Cloaks
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: ClothingNeckCloakTrans
id: ClothingNeckCloakTrans - id: ClothingNeckCloakAdmin
- !type:EntSelector - id: ClothingNeckCloakMoth
id: ClothingNeckCloakAdmin - id: ClothingNeckCloakVoid
- !type:EntSelector - id: ClothingNeckCloakGoliathCloak
id: ClothingNeckCloakMoth - id: ClothingNeckCloakAce
- !type:EntSelector - id: ClothingNeckCloakAro
id: ClothingNeckCloakVoid - id: ClothingNeckCloakBi
- !type:EntSelector - id: ClothingNeckCloakIntersex
id: ClothingNeckCloakGoliathCloak - id: ClothingNeckCloakLesbian
- !type:EntSelector - id: ClothingNeckCloakGay
id: ClothingNeckCloakAce - id: ClothingNeckCloakEnby
- !type:EntSelector - id: ClothingNeckCloakPan
id: ClothingNeckCloakAro - id: ToySkeleton
- !type:EntSelector - id: Basketball
id: ClothingNeckCloakBi - id: Football
- !type:EntSelector - id: BalloonNT
id: ClothingNeckCloakIntersex - id: BalloonCorgi
- !type:EntSelector - id: MysteryFigureBox
id: ClothingNeckCloakLesbian
- !type:EntSelector
id: ClothingNeckCloakGay
- !type:EntSelector
id: ClothingNeckCloakEnby
- !type:EntSelector
id: ClothingNeckCloakPan
- !type:EntSelector
id: ToySkeleton
- !type:EntSelector
id: Basketball
- !type:EntSelector
id: Football
- !type:EntSelector
id: BalloonNT
- !type:EntSelector
id: BalloonCorgi
- !type:EntSelector
id: MysteryFigureBox
# Cult # Cult
- !type:AllSelector - !type:AllSelector
children: children:
- !type:EntSelector - id: ClothingOuterRobesCult
id: ClothingOuterRobesCult - id: ClothingShoesCult
- !type:EntSelector - id: ClothingHandsGlovesMercFingerless
id: ClothingShoesCult - id: ClothingHandsGlovesNitrile
- !type:EntSelector - id: ClothingHandsGlovesPowerglove
id: ClothingHandsGlovesMercFingerless - id: ClothingHeadHatAnimalHeadslime
- !type:EntSelector - id: ClothingHeadHatBeretMerc
id: ClothingHandsGlovesNitrile - id: ClothingHeadHatOutlawHat
- !type:EntSelector - id: ClothingHeadHatUshanka
id: ClothingHandsGlovesPowerglove - id: ClothingHeadHatBunny
- !type:EntSelector - id: ClothingMaskNeckGaiter
id: ClothingHeadHatAnimalHeadslime - id: ClothingNeckScarfStripedZebra
- !type:EntSelector - id: ClothingOuterGhostSheet
id: ClothingHeadHatBeretMerc - id: ClothingUniformJumpsuitAncient
- !type:EntSelector - id: ClothingUniformJumpsuitPirate
id: ClothingHeadHatOutlawHat - id: ClothingShoesBootsCowboyFancy
- !type:EntSelector - id: ClothingHeadHatCowboyBountyHunter
id: ClothingHeadHatUshanka
- !type:EntSelector
id: ClothingHeadHatBunny
- !type:EntSelector
id: ClothingMaskNeckGaiter
- !type:EntSelector
id: ClothingNeckScarfStripedZebra
- !type:EntSelector
id: ClothingOuterGhostSheet
- !type:EntSelector
id: ClothingUniformJumpsuitAncient
- !type:EntSelector
id: ClothingUniformJumpsuitPirate
- !type:EntSelector
id: ClothingShoesBootsCowboyFancy
- !type:EntSelector
id: ClothingHeadHatCowboyBountyHunter
# Pins # Pins
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: ClothingNeckLGBTPin
id: ClothingNeckLGBTPin - id: ClothingNeckAromanticPin
- !type:EntSelector - id: ClothingNeckAsexualPin
id: ClothingNeckAromanticPin - id: ClothingNeckBisexualPin
- !type:EntSelector - id: ClothingNeckIntersexPin
id: ClothingNeckAsexualPin - id: ClothingNeckLesbianPin
- !type:EntSelector - id: ClothingNeckNonBinaryPin
id: ClothingNeckBisexualPin - id: ClothingNeckPansexualPin
- !type:EntSelector - id: ClothingNeckTransPin
id: ClothingNeckIntersexPin - id: ClothingNeckAutismPin
- !type:EntSelector - id: ClothingNeckGoldAutismPin
id: ClothingNeckLesbianPin
- !type:EntSelector
id: ClothingNeckNonBinaryPin
- !type:EntSelector
id: ClothingNeckPansexualPin
- !type:EntSelector
id: ClothingNeckTransPin
- !type:EntSelector
id: ClothingNeckAutismPin
- !type:EntSelector
id: ClothingNeckGoldAutismPin
# Rare Group # Rare Group
- !type:GroupSelector - !type:GroupSelector
weight: 2 weight: 2
children: children:
- !type:EntSelector - id: Skub
id: Skub - id: PonderingOrb
- !type:EntSelector - id: CluwneHorn
id: PonderingOrb - id: ClothingShoesSkates
- !type:EntSelector - id: DrinkMugDog
id: CluwneHorn - id: CigarGold
- !type:EntSelector - id: ClothingUniformJumpsuitFamilyGuy
id: ClothingShoesSkates - id: WristwatchGold
- !type:EntSelector
id: DrinkMugDog
- !type:EntSelector
id: CigarGold
- !type:EntSelector
id: ClothingUniformJumpsuitFamilyGuy
- !type:EntSelector
id: WristwatchGold
- type: entity - type: entity
name: Maint Loot Spawner name: Maint Loot Spawner
@@ -304,174 +186,104 @@
- !type:GroupSelector - !type:GroupSelector
weight: 75 weight: 75
children: children:
- !type:EntSelector - id: FlashlightLantern
id: FlashlightLantern - id: ToolboxEmergencyFilled
- !type:EntSelector
id: ToolboxEmergencyFilled
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: OxygenTankFilled
id: OxygenTankFilled - id: DoubleEmergencyOxygenTankFilled
- !type:EntSelector
id: DoubleEmergencyOxygenTankFilled
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: NitrogenTankFilled
id: NitrogenTankFilled - id: DoubleEmergencyNitrogenTankFilled
- !type:EntSelector - id: EmergencyFunnyOxygenTankFilled
id: DoubleEmergencyNitrogenTankFilled
- !type:EntSelector
id: EmergencyFunnyOxygenTankFilled
weight: 0.5 weight: 0.5
- !type:GroupSelector - !type:GroupSelector
weight: 3 weight: 3
children: children:
- !type:EntSelector - id: SheetSteel10
id: SheetSteel10 - id: SheetPlastic10
- !type:EntSelector - id: SheetGlass10
id: SheetPlastic10 - id: PartRodMetal10
- !type:EntSelector - id: MaterialCardboard10
id: SheetGlass10
- !type:EntSelector
id: PartRodMetal10
- !type:EntSelector
id: MaterialCardboard10
weight: 0.25 weight: 0.25
- !type:EntSelector - id: MaterialCloth10
id: MaterialCloth10
weight: 0.25 weight: 0.25
- !type:EntSelector - id: MaterialWoodPlank10
id: MaterialWoodPlank10
weight: 0.25 weight: 0.25
- !type:EntSelector - id: Plunger
id: Plunger - id: PowerCellMedium
- !type:EntSelector - id: PowerCellSmall
id: PowerCellMedium - id: Soap
- !type:EntSelector - id: Wirecutter
id: PowerCellSmall - id: Screwdriver
- !type:EntSelector - id: Wrench
id: Soap - id: Crowbar
- !type:EntSelector - id: Multitool
id: Wirecutter - id: Shovel
- !type:EntSelector - id: Welder
id: Screwdriver - id: GasAnalyzer
- !type:EntSelector - id: SprayPainter
id: Wrench - id: Flare
- !type:EntSelector - id: Beaker
id: Crowbar - id: ClothingMaskGas
- !type:EntSelector - id: ClothingMaskBreath
id: Multitool - id: DoorElectronics
- !type:EntSelector - id: APCElectronics
id: Shovel - id: InflatableWallStack5
- !type:EntSelector - id: CableHVStack10
id: Welder - id: CableMVStack10
- !type:EntSelector - id: CableApcStack10
id: GasAnalyzer
- !type:EntSelector
id: SprayPainter
- !type:EntSelector
id: Flare
- !type:EntSelector
id: Beaker
- !type:EntSelector
id: ClothingMaskGas
- !type:EntSelector
id: ClothingMaskBreath
- !type:EntSelector
id: DoorElectronics
- !type:EntSelector
id: APCElectronics
- !type:EntSelector
id: InflatableWallStack5
- !type:EntSelector
id: CableHVStack10
- !type:EntSelector
id: CableMVStack10
- !type:EntSelector
id: CableApcStack10
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: ClothingHandsGlovesColorYellowBudget
id: ClothingHandsGlovesColorYellowBudget
weight: 5 weight: 5
- !type:EntSelector - id: ClothingHandsGlovesFingerlessInsulated
id: ClothingHandsGlovesFingerlessInsulated
weight: 0.5 weight: 0.5
- !type:EntSelector - id: ClothingHandsGlovesColorYellow
id: ClothingHandsGlovesColorYellow
weight: 1 weight: 1
# Uncommon Group # Uncommon Group
- !type:GroupSelector - !type:GroupSelector
weight: 23 weight: 23
children: children:
- !type:EntSelector - id: ClothingHeadHatCone
id: ClothingHeadHatCone
weight: 2 weight: 2
- !type:EntSelector - id: BookRandomStory
id: BookRandomStory
weight: 0.25 weight: 0.25
- !type:EntSelector - id: ToolboxElectricalFilled
id: ToolboxElectricalFilled - id: ToolboxMechanicalFilled
- !type:EntSelector - id: ClothingBeltUtility
id: ToolboxMechanicalFilled - id: ToolboxArtisticFilled
- !type:EntSelector - id: GeigerCounter
id: ClothingBeltUtility - id: trayScanner
- !type:EntSelector - id: HandheldGPSBasic
id: ToolboxArtisticFilled - id: HandLabeler
- !type:EntSelector - id: GlowstickBase
id: GeigerCounter - id: Bucket
- !type:EntSelector - id: RadioHandheld
id: trayScanner - id: AppraisalTool
- !type:EntSelector - id: ModularReceiver
id: HandheldGPSBasic - id: WeaponFlareGun
- !type:EntSelector - id: BarberScissors
id: HandLabeler
- !type:EntSelector
id: GlowstickBase
- !type:EntSelector
id: Bucket
- !type:EntSelector
id: RadioHandheld
- !type:EntSelector
id: AppraisalTool
- !type:EntSelector
id: ModularReceiver
- !type:EntSelector
id: WeaponFlareGun
- !type:EntSelector
id: BarberScissors
- !type:GroupSelector - !type:GroupSelector
children: children:
- !type:EntSelector - id: DrinkSpaceGlue
id: DrinkSpaceGlue - id: DrinkSpaceLube
- !type:EntSelector
id: DrinkSpaceLube
# Rare Group # Rare Group
- !type:GroupSelector - !type:GroupSelector
weight: 2 weight: 2
children: children:
- !type:EntSelector - id: LanternFlash
id: LanternFlash - id: PowerCellHigh
- !type:EntSelector - id: NetProbeCartridge
id: PowerCellHigh - id: WelderIndustrial
- !type:EntSelector - id: SheetPlasteel10
id: NetProbeCartridge - id: ClothingMaskGasExplorer
- !type:EntSelector - id: TechnologyDisk
id: WelderIndustrial - id: ResearchDisk5000
- !type:EntSelector - id: PetCarrier
id: SheetPlasteel10 - id: DrinkMopwataBottleRandom
- !type:EntSelector - id: LidSalami
id: ClothingMaskGasExplorer
- !type:EntSelector
id: TechnologyDisk
- !type:EntSelector
id: ResearchDisk5000
- !type:EntSelector
id: PetCarrier
- !type:EntSelector
id: DrinkMopwataBottleRandom
- !type:EntSelector
id: LidSalami
weight: 0.05 weight: 0.05
- type: entity - type: entity
@@ -498,62 +310,38 @@
- !type:GroupSelector - !type:GroupSelector
weight: 95 weight: 95
children: children:
- !type:EntSelector - id: Machete
id: Machete - id: BaseBallBat
- !type:EntSelector - id: CombatKnife
id: BaseBallBat - id: Spear
- !type:EntSelector - id: RifleStock
id: CombatKnife - id: ModularReceiver
- !type:EntSelector - id: HydroponicsToolScythe
id: Spear
- !type:EntSelector
id: RifleStock
- !type:EntSelector
id: ModularReceiver
- !type:EntSelector
id: HydroponicsToolScythe
# Rare Group # Rare Group
- !type:GroupSelector - !type:GroupSelector
weight: 5 weight: 5
children: children:
- !type:EntSelector - id: Lighter
id: Lighter - id: Matchbox
- !type:EntSelector - id: ClothingEyesBlindfold
id: Matchbox - id: ClothingMaskMuzzle
- !type:EntSelector - id: ClothingMaskGasSecurity
id: ClothingEyesBlindfold - id: ShardGlass
- !type:EntSelector
id: ClothingMaskMuzzle
- !type:EntSelector
id: ClothingMaskGasSecurity
- !type:EntSelector
id: ShardGlass
weight: 2 weight: 2
- !type:EntSelector - id: Syringe
id: Syringe - id: Mousetrap
- !type:EntSelector
id: Mousetrap
- !type:GroupSelector - !type:GroupSelector
weight: 2 weight: 2
children: children:
- !type:EntSelector - id: Brutepack1
id: Brutepack1 - id: Ointment1
- !type:EntSelector - id: Gauze1
id: Ointment1 - id: Bola
- !type:EntSelector - id: SurvivalKnife
id: Gauze1 - id: ScalpelShiv
- !type:EntSelector - id: Shiv
id: Bola - id: SawImprov
- !type:EntSelector - id: HydroponicsToolMiniHoe
id: SurvivalKnife
- !type:EntSelector
id: ScalpelShiv
- !type:EntSelector
id: Shiv
- !type:EntSelector
id: SawImprov
- !type:EntSelector
id: HydroponicsToolMiniHoe
- type: entity - type: entity
name: Maint Loot Spawner name: Maint Loot Spawner