*Fix the bug that player gets dismounted during taxi flights with many flymasters.
*Mana feed now gives pet mana during Drain Mana spell. --HG-- branch : trunk
This commit is contained in:
@@ -6348,6 +6348,20 @@ void AuraEffect::PeriodicTick()
|
||||
GetParentAura()->SetAuraDuration(0);
|
||||
}
|
||||
}
|
||||
// Mana Feed - Drain Mana
|
||||
if (m_spellProto->SpellFamilyName == SPELLFAMILY_WARLOCK
|
||||
&& m_spellProto->SpellFamilyFlags[0] & 0x00000010)
|
||||
{
|
||||
int32 manaFeedVal = 0;
|
||||
if (AuraEffect const * aurEff = GetParentAura()->GetPartAura(1))
|
||||
manaFeedVal = aurEff->GetAmount();
|
||||
|
||||
if(manaFeedVal > 0)
|
||||
{
|
||||
manaFeedVal = manaFeedVal * gain_amount / 100;
|
||||
pCaster->CastCustomSpell(pCaster, 32554, &manaFeedVal, NULL, NULL, true, NULL, this);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SPELL_AURA_OBS_MOD_ENERGY:
|
||||
|
||||
@@ -1493,7 +1493,10 @@ void Spell::EffectDummy(uint32 i)
|
||||
for(Unit::AuraEffectList::const_iterator itr = mod.begin(); itr != mod.end(); ++itr)
|
||||
{
|
||||
if((*itr)->GetSpellProto()->SpellFamilyName==SPELLFAMILY_WARLOCK && (*itr)->GetSpellProto()->SpellIconID == 1982)
|
||||
manaFeedVal+= (*itr)->GetAmount();
|
||||
{
|
||||
manaFeedVal = (*itr)->GetAmount();
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(manaFeedVal > 0)
|
||||
{
|
||||
|
||||
@@ -253,6 +253,7 @@ void WorldSession::HandleMoveSplineDoneOpcode(WorldPacket& /*recv_data*/)
|
||||
SendDoFlight( mountDisplayId, path, 1 ); // skip start fly node
|
||||
else
|
||||
GetPlayer()->m_taxi.ClearTaxiDestinations(); // clear problematic path and next
|
||||
return;
|
||||
}
|
||||
|
||||
GetPlayer()->m_taxi.ClearTaxiDestinations(); // not destinations, clear source node
|
||||
|
||||
Reference in New Issue
Block a user