[9285] Fixed unexpected double time for apply damage for spell 1464 and ranks.

* Implement way ignore some redundent data for triggered spells base at cast cost exist.
  Reason: some triggered spells inherited data from main spells
  just for porper client show spell attributes, we not need this data.
* Use check for ignore inherited cast time.
This commit is contained in:
VladimirMangos 2010-02-02 19:49:27 +03:00
parent 66c8c75914
commit 8ff7010750
4 changed files with 18 additions and 7 deletions

View file

@ -5277,7 +5277,7 @@ SpellCastResult Spell::CheckRange(bool strict)
int32 Spell::CalculatePowerCost()
{
// item cast not used power
if(m_CastItem)
if (m_CastItem)
return 0;
// Spell drain all exist power on cast (Only paladin lay of Hands)
@ -6042,6 +6042,12 @@ bool Spell::IsNeedSendToClient() const
m_spellInfo->speed > 0.0f || !m_triggeredByAuraSpell && !m_IsTriggeredSpell;
}
bool Spell::IsTriggeredSpellWithRedundentData() const
{
return m_IsTriggeredSpell && (m_spellInfo->manaCost || m_spellInfo->ManaCostPercentage);
}
bool Spell::HaveTargetsForEffect( uint8 effect ) const
{
for(std::list<TargetInfo>::const_iterator itr = m_UniqueTargetInfo.begin(); itr != m_UniqueTargetInfo.end(); ++itr)