[10764] Implement talent 44543 and ranks charges work.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also fix IGNORE_UNIT_TARGET_NON_FROZEN in part allow casting spell that required frozen target.
This commit is contained in:
insider42 2010-11-21 05:28:59 +03:00 committed by VladimirMangos
parent de13dbea37
commit a34deecfc0
8 changed files with 32 additions and 6 deletions

View file

@ -2814,6 +2814,9 @@ void Spell::cast(bool skipCheck)
// Ice Block
if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000008000000000))
AddPrecastSpell(41425); // Hypothermia
// Fingers of Frost
else if (m_spellInfo->Id == 44544)
AddPrecastSpell(74396); // Fingers of Frost
break;
}
case SPELLFAMILY_WARRIOR:
@ -4349,7 +4352,7 @@ SpellCastResult Spell::CheckCast(bool strict)
{
// target state requirements (apply to non-self only), to allow cast affects to self like Dirty Deeds
if (m_spellInfo->TargetAuraState && !target->HasAuraStateForCaster(AuraState(m_spellInfo->TargetAuraState), m_caster->GetGUID()) &&
!m_caster->IsIgnoreUnitState(m_spellInfo, IGNORE_UNIT_TARGET_STATE))
!m_caster->IsIgnoreUnitState(m_spellInfo, m_spellInfo->TargetAuraState == AURA_STATE_FROZEN ? IGNORE_UNIT_TARGET_NON_FROZEN : IGNORE_UNIT_TARGET_STATE))
return SPELL_FAILED_TARGET_AURASTATE;
// Not allow casting on flying player