forked from phenom/healer-man
Update Healer Man server
This commit is contained in:
1 parent
4c768fbec6
commit
b16821e92e
330 files changed
+35406
-1760
No files matched your search
@@ -0,0 +1,34 @@
|
||||
/** Current CoA Priest/Scout Saint's Blessing's conditional damage rider. */
|
||||
export const ROM_PRIEST_SCOUT_SAINTS_BLESSING_DAMAGE = Object.freeze({
|
||||
passiveSpellId: 493_039,
|
||||
targetHealthThreshold: 0.3,
|
||||
damageBonus: 0.28,
|
||||
});
|
||||
|
||||
export interface RomPriestScoutSaintsBlessingDamageContext {
|
||||
readonly primaryClassId: string;
|
||||
readonly secondaryClassId?: string;
|
||||
readonly learnedPassiveSpellIds: readonly number[];
|
||||
/** Target's current health divided by its maximum health at damage resolution. */
|
||||
readonly targetHealthPercent: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the current CoA multiplier for a damage packet resolved against a
|
||||
* living target below 30% maximum health. The caller should evaluate this at
|
||||
* each damage event so the threshold follows the target's live health.
|
||||
*/
|
||||
export function romPriestScoutSaintsBlessingDamageMultiplier(
|
||||
context: RomPriestScoutSaintsBlessingDamageContext,
|
||||
): number {
|
||||
if (context.primaryClassId !== "rom-priest"
|
||||
|| context.secondaryClassId !== "rom-scout"
|
||||
|| !context.learnedPassiveSpellIds.includes(ROM_PRIEST_SCOUT_SAINTS_BLESSING_DAMAGE.passiveSpellId)
|
||||
|| !Number.isFinite(context.targetHealthPercent)
|
||||
|| context.targetHealthPercent <= 0
|
||||
|| context.targetHealthPercent >= ROM_PRIEST_SCOUT_SAINTS_BLESSING_DAMAGE.targetHealthThreshold) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 1 + ROM_PRIEST_SCOUT_SAINTS_BLESSING_DAMAGE.damageBonus;
|
||||
}
|
||||
Reference in new issue
Block a user