diff --git a/src/commands/messages/game/mina.ts b/src/commands/messages/game/mina.ts index d13fb9e..4f347ab 100644 --- a/src/commands/messages/game/mina.ts +++ b/src/commands/messages/game/mina.ts @@ -103,14 +103,18 @@ export const command: CommandMessage = { }) .join("\n") : "• —"; - if ( - result.rewardModifiers?.fatigueCoinMultiplier != null && - result.rewardModifiers.fatigueCoinMultiplier < 1 - ) { - const pct = Math.round( - (1 - result.rewardModifiers.fatigueCoinMultiplier) * 100 - ); - rewardLines += `\n (⚠️ Fatiga -${pct}% monedas)`; + if (result.rewardModifiers?.baseCoinsAwarded != null) { + const { baseCoinsAwarded, coinsAfterPenalty, fatigueCoinMultiplier } = + result.rewardModifiers; + if ( + fatigueCoinMultiplier != null && + fatigueCoinMultiplier < 1 && + baseCoinsAwarded != null && + coinsAfterPenalty != null + ) { + const pct = Math.round((1 - fatigueCoinMultiplier) * 100); + rewardLines += `\n (⚠️ Fatiga: monedas base ${baseCoinsAwarded} → ${coinsAfterPenalty} (-${pct}%) )`; + } } const mobsLines = result.mobs.length ? result.mobs.map((m) => `• ${m}`).join("\n") diff --git a/src/commands/messages/game/pelear.ts b/src/commands/messages/game/pelear.ts index 472d4f8..abc53c3 100644 --- a/src/commands/messages/game/pelear.ts +++ b/src/commands/messages/game/pelear.ts @@ -113,14 +113,18 @@ export const command: CommandMessage = { }) .join("\n") : "• —"; - if ( - result.rewardModifiers?.fatigueCoinMultiplier != null && - result.rewardModifiers.fatigueCoinMultiplier < 1 - ) { - const pct = Math.round( - (1 - result.rewardModifiers.fatigueCoinMultiplier) * 100 - ); - rewardLines += `\n (⚠️ Fatiga -${pct}% monedas)`; + if (result.rewardModifiers?.baseCoinsAwarded != null) { + const { baseCoinsAwarded, coinsAfterPenalty, fatigueCoinMultiplier } = + result.rewardModifiers; + if ( + fatigueCoinMultiplier != null && + fatigueCoinMultiplier < 1 && + baseCoinsAwarded != null && + coinsAfterPenalty != null + ) { + const pct = Math.round((1 - fatigueCoinMultiplier) * 100); + rewardLines += `\n (⚠️ Fatiga: monedas base ${baseCoinsAwarded} → ${coinsAfterPenalty} (-${pct}%) )`; + } } const mobsLines = result.mobs.length ? result.mobs.map((m) => `• ${m}`).join("\n") diff --git a/src/commands/messages/game/pescar.ts b/src/commands/messages/game/pescar.ts index 1041d2b..b454cdf 100644 --- a/src/commands/messages/game/pescar.ts +++ b/src/commands/messages/game/pescar.ts @@ -99,14 +99,18 @@ export const command: CommandMessage = { }) .join("\n") : "• —"; - if ( - result.rewardModifiers?.fatigueCoinMultiplier != null && - result.rewardModifiers.fatigueCoinMultiplier < 1 - ) { - const pct = Math.round( - (1 - result.rewardModifiers.fatigueCoinMultiplier) * 100 - ); - rewardLines += `\n (⚠️ Fatiga -${pct}% monedas)`; + if (result.rewardModifiers?.baseCoinsAwarded != null) { + const { baseCoinsAwarded, coinsAfterPenalty, fatigueCoinMultiplier } = + result.rewardModifiers; + if ( + fatigueCoinMultiplier != null && + fatigueCoinMultiplier < 1 && + baseCoinsAwarded != null && + coinsAfterPenalty != null + ) { + const pct = Math.round((1 - fatigueCoinMultiplier) * 100); + rewardLines += `\n (⚠️ Fatiga: monedas base ${baseCoinsAwarded} → ${coinsAfterPenalty} (-${pct}%) )`; + } } const mobsLines = result.mobs.length ? result.mobs.map((m) => `• ${m}`).join("\n") diff --git a/src/game/minigames/types.ts b/src/game/minigames/types.ts index 7e43e02..73cdce3 100644 --- a/src/game/minigames/types.ts +++ b/src/game/minigames/types.ts @@ -66,6 +66,8 @@ export type RunResult = { rewardModifiers?: { fatigueCoinMultiplier?: number; // 0.85 si hay -15% fatigueMagnitude?: number; // magnitud original del efecto + baseCoinsAwarded?: number; // suma antes de aplicar multiplicador de fatiga + coinsAfterPenalty?: number; // suma final depositada en wallet }; };