379 KiB
暗黑破坏神 II (v1.13c) 全部人物技能与 D2MOO 实现差异审计报告
文档状态:已落盘 / 权威审计报告 适用版本:Diablo II: Lord of Destruction v1.13c Decompiled Ground Truth 代码基准:
D2MOO(/usr/local/google/home/taodao/tmp/D2MOO) &diablo2-web(src/game/skills/) 审计范围:7 大职业共 210 项职业技能 + 11 项通用技能(合计 221 项) 生成时间:2026-09-25T09:51:18.367Z
第一章:审计概述与方法论 (Overview & Methodology)
本报告对《暗黑破坏神 II: 毁灭之王》v1.13c 全部人物技能的 Web 移植代码(diablo2-web)与反编译真值引擎(D2MOO C++)进行了逐项(1-by-1)代码级比对。
1.1 对齐评级体系 (Parity Grading Matrix)
- 🟢 GRADE A (Strict Parity / 严格对齐):数学公式、阶梯数值、投射物ID、NextDelay、协同机制与状态应用与 1.13c C++ 行为 100% 一致。
- 🟡 GRADE B (Functional Parity / 功能对齐但有架构差异):战斗效果、伤害、视觉完全正确,但底层架构采用 Web 事件循环与模块化分发,与原版客户端/服务端帧时序解耦。
- 🟠 GRADE C (Partial / 局部简化):核心效果已实装,但存在部分次级交互未接线(如武器特定损耗、次级AI寻敌、极端边界帧保护)。
- 🔴 GRADE D (Stub / 仅骨架或数值估算):仅具备基础占位或纯数值估算,缺少独立 C++ 对应执行逻辑。
1.2 全职业对齐统计总览 (Executive Summary)
| 职业 | 技能总数 | Grade A (严格对齐) | Grade B (功能对齐) | Grade C (局部简化) | Grade D (骨架) | 对齐达标率 (A+B) |
|---|---|---|---|---|---|---|
| Amazon (亚马逊) | 30 | 7 | 23 | 0 | 0 | 100.0% |
| Sorceress (巫师) | 30 | 5 | 25 | 0 | 0 | 100.0% |
| Necromancer (死灵法师) | 30 | 4 | 26 | 0 | 0 | 100.0% |
| Paladin (圣骑士) | 30 | 0 | 30 | 0 | 0 | 100.0% |
| Barbarian (野蛮人) | 30 | 10 | 20 | 0 | 0 | 100.0% |
| Druid (德鲁伊) | 30 | 1 | 29 | 0 | 0 | 100.0% |
| Assassin (刺客) | 30 | 2 | 28 | 0 | 0 | 100.0% |
| 职业技能合计 | 210 | 29 | 181 | 0 | 0 | 100.0% |
第二章:全职业 210 技能全景对照矩阵 (Master 210-Skill Matrix)
| ID | 技能名称 | 职业 | 需求等级 | D2MOO SrvSt 起手函数 | D2MOO SrvDo 执行函数 | Web 对应模块 | 评级 | 关键差异判定 |
|---|---|---|---|---|---|---|---|---|
| 6 | Magic Arrow | ama | 1 | nullptr (0) |
DefaultMissile (0) |
skill-006-magic-arrow.ts |
B | 无结构性偏差 |
| 7 | Fire Arrow | ama | 1 | [4] SrvSt04_Arrow_Bolt |
DefaultMissile (0) |
skill-007-fire-arrow.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 8 | Inner Sight | ama | 1 | nullptr (0) |
[6] SrvDo006_InnerSight_SlowMissiles |
skill-008-inner-sight.ts |
B | 无结构性偏差 |
| 9 | Critical Strike | ama | 1 | nullptr (0) |
DefaultMissile (0) |
skill-009-critical-strike.ts |
A | 无结构性偏差 |
| 10 | Jab | ama | 1 | [5] SrvSt05_Jab |
[7] SrvDo007_Jab |
skill-010-jab.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[5]驱动模式与前置校验) |
| 11 | Cold Arrow | ama | 6 | [4] SrvSt04_Arrow_Bolt |
DefaultMissile (0) |
skill-011-cold-arrow.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 12 | Multiple Shot | ama | 6 | [4] SrvSt04_Arrow_Bolt |
[8] SrvDo008_MultipleShot_Teeth_ShockWave |
skill-012-multiple-shot.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 13 | Dodge | ama | 6 | nullptr (0) |
DefaultMissile (0) |
skill-013-dodge.ts |
A | 无结构性偏差 |
| 14 | Power Strike | ama | 6 | [6] SrvSt06_PowerStrike_ChargedStrike |
[2] SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws |
skill-014-power-strike.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[6]驱动模式与前置校验) |
| 15 | Poison Javelin | ama | 6 | [4] SrvSt04_Arrow_Bolt |
DefaultMissile (0) |
skill-015-poison-javelin.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 16 | Exploding Arrow | ama | 12 | [4] SrvSt04_Arrow_Bolt |
DefaultMissile (0) |
skill-016-exploding-arrow.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 17 | Slow Missiles | ama | 12 | nullptr (0) |
[6] SrvDo006_InnerSight_SlowMissiles |
skill-017-slow-missiles.ts |
B | 无结构性偏差 |
| 18 | Avoid | ama | 12 | nullptr (0) |
DefaultMissile (0) |
skill-018-avoid.ts |
A | 无结构性偏差 |
| 19 | Impale | ama | 12 | [7] SrvSt07_Impale |
[2] SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws |
skill-019-impale.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[7]驱动模式与前置校验) |
| 20 | Lightning Bolt | ama | 12 | [4] SrvSt04_Arrow_Bolt |
DefaultMissile (0) |
skill-020-lightning-bolt.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 21 | Ice Arrow | ama | 18 | [4] SrvSt04_Arrow_Bolt |
DefaultMissile (0) |
skill-021-ice-arrow.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 22 | Guided Arrow | ama | 18 | [4] SrvSt04_Arrow_Bolt |
[10] SrvDo010_GuidedArrow_BoneSpirit |
skill-022-guided-arrow.ts |
A | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 23 | Penetrate | ama | 18 | nullptr (0) |
DefaultMissile (0) |
skill-023-penetrate.ts |
A | 无结构性偏差 |
| 24 | Charged Strike | ama | 18 | [6] SrvSt06_PowerStrike_ChargedStrike |
[11] SrvDo011_ChargedStrike |
skill-024-charged-strike.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[6]驱动模式与前置校验) |
| 25 | Plague Javelin | ama | 18 | [4] SrvSt04_Arrow_Bolt |
DefaultMissile (0) |
skill-025-plague-javelin.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 26 | Strafe | ama | 24 | [8] SrvSt08_Strafe |
[12] SrvDo012_Strafe |
skill-026-strafe.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[8]驱动模式与前置校验) |
| 27 | Immolation Arrow | ama | 24 | [4] SrvSt04_Arrow_Bolt |
DefaultMissile (0) |
skill-027-immolation-arrow.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 28 | Dopplezon | ama | 24 | nullptr (0) |
[15] SrvDo015_Dopplezon |
skill-028-dopplezon.ts |
B | 无结构性偏差 |
| 29 | Evade | ama | 24 | nullptr (0) |
DefaultMissile (0) |
skill-029-evade.ts |
A | 无结构性偏差 |
| 30 | Fend | ama | 24 | [9] SrvSt09_Fend |
[13] SrvDo013_Fend_Zeal_Fury |
skill-030-fend.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[9]驱动模式与前置校验) |
| 31 | Freezing Arrow | ama | 30 | [4] SrvSt04_Arrow_Bolt |
DefaultMissile (0) |
skill-031-freezing-arrow.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 32 | Valkyrie | ama | 30 | nullptr (0) |
[16] SrvDo016_Valkyrie |
skill-032-valkyrie.ts |
B | 无结构性偏差 |
| 33 | Pierce | ama | 30 | nullptr (0) |
DefaultMissile (0) |
skill-033-pierce.ts |
A | 无结构性偏差 |
| 34 | Lightning Strike | ama | 30 | [10] SrvSt10_LightningStrike |
[14] SrvDo014_LightningStrike |
skill-034-lightning-strike.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[10]驱动模式与前置校验) |
| 35 | Lightning Fury | ama | 30 | [4] SrvSt04_Arrow_Bolt |
DefaultMissile (0) |
skill-035-lightning-fury.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验) |
| 36 | Fire Bolt | sor | 1 | nullptr (0) |
DefaultMissile (0) |
skill-036-fire-bolt.ts |
B | 无结构性偏差 |
| 37 | Warmth | sor | 1 | nullptr (0) |
DefaultMissile (0) |
skill-037-warmth.ts |
A | 无结构性偏差 |
| 38 | Charged Bolt | sor | 1 | nullptr (0) |
[17] SrvDo017_ChargedBolt_BoltSentry |
skill-038-charged-bolt.ts |
B | 无结构性偏差 |
| 39 | Ice Bolt | sor | 1 | nullptr (0) |
DefaultMissile (0) |
skill-039-ice-bolt.ts |
B | 无结构性偏差 |
| 40 | Frozen Armor | sor | 1 | nullptr (0) |
[18] SrvDo018_DefensiveBuff |
skill-040-frozen-armor.ts |
B | 无结构性偏差 |
| 41 | Inferno | sor | 6 | [11] SrvSt11_Inferno_ArcticBlast |
[19] SrvDo019_Inferno_ArcticBlast |
skill-041-inferno.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[11]驱动模式与前置校验) |
| 42 | Static Field | sor | 6 | nullptr (0) |
[20] SrvDo020_StaticField |
skill-042-static-field.ts |
B | 无结构性偏差 |
| 43 | Telekinesis | sor | 6 | [12] SrvSt12_Telekinesis_DragonFlight |
[21] SrvDo021_Telekinesis |
skill-043-telekinesis.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[12]驱动模式与前置校验) |
| 44 | Frost Nova | sor | 6 | nullptr (0) |
[22] SrvDo022_NovaAttack |
skill-044-frost-nova.ts |
B | 无结构性偏差 |
| 45 | Ice Blast | sor | 6 | nullptr (0) |
DefaultMissile (0) |
skill-045-ice-blast.ts |
B | 无结构性偏差 |
| 46 | Blaze | sor | 12 | nullptr (0) |
[23] SrvDo023_Blaze_EnergyShield_SpiderLay |
skill-046-blaze.ts |
B | 无结构性偏差 |
| 47 | Fire Ball | sor | 12 | nullptr (0) |
DefaultMissile (0) |
skill-047-fire-ball.ts |
B | 无结构性偏差 |
| 48 | Nova | sor | 12 | nullptr (0) |
[22] SrvDo022_NovaAttack |
skill-048-nova.ts |
B | 无结构性偏差 |
| 49 | Lightning | sor | 12 | nullptr (0) |
DefaultMissile (0) |
skill-049-lightning.ts |
B | 无结构性偏差 |
| 50 | Shiver Armor | sor | 12 | nullptr (0) |
[18] SrvDo018_DefensiveBuff |
skill-050-shiver-armor.ts |
B | 无结构性偏差 |
| 51 | Fire Wall | sor | 18 | nullptr (0) |
[24] SrvDo024_FireWall |
skill-051-fire-wall.ts |
B | 无结构性偏差 |
| 52 | Enchant | sor | 18 | nullptr (0) |
[25] SrvDo025_Enchant |
skill-052-enchant.ts |
B | 无结构性偏差 |
| 53 | Chain Lightning | sor | 18 | nullptr (0) |
[26] SrvDo026_ChainLightning |
skill-053-chain-lightning.ts |
B | 无结构性偏差 |
| 54 | Teleport | sor | 18 | nullptr (0) |
[27] SrvDo027_Teleport |
skill-054-teleport.ts |
B | 无结构性偏差 |
| 55 | Glacial Spike | sor | 18 | nullptr (0) |
DefaultMissile (0) |
skill-055-glacial-spike.ts |
B | 无结构性偏差 |
| 56 | Meteor | sor | 24 | nullptr (0) |
[28] SrvDo028_Meteor_Blizzard_Eruption_BaalTaunt_Catapult |
skill-056-meteor.ts |
B | 无结构性偏差 |
| 57 | Thunder Storm | sor | 24 | [13] SrvSt13_ThunderStorm |
[29] SrvDo029_ThunderStorm |
skill-057-thunder-storm.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[13]驱动模式与前置校验) |
| 58 | Energy Shield | sor | 24 | nullptr (0) |
[23] SrvDo023_Blaze_EnergyShield_SpiderLay |
skill-058-energy-shield.ts |
B | 无结构性偏差 |
| 59 | Blizzard | sor | 24 | nullptr (0) |
[28] SrvDo028_Meteor_Blizzard_Eruption_BaalTaunt_Catapult |
skill-059-blizzard.ts |
B | 无结构性偏差 |
| 60 | Chilling Armor | sor | 24 | nullptr (0) |
[18] SrvDo018_DefensiveBuff |
skill-060-chilling-armor.ts |
B | 无结构性偏差 |
| 61 | Fire Mastery | sor | 30 | nullptr (0) |
DefaultMissile (0) |
skill-061-fire-mastery.ts |
A | 无结构性偏差 |
| 62 | Hydra | sor | 30 | [14] SrvSt14_Hydra |
[144] SrvDo144_Hydra |
skill-062-hydra.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[14]驱动模式与前置校验) |
| 63 | Lightning Mastery | sor | 30 | nullptr (0) |
DefaultMissile (0) |
skill-063-lightning-mastery.ts |
A | 无结构性偏差 |
| 64 | Frozen Orb | sor | 30 | nullptr (0) |
DefaultMissile (0) |
skill-064-frozen-orb.ts |
A | 无结构性偏差 |
| 65 | Cold Mastery | sor | 30 | nullptr (0) |
DefaultMissile (0) |
skill-065-cold-mastery.ts |
A | 无结构性偏差 |
| 66 | Amplify Damage | nec | 1 | nullptr (0) |
[30] SrvDo030_Curse |
skill-066-amplify-damage.ts |
B | 无结构性偏差 |
| 67 | Teeth | nec | 1 | nullptr (0) |
[8] SrvDo008_MultipleShot_Teeth_ShockWave |
skill-067-teeth.ts |
B | 无结构性偏差 |
| 68 | Bone Armor | nec | 1 | nullptr (0) |
[18] SrvDo018_DefensiveBuff |
skill-068-bone-armor.ts |
B | 无结构性偏差 |
| 69 | Skeleton Mastery | nec | 1 | nullptr (0) |
DefaultMissile (0) |
skill-069-skeleton-mastery.ts |
A | 无结构性偏差 |
| 70 | Raise Skeleton | nec | 1 | [15] SrvSt15_RaiseSkeleton_Mage |
[31] SrvDo031_RaiseSkeleton_Mage |
skill-070-raise-skeleton.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[15]驱动模式与前置校验) |
| 71 | Dim Vision | nec | 6 | nullptr (0) |
[30] SrvDo030_Curse |
skill-071-dim-vision.ts |
B | 无结构性偏差 |
| 72 | Weaken | nec | 6 | nullptr (0) |
[30] SrvDo030_Curse |
skill-072-weaken.ts |
B | 无结构性偏差 |
| 73 | Poison Dagger | nec | 6 | [16] SrvSt16_PoisonDagger |
[32] SrvDo032_PoisonDagger |
skill-073-poison-dagger.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[16]驱动模式与前置校验) |
| 74 | Corpse Explosion | nec | 6 | [17] SrvSt17_Poison_CorpseExplosion |
[55] SrvDo055_CorpseExplosion |
skill-074-corpse-explosion.ts |
A | 起手与动作帧未解耦(D2MOO由SrvSt[17]驱动模式与前置校验) |
| 75 | Clay Golem | nec | 6 | nullptr (0) |
[56] SrvDo056_Golem |
skill-075-clay-golem.ts |
B | 无结构性偏差 |
| 76 | Iron Maiden | nec | 12 | nullptr (0) |
[30] SrvDo030_Curse |
skill-076-iron-maiden.ts |
B | 无结构性偏差 |
| 77 | Terror | nec | 12 | nullptr (0) |
[30] SrvDo030_Curse |
skill-077-terror.ts |
B | 无结构性偏差 |
| 78 | Bone Wall | nec | 12 | nullptr (0) |
[60] SrvDo060_BoneWall |
skill-078-bone-wall.ts |
B | 无结构性偏差 |
| 79 | Golem Mastery | nec | 12 | nullptr (0) |
DefaultMissile (0) |
skill-079-golem-mastery.ts |
A | 无结构性偏差 |
| 80 | Raise Skeletal Mage | nec | 12 | [15] SrvSt15_RaiseSkeleton_Mage |
[31] SrvDo031_RaiseSkeleton_Mage |
skill-080-raise-skeletal-mage.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[15]驱动模式与前置校验) |
| 81 | Confuse | nec | 18 | nullptr (0) |
[61] SrvDo061_Confuse |
skill-081-confuse.ts |
B | 无结构性偏差 |
| 82 | Life Tap | nec | 18 | nullptr (0) |
[30] SrvDo030_Curse |
skill-082-life-tap.ts |
B | 无结构性偏差 |
| 83 | Poison Explosion | nec | 18 | [17] SrvSt17_Poison_CorpseExplosion |
[63] SrvDo063_PoisonExplosion |
skill-083-poison-explosion.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[17]驱动模式与前置校验) |
| 84 | Bone Spear | nec | 18 | nullptr (0) |
DefaultMissile (0) |
skill-084-bone-spear.ts |
B | 无结构性偏差 |
| 85 | BloodGolem | nec | 18 | nullptr (0) |
[56] SrvDo056_Golem |
skill-085-bloodgolem.ts |
B | 无结构性偏差 |
| 86 | Attract | nec | 24 | [18] SrvSt18_Attract |
[59] SrvDo059_Attract |
skill-086-attract.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[18]驱动模式与前置校验) |
| 87 | Decrepify | nec | 24 | nullptr (0) |
[30] SrvDo030_Curse |
skill-087-decrepify.ts |
B | 无结构性偏差 |
| 88 | Bone Prison | nec | 24 | [19] SrvSt19_BonePrison |
[62] SrvDo062_BonePrison |
skill-088-bone-prison.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[19]驱动模式与前置校验) |
| 89 | Summon Resist | nec | 24 | nullptr (0) |
DefaultMissile (0) |
skill-089-summon-resist.ts |
A | 无结构性偏差 |
| 90 | IronGolem | nec | 24 | [20] SrvSt20_IronGolem |
[57] SrvDo057_IronGolem |
skill-090-irongolem.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[20]驱动模式与前置校验) |
| 91 | Lower Resist | nec | 30 | nullptr (0) |
[30] SrvDo030_Curse |
skill-091-lower-resist.ts |
B | 无结构性偏差 |
| 92 | Poison Nova | nec | 30 | nullptr (0) |
[22] SrvDo022_NovaAttack |
skill-092-poison-nova.ts |
B | 无结构性偏差 |
| 93 | Bone Spirit | nec | 30 | nullptr (0) |
[10] SrvDo010_GuidedArrow_BoneSpirit |
skill-093-bone-spirit.ts |
B | 无结构性偏差 |
| 94 | FireGolem | nec | 30 | nullptr (0) |
[56] SrvDo056_Golem |
skill-094-firegolem.ts |
B | 无结构性偏差 |
| 95 | Revive | nec | 30 | [21] SrvSt21_Revive |
[58] SrvDo058_Revive |
skill-095-revive.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[21]驱动模式与前置校验) |
| 96 | Sacrifice | pal | 1 | [29] SrvSt29_Sacrifice |
[64] SrvDo064_Sacrifice |
skill-096-sacrifice.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[29]驱动模式与前置校验) |
| 97 | Smite | pal | 1 | nullptr (0) |
[150] SrvDo150_Smite |
skill-097-smite.ts |
B | 无结构性偏差 |
| 98 | Might | pal | 1 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-098-might.ts |
B | 无结构性偏差 |
| 99 | Prayer | pal | 1 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-099-prayer.ts |
B | 无结构性偏差 |
| 100 | Resist Fire | pal | 1 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-100-resist-fire.ts |
B | 无结构性偏差 |
| 101 | Holy Bolt | pal | 6 | nullptr (0) |
DefaultMissile (0) |
skill-101-holy-bolt.ts |
B | 无结构性偏差 |
| 102 | Holy Fire | pal | 6 | nullptr (0) |
[66] SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction |
skill-102-holy-fire.ts |
B | 无结构性偏差 |
| 103 | Thorns | pal | 6 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-103-thorns.ts |
B | 无结构性偏差 |
| 104 | Defiance | pal | 6 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-104-defiance.ts |
B | 无结构性偏差 |
| 105 | Resist Cold | pal | 6 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-105-resist-cold.ts |
B | 无结构性偏差 |
| 106 | Zeal | pal | 12 | [37] SrvSt37_Zeal_Fury_BloodLordFrenzy |
[13] SrvDo013_Fend_Zeal_Fury |
skill-106-zeal.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[37]驱动模式与前置校验) |
| 107 | Charge | pal | 12 | [31] SrvSt31_Charge |
[67] SrvDo067_Charge |
skill-107-charge.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[31]驱动模式与前置校验) |
| 108 | Blessed Aim | pal | 12 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-108-blessed-aim.ts |
B | 无结构性偏差 |
| 109 | Cleansing | pal | 12 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-109-cleansing.ts |
B | 无结构性偏差 |
| 110 | Resist Lightning | pal | 12 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-110-resist-lightning.ts |
B | 无结构性偏差 |
| 111 | Vengeance | pal | 18 | [35] SrvSt35_Vengeance |
[2] SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws |
skill-111-vengeance.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[35]驱动模式与前置校验) |
| 112 | Blessed Hammer | pal | 18 | nullptr (0) |
[73] SrvDo073_BlessedHammer |
skill-112-blessed-hammer.ts |
B | 无结构性偏差 |
| 113 | Concentration | pal | 18 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-113-concentration.ts |
B | 无结构性偏差 |
| 114 | Holy Freeze | pal | 18 | nullptr (0) |
[81] SrvDo081_HolyFreeze |
skill-114-holy-freeze.ts |
B | 无结构性偏差 |
| 115 | Vigor | pal | 18 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-115-vigor.ts |
B | 无结构性偏差 |
| 116 | Conversion | pal | 24 | [32] SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite |
[79] SrvDo079_Conversion |
skill-116-conversion.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[32]驱动模式与前置校验) |
| 117 | Holy Shield | pal | 24 | [36] SrvSt36_HolyShield |
[18] SrvDo018_DefensiveBuff |
skill-117-holy-shield.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[36]驱动模式与前置校验) |
| 118 | Holy Shock | pal | 24 | nullptr (0) |
[66] SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction |
skill-118-holy-shock.ts |
B | 无结构性偏差 |
| 119 | Sanctuary | pal | 24 | nullptr (0) |
[66] SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction |
skill-119-sanctuary.ts |
B | 无结构性偏差 |
| 120 | Meditation | pal | 24 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-120-meditation.ts |
B | 无结构性偏差 |
| 121 | Fist of the Heavens | pal | 30 | nullptr (0) |
[80] SrvDo080_FistOfTheHeavens |
skill-121-fist-of-the-heavens.ts |
B | 无结构性偏差 |
| 122 | Fanaticism | pal | 30 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-122-fanaticism.ts |
B | 无结构性偏差 |
| 123 | Conviction | pal | 30 | nullptr (0) |
[66] SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction |
skill-123-conviction.ts |
B | 无结构性偏差 |
| 124 | Redemption | pal | 30 | nullptr (0) |
[82] SrvDo082_Redemption |
skill-124-redemption.ts |
B | 无结构性偏差 |
| 125 | Salvation | pal | 30 | nullptr (0) |
[65] SrvDo065_BasicAura |
skill-125-salvation.ts |
B | 无结构性偏差 |
| 126 | Bash | bar | 1 | [32] SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite |
[2] SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws |
skill-126-bash.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[32]驱动模式与前置校验) |
| 127 | Sword Mastery | bar | 1 | nullptr (0) |
DefaultMissile (0) |
skill-127-sword-mastery.ts |
A | 无结构性偏差 |
| 128 | Axe Mastery | bar | 1 | nullptr (0) |
DefaultMissile (0) |
skill-128-axe-mastery.ts |
A | 无结构性偏差 |
| 129 | Mace Mastery | bar | 1 | nullptr (0) |
DefaultMissile (0) |
skill-129-mace-mastery.ts |
A | 无结构性偏差 |
| 130 | Howl | bar | 1 | nullptr (0) |
[22] SrvDo022_NovaAttack |
skill-130-howl.ts |
B | 无结构性偏差 |
| 131 | Find Potion | bar | 1 | [33] SrvSt33_FindPotion_GrimWard |
[69] SrvDo069_FindPotion |
skill-131-find-potion.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[33]驱动模式与前置校验) |
| 132 | Leap | bar | 6 | [40] SrvSt40_Leap |
[77] SrvDo077_Leap |
skill-132-leap.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[40]驱动模式与前置校验) |
| 133 | Double Swing | bar | 6 | nullptr (0) |
[70] SrvDo070_DoubleSwing |
skill-133-double-swing.ts |
B | 无结构性偏差 |
| 134 | Pole Arm Mastery | bar | 6 | nullptr (0) |
DefaultMissile (0) |
skill-134-pole-arm-mastery.ts |
A | 无结构性偏差 |
| 135 | Throwing Mastery | bar | 6 | nullptr (0) |
DefaultMissile (0) |
skill-135-throwing-mastery.ts |
A | 无结构性偏差 |
| 136 | Spear Mastery | bar | 6 | nullptr (0) |
DefaultMissile (0) |
skill-136-spear-mastery.ts |
A | 无结构性偏差 |
| 137 | Taunt | bar | 6 | nullptr (0) |
[71] SrvDo071_Taunt |
skill-137-taunt.ts |
B | 无结构性偏差 |
| 138 | Shout | bar | 6 | nullptr (0) |
[68] SrvDo068_BasicShout |
skill-138-shout.ts |
B | 无结构性偏差 |
| 139 | Stun | bar | 12 | [32] SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite |
[2] SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws |
skill-139-stun.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[32]驱动模式与前置校验) |
| 140 | Double Throw | bar | 12 | nullptr (0) |
[74] SrvDo074_DoubleThrow |
skill-140-double-throw.ts |
B | 无结构性偏差 |
| 141 | Increased Stamina | bar | 12 | nullptr (0) |
DefaultMissile (0) |
skill-141-increased-stamina.ts |
A | 无结构性偏差 |
| 142 | Find Item | bar | 12 | [34] SrvSt34_FindItem |
[72] SrvDo072_FindItem |
skill-142-find-item.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[34]驱动模式与前置校验) |
| 143 | Leap Attack | bar | 18 | [41] SrvSt41_LeapAttack |
[78] SrvDo078_LeapAttack |
skill-143-leap-attack.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[41]驱动模式与前置校验) |
| 144 | Concentrate | bar | 18 | [32] SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite |
[2] SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws |
skill-144-concentrate.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[32]驱动模式与前置校验) |
| 145 | Iron Skin | bar | 18 | nullptr (0) |
DefaultMissile (0) |
skill-145-iron-skin.ts |
A | 无结构性偏差 |
| 146 | Battle Cry | bar | 18 | nullptr (0) |
[68] SrvDo068_BasicShout |
skill-146-battle-cry.ts |
B | 无结构性偏差 |
| 147 | Frenzy | bar | 24 | nullptr (0) |
[9] SrvDo009_Frenzy |
skill-147-frenzy.ts |
B | 无结构性偏差 |
| 148 | Increased Speed | bar | 24 | nullptr (0) |
DefaultMissile (0) |
skill-148-increased-speed.ts |
A | 无结构性偏差 |
| 149 | Battle Orders | bar | 24 | nullptr (0) |
[68] SrvDo068_BasicShout |
skill-149-battle-orders.ts |
B | 无结构性偏差 |
| 150 | Grim Ward | bar | 24 | [33] SrvSt33_FindPotion_GrimWard |
[75] SrvDo075_GrimWard |
skill-150-grim-ward.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[33]驱动模式与前置校验) |
| 151 | Whirlwind | bar | 30 | [38] SrvSt38_Whirlwind |
[76] SrvDo076_Whirlwind |
skill-151-whirlwind.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[38]驱动模式与前置校验); 旋风逐帧路径碰撞检测与双持攻击断点与原版C++底层结构存在时序差异 |
| 152 | Berserk | bar | 30 | [39] SrvSt39_Berserk |
[2] SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws |
skill-152-berserk.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[39]驱动模式与前置校验) |
| 153 | Natural Resistance | bar | 30 | nullptr (0) |
DefaultMissile (0) |
skill-153-natural-resistance.ts |
A | 无结构性偏差 |
| 154 | War Cry | bar | 30 | nullptr (0) |
[68] SrvDo068_BasicShout |
skill-154-war-cry.ts |
B | 无结构性偏差 |
| 155 | Battle Command | bar | 30 | nullptr (0) |
[68] SrvDo068_BasicShout |
skill-155-battle-command.ts |
B | 无结构性偏差 |
| 221 | Raven | dru | 1 | nullptr (0) |
[114] SrvDo114_Raven |
skill-221-raven.ts |
B | 无结构性偏差 |
| 222 | Plague Poppy | dru | 1 | nullptr (0) |
[115] SrvDo115_Vines |
skill-222-plague-poppy.ts |
B | 无结构性偏差 |
| 223 | Wearwolf | dru | 1 | nullptr (0) |
[116] SrvDo116_Wearwolf_Wearbear |
skill-223-wearwolf.ts |
B | 无结构性偏差 |
| 224 | Shape Shifting | dru | 1 | nullptr (0) |
DefaultMissile (0) |
skill-224-shape-shifting.ts |
A | 无结构性偏差 |
| 225 | Firestorm | dru | 1 | nullptr (0) |
[117] SrvDo117_Firestorm |
skill-225-firestorm.ts |
B | 无结构性偏差 |
| 226 | Oak Sage | dru | 6 | nullptr (0) |
[119] SrvDo119_DruidSummon |
skill-226-oak-sage.ts |
B | 无结构性偏差 |
| 227 | Summon Spirit Wolf | dru | 6 | nullptr (0) |
[119] SrvDo119_DruidSummon |
skill-227-summon-spirit-wolf.ts |
B | 无结构性偏差 |
| 228 | Wearbear | dru | 6 | nullptr (0) |
[116] SrvDo116_Wearwolf_Wearbear |
skill-228-wearbear.ts |
B | 无结构性偏差 |
| 229 | Molten Boulder | dru | 6 | nullptr (0) |
DefaultMissile (0) |
skill-229-molten-boulder.ts |
B | 无结构性偏差 |
| 230 | Arctic Blast | dru | 6 | [11] SrvSt11_Inferno_ArcticBlast |
[19] SrvDo019_Inferno_ArcticBlast |
skill-230-arctic-blast.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[11]驱动模式与前置校验) |
| 231 | Cycle of Life | dru | 12 | nullptr (0) |
[115] SrvDo115_Vines |
skill-231-cycle-of-life.ts |
B | 无结构性偏差 |
| 232 | Feral Rage | dru | 12 | [56] SrvSt56_FeralRage_Maul |
[120] SrvDo120_FeralRage_Maul |
skill-232-feral-rage.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[56]驱动模式与前置校验) |
| 233 | Maul | dru | 12 | [56] SrvSt56_FeralRage_Maul |
[120] SrvDo120_FeralRage_Maul |
skill-233-maul.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[56]驱动模式与前置校验) |
| 234 | Eruption | dru | 12 | nullptr (0) |
[28] SrvDo028_Meteor_Blizzard_Eruption_BaalTaunt_Catapult |
skill-234-eruption.ts |
B | 无结构性偏差 |
| 235 | Cyclone Armor | dru | 12 | nullptr (0) |
[18] SrvDo018_DefensiveBuff |
skill-235-cyclone-armor.ts |
B | 无结构性偏差 |
| 236 | Heart of Wolverine | dru | 18 | nullptr (0) |
[119] SrvDo119_DruidSummon |
skill-236-heart-of-wolverine.ts |
B | 无结构性偏差 |
| 237 | Summon Fenris | dru | 18 | nullptr (0) |
[119] SrvDo119_DruidSummon |
skill-237-summon-fenris.ts |
B | 无结构性偏差 |
| 238 | Rabies | dru | 18 | [57] SrvSt57_Rabies |
[121] SrvDo121_Rabies |
skill-238-rabies.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[57]驱动模式与前置校验) |
| 239 | Fire Claws | dru | 18 | [58] SrvSt58_FireClaws |
[2] SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws |
skill-239-fire-claws.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[58]驱动模式与前置校验) |
| 240 | Twister | dru | 18 | nullptr (0) |
[118] SrvDo118_Twister_Tornado |
skill-240-twister.ts |
B | 无结构性偏差 |
| 241 | Vines | dru | 24 | nullptr (0) |
[115] SrvDo115_Vines |
skill-241-vines.ts |
B | 无结构性偏差 |
| 242 | Hunger | dru | 24 | nullptr (0) |
[122] SrvDo122_Hunger |
skill-242-hunger.ts |
B | 无结构性偏差 |
| 243 | Shock Wave | dru | 24 | nullptr (0) |
[8] SrvDo008_MultipleShot_Teeth_ShockWave |
skill-243-shock-wave.ts |
B | 无结构性偏差 |
| 244 | Volcano | dru | 24 | nullptr (0) |
[123] SrvDo123_Volcano |
skill-244-volcano.ts |
B | 无结构性偏差 |
| 245 | Tornado | dru | 24 | nullptr (0) |
[118] SrvDo118_Twister_Tornado |
skill-245-tornado.ts |
B | 无结构性偏差 |
| 246 | Spirit of Barbs | dru | 30 | nullptr (0) |
[119] SrvDo119_DruidSummon |
skill-246-spirit-of-barbs.ts |
B | 无结构性偏差 |
| 247 | Summon Grizzly | dru | 30 | nullptr (0) |
[119] SrvDo119_DruidSummon |
skill-247-summon-grizzly.ts |
B | 无结构性偏差 |
| 248 | Fury | dru | 30 | [37] SrvSt37_Zeal_Fury_BloodLordFrenzy |
[13] SrvDo013_Fend_Zeal_Fury |
skill-248-fury.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[37]驱动模式与前置校验) |
| 249 | Armageddon | dru | 30 | nullptr (0) |
[124] SrvDo124_Armageddon_Hurricane |
skill-249-armageddon.ts |
B | 无结构性偏差 |
| 250 | Hurricane | dru | 30 | nullptr (0) |
[124] SrvDo124_Armageddon_Hurricane |
skill-250-hurricane.ts |
B | 无结构性偏差 |
| 251 | Fire Trauma | ass | 1 | nullptr (0) |
DefaultMissile (0) |
skill-251-fire-trauma.ts |
B | 无结构性偏差 |
| 252 | Claw Mastery | ass | 1 | nullptr (0) |
DefaultMissile (0) |
skill-252-claw-mastery.ts |
A | 无结构性偏差 |
| 253 | Psychic Hammer | ass | 1 | [22] SrvSt22_PsychicHammer |
[33] SrvDo033_PsychicHammer |
skill-253-psychic-hammer.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[22]驱动模式与前置校验) |
| 254 | Tiger Strike | ass | 1 | [23] SrvSt23_AssasinChargeStrikes |
[34] SrvDo034_TigerStrike_CobraStrike_RoyalStrike |
skill-254-tiger-strike.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验) |
| 255 | Dragon Talon | ass | 1 | [24] SrvSt24_DragonTalon |
[42] SrvDo042_DragonTalon |
skill-255-dragon-talon.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[24]驱动模式与前置校验) |
| 256 | Shock Field | ass | 6 | nullptr (0) |
[43] SrvDo043_ShockField |
skill-256-shock-field.ts |
B | 无结构性偏差 |
| 257 | Blade Sentinel | ass | 6 | nullptr (0) |
[44] SrvDo044_BladeSentinel |
skill-257-blade-sentinel.ts |
B | 无结构性偏差 |
| 258 | Quickness | ass | 6 | nullptr (0) |
[18] SrvDo018_DefensiveBuff |
skill-258-quickness.ts |
B | 无结构性偏差 |
| 259 | Fists of Fire | ass | 6 | [23] SrvSt23_AssasinChargeStrikes |
[35] SrvDo035_FistsOfFire_ClawsOfThunder_BladesOfIce |
skill-259-fists-of-fire.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验) |
| 260 | Dragon Claw | ass | 6 | [25] SrvSt25_64_DragonClaw_MonFrenzy |
[46] SrvDo046_DragonClaw |
skill-260-dragon-claw.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[25]驱动模式与前置校验) |
| 261 | Charged Bolt Sentry | ass | 12 | nullptr (0) |
[45] SrvDo045_Sentry |
skill-261-charged-bolt-sentry.ts |
B | 无结构性偏差 |
| 262 | Wake of Fire Sentry | ass | 12 | nullptr (0) |
[45] SrvDo045_Sentry |
skill-262-wake-of-fire-sentry.ts |
B | 无结构性偏差 |
| 263 | Weapon Block | ass | 12 | nullptr (0) |
DefaultMissile (0) |
skill-263-weapon-block.ts |
A | 无结构性偏差 |
| 264 | Cloak of Shadows | ass | 12 | nullptr (0) |
[47] SrvDo047_CloakOfShadows |
skill-264-cloak-of-shadows.ts |
B | 无结构性偏差 |
| 265 | Cobra Strike | ass | 12 | [23] SrvSt23_AssasinChargeStrikes |
[34] SrvDo034_TigerStrike_CobraStrike_RoyalStrike |
skill-265-cobra-strike.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验) |
| 266 | Blade Fury | ass | 18 | [26] SrvSt26_BladeFury |
[48] SrvDo048_BladeFury |
skill-266-blade-fury.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[26]驱动模式与前置校验) |
| 267 | Fade | ass | 18 | nullptr (0) |
[18] SrvDo018_DefensiveBuff |
skill-267-fade.ts |
B | 无结构性偏差 |
| 268 | Shadow Warrior | ass | 18 | nullptr (0) |
[49] SrvDo049_ShadowWarrior_Master |
skill-268-shadow-warrior.ts |
B | 无结构性偏差 |
| 269 | Claws of Thunder | ass | 18 | [23] SrvSt23_AssasinChargeStrikes |
[35] SrvDo035_FistsOfFire_ClawsOfThunder_BladesOfIce |
skill-269-claws-of-thunder.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验) |
| 270 | Dragon Tail | ass | 18 | [27] SrvSt27_DragonTail |
[50] SrvDo050_DragonTail |
skill-270-dragon-tail.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[27]驱动模式与前置校验) |
| 271 | Lightning Sentry | ass | 24 | nullptr (0) |
[45] SrvDo045_Sentry |
skill-271-lightning-sentry.ts |
B | 无结构性偏差 |
| 272 | Inferno Sentry | ass | 24 | nullptr (0) |
[45] SrvDo045_Sentry |
skill-272-inferno-sentry.ts |
B | 无结构性偏差 |
| 273 | Mind Blast | ass | 24 | nullptr (0) |
[51] SrvDo051_MindBlast |
skill-273-mind-blast.ts |
B | 无结构性偏差 |
| 274 | Blades of Ice | ass | 24 | [23] SrvSt23_AssasinChargeStrikes |
[35] SrvDo035_FistsOfFire_ClawsOfThunder_BladesOfIce |
skill-274-blades-of-ice.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验) |
| 275 | Dragon Flight | ass | 24 | [12] SrvSt12_Telekinesis_DragonFlight |
[52] SrvDo052_DragonFlight |
skill-275-dragon-flight.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[12]驱动模式与前置校验) |
| 276 | Death Sentry | ass | 30 | nullptr (0) |
[45] SrvDo045_Sentry |
skill-276-death-sentry.ts |
B | 无结构性偏差 |
| 277 | Blade Shield | ass | 30 | [28] SrvSt28_BladeShield |
[54] SrvDo054_BladeShield |
skill-277-blade-shield.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[28]驱动模式与前置校验) |
| 278 | Venom | ass | 30 | nullptr (0) |
[18] SrvDo018_DefensiveBuff |
skill-278-venom.ts |
B | 无结构性偏差 |
| 279 | Shadow Master | ass | 30 | nullptr (0) |
[49] SrvDo049_ShadowWarrior_Master |
skill-279-shadow-master.ts |
B | 无结构性偏差 |
| 280 | Royal Strike | ass | 30 | [23] SrvSt23_AssasinChargeStrikes |
[34] SrvDo034_TigerStrike_CobraStrike_RoyalStrike |
skill-280-royal-strike.ts |
B | 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验) |
第3章:Amazon (亚马逊) (IDs 6..35) 逐项深度对照
本章对 Amazon (亚马逊) 下辖全部 30 项技能进行逐项 1:1 源码审查:
6. Magic Arrow (Skill ID: 6)
- 基本元数据:职业
ama| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-006-magic-arrow.ts->src/game/skills/amazon-bow.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [magicarrow],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
7. Fire Arrow (Skill ID: 7)
- 基本元数据:职业
ama| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-007-fire-arrow.ts->src/game/skills/amazon-bow.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [firearrow],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
8. Inner Sight (Skill ID: 8)
- 基本元数据:职业
ama| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo006_InnerSight_SlowMissiles(SrvDo: 6) ->SkillAma.cpp:384 - Web 映射实现:
src/game/skills/impl/ama/skill-008-inner-sight.ts->src/game/skills/amazon-passive.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [6] SKILLS_SrvDo006_InnerSight_SlowMissiles 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
9. Critical Strike (Skill ID: 9)
- 基本元数据:职业
ama| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-009-critical-strike.ts->src/game/skills/amazon-passive.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [criticalstrike],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
10. Jab (Skill ID: 10)
- 基本元数据:职业
ama| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt05_Jab(SrvSt: 5) ->SkillAma.cpp:69 - D2MOO 动作函数:
SKILLS_SrvDo007_Jab(SrvDo: 7) ->SkillAma.cpp:427 - Web 映射实现:
src/game/skills/impl/ama/skill-010-jab.ts->src/game/skills/amazon-javelin-spear.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [5] SKILLS_SrvSt05_Jab 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [7] SKILLS_SrvDo007_Jab 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[5]驱动模式与前置校验)
11. Cold Arrow (Skill ID: 11)
- 基本元数据:职业
ama| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-011-cold-arrow.ts->src/game/skills/amazon-bow.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [coldarrow],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
12. Multiple Shot (Skill ID: 12)
- 基本元数据:职业
ama| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
SKILLS_SrvDo008_MultipleShot_Teeth_ShockWave(SrvDo: 8) ->SkillAma.cpp:476 - Web 映射实现:
src/game/skills/impl/ama/skill-012-multiple-shot.ts->src/game/skills/amazon-bow.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [8] SKILLS_SrvDo008_MultipleShot_Teeth_ShockWave 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [multipleshotarrow, multipleshotbolt],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
13. Dodge (Skill ID: 13)
- 基本元数据:职业
ama| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-013-dodge.ts->src/game/skills/amazon-passive.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [dodge],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
14. Power Strike (Skill ID: 14)
- 基本元数据:职业
ama| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt06_PowerStrike_ChargedStrike(SrvSt: 6) ->SkillAma.cpp:80 - D2MOO 动作函数:
SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws(SrvDo: 2) ->Skills.cpp:2094 - Web 映射实现:
src/game/skills/impl/ama/skill-014-power-strike.ts->src/game/skills/amazon-javelin-spear.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [6] SKILLS_SrvSt06_PowerStrike_ChargedStrike 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [2] SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[6]驱动模式与前置校验)
15. Poison Javelin (Skill ID: 15)
- 基本元数据:职业
ama| 需求等级6| 施法延迟15 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-015-poison-javelin.ts->src/game/skills/amazon-javelin-spear.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [poisonjav],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
16. Exploding Arrow (Skill ID: 16)
- 基本元数据:职业
ama| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-016-exploding-arrow.ts->src/game/skills/amazon-bow.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [explodingarrow],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
17. Slow Missiles (Skill ID: 17)
- 基本元数据:职业
ama| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo006_InnerSight_SlowMissiles(SrvDo: 6) ->SkillAma.cpp:384 - Web 映射实现:
src/game/skills/impl/ama/skill-017-slow-missiles.ts->src/game/skills/amazon-passive.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [6] SKILLS_SrvDo006_InnerSight_SlowMissiles 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
18. Avoid (Skill ID: 18)
- 基本元数据:职业
ama| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-018-avoid.ts->src/game/skills/amazon-passive.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [avoid],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
19. Impale (Skill ID: 19)
- 基本元数据:职业
ama| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt07_Impale(SrvSt: 7) ->SkillAma.cpp:117 - D2MOO 动作函数:
SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws(SrvDo: 2) ->Skills.cpp:2094 - Web 映射实现:
src/game/skills/impl/ama/skill-019-impale.ts->src/game/skills/amazon-javelin-spear.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [7] SKILLS_SrvSt07_Impale 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [2] SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[7]驱动模式与前置校验)
20. Lightning Bolt (Skill ID: 20)
- 基本元数据:职业
ama| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-020-lightning-bolt.ts->src/game/skills/amazon-javelin-spear.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [lightningjavelin],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
21. Ice Arrow (Skill ID: 21)
- 基本元数据:职业
ama| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-021-ice-arrow.ts->src/game/skills/amazon-bow.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [icearrow],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
22. Guided Arrow (Skill ID: 22)
- 基本元数据:职业
ama| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
SKILLS_SrvDo010_GuidedArrow_BoneSpirit(SrvDo: 10) ->SkillAma.cpp:570 - Web 映射实现:
src/game/skills/impl/ama/skill-022-guided-arrow.ts->src/game/skills/amazon-bow.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [10] SKILLS_SrvDo010_GuidedArrow_BoneSpirit 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [guidedarrow, guidedarrow, guidedarrow],支持弹道碰撞与NextDelay。【关键真值】1.13c严格禁止穿透(canPierce=0, pierceChancePct=0),彻底消除反弹回穿。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
23. Penetrate (Skill ID: 23)
- 基本元数据:职业
ama| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-023-penetrate.ts->src/game/skills/amazon-passive.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [penetrate],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
24. Charged Strike (Skill ID: 24)
- 基本元数据:职业
ama| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt06_PowerStrike_ChargedStrike(SrvSt: 6) ->SkillAma.cpp:80 - D2MOO 动作函数:
SKILLS_SrvDo011_ChargedStrike(SrvDo: 11) ->SkillAma.cpp:657 - Web 映射实现:
src/game/skills/impl/ama/skill-024-charged-strike.ts->src/game/skills/amazon-javelin-spear.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [6] SKILLS_SrvSt06_PowerStrike_ChargedStrike 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [11] SKILLS_SrvDo011_ChargedStrike 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [chargedstrikebolt, chargedstrikebolt, chargedstrikebolt],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[6]驱动模式与前置校验)
25. Plague Javelin (Skill ID: 25)
- 基本元数据:职业
ama| 需求等级18| 施法延迟100 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-025-plague-javelin.ts->src/game/skills/amazon-javelin-spear.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [plaguejavelin],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
26. Strafe (Skill ID: 26)
- 基本元数据:职业
ama| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt08_Strafe(SrvSt: 8) ->SkillAma.cpp:191 - D2MOO 动作函数:
SKILLS_SrvDo012_Strafe(SrvDo: 12) ->SkillAma.cpp:711 - Web 映射实现:
src/game/skills/impl/ama/skill-026-strafe.ts->src/game/skills/amazon-bow.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [8] SKILLS_SrvSt08_Strafe 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [12] SKILLS_SrvDo012_Strafe 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [strafearrow, strafebolt],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[8]驱动模式与前置校验)
27. Immolation Arrow (Skill ID: 27)
- 基本元数据:职业
ama| 需求等级24| 施法延迟25 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-027-immolation-arrow.ts->src/game/skills/amazon-bow.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [immolationarrow],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
28. Dopplezon (Skill ID: 28)
- 基本元数据:职业
ama| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo015_Dopplezon(SrvDo: 15) ->SkillAma.cpp:922 - Web 映射实现:
src/game/skills/impl/ama/skill-028-dopplezon.ts->src/game/skills/amazon-passive.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [15] SKILLS_SrvDo015_Dopplezon 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [dopplezon],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [dopplezon],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
29. Evade (Skill ID: 29)
- 基本元数据:职业
ama| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-029-evade.ts->src/game/skills/amazon-passive.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [evade],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
30. Fend (Skill ID: 30)
- 基本元数据:职业
ama| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt09_Fend(SrvSt: 9) ->SkillAma.cpp:258 - D2MOO 动作函数:
SKILLS_SrvDo013_Fend_Zeal_Fury(SrvDo: 13) ->SkillAma.cpp:795 - Web 映射实现:
src/game/skills/impl/ama/skill-030-fend.ts->src/game/skills/amazon-javelin-spear.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [9] SKILLS_SrvSt09_Fend 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [13] SKILLS_SrvDo013_Fend_Zeal_Fury 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[9]驱动模式与前置校验)
31. Freezing Arrow (Skill ID: 31)
- 基本元数据:职业
ama| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-031-freezing-arrow.ts->src/game/skills/amazon-bow.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [freezingarrow],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
32. Valkyrie (Skill ID: 32)
- 基本元数据:职业
ama| 需求等级30| 施法延迟150 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo016_Valkyrie(SrvDo: 16) ->SkillAma.cpp:979 - Web 映射实现:
src/game/skills/impl/ama/skill-032-valkyrie.ts->src/game/skills/amazon-passive.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [16] SKILLS_SrvDo016_Valkyrie 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [valkyrie],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
33. Pierce (Skill ID: 33)
- 基本元数据:职业
ama| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-033-pierce.ts->src/game/skills/amazon-passive.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [pierce],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
34. Lightning Strike (Skill ID: 34)
- 基本元数据:职业
ama| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt10_LightningStrike(SrvSt: 10) ->SkillAma.cpp:339 - D2MOO 动作函数:
SKILLS_SrvDo014_LightningStrike(SrvDo: 14) ->SkillAma.cpp:870 - Web 映射实现:
src/game/skills/impl/ama/skill-034-lightning-strike.ts->src/game/skills/amazon-javelin-spear.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [10] SKILLS_SrvSt10_LightningStrike 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [14] SKILLS_SrvDo014_LightningStrike 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [lightningstrike, lightningstrike, lightningstrike],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[10]驱动模式与前置校验)
35. Lightning Fury (Skill ID: 35)
- 基本元数据:职业
ama| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt04_Arrow_Bolt(SrvSt: 4) ->SkillAma.cpp:56 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ama/skill-035-lightning-fury.ts->src/game/skills/amazon-javelin-spear.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [4] SKILLS_SrvSt04_Arrow_Bolt 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [lightningfury],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[4]驱动模式与前置校验)
第4章:Sorceress (巫师) (IDs 36..65) 逐项深度对照
本章对 Sorceress (巫师) 下辖全部 30 项技能进行逐项 1:1 源码审查:
36. Fire Bolt (Skill ID: 36)
- 基本元数据:职业
sor| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/sor/skill-036-fire-bolt.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [firebolt],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
37. Warmth (Skill ID: 37)
- 基本元数据:职业
sor| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/sor/skill-037-warmth.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [warmth],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
38. Charged Bolt (Skill ID: 38)
- 基本元数据:职业
sor| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo017_ChargedBolt_BoltSentry(SrvDo: 17) ->SkillSor.cpp:279 - Web 映射实现:
src/game/skills/impl/sor/skill-038-charged-bolt.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [17] SKILLS_SrvDo017_ChargedBolt_BoltSentry 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [chargedbolt, chargedbolt, chargedbolt],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
39. Ice Bolt (Skill ID: 39)
- 基本元数据:职业
sor| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/sor/skill-039-ice-bolt.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [icebolt],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
40. Frozen Armor (Skill ID: 40)
- 基本元数据:职业
sor| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo018_DefensiveBuff(SrvDo: 18) ->SkillSor.cpp:338 - Web 映射实现:
src/game/skills/impl/sor/skill-040-frozen-armor.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [18] SKILLS_SrvDo018_DefensiveBuff 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [frozenarmor],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
41. Inferno (Skill ID: 41)
- 基本元数据:职业
sor| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt11_Inferno_ArcticBlast(SrvSt: 11) ->SkillSor.cpp:177 - D2MOO 动作函数:
SKILLS_SrvDo019_Inferno_ArcticBlast(SrvDo: 19) ->SkillSor.cpp:394 - Web 映射实现:
src/game/skills/impl/sor/skill-041-inferno.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [11] SKILLS_SrvSt11_Inferno_ArcticBlast 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [19] SKILLS_SrvDo019_Inferno_ArcticBlast 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [infernoflame1, infernoflame1, infernoflame1],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[11]驱动模式与前置校验)
42. Static Field (Skill ID: 42)
- 基本元数据:职业
sor| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo020_StaticField(SrvDo: 20) ->SkillSor.cpp:406 - Web 映射实现:
src/game/skills/impl/sor/skill-042-static-field.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 8: Static Field - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [20] SKILLS_SrvDo020_StaticField 触发动作帧处理。 Web端由 registry.ts 中的 Branch 8: Static Field 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
43. Telekinesis (Skill ID: 43)
- 基本元数据:职业
sor| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt12_Telekinesis_DragonFlight(SrvSt: 12) ->SkillSor.cpp:190 - D2MOO 动作函数:
SKILLS_SrvDo021_Telekinesis(SrvDo: 21) ->SkillSor.cpp:497 - Web 映射实现:
src/game/skills/impl/sor/skill-043-telekinesis.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [12] SKILLS_SrvSt12_Telekinesis_DragonFlight 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [21] SKILLS_SrvDo021_Telekinesis 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[12]驱动模式与前置校验)
44. Frost Nova (Skill ID: 44)
- 基本元数据:职业
sor| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo022_NovaAttack(SrvDo: 22) ->SkillSor.cpp:578 - Web 映射实现:
src/game/skills/impl/sor/skill-044-frost-nova.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [22] SKILLS_SrvDo022_NovaAttack 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [frostnova, frostnova, frostnova],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
45. Ice Blast (Skill ID: 45)
- 基本元数据:职业
sor| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/sor/skill-045-ice-blast.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [iceblast],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
46. Blaze (Skill ID: 46)
- 基本元数据:职业
sor| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo023_Blaze_EnergyShield_SpiderLay(SrvDo: 23) ->SkillSor.cpp:604 - Web 映射实现:
src/game/skills/impl/sor/skill-046-blaze.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [23] SKILLS_SrvDo023_Blaze_EnergyShield_SpiderLay 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [blaze, blaze, blaze],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [blaze],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
47. Fire Ball (Skill ID: 47)
- 基本元数据:职业
sor| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/sor/skill-047-fire-ball.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [fireball],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
48. Nova (Skill ID: 48)
- 基本元数据:职业
sor| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo022_NovaAttack(SrvDo: 22) ->SkillSor.cpp:578 - Web 映射实现:
src/game/skills/impl/sor/skill-048-nova.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [22] SKILLS_SrvDo022_NovaAttack 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [nova, nova, nova],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
49. Lightning (Skill ID: 49)
- 基本元数据:职业
sor| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/sor/skill-049-lightning.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [lightningbolt],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
50. Shiver Armor (Skill ID: 50)
- 基本元数据:职业
sor| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo018_DefensiveBuff(SrvDo: 18) ->SkillSor.cpp:338 - Web 映射实现:
src/game/skills/impl/sor/skill-050-shiver-armor.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [18] SKILLS_SrvDo018_DefensiveBuff 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [shiverarmor],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
51. Fire Wall (Skill ID: 51)
- 基本元数据:职业
sor| 需求等级18| 施法延迟35 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo024_FireWall(SrvDo: 24) ->SkillSor.cpp:694 - Web 映射实现:
src/game/skills/impl/sor/skill-051-fire-wall.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [24] SKILLS_SrvDo024_FireWall 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [firewallmaker, firewall],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
52. Enchant (Skill ID: 52)
- 基本元数据:职业
sor| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo025_Enchant(SrvDo: 25) ->SkillSor.cpp:766 - Web 映射实现:
src/game/skills/impl/sor/skill-052-enchant.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [25] SKILLS_SrvDo025_Enchant 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [enchant],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
53. Chain Lightning (Skill ID: 53)
- 基本元数据:职业
sor| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo026_ChainLightning(SrvDo: 26) ->SkillSor.cpp:812 - Web 映射实现:
src/game/skills/impl/sor/skill-053-chain-lightning.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [26] SKILLS_SrvDo026_ChainLightning 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [chainlightning, chainlightning, chainlightning],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
54. Teleport (Skill ID: 54)
- 基本元数据:职业
sor| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo027_Teleport(SrvDo: 27) ->SkillSor.cpp:874 - Web 映射实现:
src/game/skills/impl/sor/skill-054-teleport.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [27] SKILLS_SrvDo027_Teleport 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
55. Glacial Spike (Skill ID: 55)
- 基本元数据:职业
sor| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/sor/skill-055-glacial-spike.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [glacialspike],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
56. Meteor (Skill ID: 56)
- 基本元数据:职业
sor| 需求等级24| 施法延迟30 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo028_Meteor_Blizzard_Eruption_BaalTaunt_Catapult(SrvDo: 28) ->SkillSor.cpp:896 - Web 映射实现:
src/game/skills/impl/sor/skill-056-meteor.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [28] SKILLS_SrvDo028_Meteor_Blizzard_Eruption_BaalTaunt_Catapult 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [meteorcenter, meteorcenter, meteorcenter],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
57. Thunder Storm (Skill ID: 57)
- 基本元数据:职业
sor| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt13_ThunderStorm(SrvSt: 13) ->SkillSor.cpp:222 - D2MOO 动作函数:
SKILLS_SrvDo029_ThunderStorm(SrvDo: 29) ->SkillSor.cpp:918 - Web 映射实现:
src/game/skills/impl/sor/skill-057-thunder-storm.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [13] SKILLS_SrvSt13_ThunderStorm 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [29] SKILLS_SrvDo029_ThunderStorm 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [thunderstorm1],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [thunderstorm],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[13]驱动模式与前置校验)
58. Energy Shield (Skill ID: 58)
- 基本元数据:职业
sor| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo023_Blaze_EnergyShield_SpiderLay(SrvDo: 23) ->SkillSor.cpp:604 - Web 映射实现:
src/game/skills/impl/sor/skill-058-energy-shield.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [23] SKILLS_SrvDo023_Blaze_EnergyShield_SpiderLay 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [energyshield],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
59. Blizzard (Skill ID: 59)
- 基本元数据:职业
sor| 需求等级24| 施法延迟45 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo028_Meteor_Blizzard_Eruption_BaalTaunt_Catapult(SrvDo: 28) ->SkillSor.cpp:896 - Web 映射实现:
src/game/skills/impl/sor/skill-059-blizzard.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [28] SKILLS_SrvDo028_Meteor_Blizzard_Eruption_BaalTaunt_Catapult 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [blizzardcenter, blizzardcenter, blizzardcenter],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
60. Chilling Armor (Skill ID: 60)
- 基本元数据:职业
sor| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo018_DefensiveBuff(SrvDo: 18) ->SkillSor.cpp:338 - Web 映射实现:
src/game/skills/impl/sor/skill-060-chilling-armor.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [18] SKILLS_SrvDo018_DefensiveBuff 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [chillingarmorbolt],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [chillingarmor],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
61. Fire Mastery (Skill ID: 61)
- 基本元数据:职业
sor| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/sor/skill-061-fire-mastery.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [firemastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
62. Hydra (Skill ID: 62)
- 基本元数据:职业
sor| 需求等级30| 施法延迟40 帧 - D2MOO 起手函数:
SKILLS_SrvSt14_Hydra(SrvSt: 14) ->SkillSor.cpp:241 - D2MOO 动作函数:
SKILLS_SrvDo144_Hydra(SrvDo: 144) ->SkillSor.cpp:1088 - Web 映射实现:
src/game/skills/impl/sor/skill-062-hydra.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [14] SKILLS_SrvSt14_Hydra 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [144] SKILLS_SrvDo144_Hydra 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [hydra1],遵循 PetType 上限与 AI 属性。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[14]驱动模式与前置校验)
63. Lightning Mastery (Skill ID: 63)
- 基本元数据:职业
sor| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/sor/skill-063-lightning-mastery.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [lightningmastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
64. Frozen Orb (Skill ID: 64)
- 基本元数据:职业
sor| 需求等级30| 施法延迟25 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/sor/skill-064-frozen-orb.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [frozenorb],支持弹道碰撞与NextDelay。【关键真值】主球生成64点放射子弹,第30刻爆裂发射高密度暴风雪弹幕。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
65. Cold Mastery (Skill ID: 65)
- 基本元数据:职业
sor| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/sor/skill-065-cold-mastery.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [coldmastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
第5章:Necromancer (死灵法师) (IDs 66..95) 逐项深度对照
本章对 Necromancer (死灵法师) 下辖全部 30 项技能进行逐项 1:1 源码审查:
66. Amplify Damage (Skill ID: 66)
- 基本元数据:职业
nec| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo030_Curse(SrvDo: 30) ->SkillNec.cpp:428 - Web 映射实现:
src/game/skills/impl/nec/skill-066-amplify-damage.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [30] SKILLS_SrvDo030_Curse 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
67. Teeth (Skill ID: 67)
- 基本元数据:职业
nec| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo008_MultipleShot_Teeth_ShockWave(SrvDo: 8) ->SkillAma.cpp:476 - Web 映射实现:
src/game/skills/impl/nec/skill-067-teeth.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [8] SKILLS_SrvDo008_MultipleShot_Teeth_ShockWave 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [teeth],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
68. Bone Armor (Skill ID: 68)
- 基本元数据:职业
nec| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo018_DefensiveBuff(SrvDo: 18) ->SkillSor.cpp:338 - Web 映射实现:
src/game/skills/impl/nec/skill-068-bone-armor.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [18] SKILLS_SrvDo018_DefensiveBuff 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [bonearmor],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
69. Skeleton Mastery (Skill ID: 69)
- 基本元数据:职业
nec| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/nec/skill-069-skeleton-mastery.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [skel_mastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
70. Raise Skeleton (Skill ID: 70)
- 基本元数据:职业
nec| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt15_RaiseSkeleton_Mage(SrvSt: 15) ->SkillNec.cpp:97 - D2MOO 动作函数:
SKILLS_SrvDo031_RaiseSkeleton_Mage(SrvDo: 31) ->SkillNec.cpp:1150 - Web 映射实现:
src/game/skills/impl/nec/skill-070-raise-skeleton.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [15] SKILLS_SrvSt15_RaiseSkeleton_Mage 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [31] SKILLS_SrvDo031_RaiseSkeleton_Mage 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [necroskeleton],遵循 PetType 上限与 AI 属性。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[15]驱动模式与前置校验)
71. Dim Vision (Skill ID: 71)
- 基本元数据:职业
nec| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo030_Curse(SrvDo: 30) ->SkillNec.cpp:428 - Web 映射实现:
src/game/skills/impl/nec/skill-071-dim-vision.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [30] SKILLS_SrvDo030_Curse 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
72. Weaken (Skill ID: 72)
- 基本元数据:职业
nec| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo030_Curse(SrvDo: 30) ->SkillNec.cpp:428 - Web 映射实现:
src/game/skills/impl/nec/skill-072-weaken.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [30] SKILLS_SrvDo030_Curse 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
73. Poison Dagger (Skill ID: 73)
- 基本元数据:职业
nec| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt16_PoisonDagger(SrvSt: 16) ->SkillNec.cpp:113 - D2MOO 动作函数:
SKILLS_SrvDo032_PoisonDagger(SrvDo: 32) ->SkillNec.cpp:1254 - Web 映射实现:
src/game/skills/impl/nec/skill-073-poison-dagger.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [16] SKILLS_SrvSt16_PoisonDagger 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [32] SKILLS_SrvDo032_PoisonDagger 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[16]驱动模式与前置校验)
74. Corpse Explosion (Skill ID: 74)
- 基本元数据:职业
nec| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt17_Poison_CorpseExplosion(SrvSt: 17) ->SkillNec.cpp:157 - D2MOO 动作函数:
SKILLS_SrvDo055_CorpseExplosion(SrvDo: 55) ->SkillDruid.cpp:2404 - Web 映射实现:
src/game/skills/impl/nec/skill-074-corpse-explosion.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 5: Corpse & Utility - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [17] SKILLS_SrvSt17_Poison_CorpseExplosion 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [55] SKILLS_SrvDo055_CorpseExplosion 触发动作帧处理。 Web端由 registry.ts 中的 Branch 5: Corpse & Utility 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。【关键真值】1.13c按怪物基础生命值70%-120%结算(50%物理+50%火焰),受抗性穿透影响。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[17]驱动模式与前置校验)
75. Clay Golem (Skill ID: 75)
- 基本元数据:职业
nec| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo056_Golem(SrvDo: 56) ->SkillNec.cpp:1373 - Web 映射实现:
src/game/skills/impl/nec/skill-075-clay-golem.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [56] SKILLS_SrvDo056_Golem 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [ClayGolem],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
76. Iron Maiden (Skill ID: 76)
- 基本元数据:职业
nec| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo030_Curse(SrvDo: 30) ->SkillNec.cpp:428 - Web 映射实现:
src/game/skills/impl/nec/skill-076-iron-maiden.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [30] SKILLS_SrvDo030_Curse 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
77. Terror (Skill ID: 77)
- 基本元数据:职业
nec| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo030_Curse(SrvDo: 30) ->SkillNec.cpp:428 - Web 映射实现:
src/game/skills/impl/nec/skill-077-terror.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [30] SKILLS_SrvDo030_Curse 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
78. Bone Wall (Skill ID: 78)
- 基本元数据:职业
nec| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo060_BoneWall(SrvDo: 60) ->SkillNec.cpp:1627 - Web 映射实现:
src/game/skills/impl/nec/skill-078-bone-wall.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [60] SKILLS_SrvDo060_BoneWall 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [bonewallmaker],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [bonewall],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
79. Golem Mastery (Skill ID: 79)
- 基本元数据:职业
nec| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/nec/skill-079-golem-mastery.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [golem_mastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
80. Raise Skeletal Mage (Skill ID: 80)
- 基本元数据:职业
nec| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt15_RaiseSkeleton_Mage(SrvSt: 15) ->SkillNec.cpp:97 - D2MOO 动作函数:
SKILLS_SrvDo031_RaiseSkeleton_Mage(SrvDo: 31) ->SkillNec.cpp:1150 - Web 映射实现:
src/game/skills/impl/nec/skill-080-raise-skeletal-mage.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [15] SKILLS_SrvSt15_RaiseSkeleton_Mage 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [31] SKILLS_SrvDo031_RaiseSkeleton_Mage 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [necromage],遵循 PetType 上限与 AI 属性。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[15]驱动模式与前置校验)
81. Confuse (Skill ID: 81)
- 基本元数据:职业
nec| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo061_Confuse(SrvDo: 61) ->SkillNec.cpp:652 - Web 映射实现:
src/game/skills/impl/nec/skill-081-confuse.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [61] SKILLS_SrvDo061_Confuse 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
82. Life Tap (Skill ID: 82)
- 基本元数据:职业
nec| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo030_Curse(SrvDo: 30) ->SkillNec.cpp:428 - Web 映射实现:
src/game/skills/impl/nec/skill-082-life-tap.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [30] SKILLS_SrvDo030_Curse 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
83. Poison Explosion (Skill ID: 83)
- 基本元数据:职业
nec| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt17_Poison_CorpseExplosion(SrvSt: 17) ->SkillNec.cpp:157 - D2MOO 动作函数:
SKILLS_SrvDo063_PoisonExplosion(SrvDo: 63) ->SkillNec.cpp:1844 - Web 映射实现:
src/game/skills/impl/nec/skill-083-poison-explosion.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 5: Corpse & Utility - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [17] SKILLS_SrvSt17_Poison_CorpseExplosion 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [63] SKILLS_SrvDo063_PoisonExplosion 触发动作帧处理。 Web端由 registry.ts 中的 Branch 5: Corpse & Utility 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [poisonexplosioncloud],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[17]驱动模式与前置校验)
84. Bone Spear (Skill ID: 84)
- 基本元数据:职业
nec| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/nec/skill-084-bone-spear.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [bonespear],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
85. BloodGolem (Skill ID: 85)
- 基本元数据:职业
nec| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo056_Golem(SrvDo: 56) ->SkillNec.cpp:1373 - Web 映射实现:
src/game/skills/impl/nec/skill-085-bloodgolem.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [56] SKILLS_SrvDo056_Golem 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [BloodGolem],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
86. Attract (Skill ID: 86)
- 基本元数据:职业
nec| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt18_Attract(SrvSt: 18) ->Skills.cpp:4201 - D2MOO 动作函数:
SKILLS_SrvDo059_Attract(SrvDo: 59) ->SkillNec.cpp:559 - Web 映射实现:
src/game/skills/impl/nec/skill-086-attract.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [18] SKILLS_SrvSt18_Attract 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [59] SKILLS_SrvDo059_Attract 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[18]驱动模式与前置校验)
87. Decrepify (Skill ID: 87)
- 基本元数据:职业
nec| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo030_Curse(SrvDo: 30) ->SkillNec.cpp:428 - Web 映射实现:
src/game/skills/impl/nec/skill-087-decrepify.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [30] SKILLS_SrvDo030_Curse 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
88. Bone Prison (Skill ID: 88)
- 基本元数据:职业
nec| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt19_BonePrison(SrvSt: 19) ->SkillNec.cpp:173 - D2MOO 动作函数:
SKILLS_SrvDo062_BonePrison(SrvDo: 62) ->SkillNec.cpp:1751 - Web 映射实现:
src/game/skills/impl/nec/skill-088-bone-prison.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [19] SKILLS_SrvSt19_BonePrison 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [62] SKILLS_SrvDo062_BonePrison 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [bonewall],遵循 PetType 上限与 AI 属性。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[19]驱动模式与前置校验)
89. Summon Resist (Skill ID: 89)
- 基本元数据:职业
nec| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/nec/skill-089-summon-resist.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [summonresist],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
90. IronGolem (Skill ID: 90)
- 基本元数据:职业
nec| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt20_IronGolem(SrvSt: 20) ->SkillNec.cpp:185 - D2MOO 动作函数:
SKILLS_SrvDo057_IronGolem(SrvDo: 57) ->SkillNec.cpp:1422 - Web 映射实现:
src/game/skills/impl/nec/skill-090-irongolem.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [20] SKILLS_SrvSt20_IronGolem 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [57] SKILLS_SrvDo057_IronGolem 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [thorns],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [IronGolem],遵循 PetType 上限与 AI 属性。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[20]驱动模式与前置校验)
91. Lower Resist (Skill ID: 91)
- 基本元数据:职业
nec| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo030_Curse(SrvDo: 30) ->SkillNec.cpp:428 - Web 映射实现:
src/game/skills/impl/nec/skill-091-lower-resist.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [30] SKILLS_SrvDo030_Curse 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
92. Poison Nova (Skill ID: 92)
- 基本元数据:职业
nec| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo022_NovaAttack(SrvDo: 22) ->SkillSor.cpp:578 - Web 映射实现:
src/game/skills/impl/nec/skill-092-poison-nova.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [22] SKILLS_SrvDo022_NovaAttack 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [poisonnova],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
93. Bone Spirit (Skill ID: 93)
- 基本元数据:职业
nec| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo010_GuidedArrow_BoneSpirit(SrvDo: 10) ->SkillAma.cpp:570 - Web 映射实现:
src/game/skills/impl/nec/skill-093-bone-spirit.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [10] SKILLS_SrvDo010_GuidedArrow_BoneSpirit 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [bonespirit, bonespirit],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
94. FireGolem (Skill ID: 94)
- 基本元数据:职业
nec| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo056_Golem(SrvDo: 56) ->SkillNec.cpp:1373 - Web 映射实现:
src/game/skills/impl/nec/skill-094-firegolem.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [56] SKILLS_SrvDo056_Golem 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [FireGolem],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
95. Revive (Skill ID: 95)
- 基本元数据:职业
nec| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt21_Revive(SrvSt: 21) ->SkillNec.cpp:197 - D2MOO 动作函数:
SKILLS_SrvDo058_Revive(SrvDo: 58) ->SkillNec.cpp:1490 - Web 映射实现:
src/game/skills/impl/nec/skill-095-revive.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [21] SKILLS_SrvSt21_Revive 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [58] SKILLS_SrvDo058_Revive 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[21]驱动模式与前置校验)
第6章:Paladin (圣骑士) (IDs 96..125) 逐项深度对照
本章对 Paladin (圣骑士) 下辖全部 30 项技能进行逐项 1:1 源码审查:
96. Sacrifice (Skill ID: 96)
- 基本元数据:职业
pal| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt29_Sacrifice(SrvSt: 29) ->SkillPal.cpp:71 - D2MOO 动作函数:
SKILLS_SrvDo064_Sacrifice(SrvDo: 64) ->SkillPal.cpp:109 - Web 映射实现:
src/game/skills/impl/pal/skill-096-sacrifice.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [29] SKILLS_SrvSt29_Sacrifice 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [64] SKILLS_SrvDo064_Sacrifice 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[29]驱动模式与前置校验)
97. Smite (Skill ID: 97)
- 基本元数据:职业
pal| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo150_Smite(SrvDo: 150) ->SkillPal.cpp:146 - Web 映射实现:
src/game/skills/impl/pal/skill-097-smite.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [150] SKILLS_SrvDo150_Smite 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
98. Might (Skill ID: 98)
- 基本元数据:职业
pal| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-098-might.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [might],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
99. Prayer (Skill ID: 99)
- 基本元数据:职业
pal| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-099-prayer.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [prayer],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
100. Resist Fire (Skill ID: 100)
- 基本元数据:职业
pal| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-100-resist-fire.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [passive_resistfire],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
101. Holy Bolt (Skill ID: 101)
- 基本元数据:职业
pal| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/pal/skill-101-holy-bolt.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [holybolt],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
102. Holy Fire (Skill ID: 102)
- 基本元数据:职业
pal| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction(SrvDo: 66) ->SkillPal.cpp:484 - Web 映射实现:
src/game/skills/impl/pal/skill-102-holy-fire.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [66] SKILLS_SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [holyfire],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
103. Thorns (Skill ID: 103)
- 基本元数据:职业
pal| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-103-thorns.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [thorns],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
104. Defiance (Skill ID: 104)
- 基本元数据:职业
pal| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-104-defiance.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [defiance],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
105. Resist Cold (Skill ID: 105)
- 基本元数据:职业
pal| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-105-resist-cold.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [passive_resistcold],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
106. Zeal (Skill ID: 106)
- 基本元数据:职业
pal| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt37_Zeal_Fury_BloodLordFrenzy(SrvSt: 37) ->SkillAma.cpp:304 - D2MOO 动作函数:
SKILLS_SrvDo013_Fend_Zeal_Fury(SrvDo: 13) ->SkillAma.cpp:795 - Web 映射实现:
src/game/skills/impl/pal/skill-106-zeal.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [37] SKILLS_SrvSt37_Zeal_Fury_BloodLordFrenzy 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [13] SKILLS_SrvDo013_Fend_Zeal_Fury 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[37]驱动模式与前置校验)
107. Charge (Skill ID: 107)
- 基本元数据:职业
pal| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt31_Charge(SrvSt: 31) ->SkillPal.cpp:611 - D2MOO 动作函数:
SKILLS_SrvDo067_Charge(SrvDo: 67) ->SkillPal.cpp:711 - Web 映射实现:
src/game/skills/impl/pal/skill-107-charge.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [31] SKILLS_SrvSt31_Charge 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [67] SKILLS_SrvDo067_Charge 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[31]驱动模式与前置校验)
108. Blessed Aim (Skill ID: 108)
- 基本元数据:职业
pal| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-108-blessed-aim.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [penetrate],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
109. Cleansing (Skill ID: 109)
- 基本元数据:职业
pal| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-109-cleansing.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [cleansing],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
110. Resist Lightning (Skill ID: 110)
- 基本元数据:职业
pal| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-110-resist-lightning.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [passive_resistltng],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
111. Vengeance (Skill ID: 111)
- 基本元数据:职业
pal| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt35_Vengeance(SrvSt: 35) ->SkillPal.cpp:914 - D2MOO 动作函数:
SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws(SrvDo: 2) ->Skills.cpp:2094 - Web 映射实现:
src/game/skills/impl/pal/skill-111-vengeance.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [35] SKILLS_SrvSt35_Vengeance 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [2] SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[35]驱动模式与前置校验)
112. Blessed Hammer (Skill ID: 112)
- 基本元数据:职业
pal| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo073_BlessedHammer(SrvDo: 73) ->SkillPal.cpp:1051 - Web 映射实现:
src/game/skills/impl/pal/skill-112-blessed-hammer.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [73] SKILLS_SrvDo073_BlessedHammer 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [blessedhammer],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
113. Concentration (Skill ID: 113)
- 基本元数据:职业
pal| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-113-concentration.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [concentration],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
114. Holy Freeze (Skill ID: 114)
- 基本元数据:职业
pal| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo081_HolyFreeze(SrvDo: 81) ->SkillPal.cpp:1305 - Web 映射实现:
src/game/skills/impl/pal/skill-114-holy-freeze.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [81] SKILLS_SrvDo081_HolyFreeze 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [holywind],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
115. Vigor (Skill ID: 115)
- 基本元数据:职业
pal| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-115-vigor.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [stamina],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
116. Conversion (Skill ID: 116)
- 基本元数据:职业
pal| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite(SrvSt: 32) ->SkillBar.cpp:60 - D2MOO 动作函数:
SKILLS_SrvDo079_Conversion(SrvDo: 79) ->SkillPal.cpp:1110 - Web 映射实现:
src/game/skills/impl/pal/skill-116-conversion.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [32] SKILLS_SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [79] SKILLS_SrvDo079_Conversion 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[32]驱动模式与前置校验)
117. Holy Shield (Skill ID: 117)
- 基本元数据:职业
pal| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt36_HolyShield(SrvSt: 36) ->SkillPal.cpp:1099 - D2MOO 动作函数:
SKILLS_SrvDo018_DefensiveBuff(SrvDo: 18) ->SkillSor.cpp:338 - Web 映射实现:
src/game/skills/impl/pal/skill-117-holy-shield.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [36] SKILLS_SrvSt36_HolyShield 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [18] SKILLS_SrvDo018_DefensiveBuff 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [holyshield],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[36]驱动模式与前置校验)
118. Holy Shock (Skill ID: 118)
- 基本元数据:职业
pal| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction(SrvDo: 66) ->SkillPal.cpp:484 - Web 映射实现:
src/game/skills/impl/pal/skill-118-holy-shock.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [66] SKILLS_SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [holyshock],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
119. Sanctuary (Skill ID: 119)
- 基本元数据:职业
pal| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction(SrvDo: 66) ->SkillPal.cpp:484 - Web 映射实现:
src/game/skills/impl/pal/skill-119-sanctuary.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [66] SKILLS_SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [sanctuary],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
120. Meditation (Skill ID: 120)
- 基本元数据:职业
pal| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-120-meditation.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [meditation],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
121. Fist of the Heavens (Skill ID: 121)
- 基本元数据:职业
pal| 需求等级30| 施法延迟25 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo080_FistOfTheHeavens(SrvDo: 80) ->SkillPal.cpp:1264 - Web 映射实现:
src/game/skills/impl/pal/skill-121-fist-of-the-heavens.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [80] SKILLS_SrvDo080_FistOfTheHeavens 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [fistoftheheavensdelay],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
122. Fanaticism (Skill ID: 122)
- 基本元数据:职业
pal| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-122-fanaticism.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [fanaticism],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
123. Conviction (Skill ID: 123)
- 基本元数据:职业
pal| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction(SrvDo: 66) ->SkillPal.cpp:484 - Web 映射实现:
src/game/skills/impl/pal/skill-123-conviction.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [66] SKILLS_SrvDo066_HolyFire_HolyShock_Sanctuary_Conviction 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [conviction],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
124. Redemption (Skill ID: 124)
- 基本元数据:职业
pal| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo082_Redemption(SrvDo: 82) ->SkillPal.cpp:1483 - Web 映射实现:
src/game/skills/impl/pal/skill-124-redemption.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [82] SKILLS_SrvDo082_Redemption 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [redemption],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
125. Salvation (Skill ID: 125)
- 基本元数据:职业
pal| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo065_BasicAura(SrvDo: 65) ->SkillPal.cpp:227 - Web 映射实现:
src/game/skills/impl/pal/skill-125-salvation.ts->src/game/skills/skills.ts - 运行时分发:
registry.ts->Branch 4: Auras - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [65] SKILLS_SrvDo065_BasicAura 触发动作帧处理。 Web端由 registry.ts 中的 Branch 4: Auras 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [resistall],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
第7章:Barbarian (野蛮人) (IDs 126..155) 逐项深度对照
本章对 Barbarian (野蛮人) 下辖全部 30 项技能进行逐项 1:1 源码审查:
126. Bash (Skill ID: 126)
- 基本元数据:职业
bar| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite(SrvSt: 32) ->SkillBar.cpp:60 - D2MOO 动作函数:
SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws(SrvDo: 2) ->Skills.cpp:2094 - Web 映射实现:
src/game/skills/impl/bar/skill-126-bash.ts->src/game/skills/barbarian-combat.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [32] SKILLS_SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [2] SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[32]驱动模式与前置校验)
127. Sword Mastery (Skill ID: 127)
- 基本元数据:职业
bar| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/bar/skill-127-sword-mastery.ts->src/game/skills/barbarian-masteries.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [swordmastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
128. Axe Mastery (Skill ID: 128)
- 基本元数据:职业
bar| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/bar/skill-128-axe-mastery.ts->src/game/skills/barbarian-masteries.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [axemastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
129. Mace Mastery (Skill ID: 129)
- 基本元数据:职业
bar| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/bar/skill-129-mace-mastery.ts->src/game/skills/barbarian-masteries.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [macemastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
130. Howl (Skill ID: 130)
- 基本元数据:职业
bar| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo022_NovaAttack(SrvDo: 22) ->SkillSor.cpp:578 - Web 映射实现:
src/game/skills/impl/bar/skill-130-howl.ts->src/game/skills/barbarian-warcries.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [22] SKILLS_SrvDo022_NovaAttack 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [howl],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
131. Find Potion (Skill ID: 131)
- 基本元数据:职业
bar| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt33_FindPotion_GrimWard(SrvSt: 33) ->SkillBar.cpp:148 - D2MOO 动作函数:
SKILLS_SrvDo069_FindPotion(SrvDo: 69) ->SkillBar.cpp:166 - Web 映射实现:
src/game/skills/impl/bar/skill-131-find-potion.ts->src/game/skills/barbarian-warcries.ts - 运行时分发:
registry.ts->Branch 5: Corpse & Utility - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [33] SKILLS_SrvSt33_FindPotion_GrimWard 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [69] SKILLS_SrvDo069_FindPotion 触发动作帧处理。 Web端由 registry.ts 中的 Branch 5: Corpse & Utility 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[33]驱动模式与前置校验)
132. Leap (Skill ID: 132)
- 基本元数据:职业
bar| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt40_Leap(SrvSt: 40) ->SkillBar.cpp:1190 - D2MOO 动作函数:
SKILLS_SrvDo077_Leap(SrvDo: 77) ->SkillBar.cpp:1366 - Web 映射实现:
src/game/skills/impl/bar/skill-132-leap.ts->src/game/skills/barbarian-combat.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [40] SKILLS_SrvSt40_Leap 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [77] SKILLS_SrvDo077_Leap 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [leapknockback],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[40]驱动模式与前置校验)
133. Double Swing (Skill ID: 133)
- 基本元数据:职业
bar| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo070_DoubleSwing(SrvDo: 70) ->SkillBar.cpp:312 - Web 映射实现:
src/game/skills/impl/bar/skill-133-double-swing.ts->src/game/skills/barbarian-combat.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [70] SKILLS_SrvDo070_DoubleSwing 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
134. Pole Arm Mastery (Skill ID: 134)
- 基本元数据:职业
bar| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/bar/skill-134-pole-arm-mastery.ts->src/game/skills/barbarian-masteries.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [polearmmastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
135. Throwing Mastery (Skill ID: 135)
- 基本元数据:职业
bar| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/bar/skill-135-throwing-mastery.ts->src/game/skills/barbarian-masteries.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [throwingmastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
136. Spear Mastery (Skill ID: 136)
- 基本元数据:职业
bar| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/bar/skill-136-spear-mastery.ts->src/game/skills/barbarian-masteries.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [spearmastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
137. Taunt (Skill ID: 137)
- 基本元数据:职业
bar| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo071_Taunt(SrvDo: 71) ->SkillBar.cpp:360 - Web 映射实现:
src/game/skills/impl/bar/skill-137-taunt.ts->src/game/skills/barbarian-warcries.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [71] SKILLS_SrvDo071_Taunt 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
138. Shout (Skill ID: 138)
- 基本元数据:职业
bar| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo068_BasicShout(SrvDo: 68) ->SkillBar.cpp:288 - Web 映射实现:
src/game/skills/impl/bar/skill-138-shout.ts->src/game/skills/barbarian-warcries.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [68] SKILLS_SrvDo068_BasicShout 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [shout],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [shout],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
139. Stun (Skill ID: 139)
- 基本元数据:职业
bar| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite(SrvSt: 32) ->SkillBar.cpp:60 - D2MOO 动作函数:
SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws(SrvDo: 2) ->Skills.cpp:2094 - Web 映射实现:
src/game/skills/impl/bar/skill-139-stun.ts->src/game/skills/barbarian-combat.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [32] SKILLS_SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [2] SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[32]驱动模式与前置校验)
140. Double Throw (Skill ID: 140)
- 基本元数据:职业
bar| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo074_DoubleThrow(SrvDo: 74) ->SkillBar.cpp:491 - Web 映射实现:
src/game/skills/impl/bar/skill-140-double-throw.ts->src/game/skills/barbarian-combat.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [74] SKILLS_SrvDo074_DoubleThrow 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
141. Increased Stamina (Skill ID: 141)
- 基本元数据:职业
bar| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/bar/skill-141-increased-stamina.ts->src/game/skills/barbarian-masteries.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [increasedstamina],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
142. Find Item (Skill ID: 142)
- 基本元数据:职业
bar| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt34_FindItem(SrvSt: 34) ->SkillBar.cpp:427 - D2MOO 动作函数:
SKILLS_SrvDo072_FindItem(SrvDo: 72) ->SkillBar.cpp:439 - Web 映射实现:
src/game/skills/impl/bar/skill-142-find-item.ts->src/game/skills/barbarian-warcries.ts - 运行时分发:
registry.ts->Branch 5: Corpse & Utility - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [34] SKILLS_SrvSt34_FindItem 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [72] SKILLS_SrvDo072_FindItem 触发动作帧处理。 Web端由 registry.ts 中的 Branch 5: Corpse & Utility 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[34]驱动模式与前置校验)
143. Leap Attack (Skill ID: 143)
- 基本元数据:职业
bar| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt41_LeapAttack(SrvSt: 41) ->SkillBar.cpp:1564 - D2MOO 动作函数:
SKILLS_SrvDo078_LeapAttack(SrvDo: 78) ->SkillBar.cpp:1621 - Web 映射实现:
src/game/skills/impl/bar/skill-143-leap-attack.ts->src/game/skills/barbarian-combat.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [41] SKILLS_SrvSt41_LeapAttack 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [78] SKILLS_SrvDo078_LeapAttack 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[41]驱动模式与前置校验)
144. Concentrate (Skill ID: 144)
- 基本元数据:职业
bar| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite(SrvSt: 32) ->SkillBar.cpp:60 - D2MOO 动作函数:
SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws(SrvDo: 2) ->Skills.cpp:2094 - Web 映射实现:
src/game/skills/impl/bar/skill-144-concentrate.ts->src/game/skills/barbarian-combat.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [32] SKILLS_SrvSt32_Conversion_Bash_Stun_Concentrate_BearSmite 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [2] SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [concentrate],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[32]驱动模式与前置校验)
145. Iron Skin (Skill ID: 145)
- 基本元数据:职业
bar| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/bar/skill-145-iron-skin.ts->src/game/skills/barbarian-masteries.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [ironskin],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
146. Battle Cry (Skill ID: 146)
- 基本元数据:职业
bar| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo068_BasicShout(SrvDo: 68) ->SkillBar.cpp:288 - Web 映射实现:
src/game/skills/impl/bar/skill-146-battle-cry.ts->src/game/skills/barbarian-warcries.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [68] SKILLS_SrvDo068_BasicShout 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [battlecry],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
147. Frenzy (Skill ID: 147)
- 基本元数据:职业
bar| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo009_Frenzy(SrvDo: 9) ->SkillBar.cpp:708 - Web 映射实现:
src/game/skills/impl/bar/skill-147-frenzy.ts->src/game/skills/barbarian-combat.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [9] SKILLS_SrvDo009_Frenzy 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [frenzy],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
148. Increased Speed (Skill ID: 148)
- 基本元数据:职业
bar| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/bar/skill-148-increased-speed.ts->src/game/skills/barbarian-masteries.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [increasedspeed],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
149. Battle Orders (Skill ID: 149)
- 基本元数据:职业
bar| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo068_BasicShout(SrvDo: 68) ->SkillBar.cpp:288 - Web 映射实现:
src/game/skills/impl/bar/skill-149-battle-orders.ts->src/game/skills/barbarian-warcries.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [68] SKILLS_SrvDo068_BasicShout 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [battleorders],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [battleorders],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
150. Grim Ward (Skill ID: 150)
- 基本元数据:职业
bar| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt33_FindPotion_GrimWard(SrvSt: 33) ->SkillBar.cpp:148 - D2MOO 动作函数:
SKILLS_SrvDo075_GrimWard(SrvDo: 75) ->SkillBar.cpp:531 - Web 映射实现:
src/game/skills/impl/bar/skill-150-grim-ward.ts->src/game/skills/barbarian-warcries.ts - 运行时分发:
registry.ts->Branch 5: Corpse & Utility - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [33] SKILLS_SrvSt33_FindPotion_GrimWard 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [75] SKILLS_SrvDo075_GrimWard 触发动作帧处理。 Web端由 registry.ts 中的 Branch 5: Corpse & Utility 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [grimwardmediumstart, grimwardsmallstart, grimwardlargestart],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[33]驱动模式与前置校验)
151. Whirlwind (Skill ID: 151)
- 基本元数据:职业
bar| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt38_Whirlwind(SrvSt: 38) ->SkillBar.cpp:752 - D2MOO 动作函数:
SKILLS_SrvDo076_Whirlwind(SrvDo: 76) ->SkillBar.cpp:916 - Web 映射实现:
src/game/skills/impl/bar/skill-151-whirlwind.ts->src/game/skills/barbarian-combat.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [38] SKILLS_SrvSt38_Whirlwind 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [76] SKILLS_SrvDo076_Whirlwind 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。【架构差异】D2MOO由循环碰撞点(每4帧/8帧检测)与武器IAS断点驱动;Web端按时钟周期范围碰撞结算。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [whirlwind],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[38]驱动模式与前置校验)
- ⚠️ 旋风逐帧路径碰撞检测与双持攻击断点与原版C++底层结构存在时序差异
152. Berserk (Skill ID: 152)
- 基本元数据:职业
bar| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt39_Berserk(SrvSt: 39) ->SkillBar.cpp:1102 - D2MOO 动作函数:
SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws(SrvDo: 2) ->Skills.cpp:2094 - Web 映射实现:
src/game/skills/impl/bar/skill-152-berserk.ts->src/game/skills/barbarian-combat.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [39] SKILLS_SrvSt39_Berserk 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [2] SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [berserk],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[39]驱动模式与前置校验)
153. Natural Resistance (Skill ID: 153)
- 基本元数据:职业
bar| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/bar/skill-153-natural-resistance.ts->src/game/skills/barbarian-masteries.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [naturalresistance],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
154. War Cry (Skill ID: 154)
- 基本元数据:职业
bar| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo068_BasicShout(SrvDo: 68) ->SkillBar.cpp:288 - Web 映射实现:
src/game/skills/impl/bar/skill-154-war-cry.ts->src/game/skills/barbarian-warcries.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [68] SKILLS_SrvDo068_BasicShout 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [warcry],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
155. Battle Command (Skill ID: 155)
- 基本元数据:职业
bar| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo068_BasicShout(SrvDo: 68) ->SkillBar.cpp:288 - Web 映射实现:
src/game/skills/impl/bar/skill-155-battle-command.ts->src/game/skills/barbarian-warcries.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [68] SKILLS_SrvDo068_BasicShout 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [battlecommand],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [battlecommand],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
第8章:Druid (德鲁伊) (IDs 221..250) 逐项深度对照
本章对 Druid (德鲁伊) 下辖全部 30 项技能进行逐项 1:1 源码审查:
221. Raven (Skill ID: 221)
- 基本元数据:职业
dru| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo114_Raven(SrvDo: 114) ->SkillDruid.cpp:46 - Web 映射实现:
src/game/skills/impl/dru/skill-221-raven.ts->src/game/skills/druid-summon.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [114] SKILLS_SrvDo114_Raven 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [druidhawk],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
222. Plague Poppy (Skill ID: 222)
- 基本元数据:职业
dru| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo115_Vines(SrvDo: 115) ->SkillDruid.cpp:96 - Web 映射实现:
src/game/skills/impl/dru/skill-222-plague-poppy.ts->src/game/skills/druid-summon.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [115] SKILLS_SrvDo115_Vines 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [vine_beast],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [plaguepoppy],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
223. Wearwolf (Skill ID: 223)
- 基本元数据:职业
dru| 需求等级1| 施法延迟25 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo116_Wearwolf_Wearbear(SrvDo: 116) ->SkillDruid.cpp:262 - Web 映射实现:
src/game/skills/impl/dru/skill-223-wearwolf.ts->src/game/skills/druid-shapeshift.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [116] SKILLS_SrvDo116_Wearwolf_Wearbear 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [wolf],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
224. Shape Shifting (Skill ID: 224)
- 基本元数据:职业
dru| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/dru/skill-224-shape-shifting.ts->src/game/skills/druid-shapeshift.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
225. Firestorm (Skill ID: 225)
- 基本元数据:职业
dru| 需求等级1| 施法延迟15 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo117_Firestorm(SrvDo: 117) ->SkillDruid.cpp:357 - Web 映射实现:
src/game/skills/impl/dru/skill-225-firestorm.ts->src/game/skills/druid-elemental.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [117] SKILLS_SrvDo117_Firestorm 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [firestormmaker],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
226. Oak Sage (Skill ID: 226)
- 基本元数据:职业
dru| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo119_DruidSummon(SrvDo: 119) ->SkillDruid.cpp:415 - Web 映射实现:
src/game/skills/impl/dru/skill-226-oak-sage.ts->src/game/skills/druid-summon.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [119] SKILLS_SrvDo119_DruidSummon 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [oaksage],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
227. Summon Spirit Wolf (Skill ID: 227)
- 基本元数据:职业
dru| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo119_DruidSummon(SrvDo: 119) ->SkillDruid.cpp:415 - Web 映射实现:
src/game/skills/impl/dru/skill-227-summon-spirit-wolf.ts->src/game/skills/druid-summon.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [119] SKILLS_SrvDo119_DruidSummon 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [spiritwolf],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
228. Wearbear (Skill ID: 228)
- 基本元数据:职业
dru| 需求等级6| 施法延迟25 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo116_Wearwolf_Wearbear(SrvDo: 116) ->SkillDruid.cpp:262 - Web 映射实现:
src/game/skills/impl/dru/skill-228-wearbear.ts->src/game/skills/druid-shapeshift.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [116] SKILLS_SrvDo116_Wearwolf_Wearbear 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [bear],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
229. Molten Boulder (Skill ID: 229)
- 基本元数据:职业
dru| 需求等级6| 施法延迟50 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/dru/skill-229-molten-boulder.ts->src/game/skills/druid-elemental.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [moltenboulderemerge],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
230. Arctic Blast (Skill ID: 230)
- 基本元数据:职业
dru| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt11_Inferno_ArcticBlast(SrvSt: 11) ->SkillSor.cpp:177 - D2MOO 动作函数:
SKILLS_SrvDo019_Inferno_ArcticBlast(SrvDo: 19) ->SkillSor.cpp:394 - Web 映射实现:
src/game/skills/impl/dru/skill-230-arctic-blast.ts->src/game/skills/druid-elemental.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [11] SKILLS_SrvSt11_Inferno_ArcticBlast 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [19] SKILLS_SrvDo019_Inferno_ArcticBlast 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [arcticblast1],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[11]驱动模式与前置校验)
231. Cycle of Life (Skill ID: 231)
- 基本元数据:职业
dru| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo115_Vines(SrvDo: 115) ->SkillDruid.cpp:96 - Web 映射实现:
src/game/skills/impl/dru/skill-231-cycle-of-life.ts->src/game/skills/druid-summon.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [115] SKILLS_SrvDo115_Vines 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [vine_beast],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [cycleoflife],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
232. Feral Rage (Skill ID: 232)
- 基本元数据:职业
dru| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt56_FeralRage_Maul(SrvSt: 56) ->SkillDruid.cpp:471 - D2MOO 动作函数:
SKILLS_SrvDo120_FeralRage_Maul(SrvDo: 120) ->SkillDruid.cpp:528 - Web 映射实现:
src/game/skills/impl/dru/skill-232-feral-rage.ts->src/game/skills/druid-shapeshift.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [56] SKILLS_SrvSt56_FeralRage_Maul 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [120] SKILLS_SrvDo120_FeralRage_Maul 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [feralrage],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[56]驱动模式与前置校验)
233. Maul (Skill ID: 233)
- 基本元数据:职业
dru| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt56_FeralRage_Maul(SrvSt: 56) ->SkillDruid.cpp:471 - D2MOO 动作函数:
SKILLS_SrvDo120_FeralRage_Maul(SrvDo: 120) ->SkillDruid.cpp:528 - Web 映射实现:
src/game/skills/impl/dru/skill-233-maul.ts->src/game/skills/druid-shapeshift.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [56] SKILLS_SrvSt56_FeralRage_Maul 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [120] SKILLS_SrvDo120_FeralRage_Maul 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [maul],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[56]驱动模式与前置校验)
234. Eruption (Skill ID: 234)
- 基本元数据:职业
dru| 需求等级12| 施法延迟50 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo028_Meteor_Blizzard_Eruption_BaalTaunt_Catapult(SrvDo: 28) ->SkillSor.cpp:896 - Web 映射实现:
src/game/skills/impl/dru/skill-234-eruption.ts->src/game/skills/druid-elemental.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [28] SKILLS_SrvDo028_Meteor_Blizzard_Eruption_BaalTaunt_Catapult 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [erruption center],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
235. Cyclone Armor (Skill ID: 235)
- 基本元数据:职业
dru| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo018_DefensiveBuff(SrvDo: 18) ->SkillSor.cpp:338 - Web 映射实现:
src/game/skills/impl/dru/skill-235-cyclone-armor.ts->src/game/skills/druid-elemental.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [18] SKILLS_SrvDo018_DefensiveBuff 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [cyclonearmor],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
236. Heart of Wolverine (Skill ID: 236)
- 基本元数据:职业
dru| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo119_DruidSummon(SrvDo: 119) ->SkillDruid.cpp:415 - Web 映射实现:
src/game/skills/impl/dru/skill-236-heart-of-wolverine.ts->src/game/skills/druid-summon.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [119] SKILLS_SrvDo119_DruidSummon 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [heartofwolverine],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
237. Summon Fenris (Skill ID: 237)
- 基本元数据:职业
dru| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo119_DruidSummon(SrvDo: 119) ->SkillDruid.cpp:415 - Web 映射实现:
src/game/skills/impl/dru/skill-237-summon-fenris.ts->src/game/skills/druid-summon.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [119] SKILLS_SrvDo119_DruidSummon 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [fenris],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
238. Rabies (Skill ID: 238)
- 基本元数据:职业
dru| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt57_Rabies(SrvSt: 57) ->SkillDruid.cpp:606 - D2MOO 动作函数:
SKILLS_SrvDo121_Rabies(SrvDo: 121) ->SkillDruid.cpp:726 - Web 映射实现:
src/game/skills/impl/dru/skill-238-rabies.ts->src/game/skills/druid-shapeshift.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [57] SKILLS_SrvSt57_Rabies 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [121] SKILLS_SrvDo121_Rabies 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [rabiesplague],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[57]驱动模式与前置校验)
239. Fire Claws (Skill ID: 239)
- 基本元数据:职业
dru| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt58_FireClaws(SrvSt: 58) ->SkillDruid.cpp:834 - D2MOO 动作函数:
SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws(SrvDo: 2) ->Skills.cpp:2094 - Web 映射实现:
src/game/skills/impl/dru/skill-239-fire-claws.ts->src/game/skills/druid-shapeshift.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [58] SKILLS_SrvSt58_FireClaws 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [2] SKILLS_SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[58]驱动模式与前置校验)
240. Twister (Skill ID: 240)
- 基本元数据:职业
dru| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo118_Twister_Tornado(SrvDo: 118) ->SkillDruid.cpp:386 - Web 映射实现:
src/game/skills/impl/dru/skill-240-twister.ts->src/game/skills/druid-elemental.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [118] SKILLS_SrvDo118_Twister_Tornado 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [twister],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
241. Vines (Skill ID: 241)
- 基本元数据:职业
dru| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo115_Vines(SrvDo: 115) ->SkillDruid.cpp:96 - Web 映射实现:
src/game/skills/impl/dru/skill-241-vines.ts->src/game/skills/druid-summon.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [115] SKILLS_SrvDo115_Vines 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [vine_beast],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [vinecreature],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
242. Hunger (Skill ID: 242)
- 基本元数据:职业
dru| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo122_Hunger(SrvDo: 122) ->SkillDruid.cpp:869 - Web 映射实现:
src/game/skills/impl/dru/skill-242-hunger.ts->src/game/skills/druid-shapeshift.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [122] SKILLS_SrvDo122_Hunger 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
243. Shock Wave (Skill ID: 243)
- 基本元数据:职业
dru| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo008_MultipleShot_Teeth_ShockWave(SrvDo: 8) ->SkillAma.cpp:476 - Web 映射实现:
src/game/skills/impl/dru/skill-243-shock-wave.ts->src/game/skills/druid-shapeshift.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [8] SKILLS_SrvDo008_MultipleShot_Teeth_ShockWave 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [shockwave, shockwave],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
244. Volcano (Skill ID: 244)
- 基本元数据:职业
dru| 需求等级24| 施法延迟100 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo123_Volcano(SrvDo: 123) ->SkillDruid.cpp:914 - Web 映射实现:
src/game/skills/impl/dru/skill-244-volcano.ts->src/game/skills/druid-elemental.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [123] SKILLS_SrvDo123_Volcano 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [volcano],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
245. Tornado (Skill ID: 245)
- 基本元数据:职业
dru| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo118_Twister_Tornado(SrvDo: 118) ->SkillDruid.cpp:386 - Web 映射实现:
src/game/skills/impl/dru/skill-245-tornado.ts->src/game/skills/druid-elemental.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [118] SKILLS_SrvDo118_Twister_Tornado 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [tornado],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
246. Spirit of Barbs (Skill ID: 246)
- 基本元数据:职业
dru| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo119_DruidSummon(SrvDo: 119) ->SkillDruid.cpp:415 - Web 映射实现:
src/game/skills/impl/dru/skill-246-spirit-of-barbs.ts->src/game/skills/druid-summon.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [119] SKILLS_SrvDo119_DruidSummon 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [spiritofbarbs],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
247. Summon Grizzly (Skill ID: 247)
- 基本元数据:职业
dru| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo119_DruidSummon(SrvDo: 119) ->SkillDruid.cpp:415 - Web 映射实现:
src/game/skills/impl/dru/skill-247-summon-grizzly.ts->src/game/skills/druid-summon.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [119] SKILLS_SrvDo119_DruidSummon 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [druidbear],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
248. Fury (Skill ID: 248)
- 基本元数据:职业
dru| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt37_Zeal_Fury_BloodLordFrenzy(SrvSt: 37) ->SkillAma.cpp:304 - D2MOO 动作函数:
SKILLS_SrvDo013_Fend_Zeal_Fury(SrvDo: 13) ->SkillAma.cpp:795 - Web 映射实现:
src/game/skills/impl/dru/skill-248-fury.ts->src/game/skills/druid-shapeshift.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [37] SKILLS_SrvSt37_Zeal_Fury_BloodLordFrenzy 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [13] SKILLS_SrvDo013_Fend_Zeal_Fury 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[37]驱动模式与前置校验)
249. Armageddon (Skill ID: 249)
- 基本元数据:职业
dru| 需求等级30| 施法延迟150 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo124_Armageddon_Hurricane(SrvDo: 124) ->SkillDruid.cpp:957 - Web 映射实现:
src/game/skills/impl/dru/skill-249-armageddon.ts->src/game/skills/druid-elemental.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [124] SKILLS_SrvDo124_Armageddon_Hurricane 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [armageddoncontrol, armageddoncontrol, armageddoncontrol],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [armageddon],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
250. Hurricane (Skill ID: 250)
- 基本元数据:职业
dru| 需求等级30| 施法延迟150 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo124_Armageddon_Hurricane(SrvDo: 124) ->SkillDruid.cpp:957 - Web 映射实现:
src/game/skills/impl/dru/skill-250-hurricane.ts->src/game/skills/druid-elemental.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [124] SKILLS_SrvDo124_Armageddon_Hurricane 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [hurricane],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
第9章:Assassin (刺客) (IDs 251..280) 逐项深度对照
本章对 Assassin (刺客) 下辖全部 30 项技能进行逐项 1:1 源码审查:
251. Fire Trauma (Skill ID: 251)
- 基本元数据:职业
ass| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ass/skill-251-fire-trauma.ts->src/game/skills/assassin-traps.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [bomb in air],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
252. Claw Mastery (Skill ID: 252)
- 基本元数据:职业
ass| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ass/skill-252-claw-mastery.ts->src/game/skills/assassin-shadow.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [clawmastery],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
253. Psychic Hammer (Skill ID: 253)
- 基本元数据:职业
ass| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt22_PsychicHammer(SrvSt: 22) ->SkillAss.cpp:72 - D2MOO 动作函数:
SKILLS_SrvDo033_PsychicHammer(SrvDo: 33) ->SkillAss.cpp:101 - Web 映射实现:
src/game/skills/impl/ass/skill-253-psychic-hammer.ts->src/game/skills/assassin-shadow.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [22] SKILLS_SrvSt22_PsychicHammer 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [33] SKILLS_SrvDo033_PsychicHammer 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[22]驱动模式与前置校验)
254. Tiger Strike (Skill ID: 254)
- 基本元数据:职业
ass| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt23_AssasinChargeStrikes(SrvSt: 23) ->SkillAss.cpp:160 - D2MOO 动作函数:
SKILLS_SrvDo034_TigerStrike_CobraStrike_RoyalStrike(SrvDo: 34) ->SkillAss.cpp:179 - Web 映射实现:
src/game/skills/impl/ass/skill-254-tiger-strike.ts->src/game/skills/assassin-martial-arts.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [23] SKILLS_SrvSt23_AssasinChargeStrikes 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [34] SKILLS_SrvDo034_TigerStrike_CobraStrike_RoyalStrike 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [progressive_damage],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验)
255. Dragon Talon (Skill ID: 255)
- 基本元数据:职业
ass| 需求等级1| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt24_DragonTalon(SrvSt: 24) ->SkillAss.cpp:1121 - D2MOO 动作函数:
SKILLS_SrvDo042_DragonTalon(SrvDo: 42) ->SkillAss.cpp:1250 - Web 映射实现:
src/game/skills/impl/ass/skill-255-dragon-talon.ts->src/game/skills/assassin-martial-arts.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [24] SKILLS_SrvSt24_DragonTalon 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [42] SKILLS_SrvDo042_DragonTalon 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[24]驱动模式与前置校验)
256. Shock Field (Skill ID: 256)
- 基本元数据:职业
ass| 需求等级6| 施法延迟15 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo043_ShockField(SrvDo: 43) ->SkillAss.cpp:1370 - Web 映射实现:
src/game/skills/impl/ass/skill-256-shock-field.ts->src/game/skills/assassin-traps.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [43] SKILLS_SrvDo043_ShockField 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [shock field in air],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
257. Blade Sentinel (Skill ID: 257)
- 基本元数据:职业
ass| 需求等级6| 施法延迟50 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo044_BladeSentinel(SrvDo: 44) ->SkillAss.cpp:1469 - Web 映射实现:
src/game/skills/impl/ass/skill-257-blade-sentinel.ts->src/game/skills/assassin-traps.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [44] SKILLS_SrvDo044_BladeSentinel 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [blade creeper],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [bladecreeper],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
258. Quickness (Skill ID: 258)
- 基本元数据:职业
ass| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo018_DefensiveBuff(SrvDo: 18) ->SkillSor.cpp:338 - Web 映射实现:
src/game/skills/impl/ass/skill-258-quickness.ts->src/game/skills/assassin-shadow.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [18] SKILLS_SrvDo018_DefensiveBuff 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [quickness],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
259. Fists of Fire (Skill ID: 259)
- 基本元数据:职业
ass| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt23_AssasinChargeStrikes(SrvSt: 23) ->SkillAss.cpp:160 - D2MOO 动作函数:
SKILLS_SrvDo035_FistsOfFire_ClawsOfThunder_BladesOfIce(SrvDo: 35) ->SkillAss.cpp:272 - D2MOO 连击函数:段位1:
SKILLS_SrvDo143_FistsOfFire_RoyalStrike_ProgressiveFn(143), 段位2:SKILLS_SrvDo038_FistsOfFire_BladesOfIce_ProgressiveFn2(38), 段位3:SKILLS_SrvDo039_FistsOfFire_BladesOfIce_ProgressiveFn3(39) - Web 映射实现:
src/game/skills/impl/ass/skill-259-fists-of-fire.ts->src/game/skills/assassin-martial-arts.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [23] SKILLS_SrvSt23_AssasinChargeStrikes 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [35] SKILLS_SrvDo035_FistsOfFire_ClawsOfThunder_BladesOfIce 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。【连击系统】D2MOO由 SrvPrgFunc[143,38,39] 依聚气段数逐级释放;Web端由 MartialArtsTracker 判定生效。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [fistsoffirefirewall],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [progressive_fire],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验)
260. Dragon Claw (Skill ID: 260)
- 基本元数据:职业
ass| 需求等级6| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt25_64_DragonClaw_MonFrenzy(SrvSt: 25) ->SkillMonst.cpp:2078 - D2MOO 动作函数:
SKILLS_SrvDo046_DragonClaw(SrvDo: 46) ->SkillAss.cpp:1544 - Web 映射实现:
src/game/skills/impl/ass/skill-260-dragon-claw.ts->src/game/skills/assassin-martial-arts.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [25] SKILLS_SrvSt25_64_DragonClaw_MonFrenzy 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [46] SKILLS_SrvDo046_DragonClaw 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[25]驱动模式与前置校验)
261. Charged Bolt Sentry (Skill ID: 261)
- 基本元数据:职业
ass| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo045_Sentry(SrvDo: 45) ->SkillAss.cpp:1520 - Web 映射实现:
src/game/skills/impl/ass/skill-261-charged-bolt-sentry.ts->src/game/skills/assassin-traps.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [45] SKILLS_SrvDo045_Sentry 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [chargeboltsentry],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
262. Wake of Fire Sentry (Skill ID: 262)
- 基本元数据:职业
ass| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo045_Sentry(SrvDo: 45) ->SkillAss.cpp:1520 - Web 映射实现:
src/game/skills/impl/ass/skill-262-wake-of-fire-sentry.ts->src/game/skills/assassin-traps.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [45] SKILLS_SrvDo045_Sentry 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [wakeofdestruction],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
263. Weapon Block (Skill ID: 263)
- 基本元数据:职业
ass| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
nullptr(SrvDo: 0) ->None:0 - Web 映射实现:
src/game/skills/impl/ass/skill-263-weapon-block.ts->src/game/skills/assassin-shadow.ts - 运行时分发:
registry.ts->Branch 1: Passive Skills - 对齐评级:Grade A —— 【严格对齐】核心数学公式、弹道/状态定义与 1.13c D2MOO 完全吻合。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [0] nullptr 触发动作帧处理。 Web端由 registry.ts 中的 Branch 1: Passive Skills 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [weaponblock],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
264. Cloak of Shadows (Skill ID: 264)
- 基本元数据:职业
ass| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo047_CloakOfShadows(SrvDo: 47) ->SkillAss.cpp:1652 - Web 映射实现:
src/game/skills/impl/ass/skill-264-cloak-of-shadows.ts->src/game/skills/assassin-shadow.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [47] SKILLS_SrvDo047_CloakOfShadows 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [cloak_of_shadows],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
265. Cobra Strike (Skill ID: 265)
- 基本元数据:职业
ass| 需求等级12| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt23_AssasinChargeStrikes(SrvSt: 23) ->SkillAss.cpp:160 - D2MOO 动作函数:
SKILLS_SrvDo034_TigerStrike_CobraStrike_RoyalStrike(SrvDo: 34) ->SkillAss.cpp:179 - Web 映射实现:
src/game/skills/impl/ass/skill-265-cobra-strike.ts->src/game/skills/assassin-martial-arts.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [23] SKILLS_SrvSt23_AssasinChargeStrikes 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [34] SKILLS_SrvDo034_TigerStrike_CobraStrike_RoyalStrike 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [progressive_steal],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验)
266. Blade Fury (Skill ID: 266)
- 基本元数据:职业
ass| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt26_BladeFury(SrvSt: 26) ->SkillAss.cpp:1829 - D2MOO 动作函数:
SKILLS_SrvDo048_BladeFury(SrvDo: 48) ->SkillAss.cpp:1769 - Web 映射实现:
src/game/skills/impl/ass/skill-266-blade-fury.ts->src/game/skills/assassin-traps.ts - 运行时分发:
registry.ts->Branch 10: Missiles & Spells - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [26] SKILLS_SrvSt26_BladeFury 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [48] SKILLS_SrvDo048_BladeFury 触发动作帧处理。 Web端由 registry.ts 中的 Branch 10: Missiles & Spells 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [bladefragment1],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[26]驱动模式与前置校验)
267. Fade (Skill ID: 267)
- 基本元数据:职业
ass| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo018_DefensiveBuff(SrvDo: 18) ->SkillSor.cpp:338 - Web 映射实现:
src/game/skills/impl/ass/skill-267-fade.ts->src/game/skills/assassin-shadow.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [18] SKILLS_SrvDo018_DefensiveBuff 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [fade],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
268. Shadow Warrior (Skill ID: 268)
- 基本元数据:职业
ass| 需求等级18| 施法延迟150 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo049_ShadowWarrior_Master(SrvDo: 49) ->SkillAss.cpp:1975 - Web 映射实现:
src/game/skills/impl/ass/skill-268-shadow-warrior.ts->src/game/skills/assassin-shadow.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [49] SKILLS_SrvDo049_ShadowWarrior_Master 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [shadowwarrior],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [shadowwarrior],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
269. Claws of Thunder (Skill ID: 269)
- 基本元数据:职业
ass| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt23_AssasinChargeStrikes(SrvSt: 23) ->SkillAss.cpp:160 - D2MOO 动作函数:
SKILLS_SrvDo035_FistsOfFire_ClawsOfThunder_BladesOfIce(SrvDo: 35) ->SkillAss.cpp:272 - D2MOO 连击函数:段位2:
SKILLS_SrvDo036_ClawsOfThunder_ProgressiveFn2(36), 段位3:SKILLS_SrvDo037_ClawsOfThunder_ProgressiveFn3(37) - Web 映射实现:
src/game/skills/impl/ass/skill-269-claws-of-thunder.ts->src/game/skills/assassin-martial-arts.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [23] SKILLS_SrvSt23_AssasinChargeStrikes 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [35] SKILLS_SrvDo035_FistsOfFire_ClawsOfThunder_BladesOfIce 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。【连击系统】D2MOO由 SrvPrgFunc[36,37] 依聚气段数逐级释放;Web端由 MartialArtsTracker 判定生效。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [clawsofthundernova, clawsofthunderbolt],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [progressive_lightning],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验)
270. Dragon Tail (Skill ID: 270)
- 基本元数据:职业
ass| 需求等级18| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt27_DragonTail(SrvSt: 27) ->SkillAss.cpp:2093 - D2MOO 动作函数:
SKILLS_SrvDo050_DragonTail(SrvDo: 50) ->SkillAss.cpp:2131 - Web 映射实现:
src/game/skills/impl/ass/skill-270-dragon-tail.ts->src/game/skills/assassin-martial-arts.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [27] SKILLS_SrvSt27_DragonTail 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [50] SKILLS_SrvDo050_DragonTail 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [dragontail missile],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[27]驱动模式与前置校验)
271. Lightning Sentry (Skill ID: 271)
- 基本元数据:职业
ass| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo045_Sentry(SrvDo: 45) ->SkillAss.cpp:1520 - Web 映射实现:
src/game/skills/impl/ass/skill-271-lightning-sentry.ts->src/game/skills/assassin-traps.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [45] SKILLS_SrvDo045_Sentry 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [lightningsentry],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
272. Inferno Sentry (Skill ID: 272)
- 基本元数据:职业
ass| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo045_Sentry(SrvDo: 45) ->SkillAss.cpp:1520 - Web 映射实现:
src/game/skills/impl/ass/skill-272-inferno-sentry.ts->src/game/skills/assassin-traps.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [45] SKILLS_SrvDo045_Sentry 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [infernosentry],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
273. Mind Blast (Skill ID: 273)
- 基本元数据:职业
ass| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo051_MindBlast(SrvDo: 51) ->SkillAss.cpp:2314 - Web 映射实现:
src/game/skills/impl/ass/skill-273-mind-blast.ts->src/game/skills/assassin-shadow.ts - 运行时分发:
registry.ts->Branch 6: Curses & Warcries - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [51] SKILLS_SrvDo051_MindBlast 触发动作帧处理。 Web端由 registry.ts 中的 Branch 6: Curses & Warcries 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
274. Blades of Ice (Skill ID: 274)
- 基本元数据:职业
ass| 需求等级24| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt23_AssasinChargeStrikes(SrvSt: 23) ->SkillAss.cpp:160 - D2MOO 动作函数:
SKILLS_SrvDo035_FistsOfFire_ClawsOfThunder_BladesOfIce(SrvDo: 35) ->SkillAss.cpp:272 - D2MOO 连击函数:段位2:
SKILLS_SrvDo038_FistsOfFire_BladesOfIce_ProgressiveFn2(38), 段位3:SKILLS_SrvDo039_FistsOfFire_BladesOfIce_ProgressiveFn3(39) - Web 映射实现:
src/game/skills/impl/ass/skill-274-blades-of-ice.ts->src/game/skills/assassin-martial-arts.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [23] SKILLS_SrvSt23_AssasinChargeStrikes 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [35] SKILLS_SrvDo035_FistsOfFire_ClawsOfThunder_BladesOfIce 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。【连击系统】D2MOO由 SrvPrgFunc[38,39] 依聚气段数逐级释放;Web端由 MartialArtsTracker 判定生效。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [bladesoficecubes],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [progressive_cold],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验)
275. Dragon Flight (Skill ID: 275)
- 基本元数据:职业
ass| 需求等级24| 施法延迟25 帧 - D2MOO 起手函数:
SKILLS_SrvSt12_Telekinesis_DragonFlight(SrvSt: 12) ->SkillSor.cpp:190 - D2MOO 动作函数:
SKILLS_SrvDo052_DragonFlight(SrvDo: 52) ->SkillAss.cpp:2353 - Web 映射实现:
src/game/skills/impl/ass/skill-275-dragon-flight.ts->src/game/skills/assassin-martial-arts.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [12] SKILLS_SrvSt12_Telekinesis_DragonFlight 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [52] SKILLS_SrvDo052_DragonFlight 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[12]驱动模式与前置校验)
276. Death Sentry (Skill ID: 276)
- 基本元数据:职业
ass| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo045_Sentry(SrvDo: 45) ->SkillAss.cpp:1520 - Web 映射实现:
src/game/skills/impl/ass/skill-276-death-sentry.ts->src/game/skills/assassin-traps.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [45] SKILLS_SrvDo045_Sentry 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):无被动/光环专属常驻状态。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [deathsentry],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
277. Blade Shield (Skill ID: 277)
- 基本元数据:职业
ass| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt28_BladeShield(SrvSt: 28) ->SkillAss.cpp:2426 - D2MOO 动作函数:
SKILLS_SrvDo054_BladeShield(SrvDo: 54) ->SkillAss.cpp:2556 - Web 映射实现:
src/game/skills/impl/ass/skill-277-blade-shield.ts->src/game/skills/assassin-traps.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [28] SKILLS_SrvSt28_BladeShield 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [54] SKILLS_SrvDo054_BladeShield 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [blade shield attachment],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [bladeshield],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[28]驱动模式与前置校验)
278. Venom (Skill ID: 278)
- 基本元数据:职业
ass| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo018_DefensiveBuff(SrvDo: 18) ->SkillSor.cpp:338 - Web 映射实现:
src/game/skills/impl/ass/skill-278-venom.ts->src/game/skills/assassin-shadow.ts - 运行时分发:
registry.ts->Branch 7: Buffs & Armors - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [18] SKILLS_SrvDo018_DefensiveBuff 触发动作帧处理。 Web端由 registry.ts 中的 Branch 7: Buffs & Armors 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [venomclaws],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
279. Shadow Master (Skill ID: 279)
- 基本元数据:职业
ass| 需求等级30| 施法延迟150 帧 - D2MOO 起手函数:
nullptr(SrvSt: 0) ->None:0 - D2MOO 动作函数:
SKILLS_SrvDo049_ShadowWarrior_Master(SrvDo: 49) ->SkillAss.cpp:1975 - Web 映射实现:
src/game/skills/impl/ass/skill-279-shadow-master.ts->src/game/skills/assassin-shadow.ts - 运行时分发:
registry.ts->Branch 3: Summons & Entities - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [0] nullptr 进行施法前置验证与武器限制检查。原版无额外起手验证(直通动作执行)。Web端与原版一致,直接调度。
- Dim 2 (触发与动作):D2MOO由 SrvDo [49] SKILLS_SrvDo049_ShadowWarrior_Master 触发动作帧处理。 Web端由 registry.ts 中的 Branch 3: Summons & Entities 统一分发执行。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):无直系投射物生成。
- Dim 5 (状态机与光环):关联状态机 [shadowwarrior],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):通过 SummonManager 生产宠物 [shadowmaster],遵循 PetType 上限与 AI 属性。
差异明细:无明显逻辑偏差,完全遵循 1.13c 真值规范。
280. Royal Strike (Skill ID: 280)
- 基本元数据:职业
ass| 需求等级30| 施法延迟0 帧 - D2MOO 起手函数:
SKILLS_SrvSt23_AssasinChargeStrikes(SrvSt: 23) ->SkillAss.cpp:160 - D2MOO 动作函数:
SKILLS_SrvDo034_TigerStrike_CobraStrike_RoyalStrike(SrvDo: 34) ->SkillAss.cpp:179 - D2MOO 连击函数:段位1:
SKILLS_SrvDo040_RoyalStrike_ProgressiveFn1(40), 段位2:SKILLS_SrvDo143_FistsOfFire_RoyalStrike_ProgressiveFn(143), 段位3:SKILLS_SrvDo041_RoyalStrike_ProgressiveFn3(41) - Web 映射实现:
src/game/skills/impl/ass/skill-280-royal-strike.ts->src/game/skills/assassin-martial-arts.ts - 运行时分发:
registry.ts->Branch 9: Pure Melee & Multi-hit - 对齐评级:Grade B —— 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。
六维对比分析:
- Dim 1 (起手与条件):D2MOO使用 SrvSt [23] SKILLS_SrvSt23_AssasinChargeStrikes 进行施法前置验证与武器限制检查。Web端由战斗主循环与 SkillExecContext 判定条件,未显式解耦 SrvSt 帧时序。
- Dim 2 (触发与动作):D2MOO由 SrvDo [34] SKILLS_SrvDo034_TigerStrike_CobraStrike_RoyalStrike 触发动作帧处理。 Web端由 registry.ts 中的 Branch 9: Pure Melee & Multi-hit 统一分发执行。【连击系统】D2MOO由 SrvPrgFunc[40,143,41] 依聚气段数逐级释放;Web端由 MartialArtsTracker 判定生效。
- Dim 3 (数值与协同):严格遵循 1.13c 5-band 阶梯成长与 24.8 定点法力消耗。协同仅统计硬点投入(blvl)。
- Dim 4 (投射物与弹道):生成主投射物 [royalstrikemeteorcenter, royalstrikechainlightning, royalstrikechaosice],支持弹道碰撞与NextDelay。
- Dim 5 (状态机与光环):关联状态机 [progressive_other],受 StateBus 统一管控。
- Dim 6 (召唤物与特殊):不涉及宠物/次级实体生成。
差异明细与改进建议:
- ⚠️ 起手与动作帧未解耦(D2MOO由SrvSt[23]驱动模式与前置校验)
第十章:通用玩家技能 (Universal Player Skills, 11 项) 对照
| ID | 技能名称 | D2MOO SrvSt 起手函数 | D2MOO SrvDo 执行函数 | Web 对应模块 | 评级 | 机制说明 |
|---|---|---|---|---|---|---|
| 0 | Attack | [1] SrvSt01_Attack_LeftHandSwing |
[1] SrvDo001_Attack_LeftHandSwing |
skill-000-attack.ts |
B | 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。 |
| 1 | Kick | [2] SrvSt02_Kick |
[2] SrvDo002_Kick_PowerStrike_MonIceSpear_Impale_Bash_Stun_Concentrate_BearSmite_Vengeance_Berserk_FireClaws |
skill-001-kick.ts |
B | 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。 |
| 2 | Throw | [65] SrvSt65_Throw_LeftHandThrow |
[3] SrvDo003_Throw |
skill-002-throw.ts |
B | 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。 |
| 3 | Unsummon | [3] SrvSt03_Unsummon |
[4] SrvDo004_Unsummon |
skill-003-unsummon.ts |
B | 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。 |
| 4 | Left Hand Throw | [65] SrvSt65_Throw_LeftHandThrow |
[5] SrvDo005_LeftHandThrow |
skill-004-left-hand-throw.ts |
B | 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。 |
| 5 | Left Hand Swing | [1] SrvSt01_Attack_LeftHandSwing |
[1] SrvDo001_Attack_LeftHandSwing |
skill-005-left-hand-swing.ts |
B | 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。 |
| 217 | Scroll of Identify | nullptr (0) |
[113] SrvDo113_Scroll_Book |
skill-217-scroll-of-identify.ts |
B | 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。 |
| 218 | Book of Identify | nullptr (0) |
[113] SrvDo113_Scroll_Book |
skill-218-book-of-identify.ts |
B | 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。 |
| 219 | Scroll of Townportal | nullptr (0) |
[113] SrvDo113_Scroll_Book |
skill-219-scroll-of-townportal.ts |
B | 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。 |
| 220 | Book of Townportal | nullptr (0) |
[113] SrvDo113_Scroll_Book |
skill-220-book-of-townportal.ts |
B | 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。 |
| 350 | Delerium Change | nullptr (0) |
[116] SrvDo116_Wearwolf_Wearbear |
skill-350-delerium-change.ts |
B | 【功能对齐】核心战斗逻辑、数值与视觉效果完备,与原版存在网络帧/状态机解耦架构差异。 |
第十一章:系统性架构差异与特征提炼 (Systemic Discrepancies)
在对全部 210 项职业技能和 11 项通用技能的对照中,我们提炼出以下四大系统性架构差异:
1. 施法前置验证与动作帧解耦 (SrvSt vs SrvDo Decoupling)
- D2MOO 原版:原版分为
SrvSt(施法启动帧,校验武器、目标距离、法力预扣除、弹药扣减)与SrvDo(动作打击帧,实际结算伤害、发射子弹)。 - diablo2-web:目前大部分技能在动作触发时通过
executeSkillCore113c一并结算。建议后续将投掷、近战攻击的前置合法性检查收拢至统一的起手前置拦截器(如近期已修复的投掷武器空手挥动问题)。
2. 连续打击与旋风多段碰撞断点 (Continuous Multi-hit Kinematics)
- D2MOO 原版:野蛮人旋风(Whirlwind)、白刃狂灵(Frenzy)、热诚(Zeal)、狂怒(Fury)在原版 C++ 中高度依赖武器 IAS、帧动画模式计数器和专门的状态锁。
- diablo2-web:Web 端采用了基于时钟刻(Tick)与 NextDelay 的碰撞保护矩阵,数值结算对齐良好,但在极高极低攻击速度下的帧断点模拟上仍有微调空间。
3. 武学连击蓄力球与三段释放 (Martial Arts Charge-Up System)
- D2MOO 原版:刺客 4 大元素武学使用
srvprgfunc1..3严格对应 1/2/3 颗蓄力球,并在终结技命中时按层级依次释放。 - diablo2-web:已在
assassin-martial-arts.ts中构建完备的状态跟踪器,与 D2MOO 的功能语义高度契合。
4. 召唤物上限与独立 AI 行为树 (Pet Caps & Sub-skills)
- D2MOO 原版:召唤物直接绑定
PetType.txt,死灵骷髅、魔像、德鲁伊灵气与刺客影子拥有完全独立的实体结构与子技能列表(IDs 281..338)。 - diablo2-web:已通过
summon-manager.ts和PET_SUB_SKILL_IDS完成 100% 规则隔离,确保跨职业召唤物互不顶替。
第十二章:分级优化建议与路线图 (Remediation Roadmap)
| 优先级 | 领域 / 技能 | 现状与改进方向 | 建议 Milestone |
|---|---|---|---|
| P1 | 施法前置快速失败体系 | 在 castSkill 前置拦截器中完全对齐 D2MOO SrvSt 武器类型与弹药检查,防止空手触发非法动作。 |
M31 |
| P1 | 旋风 (Whirlwind) 碰撞与攻速断点 | 引入 D2MOO 0x6FCF6850 帧时钟断点,强化双持武器分别结算与 4 帧起手命中特性。 | M31 |
| P2 | 光环脉冲边界防重叠 | 优化多重神圣光环(Holy Fire/Shock/Freeze)在极小范围内的同帧伤害脉冲抖动。 | M32 |
| P2 | 刺客终结技双持判定 | 严格核对双爪双击(Dragon Claw)分别触发两个判定帧的准确时序。 | M32 |