Item system overhaul: rarity bands, per-item caps, source pools + 14 new passives
- Add ITEM_RARITY (common/uncommon/rare/legendary) with per-item tier caps - Weighted pools per source: elites favour common, item rooms uncommon, bosses rare/legendary; legendaries are boss-exclusive; capped items excluded - Rarity-weighted powerScore so deep common stacks inflate difficulty less - Differentiate duplicates: Grafted Trigger, Crow Bait, Hollow Bones, Twin Hearts - 14 new clean passives incl. Chill Gland (activates slowOnHit) and Hooked Sinew (activates magnetPull); revive magnetPull in pickups - Rarity-tinted pedestal glow + nameplates, rarity-sorted HUD implant tray, dynamic help implant pages (8 -> 9) - Generate 14 item icons via gen_assets.py; bump asset cache to v=38 - Update smoke tests for 60 items, per-item caps, pools, weighted power
This commit is contained in:
1 parent
a02cff52cf
commit
4f46d54e99
28 files changed
+356
-187
No files matched your search
@@ -109,7 +109,9 @@ function drawHUD(ctx) {
|
||||
ctx.fillText(holsterEmpty ? 'NEEDS AMMO' : Math.ceil(p.holstered.ammo) + ' AMMO', 289, 125 + vOff);
|
||||
}
|
||||
|
||||
const allItemEntries = Object.entries(p.items);
|
||||
const rarityRank = { legendary: 0, rare: 1, uncommon: 2, common: 3 };
|
||||
const allItemEntries = Object.entries(p.items).sort((a, b) =>
|
||||
(rarityRank[ITEMS[a[0]].rarity] - rarityRank[ITEMS[b[0]].rarity]) || (b[1] - a[1]));
|
||||
const maxVisibleItems = allItemEntries.length > 24 ? 23 : 24;
|
||||
const itemEntries = allItemEntries.slice(0, maxVisibleItems);
|
||||
if (itemEntries.length) {
|
||||
|
||||
Reference in new issue
Block a user