*Allow imp to learn Phase Shift
*Correct bonus damage for Unstable Affliction *Correct some procflags. --HG-- branch : trunk rename : sql/updates/2685_world_spell_proc_event.sql => sql/updates/2774_world_spell_proc_event.sql
This commit is contained in:
+8
-5
@@ -5631,12 +5631,15 @@ void Spell::CalculateDamageDoneForAllTargets()
|
||||
}
|
||||
}
|
||||
|
||||
bool usesAmmo=true;
|
||||
Unit::AuraEffectList const& Auras = m_caster->GetAurasByType(SPELL_AURA_ABILITY_CONSUME_NO_AMMO);
|
||||
for(Unit::AuraEffectList::const_iterator j = Auras.begin();j != Auras.end(); ++j)
|
||||
bool usesAmmo = !m_IsTriggeredSpell;
|
||||
if (usesAmmo)
|
||||
{
|
||||
if((*j)->isAffectedOnSpell(m_spellInfo))
|
||||
usesAmmo=false;
|
||||
Unit::AuraEffectList const& Auras = m_caster->GetAurasByType(SPELL_AURA_ABILITY_CONSUME_NO_AMMO);
|
||||
for(Unit::AuraEffectList::const_iterator j = Auras.begin();j != Auras.end(); ++j)
|
||||
{
|
||||
if((*j)->isAffectedOnSpell(m_spellInfo))
|
||||
usesAmmo=false;
|
||||
}
|
||||
}
|
||||
|
||||
for(std::list<TargetInfo>::iterator ihit= m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit)
|
||||
|
||||
@@ -4937,7 +4937,7 @@ void Spell::EffectScriptEffect(uint32 effIndex)
|
||||
// Viper Sting - Instantly restores mana to you equal to 60% of the total amount drained by your Viper Sting.
|
||||
if (familyFlag[1] & 0x00000080)
|
||||
{
|
||||
int32 tickCount = (aura->GetAuraMaxDuration() - aura->GetAuraDuration()) / aura->GetPartAura(0)->GetAuraAmplitude();
|
||||
int32 tickCount = aura->GetPartAura(0)->GetTickNumber();
|
||||
spellId = 53358; // 53358 Chimera Shot - Viper
|
||||
// Amount of one aura tick
|
||||
basePoint = aura->GetPartAura(0)->GetAmount() * aura->GetTarget()->GetMaxPower(POWER_MANA) / 100 ;
|
||||
|
||||
@@ -2519,9 +2519,8 @@ void SpellMgr::LoadPetLevelupSpellMap()
|
||||
// not exist
|
||||
if(!spell)
|
||||
continue;
|
||||
if (!spell->spellLevel)
|
||||
continue;
|
||||
if (!spell->SpellFamilyName)
|
||||
// Make sure that triggered spells aren't learned
|
||||
if (!spell->SpellFamilyName && !spell->StartRecoveryCategory)
|
||||
continue;
|
||||
mPetLevelupSpellMap.insert(PetLevelupSpellMap::value_type(creatureFamily->ID, std::make_pair(spell->spellLevel , spell->Id )));
|
||||
count++;
|
||||
|
||||
+1
-2
@@ -3957,10 +3957,9 @@ void Unit::RemoveAurasDueToSpellByDispel(uint32 spellId, uint64 casterGUID, Unit
|
||||
if (aur->GetSpellProto()->SpellFamilyName == SPELLFAMILY_WARLOCK && (aur->GetSpellProto()->SpellFamilyFlags[1] & 0x0100))
|
||||
{
|
||||
int32 damage = aur->GetPartAura(0)->GetAmount()*9;
|
||||
uint64 caster_guid = aur->GetCasterGUID();
|
||||
RemoveAuraFromStack(iter, AURA_REMOVE_BY_ENEMY_SPELL);
|
||||
// backfire damage and silence
|
||||
dispeler->CastCustomSpell(dispeler, 31117, &damage, NULL, NULL, true, NULL, NULL,caster_guid);
|
||||
dispeler->CastCustomSpell(dispeler, 31117, &damage, NULL, NULL, true, NULL, NULL,dispeler->GetGUID());
|
||||
return;
|
||||
}
|
||||
RemoveAuraFromStack(iter, AURA_REMOVE_BY_ENEMY_SPELL);
|
||||
|
||||
Reference in New Issue
Block a user