feedback5 WB: DATA.md documents chess.json backup and data/backups.json (§18); research 02 / 03 name the DIY faction rule (mainPower + every subPower)

This commit is contained in:
sganggs committed 2026-10-05 15:58:17 +08:00
1 parent 4b1d9606d2
commit 73a30148b6
3 files changed
+73 -9

No files matched your search

+1 -1
View File
@@ -48,7 +48,7 @@ Core (isPower, bondType SEASON): 炎 萨尔贡 维多利亚 谢拉格 拉特兰
- "不同" (distinct): operators are identified by their normal chess id (chessNormalIdLookupDict maps *_b -> *_a), so a normal and an elite copy of the same operator count once. Exception: 助力 3-member tier counts operators that differ in name OR elite state (PRTS 修正). 独行 is only broken by 2+ DIFFERENT 独行 operators (PRTS 修正).
- 调和 (maniShip): while active (>=1 调和 operator on board) every core bond (isPower=true) gets member count +1 (a single +1, not per 调和 operator), and 调和 operators receive the effects of every active core bond as if members. [ASSUMED: the +1 applies only to core bonds that already have >=1 real member on the board.] "炎佑" does not include 调和 operators' stats unless they are also 炎 (PRTS).
- Item 变形同构体 (chess_item_6_09_e, canGiveBond) worn together with a bond item (trapChessData.giveBondId) makes the wearer an extra member of that bond. 14 bonds have such items; 灵巧/远见/奇迹/投资人/助力/调和/协防干员/独行/绝技 do not.
- DIY (自选) chess slots chess_char_5_diy1/2 and chess_char_6_diy1/2 have bondIds [] and are filled with a 6-star operator the player owns (diyChessDict = TIER_6). Their bond is derived from the chosen operator's nationId/groupId/teamId matched against autoChessData.bondInfoDict[*].powerIdList (e.g. yan: yan,sui,lungmen,lee,lgd; victoria: victoria,glasgow; kjerag: kjerag,karlan; egir: egir,abyssal; siracusa: siracusa,chiave; kazimierz: kazimierz,pinus; sargon; laterano). No match -> constData.fallbackBondId = emptyShip (协防干员). (bwiki: operators from those nations get the nation alliance, "others receive the 协防 designation".)
- DIY (自选) chess slots chess_char_5_diy1/2 and chess_char_6_diy1/2 have bondIds [] and are filled with a 6-star operator the player owns (diyChessDict = TIER_6). Their bond is derived from the chosen operator's nationId/groupId/teamId — of `mainPower` and of every `subPower` (PRTS 盟约 下半 record: 所属势力 and 隐藏势力; one or several core bonds; built in data/backups.json `diy.operators`, DATA.md §18) — matched against autoChessData.bondInfoDict[*].powerIdList (e.g. yan: yan,sui,lungmen,lee,lgd; victoria: victoria,glasgow; kjerag: kjerag,karlan; egir: egir,abyssal; siracusa: siracusa,chiave; kazimierz: kazimierz,pinus; sargon; laterano). No match -> constData.fallbackBondId = emptyShip (协防干员). (bwiki: operators from those nations get the nation alliance, "others receive the 协防 designation".)
- Prototype substitution: a NORMAL chess whose operator the player does not own is fielded as its backupCharId (预备干员 / 原型干员) but keeps the chess's bonds and traits (PRTS: "烛煌(或对应的原型干员)").
- Mode filter: 标准模拟 (mode_single_funny / mode_multi_funny) enables only 13 bonds (炎 萨尔贡 维多利亚 谢拉格 叙拉古 精准 迅捷 坚守 助力 远见 不屈 调和 协防干员); 拉特兰 阿戈尔 卡西米尔 灵巧 奥术 奇迹 投资人 突袭 独行 绝技 are inactive there. Training/险境/绝境/终极 enable all 23.
- Stat math: attribute bonuses from 盟约, strategies and equipment are "直接乘算" (PRTS 盟约记录 "盟约效果,策略效果,装备效果提供的属性加成均为直接乘算,与自持有干员的属性加成独立"). **Corrected 2026-10-01 (DESIGN §20.10):** 直接乘算 is PRTS's technical modifier class (游戏数据基础 属性基本公式: "直接乘算结果 D_t = t₁ + t₂ + … + tₙ", A = (A₀ + D_p)(1 + D_t); 作战机制: X₂ = X₁(1 + b₁% + b₂%), a skill's "攻击力+180%" being the example) — the values are SUMMED with each other and with the skills' "+X%"; "与自持有干员的属性加成独立" means they are separate from the **自持有加成** (PRTS 卫戍协议:盟约 下半, its own table: an operator the player really owns gets +5–10 % ATK / DEF / max HP by its real promotion — 精英1 Lv.1 +5/+5/–, 精英2 Lv.1 +10/+5/+5, 精英2 Lv.60 +10/+10/+10, the highest met applies), which the remake does not model. E.g. 炎 +50% ATK and an item +30% ATK -> final = base_atk x (1 + 0.5 + 0.3) (+ any skill %), not x 1.5 x 1.3 (the reading used until v2.5).