feedback1 WD: 逐火 embers can be beaten, 转译基底 changes form before it can die

Player reports after 0.1.0:
- #8 深池逐火战士 / 精锐战士 / 护卫: every knock-out is a 1 s 重生 (invulnerable,
  unblockable, immobile), then a walking, disarmed, 隐匿 hit-count ember that a
  blocker can target and beat; it stands up with full HP after 10 s (PRTS talent
  text). The old ember stood still, stealthed and unblockable, so nobody could
  ever target it and every 逐火 enemy leaked. 假想敌:再生's puppet walks on and
  stays unblockable.
- #5 转译基底·α: its original form cancels every damage instance; the 4th
  physical / arts hit or a block starts a 2 s change into 寻仇者 / 特战术师 /
  幽灵 (Mode_*_Passive, 寻仇者 rage below half HP, 特战术师 two targets). The
  armed forms attack through the engine (profile.dmgType). It used to die in its
  first form.
- Render: units.js FORMS switch the models' clip sets (A_Die_B/C/D then B/C/D,
  Die then Idle_2/Move_2/Die_2, Revive), driven by the 'phase' kind or the fx
  `form`; a noMove enemy is drawn standing.
This commit is contained in:
sganggs committed 2026-10-03 01:52:40 +08:00
1 parent 7f134737ce
commit 92282878d3
9 files changed
+676 -112

No files matched your search

+9 -6
View File
@@ -1420,12 +1420,15 @@ export async function createFieldView(host, options = {}) {
consumedIds.add(e[4].id);
if (consumedIds.size > 200) consumedIds.delete(consumedIds.values().next().value);
}
// an enemy's mode change (掠海漂移体 → 爬行模式, user playtest #5 item 1): its view switches clip set
// (UnitView.setForm); the info keeps it for a view built later
if (e[1] === 'phase' && e[4] && typeof e[4] === 'object' && e[4].id != null) {
const inf = infos.get(e[4].id);
if (inf) inf.form = typeof e[4].kind === 'string' ? e[4].kind : null;
views.get(e[4].id)?.setForm?.(e[4].kind);
// an enemy's mode change (掠海漂移体 → 爬行模式, user playtest #5 item 1; 转译基底's forms, a 逐火 ember and its
// revival — user report after 0.1.0): a 'phase' kind, or the `form` any other fx carries, switches the view's
// clip set (UnitView.setForm); the info keeps it for a view built later
const ex4 = e[4] && typeof e[4] === 'object' && e[4].id != null ? e[4] : null;
const form = !ex4 ? undefined : e[1] === 'phase' ? ex4.kind : 'form' in ex4 ? ex4.form : undefined;
if (form !== undefined) {
const inf = infos.get(ex4.id);
if (inf) inf.form = typeof form === 'string' ? form : null;
views.get(ex4.id)?.setForm?.(form);
}
fx.simFx(e[1], Number(e[2]), Number(e[3]), e[4]);
break;