#網友試算表除錯(2026-09-17)
對象:<https://docs.google.com/spreadsheets/d/e/2PACX-1vRL-c2nW_690rG14h0x8R14QSpMUNTSxd_ZqpxKIWg0g3uFm-2a-vMWIfU2zkyaC2NXWdghOKnyhqCj/pubhtml> (分頁:事件圖鑑 328 列/角色進度 22 列/屬性獎勵 97 列/選項統計 306 列/結算紀錄 1490 列, 紀錄期間 2026-09-15 10:50 ~ 2026-09-17 13:36)
只讀公開網址,沒有登入、沒有寫入。對照的是我們這邊 9 顆帳號的產線紀錄與 tools/data/20260914-event-options.json(358 個選項、5741 筆事件樣本)。
#先講結論
這份表的資料品質很好,四個分頁之間零矛盾——選項統計 的實測次數/成功次數 跟 結算紀錄 逐列重算完全相符(306/306、306/306),成功率欄也算得對(0 筆算錯); 事件圖鑑 的檢定屬性與 DC 跟我們的紀錄逐筆一致,一個都沒錯(243 列對得上、0 筆不符)。
所以下面列的不是「算錯」,而是會害人做錯決定的五個地方,照嚴重度排:
| # | 問題 | 嚴重度 |
|---|---|---|
| 1 | 沒有死亡/開打欄——sinon_opt_005_snipe 在表上只寫「tec+1」,那個選項害死過我們三個帳號 | ☠ 會死人 |
| 2 | 戰鬥 欄 77 筆全是 TEAM_A(全勝),是倖存者偏誤,不是「這些選項很安全」 | ☠ 會死人 |
| 3 | 選項統計 的「成功率」是自己打出來的經驗值,但伺服器每一發都給精確值,而且同一個選項會差到 50 個百分點 | ⚠ 誤導 |
| 4 | 小樣本全失敗的選項,屬性獎勵欄變成空白,看起來像「這個選項沒東西」 | ⚠ 誤導 |
| 5 | 扣屬性寫成 def+-1、hp+-10;DC 欄無判定時一下空白一下 0 | 格式 |
#1. ☠ 沒有死亡/開打欄
表上每個選項有「成功率」「屬性獎勵」「取得角色」,但沒有一欄講「這個選項會不會開打、開打會不會死」。 我們的紀錄裡這幾個是有人死在上面的:
| 選項 | 事件 | 我們的樣本 | 開打 | 死亡 | 這份表上寫的 |
|---|---|---|---|---|---|
sinon_opt_005_snipe | 對決/跟他正面對狙 | 59 | 59 | 3 | 「tec+1」,n=4 |
roxy_opt_007_take_over | 魔力用完了/叫她退到後面 | 5 | 5 | 2 | 「atk+1」,n=1 |
sinon_opt_005_bait | 對決/當誘餌 | 9 | 9 | 2 | 「agi+1」,n=3 |
agil_opt_005_hold | 補給線/讓他先走自己斷後 | 26 | 10 | 3 | 「def+1」,n=17 |
gh_opt_006_stand | — | 3 | 3 | 1 | 空白,n=20 |
kibaou_opt_005_join | 加入解放隊 | 11 | 0 | 1 | 「sta+1」,n=10 |
事件圖鑑 的「後果」欄裡,sinon_e005_duel/跟他正面對狙 寫的是 「❌戰鬥仍勝 +500 exp,但過程難看」。這句話對你那隻香克斯 Lv.100 是對的, 對低戰力的人是致命的——而且這就是 2026-09-15 害死我們 LysanderSup 的那一句: 日誌上寫著「實測 4% 致死」,Lv.31 一次歸零。
關鍵是:致死率跟著戰力走,不是選項的固定屬性。 我們對每個選項記 deathPowerMax =「這個選項害死過的最強的人」(戰力 = 攻擊 × HP), 戰力在它以下就是危險區、要看危險區的致死率。sinon_opt_005_snipe:
- 全域致死率 5%
- 危險區(戰力 ≤ 222k)致死率 50%
- 比 222k 強的樣本,一次都沒死過
建議加兩欄:開打?(從 resolve.battleResult 非 null 算)與 死亡?(isDead 轉 true), 並且把死亡紀錄另外標注當時的攻擊 × HP。你已經有 戰鬥/戰鬥exp 欄了,離這一步只差一點。
#2. ☠ 戰鬥 欄 77 筆全是 TEAM_A
結算紀錄 有 77 筆帶戰鬥,全部 TEAM_A(我方勝),一筆敗仗都沒有。 但 角色進度 分頁自己寫著亞絲娜 Lv.72 陣亡、桐人 Lv.19 陣亡——所以你確實打輸過,只是那幾筆沒進紀錄。
最可能的原因:輸掉那一發,記錄的程式在寫入前就走掉了(角色死了、後續呼叫 4xx、或例外沒接)。 結果就是表上「所有會開打的選項都 100% 勝」,而那正是最需要留下來的那幾筆。
檢查法:agil_opt_005_hold 在你的紀錄裡 17 筆,只有 7 筆帶戰鬥——另外 10 筆是真的沒開打, 還是開打了但沒記到?這兩件事在表上現在分不出來。
#3. ⚠ 成功率用經驗值,但伺服器每一發都給精確值
選項統計 的「成功率」= 成功次數 ÷ 實測次數。問題是成功率不是選項的屬性, 它是 101 − DC + 有效值 而且隨等級/能力值一直變。你自己的 結算紀錄 裡就看得到同一個選項的伺服器值在飄:
| 選項 | 紀錄筆數 | 伺服器當下給的成功率 | 表上寫 |
|---|---|---|---|
sao_opt_e001_confront | 20 | 45% ~ 95%(差 50) | 60% |
liz_opt_001_ask | 28 | 64% ~ 95% | 89% |
daily_opt_gunshot_chase | 26 | 64% ~ 95% | 81% |
kibaou_opt_001_press | 14 | 71% ~ 95% | 86% |
而且小樣本的經驗值偏得很兇——shanks_opt_004_hat 表上寫 84%,同一批紀錄的伺服器值平均只有 62%(差 22)。
建議:成功率那欄改成記「最近一次伺服器給的值」或「有效值與 DC」, 經驗值另外放一欄當校驗用。你的 有效值/DC 欄已經有了,101 − DC + 有效值 就是答案(上限 95,見下)。
#4. ⚠ 小樣本全失敗 → 屬性獎勵欄空白
判定失敗就沒獎勵,所以「試了 2 次都失敗」的選項在表上長得跟「這個選項本來就沒東西」一模一樣:
| 選項 | 你的紀錄 | 表上屬性獎勵 | 我們的紀錄 |
|---|---|---|---|
sao_opt_e001_calm | 2 次,都失敗 | 空白 | 205 次、155 次成功,每次成功都 int+1 |
agil_opt_005_pay_them | 3 次,都失敗 | 空白 | 108 次、30 次成功,int+1 |
kibaou_opt_003_reflect | 2 次,都失敗 | 空白 | 20 次、13 次成功,int+1 |
hachi_opt_004_practice | 1 次,失敗 | 空白 | 14 次、11 次成功,tec+1 |
建議:屬性獎勵那欄改成「成功過的樣本裡看到的獎勵」,並且在 0 次成功時印「尚未成功過」而不是留白。
#5. 格式:def+-1、hp+-10,以及 DC 欄的 0
pt_opt_002_hand_over的屬性獎勵印成def+-1、pt_opt_006_look印成hp+-10—— 組字串時無條件接了+。屬性獎勵分頁那邊是對的(def -1、hp -10,還標了「⚠️ 扣屬性」), 兩個分頁不一致。結算紀錄的DC欄:無判定的 968 列裡,771 列留空、197 列寫 0,同一件事兩種寫法 (看時間是 9/15 中午前後換的邏輯)。統計時DC=0會被算進平均。
#我們有、你可能還缺的
- 扣屬性的選項一共 5 個,你找到 2 個。 分兩種: ⚠ 這一類算平均時要除以失敗次數,不是除以樣本數——除錯了會把「失敗扣 10」寫成「每次扣 3.3」。
- 無判定、每次都扣(3 個):你已經有
pt_opt_006_look(HP −10)與pt_opt_002_hand_over(防 −1), 還缺pt_opt_005_drink(他給的那個瓶子/喝下去)體力 −1——你的pt_e005_the_gift_flask只選過pt_opt_005_pour(倒掉),所以還沒踩到。這種「挑最穩的」剛好 100% 會踩到。 - 有判定、沒過才扣(2 個):
pt_opt_006_grab(攻 DC100)與pt_opt_006_step_back(敏 DC75), 失敗各扣 HP −10。所以pt_e006_treasure_below整個事件的規則是 「只要沒有成功通過判定就掉 10 HP」,我們 10 次觀測零例外。
- 無判定、每次都扣(3 個):你已經有
kibaou_e006_blank有兩個選項都能拿牙王:除了你記的kibaou_opt_006_name(把筆給我), 我們的紀錄裡kibaou_opt_006_watch(在他旁邊坐下)也回了gainCharacters。 (你的事件圖鑑在「在他旁邊坐下」那列的後果欄其實寫了「獲得牙王」,但選項統計的取得角色欄是空的。)取得角色出現 23 次不代表拿到 23 次:伺服器對同一個選項每次都回gainCharacters, 已經有的角色也照回。我們這邊 ArcGrove 的agil_opt_006_full_price就連回了 4 次艾基爾。 真正的解鎖只有第一次,其餘是空包彈。- 食糞者不是事件拿的:是
totalCombatStats.counterSoiled(跨轉生累計的「被反擊沾屎」次數)累積到門檻自動入隊, 門檻在 7~59 之間(玩家說 10)。你的「尚未收服」名單可以把它加進去,它不在任何*_opt_*路徑上。 - 還有一隻你名單上沒有的角色:索拉爾(太陽戰士,
solaire)。 Lv.1 九維{hp:420, atk:20, def:22, sta:21, agi:11, spd:13, tec:18, int:11, luk:8}。 怎麼拿的我們也還沒解——九顆帳號只有一顆有,而且它出現的那段時間紀錄是連續的、 所有 jsonl grep 不到solaire,最可能是轉生回應給的(見拆包筆記 §5.0)。
#你有、我們沒有的(謝謝)
garlic_opt_003_keep/garlic_opt_003_peel(大蒜線結局關,兩個都解鎖蒜頭)、hachi_opt_008_translate、zoro_opt_e001_point這四個選項我們的收益表裡沒有。- 判定機制被你的 522 筆紀錄釘死了(我們自己的紀錄沒存
roll/critical,只有 20 筆樣本):
| 規則 | 樣本 | 結果 |
|---|---|---|
成功率 = 101 − DC + 有效值,上限 95 | 522 | 517 筆吻合;另 5 筆算出來是 157~176,全部回 95 |
成功 ⟺ 有效值 + 骰值 ≥ DC(等價 骰值 > 100 − 成功率) | 522 | 521 筆吻合 |
骰值 ≤ 5 → 大失敗,一律失敗 | 27 | 27/27。其中 garlic_opt_001_count(有效值 111、DC 50、骰 3)114 ≥ 50 仍然失敗——所以大失敗是覆寫 |
骰值 ≥ 96 → 大成功 | 22 | 22/22 成功,但那 22 筆本來就都過得了,「大成功會覆寫失敗」還沒有反例 |
骰值涵蓋 1~100、平均 53.2,是乾淨的 1d100;校準也很好(522 筆預期 332.4 次成功、實際 348 次)。 上限 95 的來源就是大失敗(5% 必定失敗),所以下限推測是 5,但你的樣本最低只到 14,沒證實。
⚠ 順帶一提:如果有人拿這份表用「骰值 ≤ 成功率 就是成功」去驗,會有 342/522 對不上而以為資料壞了。 骰值是越高越好(要 > 100 − 成功率),不是越低越好。
產出者:Claude Code(docs/20260917-網友試算表除錯.md,手寫,非工具產生)。 對照用的我方資料:tools/data/20260914-event-options.json、logs/data/*.jsonl、docs/20260916-角色數值圖鑑.json。