要塞分支不再攻击空中单位;莫斯提马的减速显示状态图标 (#48)

要塞分支(灰毫 chess_char_2_18、号角 chess_char_5_08,普通与精锐)按官方不能攻击空中单位:build-data 不再把 fortress 归为可对空,重新生成 data/chess.json(只改这 4 条记录的 canHitFly),DESIGN §21.29 的技能释放调整保持不变。莫斯提马天赋的减速补上可见的减速状态图标(减速本身 0.1.1 已生效)。fix #35
This commit is contained in:
Y-PaP-Y authored and GitHub committed 2026-10-04 02:16:20 +08:00
1 parent 8b10625d3c
commit 052e906753
7 files changed
+41 -7

No files matched your search

+3 -1
View File
@@ -350,7 +350,7 @@ export const SUB = Object.freeze({
primprotector: P({}),
unyield: P({ noHeal: true }),
duelist: P({}),
fortress: P({ fortress: true, splashRadius: 1.0, projectile: 'bomb' }),
fortress: P({ fortress: true, splashRadius: 1.0, projectile: 'bomb', canHitFly: false, groundOnly: true }),
// --- WARRIOR
centurion: P({ hitAllBlocked: true }),
crusher: P({ hitAllBlocked: true }),
@@ -497,6 +497,8 @@ export function resolveProfile(def, kitTrait = null) {
if (p.dmgType === 'heal' && !p.heal && !p.noAttack) p.heal = { mode: 'single' };
if (p.dmgType !== 'heal' && p.heal) p.heal = null;
if (p.dmgType === 'none') p.noAttack = true;
// a 要塞 (fortress) branch throws ground-only splash: the data's generic ranged default would let it hit FLY enemies
if (p.fortress || p.groundOnly) { p.canHitFly = false; p.groundOnly = true; }
if (kitTrait) Object.assign(p, kitTrait);
// a 锁定攻击范围 AoE (阵法术师, 轰击术师) strikes every enemy on its range and has no projectile: they are struck at the
// same moment ('beam' = instant hits, drawn as a line to each victim — PRTS 作战机制 "在攻击前摇结束时选取范围内的全体