Files
tvbox_collect/recha18/03.json
T
2026-07-11 04:45:19 +00:00

120 lines
3.4 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<weather_rules>
# 天氣自然演變規則
> 🔴 重要:天氣演變必須基於客觀時間累積、當前位置切換和骰子判定,禁止憑感覺決定天氣變化。
## 一、核心原則
天氣變化必須遵循以下規則:
1. 基於時間累積(天氣持續時間)或當前位置變更
2. 通過擲骰決定變化方向
3. 遵循過渡鏈(不能跳級變化)
4. 邊界情況妥善處理
## 二、執行流程(每回合自動執行)
### 步驟 1:讀取數據
從變量讀取:
- `/環境/天氣`:當前天氣類型
- `/環境/天氣持續時間`:當前天氣已持續時間(分鐘)
### 步驟 2:計算本回合時間差
本回合時間差 = 結束時間 - 開始時間(分鐘)
天氣持續時間 += 本回合時間差
### 步驟 3:判斷是否觸發變化
「天氣持續時間 60 分鐘」或「當前位置變更」:
執行步驟 4(擲骰判定)
天氣持續時間 < 60 分鐘:
不變化,持續時間繼續累積(不重置)
## 三、擲骰判定
1d100
1 ~ 30:向好轉方向過渡一級(天氣改善)
31 ~ 69:維持不變(天氣持續)
70 ~ 100:向惡化方向過渡一級(天氣變差)
### 變化後動作
有變化:將新天氣記錄到 ActionResult「環境變化」中,天氣持續時間重置為 0
無變化:天氣持續時間維持當前值(繼續累積)
## 四、過渡鏈
### 基本過渡鏈(全年通用)
晴朗 多雲 陰天 小雨 大雨
### 冬季專用分支(僅當季節為冬季時適用)
陰天 小雪 大雪
### 春/夏季專用分支(僅當季節為春/夏季時適用)
大雨 雷雨 豪雨
### 過渡規則
每次只能移動一級(不能從「晴朗」直接變「陰天」)
分支天氣僅在對應季節有效
## 五、邊界處理
已達極端天氣時,骰向更壞或更好時維持不變。
### 極端天氣定義
晴朗:已達最好,無法更好
大雪:冬季最壞,無法更壞
豪雨:夏季最壞,無法更壞
大雨(非夏季):已達最壞,無法更壞
### 邊界處理範例
當前天氣為「晴朗」,擲骰結果為 70~100(惡化):
變為「多雲」(有效)
當前天氣為「晴朗」,擲骰結果為 1~30(好轉):
已達極端,維持「晴朗」(邊界處理)
當前天氣為「豪雨」(夏季),擲骰結果為 70~100(惡化):
已達極端,維持「豪雨」(邊界處理)
## 六、ActionResult 記錄格式
### 有變化時
環境變化: 天氣 [舊天氣][新天氣] / 亮度 [當前值] / 體感溫度 [當前值] / 舒適度 [當前值] / 天氣持續時間 [0]
### 無變化時
環境變化: 天氣 [當前天氣] / 亮度 [當前值] / 體感溫度 [當前值] / 舒適度 [當前值] / 天氣持續時間 [累積值]
## 七、與主 COT 的協作方式
### 觸發判斷(由主 COT 步驟 7 執行)
d. 天氣演變(每回合自動執行):
執行步驟 13「天氣演變執行」,嚴格按照 `<weather_rules>` 執行
### 執行流程(由子模塊執行)
1. 讀取當前天氣和天氣持續時間
2. 計算本回合時間差,加到天氣持續時間
3. 若「持續時間 60 分鐘」或「當前位置變更」 擲骰判定變化方向
4. 若有變化 套用過渡鏈,更新天氣,重置持續時間
5. 記錄結果到 ActionResult「環境變化」欄位
</weather_rules>