Skip to content

Commit 10d4630

Browse files
committed
chore: rebalanced spectral exonorator
1 parent 898f2e9 commit 10d4630

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

src/commands/battle.ts

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -373,12 +373,12 @@ async function simulateBattleStep(
373373
const divineHeal = Math.floor(attacker.maxHp * 0.1);
374374
attacker.hp = Math.min(attacker.hp + divineHeal, attacker.maxHp);
375375
attacker.defense += 6;
376-
narration = `⭐ **${attacker.name}** prayed and received the labyrinth's divine intervention, healing ${divineHeal} HP and fortifying their body (+6 DEF)!`;
376+
narration = `⭐ **${attacker.name}** prayed and received the labyrinth's divine intervention, healing ${divineHeal} HP and fortifying their body! (+6 DEF)`;
377377
} else {
378378
const divineHeal = Math.floor(attacker.maxHp * 0.25);
379379
attacker.hp = Math.min(attacker.hp + divineHeal, attacker.maxHp);
380380
attacker.defense += 3;
381-
narration = `⭐ **${attacker.name}** prayed and received the labyrinth's divine intervention, healing ${divineHeal} HP and gaining resilience (+3 DEF)!`;
381+
narration = `⭐ **${attacker.name}** prayed and received the labyrinth's divine intervention, healing ${divineHeal} HP and gaining resilience! (+3 DEF)`;
382382
}
383383
break;
384384
case "Great Will":
@@ -422,6 +422,7 @@ async function simulateBattleStep(
422422
}`;
423423
break;
424424
case "Spectral Exonorator":
425+
const oldHp = attacker.hp;
425426
const tempHp = attacker.hp;
426427
attacker.hp = defender.hp;
427428
defender.hp = tempHp;
@@ -442,7 +443,20 @@ async function simulateBattleStep(
442443
attacker.speed = defender.speed;
443444
defender.speed = tempSpd;
444445

445-
narration = `👻 **${attacker.name}** uses Spectral Exonorator, swapping bodies and souls with **${defender.name}**!`;
446+
let bonusMsg = "";
447+
if (attacker.hp < oldHp) {
448+
attacker.attack += 2;
449+
bonusMsg = "(+2 ATK)";
450+
} else if (attacker.hp > oldHp) {
451+
attacker.defense += 2;
452+
bonusMsg = "(+2 DEF)";
453+
}
454+
455+
attacker.abilities = attacker.abilities.filter(
456+
(a) => a !== "Spectral Exonorator",
457+
);
458+
459+
narration = `👻 **${attacker.name}** uses Spectral Exonorator, swapping bodies and souls with **${defender.name}**! This ability is no longer available for **${attacker.name}**. ${bonusMsg}`;
446460
break;
447461
case "Axis Cleave":
448462
damage = Math.ceil(attacker.attack * 0.5);

0 commit comments

Comments
 (0)