Фикс a.2:
Spell.cpp Функция: bool Spell::CanAutoCast(Unit* target)
и копируйте в самое начало.
Фикс a.3Код:if(m_spellInfo->Id == 47468 && m_caster->GetPower(POWER_ENERGY) < 60) return false;
А также исправляет проблему с кд петов у лока.
SpellEffect.cpp Функция void Spell::EffectSummonPet(SpellEffIndex effIndex):
иКод:Pet* OldSummon = owner->GetPet(); // if pet requested type already exist if (OldSummon) { // fix clear cooldown for pet if (!OldSummon->m_CreatureSpellCooldowns.empty()) { for (CreatureSpellCooldowns::const_iterator itr = OldSummon->m_CreatureSpellCooldowns.begin(); itr != OldSummon->m_CreatureSpellCooldowns.end(); ++itr) owner->SendClearCooldown(itr->first, OldSummon); OldSummon->m_CreatureSpellCooldowns.clear(); OldSummon->m_CreatureCategoryCooldowns.clear(); } if (petentry == 0 || OldSummon->GetEntry() == petentry)
Код:float x, y, z; owner->GetClosePoint(x, y, z, owner->GetObjectSize()); Pet* pet = owner->SummonPet(petentry, x, y, z, owner->GetOrientation(), SUMMON_PET, 0); if (!pet) return; if (!pet->m_CreatureSpellCooldowns.empty()) { for (CreatureSpellCooldowns::const_iterator itr = pet->m_CreatureSpellCooldowns.begin(); itr != pet->m_CreatureSpellCooldowns.end(); ++itr) owner->SendClearCooldown(itr->first, pet); pet->m_CreatureSpellCooldowns.clear(); pet->m_CreatureCategoryCooldowns.clear(); }





