Cities endpoint now returns map coordinates for the SVG map renderer.
Market endpoint includes basePrice so the client can compute price
trend deltas relative to the item base value.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Each mission type now has a typeConfig (moneyFactor, xpFactor, repFactor,
riskShift, requiredItemChance, lootChance). startMission checks minLevel.
claimMission awards loot items on success; applies a police-scaled fine
on failure. New abandonMission endpoint (POST /:id/abandon, −1 rep).
computeSuccessChance extracted for reuse between listAvailable and claim.
Narrative template pool expanded (4 templates × 4 types).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Set up authenticated Socket.IO server; broadcasts market updates,
world events, and mission notifications to connected clients in
real time.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add node-cron jobs for periodic market price updates, mission
generation, and world event generation; all wired through a central
scheduler module.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add routes and services for all game domains: market buy/sell with
dynamic pricing, mission generation and completion, player stats and
travel, inventory queries, leaderboard, city list, and world events.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implement registration and login endpoints with bcrypt password
hashing and JWT token issuance; all game routes depend on this.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>