GFBuffRecipe¶
API Reference / Combat / 类索引
- 路径:
addons/gf/extensions/combat/attributes/gf_buff_recipe.gd - 模块:
Combat - 继承:
Resource - API:
public - 类别:资源定义 (
resource_definition) - 首次版本:
6.0.0
数据化 Buff 配方。 描述如何创建一个运行时 GFBuff,包括通用生命周期参数、属性修饰器、标签、检查和效果。 配方不包含具体战斗业务规则;项目可通过 GFBuffEffect / GFBuffCheck 子类扩展。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 属性 | id |
var id: StringName = &"" |
| 属性 | duration |
var duration: float = 0.0 |
| 属性 | stacks |
var stacks: int = 1 |
| 属性 | max_stacks |
var max_stacks: int = 1 |
| 属性 | stack_mode |
var stack_mode: GFBuff.StackMode = GFBuff.StackMode.ADD_STACK |
| 属性 | duration_refresh_policy |
var duration_refresh_policy: GFBuff.DurationRefreshPolicy = GFBuff.DurationRefreshPolicy.RESET_TO_NEW_DURATION |
| 属性 | tick_interval_seconds |
var tick_interval_seconds: float = 0.0 |
| 属性 | max_periodic_ticks_per_update |
var max_periodic_ticks_per_update: int = 8 |
| 属性 | remove_on_expire |
var remove_on_expire: bool = true |
| 属性 | buff_script |
var buff_script: Script = null |
| 属性 | tags |
var tags: Array[StringName] = [] |
| 属性 | modifier_entries |
var modifier_entries: Array[Dictionary] = [] |
| 属性 | checks |
var checks: Array[GFBuffCheck] = [] |
| 属性 | effects |
var effects: Array[GFBuffEffect] = [] |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | create_buff |
func create_buff(owner: Object = null, context: Dictionary = {}) -> GFBuff: |
| 方法 | get_validation_report |
func get_validation_report() -> Dictionary: |
| 方法 | to_dictionary |
func to_dictionary() -> Dictionary: |
属性¶
id¶
- API:
public - 首次版本:
6.0.0
运行时 Buff ID。
duration¶
- API:
public - 首次版本:
6.0.0
运行时 Buff 持续时间。-1 表示永久。
stacks¶
- API:
public - 首次版本:
6.0.0
初始层数。
max_stacks¶
- API:
public - 首次版本:
6.0.0
最大层数。
stack_mode¶
- API:
public - 首次版本:
6.0.0
重复添加时的层数策略。
duration_refresh_policy¶
- API:
public - 首次版本:
6.0.0
var duration_refresh_policy: GFBuff.DurationRefreshPolicy = GFBuff.DurationRefreshPolicy.RESET_TO_NEW_DURATION
重复添加时的持续时间刷新策略。
tick_interval_seconds¶
- API:
public - 首次版本:
6.0.0
周期 Tick 间隔。
max_periodic_ticks_per_update¶
- API:
public - 首次版本:
6.0.0
单次 update 最多补偿 tick 次数。
remove_on_expire¶
- API:
public - 首次版本:
6.0.0
持续时间耗尽时是否由 CombatSystem 移除。
buff_script¶
- API:
public - 首次版本:
6.0.0
可选 Buff 脚本。为空时创建基础 GFBuff。
tags¶
- API:
public - 首次版本:
6.0.0
Buff 附带的标签。
modifier_entries¶
- API:
public - 首次版本:
6.0.0
Buff 附带的属性修饰器字典。
结构:
modifier_entries: Array[Dictionary],每项包含 type、value、attribute_id 和 source_id。
checks¶
- API:
public - 首次版本:
6.0.0
Buff 应用前检查。
effects¶
- API:
public - 首次版本:
6.0.0
Buff 生命周期效果。
metadata¶
- API:
public - 首次版本:
6.0.0
项目自定义元数据。GF 不解释其中字段。
结构:
metadata: Dictionary project-defined buff metadata.
方法¶
create_buff¶
- API:
public - 首次版本:
6.0.0
创建运行时 Buff。
参数:
| 名称 | 说明 |
|---|---|
owner |
Buff 拥有者。 |
context |
创建上下文。 |
返回:新 Buff;配方无效时仍返回基础 Buff,诊断可通过 get_validation_report() 获取。
结构:
context: Dictionary,可包含 metadata 作为运行时附加元数据。
get_validation_report¶
- API:
public - 首次版本:
6.0.0
获取配方诊断报告。
返回:GFValidationReportDictionary 兼容报告。
结构:
return: Dictionary with ok, healthy, issues, summary, and next_action.
to_dictionary¶
- API:
public - 首次版本:
6.0.0
转换为可序列化字典。
返回:配方字典。
结构:
return: Dictionary with generic buff recipe fields.