$ node --test packages/game-data/tests/economy.test.mjs # cwd /Users/king/Desktop/Workspace/SRO/zoen # exit 0 TAP version 13 # Subtest: 11 equipment slots: helmet, main hand, off hand, gloves, boots, armour, belt, necklace, earring, 2 rings ok 1 - 11 equipment slots: helmet, main hand, off hand, gloves, boots, armour, belt, necklace, earring, 2 rings --- duration_ms: 15.101667 type: 'test' ... # Subtest: rarity is the affix count; affix tiers climb T5 < T4 < T3 ok 2 - rarity is the affix count; affix tiers climb T5 < T4 < T3 --- duration_ms: 9.964625 type: 'test' ... # Subtest: example items are legal: affix count = rarity, ≤3 prefixes/suffixes, slot, tier by ilvl, value in range, sockets ≤ cap ok 3 - example items are legal: affix count = rarity, ≤3 prefixes/suffixes, slot, tier by ilvl, value in range, sockets ≤ cap --- duration_ms: 2.983875 type: 'test' ... # Subtest: orbs and shards stack to 999 and have icons; gems have icons ok 4 - orbs and shards stack to 999 and have icons; gems have icons --- duration_ms: 26.101375 type: 'test' ... # Subtest: consumables: potions, cleanses, elixirs, food and the travel/speed/reset scrolls exist; vendors are real NPCs ok 5 - consumables: potions, cleanses, elixirs, food and the travel/speed/reset scrolls exist; vendors are real NPCs --- duration_ms: 4.025292 type: 'test' ... # Subtest: materials: exactly 2 per monster, wired into bestiary drops, sell for gold ok 6 - materials: exactly 2 per monster, wired into bestiary drops, sell for gold --- duration_ms: 11.584375 type: 'test' ... # Subtest: mounts: four desert mounts at 10/20/30/40, faster and pricier each step ok 7 - mounts: four desert mounts at 10/20/30/40, faster and pricier each step --- duration_ms: 0.267958 type: 'test' ... # Subtest: vendors: blacksmith sells only real white bases; every vendor NPC exists ok 8 - vendors: blacksmith sells only real white bases; every vendor NPC exists --- duration_ms: 0.462833 type: 'test' ... # Subtest: rulesets: alpha is the live game × multipliers (no custom kit); keys are single-use ok 9 - rulesets: alpha is the live game × multipliers (no custom kit); keys are single-use --- duration_ms: 3.118875 type: 'test' ... # Subtest: inventory window contract: 11 slots on a 12×7 grid without overlap, weapons 2×6, armour 2×3, belt 2×1, bag 12×5 ok 10 - inventory window contract: 11 slots on a 12×7 grid without overlap, weapons 2×6, armour 2×3, belt 2×1, bag 12×5 --- duration_ms: 7.793292 type: 'test' ... # Subtest: round 5: orbs coloured by rarity, gems by socket colour (Jade Caravan rule) ok 11 - round 5: orbs coloured by rarity, gems by socket colour (Jade Caravan rule) --- duration_ms: 14.516166 type: 'test' ... # Subtest: round 5: every published equipment icon has inventory fit data (tools/build-icon-fit.py) ok 12 - round 5: every published equipment icon has inventory fit data (tools/build-icon-fit.py) --- duration_ms: 26.271167 type: 'test' ... # Subtest: round 7: every stackable drop class rolls a random quantity; the market stays capped, bound and helper-only ok 13 - round 7: every stackable drop class rolls a random quantity; the market stays capped, bound and helper-only --- duration_ms: 23.3505 type: 'test' ... 1..13 # tests 13 # suites 0 # pass 13 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 2831.368083