载入中...
搜索中...
未找到
eve::rpg::TraitSystem类 参考

特征系统。 @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 &param)
 参数倍率乘积(如 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()

int eve::rpg::TraitSystem::apply ( RPGActor *  actor,
const std::string &  traitId,
const std::string &  source = "" 
)
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()

std::vector< std::string > eve::rpg::TraitSystem::getAttackElements ( RPGActor *  actor)
static

攻击附加元素列表。

在文件 TraitSystem.cpp 第 189 行定义.

引用了 eve::rpg::TraitDefinition::traits.

被这些函数引用 eve::rpg::RPGActor::getAttackElements().

◆ getAttackSpeed()

double eve::rpg::TraitSystem::getAttackSpeed ( RPGActor *  actor)
static

攻击速度修正(加值)。

在文件 TraitSystem.cpp 第 221 行定义.

引用了 eve::rpg::TraitDefinition::traits.

被这些函数引用 eve::rpg::RPGActor::getAttackSpeed() , 以及 eve::rpg::Battle::startRound().

◆ getAttackStates()

std::vector< std::string > eve::rpg::TraitSystem::getAttackStates ( RPGActor *  actor)
static

攻击附加状态列表。

在文件 TraitSystem.cpp 第 205 行定义.

引用了 eve::rpg::TraitDefinition::traits.

被这些函数引用 eve::rpg::RPGActor::getAttackStates().

◆ getAttackTimesAdd()

int eve::rpg::TraitSystem::getAttackTimesAdd ( RPGActor *  actor)
static

攻击次数附加(整数加值)。

在文件 TraitSystem.cpp 第 234 行定义.

引用了 eve::rpg::TraitDefinition::traits.

被这些函数引用 eve::rpg::RPGActor::getAttackTimesAdd().

◆ getCount()

int eve::rpg::TraitSystem::getCount ( RPGActor *  actor)
static

Returns the count.

在文件 TraitSystem.cpp 第 106 行定义.

被这些函数引用 eve::rpg::RPGActor::getTraitCount().

◆ getElementRate()

double eve::rpg::TraitSystem::getElementRate ( RPGActor *  actor,
const std::string &  element 
)
static

元素耐性乘积(1 = 无修正,0.5 = 减半)。

在文件 TraitSystem.cpp 第 138 行定义.

引用了 element , 以及 eve::rpg::TraitDefinition::traits.

被这些函数引用 eve::rpg::RPGActor::getElementRate() , 以及 eve::rpg::BattleSystem::resolveHit().

◆ getExParam()

double eve::rpg::TraitSystem::getExParam ( RPGActor *  actor,
const std::string &  exParam 
)
static

特殊参数加值(hit/evasion/critRate/critEvade/magicEvade/magicReflect/...)。

在文件 TraitSystem.cpp 第 176 行定义.

引用了 eve::rpg::TraitDefinition::traits.

被这些函数引用 eve::rpg::RPGActor::getExParam() , 以及 eve::rpg::BattleSystem::resolveHit().

◆ getInstanceIdAt()

int eve::rpg::TraitSystem::getInstanceIdAt ( RPGActor *  actor,
int  index 
)
static

Returns the instance id at.

在文件 TraitSystem.cpp 第 110 行定义.

引用了 index.

被这些函数引用 eve::rpg::RPGActor::getTraitInstanceIdAt().

◆ getParamRate()

double eve::rpg::TraitSystem::getParamRate ( RPGActor *  actor,
const std::string &  param 
)
static

参数倍率乘积(如 attack → 1.5 表示 +50)。

在文件 TraitSystem.cpp 第 125 行定义.

引用了 eve::rpg::TraitDefinition::traits.

被这些函数引用 eve::rpg::RPGActor::getParamRate().

◆ getSourceAt()

std::string eve::rpg::TraitSystem::getSourceAt ( RPGActor *  actor,
int  index 
)
static

Returns the source at.

在文件 TraitSystem.cpp 第 120 行定义.

引用了 index.

被这些函数引用 eve::rpg::RPGActor::getTraitSourceAt().

◆ getStateRate()

double eve::rpg::TraitSystem::getStateRate ( RPGActor *  actor,
const std::string &  stateId 
)
static

状态施加率乘积(1 = 正常)。

在文件 TraitSystem.cpp 第 151 行定义.

引用了 eve::rpg::TraitDefinition::traits.

被这些函数引用 eve::rpg::RPGActor::getStateRate().

◆ getTraitIdAt()

std::string eve::rpg::TraitSystem::getTraitIdAt ( RPGActor *  actor,
int  index 
)
static

Returns the trait id at.

在文件 TraitSystem.cpp 第 115 行定义.

引用了 index.

被这些函数引用 eve::rpg::RPGActor::getTraitIdAt().

◆ hasTrait()

bool eve::rpg::TraitSystem::hasTrait ( RPGActor *  actor,
const std::string &  traitId 
)
static

是否已施加某特征。

在文件 TraitSystem.cpp 第 98 行定义.

被这些函数引用 eve::rpg::RPGActor::hasTrait().

◆ isStateResist()

bool eve::rpg::TraitSystem::isStateResist ( RPGActor *  actor,
const std::string &  stateId 
)
static

是否免疫某状态(stateResist 命中;target 空 = 全部免疫)。

在文件 TraitSystem.cpp 第 164 行定义.

引用了 eve::rpg::TraitDefinition::traits.

被这些函数引用 eve::rpg::RPGActor::isStateResist().

◆ remove()

bool eve::rpg::TraitSystem::remove ( RPGActor *  actor,
int  instanceId 
)
static

按实例 id 移除(compatibility facade (脚本兼容门面);成功返回 true)。

在文件 TraitSystem.cpp 第 41 行定义.

引用了 eve::rpg::AttributeSystem::removeAllModifiersBySource().

被这些函数引用 eve::rpg::RPGActor::removeTrait().

◆ removeAll()

void eve::rpg::TraitSystem::removeAll ( RPGActor *  actor)
static

移除全部特征。

在文件 TraitSystem.cpp 第 88 行定义.

引用了 eve::rpg::AttributeSystem::removeAllModifiersBySource().

◆ removeBySource()

int eve::rpg::TraitSystem::removeBySource ( RPGActor *  actor,
const std::string &  source 
)
static

移除该 actor 上所有来自 source 的特征;返回移除数。

在文件 TraitSystem.cpp 第 54 行定义.

引用了 n, eve::rpg::AttributeSystem::removeAllModifiersBySource() , 以及 source.

被这些函数引用 eve::rpg::RPGActor::removeTraitsBySource() , 以及 eve::rpg::ClassSystem::setClass().

◆ removeByTrait()

int eve::rpg::TraitSystem::removeByTrait ( RPGActor *  actor,
const std::string &  traitId 
)
static

移除该 actor 上所有 traitId 匹配的特征;返回移除数。

在文件 TraitSystem.cpp 第 71 行定义.

引用了 n , 以及 eve::rpg::AttributeSystem::removeAllModifiersBySource().

被这些函数引用 eve::rpg::RPGActor::removeTraitsByTrait().


该类的文档由以下文件生成: