Item Drops And Pickups
Contents
OverviewPre-Placed PickupsThe Necessity SystemStratagem ModifiersRespawn RulesCheckpoint ReplenishmentWhat Each Pickup GivesGame FilesOverview
The pickup system has three spawn sources:
Pre-placed pickups — spawned at level load in designated spawn points, scaled by difficulty and player count
Need-based spawns — driven by Necessity Calculators that evaluate what the team needs most and spawn items accordingly during gameplay
Enemy death drops — controlled by the
PICKUPSPAWNFROM_ENEMIESflag (stratagem modifier) and the NPC pickup spawn handler. These are not available in PvE unless specific modifiers are enabled in Stratagems Mode.
Players can manipulate the Item Drop system to get desired items, like stims. Stims are most likely to drop when:
Team health is low (below 20% = max necessity score 5)
No existing stim pickup within 25m (no proximity penalty)
3.5+ minutes since last necessity-spawned stim (cooldown expired)
Lower difficulty (higher target replenishment %)
At a checkpoint (necessity bonus applied, min 1 stim guaranteed except Lethal)
Mutator active that boosts PICKUP_NECESSITY for heals
The
PveMutatorEnemiesToEquipmentstratagem is active (enemies can drop stims on death)
And Stims are less likely to drop when:
Team health is above 80% (necessity drops to 2, which may lose to ammo/equipment scores)
Stim pickup already exists within 25m (proximity penalty)
Less than 3.5 minutes since last necessity stim spawn (on cooldown)
Higher difficulty (lower target replenishment — Lethal is 8%)
Difficulty 5/Lethal: zero pre-placed stims, zero checkpoint minimum
Solo play (0.33x player count multiplier on pre-placed counts)
Other pickup types have higher necessity scores (ammo at 0% has score 5 and no cooldown, competes with stims)
The stim cooldown of 210 seconds (3.5 minutes) is the single biggest limiter. Even if your team is at 0% health, the system won't spawn a necessity stim if one was spawned less than 3.5 minutes ago. This is why stims can feel scarce in prolonged fights — the cooldown gate is strict.
Pre-Placed Pickups
These are the pickups placed in the level at the start of a game area. Counts are scaled by difficulty and player count.
Default (Operations) Mode
Pickup Type | Base Count | Diff 0 | Diff 1 | Diff 2 | Diff 3 | Diff 4 | Diff 5 | Droppable? |
|---|---|---|---|---|---|---|---|---|
Ammo Refill | 15 | 15 | 11.25 | 9 | 9 | 9 | 9 | Yes |
Revive Token | 6 | 6 | 4.5 | 3 | 1.8 | 1.8 | 1.8 | No |
Swappable Equip | 12 | 12 | 9 | 6 | 3.6 | 3.6 | 3.6 | Yes |
Swappable Heal (Stims) | 8 | 8 | 6 | 4 | 4 | 4 | 0 | Yes |
Usable Ammo Crate | 1 | 0 | 0 | 0 | 0 | 0 | 0 | No |
Primary Weapons | 20 | — | — | — | — | — | — | No |
Secondary Weapons | 10 | — | — | — | — | — | — | No |
Melee Weapons | 10 | — | — | — | — | — | — | No |
Dynamic Reward | 30 | 30 | 22.5 | 15 | 9 | 9 | 15 | No |
Note: The Usable Ammo Crate has a difficulty multiplier of 0x at all difficulties in the spawn-on-start configuration. Ammo crates are placed by level design, not by the spawn count system.
Note: At difficulty 5 (Lethal), stim pre-placement drops to 0 — no stims are pre-placed in the level. Players rely entirely on the necessity system and enemy drops.
Horde Mode Overrides
Pickup Type | Count | Notes |
|---|---|---|
Ammo Refill | 9 | Reduced from 15 |
Revive Token | 0 | Not spawned |
Swappable Equip | 6 | Reduced, destroyed when empty |
Swappable Heal | 3 | Reduced, destroyed when empty |
Weapons/Melee | 0 | Not spawned |
Usable Ammo Crate | 0 | Not spawned |
Player Count Scaling (Global Default)
Players | Multiplier |
|---|---|
1 | 0.33x |
2 | 0.66x |
3 | 1.0x |
Solo players get only a third of the pickups. Real players only (realPlayersOnly = True — bots don't count).
Difficulty Scaling (Global Default)
Difficulty | Multiplier |
|---|---|
1 (Average) | 1.1x |
2 (Substantial) | 1.0x |
3 (Hard) | 0.9x |
4 (Ruthless) | 0.7x |
The Necessity System
Each pickup type that can dynamically spawn has a Necessity Calculator that outputs a score. Higher scores mean the team needs that item more. The pickup manager uses these scores to decide what to spawn when a spawn opportunity arises (e.g., enemy death, checkpoint, respawn timer).
How Necessity Scores Are Calculated
Each calculator evaluates team state and outputs a score from 0 to 5 via a spline. The pickup manager compares scores across all pickup types and spawns the one with the highest necessity. Multiple factors modify the final score:
Team state — the raw need (health, ammo, armor, equipment levels)
Proximity penalty — if a similar pickup already exists nearby, the score is reduced (prevents stacking)
Cooldown — some pickup types have a minimum time between necessity spawns
Difficulty bonus — at checkpoints, higher difficulties get a bonus to necessity scores (more likely to spawn needed items)
Mutator modifiers — stratagem modifiers can add flat bonuses to necessity scores (e.g.,
PICKUP_NECESSITYbonus of +2)
Medical Item (Stim) Necessity
This is the calculator that determines when healing items spawn.
Team Health Score (necessityByTeamHealth):
Team Health % | Necessity Score |
|---|---|
0% | 5 (maximum urgency) |
20% | 5 (still maximum) |
80% | 2 |
100% | 2 |
200%+ | 0 (no need) |
The system looks at total team health. When the team is below 20% health, stim necessity is at max urgency (score 5). It stays elevated at score 2 until the team is fully healed, and only drops to 0 when health exceeds 200% (possible with overshield mechanics).
Additional parameters:
healthPerHealingItem = 50— each stim is valued at 50 HP for the necessity calculationabilitySlot = "INJECTOR"— tracks the injector ability slotcooldown = 210(from the SwappableHeal spawn desc) — 3.5 minute minimum between necessity-driven stim spawnsuseProximityNecessityPenalty = True,searchRadius = 25— won't spawn if a stim already exists within 25mscannerTag = "SwappableHeal"— scans for existing stim pickups in the area
Difficulty scaling for stim target replenishment (targetReplenishmentByDifficulty):
Difficulty | Level | Target Replenishment |
|---|---|---|
0 | Minimal | 50% |
1 | Average | 40% |
2 | Substantial | 30% |
3 | Hard | 20% |
4 | Ruthless | 15% |
5 | Lethal | 8% (from SwappableHeal spawn desc) |
This "target replenishment" represents the % of maximum stims the system tries to keep available. On Minimal, it tries to keep half the team's stim slots full. On Lethal, it aims for only 8%.
Stim type weights when a stim does spawn:
equipmenthealinginjector— weight 2 (twice as likely)equipmenthealingstim— weight 1
Ammo Necessity
Ammo Level Score (necessityByAmmo):
Ammo % | Necessity Score |
|---|---|
0% | 5 (maximum) |
20% | 4 |
80% | 2 |
100% | 1 (still some need — always has baseline) |
Ammo necessity never drops to 0 — even at full ammo, there's a baseline score of 1.
Additional parameters:
Tracks both PRIMARY and SECONDARY weapon ammo
secondaryWeightMod = 55— secondary ammo counts at 55% weight vs primaryuseProximityNecessityPenalty = True,searchRadius = 20— won't spawn if an ammo pickup exists within 20mscannerTag = "UsableAmmoCrate"— scans for nearby ammo cratescooldown = 0— no cooldown between ammo necessity spawns (can always spawn)
Armor Boost Necessity
Missing Team Armor Score (necessityByMissingTeamArmor):
Team Armor Missing | Necessity Score |
|---|---|
0% missing | 1 |
25% missing | 2.2 |
50% missing | 3.2 |
75% missing | 4 |
100% missing | 4.5 |
cooldown = 60— 60 second minimum between armor booster spawnsDifficulty scaling: 80% target at difficulties 0-2, drops to 33% at difficulties 3-4
Equipment (Grenade/Melta/Stim) Necessity
Equipment Level Score (necessityByEquip):
Equipment % | Necessity Score |
|---|---|
0-20% | 3 |
80%+ | 0 (no need) |
abilitySlot = "ROUTINE"— tracks the routine equipment slot (grenades, melta charges, etc.)cooldown = 30— 30 second minimum between equipment spawnsEquipment types spawn with equal weight: frag, shock, krak grenades, melta charge, and combat stimulants all weight 1
Stratagem Modifiers
PveMutatorEnemiesToEquipment
Enables
PICKUPSPAWNFROM_ENEMIESflag — enemies drop pickups on deathDisables pre-placed spawns for: Ammo Refill, Swappable Equip, Swappable Heal, Armor Refill, Dynamic Reward
Shifts the game from pre-placed pickups to enemy-drop-driven economy
PveMutatorNoAmmoCratesMoreAmmoRefills
Doubles ammo refill spawn amount (+100% PERCENT_MULT)
Adds +2 flat bonus to ammo necessity score
Same treatment for equipment: +100% spawn amount, +2 necessity
Removes ammo crate pre-placement
PveMutatorBuffPickUp (Temporal Boost)
Enables
PICKUPSPAWNTEMPORAL_BOOSTflagTemporal boosts are auto-pickup, apply
TemporalBooststatus effectSee
findings/systems/temporal-boost.mdfor details on what temporal boost does and enemy death drop rates
Respawn Rules
When pickups are consumed, the respawn handler can replenish them. Each type has min/max respawn amounts:
Pickup Type | Min Respawn | Max Respawn | Difficulty Scaling |
|---|---|---|---|
Ammo Refill | 2 | 4 | 1.0x at diff 0-1, 0.7x at diff 2+ |
Swappable Equip | 1 | 2 | Same |
Swappable Heal | 1 | 2 | Same |
Checkpoint Replenishment
At checkpoints, the system ensures minimum pickup counts and applies a difficulty-based necessity bonus:
Minimum pickup counts at checkpoints:
Pickup Type | Min Amount | Max Amount | Notes |
|---|---|---|---|
Swappable Heal | 1 (diff 0-4), 0 (diff 5) | 3 | No stim guarantee at Lethal |
Swappable Equip | 1 | 3 | |
Usable Ammo Crate | 1 | 1 |
Necessity Bonus by Difficulty (necessityBonusByDifficulty):
Difficulty | Necessity Bonus |
|---|---|
0 (Minimal) | -0.6 (penalty — less likely to spawn needed items) |
1 (Average) | 0 (neutral) |
2 (Substantial) | +0.5 |
3 (Hard) | +1.0 |
4 (Ruthless) | +1.0 |
5 (Lethal) | +1.0 |
On higher difficulties, the necessity bonus is higher, meaning the system is more generous about spawning what you need at checkpoints. This partially compensates for the reduced pre-placed counts and lower target replenishment values.
What Each Pickup Gives
From lootableobjectslibrary.sso:
Pickup | Effect | Loot Time | Notes |
|---|---|---|---|
Ammo Refill | 20% all ammo, 75% grenade launcher ammo | 0s (instant) | Excludes flamer ammo. Max 110 on level |
Usable Ammo Crate | 100% all ammo | 1s (channeled) | Excludes flamer and grenade. Unique per player |
Armor Refill | Full armor regen + invulnerability | 0s (instant) | Applies FullArmorRegen + ArmorPickupInvulnerability status effects |
Equip Refill | 100% ability energy | 0s (instant) | |
Revive Token | +1 revive token | 0.5s | |
Flamer Ammo | 50% flamer ammo | 0s (instant) | Flamer-specific pickup, only available in Campaign |
Supply Crate | (varies) | 2s | General crate |
Game Files
Core System
ssl\lootablesystem\pickupsmanager\pickup_manager.sso— Central pickup managerssl\lootablesystem\pickupsmanager\pickupsdesclibrary.sso— Default pickup spawn descriptions (base counts, necessity calculators, weights)ssl\lootablesystem\pickupsmanager\pickupsdesclibrary_hordemode.sso— Horde mode overridesssl\lootablesystem\pickupsmanager\pickupsdesclibrary_story.sso— Story mode overridesssl\lootablesystem\pickupsmanager\pickupsdesclibrary_pvp.sso— PvP mode overridesssl\lootablesystem\pickupsmanager\pickupsdesclibrarytacteam.sso— Tactical team overridesssl\lootablesystem\lootableobjects_library.sso— Master loot descriptions (what each pickup gives)ssl\lootablesystem\lootableobjects_category.sso— Loot categories
Necessity Calculators (Need-Based Spawning)
ssl\lootablesystem\pickupsmanager\necessitycalculators\pickupnecessitycalculatorbase.sso— Base calculator with difficulty scalingssl\lootablesystem\pickupsmanager\necessitycalculators\pickupnecessitycalculatormedical_item.sso— Stim/healing necessityssl\lootablesystem\pickupsmanager\necessitycalculators\pickupnecessitycalculatorammo.sso— Ammo necessityssl\lootablesystem\pickupsmanager\necessitycalculators\pickupnecessitycalculatorarmor_booster.sso— Armor necessityssl\lootablesystem\pickupsmanager\necessitycalculators\pickupnecessitycalculatorequip.sso— Equipment/grenade necessity
Spawn Influencers
ssl\lootablesystem\pickupsmanager\pickupcountinfluencers\pickupcountdifficulty_influencer.sso— Difficulty scaling for spawn countsssl\lootablesystem\pickupsmanager\pickupcountinfluencers\pickupcountplayers_influencer.sso— Player count scaling
Handlers
ssl\lootablesystem\pickupsmanager\pickupmanagerrespawn_handler.sso— Respawn rules per pickup typessl\lootablesystem\pickupsmanager\pickupmanagercheckpoint_handler.sso— Checkpoint replenishment rulesssl\lootablesystem\pickupsmanager\pickupmanagernpcpickupsspawn_handler.sso— Enemy death drop configurationssl\lootablesystem\pickupsmanager\pickupmanagerstashablepickupshandler.sso— Stashable pickup handler
Mutators (Stratagem Modifiers)
ssl\player\mutators\gamemutatorsfactory.sso— ContainsPveMutatorEnemiesToEquipment(enemy death drops) andPveMutatorBuffPickUp(temporal boosts)