本文整理汇总了C++中Aura::GetModAmount方法的典型用法代码示例。如果您正苦于以下问题:C++ Aura::GetModAmount方法的具体用法?C++ Aura::GetModAmount怎么用?C++ Aura::GetModAmount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Aura
的用法示例。
在下文中一共展示了Aura::GetModAmount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DoEffect
bool DoEffect(Unit* victim, SpellInfo* CastingSpell, uint32 flag, uint32 dmg, uint32 abs, int* dmg_overwrite, uint32 weapon_damage_type)
{
Aura* aura = mTarget->getAuraWithId(mSpell->Id);
if (aura == NULL)
return true;
Unit* caster = static_cast<Player*>(aura->GetCaster());
if (caster == NULL)
{
mTarget->RemoveAuraByNameHash(mSpell->custom_NameHash);
return true;
}
int32 value = aura->GetModAmount(0);
caster->CastSpell(mTarget, 33110, value, true);
int32 count = mTarget->GetAuraStackCount(mSpell->Id);
if (count <= 1)
return true;
Player* plr = static_cast<Player*>(mTarget);
Group* grp = plr->GetGroup();
if (grp == NULL)
return true;
Player* new_plr = grp->GetRandomPlayerInRangeButSkip(plr, 40.0f, plr);
mTarget->RemoveAllAuraByNameHash(mSpell->custom_NameHash);
if (new_plr != NULL)
caster->CastSpell(new_plr, mSpell, value, count - 1, true);
return true;
}