fix: 准备阶段可查看外勤医疗详情与范围 (#315)
This commit is contained in:
1 parent
e85942bce1
commit
69e27ba03d
10 files changed
+109
-36
No files matched your search
@@ -50,6 +50,12 @@ A bond the mode never activates (标准: official `inactiveBondIdList`) reads
|
||||
|
||||
Interactions (research 09 §1.2 / §5, which supersede the first draft): shop card, upgrade and 机变 card are two-tap (select → confirm, §18.2) — a tap anywhere on the card, its confirm strip included, is the card's tap (shop cards have no ⓘ corner; the armed bar sits above the detail card; a shop card that cannot be bought right now opens its detail on tap, §20.7); a press / drop goes by the tile under the pointer (§18.1); drag bench↔board — over a legal tile the dragged unit stands on it, as in the official deploy drag, held under the pointer elsewhere (§27.62); a legal board drop (also onto the piece's own tile) opens the 4-direction deploy wheel (swipe UP/RIGHT/DOWN/LEFT with the rotated range striped orange; release in the centre, ✕ 点击取消 or Esc cancels); tap a unit's tile ⇒ underframe with **出售 +N** (and **撤退** on the board; items/Arts in the hand / temp: **销毁** — equipped items are locked, §6.2) plus its rotated range — the range follows the open detail card (`screens/game/range.js inspectRange`, GitHub PR #281): an own board piece in prep, and in battle or on a scouted board any ally operator / summon on the field with its current range (the live stats' `range` and `dir`, the snapshot's tile), never an enemy or a bench unit (UnitInfo `area` hand / temp); drag, the wheel and the pen hide it; no drag-to-sell; drag an item onto a unit's tile ⇒ equip that unit (both slots used ⇒ the replace dialog `ui/equipReplace.js` shows the incoming and the two equipped items; the player picks the one to replace — it is destroyed — `g.equip replaceUid`; cancel changes nothing); Arts are dropped on a tile and get the direction step; right-click or long-press ⇒ detail (or a tap on a shop card while the bar is locked); keyboard shortcuts — the defaults, which each player rebinds in 设置 → 快捷键 (`ui/gameLogic/shortcuts.js`, saved with the settings; §25.15) — `R` refresh, `F` freeze, `D` level-up, `Q` retreat / `X` sell the selected operator, `Space` ready (in a solo battle: pause / resume, §14 Solo pause); `Esc` closes (fixed); none acts while a text field has the focus or a dialog is open. All actions optimistic-free: UI waits for server state (latency is small).
|
||||
|
||||
The owner's `prepMapChars` (外勤医疗's 预备干员-医疗, or another displayed map-character variant) are read-only
|
||||
preparation views: tapping one opens its existing operator-style detail card and highlights its attack range from
|
||||
its board-space position and facing, including on a mirrored boss half. They cannot be dragged, sold or retreated
|
||||
from this preview. The inspection affordance does not make the preview a combat unit; the battle sim still creates
|
||||
the selected variant at battle start (§29.15).
|
||||
|
||||
Audio: autochess BGM per phase, UI SFX (buy/sell/refresh/level/merge/ready/timer), per-unit attack/hit SFX (throttled; an impact plays for a hostile attack's phys / arts / true damage only, never an operator's skill-mode file for a normal attack, ≤ 2 copies of one battle sound — §18.4; a skill cue that reaches the client before its unit — the sim emits a deploy-tick cast ahead of the unit's `['spawn']` — is held and sounds once when the unit is tracked, `AudioManager.pendingSkill`, GitHub PR #292 by @LimitlessHPPK; entering a field late hands the sound the buffered `spawn` tuples only, `screens/game/early.js audioEarly`, so no old death, deploy or cast replays), boss music in R14/15.
|
||||
|
||||
---
|
||||
|
||||
@@ -137,6 +137,7 @@ codes are UI metadata only, never authentication. No new network message or nick
|
||||
|
||||
Optional `coins: [[id, balance, cap]]` is an integer skill-currency readout (§29.6), separate from ammo. It includes zero, is stepped between snapshots and clears when omitted. Result-validation names for board operators are resolved from the server's DIY/stand-in selections, never a supplied display name.
|
||||
|
||||
Preparation state carries read-only `prepMapChars` for 外勤医疗. Boss-mate and scouting metadata include them in
|
||||
displayed field coordinates. Draft cards expose optional `soldOut` when equipment stock is unavailable; the client
|
||||
Preparation state carries read-only `prepMapChars` for 外勤医疗. The owner's entries can be clicked for a detail card
|
||||
and board-space range preview without adding a placement intent or a combat entity. Boss-mate and scouting metadata
|
||||
include them in displayed field coordinates. Draft cards expose optional `soldOut` when equipment stock is unavailable; the client
|
||||
disables picking and the server checks again before consumption.
|
||||
@@ -292,6 +292,13 @@ hooks and scheduled effects. [ASSUMED] If several players have prepared slots, t
|
||||
existing player order. A map character spawned ad hoc after battle start keeps normal summon order. The real flying
|
||||
守墓石像 tests check both variants at target-lock time, a right-side 联防 Touch, and the higher-taunt exception.
|
||||
|
||||
The owner's further [official preparation screenshot](https://b23.tv/4JXAp12) at 0:17 shows 预备干员-医疗 selected,
|
||||
with its detail card and attack range visible before combat. This proves an inspection affordance, but does not
|
||||
establish that the official game already simulates the medic as a combat entity. The client now lets the existing
|
||||
read-only preparation view open its operator-style card and board-space range by tap, including on the mirrored boss
|
||||
half and in the flat fallback renderer. It remains immovable and the battle creation point is unchanged. The same
|
||||
click path accepts another map-character variant if one is ever included in `prepMapChars`.
|
||||
|
||||
`npm run golden:update` recomputed all 287 scenarios. Only `coop2-NORMAL-14-standins` changed: its human seat uses
|
||||
`band_amedic`, and combat differences first appear in round 11. The match remains a round-14 victory with team LP 31;
|
||||
that seat's final kills move 272 → 273 and leaks 44 → 43. Its boss damage moves 193,091 → 189,876, while the partner's
|
||||
|
||||
Reference in new issue
Block a user