载入中...
搜索中...
未找到
eve::rpg::AttributeModifier结构体 参考

单条修改器。附加在某个属性上,参与最终值计算。 更多...

#include <AttributeTypes.h>

Public 属性

std::string id
 唯一 id(由 AttributeSystem 生成),用于精确移除
 
std::string source
 来源标签(如 "effect:12" / "skill:fireball" / 自定义),用于批量移除
 
std::string op = "add"
 
double value = 0.0
 
int priority = 0
 计算顺序,数值小的先应用;同优先级按插入顺序
 

详细描述

单条修改器。附加在某个属性上,参与最终值计算。

op 内置语义: "add" — 所有 add 修改器直接求和后加到 base 上 "mulAdd" — 所有 mulAdd 修改器的 value 视为百分比,求和后一次性相乘: result *= (1 + sum(value)) "mulMul" — 每条 mulMul 修改器独立相乘:result *= (1 + value) "override" — 直接覆盖当前结果为 value(多条时取 priority 最大的一条生效) "clampMin" — result = max(result, value) "clampMax" — result = min(result, value) 其余字符串会在 AttributeSystem 的自定义 op 注册表中查找;找不到则忽略该修改器。

在文件 AttributeTypes.h30 行定义.

类成员变量说明

◆ id

std::string eve::rpg::AttributeModifier::id

唯一 id(由 AttributeSystem 生成),用于精确移除

在文件 AttributeTypes.h31 行定义.

被这些函数引用 eve::rpg::AttributeSystem::addModifier().

◆ op

std::string eve::rpg::AttributeModifier::op = "add"

在文件 AttributeTypes.h33 行定义.

被这些函数引用 eve::rpg::AttributeSystem::addModifier().

◆ priority

int eve::rpg::AttributeModifier::priority = 0

计算顺序,数值小的先应用;同优先级按插入顺序

在文件 AttributeTypes.h35 行定义.

被这些函数引用 eve::rpg::AttributeSystem::addModifier().

◆ source

std::string eve::rpg::AttributeModifier::source

来源标签(如 "effect:12" / "skill:fireball" / 自定义),用于批量移除

在文件 AttributeTypes.h32 行定义.

被这些函数引用 eve::rpg::AttributeSystem::addModifier().

◆ value

double eve::rpg::AttributeModifier::value = 0.0

在文件 AttributeTypes.h34 行定义.

被这些函数引用 eve::rpg::AttributeSystem::addModifier().


该结构体的文档由以下文件生成: