sganggs
b48a67caec
feedback5 R1: pure move — the top-level code of server/index.js goes to server/http/ (config, common, files, static, media, buildTag, websocket, boot) verbatim; index.js imports it and re-exports the same 15 names, startServer and main are untouched
...
Only changes besides the move: `export` on helpers another module now needs (sendError, sendJson, splitUrl, GzipCache,
isNotModified, serveFile, serveMedia, noopLog, makeLogger), ROOT resolves two levels up from server/http/config.js
(same path), and short headers on the new files.
2026-10-05 16:02:33 +08:00
sganggs
6b489b1776
feedback4: merge W5A — golden-result safety net (tools/golden.mjs, test/golden: every chess loadout, enemy, bond, field and bot match, fixed seeds)
2026-10-05 15:50:16 +08:00
sganggs
0fa0f958b1
feedback5 WA: golden-result safety net before the 0.2.0 refactor — tools/golden.mjs runs a seeded corpus (49 roster battles: every chess record × skill × module, every stage and enemy kind; 46 bond battles; 22 leader / 联防 fields; 16 bot-only matches) and test/golden.test.js compares its digests with test/golden/*.json field by field (fast subset by default, GOLDEN_FULL=1 for all; npm run golden / golden:update; test/golden/README.md)
2026-10-05 15:49:24 +08:00
sganggs
305b524df2
feedback4: a bond card's layer-scaled chance (不屈, 迅捷, 奇迹) stops at 100 % like the sim's (GitHub #108 : 124 % at 266 layers)
2026-10-05 14:37:23 +08:00
sganggs
723755e3a5
feedback4: 引星棘刺 S1 度算浪波 (an AUTO skill thrown at an ally) fires as soon as its SP is full, with no enemy around (GitHub #124 )
2026-10-05 14:37:23 +08:00
sganggs
2519a23a55
feedback4: merge master — PRs #114 #119 #127 #115 #110
2026-10-05 14:35:00 +08:00
Convey123
bd892a4dd6
联防 plays the official escaped stage's own corrosion BGM ( #110 )
...
The 联防 phase plays m_bat_corrosion (intro + loop), the track of the official escaped stages, instead of carrying on with the round's battle music; without the downloaded track it falls back to the battle music. Asset plan, manifest entry (audio.bgm.unite), audio.js and tests. Contributed by @Convey123.
2026-10-05 14:34:42 +08:00
sganggs
bcd916eb61
feedback4: the real-browser e2e suites confirm the leftover-funds prompt on the Space path too (coop.e2e 4/4, real.e2e 2/2)
2026-10-05 14:28:47 +08:00
shanzhaikabi
763e224b8d
A 咒愈师's trait heals on every damage she deals; 收割者 / 武者 heal on their skill hits too ( #115 )
...
The official trait buffs fire on output damage, not only on a normal attack (buff_template_data vendla_tr / reed2_tr / titi_tr ON_AFTER_OUTPUT_DAMAGE; etlchi_trait etc. ON_OUTPUT_DAMAGE, attackType BUFF filtered for 隐德来希). Skill damage now heals: 缇缇's 凝固的时光 ticks, 焰影苇草 S2 fireballs and 刺玫 S2's counter heal the one ally the skill names (DamageInfo.traitAlly); 隐德来希's S2 blood sickles heal her, capped at her block count per instant. PRTS 分支特性信息 §咒愈师: the heal depends only on the damage value. Contributed by @shanzhaikabi.
2026-10-05 14:20:59 +08:00
Convey123
bbff3514a8
Emote browser tests run with the fetched emote art too ( #127 )
...
The emote E2E suite accepts either the local-client extraction or the copies tools/fetch-assets.mjs downloads (public/assets/ui/emoticon), and checks the wheel's official cell sprite only when the local ui/battle art is present. Contributed by @Convey123.
2026-10-05 14:20:12 +08:00
saltfish
7bea774f01
The 观战 and 加入 buttons send the typed key, not the click event ( #119 )
...
Preact hands the click event to onClick handlers, so the 0.1.3 spectate button normalised an element into the key "OBJE" and every spectate request failed. codeArg() takes only a string key and otherwise falls back to the input field; spectate errors now say what went wrong; a recent-key chip fills the field instead of joining at once. Contributed by @salt-fishes.
2026-10-05 14:20:08 +08:00
Chun'an Shi
3f05c65dec
Q / X hotkeys retreat and sell the selected operator in prep ( #114 )
...
Q retreats and X sells the selected operator during prep, through the same buttons (never an item, never while typing in a field); the buttons show [Q] / [X]. Contributed by @SpiritedAwayCN.
2026-10-05 14:18:44 +08:00
sganggs
8aa41d9c1c
feedback4: real.e2e confirms the leftover-funds prompt on ready; DESIGN's §23.f4 references point to §23.23; the 0.1.3 changelog names the 不屈 source and fixes 手牌
2026-10-05 14:03:32 +08:00
sganggs
a0a5419eb8
feedback3: the mock prep test confirms the leftover-funds prompt
2026-10-04 22:35:13 +08:00
sganggs
a5c31cbcb4
feedback3: browser tests accept the leftover-funds prompt when they press ready
2026-10-04 22:31:55 +08:00
sganggs
9f3785636a
feedback3: a prep-end item may sit unmerged through the fight, and bonds.json matches the offline build
2026-10-04 22:20:20 +08:00
sganggs
351ead3603
feedback3: 0.1.3 design notes, changelog and version
2026-10-04 22:13:05 +08:00
sganggs
c9dd2a6392
feedback3: merge WJ — 高台 only for elite 歌蕾蒂娅 with HOK-Y, live prep watch, silenced 折射, grant toasts, emote timeout glyph
2026-10-04 21:26:46 +08:00
sganggs
1005754bf3
feedback3: merge WH — ground operators are melee-position, 叙拉古 rolls on every normal hit, off bonds show as disabled, prep-end items merge next prep
2026-10-04 21:26:10 +08:00
sganggs
a3ebca0ddf
feedback3: merge WI — 乌尔比安 S3 move and return are free redeploys, 波登可's spore radius is 0.9, 琳琅诗怀雅 S3 shoots at 10 coins when an enemy is in her attack range
2026-10-04 21:25:44 +08:00
sganggs
3500ef2d32
feedback3: merge WG — nest enemies pulse instead of attacking, children carry no bounty, a 隐匿 blocker is skipped by areas, stacked cold freezes for the longer duration
2026-10-04 21:25:40 +08:00
sganggs
7e711582b0
feedback3 WJ: the bot places elite 歌蕾蒂娅 with HOK-Y on a 高台 that covers the road
2026-10-04 21:11:41 +08:00
sganggs
627bb6d4c1
feedback3 WI: 琳琅诗怀雅 S3 shoots at 10 coins only when an enemy is in her attack range
2026-10-04 21:11:41 +08:00
sganggs
ee9fc83207
feedback3: merge WF — 阿戈尔 revives by position, 傀儡师 switches at full HP, 联防 uses the layers the combat reached, deployment is column-major
2026-10-04 21:05:40 +08:00
sganggs
ab56ea01b1
feedback3 WI: 琳琅诗怀雅 S3 shoots her coins when the purse reaches 10
2026-10-04 21:05:23 +08:00
sganggs
54680cc891
feedback3 WJ: emote manifest timeout falls back to the glyph
2026-10-04 20:47:49 +08:00
sganggs
5e4fe8ae60
feedback3 WJ: toast when a bond grants a chess, and flash the new card
...
歌蕾蒂娅:获得X, and the same line for 余 and every other silent grantChess. A new hand or temp card uses the existing deploy flash.
2026-10-04 20:41:46 +08:00
sganggs
2723a3daea
feedback3 WJ: grey the 折射 line and drop its icon while silenced
...
The RES bonus was already off. The enemy card now greys a SILENCE-format line from the live silenced flag, and the status row leaves the 折射 icon out while silence is up.
2026-10-04 20:38:26 +08:00
sganggs
473b8eb5b0
feedback3 WI: 琳琅诗怀雅 S3 does not close itself when her coins are full (GitHub #89 )
2026-10-04 20:35:50 +08:00
sganggs
365ebf6cbd
feedback3 WG: a 冻结 from stacked 寒冷 lasts the longer of the two colds, not a fixed 3 s
2026-10-04 20:35:14 +08:00
sganggs
6e59b5e4dd
feedback3 WJ: prep watch of another board updates when it changes
...
A scout stays subscribed to n:<pid> and gets a new prep field when that board moves, including a spectator. A shop change does not push one.
2026-10-04 20:34:32 +08:00
sganggs
9aaba7708c
feedback3 WH: an item gained as prep ends waits in hand and merges at the next prep start
2026-10-04 20:34:03 +08:00
sganggs
f9e2c49954
feedback3 WI: 波登可's spore cloud radius is 0.9, as the PRTS note says
2026-10-04 20:33:54 +08:00
sganggs
13e71fccba
feedback3 WG: a 隐匿 blocker is hit only by the blocked enemy's attacks, not by its areas, zones or auras (GitHub #97 )
2026-10-04 20:33:35 +08:00
sganggs
819a5ad4ea
feedback3 WI: 乌尔比安 S3 【移动】 and 【返回】 are free redeploys, and the return clears his SP
2026-10-04 20:33:29 +08:00
sganggs
5ef4fac137
feedback3 WJ: 高台 only for elite 歌蕾蒂娅 with HOK-Y
...
The trait line is on every hookmaster and is not trusted. Placement is the loadout at place time: golden 歌蕾蒂娅 carrying uniequip_003_glady may use a ranged tile; everyone else stays on the ground.
2026-10-04 20:31:46 +08:00
sganggs
c0cc1d6118
feedback3 WH: mode-off bonds the player has members of show as grey 本局禁用 discs, and hand members count in that header
2026-10-04 20:31:06 +08:00
sganggs
bc721b4981
feedback3 WF: a 联防 阿戈尔 who enters down keeps the revive slot their position earned (the forced exit is not a 击倒); helper order ranks the layers the combat reached; a 替身 switch is 禁疗, so a self-heal does not land
2026-10-04 20:27:14 +08:00
sganggs
95b8a24d28
feedback3 WG: a split or summoned child does not carry the kill bounty, and 联防 pays a bounty card only when the leaked enemy is that card's enemy
2026-10-04 20:15:12 +08:00
sganggs
bedeac6f52
feedback3 WG: 深溟巢涌者 and 富营养的巢涌者 do not attack — they walk while a 1 s aura pulse hits allies in range, and the pulse pauses while hidden; a revealed unblocked 节日爵士乐手 only attacks what it blocks
...
The same pass also stops 漩涡形态 attacking and dealing spin damage while it cannot attack, stops 拥霜羽兽 attacking after it loses its egg (and at flyers), and disarms 碎铳之簧 for its dash at the official 0.35 trample radius.
2026-10-04 20:12:59 +08:00
sganggs
e444bc3c3f
feedback3 WH: 叙拉古 6's true-damage chance rolls on every 普通伤害 hit of a member, not only on normal attacks — 荒芜拉普兰德's S3 drone bites, 德克萨斯 剑雨 and other skill hits now roll; 溅射, 持续 (the S3 per-second hit), 附加 and item procs still do not (community report 「叙拉古盟约真伤概率数值没有正确递增成长」, GitHub #79 )
2026-10-04 20:08:01 +08:00
sganggs
d77148962b
feedback3 WH: 「地面干员」 means a melee-position operator on any tile — 不屈 (both lines), the 战栗维式重锤 proc and 休谟斯 回收利用 no longer read the tile, so a ranged operator on a melee tile gets none of them and 歌蕾蒂娅 on a 高台 gets all (community report 「不屈盟约效果高台干员也错误的吃到了」)
2026-10-04 20:08:01 +08:00
sganggs
d5b945f14b
feedback3: the airborne-蒂比 烹泉 test places the 烹泉 within its official 1.25 blast of both units and reads the per-blast 【烹泉减益】 layers (left behind by the W3B merge)
2026-10-04 19:53:24 +08:00
sganggs
ca3d0572ad
feedback3 WF: the initial deployment goes by column — the left column first, top to bottom within a column (PRTS 从上到下>从左到右 read as a scan, the 阿戈尔 devour's order; mirrored boss side from its own left); a merge's elite among several deployed copies follows it (server and client); tests whose target was the latest deployed keep it
2026-10-04 19:50:42 +08:00
sganggs
0e3429aa1f
feedback3 WF: 联防 fights with the bond layers the helpers' own combat reached (the strip's count, capped like the settlement), no longer the round-start layers; the settlement still adds those gains once (PRTS 联防阶段 以其阵地当前的状态, community report #24 )
2026-10-04 19:31:15 +08:00
sganggs
e376cff5a8
feedback3 WF: a 傀儡师 leaves every switch at full HP (PRTS: the HP is reset during the switch, 不死 throughout) — a second 阿戈尔 devour mark inside the 1-s switch no longer leaves 归溟幽灵鲨's 替身 at 1 HP (community report #2 )
2026-10-04 19:27:34 +08:00
sganggs
21eb496e02
feedback3 WF: the 阿戈尔 5-tier revives go to the first 3 members by position (the devour / deployment order, fixed at battle start), each on its own first knock-out — no longer to the first 3 knocked out, which the devour's food spent at t = 0 (community report #24 )
2026-10-04 19:25:00 +08:00
sganggs
2729a2137e
feedback3: merge W3B — 碎骨's grenade (community report #14 ) and the enemy numbers from the 0.1.2 review against PRTS (扎罗, 复仇者, 庞贝, 巨大的丑东西, 墓碑, 烹泉, 集团军重型火炮, 清明, 重弩突袭者); 圣聆初雪 S2 freezes the blue gate ( #32 ); 琳琅诗怀雅 S1 heals without an attack (owner's decision, #5 )
2026-10-04 18:19:16 +08:00
sganggs
7d3d7318d5
feedback3 WB: 琳琅诗怀雅 S1 heals an injured ally beside her without needing an attack or an enemy, at most once per attack cycle (owner's decision 2026-10-04, community report #5 )
2026-10-04 18:18:18 +08:00
sganggs
d1a2696e44
feedback3 WB: a 溶血骇惧 ends when its 扎罗 leaks or leaves the field (no more drain), 烹泉 / 沏虹's attack splash can be dodged (法术普通伤害), 集团军重型火炮's 燃烧区域 spares flying allies (不可对空) — fixes from the review
2026-10-04 18:14:12 +08:00