============================================
 卡拉迪亚圆桌会议 (Calradia Roundtable)  v1.0.0
============================================

一、这是什么
--------------------------------------------
一个不改变骑砍2任何按钮、但改变每一个按钮背后决策逻辑的
中型功能 MOD：为所有王国引入"战略评议会"制度，由三角指数
（本我 / 自我 / 超我）驱动 AI 的宣战、议和、用兵与动员，
让整个大陆的战略走向真正"有迹可循"。

二、核心玩法
--------------------------------------------
1. 战略评议会（由战况驱动）
   - 战况一变就开会：宣战或被宣战即触发评议会，裁决"这一仗打多狠、
     打到什么程度才收手"；长期无战事时按 MCM「和平期议会间隔（年）」兜底召开。
   - 决议共六档：建设 / 防御 / 骚扰 / 袭击 / 远征 / 大远征。
   - 决议由王国统治者决断：玩家是君主 → 提案即定国策；
     玩家是封臣 → 可提出提案（押上家族影响力），但最终由 AI 君主裁定。
   - 提案／拍板消耗影响力 ＝「决断影响力代价」（默认 100）＋ 反对派影响力之和
     ×「提案影响力对冲比例」（默认 1:1）；有人反对时二次确认后扣费。

2. 决议真正落地（不只是文字）
   - 进攻性决议：AI 部队优先攻打决议指向的据点类型
     （骚扰→村镇 / 袭击→城堡 / 远征→城市 / 大远征→全国）。
   - 大远征档：对目标国"死战"——决议期内绝不单方面议和，直到下一届评议会
     调整目标；另设三年上限安全阀，满三年强制重开评议会重新定夺，
     避免目标唯一且久攻不下时永久停不下来。

3. 烈度与代价成正比
   - 动员烈度：骚扰 < 袭击 < 远征 < 大远征，影响开战意愿、部队规模、
     募兵等级、补员速率。
   - 动员代价：高动员档位每日消耗繁荣 / 忠诚 / 治安 / 军费与家族影响力，
     高档位"有得必有失"，不是无脑选最高档。

4. 全局动态
   - AI 王国在玩家评议会结束后一周内陆续召开自己的评议会。
   - 封臣不忠值、私人行为（烧村 / 伏击 / 私盟）、国家精神健康度
     每日更新，并向其他 MOD 广播事件（叛国预警等）。

三、前置要求（必装"四前置"）
--------------------------------------------
以下 4 个 MOD 必须已在创意工坊订阅并启用，否则本 MOD 会灰选：
  - Bannerlord.ButterLib
  - Bannerlord.Harmony
  - Bannerlord.UIExtenderEx
  - Bannerlord.MBOptionScreen（即 MCM v5）

四、安装方法
--------------------------------------------
1. 解压本压缩包到游戏 Modules 目录：
   ...\Steam\steamapps\common\Mount & Blade II Bannerlord\Modules\
   解压后应为：Modules\CalradiaRoundtable\SubModule.xml
   （模块目录名与 Id 均为 CalradiaRoundtable；更名前旧称 StrategicCouncil 已废弃）
2. 启动骑砍2启动器，在 MOD 列表中勾选启用 CalradiaRoundtable。
3. 进入游戏即可（无需开新档）。

