EffectDefinition
data class EffectDefinition(val id: String, val kind: EffectKindId, val name: String, val tags: Set<String> = emptySet(), val data: Map<String, Any?> = emptyMap(), val hooks: Map<HookName, List<HookRule>> = emptyMap(), val specialHandler: SpecialHandlerId? = null)
Effect 的统一数据定义。
设计意图:
用统一结构承载招式、特性、状态、天气等 effect 数据。
作为 JSON 数据加载后的核心内存表示。