Commit Graph
15 Commits
Author SHA1 Message Date
sganggs 53ee0a1c6f feedback5 WE2: 重构体 only on the ground inside Mon3tr's range, 战术锚点 only on a 高台 outside 凯尔希·思衡托's (#26)
Mon3tr T1 "可以在攻击范围内的地面使用…重构体"; PRTS 战术锚点 特性 "仅可以部署在凯尔希·思衡托攻击
范围外的远程位". tools/build-data.mjs summonRecord: ownerRange also from an owner talent
naming the token, ownerRangeOutside / rangedTilesOnly from the token text. Regenerated
offline: 3 paths (重构体 ownerRange true; 战术锚点 ownerRangeOutside, rangedTilesOnly).
Match: board.js placement class 'high'; PlayerState.summonExcluded in _legal, the
re-orientation lift (+ toast), _roomForOutOfRange, the invariants and the bot; the
client mirror (piecePosition HIGH, summonExcluded, reasons; English strings added).
Golden: no scenario moved.
2026-10-06 15:34:20 +08:00
sganggs 75c98f1d93 feedback5 WE2: 驭法铁卫 (斩业星熊) — the data's normal attack is physical, arts only with a skill (#15)
tools/build-data.mjs classifyAttack: a trait whose 法术伤害 comes only "技能开启时" keeps
the normal attack's phys (display / AI only — her kit already attacks physically
off-skill). Regenerated offline: 3 paths, the three forms of char_1044_hsgma2 dmgType
arts -> phys. Golden: no scenario moved.
2026-10-06 15:15:15 +08:00
sganggs cd547b5178 feedback5 WE2: 黍 S3's TRY_SEARCH_ALLY_SKILL becomes SKILL_RANGE + allies in the data, her kit override goes (#17)
tools/build-data.mjs TRIGGER_ALLY_RULES (PRTS 特殊策略 "技能范围内存在可治疗的我方单位时释放技能")
writes the row as the engine's SKILL_RANGE on the skill range with allies: true; simdata
normalizeSkill passes allies into the def's trigger (skills.js reads trigger.allies).
Regenerated offline: 9 paths, the S3 trigger of 黍's three forms. op-shu.js no longer sets
the trigger. Golden: no scenario moved.
2026-10-06 15:13:33 +08:00
sganggs f50fd50273 feedback5 WE2: no hand card for 予愿安洁莉娜's “一会儿见!” — a summon no owner shows is not placeable (#24)
tools/build-data.mjs summonRecord: placeable also needs an owner that shows the summon
(the variants' display source, the owner's displayTokenDict). The S3 marker is the skill's
own object (PRTS 予愿安洁莉娜 S3 备注: the skill deploys it at her initial tile); every other
undisplayed summon is already HIDDEN. Regenerated offline: one path changed,
backups.tokens.token_10071_aglna2_agairp.placeable true -> false. The kit drops its
placed-marker branch (the skill always summons it). Golden: no scenario moved.
2026-10-06 15:10:59 +08:00
sganggs ad23320411 feedback5 WE2: 望's 棋子 may be placed on any tile, as PRTS records (#22)
tools/build-data.mjs TOKEN_POSITION_CORRECTIONS (PRTS 棋子 部署位置 "全部位", 备注
"游戏内召唤物信息与实际不符(显示为仅部署在近战位)") sets the 棋子 record's position to ALL;
validateAll checks every entry. Regenerated offline: one path changed,
backups.tokens.token_10064_wang_stone1.position MELEE -> ALL. Her stock / 阻回 unchanged
(an owner question). Golden: no scenario moved (none places 棋子).
2026-10-06 15:06:07 +08:00
sganggs 99d8807328 feedback5 WE2: 自选 summon hand counts include the tokens' own deploy talents (#21)
tools/build-data.mjs tokenTalentDeckBonus adds a summon's talent max_deploy_count /
max_deck_stack_cnt (the hidden "TOKEN数" talent; a module token part of the same talent
replaces it, matched by prefabKey) to its variant deployLimit / deckStack. Regenerated
offline: only data/backups.json tokens of 麦哲伦 (drones), 令 (souls), 白铁 (devices) and
夜莺 (幻影) changed — deployLimit 3 / 4 with SUM-Y stage 3, 2, 3; deckStack 5 (8), 3 (4).
The hand count (player/diy.js placeableTokens) now matches the official one for every
自选 summoner (PRTS 卫戍协议/帮助 "根据召唤物部署数量上限", the owners' talents, PRTS 幻影 备注).
The summoner kits read deckStack / deployLimit as they are (same decks as before).
Golden: no scenario moved (the diy family places no summon pieces).
2026-10-06 15:01:46 +08:00
sganggs 78251f499c feedback5: trigger fixes from the wave-2 kit reports — 「攻击范围向前延伸」 and 「攻击范围朝…扩大」 are attack-range changes (帕拉斯 S2 DEFAULT → ACTIVE_RANGE on her range + 1, 司霆惊蛰 S1 SEARCH → ACTIVE_RANGE on the 3-19: the owner's larger-range rule); UNIT_TRIGGER_CORRECTIONS for a live-client change the text misses — 菲亚梅塔 S1 is DEFAULT since the 2026-08-01 client (PRTS 备注: no +1 range, no flyers); data regenerated offline (only these three skills' triggers in backups.json, chess.json unchanged); golden: only diy moved (diy-060/061/068/069/075/076: those three operators) 2026-10-06 01:53:09 +08:00
sganggs 8287422d6d feedback5: 焰狐龙梓兰 leaves the 自选 pool as a collab operator (MH05, a Monster Hunter 联动寻访 whose team reserve6 names no collab: DIY_EXCLUDED_NUMBER_PREFIXES MH / RS / AM / PS / DD next to the team list — the owner's decision of 2026-10-05; reported by O6) — 71 owned picks; 「攻击范围改为」 is an attack-range change (黑 S3 was SKILL_RANGE, now DEFAULT; 远牙 S3 keeps its own CUSTOM_RANGE row); data and the EN overlay regenerated offline, chess.json unchanged; golden unchanged 2026-10-06 00:16:23 +08:00
sganggs b2a438804d feedback5: 「攻击范围增大」 is an attack-range change too (ATTACK_RANGE_CHANGE) — 艾雅法拉 S3 was read as a 技能范围 skill (SKILL_RANGE) and now casts by the owner's ACTIVE_RANGE rule on her enlarged range (reported by O2); data regenerated offline, only her three forms' trigger changed; golden unchanged 2026-10-06 00:05:47 +08:00
sganggs 742f478526 feedback5: every 自选 重装 casts with an enemy in range like the 重装 stand-ins — a backups.json TANK unit's MANUAL skill on the class row's TAKE_DAMAGE becomes DEFAULT, ACTIVE_RANGE when its running range is larger (森蚺, 涤火杰西卡, 斩业星熊, 年, 黍, 斥罪, 机械师, 珊比; 48 skill forms; rawRule keeps TAKE_DAMAGE), the owner's decision of 2026-10-05; data regenerated offline, only backups.json changed; golden unchanged (no 自选 重装 has a kit yet) 2026-10-05 23:00:17 +08:00
sganggs c278eafa52 feedback5 WH: 自选 data — data/backups.json gets the 72 owned 6★ picks as units (a form at every DIY slot status: E2 Lv1 rank 4 without a module, E2 Lv60 rank 7 with every module at stage 1 and at stage 3; all three skills, talents, trait, ranges), their summons (backups.json tokens, variants keyed by owner form <charId>@<statusKey>) and each prototype's locked skill / module per tier (diy.locked: its 补位 rows' selection, 预备干员-医疗 S3 assumed); the 6 collab operators (teams rainbow / action4 / mujica / sees / laios) leave the data and the pool, the owner's decision of 2026-10-05
backups.json 171,616 → 1,884,868 bytes (gzip ≈ 142 KB); every other data file is byte-identical (buildTokens' record head moved into summonRecord, shared with the DIY summons). No golden scenario moved (none fields a 自选 piece).
2026-10-05 19:37:49 +08:00
sganggs 65ac4afbd8 feedback5: merge W5C — 琳琅诗怀雅 S2 bomb on x-6 (#116), 新硎 / 沉沙 one 断刃 layer (#107), the owner's ACTIVE_RANGE trigger rule, AUTO-skill audit (伺夜 S2, 浊心斯卡蒂 S2)
# Conflicts:
#	data/backups.json
#	tools/build-data.mjs
2026-10-05 17:51:44 +08:00
sganggs 286a34064f feedback5 WD: the 重装 exception for the stand-ins — tools/build-data.mjs STANDIN_TRIGGER_DEVIATIONS: every skill of 预备干员-重装 and Mechanist casts with an enemy in range (DEFAULT, rawRule TAKE_DAMAGE) on every form
The owner's decision of 2026-10-05 (the approved 补位 plan). Keyed by the stand-in's charId, because a form belongs to
no chess; validateAll fails the build when an entry stops meeting a TAKE_DAMAGE row. build-data --offline changed only
those 15 trigger rules in data/backups.json.
2026-10-05 17:44:43 +08:00
sganggs 01fddd3021 feedback5 WC: a MANUAL skill whose running attack range strictly contains the own range casts as soon as an enemy is inside it (ACTIVE_RANGE, the owner's rule of 2026-10-05)
A deliberate deviation from the official 技能策略 (community report: skills with a larger range waited for the normal
range). tools/build-data.mjs resolveTrigger: a MANUAL operator skill still on the basic strategy (no class row, no
TRIGGER_DEVIATIONS entry) whose running range (its rangeId grid, or the own range grown by
ability_range_forward_extend; never 被动效果:攻击范围扩大) strictly contains the operator's range gets rule ACTIVE_RANGE,
customRangeGrid = that range, rawRule the official DEFAULT; validateAll checks it. server/sim/skills.js: ACTIVE_RANGE
checks the DEFAULT condition (a targetable enemy or a blocked one; a heal skill an injured ally) on that range, grown by
the permanent rangeExtend, every tick. Data rebuilt offline: only skills[].trigger changed (33 skills, 66 chess records,
9 stand-in form records). 深巡 S2 (§21.29), 重装 TAKE_DAMAGE, the SEARCH / CUSTOM_RANGE / SP_FULL rows, 烛煌 S2 / S3
(not containing her 3-1) and 引星棘刺 S3 keep their rule. Docs: DESIGN §5.6, DATA, SIM, PLAYING, kits README, notes.
Tests: new test/sim/feedback5-active-range.test.js; data, playtest6-skills (银灰 S3), kits_alt_t2 (蒂比 S1), kits_t5
(百炼嘉维尔 S2) updated; feedback1-transform's fixtures move 莫斯提马 one tile (her S3 now casts on its 3-15).

Golden: 27 roster, 25 bond, 21 field and 14 match scenarios moved — every one fields an operator with one of the 33
skills, which now casts when an enemy enters its running range instead of the initial range.
2026-10-05 17:44:33 +08:00
sganggs 4b1d9606d2 feedback5 WB: the data of 补位 and 自选 — chess.json keeps the official backup fields, data/backups.json builds the 17 stand-ins and the DIY picks
chess.json: every record carries the shop row's backupCharId / backupTmplId / backupCharSkillIndex /
backupCharUniEquipId / backupCharPotRank verbatim as `backup` (both forms; nothing else changed).
data/backups.json: units = the 17 原型干员 with a form per status they fight at (43 forms: stats, trait,
talents, every unlocked skill, modules), diy = the 4 slots, the prototype picks per tier (9 6★ at 5 and 6,
six 4★ at 5), the 78 owned-6★ picks and their faction bonds (mainPower + subPower vs powerIdList, else 协防).
shared/standIn.js composes a stand-in (or a DIY prototype) into a chess-shaped record; the build fails when
the form builder cannot give back every PRESET chess field for field. test/backups.test.js (10 tests).
2026-10-05 15:58:10 +08:00