五、游戏内配置（MCM）
--------------------------------------------
进入游戏后按 ESC → Mod 选项 → "卡拉迪亚圆桌会议"，可调整：
  - 通用：启用模组 / 语言 / 详细日志 / 和平期议会间隔（年）
  - 战略落实：AI 优先攻打决议目标 / 进攻专注度 / 动员代价强度 /
             影响力损耗强度 / 提案影响力对冲比例 / 决断影响力代价 /
             评议会过场演出
  - 阈值：叛国预警阈值 / 私人行为冲动阈值
  - 注意：「影响力损耗强度」是开战后每日侵蚀家族影响力；
        「决断影响力代价」是评议会上拍板推翻主流意见时一次性付出的
         影响力——两者互不相干，别调错。
  - 语言说明（重要，2026-09-13 定案）：
    · 通用 → 「语言 / Language」下拉：这是本 MOD 全部输出（含 MCM 面板自身）的
      唯一语言开关，与游戏语言完全脱钩——游戏语言不动它，它也不动游戏语言；
    · 生效范围：MCM 面板（标题 / 分组名 / 设置名 / 提示）+ 自绘界面（御前会议议事单 /
      分封 / 政治生态 / 过场字幕）+ 提示 + 对话项「召开御前会议」——四位一体，同看一个旋钮；
    · 面板文案怎么做到的：MCM 的设置名只能写成 `{=键}`（编译期常量），本由游戏语言解析；
      MOD 启动时把这些 `crt_*` 键按本下拉选中的语言覆盖进游戏本地化表
      （只覆盖 `crt_*` 前缀，游戏原生文案与其它 MOD 一个都不碰）；
    · 生效时机：自绘界面 / 对话 / 播报改完立即生效；MCM 面板条目在打开面板那一刻
      解析，故改完旋钮后重开一次面板即为新语言；若仍不对，重启游戏必定正确
      （启动时会按已保存的旋钮值先覆盖好）；
    · 唯一例外：「语言 / Language」这条自身的显示名与选项值固定中英并列
      （`简体中文` / `English`）——这是留给选错语言的玩家的退路，有意不随旋钮变；
    · 兜底：万一本地化覆盖因游戏版本变动失效，面板会自动退回"跟随游戏语言"，
      其余功能一概不受影响。

六、兼容性与说明
--------------------------------------------
  - 目标游戏版本：Mount & Blade II: Bannerlord v1.5.2
  - 本 MOD 采用选择性持久化：国民度四项、当前决议、开会计时、军功贷款、家族不忠记录会随存档保存
    （读档不清零，否则长期战争的代价可被反复读档洗掉）；进行中的竞标、战线偏好等运行期状态不保存。
    代价：MOD 停用后存档里这部分数据无法再反序列化，需彻底拔模时请趁仍启用另存一份干净存档。
  - 本版为正式 v1.0.0。开发期存档记录的模组版本为 v1.1.0.0，与本版不一致
    会在读档时提示"模组不匹配"；公测建议新开档。
  - 日志文件（如需排查）：
    Modules\CalradiaRoundtable\bin\Win64_Shipping_Client\council_debug.log
    （需在 MCM 中开启"详细日志"；council_observe.log 始终输出）

============================================
 English  |  Calradia Roundtable  v1.0.0
============================================

1. WHAT IS THIS
--------------------------------------------
A mid-sized feature mod for Mount & Blade II: Bannerlord that adds no new
buttons, but rewrites the decision logic behind every button. It introduces a
"Strategic Council" into every kingdom, where the Triad Index (Id / Ego /
Superego) drives the AI's declarations of war, peacemaking, offensives and
mobilisation, so that the strategic course of the whole continent becomes
traceable.

2. CORE GAMEPLAY
--------------------------------------------
1. The Strategic Council (driven by the war situation)
   - A council meets as soon as the war situation changes: declaring war or
     being declared upon triggers it, and it decides "how hard to fight this
     war and at what point to stop". During long peace it still convenes on
     the fallback set by the MCM option "Peacetime Council Interval (years)".
   - Six resolution tiers: Build / Defend / Harass / Raid / Expedition /
     Grand Expedition.
   - The resolution is decided by the kingdom's ruler. If the player is the
     ruler, proposing it makes it state policy. If the player is a vassal,
     they may put forward a proposal (staking family influence), but the AI
     ruler has the final word.
   - Proposing / deciding costs influence = "Decisive Influence Cost"
     (default 100) + the sum of opponents' influence x "Proposal Influence
     Hedge Ratio" (default 1:1). If anyone objects, the cost is deducted
     after a confirmation prompt.

2. Resolutions actually take effect (they are not just text)
   - Offensive resolutions: AI parties prioritise the settlement type the
     resolution points at (Harass -> villages / Raid -> castles /
     Expedition -> towns / Grand Expedition -> the whole realm).
   - Grand Expedition: total war on the target kingdom - no unilateral peace
     is made for the duration of the resolution, until the next council
     changes the target. A three-year hard cap forces a new council to
     re-decide, so that a single unreachable target cannot stall the war
     forever.

3. Intensity and cost are proportional
   - Mobilisation intensity: Harass < Raid < Expedition < Grand Expedition,
     affecting willingness to fight, party size, recruitment tier and
     reinforcement rate.
   - Mobilisation cost: the higher tiers consume prosperity / loyalty /
     security / military wages and family influence every day. Higher tiers
     give and take - picking the top tier is not a no-brainer.

