*Do not allow toggle unautocastable spells for pet.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-03-21 18:05:43 -06:00
parent f814354396
commit ee332629b6
3 changed files with 14 additions and 1 deletions
+1 -1
View File
@@ -560,7 +560,7 @@ void WorldSession::HandlePetSpellAutocastOpcode( WorldPacket& recvPacket )
}
// do not add not learned spells/ passive spells
if(!pet->HasSpell(spellid) || IsPassiveSpell(spellid))
if(!pet->HasSpell(spellid) || IsAutocastableSpell(spellid))
return;
CharmInfo *charmInfo = pet->GetCharmInfo();
+12
View File
@@ -263,6 +263,18 @@ bool IsPassiveSpell(uint32 spellId)
return (spellInfo->Attributes & SPELL_ATTR_PASSIVE) != 0;
}
bool IsAutocastableSpell(uint32 spellId)
{
SpellEntry const *spellInfo = sSpellStore.LookupEntry(spellId);
if(!spellInfo)
return false;
if(spellInfo->Attributes & SPELL_ATTR_PASSIVE)
return false;
if(spellInfo->AttributesEx & SPELL_ATTR_EX_UNAUTOCASTABLE_BY_PET)
return false;
return true;
}
/*bool IsNoStackAuraDueToAura(uint32 spellId_1, uint32 effIndex_1, uint32 spellId_2, uint32 effIndex_2)
{
SpellEntry const *spellInfo_1 = sSpellStore.LookupEntry(spellId_1);
+1
View File
@@ -202,6 +202,7 @@ int32 CompareAuraRanks(uint32 spellId_1, uint32 effIndex_1, uint32 spellId_2, ui
bool IsSingleFromSpellSpecificPerCaster(uint32 spellSpec1, uint32 spellSpec2);
bool IsSingleFromSpellSpecificPerTarget(uint32 spellSpec1, uint32 spellSpec2);
bool IsPassiveSpell(uint32 spellId);
bool IsAutocastableSpell(uint32 spellId);
inline bool IsPassiveSpellStackableWithRanks(SpellEntry const* spellProto)
{