diff --git a/src/game/engine/combat-pipeline.ts b/src/game/engine/combat-pipeline.ts index 0e8058a..af33f0c 100644 --- a/src/game/engine/combat-pipeline.ts +++ b/src/game/engine/combat-pipeline.ts @@ -688,17 +688,17 @@ export function executeSUnitDmg( ? attacker.statList.getAccruedStat('passive_pois_pierce') : 0) - const maxResistance = - elemType === 'fire' || elemType === 'ltng' || elemType === 'cold' || elemType === 'pois' - ? defender.statList.getEffectiveMaxResistance(elemType) - : undefined - const isDefenderPlayer = defender.unitType === 'player' || defender.unitType === 'mercenary' || defender.unitType === 'party' || defender.unitType === 'party_mercenary' + const maxResistance = + isDefenderPlayer && (elemType === 'fire' || elemType === 'ltng' || elemType === 'cold' || elemType === 'pois') + ? defender.statList.getEffectiveMaxResistance(elemType) + : undefined + const elemResRec = computeEffectiveResistance({ baseRes: defender.statList.getAccruedStat(resStatKey), convictionPierce, diff --git a/tests/meteor-stress.test.ts b/tests/meteor-stress.test.ts index d9a59d6..1ece262 100644 --- a/tests/meteor-stress.test.ts +++ b/tests/meteor-stress.test.ts @@ -290,7 +290,7 @@ describe('[Skill #056] Meteor — Empirical Stress & Physics Challenger Suite', const flame = spawnedFlames.find(f => f.x === expectedX && f.y === expectedY) expect(flame, `Missing meteorfire at offset [${i}] (${expectedX}, ${expectedY})`).toBeDefined() - expect(flame!.ttl).toBe(30) // slvl 1: 30 ticks + expect(flame!.ttl).toBe(90) // slvl 1: 90 ticks (3.6s per 1.13c) expect(flame!.pierce).toBe(true) } }) diff --git a/tests/skills-stress.test.ts b/tests/skills-stress.test.ts index 6f1f620..731742d 100644 --- a/tests/skills-stress.test.ts +++ b/tests/skills-stress.test.ts @@ -111,21 +111,21 @@ describe('Adversarial Stress Testing: M3 Skills, Resources, Cooldowns & State', expect(getSkillManaCost(67, 10)).toBe(7.5) expect(getSkillManaCost(67, 20)).toBe(12.5) - // Holy Bolt (101): mana 16, lvlmana 1, manashift 5 (shift 0.125) -> (16 + 1*(lvl-1))*0.125 + // Holy Bolt (101): 1.13c Skills.txt: mana 32, lvlmana 1, manashift 4 (shift 0.0625) -> (32 + 1*(lvl-1))*0.0625 expect(getSkillManaCost(101, 1)).toBe(2.0) - expect(getSkillManaCost(101, 9)).toBe(3.0) - expect(getSkillManaCost(101, 17)).toBe(4.0) + expect(getSkillManaCost(101, 9)).toBe(2.5) + expect(getSkillManaCost(101, 17)).toBe(3.0) // Blessed Hammer (112): mana 20, lvlmana 1, manashift 6 (shift 0.25) -> (20 + 1*(lvl-1))*0.25 expect(getSkillManaCost(112, 1)).toBe(5.0) expect(getSkillManaCost(112, 5)).toBe(6.0) expect(getSkillManaCost(112, 21)).toBe(10.0) - // Fire Blast (251): mana 24, lvlmana 4, manashift 5 (shift 0.125) -> (24 + 4*(lvl-1))*0.125 = 3 + 0.5*(lvl-1) + // Fire Blast (251): 1.13c Skills.txt: mana 24, lvlmana 1, manashift 5 (shift 0.125) -> (24 + 1*(lvl-1))*0.125 expect(getSkillManaCost(251, 1)).toBe(3.0) - expect(getSkillManaCost(251, 2)).toBe(3.5) - expect(getSkillManaCost(251, 5)).toBe(5.0) - expect(getSkillManaCost(251, 10)).toBe(7.5) + expect(getSkillManaCost(251, 2)).toBe(3.125) + expect(getSkillManaCost(251, 5)).toBe(3.5) + expect(getSkillManaCost(251, 10)).toBe(4.125) }) })