fix: 补回驭械术师普通攻击的本体伤害

This commit is contained in:
星闌 committed 2026-10-11 16:42:50 +08:00
1 parent bc50cac01f
commit 823e3d0af4
21 files changed
+1011 -710

No files matched your search

+3 -1
View File
@@ -21,6 +21,8 @@
// noAttack bool (never attacks) noAttackUnlessSkill bool (attacks only while its skill is active)
// noHeal bool (cannot be healed by others) blockFly bool onHitStatus {key, duration, value}
// dmgMul(battle, unit, target) → number afterHit(battle, unit, target, {dealt,x,y})
// funnelMul(battle, unit, target) → number (drone ramp, separate from the caster's attack multiplier)
// funnelBodyHits n (an unreleased skill attack's body hit count; default normal attack: one, drones: `hits`)
// canAttack(battle, unit) → bool afterAttack(battle, unit, targets)
// skipEnemy(enemy) → bool (an enemy the unit never selects — targeting.js canTargetEnemy; 嵯峨 "不攻击重伤单位")
// healThrough(healer, ally) → bool (a healer that selects and heals that ally through its 禁疗 — Battle
@@ -508,7 +510,7 @@ export const SUB = Object.freeze({
blastcaster: P({ rangeAoe: true }),
chain: P({ chain: { count: 3, falloff: 0.15, radius: CHAIN_RADIUS, sluggish: 0.5 } }),
funnel: P({ projectile: 'drone', install: installFunnel,
dmgMul: (battle, unit, target) => {
funnelMul: (battle, unit, target) => {
const f = unit.profile.funnel || { init: 0.2, delta: 0.15, max: 1.1 };
if (unit.trait.funnelTarget === target.id) unit.trait.funnelScale = Math.min(f.max, (unit.trait.funnelScale ?? f.init) + f.delta);
else { unit.trait.funnelTarget = target.id; unit.trait.funnelScale = f.init; }