troytt
c8477a5a15
feat(skill-023): implement 1.13c Penetrate module and Vitest suite ( #177 )
2026-09-22 03:37:58 +00:00
troytt
eca9504b05
feat(skill-022): implement 1.13c Guided Arrow module and Vitest suite ( #176 )
2026-09-22 03:37:52 +00:00
troytt
3c01cdaf05
feat(skill-021): implement 1.13c Ice Arrow module and Vitest suite ( #175 )
2026-09-22 03:37:42 +00:00
troytt
a77db32397
feat(skill-020): implement 1.13c Lightning Bolt module and Vitest suite ( #174 )
2026-09-22 03:37:34 +00:00
troytt
4f9707ac1f
feat(skill-019): implement 1.13c Impale module and Vitest suite ( #173 )
2026-09-22 03:37:25 +00:00
troytt
16253ffb3a
feat(skill-018): implement 1.13c Avoid module and Vitest suite ( #172 )
2026-09-22 03:37:16 +00:00
troytt
7824e889e1
feat(skill-017): implement 1.13c Slow Missiles module and Vitest suite ( #171 )
2026-09-22 03:37:09 +00:00
troytt
85347c7e69
feat(skill-016): implement 1.13c Exploding Arrow module and Vitest suite ( #170 )
2026-09-22 03:37:00 +00:00
troytt
c3b3fa3404
feat(skill-015): implement 1.13c Poison Javelin module and Vitest suite ( #169 )
2026-09-22 03:36:54 +00:00
troytt
d8ed948816
feat(skill-014): implement 1.13c Power Strike module and Vitest suite ( #168 )
2026-09-22 03:36:49 +00:00
troytt
fa65670572
feat(skill-013): implement 1.13c Dodge module and Vitest suite ( #167 )
2026-09-22 03:36:42 +00:00
troytt
ffd4e6ae51
feat(skill-012): implement 1.13c Multiple Shot module and Vitest suite ( #166 )
2026-09-22 03:36:36 +00:00
troytt
a8bfc318e0
feat(skill-011): implement 1.13c Cold Arrow module and Vitest suite ( #165 )
2026-09-22 03:36:29 +00:00
troytt
1294496555
feat(skill-010): implement 1.13c Jab module and Vitest suite ( #164 )
2026-09-22 03:36:21 +00:00
troytt
5ec7c16294
feat(skill-009): implement 1.13c Critical Strike module and Vitest suite ( #163 )
2026-09-22 03:36:16 +00:00
troytt
50599c6833
feat(skill-008): implement 1.13c Inner Sight module and Vitest suite ( #162 )
2026-09-22 03:36:09 +00:00
troytt
d94b96241a
feat(skill-007): implement 1.13c Fire Arrow module and Vitest suite ( #161 )
2026-09-22 03:36:02 +00:00
troytt
f5c0b8f8b8
feat(skill-006): implement 1.13c Magic Arrow module and Vitest suite ( #160 )
2026-09-22 03:35:55 +00:00
troytt
cc44f72536
feat(skill-005): implement 1.13c Left Hand Swing module and Vitest suite ( #159 )
2026-09-22 03:35:46 +00:00
troytt
b87c7281f8
feat(skill-004): implement 1.13c Left Hand Throw module and Vitest suite ( #158 )
2026-09-22 03:35:38 +00:00
troytt
1d73542791
feat(skill-003): implement 1.13c Unsummon module and Vitest suite ( #157 )
2026-09-22 03:35:29 +00:00
troytt
5e2f189584
feat(skill-002): implement 1.13c Throw module and Vitest suite ( #156 )
2026-09-22 03:35:23 +00:00
troytt
7be0b1c707
feat(skill-001): implement 1.13c Kick module and Vitest suite ( #155 )
2026-09-22 03:35:14 +00:00
troytt
49abeb5f8c
feat(skill-000): implement 1.13c Attack module and Vitest suite ( #154 )
2026-09-22 03:35:06 +00:00
troytt
c25194ffe5
feat(skills): export evaluateSkillCore113c and executeSkillCore113c for per-skill modules
2026-09-22 03:31:22 +00:00
troytt
a727343eb3
feat(arena): add switchAndCastSkill and hero class avatar overlay to ?arena=1
2026-09-22 03:30:22 +00:00
troytt
550787cb0a
feat(engine): implement R1 universal 1.13c skill engine, 7-class renderer, arena harness, and M2/E2E suites
2026-09-22 03:22:02 +00:00
troytt
244bdc1efb
fix: resolve slug edge cases and Act 5 Pandemonium level names ( Fixes #147 )
2026-09-22 03:17:22 +00:00
troytt
09cc23b53c
fix: load localized map area names from tbl on transition ( Fixes #147 )
2026-09-22 02:55:24 +00:00
troytt
f24ad292ca
feat(char): pack and render all 7 hero classes with R8 atlases and tests
2026-09-22 02:38:22 +00:00
troytt
c58cb60f79
fix: align ControlBar XP bar coordinates and 10-segment ticks ( Fixes #146 )
2026-09-22 02:06:48 +00:00
troytt
f9fd5eb3b8
feat(anim): 实现角色与怪物动作播放、武器切换感知与地表锚点对齐 ( Fixes #145 )
2026-09-21 14:51:18 +00:00
troytt
3fa29ec0b8
feat(anim): 实现基于 8.8 定点数时钟的实体动画状态机与事件调度器 (ActorAnimator)
2026-09-21 13:50:23 +00:00
troytt
5586c50c8b
Merge branch 'feat/animation-system' into main: 合并动画锚点系统与 animdata 解析
2026-09-21 13:30:23 +00:00
troytt
f58ae5b693
feat(drlg): 注入 10,029 条原版 DT1 多候选地表加权池,修复库拉斯特与雪原瓦片并完成全量验证 (Phase D3)
2026-09-21 13:30:14 +00:00
troytt
380d01c6c3
feat(anim): 实现动画锚点系统、animdata 解析与玩家/怪物动画合成对齐
2026-09-21 13:30:04 +00:00
troytt
e2a74cc8f0
feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 ( fixes #134 , fixes #135 , fixes #136 , fixes #137 , fixes #138 , fixes #139 , fixes #140 )
...
- R1 (Issue #134 ): 离线烘焙预生成 UI 图集 (public/ui/) 与 embedded DropTables,彻底消除 2 秒纯色占位回退,实现零运行期 MPQ/DLL 依赖
- R2 (Issue #135 ): 修复地图缩放 (0.4x~8.0x) 及多 DPR 下 NPC 名称标签与模型顶部的投影对齐
- R3 (Issue #136 ): HUD 与全屏画布采用 1:1 纵横比等比缩放与居中,彻底修复宽屏下红蓝球被横向拉伸为椭圆的问题
- R4 (Issue #137 ): 传送点菜单 (Waypoint Menu) 支持点击无缝跨场景传送,随机选取地图变体并平稳降落在对应小站子网格
- R5 (Issue #138 ): 角色属性面板 (InvChar6) 文本与数字完美对准背景凹槽石框,加点按钮对齐
- R6 (Issue #139 ): 物品栏 5 级回退 DC6 图标渲染,消灭空白占位框;装备 Tooltip 等比缩放与视口翻折防遮挡
- R7 (Issue #140 ): 任务日志界面集成 1~5 幕全量 27 个任务图标 (a1q1..a5q6) 及 27 帧已完成印章,第 4 幕自动进行插槽钳制保护
- Controls Parity: 还原原版左键移动/NPC交互/小站/攻击,Shift 强制原地站立攻击,右键释放技能与被动/无技能移动回退,解除 A/W/S/1..4 快捷键与移动冲突
- Tooltips & Dyes: 基于 1.13c PL2 调色板 Table 104 (cgrn) 渲染翡翠绿军帽,战争召唤按 descpriority 完整呈现 11 行符文之语属性与三行正统标题
2026-09-21 11:09:10 +00:00
troytt
ca55cd29d8
feat(i18n): 补全暗黑2全量词缀汉化、修复语序倒装、充能技能负数与属性词条解析 (Issue #122 )
2026-09-19 12:35:08 +00:00
troytt
7f7b769840
feat(i18n): 装备与词条中英文多语言切换支持 EN/ZH/双语 ( fixes #122 )
2026-09-19 12:05:24 +00:00
troytt
fc6388779e
feat(tooltip/drop): 接线properties.ts实现显示层数据驱动化并完成Phase4 1.13c细节对齐 ( fixes #133 )
2026-09-19 11:06:06 +00:00
troytt
308e16f955
fix(affix): 校验词缀classspecific职业限制并支持职业专属装备classlevelreq等级需求 ( fixes #132 )
2026-09-19 10:51:55 +00:00
troytt
75eb4f4f4b
feat(drop/tooltip): 实现Superior/LowQuality属性、Ethereal无形与Socket打孔生成及Rare逐槽分配 ( fixes #131 )
2026-09-19 10:43:20 +00:00
troytt
041cd65ce0
fix(tooltip): 对齐1.13c dgrp全等合并规则,四抗与四维属性仅在全部相等时折叠显示 ( fixes #130 )
2026-09-19 10:32:47 +00:00
troytt
6d2de24000
feat(drop/affix): 将AutoMagic.txt与1.13c StaffMods接入掉落与Tooltip管线 ( fixes #129 )
2026-09-19 10:27:07 +00:00
troytt
72eb7dea8b
fix(affix/tooltip): 为魔法与稀有词缀补齐NON_RANDOM_RANGE_CODES保护,保留元素伤害区间与触发充能技能参数 ( fixes #128 )
2026-09-19 10:09:35 +00:00
troytt
a618ed7501
fix(drop): 基于ItemTypes.txt标志驱动品质判定与classSpecific传递,杜绝普通/劣质戒指护身符 ( fixes #127 )
2026-09-19 10:01:46 +00:00
troytt
b31a199e6b
fix(drop): 补齐Boss掉落monsterType=4使底模升级走Good档并建立1.13c回归基线 ( fixes #126 )
2026-09-19 09:52:01 +00:00
troytt
f68b1de4ec
feat(tooltip/stats): 实现武器防具基础属性增强与底模对照、词条合并与ItemStatCost优先级排序 ( fixes #123 , #125 )
...
- Issue #123 : 计算武器1H/2H增强伤害 (dmg%, dmg-min, dmg-max)、防具增强防御 (ac%, ac)、力量/敏捷/等级需求 (ease, levelreq) 及耐久度上限 (dur, dur%, 3x/2x降级),并附带原始底模数值对照(如 Two-Hand Damage: 36 to 48 (18 to 24), Defense: 260 (130), Required Strength: 124 (156))
- Issue #125 : 实现 aggregateAndSortProperties:
* 自动合并 fire-min + fire-max -> Adds X-Y Fire Damage(冰、电、毒、物理同理)
* 自动合并 dgrp=2 四抗为 All Resistances +X,dgrp=1 四维为 +X to All Attributes
* 累加前后缀同类标量词缀,并按 ItemStatCost.txt descpriority (180..0) 严格降序排列
- 全程保持 1.13c 官方英文规范,新增 tests/item-tooltip-123-125.test.ts 专项单测通过
TAG=agy
CONV=aade657e-0c8e-42ff-a5f2-87b2afe80e02
2026-09-19 08:05:07 +00:00
troytt
2cf5acb459
fix(tooltip/affix): 对齐1.13c Properties/ItemStatCost/.tbl全量182项词条模板与descFunc=11规则 ( fixes #124 )
...
- 溯源并修正 rep-dur (ItemStatCost ID 252, descFunc=11, ModStre9t/ModStre9u):
按 seconds = Math.floor(100 / par) 计算恢复周期(如 par=5 为 20s,par=20 为 5s,par=3 为 33s)
- 内嵌 1.13c Skills.txt + SkillDesc.txt + ENG .tbl 全量 222 项技能名称与职业限制映射(支持 Wearwolf->Werewolf, Summon Fenris->Summon Dire Wolf, Plague Poppy->Poison Creeper, 197->Firestorm 等)
- 内嵌 1.13c CharStats.txt StrSkillTab1..3 + StrClassOnly 全部 21 个技能系 (par 0..20)
- 覆盖 UniqueItems / SetItems / Sets / MagicAffixes / AutoMagic 全部 182 个唯一属性代码,0 处回退泄露
- 新增 tests/item-tooltip-124.test.ts 覆盖全表 182 项属性代码断言,全量 1619 项单测通过
TAG=agy
CONV=aade657e-0c8e-42ff-a5f2-87b2afe80e02
2026-09-19 07:43:58 +00:00
troytt
8ebedb2a35
fix(map-gen/act5): isolate snow and dirt barricade dt1 libraries and filter broken debris presets ( fixes #111 , #120 )
...
- Differentiate Act 5 Barricade SubType 10 (dirt) and SubType 11 (snow) in wildernessDt1Mask
to load Ground.dt1 (mask 0x01) and snow.dt1 (mask 0x10) exclusively, eliminating 5x5 checkerboard grid.
- Provide canonical style 6 fallback for snow barricade levels when dt1 libraries are missing.
- Exclude broken debris.tg1 border presets in getWildernessPieces for Act 5 Barricade.
- Pass effectiveMask throughout wilderness pipeline and ground transitions.
- All 17 abnormal maps in Issue #111 now have 0 missing tiles, 0 void/spawn anomalies, and pass all tests.
TAG=agy
CONV=2a1934de-30ef-464e-b3f3-fcbcdbbc49f1
2026-09-19 05:46:05 +00:00