0.2.3: version 0.2.3 — package.json / package-lock.json / APP_VERSION (DEV_BUILD turns false), README release form, CHANGELOG 0.2.3 — 2026-10-10 in the usual sections, DESIGN versions line

This commit is contained in:
sganggs committed 2026-10-10 03:19:38 +08:00
1 parent 9ec84f36a0
commit c4dc96fff4
7 files changed
+38 -26

No files matched your search

+30 -16
View File
@@ -1,24 +1,38 @@
# 更新记录 # 更新记录
## 0.2.3-dev — 开发中,尚未发布 ## 0.2.3 — 2026-10-10
- 修复“余音”与刺玫、泡泡反击在高频次生命下递归超过事件上限的问题。 ### 新内容
- 自选编队新增六星克莱门莎(三个技能、两项天赋、潜能与练度);黍新增模组「好时节」GUA-Y,乌尔比安新增「前路」CRU-Y。数值来自国服 2.7.81 官方表,机制对照 PRTS;资料尚未确认的碰撞边界、溅射和炮击节拍按推断实现并写在[设计记录 §28](docs/history/0.2.3.md),以后按资料校正。
- 自选编队新增六星克莱门莎(三个技能、两项天赋、潜能与练度);黍新增「好时节」GUA-Y,乌尔比安新增「前路」CRU-Y。数值来自国服 2.7.81 官方表,机制对照 PRTS;新干员尚无来源确认的碰撞边界、攻击溅射和炮击节拍已标在 [设计记录 §28](docs/history/0.2.3.md),后续依据资料校正。联动干员不在本次新增范围。 ### 新功能
- 蕾缪安可以用远处的通缉目标触发技能,修正通缉首次计时、多人来源和撤退清理(#428,感谢 @CurlyZhu)。 - 设置新增四档文字大小,较长的译文和按钮会自动换行,棋盘大小不变(#435、PR #446,感谢 @7eLaryn)。
- 塞雷娅 / 黍一技能在没有敌人时也按攻击间隔治疗范围内半血及以下的友方;凯尔希·思衡托二技能可以由扩大范围内的可选敌人触发,仍能由伤员触发(#406,感谢 @ChengCC0101)。 - 干员调配里可以逐个干员选择中文、日语或跟随全局语音,偏好只存在本机(#436)。
- 远牙授予的特质在傀儡师切换本体 / 替身时也叠层,与部署共用原上限(#415、PR #429,感谢 @rosexxxp、@CXUtk)。 - 浏览器支持时可以把游戏添加到桌面,图标沿用薄荷绿城堡并精修;不做离线缓存(PR #413,感谢 @Cromemadnd)。
- 推拉滑行保留敌人的原朝向(#418、PR #427,感谢 @YinqiMargatroid);倒地和冻结的静止骨骼避免重复重画,再部署倒计时共享数字纹理(PR #434,感谢 @Cloudnyco)。 - 开局确认页可以由房主发起重刷,全体在线真人一致同意后重新随机开局,保留房间与个人配置;这是复刻版的便捷功能(#77、PR #408,感谢 @Siornya)。
- 修复弹窗内复制诊断信息的旧浏览器回退,复制后恢复焦点(#433,感谢 @RushFTK)。 - 标题页和大厅新增「恢复本机对局」:关掉的窗口可以回到原来的身份和房间,正在使用、刷新或启动中的窗口不会被另一个窗口抢走席位(#431)。
- 素材下载会报告因磁盘缺失而略去的清单条目,新增可选严格模式(PR #421,感谢 @LimitlessHPPK);润色韩语文本(PR #414,感谢 @D-Roote),补中文 PR 模板(PR #432,感谢 @Xinglan233)。
- 死芒一、二技能可由自身召唤物阻挡的范围外目标触发;与蕾缪安通缉目标一样等待正常攻击检查,不逐帧提前开技(#440、#438、#439)。 ### 规则(按官方)
- 设置新增四档文字大小,支持长译文换行;干员调配可逐干员选择中文、日语或跟随全局语音(#435、#436,PR #446,感谢 @7eLaryn)。 - 蕾缪安可以用范围外的通缉目标触发技能,并修正通缉的首次计时、多人来源和撤退清理(#428,感谢 @CurlyZhu);死芒一、二技能可以由自身召唤物阻挡的范围外敌人触发,两者都等到正常攻击时点再开技(#440、#438、#439)。
- 补齐司霆惊蛰、赤刃明霄陈等干员技能期间的攻击与命中音,保留各技能音效自己的音量与播放概率(PR #410,感谢 @Convey123)。 - 塞雷娅、黍的一技能在没有敌人时也按攻击间隔治疗半血及以下的友方;凯尔希·思衡托二技能可以由扩大范围内的敌人触发(#406,感谢 @ChengCC0101、@shadiaojumao-hyb)。
- AI 购买高阶卡时适当降低与队友开局盟约抢卡的倾向,并在混合对局中发送有限的表情回应(PR #407、#444,感谢 @IceCodeNew、@DDDarkstar;可用 `SP_BOT_EMOTES=0` 关闭表情)。 - 赤刃明霄陈三技能在攻击范围内只有飞行敌人时也会自动开启。
- 增加本机对局恢复入口,避免同一浏览器的闲置窗口妨碍恢复已关闭窗口的席位(#431)。浏览器支持时可添加到桌面,沿用 0.2.x 的薄荷绿城堡并精修,精简包也自带该图标、maskable 安全区版本和 favicon(PR #413,感谢 @Cromemadnd)。 - 远牙授予的特质在傀儡师切换本体 / 替身时也会叠层,与部署共用原上限(#415、PR #429,感谢 @rosexxxp、@CXUtk)。
- 确认页可由房主发起全体真人一致同意的开局重刷,保留房间与个人配置;取消恢复剩余确认时间,成功后重新确认(#77、PR #408,感谢 @Siornya)。这是复刻版便捷功能。 - 致死的锤击 / 水手击晕不会波及不屈等同一击里重新部署的干员;吟游者和浊心斯卡蒂被晕眩时持续回复不中断;崇高牺牲在盟约未激活时不再给阿戈尔加层;假想敌「铳」的减伤条件把另一把铳也算作同伴;黄沙罗盘返还的技力不受阻回限制。
- 修复模型加载较慢时丢失入场动画,按经过时间接续,攻击或死亡后不再补播过期入场(PR #416 提示的加载问题,感谢 @Cromemadnd)。 - 合作模式的开局策略每人选择 50 秒(含跳过),单人和只有一名真人的对局仍不计时。
- 克莱门莎二技能运送途中,死亡、隐匿、不可运送或无路可走的敌人会立刻让出舱位和重量。
### 界面
- 被推开、拉拽的敌人在滑行中保留原朝向(#418、PR #427,感谢 @YinqiMargatroid);倒地、冻结的静止模型不再重复重画,再部署倒计时共用数字纹理(PR #434,感谢 @Cloudnyco)。
- 补齐司霆惊蛰、赤刃明霄陈等干员技能期间的攻击与命中音,各技能音效保留自己的音量和播放概率(PR #410,感谢 @Convey123)。
- 模型加载较慢时不再丢失入场动画,按经过的时间接续(PR #416 提示的问题,感谢 @Cromemadnd)。
- 弹窗里复制诊断信息在旧浏览器上也能复制,复制后焦点回到原处(#433,感谢 @RushFTK);渲染器启动失败时的提示改为说明原因并提供重新加载。
### 人机
- AI 队友购买高阶卡时减少与队友开局盟约抢卡(PR #407,感谢 @IceCodeNew);有真人参与时会发送有限的表情回应,可用 `SP_BOT_EMOTES=0` 关闭(PR #444,感谢 @DDDarkstar)。
- 修复「余音」与刺玫、泡泡的反击在高频次生命下递归超过上限的问题。
### 工具与开发
- 素材下载会报告略去的清单条目,并新增可选的严格模式(PR #421,感谢 @LimitlessHPPK);润色韩语文本(PR #414,感谢 @D-Roote);补充中文 PR 模板(PR #432,感谢 @Xinglan233)。
## 0.2.2 — 2026-10-09 ## 0.2.2 — 2026-10-09
+1 -3
View File
@@ -1,10 +1,8 @@
# 卫戍协议:盟约 · Stronghold Protocol: Alliance # 卫戍协议:盟约 · Stronghold Protocol: Alliance
> 开发版(dev 分支):不稳定,请勿用于公开服务器。最近正式版请从 Releases 下载。
《明日方舟》季节性自走棋塔防玩法「卫戍协议:盟约」的**非官方同人复刻**:浏览器即开即玩,单人或 1–4 人联机合作。 《明日方舟》季节性自走棋塔防玩法「卫戍协议:盟约」的**非官方同人复刻**:浏览器即开即玩,单人或 1–4 人联机合作。
![version](https://img.shields.io/badge/version-0.2.3--dev-2ea44f) ![version](https://img.shields.io/badge/version-0.2.3-2ea44f)
![license](https://img.shields.io/badge/code%20license-GPL--3.0--or--later-blue) ![license](https://img.shields.io/badge/code%20license-GPL--3.0--or--later-blue)
![node](https://img.shields.io/badge/node-22%20%7C%2024-339933) ![node](https://img.shields.io/badge/node-22%20%7C%2024-339933)
+2 -2
View File
@@ -4,7 +4,7 @@ This is the **single source of truth** for every implementer. Research lives in
Language: player-facing text is **Simplified Chinese** by default, with an English switch since 0.2.0 (§25.2, docs/I18N.md: UI strings through `t('中文')`, game texts from the official Chinese data or the official EN client's). Code, comments and identifiers are English. Language: player-facing text is **Simplified Chinese** by default, with an English switch since 0.2.0 (§25.2, docs/I18N.md: UI strings through `t('中文')`, game texts from the official Chinese data or the official EN client's). Code, comments and identifiers are English.
Versions: the first public release was **0.1.0** (2026-10-02, the state of §0–§20.15); the releases after it add the player feedback and GitHub reports — 0.1.1 §21, 0.1.2 §22, 0.1.3 §23, 0.1.4 §24 — and **0.2.0** (2026-10-07; `CHANGELOG.md`) the maintainability refactor, two languages, 补位, 自选编队 and their fidelity work — §25 — **0.2.1** (2026-10-07) the 联防 battlefield restored, full potential and the GitHub fixes after it — §26 — and **0.2.2** (2026-10-09) per-operator 潜能 / 练度, Japanese voices, the statistics page, 失衡, whole-frame attack timing and the GitHub fixes after 0.2.1 — §27. The current development state is **0.2.3-dev** (`package.json`, `shared/constants.js APP_VERSION`) — §28 (not yet released). The labels v1 / v2 / v2.1–v2.5.2 in §0, §14–§20 and in the BALANCE / SIM comparisons name the design generations and the private playtest builds that came before it; they are kept as history. Versions: the first public release was **0.1.0** (2026-10-02, the state of §0–§20.15); the releases after it add the player feedback and GitHub reports — 0.1.1 §21, 0.1.2 §22, 0.1.3 §23, 0.1.4 §24 — and **0.2.0** (2026-10-07; `CHANGELOG.md`) the maintainability refactor, two languages, 补位, 自选编队 and their fidelity work — §25 — **0.2.1** (2026-10-07) the 联防 battlefield restored, full potential and the GitHub fixes after it — §26 — and **0.2.2** (2026-10-09) per-operator 潜能 / 练度, Japanese voices, the statistics page, 失衡, whole-frame attack timing and the GitHub fixes after 0.2.1 — §27. **0.2.3** (2026-10-10; `package.json`, `shared/constants.js APP_VERSION`) 克莱门莎 and new modules, community fixes, text size, per-operator voices, installation, the opening reroll and local match recovery — §28, the state described by this document. The labels v1 / v2 / v2.1–v2.5.2 in §0, §14–§20 and in the BALANCE / SIM comparisons name the design generations and the private playtest builds that came before it; they are kept as history.
--- ---
@@ -34,4 +34,4 @@ normative lines it rewrote).
| §25 | [history/0.2.0.md](history/0.2.0.md) | 0.2.0 | | §25 | [history/0.2.0.md](history/0.2.0.md) | 0.2.0 |
| §26 | [history/0.2.1.md](history/0.2.1.md) | 0.2.1 — after the 0.2.0 release | | §26 | [history/0.2.1.md](history/0.2.1.md) | 0.2.1 — after the 0.2.0 release |
| §27 | [history/0.2.2.md](history/0.2.2.md) | 0.2.2 — after the 0.2.1 release (2026-10-09) | | §27 | [history/0.2.2.md](history/0.2.2.md) | 0.2.2 — after the 0.2.1 release (2026-10-09) |
| §28 | [history/0.2.3.md](history/0.2.3.md) | 0.2.3 — development after 0.2.2 | | §28 | [history/0.2.3.md](history/0.2.3.md) | 0.2.3 — after the 0.2.2 release (2026-10-10) |
+1 -1
View File
@@ -4,7 +4,7 @@ Part of [DESIGN.md](../DESIGN.md) (the index; section numbers are global).
## 28. New content and community fixes ## 28. New content and community fixes
This chapter describes the development version, not a published release. Numerical content is rebuilt from This chapter describes 0.2.3, released on 2026-10-10. Numerical content is rebuilt from
CN client 2.7.81, ArknightsGameData commit `17759cc8cdf37388414145d16262a3a06f3ab25e` (2026-10-08), CN client 2.7.81, ArknightsGameData commit `17759cc8cdf37388414145d16262a3a06f3ab25e` (2026-10-08),
with mechanism notes from PRTS checked on 2026-10-09. Launch-day descriptions may receive corrections. with mechanism notes from PRTS checked on 2026-10-09. Launch-day descriptions may receive corrections.
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "stronghold-protocol-alliance", "name": "stronghold-protocol-alliance",
"version": "0.2.3-dev", "version": "0.2.3",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "stronghold-protocol-alliance", "name": "stronghold-protocol-alliance",
"version": "0.2.3-dev", "version": "0.2.3",
"hasInstallScript": true, "hasInstallScript": true,
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"dependencies": { "dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "stronghold-protocol-alliance", "name": "stronghold-protocol-alliance",
"version": "0.2.3-dev", "version": "0.2.3",
"private": true, "private": true,
"description": "明日方舟「卫戍协议:盟约」非官方同人联机网页复刻(1–4 人合作,Node.js 服务器 + 浏览器客户端)", "description": "明日方舟「卫戍协议:盟约」非官方同人联机网页复刻(1–4 人合作,Node.js 服务器 + 浏览器客户端)",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
+1 -1
View File
@@ -5,7 +5,7 @@ import { N_ } from './i18n.js';
export const PROTOCOL_VERSION = 1; export const PROTOCOL_VERSION = 1;
/** Release version shown to players (title screen, server banner, /healthz). Kept equal to package.json "version" /** Release version shown to players (title screen, server banner, /healthz). Kept equal to package.json "version"
* (test/version.test.js); PROTOCOL_VERSION above is the separate wire-format number. */ * (test/version.test.js); PROTOCOL_VERSION above is the separate wire-format number. */
export const APP_VERSION = '0.2.3-dev'; export const APP_VERSION = '0.2.3';
/** A development build (the public `dev` branch): the title screen, the boot banner and the README say so, and /** A development build (the public `dev` branch): the title screen, the boot banner and the README say so, and
* tools/package.mjs refuses to build a release zip from it without --allow-dev. */ * tools/package.mjs refuses to build a release zip from it without --allow-dev. */
export const DEV_BUILD = /-dev$/.test(APP_VERSION); export const DEV_BUILD = /-dev$/.test(APP_VERSION);