sganggs
3c1952afc0
0.2.5-dev: connect the history of PR #544 by Siornya — the reviewed adaptation is kept (tree unchanged)
2026-10-12 15:52:10 +08:00
sganggs
92d14aeefa
0.2.5-dev: connect the history of PR #533 by Andrew — the reviewed adaptation is kept (tree unchanged)
2026-10-12 15:52:10 +08:00
sganggs
7fe0ffc33f
0.2.5-dev: connect the history of PR #523 by YinqiMargatroid — the reviewed adaptation is kept (tree unchanged)
2026-10-12 15:52:10 +08:00
sganggs
da2f0ef93a
0.2.5-dev: connect the history of PR #518 by IceCodeNew — the reviewed adaptation is kept (tree unchanged)
2026-10-12 15:52:10 +08:00
sganggs
b6a8c132b3
0.2.5-dev: connect the history of PR #520 by Cloudnyco — the reviewed adaptation is kept (tree unchanged)
2026-10-12 15:52:10 +08:00
sganggs
0882ed2dcc
0.2.5-dev: connect the history of PR #535 by 星闌 — the reviewed adaptation is kept (tree unchanged)
2026-10-12 15:52:10 +08:00
sganggs
c2c712ac0b
0.2.5-dev: connect the history of PR #536 by 星闌 — the reviewed adaptation is kept (tree unchanged)
2026-10-12 15:52:10 +08:00
sganggs
fbd4684a7b
0.2.5-dev: connect the history of PR #537 by 星闌 — the reviewed adaptation is kept (tree unchanged)
2026-10-12 15:52:10 +08:00
sganggs
f1ea116f23
0.2.5-dev: golden matches recomputed on the merged tree — the #523 Touch aggro change and the funnel ports both move full-match scenarios and interact there ( 1 file changed, 11 insertions(+), 11 deletions(-)); roster / bonds / fields / standins / diy equal the branch results
2026-10-12 15:51:45 +08:00
sganggs
3dd2213e47
0.2.5-dev: merge claude/036-sim
...
# Conflicts:
# CHANGELOG.md
# docs/history/0.2.5.md
# test/golden/matches.json
2026-10-12 15:50:42 +08:00
sganggs
812e4c47b1
0.2.5-dev: merge claude/036-rule
2026-10-12 15:50:41 +08:00
sganggs
a451ddcf6b
0.2.5-dev: 耶拉 S2 (both forms) and 荒芜拉普兰德 S1 keep the operator's own hit next to the drone hit — only drone-only skills skip it (review fix of the funnel port); golden: more funnel scenarios move, attributed in docs/history/0.2.5.md
2026-10-12 15:50:41 +08:00
sganggs
69011d2b54
0.2.6-dev: no BGM download while the music is muted or at BGM volume 0; the wanted track is fetched once it is audible again (host bandwidth layer 0.1); golden: unchanged
2026-10-12 15:45:38 +08:00
sganggs
9b37a68fcf
0.2.5-dev: 萨卡兹枯朽战士 (and every enemy sharing its death fog) leaves no 污秽侵蚀 when it dies silenced — the owner's official-play recall, against the PRTS / in-game wording ( #470 ); the 调度中心 5 / 6 promotion reward includes 自选 operators of the newly reached tier ( #515 , after research; the owner's decision); golden: unchanged
2026-10-12 15:24:07 +08:00
sganggs
a8ff5e7c1d
0.2.5-dev: merge claude/036-touch
...
# Conflicts:
# CHANGELOG.md
# docs/history/0.2.5.md
2026-10-12 15:00:10 +08:00
sganggs
bb88031256
0.2.5-dev: merge claude/036-scene
...
# Conflicts:
# CHANGELOG.md
# docs/history/0.2.5.md
2026-10-12 15:00:10 +08:00
sganggs
537b1ec517
0.2.5-dev: merge claude/036-ui2
...
# Conflicts:
# docs/history/0.2.5.md
2026-10-12 14:59:34 +08:00
sganggs
d482fbb8ba
0.2.5-dev: official battlefield scenes on the 3D board — a local fetch / extract step for the season scene bundles, per-field scene rendering with the metal board as fallback, the full bundle can include the extracted scenes and setup can fetch them (--scenes); nothing official is stored in the repository (PR #533 by @andrew05060414, ported; the owner's decision of 2026-10-12); golden: unchanged
2026-10-12 14:59:20 +08:00
sganggs
a3e8460bb0
0.2.5-dev: an optional 「官方伤害数字」 setting (default off) shows only the numbers the official game shows per the PRTS red-number rule ( #412 , the owner's decision of 2026-10-12); a small link to the project's GitHub repository on the title page ( #543 ); golden: unchanged
2026-10-12 14:59:20 +08:00
sganggs
37e0fffb34
0.2.5-dev: the 外勤医疗 (Touch) reserve medic takes the initial aggro order of PR #523 and its detail opens in the preparation phase (PR #523 by @YinqiMargatroid, ported; the owner's decision of 2026-10-12); golden: one more scenario moves (named in docs/history/0.2.5.md)
2026-10-12 14:59:19 +08:00
sganggs
10d1fdef5f
0.2.5-dev: connect the history of PR #538 by 星闌 — the reviewed adaptation in dcdaeec9 is kept (tree unchanged)
2026-10-12 14:45:12 +08:00
sganggs
502a2c13ba
0.2.5-dev: connect the history of PR #540 by 星闌 — the reviewed adaptation in dcdaeec9 is kept (tree unchanged)
2026-10-12 14:45:12 +08:00
sganggs
dcdaeec933
0.2.5-dev: merge the round-36 client / tools ports — #540 / #538 loadout sync and import guards, #531 / #530 player-package scripts and links; golden: unchanged
2026-10-12 14:45:12 +08:00
sganggs
e0f3771821
0.2.5-dev: 驭械术师 normal attacks keep the operator's own hit plus one drone hit, the drone multiplier and per-target map reset on redeploy, 洛洛 S2 keeps its lock until a kill or the skill ends (PRs #537 / #536 / #535 by @Xinglan233, ported); hit tiles use the official round-half-to-even with an edge inset (PR #520 by @Cloudnyco, ported); bots softly avoid living teammates' opening factions until they are eliminated (PR #518 by @IceCodeNew, ported with changes); golden: 43 more scenarios move, each named in docs/history/0.2.5.md
2026-10-12 14:45:01 +08:00
sganggs
52b70434d0
0.2.5-dev: a restore-defaults loadout sync is never overwritten by an older in-flight sync (PR #540 by @Xinglan233, ported); importing a loadout with ops is refused before writing when the DIY data is missing (PR #538 by @Xinglan233, ported); the player package's package.json keeps only scripts whose files ship ( #531 ) and its docs link unshipped files to the release tag on GitHub ( #530 ); golden: unchanged
2026-10-12 14:45:01 +08:00
sganggs
7fd0478dc0
0.2.5-dev: merge PR #517 by 星闌 — chore: 根据 PR 标题添加类型标签 ( #239 )
2026-10-12 14:08:09 +08:00
sganggs
6e8103e733
0.2.5-dev: merge PR #519 by Cloudnyco — detmath powi: a zero base keeps Math.pow's exact results ((-
2026-10-12 14:08:09 +08:00
sganggs
8d59ad3ef9
0.2.5-dev: merge PR #534 by Andrew Wang — local-extract: derive the board normal map from both layouts
2026-10-12 14:08:09 +08:00
sganggs
c438323596
0.2.5-dev: merge PR #524 by xcdoge — 敌方血条偏高:头顶高度按"原点以上的高度"ç
2026-10-12 14:08:09 +08:00
sganggs
e2ec2cbf21
0.2.5-dev: merge PR #541 by BowenJXD — fix(windows): 修复 Node 版本检测在 Volta 等环境下
2026-10-12 14:08:09 +08:00
sganggs
7a17f9c9b6
0.2.5-dev: connect the history of PR #511 by RainoutOvO — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
2026-10-12 14:07:08 +08:00
sganggs
56e7757dd3
0.2.5-dev: connect the history of PR #507 by robll-v1 — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
2026-10-12 14:07:08 +08:00
sganggs
7247e67f44
0.2.5-dev: connect the history of PR #505 by 星闌 — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
2026-10-12 14:07:08 +08:00
sganggs
0ce7c64255
0.2.5-dev: connect the history of PR #504 by robll-v1 — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
2026-10-12 14:07:08 +08:00
sganggs
4ee1e1e9f0
0.2.5-dev: connect the history of PR #503 by 星闌 — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
2026-10-12 14:07:08 +08:00
sganggs
4bb22ddae9
0.2.5-dev: connect the history of PR #502 by 星闌 — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
2026-10-12 14:07:08 +08:00
sganggs
e0a3d6d9af
0.2.5-dev: connect the history of PR #499 by Yuri Restia — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
2026-10-12 14:07:08 +08:00
sganggs
1f5f445acf
0.2.5-dev: connect the history of PR #497 by Robin — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
2026-10-12 14:07:08 +08:00
sganggs
c1fef54b05
0.2.5-dev: connect the history of PR #494 by Yuri Restia — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
2026-10-12 14:07:08 +08:00
sganggs
16085d2a10
0.2.5-dev: connect the history of PR #492 by Cloudnyco — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
2026-10-12 14:07:08 +08:00
sganggs
7e960269d0
0.2.5-dev: connect the history of PR #490 by D-Roote — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
2026-10-12 14:07:08 +08:00
sganggs
221e6b8dd2
0.2.5-dev: community round 30 and follow-ups
...
- Stock: fixed trait gifts (缪尔赛思 / 变形者集群 变形同构体, 耶拉 不融冰, 蜜蜡 / 卡涅利安 迅捷作战粮, 诗怀雅 盟约之币) still occupy stock but are granted past the cap; an operator card already shown in the shop or a reward can be taken after the pool runs out and overdraws (GitHub #498 , the owner's decision); item buys and item rewards keep the stock check. 洛洛 / 焰尾 sub-pools use the measured weights (PR #497 by @2321Robin; the occupancy idea of PR #496 by @2321Robin re-implemented differently).
- Boss pairs are drawn at random once per match and fixed to battle start; the Hidden Core reuses them; a leaver does not split a full pair (the owner's decision).
- 阿戈尔 in 联防 no longer re-applies the opening devour HP loss or a false revive; Touch's team medic stays for the match after its holder leaves (owner-approved, official lifetime unverified).
- Auto-skill ranges: 司霆惊蛰 S2, 斩业星熊 S3 against air, 予愿安洁莉娜 S3; 自在's post-rebirth invulnerability is also untargetable (#510 ); Horn / Clementia / catapult / 忍冬 first hit (PR #502 by @Xinglan233); 不融冰 / tear gas trigger on real damage.
- Bond layer-up sound in round start / draft / prep / battle (#482 ): one channel, a new cue replaces the old, no extra cooldown; a prep update that adds layers and activates a bond plays one cue.
- Client: multi-swing fix (#506 ), refresh single-flight (PR #507 by @robll-v1), LP tower keeps the settled value with a −N tick (PR #504 by @robll-v1), export with only 潜能 / 练度 changes (PR #503 by @Xinglan233), spectator rosters list DIY members (PR #505 by @Xinglan233), banned members beside bond tooltips (PR #494 by @YuriRestia), recovery action above the away overlay (PR #511 by @RainoutOvO), the /dev/sim-check.html consistency page (PR #492 by @Cloudnyco), Korean (PR #490 by @D-Roote) and English Victoria wording (PR #499 by @YuriRestia).
- golden: 45 of 287 scenarios move against 0.2.4 (roster 17, bonds 3, fields 6, matches 17, standins 2), each attributed in docs/history/0.2.5.md §30.9 / §30.16.
2026-10-12 14:07:08 +08:00
Siornya
dcf498d9bd
修复三合一奖励抽不到自选干员 #515
2026-10-12 13:59:42 +08:00
BowenJXD
f08763c632
fix(windows): 修复 Node 版本检测在 Volta 等环境下误报版本过旧
...
start-windows.bat 的版本检测命令中包含 >、? 和 : 等 cmd 元字符。
当 node 由 Volta 等版本管理器的 shim 提供时,参数会经过 cmd 重新解析,
引号保护失效,">=22?0:1)" 被当作输出重定向,导致报错
"The filename, directory name, or volume label syntax is incorrect"
并返回非零退出码,脚本因此误判 Node 版本过旧(即使是 v24 LTS)。
改用不含 cmd 元字符的等价表达式:
Math.max(0, Math.sign(22 - parseInt(process.versions.node)))
主版本号 >= 22 时退出码为 0,否则为 1,判断逻辑不变。
2026-10-12 12:28:18 +11:00
Andrew Wang
b92a0bf3c2
local-extract: derive the board normal map from both layouts a client holds — BC5 (R = X) and DXT5nm (A = X, R = 1), read as Unity unpacks them (x = R·A); a client with the older map_autochess bundle got Z = 0 everywhere and a grey 3D board
2026-10-11 19:30:10 -04:00
Andrew
1fe819478e
3D 棋盘按战场显示官方场景(沙地等 11 个战场),场景由本地提取脚本从赛季场景包导出,没有时回退现有金属棋盘 ( #532 )
2026-10-11 19:15:50 -04:00
IceCodeNew
3f18347fff
fix(bot): handle band picks without player context
2026-10-11 15:06:46 +00:00
xcdoge
7b4f512ce9
敌方血条偏高:头顶高度按"原点以上的高度"算(bounds.y + bounds.height),而不是包围盒高度
...
玩家反馈:逐腐兽的血条明显偏高。
原因:单位血条/名字牌的头顶高度用的是 spine setup-pose 包围盒的**高度**(units.js headTilesForUnit 里
`bounds.height × 1/320 × 模型系数 × 0.92`)。这个公式默认包围盒是**脚锚定**的 —— 大多数敌人确实如此
(猎狗pro y=−3.7、大鲍勃 y=−2.6,height 与"脚以上高度"几乎相等)。但有些模型的**原点在身体中间**:
逐腐兽的包围盒是 y=−404.7 / height=722.6,锏是 y=−798 / height=1183 —— 对它们,包围盒高度比可见顶端多出
大半个模型,于是血条被顶到上限 2.2 格(非 Boss)之上,看起来就是"明显偏高"。
改法:定位改用**原点以上的高度**(`Number.isFinite(b.y) ? b.y + b.height : b.height`,仍按 20…900 夹取)。
同时把这段计算从 UnitView 内联代码提成一个纯函数 `headTilesForUnit()`(放 units.js,紧挨 UNIT/EL_BAR 常量),
入参只有 isEnemy / isBoss / spineShown / bounds / modelK / modelKY,便于直接测;UnitView 仍然保留
"没显示 spine 就不看模型"的短路语义。spine.js 的 `height` getter 语义不变(别处也用它,例如替身的纵向拉伸)。
影响面(用真实 bounds 扫过 167 个有模型数据的敌人):
逐腐兽 / 疯狂的逐腐兽 1.85 → 0.81 格(降 1.03)
锏(Boss) 2.59 → 1.11 格(降 1.48)
萨卡兹大剑手 / 组长 1.54 → 1.23 格(降 0.31)
枯朽之种 0.72 → 0.55、萨卡兹百夫长 1.51 → 1.34、妖怪MKII 0.71 → 0.55
其余 103 / 167 个敌人的变化 ≤ 0.02 格(脚锚定模型几乎无感)
测试:
test/render/bar-head.test.js(新增 5 条):用真实的逐腐兽 / 猎狗pro / 大鲍勃 / 锏 包围盒断言新公式、
夹取上限、以及三个回退分支(无 bounds 用 chibi 余量 × 系数、Boss 无模型用 2.2、干员与召唤物用固定余量),
并做源码断言把"y + height"这条规则钉住。
test/render/playtest6-enemies.test.js:两条 prefab 测试的期望值原本写死 `390 × …`(合成夹具的 bounds 是
y=−150 / height=390,即当年就把这个 bug 当成了正确行为),现在改为从**被测 view 自己的 bounds** 推导
(240 而不是 390),夹具本身不动。
test/render 全量 552 项 / 546 通过 / 0 失败;test/ui + test/render 1279 项 / 1265 通过 / 0 失败。
未触碰 server/sim,test/golden 无变动。
2026-10-11 22:49:56 +08:00
Cloudnyco
119a04888a
Hit tiles: positions round half to even (PRTS 作战机制); enemies held just inside the field edge
2026-10-11 21:33:44 +08:00
Cloudnyco
ad7e3e9835
detmath powi: a zero base keeps Math.pow's exact results ((-0)^1 = -0, (-0)^-1 = -Infinity)
2026-10-11 21:09:25 +08:00