[Skill #062] 九头海蛇 (Hydra) — 1.13c 投射物与地面炮台机制实装规范 #399
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
技能规范:[Skill #062] 九头海蛇 (Hydra) — 1.13c Parity
1. 核心真值参数 (Ground Truth Data)
1.1
Skills.txt数据表定义 (Skill ID: 62)skillHydraId62charclasssorsrvstfunc14srvdofunc144summonhydra1pettypehydrapetmax99summodeS2sumskill1HydraMissile(ID 337)hydradelay40manashift72^7 = 128)mana40lvlmana1castoverlayfire_cast_2Param1250Param20Param83HitShift72^7 = 128, 半点伤害精度)ETypefireEMin/EMax28/39EMinLev[11, 15, 19, 23, 27]EMaxLev[13, 17, 21, 25, 29]EDmgSymPerCalc(skill('Fire Bolt'.blvl) + skill('Fire Ball'.blvl))*par81.2
Missiles.txt投射物级联架构 (Missile ID: 247)MissilehydraIdpSrvDoFunc/pCltDoFuncpSrvHitFuncVel/MaxVelRangeCelFileFireboltFirebolt.dcc(16 方向 × 5 帧)ExplosionMissilefireexplodefireexplode(FireArrowExplode2.dcc, 12 帧)CollideTypeCollideKillPierceTranslighter)1.3 三头炮台坐标偏移与动画事件 (
MonStats.txt&AnimData.d2)hydra1(TokenHX, 左头)、hydra2(Token21, 中头)、hydra3(TokenHZ, 右头)。(-6, -11)(0, -7)(+4, -15)S2(升起生成): 12 帧 (12 刻 = 0.48 秒)NU(待机搜敌): 12 帧循环A1(吐火攻击): 12 帧,于 第 8 帧 触发0x02(ANIM_EVENT_MISSILE) 发射 missile 247DT(死亡下潜): 10 帧消散aidel = 15刻决策间隔。单头完整攻击周期为12 + 15 = 27刻 (1.08 秒)。2. 数学公式与固定精度标准
blvl) 在火弹 (Fire Bolt) 或火球 (Fire Ball) 提供 +3% 火焰伤害。item_allskills) 或充能装备对协同增幅为 0。ISO_GROUND_ASPECT_RATIO = 0.5椭圆修正。3. 架构集成计划与改动清单
src/game/skills.ts:BATCH1_SKILLS中注册技能 ID 62 (Hydra)。CANONICAL_113C_MISSILES中注册投射物 247 (hydra) 与级联爆炸fireexplode。tickProjectiles中实现静态炮台发射器或投射物发射机制:10 秒寿命、目标搜寻、火弹生成与 2:1 椭圆修正。src/game/engine/missile-engine.ts:src/scene/act-scene.ts:castSkill)、施法延迟 40 刻、法力扣除及脚底fire_cast_2覆盖层。hydra投射物贴图别名映射 (复用已烘焙的Firebolt.dcc资产与Trans: 1加色混合)。tests/skills/sor/skill-062-hydra.test.ts&tests/hydra-missile-113c.test.ts:4. 7 维全覆盖验证验收清单 (Acceptance Criteria)
fireexplode)Implementation Update & 7-Dimensional Verification Passed
Hydra (Skill 62) has been fully implemented in branch
feat/skill-62-hydra(Commit4f762fb) adhering strictly to Diablo II v1.13c ground truth.1. Implementation Highlights
Skills.txt,Missiles.txt):hydra(ID 247) andhydrafireinCANONICAL_113C_MISSILESwithvel: 16(400 px/s),range: 30(480 px range),light: 5,red: 255,green: 255,blue: 255, andexplosionMissile: 'fireexplode'.BATCH1_SKILLSwithmana: 40,lvlmana: 1,minmana: 1,manashift: 7(50% shift yielding 20 mana cost at slvl 1),delay: 40(1.6s cooldown),hitshift: 7(50% shift factor), andemaxlev1..5range progression.PET_SUB_SKILL_IDS337 (HydraMissile).MissileEngineandtickProjectilessupport stationary turret emitters (isTurret === true,missileType === 'hydra_turret').(vx = 0, vy = 0)for 250 frames (10 seconds) without drifting.ISO_GROUND_ASPECT_RATIO = 0.5) and emits ahydrafire bolt.castSkill(62)spawns 3 distinct turret heads at target location with authenticOverlay.txtoffsets:(-6, -11)(0, -7)(+4, -15)fire_cast_2player overlay.HYDRA_METAandHYDRAFIRE_METAaliasing bakedFIREBOLT_META(16 directions, 5 frames per direction, 16 animSpeed).loadMissileArtMapand implemented authentic procedural flame plume indrawMissileProjectile.2. Verification Results
npm run typecheck: 0 errors (code 0)npx vitest run tests/skills/sor/skill-062-hydra.test.ts tests/hydra-missile-113c.test.ts: 20/20 passed (100%)tests/frozen-orb-missile-113c.test.ts tests/missile-skills-113c.test.ts tests/cast-overlay-113c.test.ts tests/firebolt-missile-113c.test.ts): 59/59 passed (100%)[Skill #062] 九头海蛇 (Hydra) — 验收完毕与合并结项报告 (Issue #399 Closure)
1. 7 维全覆盖真值验收状态 (7D Parity Verification: PASS)
Skills.txt(ID 62, delay 40 ticks, mana 20/24/29, petmax 99, lifetime 250 ticks) 与Missiles.txt(ID 247hydra, speed 16, range 30, CelFile Firebolt) 100% 吻合。Firebolt.dcc资产与fire_cast_2脚底覆盖层,Trans: 1加色发光混合,零黑边与零运行时 MPQ 依赖。CollideKill: 1,Pierce: 0, 单体命中立即判定伤害并销毁弹体。fireexplode(FireArrowExplode2.dcc, 12 帧)。(-6,-11), (0,-7), (4,-15),40 刻施法延迟与法力扣除无缝集成。2. 缺陷修复与回归防御 (Idle Turret Inward Crossfire Bug Remediation)
39c25df):src/scene/act-scene.ts:移除炮台投射物定义中的默认targetX/targetY。src/game/skills.ts:tickProjectiles:移除 idle 状态下的projectile.targetX/Y回退逻辑,仅在检测到 480px 索敌范围内存在存活敌对目标时方可发射火弹。tests/hydra-missile-113c.test.ts:新增负向回归测试,验证在 0 敌对目标时 50 逻辑刻内生成火弹数恒等于 0。3. 主干合并与分支清理 (Merge & Cleanup)
feat/skill-62-hydra已干净 Fast-Forward 合并入main(ef2dbcd..39c25df)。git push origin main。.worktrees/skill-hydra及特性分支feat/skill-62-hydra已彻底清理。main主干运行npm run typecheck(0 错误)与全套技能测试套件(21/21 passed, 35/35 missile regression passed)100% 通过。本 Issue 验收通过,正式予以关闭。