Loadout
The player-facing page is Inventory. This chapter is the wiki writeup.
Loadout and inventory
What the player can do
From level select the player opens the inventory screen and equips owned weapons and spells into the profile loadout. At the start of a life, LevelState resolves that loadout through the item catalog into a ResolvedLoadout for the local seat. Hardcore replaces that resolved kit with the hardcore start before gameplay builds. Co-op seats use the kit on the match when one was sent; an empty local kit falls back to the saved loadout.
During the life, a shop gauntlet card or spell card equips onto that seat's live kit. IMidLifeGauntletEquip fills an empty secondary slot first, then an empty primary slot. When both slots are full, the purchase names a slot, or it is refused and the credits stay. IMidLifeSpellEquip puts the spell on the live roster for its category. Those commits do not write the profile.
A new profile is seeded from DefaultLoadoutConfig when the inventory is empty.
What ends it
Closing the inventory returns to level select. A shop equip lasts until the life ends. The next life resolves the profile loadout again.
What is saved
Inventory and the equipped loadout are on the profile save via IPlayerDataService. A mid-life shop equip is not that save. Hardcore is a choice on that run, stored on the match config for the life, and it does not replace the saved loadout.
Numbers
Generated snapshot
Loadout and inventory
Generated from the Unity project. Do not edit this file. Regenerate: Deep Forest Labs → Slumber → Wiki → Write snapshots, or call WikiSnapshot.WriteAll().
Owns
States
_None._
Service interfaces
ILevelUnlockService(DeepForestLabs.Slumber.Progression) —Assets/Scripts/Progression/ILevelUnlockService.csIPlayerDataService(DeepForestLabs.Slumber.Inventory.Services) —Assets/Scripts/Inventory/Services/IPlayerDataService.cs
Factories
InventoryScreenFactory(DeepForestLabs.Slumber.Inventory.Screen) —Assets/Scripts/Inventory/Screen/InventoryScreenFactory.cs
Config types
ArmorDefinition(DeepForestLabs.Slumber.Inventory) —Assets/Scripts/Inventory/ArmorDefinition.csDefaultLoadoutConfig(DeepForestLabs.Slumber.Inventory) —Assets/Scripts/Inventory/DefaultLoadoutConfig.csItemCatalog(DeepForestLabs.Slumber.Inventory) —Assets/Scripts/Inventory/ItemCatalog.cs
Enums
ArmorId
Assets/Scripts/Inventory/ArmorId.cs
- None = 0
EquipSlot
Assets/Scripts/Inventory/EquipSlot.cs
- WeaponPrimary = 0
- WeaponSecondary = 1
- SpellMovement = 2
- SpellOffensive = 3
- SpellSummon = 4
- SpellBuff = 5
- ArmorHead = 6
- ArmorTorso = 7
- ArmorHands = 8
- ArmorLegs = 9
- ArmorFeet = 10
- SpellSecondary = 11
InventoryFilter
Assets/Scripts/Inventory/Screen/Models/InventoryFilter.cs
- All = 0
- Weapons = 1
- Armor = 2
- Spells = 3
InventoryScreenModelId
Assets/Scripts/Inventory/Screen/Models/InventoryScreenModelId.cs
- Default = 0
InventoryScreenResult
Assets/Scripts/Inventory/Screen/Models/InventoryScreenResult.cs
- Close = 0
ItemRarity
Assets/Scripts/Inventory/ItemRarity.cs
- Common = 0
- Uncommon = 1
- Rare = 2
- Epic = 3
- Legendary = 4
ItemSlotType
Assets/Scripts/Inventory/ItemSlotType.cs
- Weapon = 0
- Spell = 1
- Armor = 2
Assets
InventoryScreenFactory
Assets/Data/_AssetData/Addressables/Slumber/InventoryScreen.asset
- _model - _id: Default - _name: `
- _filter: All - _selectedInstanceId:` - _view - _prefab - _mode: Resources - _resourcesPath:
Prefabs/Inventory- _guid: `` - _options - _downloadOptions: OnDemand - _loadOptions: OnDemand - _prewarm: false - _useCreate: false - _autoUnload: false - _prewarmCount: 0 - _maxPoolSize: 0 - _worldPositionStays: false - _control - _autoPromoteController: true - _defaultResult - _isValid: false - _error: `` - _value: Close - _skippable: -1
- _analytics - _suppressAnalyticsCalls: false - _str1: `
- _str2:- _str3:- _str4:- _str5:` - _hasAmount: false - _amount: 0 - _extraData (0) - _slotWidgetPrefab - _mode: Resources - _resourcesPath:
Prefabs/InventorySlot- _guid: ``
DefaultLoadoutConfig
Assets/Data/_AssetData/Addressables/DeepForestLabs/Slumber/DefaultLoadout.asset
- _weapons (8) - [0] - _itemId:
Halo- _slot: WeaponSecondary - [1] - _itemId:Maelstrom- _slot: WeaponPrimary - [2] - _itemId:Chopper- _slot: WeaponPrimary - [3] - _itemId:Conduit- _slot: WeaponPrimary - [4] - _itemId:Lobber- _slot: WeaponSecondary - [5] - _itemId:Rocket- _slot: WeaponSecondary - [6] - _itemId:Auto- _slot: WeaponPrimary - [7] - _itemId:Shotgun- _slot: WeaponSecondary - _spells (5) - [0] - _itemId:
ground_slam- _slot: SpellSecondary - [1] - _itemId:sin_shard- _slot: SpellSummon - [2] - _itemId:blackhole- _slot: SpellOffensive - [3] - _itemId:greed- _slot: SpellBuff - [4] - _itemId:dash- _slot: SpellMovement
Assets/Data/_AssetData/Addressables/DeepForestLabs/Slumber/DefaultLoadout_1.asset
- _weapons (1) - [0] - _itemId:
Auto- _slot: WeaponPrimary - _spells (1) - [0] - _itemId:
dash- _slot: SpellMovement
ItemCatalog
Assets/Data/_AssetData/Addressables/DeepForestLabs/Slumber/ItemCatalog.asset
- _weapons (9) - [0]: Assets/Data/_AssetData/Addressables/Slumber/Auto_WeaponDefinition.asset - [1]: Assets/Data/_AssetData/Addressables/Slumber/Shotgun_WeaponDefinition.asset - [2]: Assets/Data/_AssetData/Addressables/Slumber/Rocket_WeaponDefinition.asset - [3]: Assets/Data/_AssetData/Addressables/Slumber/Halo_WeaponDefinition.asset - [4]: Assets/Data/_AssetData/Addressables/Slumber/Maelstrom_WeaponDefinition.asset - [5]: Assets/Data/_AssetData/Addressables/Slumber/Chopper_WeaponDefinition.asset - [6]: Assets/Data/_AssetData/Addressables/Slumber/Conduit_WeaponDefinition.asset - [7]: Assets/Data/_AssetData/Addressables/Slumber/Lobber_WeaponDefinition.asset - [8]: Assets/Data/_AssetData/Addressables/Slumber/Flood_WeaponDefinition.asset
- _spells (11) - [0] - _itemId:
dash- _displayName:Dash- _rarity: Common - _itemLevel: 1 - _sellValue: 0 - _icon: Assets/Art/DemonsDungeon/UI/SpellIcons/Dash.png - _spellId: Dash - _category: Movement - _factory: Assets/Data/_AssetData/Addressables/Slumber/DashSpell.asset - [1] - _itemId:sin_shard- _displayName:Sin Shard- _rarity: Common - _itemLevel: 1 - _sellValue: 0 - _icon: Assets/Art/DemonsDungeon/UI/SpellIcons/SinShard.png - _spellId: SinShard - _category: Summon - _factory: Assets/Data/_AssetData/Addressables/Slumber/SinShardSpell.asset - [2] - _itemId:blackhole- _displayName:Blackhole- _rarity: Common - _itemLevel: 1 - _sellValue: 0 - _icon: Assets/Art/DemonsDungeon/UI/SpellIcons/Blackhole.png - _spellId: Blackhole - _category: Offensive - _factory: Assets/Data/_AssetData/Addressables/Slumber/BlackholeSpell.asset - [3] - _itemId:ghost- _displayName:Ghost- _rarity: Common - _itemLevel: 1 - _sellValue: 0 - _icon: Assets/Art/DemonsDungeon/UI/SpellIcons/Ghost.png - _spellId: Ghost - _category: Buff - _factory: Assets/Data/_AssetData/Addressables/Slumber/GhostSpell.asset - [4] - _itemId:greed- _displayName:Greed- _rarity: Common - _itemLevel: 1 - _sellValue: 0 - _icon: Assets/Art/DemonsDungeon/UI/SpellIcons/Greed.png - _spellId: Greed - _category: Buff - _factory: Assets/Data/_AssetData/Addressables/Slumber/GreedSpell.asset - [5] - _itemId:ground_slam- _displayName:Ground Pound- _rarity: Common - _itemLevel: 1 - _sellValue: 0 - _icon: Assets/Art/DemonsDungeon/UI/SpellIcons/GroundPound.png - _spellId: GroundSlam - _category: Secondary - _factory: Assets/Data/_AssetData/Addressables/Slumber/GroundSlamSpell.asset - [6] - _itemId:pyrosphere- _displayName:Pyrosphere- _rarity: Common - _itemLevel: 1 - _sellValue: 0 - _icon: Assets/Art/DemonsDungeon/UI/SpellIcons/Pyrosphere.png - _spellId: Pyrosphere - _category: Offensive - _factory: Assets/Data/_AssetData/Addressables/Slumber/PyrosphereSpell.asset - [7] - _itemId:blowback- _displayName:Blowback Blast- _rarity: Common - _itemLevel: 1 - _sellValue: 0 - _icon: Assets/Art/DemonsDungeon/UI/SpellIcons/BlowbackBlast.png - _spellId: Blowback - _category: Offensive - _factory: Assets/Data/_AssetData/Addressables/Slumber/BlowbackSpell.asset - [8] - _itemId:distraction- _displayName:False Idol- _rarity: Common - _itemLevel: 1 - _sellValue: 0 - _icon: Assets/Art/DemonsDungeon/UI/SpellIcons/FalseIdol.png - _spellId: Distraction - _category: Summon - _factory: Assets/Data/_AssetData/Addressables/Slumber/DistractionSpell.asset - [9] - _itemId:freeze_over- _displayName:Frozen Over- _rarity: Common - _itemLevel: 1 - _sellValue: 0 - _icon: Assets/Art/DemonsDungeon/UI/SpellIcons/FrozenOver.png - _spellId: FreezeOver - _category: Offensive - _factory: Assets/Data/_AssetData/Addressables/Slumber/FreezeOverSpell.asset - [10] - _itemId:demonic_betrayal- _displayName:Demonic Betrayal- _rarity: Common - _itemLevel: 1 - _sellValue: 0 - _icon: Assets/Art/DemonsDungeon/UI/SpellIcons/DemonicBetrayal.png - _spellId: DemonicBetrayal - _category: Summon - _factory: Assets/Data/_AssetData/Addressables/Slumber/DemonicBetrayalSpell.asset - _armors (0)
Wired in
Assets/Scripts/Factories/PlayerContainerFactory.csmentionsILevelUnlockServiceAssets/Scripts/Factories/PlayerContainerFactory.csmentionsIPlayerDataServiceAssets/Scripts/Factories/PlayerContainerFactory.csmentionsInventoryScreenFactoryAssets/Scripts/Factories/SessionContainerFactory.csmentionsDefaultLoadoutConfigAssets/Scripts/Factories/SessionContainerFactory.csmentionsItemCatalogAssets/Scripts/Inventory/Screen/InventoryScreenFactory.csmentionsInventoryScreenModelIdAssets/Scripts/Inventory/Screen/InventoryScreenFactory.csmentionsInventoryScreenResultAssets/Scripts/Spells/SpellLoadoutFactory.csmentionsItemCatalog