{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "events.schema.json", "title": "events 表 schema v0(4 事件,数值抄录自 Balance Bible v1.0 §7)", "description": "架构 §3.2 CSV 规范落盘。事件倍率走独立瞬时区,不进全局乘区([B§0.3/§7])。参数列语义(按 type 取用):p_mult=output_mult 全产出倍率 / click_output_mult 产出倍率部分;p_clicks=click_challenge 需点击次数 / click_output_mult 点击倍率 / choice 冤气增益下限;p_window_sec=click_challenge 窗口秒 / choice 冤气增益上限(随殿序 lerp);p_penalty+p_penalty_dur_sec=click_challenge 失败惩罚;opt_a_*/opt_b_*=choice 二选一(merit_burst_sec=阴德爆发秒数 / wrath_gain=冤气增益)。出现前提 = up_gate_events(过 H2,[B§2.3])。冤魂申诉超时默认 opt_a(超度)。", "x-supported-keywords": [ "type", "properties", "required", "items", "enum", "pattern", "minimum", "maximum", "minLength", "minItems", "maxItems", "additionalProperties", "const" ], "x-unique": ["id"], "type": "object", "required": ["sheet", "schema_version", "columns", "rows"], "properties": { "sheet": { "const": "events" }, "schema_version": { "const": 0 }, "columns": { "type": "array", "items": { "type": "string" }, "minItems": 17 }, "rows": { "type": "array", "minItems": 4, "maxItems": 4, "items": { "type": "object", "required": [ "id", "name_cn", "name_en", "trigger_min_min", "trigger_max_min", "duration_sec", "type", "p_mult", "p_clicks", "p_window_sec", "p_penalty", "p_penalty_dur_sec", "opt_a_type", "opt_a_param", "opt_b_type", "opt_b_param", "flavor_cn" ], "properties": { "id": { "type": "string", "pattern": "^ev_[0-9]{2}_[a-z]+$" }, "name_cn": { "type": "string", "minLength": 1 }, "name_en": { "type": "string", "minLength": 1, "description": "临时译名,待文策渊 glossary" }, "trigger_min_min": { "type": "integer", "minimum": 1, "description": "触发间隔下限(分钟)" }, "trigger_max_min": { "type": "integer", "minimum": 1, "description": "触发间隔上限(分钟,含)" }, "duration_sec": { "type": "integer", "minimum": 1, "description": "持续秒数(冤魂申诉为非阻塞决策窗)" }, "type": { "type": "string", "enum": ["output_mult", "click_challenge", "choice", "click_output_mult"] }, "p_mult": { "type": "number", "minimum": 0 }, "p_clicks": { "type": "integer", "minimum": 0 }, "p_window_sec": { "type": "number", "minimum": 0 }, "p_penalty": { "type": "number", "minimum": 0, "maximum": 1, "description": "click_challenge 失败惩罚倍率(0.5 = -50%)" }, "p_penalty_dur_sec": { "type": "integer", "minimum": 0 }, "opt_a_type": { "type": "string", "enum": ["none", "merit_burst_sec", "wrath_gain"] }, "opt_a_param": { "type": "number", "minimum": 0 }, "opt_b_type": { "type": "string", "enum": ["none", "merit_burst_sec", "wrath_gain"] }, "opt_b_param": { "type": "number", "minimum": 0 }, "flavor_cn": { "type": "string", "minLength": 1 } }, "additionalProperties": false } } }, "additionalProperties": false }