修复赤刃明霄陈三技能对空自动开启并核实社区反馈
S3 的扩展范围含可选中的飞行目标时可以自动开启剑气;普攻保持仅对地。 [ASSUMED] 自动触发区域沿用扩展攻击格和永久射程延长,不扩张到未来剑气的整条路线。 补测部署技能与休整属性预览、后排协防蕾缪安真实锁定耗弹、诗怀雅落地金币、 莎草对炸弹的治疗链,以及予愿三种技能的普通地面溅射和无视可选性例外。 未复现的报告保留证据边界;诗怀雅被动落地投瓶符合 PRTS。 全 285 场 golden 重建并验证,仅 diy-074 变化:新增 4 次陈 S3,伤害 142376→163563, 时序/选敌改变后击杀 21→18、漏怪 96→99,223.83 秒和结束方式不变。 其余 284 场不变。 CI:5879 tests,5876 pass,0 fail,3 skip;setup/smoke/lint/imports/typecheck 均通过。 新增 16 项回归,相关 6 文件 63/63,补充 2 文件 20/20,文档 31/31。
This commit is contained in:
1 parent
708caf7d06
commit
821ab827bd
9 files changed
+211
-14
No files matched your search
@@ -87,7 +87,8 @@ export class MatchIntents {
|
||||
* band and 机变 effects — computed exactly by the shared sim. The player's battle input after the onBattleStart meta
|
||||
* handlers (`ev.preview: true`, no enemies — those handlers must not change the match for a preview) builds a Battle
|
||||
* of the battle's options that is started (initial deployment + battleStart hooks), read and dropped: it is never
|
||||
* stepped, so skills and timed effects do not show. Pushed to the player as `m.unitStats { seq, round, units }`
|
||||
* stepped: deployment skills contribute their initial stats but their timers do not advance. No SP / skill timer is
|
||||
* sent, and the real battle gets fresh units. Pushed to the player as `m.unitStats { seq, round, units }`
|
||||
* (units: shared/protocol.js unitStatsEntry, board operators and summons by uid); cached per input (a build costs
|
||||
* ≈ 0.3–0.7 ms). Prep phases only (ROUND_START, 机变, PREP); a battle's live stats come from the browser's own sim.
|
||||
* @param {PlayerState} ps @param {number|null} seq echoed (the client keeps the newest answer)
|
||||
|
||||
@@ -286,6 +286,12 @@ export default {
|
||||
}, { owner: unit });
|
||||
// S3: the sword wave
|
||||
if (unit.skill?.id !== S3) return;
|
||||
// PRTS: the sword wave hits air, although her S3 normal attacks remain ground-only. Include those selectable
|
||||
// targets in the existing ACTIVE_RANGE automation. [ASSUMED] Use its expanded attack grid (plus permanent
|
||||
// range extension), not the wave's entire eventual route; operation cooldown / control checks stay shared.
|
||||
unit.skill.addTriggerRange(() => [{
|
||||
keys: absoluteRangeKeys(grid3, unit.tileR, unit.tileC, unit.dir, unit.s.baseRangeExtend || 0), profile: AIR,
|
||||
}]);
|
||||
const ratio = num(b3.hp_ratio), minScale = num(b3.projectile_min_atk_scale);
|
||||
battle.on('tick', ({ dt }) => {
|
||||
const w = unit.mem.chen3Wave;
|
||||
|
||||
Reference in new issue
Block a user