Release Healer Man 0.1.45
This commit is contained in:
1 parent
756ee4f64a
commit
f82daf1c13
242 files changed
+1440
-101
No files matched your search
+23
-6
@@ -113,6 +113,12 @@ function describeEffect(effect: EnemyAbilityEffect | undefined, attack: EnemyAtt
|
||||
return `${titleCase(attack.school)} damage to ${target} (${Number(multiplier.toFixed(2))}× boss power)`;
|
||||
}
|
||||
if (effect.kind === "heal") return `Heals ${target} for ${effect.multiplier}× boss power`;
|
||||
if (effect.kind === "leech") {
|
||||
return `Drains ${target} for ${effect.damageMultiplier}× boss power and heals the caster for ${effect.healMultiplier}× boss power`;
|
||||
}
|
||||
if (effect.kind === "composite") {
|
||||
return effect.effects.map((entry) => describeEffect(entry, attack)).join("; ");
|
||||
}
|
||||
if (effect.kind === "aura") {
|
||||
if (effect.meleeAutoCriticalProc) {
|
||||
const proc = effect.meleeAutoCriticalProc;
|
||||
@@ -131,6 +137,7 @@ function describeEffect(effect: EnemyAbilityEffect | undefined, attack: EnemyAtt
|
||||
return `${damage}${titleCase(effect.mechanic)} controls ${target} for ${seconds(effect.durationMs)}`;
|
||||
}
|
||||
if (effect.kind === "transform") return `Transforms ${target} into ${titleCase(effect.form)}`;
|
||||
if (effect.kind === "pull") return `Pulls ${target} to the boss`;
|
||||
if (effect.kind === "summon") return `Summons ${effect.count} add${effect.count === 1 ? "" : "s"} (creature ${effect.creatureEntry})`;
|
||||
if (effect.kind === "call-for-help") return `Calls hostile allies within ${effect.radius}m into combat`;
|
||||
return `Advances encounter event “${effect.eventId}”`;
|
||||
@@ -139,12 +146,17 @@ function describeEffect(effect: EnemyAbilityEffect | undefined, attack: EnemyAtt
|
||||
function describeTelegraph(telegraph: EnemyAttackTelegraph | undefined, attack: EnemyAttackDefinition): string {
|
||||
if (!telegraph) {
|
||||
const warning = (attack.castTimeMs ?? 0) > 0 ? ` with a ${seconds(attack.castTimeMs!)} cast warning` : "";
|
||||
return attack.effect?.kind === "heal"
|
||||
|| attack.effect?.kind === "aura"
|
||||
|| attack.effect?.kind === "transform"
|
||||
|| attack.effect?.kind === "summon"
|
||||
|| attack.effect?.kind === "call-for-help"
|
||||
|| attack.effect?.kind === "encounter-event"
|
||||
const effects = attack.effect?.kind === "composite"
|
||||
? attack.effect.effects
|
||||
: attack.effect ? [attack.effect] : [];
|
||||
return effects.length > 0 && effects.every((effect) => (
|
||||
effect.kind === "heal"
|
||||
|| effect.kind === "aura"
|
||||
|| effect.kind === "transform"
|
||||
|| effect.kind === "summon"
|
||||
|| effect.kind === "call-for-help"
|
||||
|| effect.kind === "encounter-event"
|
||||
))
|
||||
? `No harmful ground area${warning}`
|
||||
: `Targeted mechanic; no ground area${warning}`;
|
||||
}
|
||||
@@ -160,12 +172,17 @@ function describeTelegraph(telegraph: EnemyAttackTelegraph | undefined, attack:
|
||||
|
||||
function effectFollowup(effect: EnemyAbilityEffect | undefined): string {
|
||||
if (!effect) return "Heal the affected party members after it resolves.";
|
||||
if (effect.kind === "composite") {
|
||||
return [...new Set(effect.effects.map((entry) => effectFollowup(entry)))].join(" ");
|
||||
}
|
||||
if (effect.kind === "leech") return "Limit the drain with mitigation and recover the health it steals.";
|
||||
if (effect.kind === "control") return "Stabilize the controlled player and remove the control if an available ability allows it.";
|
||||
if (effect.kind === "target-aura") return "Watch the affected player's debuff and respond with healing or removal if the effect permits it.";
|
||||
if (effect.kind === "summon") return "Swap damage to the summoned adds and keep them away from vulnerable party members.";
|
||||
if (effect.kind === "heal") return "Interrupt the heal when possible; otherwise plan for the boss to recover health.";
|
||||
if (effect.kind === "call-for-help") return "Clear or control nearby enemies before this ability resolves.";
|
||||
if (effect.kind === "transform") return "Expect the boss's behavior to change after the new form appears.";
|
||||
if (effect.kind === "pull") return "Regain safe spacing after the forced movement resolves.";
|
||||
if (effect.kind === "encounter-event") return "Watch for the encounter-state change and handle the newly activated objective.";
|
||||
if (effect.kind === "aura") return "Adjust damage and healing for the aura while it remains active.";
|
||||
return "Heal the affected party members after it resolves.";
|
||||
|
||||
Reference in new issue
Block a user