4. Global dynamics
   - AI kingdoms convene their own councils within a week of the player's
     council ending.
   - Vassal disloyalty, private acts (village burning / ambushes / private
     pacts) and national mental health update daily, and are broadcast as
     events to other mods (e.g. treason warnings).

3. REQUIREMENTS (the "four prerequisites")
--------------------------------------------
The following 4 mods must be subscribed on the Steam Workshop and enabled,
otherwise this mod is greyed out:
  - Bannerlord.ButterLib
  - Bannerlord.Harmony
  - Bannerlord.UIExtenderEx
  - Bannerlord.MBOptionScreen (i.e. MCM v5)

4. INSTALLATION
--------------------------------------------
1. Extract this archive into the game's Modules directory:
   ...\Steam\steamapps\common\Mount & Blade II Bannerlord\Modules\
   After extraction you should see:
   Modules\CalradiaRoundtable\SubModule.xml
   (Both the folder name and the Id are CalradiaRoundtable; the former name
   StrategicCouncil is deprecated.)
2. Start the Bannerlord launcher and tick CalradiaRoundtable in the mod list.
3. Start the game. No new campaign is required.

5. IN-GAME CONFIGURATION (MCM)
--------------------------------------------
In game, press ESC -> Mod Options -> "Calradia Roundtable" to adjust:
  - General: Enable Mod / Language / Verbose Logging / Peacetime Council
    Interval (years)
  - Strategy Execution: AI Prioritises Resolution Target / Offensive Focus /
    Mobilisation Cost Strength / Influence Drain Strength / Proposal
    Influence Hedge Ratio / Decisive Influence Cost / Council Cutscene
  - Thresholds: Treason Warning Threshold / Private Act Impulse Threshold
  - Note: "Influence Drain Strength" erodes family influence EVERY DAY once
    war starts; "Decisive Influence Cost" is a ONE-OFF influence payment when
    the council overrules the majority. The two are unrelated - do not mix
    them up.
  - About the language switch (important, finalised 2026-09-13):
    * General -> the "Language" dropdown is the ONLY language switch for all
      output of this mod, INCLUDING the MCM panel itself. It is completely
      decoupled from the game language: the game language does not move it,
      and it does not move the game language.
    * Scope: MCM panel (title / group names / setting names / tooltips) +
      custom-drawn UI (council agenda / fief grants / political ecology /
      cutscene subtitles) + notifications + the dialogue option "Convene the
      Royal Council" - four in one, all reading the same switch.
    * How the panel text works: MCM setting names can only be written as
      "{=key}" (compile-time constants), normally resolved by the game
      language. On startup this mod overwrites those crt_* keys in the game
      localisation table according to the language picked in the dropdown
      (only keys prefixed crt_*; native game text and other mods are never
      touched).
    * When it takes effect: custom-drawn UI / dialogue / notifications update
      immediately; MCM panel entries are resolved the moment the panel is
      opened, so reopen the panel once after changing the switch. If it is
      still wrong, restarting the game is guaranteed to be correct (the
      startup overwrite uses the saved switch value).
    * The only exception: the "Language" entry itself always shows both
      languages side by side (Simplified Chinese / English). This is an
      escape hatch for players who picked the wrong language, and it
      intentionally does not follow the switch.
    * Fallback: should the localisation overwrite ever break due to a game
      version change, the panel silently falls back to "follow the game
      language"; nothing else is affected.

6. COMPATIBILITY AND NOTES
--------------------------------------------
  - Target game version: Mount & Blade II: Bannerlord v1.5.2
  - This mod uses selective persistence: the four national condition values,
    the current resolution, council timers, war loans and family disloyalty
    records are saved with the campaign (they do not reset on load, otherwise
    the cost of a long war could be washed away by reloading). In-progress
    bidding, front preferences and other runtime state are not saved.
    Trade-off: once the mod is disabled, that part of the save can no longer
    be deserialised - if you intend to remove the mod for good, save a clean
    copy while it is still enabled.
  - This is the official v1.0.0 release. Development saves recorded module
    version v1.1.0.0; the mismatch triggers a "module mismatch" prompt on
    load, so a new campaign is recommended.
  - Log files (for troubleshooting):
    Modules\CalradiaRoundtable\bin\Win64_Shipping_Client\council_debug.log
    (requires "Verbose Logging" in MCM; council_observe.log is always
    written)

============================================
