{
  "_about": "《我的同人》（mydoujin.online）練功攻略：每隻角色要練什麼做哪種行動、每級長多少、轉生點怎麼配，加上全域規則。給其他 AI 直接用。",
  "_generated": "2026-09-17",
  "_generator": "tools/build-training-json.js（產生出來的，不要手改）",
  "_statKeys": {
    "hp": "HP",
    "atk": "攻擊",
    "def": "防禦",
    "sta": "體力",
    "agi": "敏捷",
    "spd": "反應速度",
    "tec": "技巧",
    "int": "智力",
    "luk": "幸運"
  },
  "_actionKeys": {
    "hunt": "狩獵",
    "fishing": "釣魚",
    "flirt": "汁妹",
    "charity": "做善事",
    "training": "自主訓練",
    "picnic": "外出野餐",
    "rest": "坐下休息"
  },
  "rules": {
    "exp": {
      "perAction": 20,
      "levelCost": "20 × round(1.75 × 等級)",
      "actionsPerLevel": "round(1.75 × 等級)",
      "maxLevel": 100,
      "maxLevelNote": "滿級後 explore 直接回 400，拿不到事件也解不了角色；要繼續只能轉生"
    },
    "pacing": {
      "actionCooldownMs": 10000,
      "requestsPerHourCap": 600,
      "note": "一次行動 2～3 發請求；PvP（chado／challenge）冷卻 30000ms 且與行動共用"
    },
    "growth": {
      "rule": "每級成長 = 本級所有行動的加權平均；要把某一維練到最高，整級都得做同一種行動",
      "budget": "非HP合計 + HP÷30 = 該角色 growthWeights 的合計（一般角色 25）",
      "weightZero": "權重 0 的維度不管做什麼行動都是 +0（石頭／磚頭／芋頭的攻擊）",
      "weightOne": "權重 1 的維度在基準 1 的行動上多半是 +0（洛琪希防禦 × 釣魚、瑞傑路德幸運 × 狩獵／釣魚），高基準只被壓 1",
      "training": "修行每級長的就是 growthWeights（HP × 30），不進觸發那一級的加權，不翻倍"
    },
    "combat": {
      "winModel": "戰力 ≈ 攻 × HP（控制等級後 69～78% 命中）是「誰會贏」的粗模型；魔法角色（洛琪希、梅琳娜）把攻換成智。技巧不是戰力乘數，但它是命中（降低對手閃避），敏捷是閃避、幸運擋 LUCK_EVENT，同等級對戰時這幾維都看得到作用（logs/20260916-茶渡戰力驗證.md）",
      "mechanics": {
        "dodge": "守方敏捷決定，攻方技巧抵銷（R² 0.49）",
        "heal": "智力 × 技能倍率（精確）",
        "luck": "幸運 > 127 免疫 LUCK_EVENT",
        "fatigue": "體力低的人在長期戰會掉回合（2026-09-16 新機制）",
        "defense": "技能傷害無視防禦；普攻傷害 ≈ 攻 × 246/(246+防)（推斷值，logs 裡沒有這個常數的擬合紀錄；茶渡 87 場的預測值比實際低 10～20%）"
      },
      "reincarnation": {
        "hpPerPoint": 30,
        "otherPerPoint": 1,
        "maxPoints": 100,
        "note": "每次轉生退回全部舊配點重配；Lv.16 起每級 1 點"
      }
    },
    "events": {
      "pickRule": "挑期望值最高的，不是最穩的；沒量過的期望值是 null 不是 0；黑名單優先於收益",
      "deadlyOptions": [
        {
          "optionId": "agil_opt_005_hold",
          "event": "補給線",
          "option": "擋在車前",
          "deaths": 3,
          "samples": 26,
          "dangerZonePowerMax": 91500,
          "deathRateInZone": 0.429
        },
        {
          "optionId": "agil_opt_005_rear",
          "event": "補給線",
          "option": "讓他先走，自己斷後",
          "deaths": 1,
          "samples": 44,
          "dangerZonePowerMax": 19140,
          "deathRateInZone": 1
        },
        {
          "optionId": "gh_opt_006_stand",
          "event": "追討者",
          "option": "擋在牠前面",
          "deaths": 1,
          "samples": 3,
          "dangerZonePowerMax": 39360,
          "deathRateInZone": 0.5
        },
        {
          "optionId": "kibaou_opt_005_join",
          "event": "艾恩葛朗特解放隊",
          "option": "加入",
          "deaths": 1,
          "samples": 11,
          "dangerZonePowerMax": 767120,
          "deathRateInZone": 1
        },
        {
          "optionId": "roxy_opt_007_take_over",
          "event": "魔力見底",
          "option": "叫她退到後面，剩下的你來",
          "deaths": 2,
          "samples": 5,
          "dangerZonePowerMax": 34500,
          "deathRateInZone": 1
        },
        {
          "optionId": "sinon_opt_005_bait",
          "event": "對狙",
          "option": "當誘餌，讓詩乃找角度",
          "deaths": 2,
          "samples": 9,
          "dangerZonePowerMax": 121500,
          "deathRateInZone": 0.667
        },
        {
          "optionId": "sinon_opt_005_snipe",
          "event": "對狙",
          "option": "跟他正面對狙",
          "deaths": 3,
          "samples": 59,
          "dangerZonePowerMax": 222000,
          "deathRateInZone": 0.5
        }
      ],
      "statPenaltyOptions": [
        {
          "optionId": "pt_opt_006_look",
          "event": "就在下面啊，朋友",
          "option": "扶著欄杆往下看",
          "effect": {
            "hp": -10
          }
        },
        {
          "optionId": "pt_opt_005_drink",
          "event": "他給的那個瓶子",
          "option": "喝下去",
          "effect": {
            "sta": -1
          }
        },
        {
          "optionId": "pt_opt_002_hand_over",
          "event": "保管費很便宜",
          "option": "解下來交給他",
          "effect": {
            "def": -1
          }
        }
      ],
      "hubEvents": [
        "daily_notice_board（公佈欄）",
        "daily_training_ground（訓練場）"
      ],
      "hubNote": "樞紐事件的選項是各條角色線的入口／旗標，幾乎 0 點；要拿角色就優先選自己還沒選過的",
      "flagStructure": "結局關（解鎖角色）只在前面立過旗標之後才進池子；旗標見 tools/data/20260916-routes-rerun.json"
    },
    "characterSourcesBeyondEvents": {
      "confirmed": [
        {
          "character": "食糞者",
          "how": "主動茶渡輸掉沾屎累積（三顆 880 次的帳號全有、0 次的全沒有；玩家說門檻 10 次）。2026-09-17 再加兩顆：ArcGrove totalCombatStats.counterSoiled 59 有、LysanderSup 3 沒有。看 totalCombatStats（跨轉生累計），combatStats 每次轉生歸零"
        }
      ],
      "leads": [
        "個人狀態打特定文字（未測）",
        "用特定角色茶渡人（未測）",
        "大蒜：ly183 與 leotek7414 有，共同點未知"
      ],
      "source": "作者 2026-09-17 在 Discord 說「角色獲取不只透過事件」"
    }
  },
  "characterCount": 22,
  "characters": [
    {
      "id": "agil",
      "name": "艾基爾",
      "title": "商人",
      "baseStatsLv1": {
        "hp": 600,
        "atk": 24,
        "def": 20,
        "sta": 20,
        "agi": 8,
        "spd": 10,
        "tec": 12,
        "int": 12,
        "luk": 12
      },
      "growthWeights": {
        "hp": 4,
        "atk": 4,
        "def": 4,
        "sta": 4,
        "agi": 1,
        "spd": 2,
        "tec": 2,
        "int": 2,
        "luk": 2
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "viper",
        "whirlwind",
        "war_cry"
      ],
      "hasHealSkill": false,
      "measuredActions": [
        {
          "action": "charity",
          "actionName": "做善事",
          "perLevel": {
            "hp": 180,
            "atk": 2,
            "def": 6,
            "sta": 2,
            "agi": 0,
            "spd": 1,
            "tec": 1,
            "int": 6,
            "luk": 1
          },
          "cleanSamples": 11,
          "share": 1,
          "powerGainAtLv1": 5520
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "perLevel": {
            "hp": 60,
            "atk": 2,
            "def": 2,
            "sta": 2,
            "agi": 4,
            "spd": 1,
            "tec": 6,
            "int": 5,
            "luk": 1
          },
          "cleanSamples": 10,
          "share": 1,
          "powerGainAtLv1": 2640
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 60,
            "atk": 2,
            "def": 2,
            "sta": 2,
            "agi": 4,
            "spd": 5,
            "tec": 1,
            "int": 1,
            "luk": 6
          },
          "cleanSamples": 11,
          "share": 1,
          "powerGainAtLv1": 2640
        },
        {
          "action": "hunt",
          "actionName": "狩獵",
          "perLevel": {
            "hp": 60,
            "atk": 7,
            "def": 2,
            "sta": 2,
            "agi": 1,
            "spd": 5,
            "tec": 4,
            "int": 1,
            "luk": 1
          },
          "cleanSamples": 21,
          "share": 1,
          "powerGainAtLv1": 5640
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "perLevel": {
            "hp": 240,
            "atk": 2,
            "def": 2,
            "sta": 6,
            "agi": 1,
            "spd": 1,
            "tec": 1,
            "int": 1,
            "luk": 3
          },
          "cleanSamples": 5,
          "share": 1,
          "powerGainAtLv1": 6960
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "perLevel": {
            "hp": 60,
            "atk": 6,
            "def": 6,
            "sta": 4,
            "agi": 1,
            "spd": 1,
            "tec": 3,
            "int": 1,
            "luk": 1
          },
          "cleanSamples": 13,
          "share": 1,
          "powerGainAtLv1": 5040
        }
      ],
      "unmeasuredActions": [
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 120,
          "atk": 4,
          "def": 4,
          "sta": 4,
          "agi": 1,
          "spd": 2,
          "tec": 2,
          "int": 2,
          "luk": 2
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": "picnic",
          "why": "戰力 ≈ 攻 × HP（452＋164 場戰報回歸），這個行動每級的 Δ(攻×HP) 最大",
          "perLevel": {
            "hp": 240,
            "atk": 2,
            "def": 2,
            "sta": 6,
            "agi": 1,
            "spd": 1,
            "tec": 1,
            "int": 1,
            "luk": 3
          }
        },
        "skillDamage": {
          "action": "hunt",
          "why": "技能傷害 = 倍率 × 攻擊，看攻擊成長",
          "perLevelStat": "atk",
          "perLevelGain": 7
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 6,
          "target": 128
        },
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "艾基爾線",
        "key": "agil",
        "events": 6,
        "flags": [],
        "endingOptions": [
          "幫他把最後幾箱搬下來",
          "「照標價，再跟你買一次。」"
        ]
      }
    },
    {
      "id": "ashen_one",
      "name": "灰燼",
      "title": "不死人",
      "baseStatsLv1": {
        "hp": 360,
        "atk": 16,
        "def": 15,
        "sta": 19,
        "agi": 16,
        "spd": 14,
        "tec": 26,
        "int": 10,
        "luk": 9
      },
      "growthWeights": {
        "hp": 2,
        "atk": 3,
        "def": 3,
        "sta": 3,
        "agi": 3,
        "spd": 2,
        "tec": 5,
        "int": 2,
        "luk": 2
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "roll_dodge",
        "estus_flask",
        "white_sign"
      ],
      "hasHealSkill": false,
      "measuredActions": [
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 30,
            "atk": 2,
            "def": 2,
            "sta": 2,
            "agi": 5,
            "spd": 4,
            "tec": 3,
            "int": 1,
            "luk": 5
          },
          "cleanSamples": 18,
          "share": 1,
          "powerGainAtLv1": 1200
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "perLevel": {
            "hp": 30,
            "atk": 5,
            "def": 5,
            "sta": 4,
            "agi": 2,
            "spd": 1,
            "tec": 5,
            "int": 1,
            "luk": 1
          },
          "cleanSamples": 31,
          "share": 1,
          "powerGainAtLv1": 2280
        }
      ],
      "unmeasuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 60,
          "atk": 3,
          "def": 3,
          "sta": 3,
          "agi": 3,
          "spd": 2,
          "tec": 5,
          "int": 2,
          "luk": 2
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": "training",
          "why": "戰力 ≈ 攻 × HP（452＋164 場戰報回歸），這個行動每級的 Δ(攻×HP) 最大",
          "perLevel": {
            "hp": 30,
            "atk": 5,
            "def": 5,
            "sta": 4,
            "agi": 2,
            "spd": 1,
            "tec": 5,
            "int": 1,
            "luk": 1
          }
        },
        "skillDamage": {
          "action": "training",
          "why": "技能傷害 = 倍率 × 攻擊，看攻擊成長",
          "perLevelStat": "atk",
          "perLevelGain": 5
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 5,
          "target": 128
        },
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "灰燼線",
        "key": "ash",
        "events": 8,
        "flags": [],
        "endingOptions": [
          "把螺旋劍遞還給他，等他自己決定",
          "留下一句：「不需要柴薪」"
        ]
      }
    },
    {
      "id": "asuna",
      "name": "亞絲娜",
      "title": "閃光",
      "baseStatsLv1": {
        "hp": 330,
        "atk": 20,
        "def": 11,
        "sta": 12,
        "agi": 18,
        "spd": 26,
        "tec": 16,
        "int": 13,
        "luk": 10
      },
      "growthWeights": {
        "hp": 2,
        "atk": 4,
        "def": 2,
        "sta": 2,
        "agi": 3,
        "spd": 5,
        "tec": 3,
        "int": 2,
        "luk": 2
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "linear_attack",
        "star_splash",
        "quadruple_pain"
      ],
      "hasHealSkill": false,
      "measuredActions": [
        {
          "action": "charity",
          "actionName": "做善事",
          "perLevel": {
            "hp": 120,
            "atk": 2,
            "def": 4,
            "sta": 1,
            "agi": 2,
            "spd": 3,
            "tec": 2,
            "int": 6,
            "luk": 1
          },
          "cleanSamples": 4,
          "share": 1,
          "powerGainAtLv1": 3060
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "perLevel": {
            "hp": 30,
            "atk": 2,
            "def": 1,
            "sta": 1,
            "agi": 5,
            "spd": 3,
            "tec": 6,
            "int": 5,
            "luk": 1
          },
          "cleanSamples": 1,
          "share": 1,
          "powerGainAtLv1": 1260
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 30,
            "atk": 2,
            "def": 1,
            "sta": 1,
            "agi": 5,
            "spd": 6,
            "tec": 2,
            "int": 1,
            "luk": 6
          },
          "cleanSamples": 1,
          "share": 1,
          "powerGainAtLv1": 1260
        },
        {
          "action": "hunt",
          "actionName": "狩獵",
          "perLevel": {
            "hp": 30,
            "atk": 7,
            "def": 1,
            "sta": 1,
            "agi": 2,
            "spd": 6,
            "tec": 5,
            "int": 1,
            "luk": 1
          },
          "cleanSamples": 15,
          "share": 1,
          "powerGainAtLv1": 2910
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "perLevel": {
            "hp": 210,
            "atk": 2,
            "def": 1,
            "sta": 4,
            "agi": 2,
            "spd": 3,
            "tec": 2,
            "int": 1,
            "luk": 3
          },
          "cleanSamples": 4,
          "share": 1,
          "powerGainAtLv1": 4860
        }
      ],
      "unmeasuredActions": [
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 60,
          "atk": 4,
          "def": 2,
          "sta": 2,
          "agi": 3,
          "spd": 5,
          "tec": 3,
          "int": 2,
          "luk": 2
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": "picnic",
          "why": "戰力 ≈ 攻 × HP（452＋164 場戰報回歸），這個行動每級的 Δ(攻×HP) 最大",
          "perLevel": {
            "hp": 210,
            "atk": 2,
            "def": 1,
            "sta": 4,
            "agi": 2,
            "spd": 3,
            "tec": 2,
            "int": 1,
            "luk": 3
          }
        },
        "skillDamage": {
          "action": "hunt",
          "why": "技能傷害 = 倍率 × 攻擊，看攻擊成長",
          "perLevelStat": "atk",
          "perLevelGain": 7
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 6,
          "target": 128
        },
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "亞絲娜線",
        "key": "sao",
        "events": 2,
        "flags": [],
        "endingOptions": [
          "上前支援"
        ]
      }
    },
    {
      "id": "brick",
      "name": "磚頭",
      "title": "會殺人的磚頭",
      "baseStatsLv1": {
        "hp": 720,
        "atk": 0,
        "def": 50,
        "sta": 0,
        "agi": 0,
        "spd": 0,
        "tec": 0,
        "int": 0,
        "luk": 0
      },
      "growthWeights": {
        "hp": 6,
        "atk": 0,
        "def": 13,
        "sta": 0,
        "agi": 0,
        "spd": 0,
        "tec": 0,
        "int": 0,
        "luk": 0
      },
      "growthWeightSum": 19,
      "perLevelBudget": 19,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [],
      "hasHealSkill": false,
      "measuredActions": [],
      "unmeasuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 180,
          "atk": 0,
          "def": 13,
          "sta": 0,
          "agi": 0,
          "spd": 0,
          "tec": 0,
          "int": 0,
          "luk": 0
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": null,
          "why": "攻擊權重 0，永遠不長，攻擊 × HP 之下 PvP 戰力恆為 0；這隻不是拿來打的"
        },
        "luck": {
          "action": null,
          "why": "幸運權重 0，怎麼練都 +0（芋頭）"
        },
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "看目標：練幸運就 luk，練智力就 int",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "磚頭線",
        "key": "brick",
        "events": 3,
        "flags": [],
        "endingOptions": [
          "拿去給莉茲貝特看",
          "帶著它繼續走",
          "照裂痕的方向握它",
          "把它跟石頭並排放著"
        ]
      }
    },
    {
      "id": "dung_eater",
      "name": "食糞者",
      "title": "詛咒的播種者",
      "baseStatsLv1": {
        "hp": 510,
        "atk": 23,
        "def": 22,
        "sta": 22,
        "agi": 7,
        "spd": 9,
        "tec": 11,
        "int": 9,
        "luk": 8
      },
      "growthWeights": null,
      "growthWeightSum": null,
      "perLevelBudget": null,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [],
      "hasHealSkill": false,
      "measuredActions": [],
      "unmeasuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "沒有權重資料"
        }
      ],
      "trainingRecipe": null,
      "plan": {
        "damageStat": "atk",
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": null
    },
    {
      "id": "frieren",
      "name": "芙莉蓮",
      "title": "魔法使",
      "baseStatsLv1": {
        "hp": 330,
        "atk": 7,
        "def": 11,
        "sta": 27,
        "agi": 10,
        "spd": 16,
        "tec": 25,
        "int": 40,
        "luk": 9
      },
      "growthWeights": {
        "hp": 2,
        "atk": 1,
        "def": 2,
        "sta": 4,
        "agi": 2,
        "spd": 3,
        "tec": 4,
        "int": 6,
        "luk": 1
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "zoltraak",
        "spell_analysis",
        "mana_release"
      ],
      "hasHealSkill": false,
      "measuredActions": [],
      "unmeasuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 60,
          "atk": 1,
          "def": 2,
          "sta": 4,
          "agi": 2,
          "spd": 3,
          "tec": 4,
          "int": 6,
          "luk": 1
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "int",
        "damageStatNote": "沒有戰報可驗，照角色設定推斷吃智力；量到戰報前當推斷值"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "芙莉蓮線",
        "key": "frieren",
        "events": 6,
        "flags": [
          "相信芙莉蓮，直接繞過去"
        ],
        "endingOptions": [
          "問她能不能一起走一段",
          "祝她找到想找的魔法"
        ]
      }
    },
    {
      "id": "garlic",
      "name": "蒜頭",
      "title": "會殺人的蒜頭",
      "baseStatsLv1": {
        "hp": 900,
        "atk": 0,
        "def": 40,
        "sta": 0,
        "agi": 0,
        "spd": 0,
        "tec": 0,
        "int": 30,
        "luk": 0
      },
      "growthWeights": {
        "hp": 6,
        "atk": 0,
        "def": 9,
        "sta": 0,
        "agi": 0,
        "spd": 0,
        "tec": 0,
        "int": 6,
        "luk": 0
      },
      "growthWeightSum": 21,
      "perLevelBudget": 21,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [],
      "hasHealSkill": false,
      "measuredActions": [],
      "unmeasuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 180,
          "atk": 0,
          "def": 9,
          "sta": 0,
          "agi": 0,
          "spd": 0,
          "tec": 0,
          "int": 6,
          "luk": 0
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": null,
          "why": "攻擊權重 0，永遠不長，攻擊 × HP 之下 PvP 戰力恆為 0；這隻不是拿來打的"
        },
        "luck": {
          "action": null,
          "why": "幸運權重 0，怎麼練都 +0（芋頭）"
        },
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "看目標：練幸運就 luk，練智力就 int",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "大蒜線",
        "key": "garlic",
        "events": 3,
        "flags": [],
        "endingOptions": [
          "不再剝，完整帶走"
        ]
      }
    },
    {
      "id": "goblin_hero",
      "name": "哥布林英雄",
      "title": "逆襲的綠皮",
      "baseStatsLv1": {
        "hp": 420,
        "atk": 18,
        "def": 14,
        "sta": 16,
        "agi": 14,
        "spd": 18,
        "tec": 18,
        "int": 8,
        "luk": 10
      },
      "growthWeights": {
        "hp": 3,
        "atk": 3,
        "def": 3,
        "sta": 3,
        "agi": 3,
        "spd": 3,
        "tec": 3,
        "int": 2,
        "luk": 2
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "avalanche",
        "power_shot",
        "rapid_bite",
        "first_aid"
      ],
      "hasHealSkill": true,
      "measuredActions": [
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 60,
            "atk": 2,
            "def": 2,
            "sta": 2,
            "agi": 5,
            "spd": 5,
            "tec": 1,
            "int": 1,
            "luk": 5
          },
          "cleanSamples": 12,
          "share": 1,
          "powerGainAtLv1": 1920
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "perLevel": {
            "hp": 60,
            "atk": 5,
            "def": 5,
            "sta": 4,
            "agi": 2,
            "spd": 1,
            "tec": 4,
            "int": 1,
            "luk": 1
          },
          "cleanSamples": 14,
          "share": 1,
          "powerGainAtLv1": 3180
        }
      ],
      "unmeasuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 90,
          "atk": 3,
          "def": 3,
          "sta": 3,
          "agi": 3,
          "spd": 3,
          "tec": 3,
          "int": 2,
          "luk": 2
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": "training",
          "why": "戰力 ≈ 攻 × HP（452＋164 場戰報回歸），這個行動每級的 Δ(攻×HP) 最大",
          "perLevel": {
            "hp": 60,
            "atk": 5,
            "def": 5,
            "sta": 4,
            "agi": 2,
            "spd": 1,
            "tec": 4,
            "int": 1,
            "luk": 1
          }
        },
        "skillDamage": {
          "action": "training",
          "why": "技能傷害 = 倍率 × 攻擊，看攻擊成長",
          "perLevelStat": "atk",
          "perLevelGain": 5
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 5,
          "target": 128
        },
        "healing": {
          "action": "flirt",
          "why": "治療 = 智力 × 技能倍率（精確公式），這隻有治療技能才值得練智力",
          "perLevelInt": 1
        }
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "哥布林線",
        "key": "gh",
        "events": 7,
        "flags": [
          "也把武器放低，等牠先動",
          "把牠推進岩縫，自己引開追討者"
        ],
        "endingOptions": [
          "點頭，讓牠跟上來"
        ]
      }
    },
    {
      "id": "hachiware",
      "name": "小八",
      "title": "翻譯官",
      "baseStatsLv1": {
        "hp": 330,
        "atk": 17,
        "def": 11,
        "sta": 17,
        "agi": 15,
        "spd": 18,
        "tec": 20,
        "int": 14,
        "luk": 15
      },
      "growthWeights": {
        "hp": 2,
        "atk": 3,
        "def": 2,
        "sta": 3,
        "agi": 3,
        "spd": 3,
        "tec": 4,
        "int": 2,
        "luk": 3
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "sasumata_hold",
        "share_meal",
        "found_opening"
      ],
      "hasHealSkill": true,
      "measuredActions": [
        {
          "action": "charity",
          "actionName": "做善事",
          "perLevel": {
            "hp": 120,
            "atk": 2,
            "def": 4,
            "sta": 2,
            "agi": 2,
            "spd": 2,
            "tec": 2,
            "int": 5,
            "luk": 2
          },
          "cleanSamples": 21,
          "share": 1,
          "powerGainAtLv1": 2700
        }
      ],
      "unmeasuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 60,
          "atk": 3,
          "def": 2,
          "sta": 3,
          "agi": 3,
          "spd": 3,
          "tec": 4,
          "int": 2,
          "luk": 3
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": "charity",
          "why": "戰力 ≈ 攻 × HP（452＋164 場戰報回歸），這個行動每級的 Δ(攻×HP) 最大",
          "perLevel": {
            "hp": 120,
            "atk": 2,
            "def": 4,
            "sta": 2,
            "agi": 2,
            "spd": 2,
            "tec": 2,
            "int": 5,
            "luk": 2
          }
        },
        "skillDamage": {
          "action": "charity",
          "why": "技能傷害 = 倍率 × 攻擊，看攻擊成長",
          "perLevelStat": "atk",
          "perLevelGain": 2
        },
        "luck": {
          "action": "charity",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 2,
          "target": 128
        },
        "healing": {
          "action": "charity",
          "why": "治療 = 智力 × 技能倍率（精確公式），這隻有治療技能才值得練智力",
          "perLevelInt": 5
        }
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "小八線",
        "key": "hachi",
        "events": 7,
        "flags": [],
        "endingOptions": [
          "邀他們接下來一起走"
        ]
      }
    },
    {
      "id": "kibaou",
      "name": "牙王",
      "title": "Aincrad解放部隊",
      "baseStatsLv1": {
        "hp": 405,
        "atk": 20,
        "def": 15,
        "sta": 16,
        "agi": 12,
        "spd": 12,
        "tec": 12,
        "int": 8,
        "luk": 10
      },
      "growthWeights": {
        "hp": 3,
        "atk": 4,
        "def": 3,
        "sta": 3,
        "agi": 3,
        "spd": 3,
        "tec": 2,
        "int": 2,
        "luk": 2
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "rage_spike",
        "snake_bite",
        "howling_octave"
      ],
      "hasHealSkill": false,
      "measuredActions": [
        {
          "action": "charity",
          "actionName": "做善事",
          "perLevel": {
            "hp": 150,
            "atk": 2,
            "def": 5,
            "sta": 2,
            "agi": 2,
            "spd": 2,
            "tec": 1,
            "int": 5,
            "luk": 1
          },
          "cleanSamples": 5,
          "share": 1,
          "powerGainAtLv1": 3810
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "perLevel": {
            "hp": 60,
            "atk": 2,
            "def": 2,
            "sta": 2,
            "agi": 5,
            "spd": 2,
            "tec": 5,
            "int": 4,
            "luk": 1
          },
          "cleanSamples": 3,
          "share": 1,
          "powerGainAtLv1": 2010
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 60,
            "atk": 2,
            "def": 2,
            "sta": 2,
            "agi": 5,
            "spd": 5,
            "tec": 1,
            "int": 1,
            "luk": 5
          },
          "cleanSamples": 8,
          "share": 1,
          "powerGainAtLv1": 2010
        },
        {
          "action": "hunt",
          "actionName": "狩獵",
          "perLevel": {
            "hp": 60,
            "atk": 7,
            "def": 2,
            "sta": 2,
            "agi": 1,
            "spd": 5,
            "tec": 4,
            "int": 1,
            "luk": 1
          },
          "cleanSamples": 16,
          "share": 1,
          "powerGainAtLv1": 4035
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "perLevel": {
            "hp": 210,
            "atk": 2,
            "def": 2,
            "sta": 5,
            "agi": 2,
            "spd": 2,
            "tec": 1,
            "int": 1,
            "luk": 3
          },
          "cleanSamples": 10,
          "share": 1,
          "powerGainAtLv1": 5010
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "perLevel": {
            "hp": 60,
            "atk": 5,
            "def": 5,
            "sta": 4,
            "agi": 2,
            "spd": 2,
            "tec": 3,
            "int": 1,
            "luk": 1
          },
          "cleanSamples": 9,
          "share": 1,
          "powerGainAtLv1": 3225
        }
      ],
      "unmeasuredActions": [
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 90,
          "atk": 4,
          "def": 3,
          "sta": 3,
          "agi": 3,
          "spd": 3,
          "tec": 2,
          "int": 2,
          "luk": 2
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": "picnic",
          "why": "戰力 ≈ 攻 × HP（452＋164 場戰報回歸），這個行動每級的 Δ(攻×HP) 最大",
          "perLevel": {
            "hp": 210,
            "atk": 2,
            "def": 2,
            "sta": 5,
            "agi": 2,
            "spd": 2,
            "tec": 1,
            "int": 1,
            "luk": 3
          }
        },
        "skillDamage": {
          "action": "hunt",
          "why": "技能傷害 = 倍率 × 攻擊，看攻擊成長",
          "perLevelStat": "atk",
          "perLevelGain": 7
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 5,
          "target": 128
        },
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "牙王線",
        "key": "kibaou",
        "events": 6,
        "flags": [],
        "endingOptions": [
          "在他旁邊坐下",
          "「把筆給我。這一個我來寫。」"
        ]
      }
    },
    {
      "id": "kirito",
      "name": "桐人",
      "title": "黑色劍士",
      "baseStatsLv1": {
        "hp": 360,
        "atk": 18,
        "def": 12,
        "sta": 12,
        "agi": 16,
        "spd": 22,
        "tec": 14,
        "int": 12,
        "luk": 8
      },
      "growthWeights": null,
      "growthWeightSum": null,
      "perLevelBudget": null,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [],
      "hasHealSkill": false,
      "measuredActions": [
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 60,
            "atk": 2,
            "def": 1,
            "sta": 1,
            "agi": 5,
            "spd": 5,
            "tec": 2,
            "int": 1,
            "luk": 6
          },
          "cleanSamples": 8,
          "share": 1,
          "powerGainAtLv1": 1800
        },
        {
          "action": "hunt",
          "actionName": "狩獵",
          "perLevel": {
            "hp": 60,
            "atk": 7,
            "def": 1,
            "sta": 1,
            "agi": 2,
            "spd": 5,
            "tec": 5,
            "int": 1,
            "luk": 1
          },
          "cleanSamples": 6,
          "share": 1,
          "powerGainAtLv1": 3600
        }
      ],
      "unmeasuredActions": [
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "沒有權重資料"
        }
      ],
      "trainingRecipe": null,
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": "hunt",
          "why": "戰力 ≈ 攻 × HP（452＋164 場戰報回歸），這個行動每級的 Δ(攻×HP) 最大",
          "perLevel": {
            "hp": 60,
            "atk": 7,
            "def": 1,
            "sta": 1,
            "agi": 2,
            "spd": 5,
            "tec": 5,
            "int": 1,
            "luk": 1
          }
        },
        "skillDamage": {
          "action": "hunt",
          "why": "技能傷害 = 倍率 × 攻擊，看攻擊成長",
          "perLevelStat": "atk",
          "perLevelGain": 7
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 6,
          "target": 128
        },
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": null
    },
    {
      "id": "linie",
      "name": "莉妮耶",
      "title": "魔族",
      "baseStatsLv1": {
        "hp": 270,
        "atk": 22,
        "def": 8,
        "sta": 18,
        "agi": 15,
        "spd": 21,
        "tec": 25,
        "int": 22,
        "luk": 12
      },
      "growthWeights": {
        "hp": 2,
        "atk": 4,
        "def": 1,
        "sta": 3,
        "agi": 2,
        "spd": 3,
        "tec": 4,
        "int": 4,
        "luk": 2
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "eisen_axe_style",
        "erfassen",
        "warriors_afterimage"
      ],
      "hasHealSkill": false,
      "measuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "perLevel": {
            "hp": 30,
            "atk": 7,
            "def": 0,
            "sta": 2,
            "agi": 1,
            "spd": 5,
            "tec": 6,
            "int": 2,
            "luk": 1
          },
          "cleanSamples": 53,
          "share": 1,
          "powerGainAtLv1": 2550
        }
      ],
      "unmeasuredActions": [
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 60,
          "atk": 4,
          "def": 1,
          "sta": 3,
          "agi": 2,
          "spd": 3,
          "tec": 4,
          "int": 4,
          "luk": 2
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": "hunt",
          "why": "戰力 ≈ 攻 × HP（452＋164 場戰報回歸），這個行動每級的 Δ(攻×HP) 最大",
          "perLevel": {
            "hp": 30,
            "atk": 7,
            "def": 0,
            "sta": 2,
            "agi": 1,
            "spd": 5,
            "tec": 6,
            "int": 2,
            "luk": 1
          }
        },
        "skillDamage": {
          "action": "hunt",
          "why": "技能傷害 = 倍率 × 攻擊，看攻擊成長",
          "perLevelStat": "atk",
          "perLevelGain": 7
        },
        "luck": {
          "action": "hunt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 1,
          "target": 128
        },
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "莉妮耶線",
        "key": "linie",
        "events": 6,
        "flags": [
          "相信她的判斷，站在旁邊戒備"
        ],
        "endingOptions": [
          "祝她找到想找的招式"
        ]
      }
    },
    {
      "id": "lisbeth",
      "name": "莉茲貝特",
      "title": "鍛冶師",
      "baseStatsLv1": {
        "hp": 390,
        "atk": 16,
        "def": 18,
        "sta": 18,
        "agi": 12,
        "spd": 12,
        "tec": 18,
        "int": 12,
        "luk": 12
      },
      "growthWeights": {
        "hp": 3,
        "atk": 3,
        "def": 4,
        "sta": 4,
        "agi": 2,
        "spd": 2,
        "tec": 3,
        "int": 2,
        "luk": 2
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "hammer_blow",
        "tempering",
        "brain_crusher"
      ],
      "hasHealSkill": true,
      "measuredActions": [
        {
          "action": "charity",
          "actionName": "做善事",
          "perLevel": {
            "hp": 150,
            "atk": 2,
            "def": 5,
            "sta": 2,
            "agi": 1,
            "spd": 1,
            "tec": 2,
            "int": 6,
            "luk": 1
          },
          "cleanSamples": 3,
          "share": 1,
          "powerGainAtLv1": 3180
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "perLevel": {
            "hp": 60,
            "atk": 2,
            "def": 2,
            "sta": 2,
            "agi": 5,
            "spd": 1,
            "tec": 6,
            "int": 4,
            "luk": 1
          },
          "cleanSamples": 1,
          "share": 1,
          "powerGainAtLv1": 1740
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 60,
            "atk": 2,
            "def": 2,
            "sta": 2,
            "agi": 4,
            "spd": 4,
            "tec": 2,
            "int": 1,
            "luk": 6
          },
          "cleanSamples": 3,
          "share": 1,
          "powerGainAtLv1": 1740
        },
        {
          "action": "hunt",
          "actionName": "狩獵",
          "perLevel": {
            "hp": 60,
            "atk": 6,
            "def": 2,
            "sta": 2,
            "agi": 1,
            "spd": 5,
            "tec": 5,
            "int": 1,
            "luk": 1
          },
          "cleanSamples": 14,
          "share": 1,
          "powerGainAtLv1": 3300
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "perLevel": {
            "hp": 210,
            "atk": 2,
            "def": 2,
            "sta": 6,
            "agi": 1,
            "spd": 1,
            "tec": 2,
            "int": 1,
            "luk": 3
          },
          "cleanSamples": 3,
          "share": 1,
          "powerGainAtLv1": 4140
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "perLevel": {
            "hp": 60,
            "atk": 5,
            "def": 6,
            "sta": 4,
            "agi": 1,
            "spd": 1,
            "tec": 4,
            "int": 1,
            "luk": 1
          },
          "cleanSamples": 1,
          "share": 1,
          "powerGainAtLv1": 2910
        }
      ],
      "unmeasuredActions": [
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 90,
          "atk": 3,
          "def": 4,
          "sta": 4,
          "agi": 2,
          "spd": 2,
          "tec": 3,
          "int": 2,
          "luk": 2
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": "picnic",
          "why": "戰力 ≈ 攻 × HP（452＋164 場戰報回歸），這個行動每級的 Δ(攻×HP) 最大",
          "perLevel": {
            "hp": 210,
            "atk": 2,
            "def": 2,
            "sta": 6,
            "agi": 1,
            "spd": 1,
            "tec": 2,
            "int": 1,
            "luk": 3
          }
        },
        "skillDamage": {
          "action": "hunt",
          "why": "技能傷害 = 倍率 × 攻擊，看攻擊成長",
          "perLevelStat": "atk",
          "perLevelGain": 6
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 6,
          "target": 128
        },
        "healing": {
          "action": "charity",
          "why": "治療 = 智力 × 技能倍率（精確公式），這隻有治療技能才值得練智力",
          "perLevelInt": 6
        }
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "莉茲線",
        "key": "liz",
        "events": 7,
        "flags": [
          "沿著岩壁潛行接近巢穴",
          "問她為什麼想當鍛冶師"
        ],
        "endingOptions": [
          "在旁邊看著她打完"
        ]
      }
    },
    {
      "id": "melina",
      "name": "梅琳娜",
      "title": "木頭",
      "baseStatsLv1": {
        "hp": 300,
        "atk": 14,
        "def": 9,
        "sta": 16,
        "agi": 15,
        "spd": 18,
        "tec": 20,
        "int": 24,
        "luk": 12
      },
      "growthWeights": {
        "hp": 2,
        "atk": 2,
        "def": 2,
        "sta": 3,
        "agi": 3,
        "spd": 3,
        "tec": 4,
        "int": 4,
        "luk": 2
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "calling_blade",
        "minor_erdtree",
        "kindling_blessing"
      ],
      "hasHealSkill": true,
      "measuredActions": [
        {
          "action": "charity",
          "actionName": "做善事",
          "perLevel": {
            "hp": 120,
            "atk": 1,
            "def": 4,
            "sta": 2,
            "agi": 2,
            "spd": 2,
            "tec": 2,
            "int": 7,
            "luk": 1
          },
          "cleanSamples": 6,
          "share": 1,
          "powerGainAtLv1": 4980
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 30,
            "atk": 1,
            "def": 1,
            "sta": 2,
            "agi": 5,
            "spd": 5,
            "tec": 2,
            "int": 2,
            "luk": 6
          },
          "cleanSamples": 3,
          "share": 1,
          "powerGainAtLv1": 1320
        },
        {
          "action": "hunt",
          "actionName": "狩獵",
          "perLevel": {
            "hp": 30,
            "atk": 6,
            "def": 1,
            "sta": 2,
            "agi": 2,
            "spd": 5,
            "tec": 5,
            "int": 2,
            "luk": 1
          },
          "cleanSamples": 7,
          "share": 0.43,
          "powerGainAtLv1": 1320
        }
      ],
      "unmeasuredActions": [
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 60,
          "atk": 2,
          "def": 2,
          "sta": 3,
          "agi": 3,
          "spd": 3,
          "tec": 4,
          "int": 4,
          "luk": 2
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "int",
        "pvpPower": {
          "action": "charity",
          "why": "魔法角色：戰力的「攻」換成「智」（技能圖鑑），這個行動每級的 Δ(智×HP) 最大",
          "perLevel": {
            "hp": 120,
            "atk": 1,
            "def": 4,
            "sta": 2,
            "agi": 2,
            "spd": 2,
            "tec": 2,
            "int": 7,
            "luk": 1
          }
        },
        "skillDamage": {
          "action": "charity",
          "why": "魔法傷害 = 倍率 × 智力（水彈 0.42 × 智力），看智力成長",
          "perLevelStat": "int",
          "perLevelGain": 7
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 6,
          "target": 128
        },
        "healing": {
          "action": "charity",
          "why": "治療 = 智力 × 技能倍率（精確公式），這隻有治療技能才值得練智力",
          "perLevelInt": 7
        }
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "梅琳娜線",
        "key": "mel",
        "events": 8,
        "flags": [],
        "endingOptions": [
          "讓她做她要做的事"
        ]
      }
    },
    {
      "id": "roxy",
      "name": "洛琪希·米格路迪亞",
      "title": "水王級魔術師",
      "baseStatsLv1": {
        "hp": 270,
        "atk": 8,
        "def": 8,
        "sta": 20,
        "agi": 12,
        "spd": 16,
        "tec": 22,
        "int": 32,
        "luk": 11
      },
      "growthWeights": {
        "hp": 2,
        "atk": 1,
        "def": 1,
        "sta": 4,
        "agi": 2,
        "spd": 3,
        "tec": 4,
        "int": 6,
        "luk": 2
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "water_ball",
        "frost_nova",
        "cumulonimbus"
      ],
      "hasHealSkill": false,
      "measuredActions": [
        {
          "action": "charity",
          "actionName": "做善事",
          "perLevel": {
            "hp": 120,
            "atk": 1,
            "def": 4,
            "sta": 2,
            "agi": 1,
            "spd": 2,
            "tec": 2,
            "int": 8,
            "luk": 1
          },
          "cleanSamples": 54,
          "share": 1,
          "powerGainAtLv1": 6000
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "perLevel": {
            "hp": 30,
            "atk": 1,
            "def": 0,
            "sta": 2,
            "agi": 4,
            "spd": 2,
            "tec": 7,
            "int": 7,
            "luk": 1
          },
          "cleanSamples": 9,
          "share": 0.89,
          "powerGainAtLv1": 2850
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 30,
            "atk": 1,
            "def": 1,
            "sta": 2,
            "agi": 4,
            "spd": 5,
            "tec": 2,
            "int": 3,
            "luk": 6
          },
          "cleanSamples": 1,
          "share": 1,
          "powerGainAtLv1": 1770
        },
        {
          "action": "hunt",
          "actionName": "狩獵",
          "perLevel": {
            "hp": 30,
            "atk": 5,
            "def": 1,
            "sta": 2,
            "agi": 1,
            "spd": 5,
            "tec": 6,
            "int": 3,
            "luk": 1
          },
          "cleanSamples": 1,
          "share": 1,
          "powerGainAtLv1": 1770
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "perLevel": {
            "hp": 210,
            "atk": 1,
            "def": 0,
            "sta": 6,
            "agi": 1,
            "spd": 2,
            "tec": 2,
            "int": 3,
            "luk": 3
          },
          "cleanSamples": 1,
          "share": 1,
          "powerGainAtLv1": 7530
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "perLevel": {
            "hp": 30,
            "atk": 4,
            "def": 4,
            "sta": 5,
            "agi": 1,
            "spd": 2,
            "tec": 4,
            "int": 3,
            "luk": 1
          },
          "cleanSamples": 26,
          "share": 1,
          "powerGainAtLv1": 1770
        }
      ],
      "unmeasuredActions": [
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 60,
          "atk": 1,
          "def": 1,
          "sta": 4,
          "agi": 2,
          "spd": 3,
          "tec": 4,
          "int": 6,
          "luk": 2
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "int",
        "pvpPower": {
          "action": "picnic",
          "why": "魔法角色：戰力的「攻」換成「智」（技能圖鑑），這個行動每級的 Δ(智×HP) 最大",
          "perLevel": {
            "hp": 210,
            "atk": 1,
            "def": 0,
            "sta": 6,
            "agi": 1,
            "spd": 2,
            "tec": 2,
            "int": 3,
            "luk": 3
          }
        },
        "skillDamage": {
          "action": "charity",
          "why": "魔法傷害 = 倍率 × 智力（水彈 0.42 × 智力），看智力成長",
          "perLevelStat": "int",
          "perLevelGain": 8
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 6,
          "target": 128
        }
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "洛克希線",
        "key": "roxy",
        "events": 8,
        "flags": [
          "問剛才那段的第三個音",
          "不管他"
        ],
        "endingOptions": [
          "收下"
        ]
      }
    },
    {
      "id": "ruijerd",
      "name": "瑞傑路德·斯佩路迪亞",
      "title": "Dead End",
      "baseStatsLv1": {
        "hp": 420,
        "atk": 21,
        "def": 15,
        "sta": 17,
        "agi": 15,
        "spd": 18,
        "tec": 23,
        "int": 7,
        "luk": 8
      },
      "growthWeights": {
        "hp": 3,
        "atk": 4,
        "def": 3,
        "sta": 3,
        "agi": 3,
        "spd": 3,
        "tec": 4,
        "int": 1,
        "luk": 1
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "superd_spear_thrust",
        "third_eye",
        "guardian_spear_sweep"
      ],
      "hasHealSkill": false,
      "measuredActions": [
        {
          "action": "fishing",
          "actionName": "釣魚",
          "perLevel": {
            "hp": 60,
            "atk": 2,
            "def": 2,
            "sta": 2,
            "agi": 5,
            "spd": 1,
            "tec": 7,
            "int": 4,
            "luk": 0
          },
          "cleanSamples": 1,
          "share": 1,
          "powerGainAtLv1": 2100
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 60,
            "atk": 2,
            "def": 2,
            "sta": 2,
            "agi": 5,
            "spd": 5,
            "tec": 2,
            "int": 0,
            "luk": 5
          },
          "cleanSamples": 52,
          "share": 1,
          "powerGainAtLv1": 2100
        },
        {
          "action": "hunt",
          "actionName": "狩獵",
          "perLevel": {
            "hp": 60,
            "atk": 7,
            "def": 2,
            "sta": 2,
            "agi": 2,
            "spd": 5,
            "tec": 5,
            "int": 0,
            "luk": 0
          },
          "cleanSamples": 1,
          "share": 1,
          "powerGainAtLv1": 4200
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "perLevel": {
            "hp": 60,
            "atk": 6,
            "def": 5,
            "sta": 4,
            "agi": 2,
            "spd": 2,
            "tec": 4,
            "int": 0,
            "luk": 0
          },
          "cleanSamples": 14,
          "share": 1,
          "powerGainAtLv1": 3780
        }
      ],
      "unmeasuredActions": [
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 90,
          "atk": 4,
          "def": 3,
          "sta": 3,
          "agi": 3,
          "spd": 3,
          "tec": 4,
          "int": 1,
          "luk": 1
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": "hunt",
          "why": "戰力 ≈ 攻 × HP（452＋164 場戰報回歸），這個行動每級的 Δ(攻×HP) 最大",
          "perLevel": {
            "hp": 60,
            "atk": 7,
            "def": 2,
            "sta": 2,
            "agi": 2,
            "spd": 5,
            "tec": 5,
            "int": 0,
            "luk": 0
          }
        },
        "skillDamage": {
          "action": "hunt",
          "why": "技能傷害 = 倍率 × 攻擊，看攻擊成長",
          "perLevelStat": "atk",
          "perLevelGain": 7
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 5,
          "target": 128
        },
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "瑞傑路德線",
        "key": "rj",
        "events": 8,
        "flags": [],
        "endingOptions": [
          "邀他繼續同行"
        ]
      }
    },
    {
      "id": "shanks",
      "name": "香克斯",
      "title": "紅髮",
      "baseStatsLv1": {
        "hp": 390,
        "atk": 20,
        "def": 12,
        "sta": 16,
        "agi": 13,
        "spd": 16,
        "tec": 24,
        "int": 8,
        "luk": 15
      },
      "growthWeights": {
        "hp": 2,
        "atk": 4,
        "def": 2,
        "sta": 3,
        "agi": 2,
        "spd": 3,
        "tec": 4,
        "int": 2,
        "luk": 3
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "observation_haki",
        "conquerors_haki",
        "divine_departure"
      ],
      "hasHealSkill": false,
      "measuredActions": [
        {
          "action": "fishing",
          "actionName": "釣魚",
          "perLevel": {
            "hp": 30,
            "atk": 2,
            "def": 1,
            "sta": 2,
            "agi": 4,
            "spd": 2,
            "tec": 7,
            "int": 4,
            "luk": 2
          },
          "cleanSamples": 15,
          "share": 1,
          "powerGainAtLv1": 1380
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 30,
            "atk": 2,
            "def": 1,
            "sta": 2,
            "agi": 5,
            "spd": 5,
            "tec": 2,
            "int": 1,
            "luk": 6
          },
          "cleanSamples": 2,
          "share": 1,
          "powerGainAtLv1": 1380
        },
        {
          "action": "hunt",
          "actionName": "狩獵",
          "perLevel": {
            "hp": 30,
            "atk": 7,
            "def": 1,
            "sta": 2,
            "agi": 1,
            "spd": 5,
            "tec": 5,
            "int": 1,
            "luk": 2
          },
          "cleanSamples": 10,
          "share": 1,
          "powerGainAtLv1": 3330
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "perLevel": {
            "hp": 210,
            "atk": 2,
            "def": 1,
            "sta": 5,
            "agi": 1,
            "spd": 2,
            "tec": 2,
            "int": 1,
            "luk": 4
          },
          "cleanSamples": 14,
          "share": 1,
          "powerGainAtLv1": 4980
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "perLevel": {
            "hp": 30,
            "atk": 6,
            "def": 4,
            "sta": 4,
            "agi": 1,
            "spd": 2,
            "tec": 4,
            "int": 1,
            "luk": 2
          },
          "cleanSamples": 5,
          "share": 1,
          "powerGainAtLv1": 2940
        }
      ],
      "unmeasuredActions": [
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 60,
          "atk": 4,
          "def": 2,
          "sta": 3,
          "agi": 2,
          "spd": 3,
          "tec": 4,
          "int": 2,
          "luk": 3
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": "picnic",
          "why": "戰力 ≈ 攻 × HP（452＋164 場戰報回歸），這個行動每級的 Δ(攻×HP) 最大",
          "perLevel": {
            "hp": 210,
            "atk": 2,
            "def": 1,
            "sta": 5,
            "agi": 1,
            "spd": 2,
            "tec": 2,
            "int": 1,
            "luk": 4
          }
        },
        "skillDamage": {
          "action": "hunt",
          "why": "技能傷害 = 倍率 × 攻擊，看攻擊成長",
          "perLevelStat": "atk",
          "perLevelGain": 7
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 6,
          "target": 128
        },
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "香克斯線",
        "key": "shanks",
        "events": 8,
        "flags": [],
        "endingOptions": [
          "問他這趟能不能多帶一名同伴",
          "把草帽交給即將獨自出發的新人"
        ]
      }
    },
    {
      "id": "sinon",
      "name": "詩乃",
      "title": "冰之狙擊手",
      "baseStatsLv1": {
        "hp": 300,
        "atk": 24,
        "def": 9,
        "sta": 12,
        "agi": 15,
        "spd": 16,
        "tec": 24,
        "int": 16,
        "luk": 10
      },
      "growthWeights": {
        "hp": 2,
        "atk": 4,
        "def": 2,
        "sta": 2,
        "agi": 3,
        "spd": 3,
        "tec": 4,
        "int": 3,
        "luk": 2
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "quick_draw",
        "weak_point_shot",
        "hecate_ii"
      ],
      "hasHealSkill": false,
      "measuredActions": [],
      "unmeasuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 60,
          "atk": 4,
          "def": 2,
          "sta": 2,
          "agi": 3,
          "spd": 3,
          "tec": 4,
          "int": 3,
          "luk": 2
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "詩乃線",
        "key": "sinon",
        "events": 6,
        "flags": [
          "告訴她不用勉強說",
          "抓住她握槍的手"
        ],
        "endingOptions": [
          "告訴她這是她自己做到的"
        ]
      }
    },
    {
      "id": "solaire",
      "name": "索拉爾",
      "title": "太陽戰士",
      "baseStatsLv1": {
        "hp": 420,
        "atk": 20,
        "def": 22,
        "sta": 21,
        "agi": 11,
        "spd": 13,
        "tec": 18,
        "int": 11,
        "luk": 8
      },
      "growthWeights": null,
      "growthWeightSum": null,
      "perLevelBudget": null,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [],
      "hasHealSkill": false,
      "measuredActions": [],
      "unmeasuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "沒有權重資料"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "沒有權重資料"
        }
      ],
      "trainingRecipe": null,
      "plan": {
        "damageStat": "atk",
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": null
    },
    {
      "id": "stone",
      "name": "石頭",
      "title": "會殺人的石頭",
      "baseStatsLv1": {
        "hp": 900,
        "atk": 0,
        "def": 60,
        "sta": 0,
        "agi": 0,
        "spd": 0,
        "tec": 0,
        "int": 0,
        "luk": 40
      },
      "growthWeights": {
        "hp": 6,
        "atk": 0,
        "def": 11,
        "sta": 0,
        "agi": 0,
        "spd": 0,
        "tec": 0,
        "int": 0,
        "luk": 7
      },
      "growthWeightSum": 24,
      "perLevelBudget": 24,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [],
      "hasHealSkill": false,
      "measuredActions": [
        {
          "action": "fishing",
          "actionName": "釣魚",
          "perLevel": {
            "hp": 180,
            "atk": 0,
            "def": 11,
            "sta": 0,
            "agi": 0,
            "spd": 0,
            "tec": 0,
            "int": 0,
            "luk": 7
          },
          "cleanSamples": 1,
          "share": 1,
          "powerGainAtLv1": 0
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "perLevel": {
            "hp": 90,
            "atk": 0,
            "def": 6,
            "sta": 0,
            "agi": 0,
            "spd": 0,
            "tec": 0,
            "int": 0,
            "luk": 15
          },
          "cleanSamples": 15,
          "share": 1,
          "powerGainAtLv1": 0
        },
        {
          "action": "hunt",
          "actionName": "狩獵",
          "perLevel": {
            "hp": 180,
            "atk": 0,
            "def": 11,
            "sta": 0,
            "agi": 0,
            "spd": 0,
            "tec": 0,
            "int": 0,
            "luk": 7
          },
          "cleanSamples": 2,
          "share": 1,
          "powerGainAtLv1": 0
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "perLevel": {
            "hp": 90,
            "atk": 0,
            "def": 17,
            "sta": 0,
            "agi": 0,
            "spd": 0,
            "tec": 0,
            "int": 0,
            "luk": 4
          },
          "cleanSamples": 5,
          "share": 1,
          "powerGainAtLv1": 0
        }
      ],
      "unmeasuredActions": [
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 180,
          "atk": 0,
          "def": 11,
          "sta": 0,
          "agi": 0,
          "spd": 0,
          "tec": 0,
          "int": 0,
          "luk": 7
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": null,
          "why": "攻擊權重 0，永遠不長，攻擊 × HP 之下 PvP 戰力恆為 0；這隻不是拿來打的"
        },
        "luck": {
          "action": "flirt",
          "why": "幸運 > 127 就免疫 LUCK_EVENT（隨機自傷並取消行動），過門檻後不用再練；門檻在 127～131 之間還沒釘死",
          "perLevelLuk": 15,
          "target": 128
        },
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "看目標：練幸運就 luk，練智力就 int",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "石頭線",
        "key": "stone",
        "events": 4,
        "flags": [],
        "endingOptions": [
          "把磚頭也一起放下",
          "放回去",
          "放下去之前，先看一眼它的分類"
        ]
      }
    },
    {
      "id": "taro",
      "name": "芋頭",
      "title": "會殺人的芋頭",
      "baseStatsLv1": {
        "hp": 780,
        "atk": 0,
        "def": 0,
        "sta": 0,
        "agi": 0,
        "spd": 0,
        "tec": 0,
        "int": 35,
        "luk": 0
      },
      "growthWeights": {
        "hp": 9,
        "atk": 0,
        "def": 0,
        "sta": 0,
        "agi": 0,
        "spd": 0,
        "tec": 0,
        "int": 12,
        "luk": 0
      },
      "growthWeightSum": 21,
      "perLevelBudget": 21,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [],
      "hasHealSkill": false,
      "measuredActions": [
        {
          "action": "charity",
          "actionName": "做善事",
          "perLevel": {
            "hp": 270,
            "atk": 0,
            "def": 0,
            "sta": 0,
            "agi": 0,
            "spd": 0,
            "tec": 0,
            "int": 12,
            "luk": 0
          },
          "cleanSamples": 21,
          "share": 1,
          "powerGainAtLv1": 0
        }
      ],
      "unmeasuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 270,
          "atk": 0,
          "def": 0,
          "sta": 0,
          "agi": 0,
          "spd": 0,
          "tec": 0,
          "int": 12,
          "luk": 0
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "pvpPower": {
          "action": null,
          "why": "攻擊權重 0，永遠不長，攻擊 × HP 之下 PvP 戰力恆為 0；這隻不是拿來打的"
        },
        "luck": {
          "action": null,
          "why": "幸運權重 0，怎麼練都 +0（芋頭）"
        },
        "intelligenceNote": "只有 HP 與智力會長（其他權重全 0），智力是唯一能練的維度；傷害吃哪一維沒有戰報可驗"
      },
      "reincarnation": {
        "allocation": "int:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "芋頭線",
        "key": "taro",
        "events": 4,
        "flags": [],
        "endingOptions": [
          "放回去",
          "放下去之前，先看一眼它的分類",
          "把石頭跟磚頭也一起放下"
        ]
      }
    },
    {
      "id": "zoro",
      "name": "羅羅亞·索隆",
      "title": "三刀流劍士",
      "baseStatsLv1": {
        "hp": 390,
        "atk": 22,
        "def": 15,
        "sta": 20,
        "agi": 12,
        "spd": 18,
        "tec": 20,
        "int": 6,
        "luk": 8
      },
      "growthWeights": {
        "hp": 2,
        "atk": 4,
        "def": 3,
        "sta": 4,
        "agi": 2,
        "spd": 3,
        "tec": 4,
        "int": 1,
        "luk": 2
      },
      "growthWeightSum": 25,
      "perLevelBudget": 25,
      "budgetRule": "每級成長滿足 非HP合計 + HP÷30 = 權重合計（一般角色 25；石頭 24、芋頭 21、磚頭 19）；權重 0 的維度永遠 +0",
      "skills": [
        "purgatory_oni_giri",
        "black_rope_dragon_twister",
        "three_thousand_worlds"
      ],
      "hasHealSkill": false,
      "measuredActions": [],
      "unmeasuredActions": [
        {
          "action": "hunt",
          "actionName": "狩獵",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "fishing",
          "actionName": "釣魚",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "flirt",
          "actionName": "汁妹",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "charity",
          "actionName": "做善事",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "training",
          "actionName": "自主訓練",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "picnic",
          "actionName": "外出野餐",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        },
        {
          "action": "rest",
          "actionName": "坐下休息",
          "estimated": true,
          "hint": "用「行動基準 × 這隻的權重」估：權重 0 的維一定 0，權重 1 的維在基準 1 的行動上多半 0"
        }
      ],
      "trainingRecipe": {
        "action": "train",
        "perLevel": {
          "hp": 60,
          "atk": 4,
          "def": 3,
          "sta": 4,
          "agi": 2,
          "spd": 3,
          "tec": 4,
          "int": 1,
          "luk": 2
        },
        "note": "修行（1/2/4/8 小時）每級長的就是權重本身（HP × 30），不進觸發那一級的加權；1 小時 3600 exp，效率是行動的 62% 但不花請求"
      },
      "plan": {
        "damageStat": "atk",
        "intelligenceNote": "沒有治療技能、傷害也吃攻，智力對 PvP 沒有貢獻，不要練"
      },
      "reincarnation": {
        "allocation": "hp:100%",
        "why": "一點 HP = +30、其他維 +1；攻 × HP 之下 HP 點的邊際效益最高，要到 HP = 30 × 攻 才換邊。每次轉生退回全部舊配點重配。"
      },
      "unlockRoute": {
        "line": "索隆線",
        "key": "zoro",
        "events": 4,
        "flags": [
          "坐在旁邊，不再追問"
        ],
        "endingOptions": [
          "把正確的方向告訴他"
        ]
      }
    }
  ]
}
