loot-drop-system

star 1

Architecture blueprint for loot tables, world drop distribution, claim gating, drop perception, and loot-box compliance across open-world, ARPG, looter-shooter, and MMO games: layered weighted tables (shared sub-tables, null entries, guaranteed slots, recursive treasure classes, NoDrop player-scaling, ilvl/mlvl gating, magic find, conditionality via table selection and actor substitution), world distribution and respawn (one-time flags, per-node timestamps, the three revival policies, the never-on-screen invariant), the drop execution pipeline (scatter, despawn, the max-live-drops budget), claim gating and multiplayer loot distribution (kill-then-claim, personal vs FFA vs need/greed vs master-looter/loot-council, the verified co-op matrix, loot locks, idempotent claims), drop perception (the gambler's fallacy, pseudo-random distribution, shuffle-bags, drop ceremony, near-miss ethics, transparency), and regulatory compliance (China/Korea odds disclosure, Apple/Google policy, loot-box gambling law, server-autho

Firzus By Firzus schedule Updated 6/11/2026

name: loot-drop-system description: >- Architecture blueprint for loot tables, world drops, respawn, claim gating, multiplayer loot, drop perception, and loot-box compliance across open-world, ARPG, looter-shooter, and MMO games. Covers weighted tables, guaranteed drops, magic find, scatter/despawn, personal/FFA loot, pseudo-randomness, odds disclosure, and anti-cheat. Use when designing drops, chests, nodes, respawn, drop rates, or when loot despawns, RNG feels rigged, rewards conflict, or odds need disclosure.

Loot & Drop System

Build the loot layer of a game — layered tables, world distribution/respawn, the drop pipeline, claim gating, drop perception, and (for monetized random loot) regulatory compliance. The skill spans four traditions and tells you which patterns are shared:

  • Open-world (Genshin via Grasscutter drop data + verified co-op rules; BotW/TotK via datamined bdrop tables, ActorLimiter, revival policies).
  • ARPG / looter (Diablo II Treasure Classes, magic find, D3 smart loot, D4 drop pools, PoE rarity/quantity — the depth references).
  • Multiplayer/MMO (WoW loot-system history, Destiny 2 instanced drops, loot locks, master-looter vs personal vs group loot).
  • Monetized (drop-rate disclosure law, loot-box gambling classification, server-authoritative anti-cheat).

Excluded (separate skills): deterministic pity/bad-luck currency economies (progression-economy) and rolled item stat generation (substats live in inventory-equipment). This skill owns the drop event, not the item's stats.

The architecture rule

Tables are layered data, drops are budgeted world objects, a claim is a transaction — and in any monetized or online game the server rolls, never the client.

TABLES         weighted entries (integer weights) + null rows + sub-table refs
               + guaranteed slots; recursive (treasure classes); ilvl-gated
WORLD          one-time flags (never respawn) vs per-node timestamps vs
               policy-driven respawn; NOTHING respawns on screen
EXECUTION      data-driven scatter, settle-then-freeze, the max-live-drops budget
CLAIM          kill-then-claim; server-validated cost; per-player co-op state;
               idempotent (atomic flag+grant)

Reference map

File Covers
tables.md Layered weighted tables, the null entry, guaranteed slots, recursive treasure classes (D2), NoDrop player-scaling, ilvl/mlvl gating, magic find & rarity/quantity modifiers, conditionality (table selection, actor substitution), scaling without editing tables, the two datamined formats
distribution.md One-time placed vs spawned, per-node respawn timestamps, the three revival policies, the never-on-screen invariant, the execution pipeline (scatter, physics, pickup classes, despawn), the max-live-drops budget, rare-drop guards
claims-coop.md Kill-then-claim, server-validated cost, idempotent claims, the verified co-op matrix, multiplayer loot distribution models (personal/FFA/round-robin/need-greed/master-looter/loot-council/DKP), loot locks & weekly caps, anti-farm bounds
perception.md The gambler's fallacy and drought math, pseudo-random distribution (PRD) with the C-table, drop-side bad-luck protection, shuffle-bags, drop ceremony and the "beam of disappointment", near-miss ethics, transparency and "guaranteed within X"
compliance.md Drop-rate disclosure (China/Korea law, Apple/Google policy, ESRB/PEGI labels), loot-box gambling classification by jurisdiction, server-authoritative anti-cheat for rolls, seed/replay protection, audit logging, the Nexon drop-rate-lie fine, a compliance checklist
pitfalls.md 16 failure modes (symptom → cause → prevention) with real incidents (Weightgate, D3 gold dupe, Nexon, the despawned rare), debugging order, ship checklist

The co-op matrix (verified)

Decide instanced-vs-shared per category, explicitly — the shipped Genshin model is complete:

Category Rule
One-time world rewards (chests, oculi) host-only (guests can't interact — no loss possible)
Enemy drops, ore instanced per player (each sees their copy)
Plants/specialties shared (first-come; one harvest per session)
Energy-gated claims (bosses, ley lines) instanced per player — each claims with own resin; the boss respawns only after the LAST player claims

Full multiplayer distribution taxonomy (FFA / round-robin / need-greed / master-looter / loot-council / DKP) in claims-coop.md.

Build order (4 shippable tiers)

Tier 1 — Tables and rolling
- [ ] Layered table assets: weighted entries (integer weights), null rows,
      quantity ranges, sub-table refs, guaranteed slots
- [ ] Seeded per-system RNG stream (deterministic, serializable)
- [ ] Distribution tests: 10^6-roll chi-squared on REAL sampler output
- [ ] Server-side roll (or solo roll-at-spawn decision documented)
Tier 2 — World distribution
- [ ] One-time containers: persistent flags; atomic open
- [ ] Resource nodes: per-node timestamps; delay-insensitive cycles
- [ ] Reset policies per category + the never-on-screen check
Tier 3 — Execution pipeline
- [ ] Drop spawn: data-driven scatter, settle-then-freeze, water/edge policy
- [ ] Pickup classes (auto radius vs interact) + magnetism
- [ ] The live-drops budget: caps + oldest-eviction + rarity exemption
- [ ] Aggregated pickup feedback (hud-system); rarity beams/ceremony
Tier 4 — Claims, co-op, compliance
- [ ] Kill-then-claim: claimable objects, server-validated cost, per-player state
- [ ] The co-op matrix + the distribution model (personal/group/etc.)
- [ ] Perception: PRD or guaranteed-after-N if true-random feels "rigged"
- [ ] Monetized: published odds == rolled odds; audit log; regional gating

Key numbers (starting points — sourced anchors)

Parameter Value Anchor
BotW live-drops budget 10 items / 10 weapons / 20 enemy drops, oldest evicted, PriorityMaterial exempt datamine
BotW respawn blood moon ~168 min active (enemies); RevivalRandom 1%/60 s off-area (materials + ore) datamine
D2 act-boss picks 7 picks; NoDrop weight shrinks with player count wiki
D2 magic find effective = floor(Factor·MF/(Factor+MF)); Factor 250 U / 500 S / 600 R wiki
D3 smart loot ~85% class-tailored / ~15% random D3 2.0.1
PoE party scaling +10% IIQ / +40% IIR per member (other drops); killing-blow counts poewiki
Destiny 2 raid exotic base ~5% (1KV 10%); Eyes of Tomorrow → 100% pity @ ~20–30 clears community
PRD (Dota) listed 25% → C≈0.0847, guaranteed by 12th try; >50% nominal diverges from actual Dota 2 Wiki
Drought math 10% drop: P(0 in 20 kills) ≈ 12%; 0.5%: P(0 after 100) ≈ 60.6% math
Korea disclosure law mandatory in-game + online odds, % form, since 2024-03-22 Game Industry Promotion Act

Full sourced tables (with flagged "do-not-invent" gaps) in each reference file.

Engine mapping (summary)

Generic block Unity 6 UE5 (5.4+)
Tables SO entries ([SerializeReference] polymorphism), OnValidate weight totals DataTable + FDataTableRowHandle; Composite DataTables for overrides; Instanced Structs (5.5)
Sampling linear scan ≤~100 entries; alias method O(1) for huge tables — integer weights same; server rolls, client renders
RNG Unity.Mathematics.Random (seedable, per-system streams) FRandomStream (replicate results, not streams — call-order desync trap)
Drop spawning UnityEngine.Pool.ObjectPool<T>; impulse scatter no first-party actor pooling (subsystem pattern); runtime actors NOT unloaded by World Partition
Co-op Mirror/NGO ownership filtering server loot list + per-client RepNotify visibility

Full detail in the reference files.

Related skills

  • progression-economy — idempotent grants, RNG-state-in-save, data-version handshakes, energy (resin) as the claim currency, deterministic pity systems.
  • save-persistence — one-time flags, per-node timestamps, atomic claim writes.
  • world-time-weather — daily resets, the per-node real-time clocks.
  • enemy-ai-framework — tier substitution via the spawn director.
  • coop-session — the host-only/instanced/shared matrix is the loot side of its content rules.
  • inventory-equipment — rolled instances (roll-at-spawn) land in its item model; shares the server-authoritative dupe-prevention discipline.
  • open-world-streaming — drop lifetime vs cell lifecycle.
  • hud-system — aggregated pickup toasts, claim UI, rarity beams.
Install via CLI
npx skills add https://github.com/Firzus/agent-skills --skill loot-drop-system
Repository Details
star Stars 1
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator