← Core Game Mechanics Item Drops And Pickups Open Calculator →

Item Drops And Pickups

Author:IncognitoIncognito

Overview

The pickup system has three spawn sources:

  1. Pre-placed pickups — spawned at level load in designated spawn points, scaled by difficulty and player count

  2. Need-based spawns — driven by Necessity Calculators that evaluate what the team needs most and spawn items accordingly during gameplay

  3. Enemy death drops — controlled by the PICKUPSPAWNFROM_ENEMIES flag (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 PveMutatorEnemiesToEquipment stratagem 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:

  1. Team state — the raw need (health, ammo, armor, equipment levels)

  2. Proximity penalty — if a similar pickup already exists nearby, the score is reduced (prevents stacking)

  3. Cooldown — some pickup types have a minimum time between necessity spawns

  4. Difficulty bonus — at checkpoints, higher difficulties get a bonus to necessity scores (more likely to spawn needed items)

  5. Mutator modifiers — stratagem modifiers can add flat bonuses to necessity scores (e.g., PICKUP_NECESSITY bonus 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 calculation

  • abilitySlot = "INJECTOR" — tracks the injector ability slot

  • cooldown = 210 (from the SwappableHeal spawn desc) — 3.5 minute minimum between necessity-driven stim spawns

  • useProximityNecessityPenalty = True, searchRadius = 25 — won't spawn if a stim already exists within 25m

  • scannerTag = "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 primary

  • useProximityNecessityPenalty = True, searchRadius = 20 — won't spawn if an ammo pickup exists within 20m

  • scannerTag = "UsableAmmoCrate" — scans for nearby ammo crates

  • cooldown = 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 spawns

  • Difficulty 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 spawns

  • Equipment types spawn with equal weight: frag, shock, krak grenades, melta charge, and combat stimulants all weight 1


Stratagem Modifiers

PveMutatorEnemiesToEquipment

  • Enables PICKUPSPAWNFROM_ENEMIES flag — enemies drop pickups on death

  • Disables 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_BOOST flag

  • Temporal boosts are auto-pickup, apply TemporalBoost status effect

  • See findings/systems/temporal-boost.md for 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 manager

  • ssl\lootablesystem\pickupsmanager\pickupsdesclibrary.sso — Default pickup spawn descriptions (base counts, necessity calculators, weights)

  • ssl\lootablesystem\pickupsmanager\pickupsdesclibrary_hordemode.sso — Horde mode overrides

  • ssl\lootablesystem\pickupsmanager\pickupsdesclibrary_story.sso — Story mode overrides

  • ssl\lootablesystem\pickupsmanager\pickupsdesclibrary_pvp.sso — PvP mode overrides

  • ssl\lootablesystem\pickupsmanager\pickupsdesclibrarytacteam.sso — Tactical team overrides

  • ssl\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 scaling

  • ssl\lootablesystem\pickupsmanager\necessitycalculators\pickupnecessitycalculatormedical_item.sso — Stim/healing necessity

  • ssl\lootablesystem\pickupsmanager\necessitycalculators\pickupnecessitycalculatorammo.sso — Ammo necessity

  • ssl\lootablesystem\pickupsmanager\necessitycalculators\pickupnecessitycalculatorarmor_booster.sso — Armor necessity

  • ssl\lootablesystem\pickupsmanager\necessitycalculators\pickupnecessitycalculatorequip.sso — Equipment/grenade necessity

Spawn Influencers

  • ssl\lootablesystem\pickupsmanager\pickupcountinfluencers\pickupcountdifficulty_influencer.sso — Difficulty scaling for spawn counts

  • ssl\lootablesystem\pickupsmanager\pickupcountinfluencers\pickupcountplayers_influencer.sso — Player count scaling

Handlers

  • ssl\lootablesystem\pickupsmanager\pickupmanagerrespawn_handler.sso — Respawn rules per pickup type

  • ssl\lootablesystem\pickupsmanager\pickupmanagercheckpoint_handler.sso — Checkpoint replenishment rules

  • ssl\lootablesystem\pickupsmanager\pickupmanagernpcpickupsspawn_handler.sso — Enemy death drop configuration

  • ssl\lootablesystem\pickupsmanager\pickupmanagerstashablepickupshandler.sso — Stashable pickup handler

Mutators (Stratagem Modifiers)

  • ssl\player\mutators\gamemutatorsfactory.sso — Contains PveMutatorEnemiesToEquipment (enemy death drops) and PveMutatorBuffPickUp (temporal boosts)


SM2 Melee Calculator Calculate exact damage for any weapon, variant, and perk combination against any enemy on any difficulty.
Open Calculator →