feat: titres sélectionnables + prix revente forge inclus
All checks were successful
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 31s
All checks were successful
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 31s
Dashboard: titre actif affiché "« Champion »" + sélecteur avec tous les titres débloqués (achievements claimed avec rewardTitle). Header: titre visible à côté du level. Revente: prix inclut l'investissement forge (50% des coûts cumulés). Épée +5 (investissement 1900 or) → revente base + 950 au lieu de base seul. API client: ajout méthode PUT.
This commit is contained in:
@@ -153,7 +153,13 @@ export class ShopService {
|
||||
if (!charItem) throw new NotFoundException('Item non trouvé dans l\'inventaire');
|
||||
if (charItem.equipped) throw new BadRequestException('Déséquipez l\'item avant de le vendre');
|
||||
|
||||
const sellPrice = Math.floor(charItem.item.buyPrice * SELL_RATIO);
|
||||
// Prix de vente = base + investissement forge (coûts cumulés * 50%)
|
||||
const FORGE_GOLD_COST: Record<number, number> = { 1: 50, 2: 100, 3: 250, 4: 500, 5: 1000 };
|
||||
let forgeInvestment = 0;
|
||||
for (let i = 1; i <= charItem.forgeLevel; i++) {
|
||||
forgeInvestment += FORGE_GOLD_COST[i] ?? 0;
|
||||
}
|
||||
const sellPrice = Math.floor(charItem.item.buyPrice * SELL_RATIO + forgeInvestment * 0.5);
|
||||
|
||||
const char = await manager
|
||||
.getRepository(Character)
|
||||
|
||||
Reference in New Issue
Block a user