agentsclimarketplace

Loot drop system

Skill Firzus/agent-skills/skills/game/loot-drop-system

Agent Skills for AI coding assistants

Install
npx -y skills add Firzus/agent-skills --skill loot-drop-system

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

7.8 KB, as published. Nobody here has run it

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

FileCovers
tables.mdLayered 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.mdOne-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.mdKill-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.mdThe 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.mdDrop-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.md16 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:

CategoryRule
One-time world rewards (chests, oculi)host-only (guests can't interact — no loss possible)
Enemy drops, oreinstanced per player (each sees their copy)
Plants/specialtiesshared (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)

ParameterValueAnchor
BotW live-drops budget10 items / 10 weapons / 20 enemy drops, oldest evicted, PriorityMaterial exemptdatamine
BotW respawnblood moon ~168 min active (enemies); RevivalRandom 1%/60 s off-area (materials + ore)datamine
D2 act-boss picks7 picks; NoDrop weight shrinks with player countwiki
D2 magic findeffective = floor(Factor·MF/(Factor+MF)); Factor 250 U / 500 S / 600 Rwiki
D3 smart loot~85% class-tailored / ~15% randomD3 2.0.1
PoE party scaling+10% IIQ / +40% IIR per member (other drops); killing-blow countspoewiki
Destiny 2 raid exoticbase ~5% (1KV 10%); Eyes of Tomorrow → 100% pity @ ~20–30 clearscommunity
PRD (Dota)listed 25% → C≈0.0847, guaranteed by 12th try; >50% nominal diverges from actualDota 2 Wiki
Drought math10% drop: P(0 in 20 kills) ≈ 12%; 0.5%: P(0 after 100) ≈ 60.6%math
Korea disclosure lawmandatory in-game + online odds, % form, since 2024-03-22Game Industry Promotion Act

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

Engine mapping (summary)

Generic blockUnity 6UE5 (5.4+)
TablesSO entries ([SerializeReference] polymorphism), OnValidate weight totalsDataTable + FDataTableRowHandle; Composite DataTables for overrides; Instanced Structs (5.5)
Samplinglinear scan ≤~100 entries; alias method O(1) for huge tables — integer weightssame; server rolls, client renders
RNGUnity.Mathematics.Random (seedable, per-system streams)FRandomStream (replicate results, not streams — call-order desync trap)
Drop spawningUnityEngine.Pool.ObjectPool<T>; impulse scatterno first-party actor pooling (subsystem pattern); runtime actors NOT unloaded by World Partition
Co-opMirror/NGO ownership filteringserver loot list + per-client RepNotify visibility

Full detail in the reference files.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.