2026-10-08 18:41:36 +08:00
..
2026-09-29 16:21:31 +08:00
2026-10-06 14:10:29 +08:00
2026-10-05 17:18:22 +08:00
2026-10-07 00:05:21 +08:00
2026-10-05 17:18:22 +08:00
2026-10-04 14:19:53 +08:00
2026-10-03 16:33:54 +08:00
2026-10-04 14:19:53 +08:00
2026-10-08 18:41:36 +08:00
2026-10-08 18:41:36 +08:00
2026-10-05 14:20:12 +08:00
2026-10-04 20:47:49 +08:00
2026-09-29 16:21:31 +08:00
2026-10-03 15:18:42 +08:00
2026-10-03 15:56:50 +08:00
2026-10-03 15:56:50 +08:00
2026-10-03 02:38:42 +08:00
2026-10-07 02:38:16 +08:00
2026-10-03 02:01:34 +08:00
2026-10-03 07:42:20 +08:00
2026-10-03 07:42:20 +08:00
2026-10-03 09:10:39 +08:00
2026-10-03 09:10:39 +08:00
2026-10-05 22:34:39 +08:00
2026-10-04 02:51:21 +08:00
2026-10-04 17:23:42 +08:00
2026-10-04 17:12:24 +08:00
2026-10-07 02:29:49 +08:00
2026-10-07 01:56:19 +08:00
feedback5 R19B: 干员调配 says plainly when its game data did not load — useData counts a /data file that never arrived (404, blocked, bad JSON: 'missing') as settled, so the tab drew an empty roster, the loadout import blamed the file (「这份数据在当前版本没有可用的调配」) and the 干员持有 / 自选编队 imports stored an empty list over the saved one; now missingGameData(tab) (chess.json, plus backups.json for 自选编队) shows DataMissing in place of the roster (which files, saved settings unaffected, reload, then the ad blocker and the network) and importRefusal(kind, ready) refuses every import before anything is parsed or applied, with the same words; three UI strings with English; GitHub #173 ; golden: unchanged (client only)
2026-10-07 11:13:25 +08:00
2026-10-07 01:33:21 +08:00
2026-10-07 02:01:12 +08:00
2026-10-06 15:48:32 +08:00
2026-10-07 17:43:37 +08:00
2026-10-07 18:03:53 +08:00
2026-10-07 01:56:19 +08:00
fb5 UI-TW: the machine-translation mark — _meta.machineTranslated: true, a new optional manifest field of a language pack (docs/PACKS.md): shared/i18nPacks.js langFields reads it (true or false), shared/packs.js normalizeManifest warns about a value that is not a boolean (read as false; the pack still loads) and packIndexEntry passes it into the index entry like complete (only when true), so the client's registry has it from the index (langMetaOf → registerLangs → langInfo) or from the pack's own _meta without one; 设置 shows a note under the language switch while the CURRENT language's pack has it (ui/lang.js machineTranslationNote, msgid 「当前语言的界面文字为机器翻译,可能不够准确,欢迎在 GitHub 上指正。」 — English in en.json, 目前語言的介面文字為機器翻譯… in zh-TW.json; ja / ko leave it to the integrator); tests: test/i18n-packs.test.js (the field from the manifest through the index to langInfo, the warning, the shipped zh-TW manifest, the note shown / hidden by language), test/ui/i18n.e2e.test.js (the shipped packs' own UI strings read from their files — zh-TW now 開始 — and the 设置 note, none in Chinese); docs/I18N.md says how the zh-TW pack is made (OpenCC twp, the official TW terms, a manual pass; a later msgid the same way) and that the ja / ko strings are machine translations open to corrections (edit public/i18n/<code>.json, node tools/i18n.mjs check <code> --strict)
2026-10-07 11:47:09 +08:00
2026-10-03 16:14:43 +08:00
2026-10-06 22:00:26 +08:00
2026-10-07 18:03:53 +08:00
2026-10-05 22:36:29 +08:00
2026-10-07 01:33:21 +08:00
2026-10-06 21:31:57 +08:00
2026-10-04 14:20:02 +08:00
2026-10-05 16:11:30 +08:00
2026-10-03 16:08:32 +08:00
2026-10-06 17:52:19 +08:00
2026-10-05 19:02:31 +08:00
2026-09-29 16:21:31 +08:00
2026-10-03 02:52:38 +08:00
2026-10-02 17:58:35 +08:00
2026-10-06 17:31:01 +08:00
2026-10-06 17:14:04 +08:00
2026-10-06 21:03:56 +08:00
2026-09-30 05:35:45 +08:00
2026-10-02 17:58:35 +08:00
2026-10-03 16:14:43 +08:00
feedback6 R21E: the 外勤医疗 Touch casts 恳切福音 on an injured ally inside its 5-2 (ACTIVE_RANGE in touchKit — the larger-range rule the Touch 补位 already runs by its data; the map character's record keeps DEFAULT), and the Touch / 预备干员-医疗 card is an operator card (干员 · 医疗 · 远程位, 特性, skill row with SP / duration, talents from the tokens.json record — it took the summon path: 召唤物, base stats only); 恳切福音 gets a line under its text that the boost is strictly below half (PRTS 修正 of 不高于, what touchGospel does; the operator card of the 补位 Touch too: SKILL_TEXT_NOTES); GitHub #260 , PR #278 ; golden: roster-041 (its strategy Touch heals 8438 → 17072, 19 → 27 heal actions, casts unchanged at 2, the same numbers as PR #278 ; p1 deaths 7 → 4) and matches coop2-NORMAL-14-standins (h_0 plays 外勤医疗: defeat in round 13 → victory, teamLp 16) — both battles with that strategy's Touch, no other scenario moved
2026-10-07 17:54:17 +08:00
Playtest #6 fixes: summons placed by hand, boss pool stall, bounties, 联防 leak counter, distinct offers, 机变 card text, phone buy tap, skill triggers, blocking, push force, 孤立, enemies, element bar
2026-10-01 19:08:23 +08:00
2026-10-03 04:43:44 +08:00
2026-10-02 04:19:28 +08:00
2026-10-05 17:24:20 +08:00
Playtest #6 fixes: summons placed by hand, boss pool stall, bounties, 联防 leak counter, distinct offers, 机变 card text, phone buy tap, skill triggers, blocking, push force, 孤立, enemies, element bar
2026-10-01 19:08:23 +08:00
2026-10-02 17:58:35 +08:00
Playtest #6 fixes: summons placed by hand, boss pool stall, bounties, 联防 leak counter, distinct offers, 机变 card text, phone buy tap, skill triggers, blocking, push force, 孤立, enemies, element bar
2026-10-01 19:08:23 +08:00
feedback5 W5S: i18n phase 2, ui — HUD, shop bar, detail card, bond strip and popup, 机变 overlay, enemy drawer, team panel, under-frame, guide, emotes, match chrome, connection banner, components, the loadout / roster models, the store, net and observe texts through t() / tParts() (whole sentences where a number or a name sat inside), msgid tables marked N_() and translated where shown, the shop's refusal reasons compared through t(); tools/i18n.mjs reads aliased imports (t as tr); English for the 59 new msgids; Chinese output unchanged (zh render proof; five rewrites checked by hand, listed in the notes)
2026-10-06 18:09:50 +08:00
2026-10-05 17:22:20 +08:00
2026-10-05 22:34:31 +08:00
2026-10-05 14:28:47 +08:00
2026-10-04 20:38:26 +08:00
2026-10-07 11:21:24 +08:00
2026-10-05 14:37:23 +08:00
2026-10-05 16:47:33 +08:00
2026-10-04 17:39:30 +08:00
2026-10-06 04:31:38 +08:00
feedback5 WN: 补位 display follows the official game (the owner's recall of 2026-10-06) — a chess the player does not own is shown as its stand-in wherever the player's copy appears: shop and reward cards (the stand-in's portrait, name, class and backup skill; the chess's bonds, tier and price; a small 「替补」 mark), the hand and 临时整备区 pieces (the stand-in's model, a 「替补」 tag; the board already was), the detail card (the stand-in's portrait, name, skill, talents and module with the chess's bonds and 特质, 「银灰的替补」 under the name [ASSUMED]), bond popups (own and a teammate's by UnitInfo standInFor through ownerBoard / ownerOps), the result lineup (m.result standInFor), prep scouting of the bench, the equip-replace dialog, the elite and gift tickers; rules unchanged (bonds, price, tier, merges, pools and 特质 stay the chess's); new strings through t() with English; tests updated (standin-ui 15, standin-ownership 7, watch-bonds wiring) and the e2e now ends on the result screen (fastServer SP_FINISH_AFTER); golden unchanged
2026-10-06 02:40:38 +08:00
feedback5 W5S: i18n phase 2, ui — HUD, shop bar, detail card, bond strip and popup, 机变 overlay, enemy drawer, team panel, under-frame, guide, emotes, match chrome, connection banner, components, the loadout / roster models, the store, net and observe texts through t() / tParts() (whole sentences where a number or a name sat inside), msgid tables marked N_() and translated where shown, the shop's refusal reasons compared through t(); tools/i18n.mjs reads aliased imports (t as tr); English for the 59 new msgids; Chinese output unchanged (zh render proof; five rewrites checked by hand, listed in the notes)
2026-10-06 18:09:50 +08:00
2026-09-30 05:35:45 +08:00
2026-10-06 14:08:18 +08:00
2026-10-06 14:08:18 +08:00
feedback5 WE: the 整备区 rules of PRTS 卫戍协议/帮助 §手牌区 (GitHub #82 , second part) — a full regular hand refuses every purchase and reward pick, also one whose copy would complete a merge at once ("当常规手牌区全满无空位时,玩家将无法执行使手牌溢出的操作" — "例如招募/购入等通常情况下会增加手牌的操作"; BWIKI 盟约 says the same with no exception; the reporter checked it in the official game), and a free regular slot pulls the 临时整备区 in at once ("常规手牌区出现空位时自动移入"): PlayerState._fillHandFromTemp runs in every recompute, the temp row right to left (the order it fills, [ASSUMED]) into the hand's free slots right to left — after a sale, a deployment from the hand, a merge that consumed hand copies, an item equipped / destroyed / used, a summon stack removed with its owner. invariants.js: temp holds pieces only while the hand is full. The client's refusal path follows (gameLogic.shopBlockReason: 整备区已满 on every card — a one-line change in a file the R5 split moves). Bots: a full hand never tries a purchase, an affordable third copy of a held pair sheds the weakest hand single first (never one of this prep), resolveTemp decides temp right to left. Tests: test/match/feedback5-hand.test.js; merge / hardening / playtest6-elite-to-board / economy / prep-bench / uiFixes updated to the rule. Docs: META §1 Hand, DESIGN §6, PLAYING §3, research 00-INDEX / 01 (the old "a merge-completing purchase is allowed" corrected). Golden: 3 match scenarios moved (coop2-NORMAL-3, solo-HARD-9-boosted, coop2-ABYSS-10-boosted — bot seats that reached a full hand: the merge-completing purchase refused or a single shed first, temp pieces moving in by themselves); every battle digest unchanged
2026-10-05 18:17:08 +08:00
2026-10-05 14:18:44 +08:00
2026-09-29 16:21:31 +08:00
2026-10-06 17:31:01 +08:00
2026-10-07 17:43:37 +08:00