feedback2 docs: version 0.1.2 — package.json, package-lock.json, APP_VERSION, README badge and sentences, DEPLOY, CHANGELOG entry

The CHANGELOG 0.1.2 entry covers GitHub #16, #25, #32, #33, #35, #38, #42, #43, #44, #51, #52 and PR #27, #28, #29, #48 (and #40's test case);
#58 / #60 / #64 (DESIGN §22.14–§22.16) are added when their subsections land.
This commit is contained in:
sganggs committed 2026-10-04 02:40:55 +08:00
1 parent 6ced029143
commit 59e5ff0cb1
6 files changed
+43 -8

No files matched your search

+35
View File
@@ -1,5 +1,40 @@
# 更新记录 # 更新记录
## 0.1.2 — 2026-10-04
修复 0.1.1 发布后 GitHub 上反馈的问题,合并了 PR #27、#28、#29、#48,采纳了 PR #40 的测试用例。每一条先在 0.1.1 上复现,属实的才修,修完由另一人独立复核后再合并。规则对照官方数据和 PRTS 核对;少数查不到出处的细节按推断实现,详见 [docs/DESIGN.md](docs/DESIGN.md) §22。
### 战斗
- 朝上部署的干员被击倒后换用正面模型倒下,不再停在攻击、技能或待机动作上(GitHub #25)。
- 突袭的再部署只落在能打到地面敌人的格子上,够不到任何敌人时留在原地,不再乱跳(GitHub #51)。
- 乌尔比安三技能阻挡着敌人时落在自己所在的格子,不再走开,也不再在原地留下标记;阿戈尔的吞噬带来的加成在他【移动】和返回后继续保留(与官方不同,有意保留;GitHub #33)。
- 史尔特尔进入「余烬」锁血后处于禁疗:医疗不再治疗她,状态栏显示禁疗图标;三技能开始时的治疗仍然有效(GitHub #52)。
- 归溟幽灵鲨的替身会画出来,替身不攻击也不放技能;二技能结束时她换成替身,不再直接倒下;坚固维式重锤的不死窗口还在时不会切换(GitHub #44)。
- 荒芜拉普兰德三技能的浮游单元会攻击敌人,不再只有技能自带的范围伤害(GitHub #32)。
- 余二技能能把领袖传送到身边(自缚的除外),没有人被传送时不再播放拉人特效;改为技能范围内有敌人就释放,不再等受到攻击(与官方「重装干员受到伤害时释放技能」不同,有意的调整;GitHub #32)。
- 歌蕾蒂娅等钩索师、推击手按官方特性「可以放置于远程位」,可以部署到高台上(GitHub #32)。
- 敌人的溅射、爆炸、范围技能、区域和光环打不到没有阻挡它们的隐匿干员;迷彩干员照常被溅射打中(GitHub #32)。
- 号角、灰毫(含精锐)按官方不能攻击空中单位,也不再溅射到它们(GitHub #35、PR #48)。
- 莫斯提马的减速(天赋 −15%,三技能期间 ×3)在敌人身上显示减速图标;减速本身一直有效(GitHub #16、PR #48)。
### 敌人
- 隐匿的敌人被阻挡后现形,阻挡解除 3 秒后才重新隐匿(官方机制,个别敌人按官方是 0 秒或 1 秒),以前下一帧就隐去;深池逐火战士被击倒时「余烬」现形约 2 秒,远程干员和干员的溅射能打到它(GitHub #43)。
- 活性源石的效果在敌人离开格子后继续保留 300 秒(重生后清除);沼泽每秒结算一次,重量 ≥ 3 的单位一次叠 2 层;深水区的伤害是无来源的真实持续伤害,不是环境伤害(GitHub #33)。
### 盟约与道具
- 阿戈尔的吞噬跳过已经被它击倒的成员:不再对他们结算,复活的成员保持站立(GitHub #33)。
### 素材与工具
- 没有提取本机客户端素材时,setup 也会从公开镜像下载战斗表情和「玩法说明」页面(约 21 MB),不再缺图;部署文档按实际情况订正(GitHub #42)。
- 英文名改为官方的 Stronghold Protocol: Alliance;中文名卫戍协议:盟约和仓库名不变(GitHub #38)。
- 启动器「发给朋友」不再把代理的 TUN 地址当成公网 IP(PR #27)。
- 音频改走无扩展名的 /media 路由,IDM、迅雷等下载管理器不再弹出「下载文件信息」(PR #28)。
- Windows 上打开浏览器改用 explorer.exe(系统关联),找不到时才用 rundll32(PR #29)。
## 0.1.1 — 2026-10-03 ## 0.1.1 — 2026-10-03
修复 0.1.0 发布后玩家反馈的问题(共 32 条,其中 4 条核实后不是问题)。同时处理了 GitHub 上的 issue #1、#4、#5、#8,合并了 PR #10、#12,采纳了 PR #2、#7、#14 指出的问题。规则对照官方数据和 PRTS 核对;少数查不到出处的细节按推断实现,详见 [docs/DESIGN.md](docs/DESIGN.md) §21。 修复 0.1.0 发布后玩家反馈的问题(共 32 条,其中 4 条核实后不是问题)。同时处理了 GitHub 上的 issue #1、#4、#5、#8,合并了 PR #10、#12,采纳了 PR #2、#7、#14 指出的问题。规则对照官方数据和 PRTS 核对;少数查不到出处的细节按推断实现,详见 [docs/DESIGN.md](docs/DESIGN.md) §21。
+3 -3
View File
@@ -2,7 +2,7 @@
《明日方舟》季节性自走棋塔防玩法「卫戍协议:盟约」的**非官方同人复刻**:浏览器即开即玩,单人或 1–4 人联机合作。 《明日方舟》季节性自走棋塔防玩法「卫戍协议:盟约」的**非官方同人复刻**:浏览器即开即玩,单人或 1–4 人联机合作。
![version](https://img.shields.io/badge/version-0.1.1-2ea44f) ![version](https://img.shields.io/badge/version-0.1.2-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)
@@ -37,7 +37,7 @@ English summary: [below](#english).
- **独立模拟**(单人)与**同盟模拟**(1–4 人**合作**,没有 PvP;空位可以加 AI 队友)。 - **独立模拟**(单人)与**同盟模拟**(1–4 人**合作**,没有 PvP;空位可以加 AI 队友)。
- 服务器是一个 Node.js 程序,**战斗在各玩家的浏览器里模拟**(和官方一样),服务器只管经济与回合,一台低功耗小主机就能开服。 - 服务器是一个 Node.js 程序,**战斗在各玩家的浏览器里模拟**(和官方一样),服务器只管经济与回合,一台低功耗小主机就能开服。
- 当前版本 0.1.1:修复了首个公开版本(0.1.0)发布后玩家反馈的问题,详见 [CHANGELOG.md](CHANGELOG.md)。仍有少数规则按推断实现,与官方不一致的地方欢迎在 Issue 里反馈。 - 当前版本 0.1.2:修复了 0.1.1 发布后 GitHub 上反馈的问题,详见 [CHANGELOG.md](CHANGELOG.md)。仍有少数规则按推断实现,与官方不一致的地方欢迎在 Issue 里反馈。
## 功能一览 ## 功能一览
@@ -68,7 +68,7 @@ English summary: [below](#english).
- Windows:在 PowerShell 里运行 `winget install OpenJS.NodeJS.LTS`,或到 <https://nodejs.org/zh-cn/download> 下载安装包。 - Windows:在 PowerShell 里运行 `winget install OpenJS.NodeJS.LTS`,或到 <https://nodejs.org/zh-cn/download> 下载安装包。
- macOS:`brew install node@22`,或到官网下载安装包。 - macOS:`brew install node@22`,或到官网下载安装包。
- Linux:发行版的包管理器、nvm 或 fnm。 - Linux:发行版的包管理器、nvm 或 fnm。
2. **下载**:在 [Releases](../../releases/latest) 页面下载最新版本(v0.1.1)的整合包(zip),解压到一个路径较短的文件夹(Windows 上建议不要放在 OneDrive 同步的目录里)。 2. **下载**:在 [Releases](../../releases/latest) 页面下载最新版本(v0.1.2)的整合包(zip),解压到一个路径较短的文件夹(Windows 上建议不要放在 OneDrive 同步的目录里)。
3. **启动** 3. **启动**
- Windows:双击 **`scripts\start-windows.bat`**。如果弹出「安全警告」,点「运行」;Windows 防火墙弹窗请勾选「专用网络」并允许。 - Windows:双击 **`scripts\start-windows.bat`**。如果弹出「安全警告」,点「运行」;Windows 防火墙弹窗请勾选「专用网络」并允许。
- macOS / Linux:在解压出的文件夹里运行 `./scripts/start.sh`(或 `bash scripts/start.sh`)。 - macOS / Linux:在解压出的文件夹里运行 `./scripts/start.sh`(或 `bash scripts/start.sh`)。
+1 -1
View File
@@ -26,7 +26,7 @@
``` ```
装完**关闭并重新打开**终端,`node -v` 应显示 v22 或更高(winget 的 LTS 目前是 v24.x,同样可用)。没有 winget 时从 <https://nodejs.org/zh-cn/download> 和 <https://git-scm.com/download/win> 下载安装。 装完**关闭并重新打开**终端,`node -v` 应显示 v22 或更高(winget 的 LTS 目前是 v24.x,同样可用)。没有 winget 时从 <https://nodejs.org/zh-cn/download> 和 <https://git-scm.com/download/win> 下载安装。
2. 下载,二选一。建议放在一个固定、短、**不在 OneDrive 同步范围内**的目录,例如 `C:\Stronghold-Protocol`: 2. 下载,二选一。建议放在一个固定、短、**不在 OneDrive 同步范围内**的目录,例如 `C:\Stronghold-Protocol`:
- **完整包(推荐)**:在仓库的 [Releases](https://github.com/sganggs/Stronghold-Protocol/releases) 页面下载最新版本(当前为 v0.1.1)的完整包 zip(已含依赖、前端库和全部素材,包括官方 3D 棋盘),解压后把里面的 `Stronghold-Protocol` 文件夹放到上述位置。不需要 Git,首次启动也不用再下载素材。素材版权归上海鹰角网络 / Yostar,仅限非商业使用,见 [NOTICE.md](../NOTICE.md)。 - **完整包(推荐)**:在仓库的 [Releases](https://github.com/sganggs/Stronghold-Protocol/releases) 页面下载最新版本(当前为 v0.1.2)的完整包 zip(已含依赖、前端库和全部素材,包括官方 3D 棋盘),解压后把里面的 `Stronghold-Protocol` 文件夹放到上述位置。不需要 Git,首次启动也不用再下载素材。素材版权归上海鹰角网络 / Yostar,仅限非商业使用,见 [NOTICE.md](../NOTICE.md)。
- **源码**: - **源码**:
```powershell ```powershell
git clone https://github.com/sganggs/Stronghold-Protocol.git C:\Stronghold-Protocol git clone https://github.com/sganggs/Stronghold-Protocol.git C:\Stronghold-Protocol
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "stronghold-protocol-alliance", "name": "stronghold-protocol-alliance",
"version": "0.1.1", "version": "0.1.2",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "stronghold-protocol-alliance", "name": "stronghold-protocol-alliance",
"version": "0.1.1", "version": "0.1.2",
"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.1.1", "version": "0.1.2",
"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
@@ -3,7 +3,7 @@
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.1.1'; export const APP_VERSION = '0.1.2';
export const MAX_SEATS = 4; export const MAX_SEATS = 4;
export const ROOM_CODE_LEN = 4; export const ROOM_CODE_LEN = 4;