特征系统。 @thread 调用线程应与 RPGActor 的 ECS 线程一致。 更多...
#include <TraitSystem.h>
静态 Public 成员函数 | |
| static int | apply (RPGActor *actor, const std::string &traitId, const std::string &source="") |
| 施加一个特征。 | |
| static bool | remove (RPGActor *actor, int instanceId) |
| 按实例 id 移除(compatibility facade (脚本兼容门面);成功返回 true)。 | |
| static int | removeBySource (RPGActor *actor, const std::string &source) |
| 移除该 actor 上所有来自 source 的特征;返回移除数。 | |
| static int | removeByTrait (RPGActor *actor, const std::string &traitId) |
| 移除该 actor 上所有 traitId 匹配的特征;返回移除数。 | |
| static void | removeAll (RPGActor *actor) |
| 移除全部特征。 | |
| static bool | hasTrait (RPGActor *actor, const std::string &traitId) |
| 是否已施加某特征。 | |
| static int | getCount (RPGActor *actor) |
| Returns the count. | |
| static int | getInstanceIdAt (RPGActor *actor, int index) |
| Returns the instance id at. | |
| static std::string | getTraitIdAt (RPGActor *actor, int index) |
| Returns the trait id at. | |
| static std::string | getSourceAt (RPGActor *actor, int index) |
| Returns the source at. | |
| static double | getParamRate (RPGActor *actor, const std::string ¶m) |
| 参数倍率乘积(如 attack → 1.5 表示 +50)。 | |
| static double | getElementRate (RPGActor *actor, const std::string &element) |
| 元素耐性乘积(1 = 无修正,0.5 = 减半)。 | |
| static double | getStateRate (RPGActor *actor, const std::string &stateId) |
| 状态施加率乘积(1 = 正常)。 | |
| static bool | isStateResist (RPGActor *actor, const std::string &stateId) |
| 是否免疫某状态(stateResist 命中;target 空 = 全部免疫)。 | |
| static double | getExParam (RPGActor *actor, const std::string &exParam) |
| 特殊参数加值(hit/evasion/critRate/critEvade/magicEvade/magicReflect/...)。 | |
| static std::vector< std::string > | getAttackElements (RPGActor *actor) |
| 攻击附加元素列表。 | |
| static std::vector< std::string > | getAttackStates (RPGActor *actor) |
| 攻击附加状态列表。 | |
| static double | getAttackSpeed (RPGActor *actor) |
| 攻击速度修正(加值)。 | |
| static int | getAttackTimesAdd (RPGActor *actor) |
| 攻击次数附加(整数加值)。 | |
详细描述
特征系统。 @thread 调用线程应与 RPGActor 的 ECS 线程一致。
在文件 TraitSystem.h 第 26 行定义.
成员函数说明
◆ apply()
|
static |
施加一个特征。
- 返回
- 适配器分配的实例 id(>0);未知特征 / 空 actor 返回 0。
在文件 TraitSystem.cpp 第 21 行定义.
引用了 eve::rpg::AttributeSystem::addModifier(), eve::rpg::RPGActor::TraitInstance::instanceId, source, eve::rpg::RPGActor::TraitInstance::source, eve::rpg::RPGActor::TraitInstance::traitId , 以及 eve::rpg::TraitDefinition::traits.
被这些函数引用 eve::rpg::RPGActor::applyTrait() , 以及 eve::rpg::ClassSystem::setClass().
◆ getAttackElements()
|
static |
◆ getAttackSpeed()
|
static |
攻击速度修正(加值)。
在文件 TraitSystem.cpp 第 221 行定义.
引用了 eve::rpg::TraitDefinition::traits.
被这些函数引用 eve::rpg::RPGActor::getAttackSpeed() , 以及 eve::rpg::Battle::startRound().
◆ getAttackStates()
|
static |
◆ getAttackTimesAdd()
|
static |
◆ getCount()
|
static |
◆ getElementRate()
|
static |
元素耐性乘积(1 = 无修正,0.5 = 减半)。
在文件 TraitSystem.cpp 第 138 行定义.
引用了 element , 以及 eve::rpg::TraitDefinition::traits.
被这些函数引用 eve::rpg::RPGActor::getElementRate() , 以及 eve::rpg::BattleSystem::resolveHit().
◆ getExParam()
|
static |
特殊参数加值(hit/evasion/critRate/critEvade/magicEvade/magicReflect/...)。
在文件 TraitSystem.cpp 第 176 行定义.
引用了 eve::rpg::TraitDefinition::traits.
被这些函数引用 eve::rpg::RPGActor::getExParam() , 以及 eve::rpg::BattleSystem::resolveHit().
◆ getInstanceIdAt()
|
static |
◆ getParamRate()
|
static |
参数倍率乘积(如 attack → 1.5 表示 +50)。
在文件 TraitSystem.cpp 第 125 行定义.
引用了 eve::rpg::TraitDefinition::traits.
被这些函数引用 eve::rpg::RPGActor::getParamRate().
◆ getSourceAt()
|
static |
◆ getStateRate()
|
static |
状态施加率乘积(1 = 正常)。
在文件 TraitSystem.cpp 第 151 行定义.
引用了 eve::rpg::TraitDefinition::traits.
被这些函数引用 eve::rpg::RPGActor::getStateRate().
◆ getTraitIdAt()
|
static |
Returns the trait id at.
在文件 TraitSystem.cpp 第 115 行定义.
引用了 index.
被这些函数引用 eve::rpg::RPGActor::getTraitIdAt().
◆ hasTrait()
|
static |
◆ isStateResist()
|
static |
是否免疫某状态(stateResist 命中;target 空 = 全部免疫)。
在文件 TraitSystem.cpp 第 164 行定义.
引用了 eve::rpg::TraitDefinition::traits.
被这些函数引用 eve::rpg::RPGActor::isStateResist().
◆ remove()
|
static |
按实例 id 移除(compatibility facade (脚本兼容门面);成功返回 true)。
在文件 TraitSystem.cpp 第 41 行定义.
引用了 eve::rpg::AttributeSystem::removeAllModifiersBySource().
被这些函数引用 eve::rpg::RPGActor::removeTrait().
◆ removeAll()
|
static |
◆ removeBySource()
|
static |
移除该 actor 上所有来自 source 的特征;返回移除数。
在文件 TraitSystem.cpp 第 54 行定义.
引用了 n, eve::rpg::AttributeSystem::removeAllModifiersBySource() , 以及 source.
被这些函数引用 eve::rpg::RPGActor::removeTraitsBySource() , 以及 eve::rpg::ClassSystem::setClass().
◆ removeByTrait()
|
static |
移除该 actor 上所有 traitId 匹配的特征;返回移除数。
在文件 TraitSystem.cpp 第 71 行定义.
引用了 n , 以及 eve::rpg::AttributeSystem::removeAllModifiersBySource().
该类的文档由以下文件生成:
- src/modules/rpg/TraitSystem.h
- src/modules/rpg/TraitSystem.cpp