*Some changes to pet spell learning-now pet passives should work.

*Fix a crash with lifebloom.

--HG--
branch : trunk
This commit is contained in:
QAston
2009-04-19 17:23:03 +02:00
parent 73749e13fe
commit cfabdd2fd2
3 changed files with 9 additions and 4 deletions

View File

@@ -326,7 +326,7 @@ void LoadDBCStores(const std::string& dataPath)
if(spellInfo && (spellInfo->Attributes & 0x1D0) == 0x1D0)
{
for (unsigned int i = 1; i < sCreatureFamilyStore.GetNumRows(); ++i)
for (uint32 i = 1; i < sCreatureFamilyStore.GetNumRows(); ++i)
{
CreatureFamilyEntry const* cFamily = sCreatureFamilyStore.LookupEntry(i);
if(!cFamily)
@@ -335,6 +335,10 @@ void LoadDBCStores(const std::string& dataPath)
if(skillLine->skillId != cFamily->skillLine[0] && skillLine->skillId != cFamily->skillLine[1])
continue;
// Passive spell has to have spellfamilyflags if name present (need to not apply 20782)
if (spellInfo->Attributes & SPELL_ATTR_UNK18 && spellInfo->SpellFamilyName && !spellInfo->SpellFamilyFlags)
continue;
sPetFamilySpellsStore[i].insert(spellInfo->Id);
}
}

View File

@@ -2599,7 +2599,8 @@ void AuraEffect::HandleAuraDummy(bool apply, bool Real)
return;
// Not needed in 3.1
m_amount /=GetParentAura()->GetStackAmount();
if (GetParentAura() && GetParentAura()->GetStackAmount()!=0)
m_amount /= GetParentAura()->GetStackAmount();
// final heal
if(m_target->IsInWorld())

View File

@@ -2533,8 +2533,8 @@ void SpellMgr::LoadPetLevelupSpellMap()
if (creatureFamily->skillLine[j]!=skillLine->skillId)
continue;
SpellEntry const *spell = sSpellStore.LookupEntry(skillLine->spellId);
// not exist
if(!spell)
// not exist or passive (passives are handled elsewhere)
if(!spell || IsPassiveSpell(spell))
continue;
// Make sure that triggered spells aren't learned
if (!spell->SpellFamilyName && !spell->StartRecoveryCategory)