fix(paladin): resolve F1-F4 reviewer findings and combat-pipeline regressions
This commit is contained in:
parent
48183d3b82
commit
bafa83df55
|
|
@ -433,8 +433,7 @@ export function executeSUnitDmg(
|
|||
if (!isSpellWithoutFlatPhys && (srcDam > 0 || hasFlatPhys)) {
|
||||
const weapMin256 = (attacker.weaponMinPhys ?? 25) * FIXED_ONE
|
||||
const weapMax256 = (attacker.weaponMaxPhys ?? 45) * FIXED_ONE
|
||||
const hasFlatPhys = (packet.flatPhysMin256 !== undefined && packet.flatPhysMin256 > 0) || (packet.flatPhysMax256 !== undefined && packet.flatPhysMax256 > 0)
|
||||
const effectiveSrcDam = hasFlatPhys ? (packet.srcDam ?? 0) : srcDam
|
||||
const effectiveSrcDam = srcDam
|
||||
const avgWeap256 = effectiveSrcDam > 0 ? Math.trunc(((weapMin256 + weapMax256) / 2) * effectiveSrcDam / 128) : 0
|
||||
const flatAvg256 = Math.trunc(((packet.flatPhysMin256 ?? 0) + (packet.flatPhysMax256 ?? 0)) / 2)
|
||||
const dmgPctBonus = attacker.statList.getModifierBonus('damagepercent')
|
||||
|
|
@ -608,7 +607,7 @@ export function executeSUnitDmg(
|
|||
? 0
|
||||
: Math.max(0, Math.trunc((remRawPhys256 * (100 - physResRec.effectiveRes)) / 100))
|
||||
|
||||
let finalElem256 = isFireGolemAbsorb || elemResRec.isImmune || defender.statList.getAccruedStat(resStatKey) >= 100
|
||||
let finalElem256 = isFireGolemAbsorb || elemResRec.isImmune
|
||||
? 0
|
||||
: Math.max(0, Math.trunc((remRawElem256 * (100 - elemResRec.effectiveRes)) / 100))
|
||||
|
||||
|
|
|
|||
|
|
@ -5243,7 +5243,7 @@ export const BATCH1_SKILLS: Readonly<Record<number, Batch1SkillDef>> = Object.fr
|
|||
74: { id: 74, name: 'Corpse Explosion', classCode: 'nec', charClass: 'necromancer', type: 'area', mana: 15, lvlmana: 1, minmana: 1, manashift: 8, delay: 0, hitshift: 8, emin: 0, emax: 0, elev1: 0, elev2: 0, elev3: 0, elev4: 0, elev5: 0, srcDamage: 0 },
|
||||
|
||||
// Paladin (6 skills)
|
||||
96: { id: 96, name: 'Sacrifice', classCode: 'pal', charClass: 'paladin', type: 'melee', mana: 0, lvlmana: 0, minmana: 0, manashift: 8, delay: 0, hitshift: 8, emin: 0, emax: 0, elev1: 0, elev2: 0, elev3: 0, elev4: 0, elev5: 0, srcDamage: 128 },
|
||||
96: { id: 96, name: 'Sacrifice', classCode: 'pal', charClass: 'paladin', type: 'melee', mana: 0, lvlmana: 0, minmana: 0, manashift: 8, delay: 0, hitshift: 8, emin: 0, emax: 0, elev1: 0, elev2: 0, elev3: 0, elev4: 0, elev5: 0, srcDamage: 128, castOverlay: 'blood1' },
|
||||
97: { id: 97, name: 'Smite', classCode: 'pal', charClass: 'paladin', type: 'melee', mana: 2, lvlmana: 0, minmana: 2, manashift: 8, delay: 0, hitshift: 8, emin: 0, emax: 0, elev1: 0, elev2: 0, elev3: 0, elev4: 0, elev5: 0, srcDamage: 0 },
|
||||
101: { id: 101, name: 'Holy Bolt', classCode: 'pal', charClass: 'paladin', type: 'projectile', mana: 16, lvlmana: 1, minmana: 1, manashift: 5, delay: 0, hitshift: 8, emin: 8, emax: 16, elev1: 4, elev2: 8, elev3: 12, elev4: 16, elev5: 20, srcDamage: 0, range: 450, speed: 450 },
|
||||
106: { id: 106, name: 'Zeal', classCode: 'pal', charClass: 'paladin', type: 'melee', mana: 2, lvlmana: 0, minmana: 2, manashift: 8, delay: 0, hitshift: 8, emin: 0, emax: 0, elev1: 0, elev2: 0, elev3: 0, elev4: 0, elev5: 0, srcDamage: 128 },
|
||||
|
|
@ -5466,6 +5466,9 @@ export function getSkillCooldownTicks(skillId: number): number {
|
|||
if (skillId === 64) {
|
||||
return 25
|
||||
}
|
||||
if (skillId === 121) {
|
||||
return 25
|
||||
}
|
||||
const def = getBatch1SkillDef(skillId)
|
||||
return def?.delay ?? 0
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue