技能系统:实装圣骑士与德鲁伊光环类技能(Aura Engine, Periodic Pulses, Ground Overlays & 1.13c Combat Parity) #397
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
背景与现状说明 (Background & Problem Analysis)
暗黑破坏神 II (v1.13c) 中,光环(Aura)是圣骑士(Paladin)的核心机制与战斗基石,同时涵盖德鲁伊(Druid)的灵体召唤物光环(橡木智者、狼獾之心、荆棘之灵)以及金怪属性词条(Aura Enchanted)。
目前在
diablo2-web项目中:src/game/engine/aura-scanner.ts与src/game/skills/registry.ts实现了部分基于Skills.txt的数学公式评估和 arena 沙盒内的离散脉冲验证;src/game/engine.ts)与角色状态机(src/game/character.ts)尚未接入光环系统。光环技能目前仅作为一次性施法处理或未激活;Overlay.txt中定义的脚下多层环状动画(PreDraw === true,如狂热AuraFanatic、圣火、神圣冰冻、神圣冲击、信念等)尚未与主画面渲染器(renderer.ts/unit-sprites.ts)联动,角色与怪物脚下无光环显示;本 Issue 旨在完整规划并驱动光环类技能的正式实装,确保其严格符合 Diablo II v1.13c 原版二进制反编译规范(
D2Common.dll/D2Game.dll)与 MPQ 数据表。涵盖技能清单 (Scope of Aura Skills - v1.13c)
1. 圣骑士攻击光环 (Offensive Auras - 10 个)
srvdofunc=65aurastate=might,大幅增加队伍物理伤害(item_maxdamage_percent)srvdofunc=66aurastate=holyfire,自身附加火焰伤害,每 2 秒向半径内敌人发射火焰伤害脉冲srvdofunc=65aurastate=thorns,受到近战物理攻击时将伤害以百分比反弹给攻击者srvdofunc=65aurastate=blessedaim,提升友军攻击命中率(AR %)srvdofunc=65aurastate=concentration,提升队伍物理伤害,提供 20% 几率不被打断,对祝福之锤(Blessed Hammer)提供 50% 效能增伤srvdofunc=66aurastate=holyfreeze,自身附加冰冷伤害,每 2 秒向敌人发射冰冷脉冲,无视冰抗附带范围减速(item_slow)srvdofunc=66aurastate=holyshock,自身附加巨额闪电伤害(1~MaxDmg),每 2 秒发射强力闪电脉冲srvdofunc=66aurastate=sanctuary,击退不死生物,对其造成周期魔法伤害,且物理攻击将其物免强制归零(Set Undead PhysRes to 0%)srvdofunc=65aurastate=fanaticism,提升攻击速度(EIAS)、攻击准确率(AR%),自身获得全额物理增伤,队友获得半额增伤srvdofunc=66aurastate=conviction,削弱敌方防御百分比与火/冰/电三系元素抗性,对免疫怪物以 1/5 惩罚效率执行破免2. 圣骑士防御光环 (Defensive Auras - 10 个)
srvdofunc=65aurastate=prayer,每 2 秒治疗范围内友军生命,治疗时扣除法力srvdofunc=65aurastate=resistfire,提升友军火抗;加点时提供隐藏被动最大火抗加成srvdofunc=65aurastate=defiance,大幅提升友军总防御百分比(item_armor_percent)srvdofunc=65aurastate=resistcold,提升友军冰抗;加点时提供隐藏被动最大冰抗加成srvdofunc=65aurastate=cleansing,加速毒素消退与诅咒持续时间缩短(curse_duration_reduction)srvdofunc=65aurastate=resistlightning,提升友军电抗;加点时提供隐藏被动最大电抗加成srvdofunc=65aurastate=vigor,大幅提升友军跑步与行走速度、奔跑耐力及耐力回复速度srvdofunc=65aurastate=meditation,极大提升法力回复速度百分比(Mana Recovery Rate %)srvdofunc=81aurastate=redemption,周期扫描视野内未被消耗的怪物尸体,超度灵魂并百分比恢复角色生命与法力srvdofunc=65aurastate=salvation,同时大幅提升友军火/冰/电三系元素全抗3. 德鲁伊灵体光环 (Druid Spirit Minion Auras - 3 个)
maxhp_percent)。目标选择与环境/视觉效果适配规则 (Target Filtering & Visual Parity Rules)
为确保与原版 1.13c 二进制行为绝对对齐,光环在不同环境、不同阵营单位之间的判定和视觉表现必须严格遵循以下三层规则:
1. 城镇与野外环境判定及友军目标广播 (Town vs Wilderness & Friendly Filter)
isTown === true):isTown === false):aurarange)内将实时无缝广播并加成给全部合法友方实体:2. 信念/审判光环的自身与敌方非对称机制 (Conviction Asymmetry & Enemy Ground Aura)
auratgtstate = conviction,实时大幅削减其防御百分比(-Defense %)及火/冰/电三系元素全抗(-Fire/Cold/Lightning Resistances %),若怪物为免疫怪,则按 1/5 惩罚执行破免判定。Overlay.txt中的 Conviction Target Overlay,标志性的敌方脚下绿色旋转锯齿光环),清晰指示其已被破防削弱。3. 神圣冰冻/元素伤害光环的敌方视觉与状态适配 (Holy Freeze Visual Rules)
Overlay.txt中的 Holy Freeze Aura Overlay)。item_slow,令怪物移动与攻击帧率显著减缓)。核心架构与实装方案 (Architecture & Implementation Plan)
1. 角色技能槽位与光环常驻生命周期 (Skill Slot & Aura Lifecycle)
ControlBar)支持将光环配置在右键技能槽。当玩家选择右键为光环技能时,立即自动唤醒并激活该光环,不占用施法动作与攻击前后摇。ActiveAuraSource,清除对应的光环状态与地面特效,并激活新光环。StatList中的无缝叠加与等级裁决(相同光环仅高等级生效)。2. 周期性扫描与脉冲引擎 (Periodic Pulse Engine - 1.13c Parity)
src/game/engine.ts的update()循环中集成AuraScanner.tick(currentTick, allies, enemies, corpses)。perdelay/auradelay(标准为 50 帧,即 2.0 秒一次脉冲)。aurarange/aurarangecalc与slvl动态计算半径,转换为等距像素距离进行范围判定。perdelay + 10(如 60 帧)���消除脉冲间歇导致的 Buff 闪烁与跳帧。3. 脚下动态光环层渲染 (PreDraw Ground Overlay Rendering)
Overlay.txt贴图映射:解析并映射光环对应的脚下 DCC/DC6 动画(如AuraFanatic.dcc、holyshock.dcc、might.dcc等)。PreDraw === true):在src/render/renderer.ts中,于地表地貌/地表阴影之上、角色主体精灵之下建立光环渲染通道。4. 战斗管线与属性加成全面打通 (Combat Pipeline Integration)
SUnitDmg伤害计算。5. 原版音效集成 (Audio SFX)
AuraTurnOn)以及各类光环脉冲音效(神圣冲击电击声、神圣冰冻冰爆声、救赎回血音效等)。验收标准 (Acceptance Criteria)
slvl1, 10, 20 的加成数值、法力消耗、作用半径、脉冲频率单元测试 100% 通过。npm run typecheck与全量测试套件(npm test)100% 保持全绿。📋 需求补充:光环目标选择逻辑与视觉效果差异化适配 (Target Filtering & Visual Parity Rules)
根据 Master 指示,已将目标选择规则与视觉表现细化规范追加至 Issue 规范正文中,重点保证以下行为的 1.13c 原版一致性:
城镇与野外环境差异化目标选择:
信念 / 审判(Conviction)的自身与敌方非对称性:
神圣冰冻(Holy Freeze)的视觉抑制与减速:
item_slow);