本文整理汇总了C++中PlayerbotAI::CanReceiveSpecificSpell方法的典型用法代码示例。如果您正苦于以下问题:C++ PlayerbotAI::CanReceiveSpecificSpell方法的具体用法?C++ PlayerbotAI::CanReceiveSpecificSpell怎么用?C++ PlayerbotAI::CanReceiveSpecificSpell使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PlayerbotAI
的用法示例。
在下文中一共展示了PlayerbotAI::CanReceiveSpecificSpell方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BuffPlayer
bool PlayerbotPaladinAI::BuffPlayer(Player* target)
{
PlayerbotAI * ai = GetAI();
uint8 SPELL_BLESSING = 2; // See SpellSpecific enum in SpellMgr.h
Pet * pet = target->GetPet();
bool petCanBeBlessed = false;
if (pet)
petCanBeBlessed = ai->CanReceiveSpecificSpell(SPELL_BLESSING, pet);
if (!ai->CanReceiveSpecificSpell(SPELL_BLESSING, target) && !petCanBeBlessed)
return false;
switch (target->getClass())
{
case CLASS_DRUID:
case CLASS_SHAMAN:
case CLASS_PALADIN:
if (Bless(BLESSING_OF_MIGHT, target))
return true;
if (Bless(BLESSING_OF_KINGS, target))
return true;
if (Bless(BLESSING_OF_WISDOM, target))
return true;
if (Bless(BLESSING_OF_SANCTUARY, target))
return true;
else
return false;
case CLASS_DEATH_KNIGHT:
case CLASS_HUNTER:
if (petCanBeBlessed)
{
if (Bless(BLESSING_OF_MIGHT, pet))
return true;
if (Bless(BLESSING_OF_KINGS, pet))
return true;
if (Bless(BLESSING_OF_SANCTUARY, pet))
return true;
}
case CLASS_ROGUE:
case CLASS_WARRIOR:
if (Bless(BLESSING_OF_MIGHT, target))
return true;
if (Bless(BLESSING_OF_KINGS, target))
return true;
if (Bless(BLESSING_OF_SANCTUARY, target))
return true;
else
return false;
case CLASS_WARLOCK:
if (petCanBeBlessed)
{
if (pet->getPowerType() == POWER_MANA)
{
if (Bless(BLESSING_OF_WISDOM, pet))
return true;
}
else if (Bless(BLESSING_OF_MIGHT, pet))
return true;
if (Bless(BLESSING_OF_KINGS, pet))
return true;
if (Bless(BLESSING_OF_SANCTUARY, pet))
return true;
}
case CLASS_PRIEST:
case CLASS_MAGE:
if (Bless(BLESSING_OF_WISDOM, target))
return true;
if (Bless(BLESSING_OF_KINGS, target))
return true;
if (Bless(BLESSING_OF_SANCTUARY, target))
return true;
else
return false;
}
return false;
}