PURPOSE

Static configuration module exposing the constants that define the weapon-slot taxonomy and the player-level XP curve. Pure data, no behavior.

OWNS

  • WEAPON_SLOT_TYPES: ordered list of slot category strings — forward, seeking, area, special.
  • MAX_WEAPON_SLOTS: cap on equipped weapons.
  • MAX_NON_WEAPON_SLOTS: cap on equipped non-weapon items.
  • MAX_TOTAL_SLOTS: aggregate equip cap.
  • WEAPON_BOX_SIT_TIME: seconds a weapon pickup box lingers before despawn / auto-collect.
  • XP_BASE: XP required to reach level 2 (curve anchor).
  • XP_SCALE: geometric multiplier applied to each subsequent level’s XP requirement.
  • LEVEL_UP_CHOICES: number of upgrade options offered per level-up.
  • SCALING_DIMINISH_K: diminishing-returns constant used by stat-scaling math.

READS FROM

Nothing. No imports, no dependencies.

PUSHES TO

Nothing directly. Constants are consumed by downstream callers (level/XP systems, slot-management UI, weapon-box pickup logic, scaling math). This file does not invoke them.

DOES NOT

  • Define weapon stats, IDs, or behavior.
  • Compute XP thresholds, level-up choices, or scaling curves.
  • Hold runtime state.
  • Mutate any of its exported values.

Signals

None. Module emits no events and subscribes to none.

Entry points

Per-symbol export const declarations. Importers reach in by name; there is no default export and no factory function.

Pattern notes

  • “Content in data tables, behavior in code” — pure constants file, deliberately small.
  • Every magic number used by the leveling and slot systems is named here so callers never inline literals.
  • XP_BASE (84) + XP_SCALE (1.15) together define the XP curve as a geometric series.
  • SCALING_DIMINISH_K (10) is shared by any stat that uses the standard diminishing-returns formula — keeping it here ensures one source of truth across systems.
  • File name uses a leading underscore prefix, marking it as a config fragment intended for grouped import rather than a standalone module.