From bc50cac01ff447eff3ab6c35f69d934bbc23b48f Mon Sep 17 00:00:00 2001 From: sganggs Date: Sun, 11 Oct 2026 02:03:47 +0800 Subject: [PATCH] =?UTF-8?q?0.2.4:=20version=200.2.4=20=E2=80=94=20package.?= =?UTF-8?q?json=20/=20package-lock.json=20/=20APP=5FVERSION=20(DEV=5FBUILD?= =?UTF-8?q?=20turns=20false),=20README=20release=20form,=20CHANGELOG=200.2?= =?UTF-8?q?.4=20=E2=80=94=202026-10-11=20in=20the=20usual=20sections=20wit?= =?UTF-8?q?h=20credits,=20DESIGN=20versions=20line?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 23 ++++++++++++++--------- README.md | 6 ++---- docs/DESIGN.md | 4 ++-- docs/history/0.2.4.md | 4 ++-- package-lock.json | 4 ++-- package.json | 2 +- shared/constants.js | 2 +- 7 files changed, 24 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 015d8f7f..187e1311 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,16 +1,21 @@ # 更新记录 -## 0.2.4-dev — 未发布 +## 0.2.4 — 2026-10-11 -- 按路标档案馆实验补齐单人/同盟干员库存差异与装备共享库存;商业包装方案为同时持有 2 份,不是整局限购两次。拟态物质按符合条件的干员身份抽取,超库存获得仍计入占用。 -- 克莱门莎二技能在扩展范围只有可选飞行目标时也会自动开启;补齐外勤医疗策略的准备阶段预备医疗显示,初始仇恨不变。 +### 规则(按官方) +- 共享卡池和装备库存按官方规则补齐(依据路标档案馆的实测视频和公开资料):单人和同盟的干员份数不同(同盟为 2 倍,单人部分低阶干员例外);装备也有全队共享的库存,部分特殊装备例外;普通 / 进阶装备分别占 1 / 2 份,商店展示不占份数,购买时再检查一次,机变卡用尽时不能再选,消耗、销毁、出售和淘汰都会归还份数。商业包装方案是同时最多持有 2 份,不是整局限购 2 次;拟态物质按符合条件的干员身份抽取,整备也不会超过库存。 +- 突袭成员复活后若没有阻挡敌人,会按新的优先级重新选一次落点(嘲讽优先,其次离蓝门最近);脚下有敌人时留在原地,普通的轮询和再部署仍按原规则。联机首领 / 隐秘首领战中,突袭可以跳到空半场的正常部署格;手牌区、临时区、单人模式和单人联防的空半场仍不行(#475)。 +- 浊心斯卡蒂一技能和坚守同时生效时,伤害不再互相反弹导致战斗卡住,两边分走的伤害也与原伤害守恒(PR #464,感谢 @HappyTanuki)。 +- 哈洛德二技能在友方只有元素损伤时也能开启(PR #459);涤火杰西卡的盾牌只能放在相邻四格(PR #460);家族徽章在解除隐匿后的第一笔伤害触发(PR #461);松果二技能每次重新部署都重新成长(PR #462)。感谢 @Xinglan233。 +- 克莱门莎二技能溅射按更新后的资料修正(半径 1.1、100% 攻击力),扩展范围内只有可选飞行目标时也会自动开启(#467);白面鸮复制歌蕾蒂娅 / 余时,准备期赠送不再要求三人条件(#473,按实机视频,只限这两个特例)。 +- 琳琅诗怀雅的香槟炸弹不会再被友方的光环、鼓舞或治疗选中(PR #468 / #476,感谢 @Siornya)。 +- 首领战超时扣血的额外宽限只留给有 AI 队友的队伍。 -- 修复松果二技能重部署成长、哈洛德元素损伤开技、家族徽章首笔伤害,以及浊心斯卡蒂与坚守伤害转移循环。 -- 按确认规则修正突袭复活选敌、白面鸮复制余/歌蕾蒂娅、杰西卡盾牌相邻四格;Boss 额外扣血宽限仅保留给有 AI 队友的队伍。 -- 联机 Boss/隐藏 Boss 战中,突袭可以跳到空半场的正常部署格;手牌区、临时区、单人模式及单人联防的空半场仍禁止落点(#475)。 -- 根据更新后的资料修正克莱门莎二技能溅射;补齐香槟炸弹原皮与琳琅诗怀雅技能金币显示。 -- 自选编队复用调配详情,优化大厅标题、大字结算页、日语词汇,并修正自选/补位干员的伤害公告名称。 -- 临时资源加载失败后可尝试恢复渲染;保留主动选择的平面模式。 +### 界面 +- 琳琅诗怀雅技能自带的金币显示在血条下方,显示余额和上限(PR #450,感谢 @IceCodeNew);外勤医疗策略在准备阶段显示预备医疗(PR #451,感谢 @YinqiMargatroid);香槟炸弹可使用原皮模型。 +- 大厅标题栏重新设计(PR #471,感谢 @YuriRestia);日语界面改用官方日服用语(PR #448,感谢 @scutkane);大字号下结算页的返回按钮不再被挤出屏幕。 +- 自选编队的详情与干员调配共用同一套数值、技能和潜能练度显示;自选 / 补位干员的伤害公告显示正确名称。 +- 渲染资源加载失败后会自动重试并可恢复 3D 画面,不会重开正在进行的战斗;主动选择的平面模式会保留。战斗中重新进入同一场战斗时,箱子等装置仍可以点开说明。 ## 0.2.3 — 2026-10-10 diff --git a/README.md b/README.md index 3c0ce8a6..24cfcdfc 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,7 @@ 《明日方舟》季节性自走棋塔防玩法「卫戍协议:盟约」的**非官方同人复刻**:浏览器即开即玩,单人或 1–4 人联机合作。 -> 开发版(dev 分支):不稳定,请勿用于公开服务器。正式版请从 Releases 获取。 - -![version](https://img.shields.io/badge/version-0.2.4--dev-2ea44f) +![version](https://img.shields.io/badge/version-0.2.4-2ea44f) ![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) @@ -39,7 +37,7 @@ English summary: [below](#english). - **独立模拟**(单人)与**同盟模拟**(1–4 人**合作**,没有 PvP;空位可以加 AI 队友)。 - 服务器是一个 Node.js 程序,**战斗在各玩家的浏览器里模拟**(和官方一样),服务器只管经济与回合,一台低功耗小主机就能开服。 -- 当前开发版 0.2.4-dev:社区修复与界面改进待审核。最近发布版 0.2.3:自选编队新增六星克莱门莎,黍和乌尔比安新增模组;新增文字大小、逐干员语音语言、添加到桌面、开局重刷和恢复本机对局,并修复了 0.2.2 发布后玩家和 GitHub 上反馈的问题,详见 [CHANGELOG.md](CHANGELOG.md)。仍有少数规则按推断实现,与官方不一致的地方欢迎在 Issue 里反馈。 +- 当前版本 0.2.4:按官方补齐共享卡池与装备库存,修正突袭复活选敌、克莱门莎、浊心斯卡蒂与坚守等规则,联机首领战突袭可以跳到空半场,并修复了 0.2.3 发布后玩家和 GitHub 上反馈的问题,详见 [CHANGELOG.md](CHANGELOG.md)。仍有少数规则按推断实现,与官方不一致的地方欢迎在 Issue 里反馈。 ## 功能一览 diff --git a/docs/DESIGN.md b/docs/DESIGN.md index 64fa7ea5..7d477ca6 100644 --- a/docs/DESIGN.md +++ b/docs/DESIGN.md @@ -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. -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. **0.2.4-dev** adds the subsequent community fixes — §29, the current development 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. +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. **0.2.4** (2026-10-11) the official shared card pool and item stock, Raid revival and #475, and the community fixes after 0.2.3 — §29, 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. --- @@ -35,4 +35,4 @@ normative lines it rewrote). | §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) | | §28 | [history/0.2.3.md](history/0.2.3.md) | 0.2.3 — after the 0.2.2 release (2026-10-10) | -| §29 | [history/0.2.4.md](history/0.2.4.md) | 0.2.4 — development after 0.2.3 | +| §29 | [history/0.2.4.md](history/0.2.4.md) | 0.2.4 — after the 0.2.3 release (2026-10-11) | diff --git a/docs/history/0.2.4.md b/docs/history/0.2.4.md index 62d7229a..9f5c8917 100644 --- a/docs/history/0.2.4.md +++ b/docs/history/0.2.4.md @@ -1,6 +1,6 @@ -# DESIGN §29 — 0.2.4 (development) +# DESIGN §29 — 0.2.4 -Part of [DESIGN.md](../DESIGN.md). This chapter records changes after the 0.2.3 release, not a released version. +Part of [DESIGN.md](../DESIGN.md). This chapter records 0.2.4, released on 2026-10-11. ## 29. Community follow-up diff --git a/package-lock.json b/package-lock.json index a2d5a794..e70f9e34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "stronghold-protocol-alliance", - "version": "0.2.4-dev", + "version": "0.2.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "stronghold-protocol-alliance", - "version": "0.2.4-dev", + "version": "0.2.4", "hasInstallScript": true, "license": "GPL-3.0-or-later", "dependencies": { diff --git a/package.json b/package.json index 1bfa1cde..d89721ee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "stronghold-protocol-alliance", - "version": "0.2.4-dev", + "version": "0.2.4", "private": true, "description": "明日方舟「卫戍协议:盟约」非官方同人联机网页复刻(1–4 人合作,Node.js 服务器 + 浏览器客户端)", "license": "GPL-3.0-or-later", diff --git a/shared/constants.js b/shared/constants.js index 88d9adf7..8fee9a4a 100644 --- a/shared/constants.js +++ b/shared/constants.js @@ -5,7 +5,7 @@ import { N_ } from './i18n.js'; export const PROTOCOL_VERSION = 1; /** 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. */ -export const APP_VERSION = '0.2.4-dev'; +export const APP_VERSION = '0.2.4'; /** 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. */ export const DEV_BUILD = /-dev$/.test(APP_VERSION);