From b66379d790d3c5395b431941e1acb0fd897d8921 Mon Sep 17 00:00:00 2001 From: shni Date: Thu, 9 Oct 2025 00:14:07 -0500 Subject: [PATCH] =?UTF-8?q?refactor:=20mejorar=20la=20legibilidad=20del=20?= =?UTF-8?q?c=C3=B3digo=20en=20los=20comandos=20de=20mina,=20pelear=20y=20p?= =?UTF-8?q?escar;=20ajustar=20formato=20en=20la=20funci=C3=B3n=20de=20dura?= =?UTF-8?q?bilidad=20de=20herramientas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/commands/messages/game/mina.ts | 14 +++++++++++--- src/commands/messages/game/pelear.ts | 17 +++++++++++++---- src/commands/messages/game/pescar.ts | 17 +++++++++++++---- src/commands/messages/game/toolinfo.ts | 5 +---- src/game/economy/service.ts | 3 ++- src/game/minigames/service.ts | 18 ++++++++++++++++-- 6 files changed, 56 insertions(+), 18 deletions(-) diff --git a/src/commands/messages/game/mina.ts b/src/commands/messages/game/mina.ts index 6cc0878..de9b2d4 100644 --- a/src/commands/messages/game/mina.ts +++ b/src/commands/messages/game/mina.ts @@ -138,10 +138,18 @@ export const command: CommandMessage = { return `${base} (agotada)${durabilityBar()}`; } if (result.tool.brokenInstance) { - return `${base} (se rompió una instancia, quedan ${result.tool.instancesRemaining}) (-${result.tool.durabilityDelta ?? 0} dur.)${durabilityBar()}`; + return `${base} (se rompió una instancia, quedan ${ + result.tool.instancesRemaining + }) (-${result.tool.durabilityDelta ?? 0} dur.)${durabilityBar()}`; } - const multi = result.tool.instancesRemaining && result.tool.instancesRemaining > 1 ? ` (x${result.tool.instancesRemaining})` : ""; - return `${base}${multi} (-${result.tool.durabilityDelta ?? 0} dur.)${durabilityBar()}`; + const multi = + result.tool.instancesRemaining && + result.tool.instancesRemaining > 1 + ? ` (x${result.tool.instancesRemaining})` + : ""; + return `${base}${multi} (-${ + result.tool.durabilityDelta ?? 0 + } dur.)${durabilityBar()}`; })() : "—"; diff --git a/src/commands/messages/game/pelear.ts b/src/commands/messages/game/pelear.ts index bd29846..899db83 100644 --- a/src/commands/messages/game/pelear.ts +++ b/src/commands/messages/game/pelear.ts @@ -142,11 +142,20 @@ export const command: CommandMessage = { }, { fallbackIcon: "🗡️" } ); - if (result.tool.broken) return `${base} (agotada)${durabilityBar()}`; + if (result.tool.broken) + return `${base} (agotada)${durabilityBar()}`; if (result.tool.brokenInstance) - return `${base} (se rompió una instancia, quedan ${result.tool.instancesRemaining}) (-${result.tool.durabilityDelta ?? 0} dur.)${durabilityBar()}`; - const multi = result.tool.instancesRemaining && result.tool.instancesRemaining > 1 ? ` (x${result.tool.instancesRemaining})` : ""; - return `${base}${multi} (-${result.tool.durabilityDelta ?? 0} dur.)${durabilityBar()}`; + return `${base} (se rompió una instancia, quedan ${ + result.tool.instancesRemaining + }) (-${result.tool.durabilityDelta ?? 0} dur.)${durabilityBar()}`; + const multi = + result.tool.instancesRemaining && + result.tool.instancesRemaining > 1 + ? ` (x${result.tool.instancesRemaining})` + : ""; + return `${base}${multi} (-${ + result.tool.durabilityDelta ?? 0 + } dur.)${durabilityBar()}`; })() : "—"; const combatSummary = (() => { diff --git a/src/commands/messages/game/pescar.ts b/src/commands/messages/game/pescar.ts index 4c0bbf7..cce95a7 100644 --- a/src/commands/messages/game/pescar.ts +++ b/src/commands/messages/game/pescar.ts @@ -128,11 +128,20 @@ export const command: CommandMessage = { }, { fallbackIcon: "🎣" } ); - if (result.tool.broken) return `${base} (agotada)${durabilityBar()}`; + if (result.tool.broken) + return `${base} (agotada)${durabilityBar()}`; if (result.tool.brokenInstance) - return `${base} (se rompió una instancia, quedan ${result.tool.instancesRemaining}) (-${result.tool.durabilityDelta ?? 0} dur.)${durabilityBar()}`; - const multi = result.tool.instancesRemaining && result.tool.instancesRemaining > 1 ? ` (x${result.tool.instancesRemaining})` : ""; - return `${base}${multi} (-${result.tool.durabilityDelta ?? 0} dur.)${durabilityBar()}`; + return `${base} (se rompió una instancia, quedan ${ + result.tool.instancesRemaining + }) (-${result.tool.durabilityDelta ?? 0} dur.)${durabilityBar()}`; + const multi = + result.tool.instancesRemaining && + result.tool.instancesRemaining > 1 + ? ` (x${result.tool.instancesRemaining})` + : ""; + return `${base}${multi} (-${ + result.tool.durabilityDelta ?? 0 + } dur.)${durabilityBar()}`; })() : "—"; const combatSummary = (() => { diff --git a/src/commands/messages/game/toolinfo.ts b/src/commands/messages/game/toolinfo.ts index 5b61976..a7baa6a 100644 --- a/src/commands/messages/game/toolinfo.ts +++ b/src/commands/messages/game/toolinfo.ts @@ -68,10 +68,7 @@ export const command: CommandMessage = { const durLines = instances.length ? instances .map((inst, idx) => { - const cur = Math.min( - Math.max(0, inst?.durability ?? max), - max - ); + const cur = Math.min(Math.max(0, inst?.durability ?? max), max); return `#${idx + 1} [${renderBar(cur)}] ${cur}/${max}`; }) .join("\n") diff --git a/src/game/economy/service.ts b/src/game/economy/service.ts index a19858d..ca97efb 100644 --- a/src/game/economy/service.ts +++ b/src/game/economy/service.ts @@ -164,7 +164,8 @@ export async function addItemByKey( // Inicializar durabilidad si corresponde const props = parseItemProps(item.props); const breakable = props.breakable; - const maxDurability = breakable?.enabled !== false ? breakable?.maxDurability : undefined; + const maxDurability = + breakable?.enabled !== false ? breakable?.maxDurability : undefined; for (let i = 0; i < canAdd; i++) { if (maxDurability && maxDurability > 0) { state.instances.push({ durability: maxDurability }); diff --git a/src/game/minigames/service.ts b/src/game/minigames/service.ts index 1a43e9e..c7b7126 100644 --- a/src/game/minigames/service.ts +++ b/src/game/minigames/service.ts @@ -222,7 +222,14 @@ async function reduceToolDurability( // Consideramos "rota" sólo si después de consumir ya no queda ninguna unidad broken = (updated.quantity ?? 0) <= 0; } - return { broken, brokenInstance: broken, delta, remaining: undefined, max: maxConfigured, instancesRemaining: broken ? 0 : (entry.quantity ?? 1) - 1 } as const; + return { + broken, + brokenInstance: broken, + delta, + remaining: undefined, + max: maxConfigured, + instancesRemaining: broken ? 0 : (entry.quantity ?? 1) - 1, + } as const; } const state = parseInvState(entry.state); state.instances ??= [{}]; @@ -259,7 +266,14 @@ async function reduceToolDurability( `[tool-break] user=${userId} guild=${guildId} toolKey=${toolKey}` ); } - return { broken, brokenInstance, delta, remaining: broken ? 0 : next, max, instancesRemaining } as const; + return { + broken, + brokenInstance, + delta, + remaining: broken ? 0 : next, + max, + instancesRemaining, + } as const; } export { reduceToolDurability };