docs: update READMEs for new features
Document SVG map, mission improvements (chips, chance bar, abandon, loot, fine), market trend tags, leaderboard live updates, and the new abandon API endpoint. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+2
-2
@@ -26,9 +26,9 @@ Se il server non è su `localhost:3000`, crea un `.env` da `.env.example` con `V
|
|||||||
- **Login/Registrazione** — JWT salvato in localStorage.
|
- **Login/Registrazione** — JWT salvato in localStorage.
|
||||||
- **Covo** (home) — profilo, denaro, reputazione, barra XP, città corrente, eventi attivi, accesso alle classifiche, logout.
|
- **Covo** (home) — profilo, denaro, reputazione, barra XP, città corrente, eventi attivi, accesso alle classifiche, logout.
|
||||||
- **Mercato** — listino della città corrente (prezzo acquisto/vendita), eventi che influenzano i prezzi, modale compra/vendi con quantità; si auto-aggiorna a ogni tick del server via `market:updated`.
|
- **Mercato** — listino della città corrente (prezzo acquisto/vendita), eventi che influenzano i prezzi, modale compra/vendi con quantità; si auto-aggiorna a ogni tick del server via `market:updated`.
|
||||||
- **Missioni** — missioni attive con countdown e riscossione (esito successo/fallimento con ricompense), missioni disponibili con difficoltà, rischio, durata e merce richiesta.
|
- **Missioni** — descrizioni narrative, chip per tipo, barra della probabilità di successo stimata, requisito di livello (lucchetto), bottino in merce, abbandono; attive con countdown e riscossione (esito con premi, bottino o multa).
|
||||||
- **Zaino** — inventario con quantità e peso totale.
|
- **Zaino** — inventario con quantità e peso totale.
|
||||||
- **Città** — elenco città con rischio, economia e costo viaggio.
|
- **Città** — mappa SVG stilizzata dell'Italia con marker cliccabili (colore = rischio, pulsazione = città corrente, ⚡ = evento attivo) e pannello viaggio; lista compatta come fallback.
|
||||||
- **Classifiche** — denaro e reputazione.
|
- **Classifiche** — denaro e reputazione.
|
||||||
|
|
||||||
## Realtime
|
## Realtime
|
||||||
|
|||||||
+5
-4
@@ -61,9 +61,10 @@ Tutte le route tranne register/login richiedono `Authorization: Bearer <jwt>`.
|
|||||||
| GET | `/market/current` | listino della città corrente + eventi attivi |
|
| GET | `/market/current` | listino della città corrente + eventi attivi |
|
||||||
| POST | `/market/buy` · `/market/sell` | `{itemId, quantity}` — prezzi decisi dal server |
|
| POST | `/market/buy` · `/market/sell` | `{itemId, quantity}` — prezzi decisi dal server |
|
||||||
| GET | `/inventory` | inventario con peso totale |
|
| GET | `/inventory` | inventario con peso totale |
|
||||||
| GET | `/missions/available` | missioni nella città corrente |
|
| GET | `/missions/available` | missioni nella città corrente, con probabilità di successo stimata e requisito di livello |
|
||||||
| POST | `/missions/:missionId/start` | avvia (consuma subito gli item richiesti) |
|
| POST | `/missions/:missionId/start` | avvia (verifica livello, consuma subito gli item richiesti) |
|
||||||
| POST | `/missions/:playerMissionId/claim` | riscuote: successo/fallimento calcolato dal server |
|
| POST | `/missions/:playerMissionId/claim` | riscuote: successo (premi + bottino) o fallimento (multa) |
|
||||||
|
| POST | `/missions/:playerMissionId/abandon` | abbandona una missione attiva (−1 reputazione) |
|
||||||
| GET | `/missions/active` | missioni in corso |
|
| GET | `/missions/active` | missioni in corso |
|
||||||
| GET | `/events/current` | eventi mondo attivi |
|
| GET | `/events/current` | eventi mondo attivi |
|
||||||
| GET | `/leaderboard/money` · `/leaderboard/reputation` | classifiche (Redis), `?limit=N` |
|
| GET | `/leaderboard/money` · `/leaderboard/reputation` | classifiche (Redis), `?limit=N` |
|
||||||
@@ -82,7 +83,7 @@ I parametri citati sono tutti in `gameBalance.ts`.
|
|||||||
|
|
||||||
- **Mercato** (`rawPrice = basePrice * economyModifier * demand / max(supply, 0.25) * eventModifier`): buy = raw×1.12, sell = raw×0.88, limiti [0.35×, 3.5×] del prezzo base. Acquisti/vendite spostano domanda/offerta; ogni minuto il mercato decade verso l'equilibrio (fattore 0.98).
|
- **Mercato** (`rawPrice = basePrice * economyModifier * demand / max(supply, 0.25) * eventModifier`): buy = raw×1.12, sell = raw×0.88, limiti [0.35×, 3.5×] del prezzo base. Acquisti/vendite spostano domanda/offerta; ogni minuto il mercato decade verso l'equilibrio (fattore 0.98).
|
||||||
- **Viaggio**: `costo = 50 + riskLevel(destinazione) × 25`.
|
- **Viaggio**: `costo = 50 + riskLevel(destinazione) × 25`.
|
||||||
- **Missioni**: `successo = 0.95 − risk×0.6 + livello×0.01 + reputazione×0.0005 − (pressione polizia−1)×0.05`, limitato a [5%, 95%]. Successo: denaro + XP + reputazione (+2×difficoltà). Fallimento: −3 reputazione (mai sotto 0). Massimo 3 missioni attive per giocatore.
|
- **Missioni**: `successo = 0.95 − risk×0.6 + livello×0.01 + reputazione×0.0005 − (pressione polizia−1)×0.05`, limitato a [5%, 95%]; la stessa stima è esposta al client in `/missions/available`. Ogni tipo ha un carattere (`typeConfig`): Consegna trasporta merce, Furto paga meno ma dà bottino in merce, Contrabbando paga molto e rischia di più, Informazioni dà XP e reputazione doppia. Difficoltà alte richiedono un livello minimo. Successo: denaro + XP + reputazione + eventuale bottino. Fallimento: −3 reputazione e multa (30% del premio × pressione polizia, mai oltre il denaro posseduto). Una missione attiva può essere abbandonata (`POST /missions/:id/abandon`, −1 reputazione, merce consumata persa). Massimo 3 missioni attive per giocatore.
|
||||||
- **XP**: per passare dal livello L a L+1 servono `100 × L^1.5` XP.
|
- **XP**: per passare dal livello L a L+1 servono `100 × L^1.5` XP.
|
||||||
- **Eventi**: ogni 15 min possibile evento locale (25%), ogni ora possibile evento globale (20%); modificano prezzi e pressione di polizia finché attivi.
|
- **Eventi**: ogni 15 min possibile evento locale (25%), ogni ora possibile evento globale (20%); modificano prezzi e pressione di polizia finché attivi.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user