*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:
QAston
2009-06-24 00:12:09 +02:00
parent d6a3770597
commit 0a7691083d
3 changed files with 19 additions and 1 deletions
+14
View File
@@ -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:
+4 -1
View File
@@ -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)
{
+1
View File
@@ -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