EffectDefinition

@Entity
interface EffectDefinition

战斗效果定义。

这张表不是为某一类数据源单独建模,而是把 battle-engine 最终需要消费的 effect 聚合统一收口到一个地方,后续无论来源是招式、特性、道具、状态、天气还是未来的装备, 都可以复用同一套结构。

字段设计约束:

  • internalName 是业务侧稳定主键,用来和 battle-engine 中的 effect id 对齐。

  • kind 描述 effect 的大类,例如 moveabilitystatus

  • source* 字段只负责追踪来源,不强绑定到具体数据表,避免破坏扩展性。

  • tagsJson / dataJson / hooksJson 保留 battle DSL 的原始 JSON 文本,避免把 DSL 过早拆成多表。

Properties

Link copied to clipboard
@Serialized
abstract val dataJson: String

元数据 JSON。

Link copied to clipboard
abstract val enabled: Boolean

当前定义是否启用。

Link copied to clipboard
@Serialized
abstract val hooksJson: String

Hook 规则 JSON。

Link copied to clipboard
@Id
abstract val id: Long

数据库主键。

Link copied to clipboard
abstract val internalName: String

效果内部名称,同时也是 battle-engine 使用的稳定 effect id。

Link copied to clipboard
abstract val kind: String

效果类别,例如 moveabilityitemstatus

Link copied to clipboard
abstract val name: String

效果显示名称。

Link copied to clipboard
abstract val remark: String?

供策划或开发标记补充说明的备注。

Link copied to clipboard
abstract val sourceEntityId: Long?

来源对象在源表中的主键 ID,只做弱关联追踪。

Link copied to clipboard
abstract val sourceInternalName: String?

来源对象的内部名称,用于追踪 effect 是由哪条源数据派生而来。

Link copied to clipboard
abstract val sourceType: String?

来源类型,例如 moveabilityitem,无来源时允许为空。

Link copied to clipboard
abstract val specialHandler: String?

battle-engine 中需要走特例分支时使用的处理器标识。

Link copied to clipboard
@Serialized
abstract val tagsJson: String

标签 JSON。