Online co-op browser remake of Arknights' Stronghold Protocol: Alliance (client-simulated combat, official waves/bonds/items/strategies, 3D board, facing wheel, operator loadout, official emotes, deployment scripts).
64 KiB
06 · Multiplayer (同盟模拟 / 联合模拟) and in-game UI/UX flow
Scope: how the co-op mode of 卫戍协议:盟约 (season act2autochess, "盟约·下半"; 上半 = act1autochess) works, and what each screen looks like, so we can build a similar but original UI.
Legend:
- [DATA] read from the official game data (
activity_table.json,autoChessData,act2autochess, level JSONs,display_meta_table.json). - [OFF] from an official Hypergryph announcement or the official gameplay-intro long image.
- [WIKI] from BWIKI or PRTS (community wikis that copy in-game text).
- [COMM] from community guides, videos or screenshots.
- [SHOT] seen directly in a screenshot (URLs in §15).
- [ASSUMED] our proposal where nothing authoritative was found.
Rich-text tags such as <@ba.vup>…</> are stripped. Rules this doc shares with the core loop (economy, bonds, LP) are covered in 01-core-rules.md and 05-enemies-levels.md. This doc only restates what multiplayer needs.
0. TL;DR: the 20 facts the architect needs
- This is co-op, not PvP. 1–4 players (a "同盟", alliance) fight AI waves. Each player has their own board, bench, shop, funds, shop level, bonds and LP. Nothing attacks another player. The only rivalry is indirect: the shared operator pool ("抢牌/卡牌") and bounty kills. [OFF][WIKI][COMM]
- Entry. 独立模拟 (solo) or 同盟模拟 (co-op). Co-op has two ways in:
- 联合模拟: create a room and share a 同盟密钥 (room key), or join with a key or invite.
- 搜寻队友: matchmaking, either 精确搜寻 (similar trophy level) or 快速搜寻 (fastest).
- Unticking 【房间未满4人时搜寻队友】 starts a room with fewer than 4 players. [OFF 5114][WIKI]
- Enemy scaling. Every enemy's HP and ATK are ×0.70 in solo and ×0.80 in co-op. [WIKI PRTS 下半]
- Pre-game steps (
enterStepList) [DATA]:INFO_CHECK"确认本局信息": 25 s, warning at 5 s. Players press 准备就绪; the screen shows "已就绪 x/4".BAND_CHECK"选择策略": 50 s, warning at 15 s. A draft in random order shown on the left. In co-op each player may skip once ("联合模拟在选择策略时可以进行一次跳过"). On timeout 华法琳 (band_bldsk) is picked.BATTLE_CHECK"协议启动": 3 s.
- Round loop (co-op): [机变 draft on SP rounds] → 休整期 prep (timer, with ready/unready) → simultaneous auto-combat → 联防 unite phase if needed → LP loss → next round. Round 14 = 最终攻势 (Final Assault). Round 15 = 隐秘核心 (Hidden Core, optional). 标准 difficulty ends at round 14 with no hidden core.
- Co-op prep timer (
turnInfoDataDict.normalPhaseTime, seconds, rounds 1→15) [DATA]:65,65,65,95,95,100,105,105,125,125,125,125,150,195,195. Round 15 is215in 绝境 and 终极.- Solo was 300 s in 上半 and is unlimited in 下半, with pause, leave and resume allowed. [OFF 5114]
- Combat time limit = the round level's
maxPlayTime:45,45,55,55,55,70,85,85,95,95,115,115,115,120,120.
- Ready check. "全体参与者就绪之前可随时取消准备,准备战斗后将无法进行操作". You can un-ready until everyone is ready. Combat starts when all players are ready or when the timer runs out. [DATA tip]
- 机变阶段 (special draft phase), co-op:
-
Offers 6 cards; each player takes 1 in turn, and a taken card is gone. 16 s per picker (
specialPhaseTime=16), 30 s for the first picker. On timeout the pick is auto-assigned. [DATA][WIKI][SHOT] -
Solo offers 3 cards and has no time limit in 下半.
-
It happens in the prep of rounds where
isSpPrepare:- co-op 标准: rounds 3, 9
- co-op 险境: rounds 3, 6, 9
- co-op 绝境/终极: rounds 3, 9, 11
That is, "after round 2/8", "2/5/8" and "2/8/10". [DATA]
-
- Team cards. 战术决策 cards marked
icon_team_buffgive the effect to the picker and to all teammates ("若存在其他队友则他们也获得").icon_player_buffcards are personal. [DATA] - 联防 (Unite / joint defense). Runs when at least one player leaked and at least one player cleared perfectly (完美作战).
- Up to 2 perfect players move their operators, in their end-of-combat state, onto a temporary field (临时阵地) and fight the union of all leaked enemies.
- Enemies that survive cost their source player LP, capped at 10 per round.
- Bond stacking is disabled during 联防.
- A bounty target killed by a helper pays the helper. [WIKI][DATA][COMM]
- LP. Each player's LP = their strategy's
totalHp(20–45). Loss is capped at 10 per round (costPlayerHpLimit=10). A player at 0 LP is out, and all their units go back to the shared pool at once. [DATA][COMM] - Final Assault (round 14).
- All players' remaining LP merge into one pool (no cap).
- Players are paired 2 + 2 onto two merged battlefields, each partner holding one half (left or right).
- Everyone damages the same boss HP pool: some leaders spawn on both sides of a field and share HP.
- After
bossTurnHpReduceTime=150 s the pool loses 1 LP per second. - "最终攻势中,两名参与者会处于同一个战场,但无法查看另一组队友的战场情况". [DATA][OFF][WIKI]
- Hidden Core (round 15, 险境+).
- Co-op: the sum of all players' activated bond stacks > 1200 and merged LP > 1.
- Solo: > 350 and LP > 1.
- In 上半 the thresholds were 1000 and 300.
- Failing round 15 does not affect clear status or rewards. [WIKI PRTS 下半]
- Shared pool (co-op): copies per operator name by tier I..VI = 12 / 14 / 18 / 16 / 8 / 5 (Muelsyse 4).
- An elite occupies 3 copies. Shop-displayed cards don't count.
- The shop can't roll an operator whose owned copies (all players' boards, benches and effects) have reached the cap.
- Units of players who are eliminated or who quit return immediately. [COMM video BV1JWy3BkEpt/BV1ZTUjBaEyy]
- No free trading or gifting. The only player-to-player transfers are item or strategy effects:
- 信标 (Beacon, from 芬's strategy): sends the original operator to the teammate with the most members of that bond. This fires the broadcast "X博士给你赠送了{1}".
- "神秘顾客" (鸭爵's strategy): passed to the next player.
- Team buff cards. [DATA]
- Communication is emotes only. There is no text chat.
chatCD=1 s between emotes; a bubble shows forchatTime=3 s.- Room emotes: 10. Battle emotes: 6 per theme. Themes: 卫戍 basic, basic_2, 源石虫, plus 3 paid April-Fools themes.
- An auto broadcast ticker reports boss-damage %, big DPS, shop levels, elite promotions and gifts. [DATA]
- Disconnect / leave.
- Solo: leave anytime and resume within 24 h (
singleReconnectTime=86400). - Co-op: the match continues. A "断线重连" button appears on the hub. Timers keep running and the missing player's choices auto-resolve (draft auto-assign, strategy default); their board keeps auto-fighting.
- Quitting counts as a defeat: units return to the pool and the boss HP pool shrinks.
- 模拟重载时间: ending a sim within 20 s of starting blocks the next start for a while (anti-abuse). [OFF][WIKI][SHOT][ASSUMED details]
- Solo: leave anytime and resume within 24 h (
- Trophies (奖杯), co-op only. By rounds passed × difficulty (§10). Levels at 0 / 10 / 30 / 60 / 100 cumulative trophies (
medalDataList). Trophy level feeds 精确搜寻 and is shown on name cards. [DATA][WIKI] - Settlement per player. Rounds passed, one 评语/title out of 卫戍之星, 不朽盟约, 坚若磐石, 精英云集, 万事俱备, 挥金如土 (
playerTitleDataDict), trophies, 卫戍认证 (tokens), 点赞 (like) and 举报 (report, 8 reasons, at most 3 reports). [DATA][WIKI] - Visual language.
- Near-black green-grey panels with mint/teal (#4ed8af / #35d8b4 / #59f4ca) accents, gold price badges (#ffc600), red for danger and exit.
- Seven-segment "COUNTDOWN" digits top-right; they go orange at ≤10 s.
- Round mint bond discs, roman-numeral tier chips, a hexagon coin badge and a green "tower" LP icon.
- A tilted 3D board with the shop as a bottom card bar. [DATA colors][SHOT]
1. Terminology (CN → proposed EN → data id)
| CN (in-game) | EN (ours) | Where / id |
|---|---|---|
| 独立模拟 | Solo Simulation | modeType: SINGLE |
| 同盟模拟 | Alliance / Co-op Simulation | modeType: MULTI |
| 联合模拟 | Private Alliance (room + key) | co-op sub-entry |
| 搜寻队友 (精确/快速) | Matchmaking (Precise / Quick) | co-op sub-entry |
| 同盟密钥 | Alliance Key (room code) | — |
| 入门协议 | Tutorial Protocol | mode_training_1, modeType: LOCAL. It runs with 3 NPC teammates (trainingNpcList). |
| 标准/险境/绝境/终极 模拟 | Standard / Perilous / Desperate / Ultimate | FUNNY/NORMAL/HARD/ABYSS; colors f6a329 / e85a1a / e73118 / ff0024 |
| 确认本局信息 | Briefing | INFO_CHECK |
| 选择策略 / 策略 | Strategy (commander) | BAND_CHECK, bandDataListDict |
| 协议启动 | Protocol start | BATTLE_CHECK |
| 休整期 | Rest (prep) phase | normalPhaseTime |
| 机变阶段 | Contingency draft | specialPhaseTime, isSpPrepare, effectChoiceInfoDict |
| 作战期 / 各自行动阶段 | Combat / individual action phase | level maxPlayTime |
| 联防 / 联防阶段 | Unite (joint-defense) phase | escapedBattleTemplateMap{Single,Multi}Player |
| 完美作战 | Perfect clear | — |
| 目标生命值 | LP (target life) | bandDataListDict.totalHp, costPlayerHpLimit |
| 最终攻势 | Final Assault (round 14) | isBossTurn, bossTurnHpReduceTime |
| 隐秘核心 | Hidden Core (round "??" = 15) | isHidingBoss |
| 调度中心 | Dispatch Center (shop) | shopLevelDataDict |
| 整备区 / 临时整备区 | Standby area (bench, 10) / temp overflow (5) | maxDeckChessCnt=10 |
| 战场区 | Battlefield (max 8 units) | maxBattleChessCnt=8 |
| 冻结 / 解冻 | Freeze / Unfreeze (lock shop) | — |
| 刷新 | Refresh (reroll, 1 fund) | shopRefreshPrice=1 |
| 晋级 / 精锐 | Promote / Elite (3→1) | — |
| 奖杯 / 奖杯等级 | Trophies / Trophy level | medalDataList |
| 评语 | Commendation (title) | playerTitleDataDict |
| 卫戍认证 | Garrison Certificate (reward token) | act2autochess_token_chess |
| 交流 | Emote | enabledEmoticonThemeIdList |
2. Mode matrix
| 独立模拟 (solo) | 同盟模拟 (co-op) | |
|---|---|---|
| Players | 1 | 1–4. Normally 4; fewer if "房间未满4人时搜寻队友" is unticked. |
| Enemy HP/ATK factor | ×0.70 | ×0.80 |
| Prep timer | none (下半); 300 s (上半) | normalPhaseTime table (§4.2) |
| 机变 draft | 3 choose 1, no timer (data: 150 s in 上半) | 6 cards, 1 each in turn; 16 s each, 30 s first |
SP rounds (isSpPrepare) |
标准 none (9-round mode); 险境 6, 9; 绝境/终极 3, 9, 11 | 标准 3, 9; 险境 3, 6, 9; 绝境/终极 3, 9, 11 |
| Rounds | 标准: 9 (boss on 9). Others: 14 + optional 15. | 标准: 14 (no 15). Others: 14 + optional 15. |
| 联防 | none | yes (§5) |
| Boss round | single field, all your lanes | pairs on merged fields, shared HP pool |
| Hidden core threshold | stacks > 350, LP > 1 | team stacks > 1200, merged LP > 1 |
| Pause / leave | yes, 24 h resume, 【放弃模拟】 to settle | no pause; reconnect via 断线重连 |
| Trophies | none ("只有在联合模拟中才能获得奖杯") | yes (§10) |
Reward factor (modeFactorInfo) |
×1.25 (was ×1 before 11/18) | ×1.25 |
| Strategy unlock / mode unlock | Shared between solo and co-op in 下半 | Shared between solo and co-op in 下半 |
Mode unlocks (preposedMode) [DATA]:
- 标准 needs 入门协议.
- 险境 needs 标准 cleared (solo or co-op).
- 绝境 needs 险境 cleared.
- 终极 needs 2 clears of 绝境.
"盟约数增加" means 标准 bans 10 bonds (inactiveBondIdList) and some enemies (inactiveEnemyKey).
3. Lobby, rooms and matchmaking
3.1 Hub → mode select [OFF intro image][SHOT]
- Left column: 成就统计 (stats), 报酬说明 (rewards info), 每日防卫目标 (daily 200 tokens → +300), 关键目标 (missions), 功勋兑换处 (milestone shop; 60 levels in
milestoneList). - Right column: S.W.E.E.P.报告 (codex), 物资调配处 (roster config), 模拟邀约 (pending invites).
- Bottom-right mode buttons:
独立模拟- a group labelled
同盟模拟holding联合模拟and搜寻队友
- Reconnect: if you have a live co-op sim, the mode buttons are replaced by 【断线重连】.
- Tutorial: 入门协议 is reachable bottom-left of the co-op screen and is forced on first entry.
3.2 联合模拟 (private room)
- 选择同盟方式 offers two options:
- 【创建同盟】
- 输入同盟密钥 + 【加入同盟】 (join with a key)
- Room screen (one tall card per seat, 4 seats):
- Each card shows the player's assistant (secretary) art, a
博士 #1234tag, the trophy-level chess icon and a "…" emote button. - The creator's card is tagged 创建者. A ready seat shows ☑ 已就绪.
- Each card shows the player's assistant (secretary) art, a
- Header:
- a lifetime countdown, "13:29 后同盟将自动销毁". Rooms self-destruct after about 15 min idle [ASSUMED 15:00].
- "当前延迟 11ms", the ping.
- Footer:
- a pill
[快速搜寻 | ♜ 标准模拟]showing search mode and difficulty (difficulty tinted in mode color). - "*同盟人数达标,准许进入模拟"
- a big mint 准备就绪 button.
- a pill
- Rules:
- The creator can change difficulty and invite friends.
- Invites have a 60 s cooldown per invite (
invitationSendCd=60). - Unticking "房间未满4人时搜寻队友" lets the room start with fewer than 4. If it is ticked, the room fills the empty seats through matchmaking.
3.3 搜寻队友 (matchmaking)
- Pick difficulty on 选择模拟协议:
- Left: a gold hologram of the fortress/barge.
- Right: stacked difficulty cards with "已选定" check or lock text such as "通关同盟模拟【标准模拟】后解锁".
- Pick the search mode from a dropdown, then press 【开始搜寻】:
- 精确搜寻: "更容易搜寻到实力相近的队友", matched by trophy level/count.
- 快速搜寻: "更快速地搜寻队友".
- Matching tips (
gameTipsList, 21 tips, weight 50 each) rotate every 5 s (matchingTipRotateInterval). - Matching timeout
matchTimeMax= 120 s. What happens next is not documented. [ASSUMED] Offer "start with current members" or "keep searching"; in our build, fill with bots.
3.4 Ping display (pingConds) [DATA]
A pill next to the exit button shows NNms, colored by tier:
ping.lowfor < 60 msping.mediumfor 60–199 msping.highfor ≥ 200 ms
[ASSUMED] Colors mint / amber / red. Screenshots show the number in amber/orange at 58–85 ms.
3.5 Anti-abuse
- 模拟重载时间: after starting a sim there are 20 s during which ending it blocks starting a new one immediately. [WIKI]
- Abandoning before the first prep phase gives no settlement plus a penalty wait (【等待模拟重载】). [WIKI]
4. Match flow in co-op (state machine)
LOBBY ─► MATCHED ─► INFO_CHECK(25s) ─► BAND_CHECK(50s draft) ─► BATTLE_CHECK(3s)
└─► for round r = 1..14(15):
[SP_DRAFT if isSpPrepare[r]] (6 cards, sequential picks, 16s/30s)
PREP(normalPhaseTime[r]) ── all ready? ──► COMBAT(maxPlayTime[r]) (all boards in parallel)
COMBAT_END: each board is PERFECT or LEAKED (alive enemies at timeout count as leaked)
if any LEAKED and any PERFECT: UNITE(联防) on temp field
LP_LOSS per source player (cap 10); players at 0 LP → ELIMINATED
r==14: FINAL_ASSAULT (merged LP, pairs, shared boss HP)
r==15 only if hidden-core condition met (险境+)
└─► SETTLEMENT (team page → personal page → rewards)
4.1 INFO_CHECK "1/2 确认本局信息" (25 s, hint 5 s) [DATA][SHOT]
Shows:
- the enemy leader (portrait, name, lore)
- up to 3 special enemy types (
specialEnemyNum=3, e.g. 特训敌人·隐匿/飞行/折射) - 核心盟约 row and 附加盟约 row of bond discs. Lit = active. Greyed with a badge = "部分盟约所含干员阵容不完整" (some of its operators won't appear).
- 本局禁用干员 (banned operators this match)
Footer: "已就绪 2/4" with 4 person pips, plus 准备就绪. When everyone is ready or the timer ends, the draft starts.
4.2 BAND_CHECK "2/2 选择策略" (50 s, hint 15 s) [DATA][OFF][SHOT]
- Left: the seat list in random draft order. Each row: avatar, name#id, trophy badge, name-card art, and a state box:
…waiting⌛ 决策中choosing- chosen strategy icon + 🔍 + ✓ when done
- Right: a 4-column grid of 40 strategy portraits (
bandDataListDict) and a detail pane: portrait, 初始生命值 N, name and effect. Bottom: 确认选择. - An orange rook badge on a portrait = cleared with that strategy 3 times (
victorCount=3, the corner badge "角标"). - One skip per player in co-op: pass your turn and pick later. [DATA tip]
- Timeout →
band_bldsk华法琳. - Unlock conditions come from
bandDataDict.unlockDesc. - Whether two players may pick the same strategy is not documented. [ASSUMED] Allowed (the community only talks about "宣示主权", declaring a bond to teammates, not about locks). A picked strategy shows the picker's avatar on its portrait.
4.3 Prep phase 休整期 (co-op timer) [DATA]
| Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Prep s (normalPhaseTime, multi) |
65 | 65 | 65 | 95 | 95 | 100 | 105 | 105 | 125 | 125 | 125 | 125 | 150 | 195 | 195 (绝境/终极: 215) |
Combat s (level maxPlayTime) |
45 | 45 | 55 | 55 | 55 | 70 | 85 | 85 | 95 | 95 | 115 | 115 | 115 | 120 | 120 |
| Wave level | 01 | 02 | 03 | 04 | 05 | 06 | 07 | h01 | h02 | h03 | h04 | h05 | h06 | h07_0X | h08_0X |
- 标准 co-op ends at round 14 and has no 15.
- The countdown turns orange at ≤10 s (
hintTimeNormalPhase/FightPhase/SpecialPhase/DotPhase= 10). [SHOT: "01" orange] - PRTS gives a simplified "各轮次均有70秒的决策时间". Use the data table.
- A full 4-player match takes about 29 min of prep, 21 min of combat, plus 联防 and drafts ≈ 50–60 min. That is a known community pain point ("燒時間條"). We should support a fast-timer preset.
Prep rules relevant to co-op [DATA tips][WIKI]:
- Ready: 准备就绪 toggles ready. "全体参与者就绪之前可随时取消准备,准备战斗后将无法进行操作". Once ready you cannot act, but you can still un-ready until everyone is ready.
- Overflow: "若非主动溢出,溢出的手牌会临时存放至整备区前方的5个空位上,直到溢出情况排除才可开始进行作战". Overflowed bench cards sit on 5 temp slots and block readying. They are destroyed at the next round ("处于临时整备区的调度资源,在进入下一回合后会自动销毁").
- Scouting: "休整期可以查看队友的战场情况" and "…查看当前回合即将迎击的敌方单位". Tap a teammate's avatar in the left list to view their board (read-only). The 🔍▶▶ button shows the enemy preview board.
- Promotion reward: the reward operator can't be refreshed or frozen and doesn't carry over.
- Upgrade cost drops by 1 each round until 0 [SHOT: 5 → 4 → 3 over rounds 1–3].
4.4 Special draft 机变阶段 (co-op) [DATA][WIKI][SHOT]
- Header:
悬赏决策 | 选定悬赏目标,获取额外奖励。with the sub-line "倒计时结束后仍未选定将自动分配". - Right header: "当前轮到你决策" when it's your turn, or "{name} 正在决策… ⌛", plus the countdown.
- Grid: 3×2 = 6 cards. A taken card greys out and shows the taker's avatar badge in its top-right corner.
- Left list: ✓ = picked,
…= picking, exit-door icon = player left. - Pick order: it is not simply seat order; screenshots show out-of-seat order. [ASSUMED] Random per draft; alternatively lowest-LP-first as a catch-up rule.
- Card families (
effectChoiceInfoDict,choiceType/ name / text color#35d8b4, or#f2bd3efor the "_s" special variant):
| choiceType | Name | Contents (see 04-items.md / 05-enemies-levels.md) |
|---|---|---|
BOUNTY_HUNT |
悬赏决策 | Adds an enemy to your next combat. "将其击倒者获得N资金": the killer, including a 联防 helper, gets the funds. Multi-round 假想敌: "击倒它的你或队友获得1资金". 战术特训 variants: "若各自行动阶段就达成完美作战,获得N资金" (perfect in your own phase, not via 联防). |
EQUIP_FREE |
道具补给 / 机密商店 | Free equipment (tier chip I–VI on card). |
BUFF_SELECT |
战术决策 | icon_team_buff: you and every teammate get it (列装, the 8 "…的盟誓" +8/10/12 stacks, 财富 +1 fund, 补给 2 free refreshes, 自愈, 火力, 征召, 无瑕, 锐利). icon_player_buff: only you (整备, 升华, 7×"盟约驰援"). |
PERSONAL_CHOOSE |
悬赏决策 (hunter strategy) | Personal-only variant. |
- The terrain cards (
terrain_m0X, "模拟战场演变") change the map. [ASSUMED] They apply to the picker's own board.
4.5 Combat (各自行动阶段)
- All boards fight at the same time on the server. The client camera switches to the battle view. [SHOT]
- 2× speed. No manual control and no pause in co-op.
- HUD center capsule:
killed/total(e.g.4/9), orange-bordered. - Right edge: a DP counter
⊂ 71. DP starts at 10, gains +1 per second (costIncreaseTime=1) and caps at 99. Redeploys cost DP. - When your board finishes: the bottom bar reads "⌛ 作战结束,等待队友完成作战". A bottom view switcher
‹ 自己 ›cycles through teammates' live battles; you watch, you don't control. - Result per board: PERFECT (all enemies dead) or LEAKED (enemies reached the goal, or were alive at timeout).
- [ASSUMED] Enemies that reach the protection point during combat are removed from your board and queued as "leaked" for 联防. They are not charged immediately. Charging happens after 联防.
5. 联防 Unite phase: exact rules and our implementation
Rules as published [WIKI BWIKI/PRTS][DATA tips][COMM]:
- Trigger: at least one player leaked and at least one player is PERFECT. Only perfect players may help ("只有达成完美作战的队友可以进行联防").
- Helpers: 1 or 2 perfect players ("达成完美作战的玩家(最多2名)将迎战所有突破了防线的敌人"). PRTS: "1~2名完美作战玩家的阵地以其当前状态,迎接所有非完美作战玩家未能击杀的敌人的集合".
- State carried over: helpers' operators keep their HP ratio, SP and deployment positions from the end of their own combat and are moved to a 临时阵地.
- Enemies: the helpers face the union of all non-perfect players' leaked enemies.
- No stacking: 【盟约】 stacking is disabled ("进行联防时,盟约不会继续叠加"; <战斗中> triggers don't fire). The HUD shows the bond row with the tooltip "层数叠加已禁用". [SHOT]
- LP: enemies still alive when 联防 ends deduct LP from their source player. The cap is 10 per player per round. A fully successful 联防 means the owner loses nothing.
- Bounties: a bounty or 假想敌 carries its reward to whoever kills it, so a helper can collect a teammate's bounty. Band 鸭爵: "…击倒这些敌人者获得1资金(包括联防阶段)".
Data behind it [DATA]:
- The template maps are
level_act1autochess_escaped_single(characterLimit 8) andlevel_act1autochess_escaped_multi(characterLimit 20). They share one 21×19 geometry: two lanes (left and right halves), a start at the right edge (row 9, col 18) and the goal at the left (row 9, col 2). - Waves are placeholders: 5 × each of 8 template enemies (
templateEnemyNormal/Elite/Special(+Fly)/Token(+Fly)inautoChessData.constData), spawned at 3/10/17 s on routes 0–7. The server swaps in the real leaked enemies by category. maxPlayTime= 1.0 is a placeholder, overridden at runtime.- [ASSUMED interpretation]
escaped_singleis used with 1 helper andescaped_multiwith 2 helpers (8+8 operators, plus summons, fit in 20).
What is not published, and what we propose [ASSUMED]:
| Question | Proposal |
|---|---|
| Which 2 helpers if 3 are perfect? | The two with the most remaining LP, ties broken by seat index. Alternative: random. Show "联防: A、B" in the banner. |
| Where do helpers stand? | Helper 1 keeps their layout on the left half, helper 2 on the right half. The single-helper map uses the left half. |
| Timer | Same as that round's combat maxPlayTime. [SHOT: countdown 64 during a round-12 联防, consistent with 115 s] |
| Spawn order | Group leaked enemies by type, spawn in 3 staggered batches (t = 3/10/17 s). Keep sourcePlayerId on each enemy. |
| What non-helpers do | Watch. The view switcher auto-focuses the 联防 field. Banner "联防阶段" (orange). The owners' LP counters tick down live as enemies escape. |
| Enemy stats | Unchanged from the source board's round/difficulty. |
| Helper operator death | Counts only for 联防. Helper boards reset normally for the next round. |
Visual [SHOT]: the banner is a dark strip with orange chevrons and orange-skull icons reading 联防阶段. The top capsule shows the kill counter 1/4 and the round 回合 12.
6. What is shared vs individual
| Element | Per player | Shared by the team |
|---|---|---|
| Board (8 deploy slots), bench (10 + 5 overflow), shop and shop level, funds, freeze state | ✔ | |
Strategy (band) and its LP pool (totalHp) |
✔ (merged at round 14) | ✔ from the Final Assault on |
| Bonds and stacks | ✔ | Hidden-core check uses the team sum |
| Enemy waves per round | Same round template for everyone [ASSUMED same seed and composition]. Per-player additions from bounties/特训 are "为自身下场作战添加". | Special-enemy types and boss are the same for the whole match (briefing) |
| Operator pool (copies per name) | ✔ (§7) | |
| Leaked enemies → 联防 | ✔ helpers fight them | |
| Boss HP | ✔ one pool across both boss fields | |
| 机变 card set | ✔ one 6-card pool, each takes 1 | |
| Team-buff cards | ✔ picker + teammates | |
| Timers, ready gate | ✔ everyone waits for the slowest (prep ends when all ready or timer) | |
| Rewards / trophies | ✔ (own rounds passed) | Team result affects rounds passed |
7. Shared operator pool (co-op) [COMM, tested by players]
-
Copies per operator name:
Tier I II III IV V VI Copies 12 14 18 16 8 5 Exception: 缪尔赛思 (Muelsyse) has 4.
-
A normal unit uses 1 copy and an elite uses 3.
-
Counted: units on every player's battlefield, bench and temp bench, from any source (buy, reward, strategy effect, 拟态/copy effects).
-
Not counted: cards currently displayed in any shop.
-
When owned copies ≥ the cap, a refresh can't roll that name. Some effects fail when the cap is hit (杜遥夜's search; possibly 拟态物质 or 煌's sell effect).
-
Selling (1 fund per bench unit) returns copies. A player's defeat or quit returns all their copies immediately.
-
The server must own the pool (authoritative) and update it in real time for everyone.
8. Cross-player interactions (complete list found)
- Team buffs from 战术决策 (§4.4).
- Bounties via 联防: helpers can kill another player's bounty and take the funds.
- 信标 Beacon. Item
eff_acarm109(normal) /eff_acgarm109(advanced); strategy 芬 【协力共进】 grants one on rounds 8, 10, 12 and 14.- Equipping it destroys the carrier and the Beacon.
- You get a special refresh with 2 operators of the same tier and take 1 free.
- "若在同盟模拟中且存在其他队友,下个休整期向相应盟约人数最多的队友发送1个原干员;相应盟约人数相同则随机发送;无法装备给自编干员".
- The receiver sees the broadcast "{0}博士给你赠送了{1}" (
CHAR_GIFT, priority 1).
- "神秘顾客". Strategy 鸭爵 (
eff_acdisney): "拖拽至场上使用后,选择一项特殊悬赏任务进行挑战;主动销毁时获得1份资金,并将"神秘顾客"传递给下一名玩家". From round 5, "你和队友遭遇的部分敌人可能会替换为<鸭爵><高普尼克><流泪小子><圆仔>". - Touch 【外勤医疗】: "所有玩家场地上出现一名<预备干员-医疗>", which affects all players.
- Shared boss field (round 14/15): partners' debuffs on the boss (e.g. 奥术 magic vulnerability) help each other. The community notes they don't stack: the higher value wins ("共享型buff會跟對面搶").
- Emotes and the broadcast ticker (§9).
- No direct trading, gifting, lending of funds, or item passing. "Giving back" in guides just means not buying, or selling so the copy returns to the pool.
PvP: none. There is no versus mode in 盟约 (上 or 下). Competition is only over the shared pool and the post-match comparisons (titles, likes, damage broadcasts). An older, unrelated mode ENEMY_DUEL exists elsewhere in the game.
9. Communication, broadcasts, reporting
9.1 Emotes [DATA display_meta_table][WIKI]
- Where: bottom-left 【交流】 button with a robot-face icon. It opens a panel of 6 (battle) or 10 (room) emotes; swipe left/right to switch theme.
- Display: a bubble near the sender's avatar in the left player list, and over their board [ASSUMED] for
chatTime=3 s. - Cooldown:
chatCD=1 s. - Enabled themes (
enabledEmoticonThemeIdList):emoticon_autochess_basic,emoticon_originium_slug,emoticon_autochess_basic_2, and the paidemoticon_foolsday_doctor/_amiya/_wisdel. - Room scene (
AUTOCHESS_ROOM, basic theme), picIds:- hello, thanks, happy, question, sorry
- scared, thinking, waiting, nice_cooperate, working
- Battle scene (
AUTOCHESS_BATTLE):- basic: happy, scared, sorry, thanks, thinking, nice_cooperate
- basic_2 (下半): 没问题! 敬礼! 欢呼! 酷! 伤心 快死了
- 源石虫 theme: 合作愉快! 谢谢! 对不起! 再见! ??? 很快就好!
- Look: an octagonal mint glyph face on a dark tile. Our emote art must be original.
9.2 Broadcast ticker (autoChessData.broadcastList) [DATA]
A scrolling banner. The highest priority wins. It starts broadcastBeginDelay=1 s after the trigger.
| id | priority | Text (player name highlighted) | Trigger |
|---|---|---|---|
| comment_boss_hit_1/2/3 | 30 | {0}博士对敌方领袖造成的伤害超过20% / 50% / 80%! | player's share of the boss pool |
| comment_char_damage_1/2/3 | 20 | {0}博士的{1}干员造成的伤害量达到{2} | 200,000 / 500,000 / 1,000,000 |
| comment_shop_level_1..5 | 11 | {0}博士将调度中心等级提升为{1}级 | shop level 2..6 |
| comment_bond_effect | 10 | 叠加层数 | stack milestone [ASSUMED] |
| comment_golden_char | 2 | {0}博士的{1}干员晋升为精锐 | promotion |
| comment_char_gift | 1 | {0}博士给你赠送了{1} | Beacon transfer |
9.3 Like / report at settlement [DATA]
- 点赞 (like) teammates.
- 举报 (report), at most 3 reports (
reportMaxNum). Reasons:- 消极游戏: 挂机、不作为等消极行为
- 故意捣乱: 阻碍其他玩家游戏
- 中途退出: 游戏过程中离开
- 不当言论: 使用了不恰当的名称或签名
- 骚扰: 进行令人不快的行为
- 作弊: 使用非常规手段进行游戏
- 脚本: 利用第三方工具刷取奖励
- 其他: 其他举报原因
10. Final Assault, Hidden Core, elimination, settlement
10.1 Final Assault (round 14) [DATA][OFF][WIKI][SHOT]
-
Merged LP: at the start,
teamLP = Σ remaining LP of alive players. The HUD shows a single tower-LP number, e.g.13. -
Pairing: "博士们将被两两分组,每一组都会进入一个合并场地". Level maps
h07_0X/h08_0X: a 21×19 field whose boss spawns in the middle (row 3, col 10) and whose ends are at the left (col 2–3) and right (col 17). Solo uses…_smaps with all routes going left.- [ASSUMED] With 4 players: seats (1,2) and (3,4). With 3: a pair plus a single on an
_s-style map. With 2: one pair. - The left/right player assignment mirrors taunt/deploy priority for the right-side player ("你的最左邊是你的最右邊").
- [ASSUMED] With 4 players: seats (1,2) and (3,4). With 3: a pair plus a single on an
-
Each player redeploys their own lineup onto their half. The camera has left/right/
全景(panorama) views (‹ 全景 ›switcher). -
Boss HP: one pool per match (
act2autochess.bossInfoDict.bloodPoint*):Boss Enemy id Standard 险境 绝境 终极 Hidden? Weight boss_1 enemy_9013_acstmk 247,500 675,000 1,800,000 3,600,000 no 6 boss_2 enemy_9017_achunt 225,000 400,000 800,000 3,000,000 no 6 boss_3 enemy_9021_acduml 285,000 708,750 2,000,000 4,000,000 no 6 boss_4 enemy_1521_dslily 307,500 708,750 2,100,000 4,200,000 no 5 boss_5 enemy_2016_csphtm 200,000 390,000 780,000 3,000,000 no 10 boss_6 enemy_9032_aclionk 285,000 705,000 1,990,000 3,980,000 no 5 boss_7 enemy_9033_acdeer 277,500 787,500 2,000,000 4,000,000 no 5 boss_8 enemy_9013_acstmk_2 750,000 937,500 3,600,000 7,200,000 yes 50 boss_9 enemy_9017_achunt_2 675,000 900,000 2,800,000 3,950,000 yes 40 boss_10 enemy_9021_acduml_2 825,000 1,012,500 3,800,000 7,600,000 yes 40 - "部分敌方领袖会同时出现在战场的左右两侧,两侧的敌方领袖共享生命值(敌方领袖的总生命值不变)". Both fields and both sides drain the same pool.
- The community reports fewer surviving players mean a smaller boss bar. [ASSUMED]
bossHP = bloodPoint × aliveAtRound14 / 4, floored at 1/4.
-
Boss immunity: the boss takes no 侵蚀 (erosion) damage ("最终攻势中,敌方领袖不会受到侵蚀损伤").
-
No stacking: <战斗中> stacking is disabled in the boss fight. [COMM]
-
Overtime: after
bossTurnHpReduceTime= 150 s, the team LP drains 1/s.- [ASSUMED] Minions that reach a goal also cost team LP (per-enemy LP cost; 2 for bosses per
lifePointReduce), with no 10 cap. - Team LP 0 → defeat.
- Boss dead → victory.
- [ASSUMED] Minions that reach a goal also cost team LP (per-enemy LP cost; 2 for bosses per
-
Broadcasts: at 20/50/80 % of total boss HP dealt by one player.
-
Laggy clients: the community notes "網速不好/幀率過低可能會導致boss戰傷害丟失". Our server-authoritative sim avoids this.
10.2 Hidden Core (round "??" = 15) [WIKI PRTS 下半][DATA]
- Condition (险境/绝境/终极 only):
- co-op: Σ over all players of activated bond stacks > 1200, and merged LP > 1
- solo: > 350 and LP > 1
- Enemies are "被源石所侵蚀" upgraded 假想敌 (boss_8..10).
- Failing doesn't change clear status or 卫戍认证.
- Clearing it gives extra trophies (§10.4) and a special notice.
- Timer: prep 195 s (215 s in 绝境/终极), combat 120 s.
10.3 Elimination and leaving [COMM][WIKI][SHOT]
- Elimination: a player at 0 LP before round 14 is eliminated ("战败"). Their units return to the pool and the boss pool shrinks.
- [ASSUMED] Eliminated players may stay and spectate (view switcher) or leave. Their settlement uses the rounds they passed.
- Quitting (中途退出) is treated the same, plus it can be reported.
- The left-list avatar becomes a red "exit door" icon. [SHOT Mb2mtd9]
- Two grey robot "x-eyes" placeholders are seen in a boss screenshot. [ASSUMED] They mean dead or left seats.
- Disconnection (not a quit):
- Official text: "若博士在模拟的作战回合中不慎失去神经同步,可以在一段时间内通过活动主页重新返回作战". The hub shows 【断线重连】. In-game error text: "神经网络连接丢失,请重新连接(错误号:400)".
- [ASSUMED] Meanwhile the player's board keeps its last lineup and auto-fights. Prep timers expire with no purchases, drafts auto-assign, and the strategy defaults to 华法琳 if disconnected before the draft.
10.4 Trophies (co-op only) [WIKI PRTS 下半 + BWIKI table]
| Rounds passed | 标准 | 险境 | 绝境 | 终极 |
|---|---|---|---|---|
| 0–4 | 0 | 0 | 0 | 0 |
| 5–8 | 1 | 1 | 1 | 1 |
| 9–11 | 2 | 2 | 2 | 2 |
| 12–13 | 2 | 3 | 3 | 3 |
| 14 (成功卫戍) | 3 | 4 | 5 | 6 |
| ?? (隐秘核心 cleared) | — | 5 | 7 | 8 |
Trophy level (medalDataList): Lv1 at 0, Lv2 at 10, Lv3 at 30, Lv4 at 60, Lv5 at 100 cumulative, with icons trophy_level1..5_icon. The art is chess pieces, rook → king, in bronze/silver/gold. The trophy level is shown in rooms, in the strategy draft and on the result card, and is used by 精确搜寻.
roundScoreDataList (round → 0,10,20,30,50,70,90,110,130,150,170,200,230,260,300) is a per-round score. [ASSUMED] It is a hidden MMR/"实力" input for 精确搜寻.
10.5 Commendations 评语 (playerTitleDataDict) [DATA; criteria ASSUMED]
The six titles, with our proposed award rules. The official conditions are unpublished.
| id | Title | Our rule |
|---|---|---|
| comment_1 | 卫戍之星 (Star of the Garrison) | Highest damage to the enemy leader. Only on a win. |
| comment_2 | 不朽盟约 | Highest total activated bond stacks. |
| comment_3 | 坚若磐石 | Least LP lost / most LP remaining. |
| comment_4 | 精英云集 | Most promotions to elite (晋级次数). |
| comment_5 | 万事俱备 | Most equipment fitted / merged [ASSUMED]. |
| comment_6 | 挥金如土 | Most funds spent. |
Evidence:
- A 176-game co-op player shows the six counts 20 / 32 / 25 / 26 / 29 / 19 (sum 151 ≈ 0.86 per game). This suggests each player receives at most one title per match: the category where they rank best relative to teammates, each title used at most once per match. [ASSUMED]
- 卫戍之星 is visibly rarer (about 25 % of wins for a strong player).
- The web stats page tracks exactly: 盟约最高叠加数, 单局最多消耗资金, 单局最多晋级次数, 单局最多击败数. This supports the mapping.
10.6 Settlement screens [WIKI][SHOT]
- Team summary: "展示同盟的通过回合数,本局耗时和完成日期。同时会显示每个玩家的通过回合数及其获得评语". Each row gets like and report buttons. [layout ASSUMED]
- Personal page [SHOT rZEmfyJ]:
- Top left: STRONGHOLD PROTOCOL logo, the difficulty tag (red "绝境模拟") and a big mint headline 模拟完成 (or failure text). "通过回合 15" in huge numerals. Boss medallions with ✓ (round-14 boss and hidden-core boss).
- Player card: avatar,
Dr.name#1234, trophy-level badge with total (e.g. 180), "获得奖杯 7". - Right: the final lineup as tier-chipped portrait cards. Empty slots read "NO INFO". Below it, a bond row with stacks (359 / 136 / 34 …).
- Bottom bar: "获得卫戍认证! +425 常规获得 +300 每日防卫目标", then "LV. 38 LEVEL UP! 125/200" (milestone progress bar), then 下一步.
- Background: a dark topographic Terra map with a glowing orange "TARGET POINT".
- Rewards: tokens =
baseReward[roundsPassed] × difficultyFactor × modeFactor.- Base per round 1..14 (
baseRewardDataList): 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 120, 140, 160, 200. - Difficulty (
difficultyFactorInfo): FUNNY 1.0, NORMAL 1.6, HARD 1.7, ABYSS 1.7. - Mode: ×1.25.
- Check: 200 × 1.7 × 1.25 = 425 ✓ (matches the screenshot).
- The daily target is 200 tokens → +300 bonus.
- Base per round 1..14 (
- Stats web page (
ak-webview…/autoChess/act1autochess):- totals for solo and co-op: 总模拟数, 成功卫戍, 绝境突破
- a hexagon radar of the 6 titles
- 已获奖杯, 已获赞
- best stacks, most funds spent, most promotions, most kills
- top-3 bonds and strategies, and the badged strategies
11. UI layout of each screen (reference 1920×1080 landscape, from screenshots)
Coordinates are approximate fractions of a 16:9 screen. Everything is our own art; only the layout idea is borrowed.
11.1 Global chrome (all in-match screens)
┌──────────────────────────────────────────────────────────────────────────────┐
│[⇦]58ms [🔍] 回合 [ 3 ] ( ⌂ 休息一下 ) ♜ 27 [🔍▶▶] ┃59┃≡ │
│ exit+ping info round phase / kill capsule LP enemy preview COUNTDOWN│
│ (◉3 灵巧)(◉0 迅捷)(◉ 精准)(◉ 助力) ← active-bond strip [☑ 准备就绪]│
│┌──┐ │
││P1│ ♜24 … ← player list: avatar, LP, state (…/✓/⌛/door) │
││P2│ ♜24 ✓ │
││P3│ ♜23 │
││Me│ ♜27 (green person badge = you) │
│└──┘ │
│ [☺ 交流] bottom-left │
└──────────────────────────────────────────────────────────────────────────────┘
- Exit: top-left 64 px dark-red square, white "door-arrow" glyph. Asks for confirmation. In co-op it offers 暂离 or 放弃.
- Ping: pill at about x = 4–7 %. Amber number + "ms".
- Top HUD: a thin dark bar with bracket frames
[ ], centered at about x = 25–75 %, y = 2–6 %. Small techno micro-labels ("RHODES ISLAND STATION SERVICE").- The center capsule has a mint outline in prep and shows a phase label (e.g. "休息一下").
- In combat and 联防 it has an orange outline and shows
killed/total. - In the boss round it shows
killed/totalplus an orange boss HP bar with a boss glyph.
- Round box: "回合" + a white box number.
- LP: green rook-tower icon + number.
- Enemy-preview button: amber bracket frame
[🔍 ▶▶]. It swaps the view to the enemy staging board (a separate tiled grid showing this round's enemies standing in formation). The same frame shows[🔍 ◀◀]to go back. - Countdown: top-right, 7-segment digits about 90 px tall, mint (#5fe3b0-ish).
- "COUNTDOWN" microtext underneath.
- A vertical 5-bar gauge to the right that empties with time.
- Orange at ≤10 s.
- 准备就绪: dark button with mint border and checkbox, under the countdown. When checked it fills mint.
- Bond strip: round mint discs (about 56 px) with a black glyph and an outer segmented ring.
- The stack count sits over the bottom of the disc and the name below.
- Sorted by stacks descending, left → right.
- Grey disc = present but not active.
- Tap → detail popup (thresholds and current effect).
- Player list: left edge, x ≈ 1–5 %, y ≈ 25–70 %. 4 square portraits (about 90 px) in dark frames with a green LP number.
- Status glyph to the right:
…acting / not ready, ✓ ready or picked, ⌛ deciding, red door = left. - Tap → view that player's board (read-only).
- Emote bubbles pop next to it.
- Status glyph to the right:
11.2 Prep phase (休整期) [SHOT c32edaf / 4995084 / a7a712ab]
(board: tilted 3D grid, ~60 % of the screen, centered-left; enemy spawn = red wire-cube on the right,
protect point = blue wire-cube with ⚠ on the left; operators show a tier chip "I" above their heads)
wooden bench strip (10 pads) directly under the board = 整备区; +5 temp pads in front when overflowing
剩余可放置角色: 6 ← right, above buttons
[❄ 冻结] [⟳ 刷新 (1)] ← light-blue / amber
┌────────┬───────────┬───────────┬───────────┬──(item)──┬──────────────┐
│ (4) │ I (2) │ I (2) │ I (2) │ │ ◆◆◆ 5 │
│ LEVEL │ [art] │ [art] │ [art] │ │ 目前资金 │
│ 1 │ ⚙炎 │ ⚙助力 │ ⚙精准 │ │ ✕ 收起 │
│ 升级 │ ⚔ 惊蛰 │ ⚔ 暴行 │ ⚔ 跃跃 │ │ │
└────────┴───────────┴───────────┴───────────┴──────────┴──────────────┘
bottom shop bar ≈ x 38 %→98 %, y 74 %→97 %
- Level card: mint-filled card with "LEVEL" + a big number in a bracket frame and the label 升级. The upgrade cost is a hexagon badge on top. It greys out when you can't afford it.
- Operator card: dark card, teal 1 px border.
- Top-left: tier chip (I–VI, white on black; gold border for V/VI [ASSUMED]).
- Top-center: price hexagon badge. Gold number;
#59f4cawhen discounted,#ff5454when marked up (constData.discountColor/premiumColor/normalColor). - Right: half-body art. Left: a watermark of the first bond's glyph.
- Bottom rows: bond icon + bond name(s), then class icon + name.
- A frozen card gets an icy-blue overlay and a ❄ at the bottom. A promotion reward shows price 0.
- Item card: in 下半 every non-tutorial mode has
itemCount=1 at every shop level, so one equipment slot is always shown. 入门 has it only from L5, as does the older tip "调度中心会在升至5级后开始售卖装备". Same card shape with an equipment icon and a tier chip. - Funds card: hexagon badge with a coin glyph (three stacked gold triangles) and the amount, "目前资金", and ✕ 收起, which collapses the shop to reveal the bench and board.
- Freeze / refresh: 冻结 is pale blue with a snowflake; it toggles to 解冻. 刷新 is amber with a cycle icon and a cost badge.
- Deploy interaction: drag a card or bench unit onto the board. Legal tiles light green, illegal red. While dragging, a red "✕ 点击取消" corner zone appears. Dragging a unit back to the bench retreats it. Selling is a separate sell action [ASSUMED drag onto the funds card]. Equipment: drag onto a unit (board or bench). There is no facing step in auto-chess. [ASSUMED]
- Remaining deploy counter: "剩余可放置角色: N" = 8 − deployed (
maxBattleChessCnt).
11.3 Combat [SHOT 05db364c / fc6673cd]
- The camera zooms in on the lane.
- The capsule shows
n/mkills. Right edge: DP⊂ 59. - When finished: bottom-center message pill "⌛ 作战结束,等待队友完成作战", and the view switcher
‹ 自己 ›(arrows cycle P1…P4). - The bond strip stays visible. No shop.
11.4 联防 [SHOT GwtDIAW]
- Orange banner "联防阶段" at phase start.
- The HUD capsule shows
1/4kills. The bond strip is dimmed with the tooltip "层数叠加已禁用". - The field is a wide two-half arena. Helpers' operators keep their HP bars and SP.
- The view switcher defaults to the 联防 field. Non-helpers can switch to it.
- Owners' LP in the left list decrements live as enemies escape.
11.5 机变 draft overlay [SHOT Wrkhtxv / Mb2mtd9 / SEbySVl]
- A full-width dark translucent overlay over the board. The left player list stays visible.
- Title at top-left in large mint-white text with the family name (悬赏决策 / 道具补给 / 机密商店 / 战术决策), then
|, then the grey description. - Right: "当前轮到你决策" (mint), or "{name} 正在决策… ⌛", plus the countdown.
- 3×2 grid of cards (about 23 % × 26 % of the screen each), light grey-glass panels:
- icon (enemy portrait, equipment or team-buff tower glyph) and bold title
- description with keywords highlighted blue (
ba.vup: "下场作战", numbers) - an equipment tier chip in the top-left (orange frame, roman numeral)
- a taken card turns lighter/greyed and carries the taker's avatar in a round badge at its top-right
- Behind the overlay, the funds pill and "可放置角色" remain visible at the right.
11.6 Strategy draft and briefing
Covered in §4.1–4.2. Both are full-screen dark panels:
- a fine scan-line texture
- difficulty tag (colored glyph + text) at top-left next to exit/ping
- step indicator "1/2 确认本局信息" or "2/2 选择策略" (big mint numeral)
- countdown at top-right
- a mint primary button bottom-right (准备就绪 / 确认选择)
11.7 Final Assault [SHOT YRY8ar1]
- A wide single field seen from above-front with MARTHE-branded barge docks.
- The HUD capsule shows
4/9kills and the boss HP bar (orange, with a boss glyph); the team LP number follows. - The boss has its own red bar under its sprite.
- Bottom-center
‹ 全景 ›switches left half / panorama / right half. - The countdown keeps running. After the 150 s mark, show a red "DOT" warning; team LP drains 1/s (the
hintTimeDotPhase=10 s warning before that). - The damage-share broadcast ticker is at the top-center.
11.8 Room / matchmaking / result: see §3 and §10.6
12. Visual style guide (for an original look-alike)
Palette. Official hex values come from data; the rest are sampled by eye.
| Token | Hex | Use |
|---|---|---|
| bg-0 | #0c0f0e | page and backdrop (near-black green-grey) |
| bg-1 | #141816 | panels |
| bg-2 | #1e2421 | cards |
| line | #2f3a35 | 1 px borders, grid |
| mint-500 | #4ed8af [DATA training color] | primary accent, ready buttons, headings |
| mint-400 | #59f4ca [DATA discount] | highlights, discounted price |
| mint-600 | #35d8b4 [DATA choice text] | secondary accent text |
| mint-glow | #17f9b7 [WIKI header] | glows, countdown digits |
| gold | #ffc600 [DATA normalColor] | prices, coins, "当前轮到你" |
| gold-2 | #f2bd3e [DATA special choice] | special/rare card text |
| amber | #f6a329 [DATA 标准] | refresh button, 标准 difficulty |
| orange | #e85a1a [DATA 险境] | combat capsule border, 联防 banner, low-time digits |
| red | #e73118 [DATA 绝境] / #ff0024 [DATA 终极] / #ff5454 [DATA premium] | danger, exit button, markup |
| ice | #9fd4ff [ASSUMED] | freeze button and frozen overlay |
| text-hi | #f2f2f2 | primary text |
| text-lo | #8a948f | secondary |
Shop-level tag colors (shopLevelDisplayDataDict) |
L1 #434343, L2 #626654, L3 #445760, L4 #615B74, L5 #6C5E41, L6 #5d341e | level chip background |
Typography (original game: Novecento/Bender-style Latin, Source Han Sans CJK). Our choice [ASSUMED], using freely licensed fonts:
- CJK UI: "Noto Sans SC" 400/500/700.
- Latin display (microtext "STRONGHOLD PROTOCOL", "LEVEL", "COUNTDOWN"): "Rajdhani" or "Oxanium", uppercase, +8 % tracking.
- Countdown and big numerals: a 7-segment font ("DSEG7 Classic", npm
dseg) or "Share Tech Mono". - Numbers in badges: "Barlow Condensed" 700.
Shapes and iconography:
- Rectangles with 1–2 px mint borders and corner brackets
[ ]instead of rounded boxes. Hexagon badges for prices and cost. Circles for bond discs. Chess pieces for trophy levels. A tower (rook) icon for LP. - Diagonal "chevron" arrows (»») for flow. Hazard-stripe accents (yellow/black) only on the physical barge and board props.
- Scan-line and noise overlays on panels. Topographic-map and radar-circle decorations on the hub and result screens. Tiny techno labels in 8–10 px caps.
- Tier chips use roman numerals I–VI; elite units get a gold outline or glow.
Motion:
- Cards slide up from the bottom (shop).
- Bond disc rings fill clockwise as stacks grow.
- Countdown digits flicker at ≤10 s.
- The broadcast ticker slides in from the right. Emote bubbles pop with a 150 ms scale.
- Phase banners ("联防阶段", "最终攻势") wipe in horizontally with chevrons.
Do not copy: Arknights logos, the "MARTHE" branding, character art, the exact emote art, or fonts. Build our own glyph set in the same spirit.
13. Implementation notes for our Node authoritative server [ASSUMED design]
- Match states:
LOBBY → BRIEFING(25) → BAND_DRAFT(50) → BOOT(3) → {SP_DRAFT? → PREP → COMBAT → UNITE? → RESOLVE}×N → FINAL → (HIDDEN) → SETTLE. All timers are server-side; clients only renderdeadlineTs. - Ready gate:
PREPends whenevery(alive players).readyor the deadline passes.- Ready is blocked while that player's temp-bench overflow is non-empty.
- At the deadline, destroy overflow units, then auto-ready.
- Draft engine (bands and 机变):
- Keep an order array and one
activeSeat. - Per-turn timer: bands [ASSUMED] 12 s each within the 50 s step; 机变 16 s, 30 s for the first.
- Allow one "skip" per player in the band draft (it moves the player to the end of the order).
- Timeout → auto-pick: bands →
band_bldsk; 机变 → a random remaining card.
- Keep an order array and one
- Combat:
- Simulate all boards in one tick loop (same seed per round).
- Record leaked enemies with
sourcePlayerId, type, remaining HP [ASSUMED: they re-enter at full HP] and bounty tag. - Then run UNITE on a fresh sim instance with helper snapshots (position, HP %, SP).
- Emotes:
emote{seat,id}, rate-limited to 1/s server-side, relayed to all. - Broadcasts are server-generated from events.
- Disconnect:
- Keep the seat for the whole match (the real game allows a return "within a period"). While away, the bot policy is "do nothing, auto-ready at deadline, auto-pick drafts".
- Offer an AI takeover option: a simple buy/merge/deploy heuristic, like the tutorial NPCs (
trainingNpcList= 华法琳/阿米娅/杜遥夜 bots with 120 trophies). - Reconnect restores the full state snapshot.
- Bots for empty seats: the real tutorial is a 4-seat match with 3 NPCs. We can reuse that idea to let 1–3 humans play with bots.
- Spectating: read-only board views of any seat at any time. During FINAL, hide the other pair's field to match the official rule.
- Anti-grief: report and like at settlement, and the 20 s "重载" cooldown. Optional for us.
- Timer presets: "Official" (data table) and "Fast" (×0.5 prep, keep combat). Official matches run about 55 min.
14. PvP?
No. 盟约 has no versus mode (confirmed by all sources: official announcements, BWIKI, PRTS, guides). "同盟" means alliance. The teams never fight each other. Indirect competition only:
- the shared operator pool ("卡牌/抢牌")
- who kills a bounty during 联防
- the damage-share broadcasts
- the per-match commendations
15. Screenshot / reference URLs (not downloaded; for the UI designer)
Official:
- Official gameplay-intro long image (800×13685; hub, room, matchmaking, briefing, strategy draft, prep/shop, drag-deploy, freeze, promotion, equipment…): https://img.71acg.net/sykb~bbs/pc/1763033996225879 (mirrored from the 11/13 2025 official post "「卫戍协议:盟约」玩法介绍")
- Event banners:
- Icons:
- trophy lvl1: https://patchwiki.biligame.com/images/arknights/9/96/b2qsb5k5jss4gnzox3a6c0b1gv5uy5g.png
- team-buff icon: https://patchwiki.biligame.com/images/arknights/4/49/en8v6no3jtgdnvcydolnksu6pflv3co.png
- title icon 1: https://patchwiki.biligame.com/images/arknights/2/20/7ltxu8xxexf8nyegz3wrnplfnx28k15.png
- emote "合作愉快": https://patchwiki.biligame.com/images/arknights/0/03/rneluobt0fhtix8oy4xp2x33jelzkvn.png
In-game screenshots (players, CN/TW):
- Final Assault HUD (shared field, boss bar,
‹全景›): https://i.meee.com.tw/YRY8ar1.png - 联防 HUD ("层数叠加已禁用", player list with LP,
‹自己›): https://i.meee.com.tw/GwtDIAW.png - Briefing 1/2 (leader, special enemies, bonds, 已就绪 2/4): https://i.meee.com.tw/1BJDbxX.png
- Strategy draft 2/2 (order list, 决策中): https://i.meee.com.tw/BOzwbwn.png
- Enemy preview board: https://i.meee.com.tw/wdRAguq.png
- Info dropdown (strategy + bans per bond): https://i.meee.com.tw/9H7Kugy.png
- 机变 drafts:
- 悬赏决策: https://i.meee.com.tw/Wrkhtxv.png
- 机密商店 (with a left player): https://i.meee.com.tw/Mb2mtd9.png
- 战术决策: https://i.meee.com.tw/SEbySVl.png
- Bond strip: https://i.meee.com.tw/e3UUYq8.png
- Emote usage: https://i.meee.com.tw/86HwPAh.png
- Countdown turning orange: https://i.meee.com.tw/WcxNEfR.png
- Result / personal settlement: https://i.meee.com.tw/rZEmfyJ.png
- Roster config 物资调配处: https://i.meee.com.tw/KJGydN0.png
- Trophy table (PRTS 上半): https://i.meee.com.tw/LYFkxSZ.png
- Prep phase with shop (TW client):
- Combat end, "等待队友完成作战":
- Stats web page (title hexagon radar): https://truth.bahamut.com.tw/s01/202604/forum/33651/a8947d6e34ee687641d438d4df66235d.JPG
- Strategy badges grid: https://truth.bahamut.com.tw/s01/202604/forum/33651/b5db3a1d005cf0b681814a9920b451af.JPG
16. Open questions and assumptions (review before spec freeze)
- 联防 helper selection when 3 or more players are perfect, and the exact 联防 timer. Proposed: highest LP, and the round's combat time.
- Boss HP scaling with the number of alive players. Community-confirmed that it shrinks; the formula is unknown. Proposed: linear n/4.
- Pairing rule for the Final Assault (seat order vs LP), and the 3-player layout.
- Strategy draft exclusivity. Proposed: duplicates allowed. The per-turn time inside the 50 s step is also unknown.
- 机变 pick order. Screenshots show non-seat order. Proposed: random (alternative: lowest LP first).
- Title (评语) criteria (§10.5) are inferred.
- Disconnect behavior (idle vs AI) and the co-op reconnect window. The official text says only "一段时间内". Solo is 24 h.
storeCntMax=6,singleClosureStayTime=15,bossTrailerStartRound=3,specialPhaseStayTime=1: semantics are unclear. Guesses: max shop cards, the solo result-screen stay, the round from which the boss preview shows, and a 1 s pause between draft picks.- Do leaked enemies keep their damage when entering 联防? Proposed: full HP.
- Terrain 机变 cards (
map_m0X): do they apply to the picker only or to all boards? Proposed: picker only.
Sources
- Official:
- https://ak.hypergryph.com/news/5114 (下半 update: fewer-than-4 start, 24 h solo leave, boss both sides with shared HP)
- https://ak.hypergryph.com/news/9697
- https://ak.hypergryph.com/news/8584
- https://ak.hypergryph.com/news/2830 (上半: "和另外三位玩家组队")
- BWIKI:
- https://wiki.biligame.com/arknights/盟约 (full play rules incl. 联防, 最终攻势, emotes, trophies, tips)
- https://wiki.biligame.com/arknights/盟约/S.W.E.E.P.报告
- PRTS: https://prts.wiki/w/卫戍协议:盟约_下半 and https://prts.wiki/w/卫戍协议:盟约 (70 %/80 % factors, 16 s/30 s draft, 6-choose-1, hidden core 350/1200, trophy table with 终极)
- arknights.wiki.gg:
- Bahamut guides:
- Shared-pool videos: https://www.bilibili.com/video/BV1JWy3BkEpt/ and https://www.bilibili.com/video/BV1ZTUjBaEyy/
- Interview: https://www.bilibili.com/video/BV17L9MBXEBY/ (机核 × 大黄, design background)
- Data:
activity_table.json(autoChessData,act2autochess),levels/act1autochess/*escaped*,h07_*,display_meta_table.json(saved toscratchpad/gd/extra/multiplayer/)
Addendum (critic)
Written 2026-09-27 by the completeness critic. Sources: the official gameplay-intro long image (img.71acg.net/sykb~bbs/pc/1763033996225879, sliced in scratchpad/gd/extra/critic/intro_*.jpg), PRTS 卫戍协议/帮助, PRTS 卫戍协议:盟约_下半 §开始模拟, BWIKI 盟约, and a re-read of the §15 screenshots.
D1. Corrections to the TL;DR
| # | Was | Now |
|---|---|---|
| 3 | "HP/ATK ×0.70 solo, ×0.80 co-op" | Too coarse. The multiplier depends on mode and round. 标准/险境 co-op start at 0.8; 绝境/终极 co-op start at 1.1¹/1.2¹ and grow to 1.1⁸/1.2⁸ by R14. Full table: 01 Addendum A3. |
| 4 | band draft | Confirmed: "以随机顺序进行策略轮选,顺序会显示在左侧". All unlocked strategies are shown (not a random 3). Duplicates are allowed: in the official illustration, the strategies already taken by P1/P2 are not greyed in P3's grid. One skip per player. |
| 6 | solo "unlimited" | Confirmed by BWIKI (下半): "休整期及机变阶段没有时间限制…24小时内随时返回". |
| 8 | 机变 | Funds for the round are already granted when the overlay opens: the funds pill reads 13/11/17 behind the three screenshots. The family (悬赏 / 道具补给 / 机密商店 / 战术决策) is the same for all 6 cards of one phase. Pick order is not seat order. Recommended per-round families: 01 Addendum A4. |
| 10 | 联防 | Confirmed: "所有防卫成功的玩家(最多2名)将以其阵地当前的状态,迎接所有防卫失败玩家未击倒敌人的集合". Helpers keep "生命比例、技力、部署位置". |
| 12 | Final Assault pairing | Players are paired, and an odd player forms a group alone ("如有落单的玩家将单独成组"). Movable leaders spawn one per alive player's side, all sharing HP. The HP pool is excluded from the round multipliers. The official intro shows R4 of the tutorial with a merged LP of 105 = 45 + 20 + 20 + 20. |
| 15 | gifting | Unchanged: 信标 is the only operator transfer. |
| new | – | Per-match banned operators are shown to everyone. At briefing: core and add-on rows with greyed bonds carrying the badge "部分盟约所含干员阵容不完整", plus a 本局禁用干员 portrait list. In match: the info dropdown shows "本局禁用干员情况" with a red person-✕ badge = number of banned operators in each bond. Rule: 01 Addendum A2. The pool is shared, so bans apply to the whole team. |
D2. Answers to §16 open questions
- Helper selection (>2 perfect): still unpublished. Keep "highest LP, then seat". The timer is the round's
maxPlayTime. - Boss HP vs player count: still unpublished. What is known: bloodPoint is one pool, it is unaffected by multipliers, and each alive player has their own boss spawn. Keep
bloodPoint × alive/4, with a solo value of 0.25 [ASSUMED]. - Pairing: odd player alone (verified). Pair order: seats (1,2) and (3,4) among alive players [ASSUMED].
- Strategy exclusivity: allowed duplicates (official illustration). Per-turn timer [ASSUMED] 12 s.
- 机变 pick order: random per phase (screenshots). "Lowest LP first" is not supported by any evidence.
storeCntMax= 6 = 5 operator slots + 1 item slot at L4–L6. That reading is consistent withshopLevelDataDict.- Leaked enemies in 联防: unknown. Keep "full HP" [ASSUMED].
- Terrain cards: picker only [ASSUMED]. Terrain cards exist only for the current stage (
terrain_m0X).
D3. UI facts read from the screenshots
- Prep:
- The shop bar holds, in order:
LEVEL ncard (upgrade cost hexagon on top), operator cards, the item card in 下半, and the funds card with "✕ 收起". - A frozen shop tints all cards icy and the button toggles to "解冻".
- Reward cards after a merge show price 0 with the next tier's chip.
- Above the buttons, "剩余可放置角色: N" = cap − deployed. The cap is 9 with 人事部文档.
- The shop bar holds, in order:
- Combat:
- The capsule shows
killed/total. The DP counter sits at the right edge. - The bond strip stays visible. In 联防 and the boss round it carries the tooltip "层数叠加已禁用".
- The capsule shows
- Final Assault: eliminated seats show a grey robot "x-eyes" avatar in the left list. The view switcher reads
‹ 全景 ›.