*Fix Sudden Death.
--HG-- branch : trunk
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
-- Sudden Death
|
||||||
|
DELETE FROM `spell_proc_event` WHERE `entry` IN (29723, 29725, 29724);
|
||||||
|
INSERT INTO `spell_proc_event` VALUES (29723, 0x00, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0.000000, 0.000000, 0);
|
||||||
|
INSERT INTO `spell_proc_event` VALUES (29725, 0x00, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0.000000, 0.000000, 0);
|
||||||
|
INSERT INTO `spell_proc_event` VALUES (29724, 0x00, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0.000000, 0.000000, 0);
|
||||||
+11
-1
@@ -4001,8 +4001,18 @@ SpellCastResult Spell::CheckCast(bool strict)
|
|||||||
{
|
{
|
||||||
if(m_spellInfo->SpellIconID == 1648) // Execute
|
if(m_spellInfo->SpellIconID == 1648) // Execute
|
||||||
{
|
{
|
||||||
if(!m_targets.getUnitTarget() || m_targets.getUnitTarget()->GetHealth() > m_targets.getUnitTarget()->GetMaxHealth()*0.2)
|
if(!m_targets.getUnitTarget())
|
||||||
return SPELL_FAILED_BAD_TARGETS;
|
return SPELL_FAILED_BAD_TARGETS;
|
||||||
|
if (m_targets.getUnitTarget()->GetHealth() > m_targets.getUnitTarget()->GetMaxHealth()*0.2)
|
||||||
|
{
|
||||||
|
bool found = false;
|
||||||
|
Unit::AuraEffectList const& stateAuras = m_caster->GetAurasByType(SPELL_AURA_ABILITY_IGNORE_AURASTATE);
|
||||||
|
for(Unit::AuraEffectList::const_iterator j = stateAuras.begin();j != stateAuras.end(); ++j)
|
||||||
|
if((*j)->isAffectedOnSpell(m_spellInfo))
|
||||||
|
found=true;
|
||||||
|
if (!found)
|
||||||
|
return SPELL_FAILED_BAD_TARGETS;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (m_spellInfo->Id == 51582) // Rocket Boots Engaged
|
else if (m_spellInfo->Id == 51582) // Rocket Boots Engaged
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -944,12 +944,15 @@ void Aura::_AddAura()
|
|||||||
|
|
||||||
// passive auras (except totem auras) do not get placed in the slots
|
// passive auras (except totem auras) do not get placed in the slots
|
||||||
// area auras with SPELL_AURA_NONE are not shown on target
|
// area auras with SPELL_AURA_NONE are not shown on target
|
||||||
if((m_spellProto->Attributes & 0x80 && GetTalentSpellPos(GetId())) || !m_isPassive || (caster && caster->GetTypeId() == TYPEID_UNIT && ((Creature*)caster)->isTotem())
|
if((m_spellProto->Attributes & 0x80 && GetTalentSpellPos(GetId()))
|
||||||
&& (!IsAreaAura()
|
|| !m_isPassive
|
||||||
|| m_target!=caster ||
|
|| (caster && caster->GetTypeId() == TYPEID_UNIT && ((Creature*)caster)->isTotem())
|
||||||
(m_spellProto->Effect[0]!=SPELL_EFFECT_APPLY_AREA_AURA_ENEMY
|
|| (IsAuraType(SPELL_AURA_ABILITY_IGNORE_AURASTATE))
|
||||||
&& m_spellProto->Effect[1]!=SPELL_EFFECT_APPLY_AREA_AURA_ENEMY
|
&& (!IsAreaAura()
|
||||||
&& m_spellProto->Effect[2]!=SPELL_EFFECT_APPLY_AREA_AURA_ENEMY)))
|
|| m_target!=caster ||
|
||||||
|
(m_spellProto->Effect[0]!=SPELL_EFFECT_APPLY_AREA_AURA_ENEMY
|
||||||
|
&& m_spellProto->Effect[1]!=SPELL_EFFECT_APPLY_AREA_AURA_ENEMY
|
||||||
|
&& m_spellProto->Effect[2]!=SPELL_EFFECT_APPLY_AREA_AURA_ENEMY)))
|
||||||
{
|
{
|
||||||
// Try find slot for aura
|
// Try find slot for aura
|
||||||
uint8 slot = MAX_AURAS;
|
uint8 slot = MAX_AURAS;
|
||||||
|
|||||||
+1
-1
@@ -5414,7 +5414,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
|
|||||||
if (!target)
|
if (!target)
|
||||||
return false;
|
return false;
|
||||||
triggered_spell_id = 54181;
|
triggered_spell_id = 54181;
|
||||||
basepoints0 = damage * triggerAmount / 100;
|
basepoints0 = damage * 15 / 100;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
switch(dummySpell->Id)
|
switch(dummySpell->Id)
|
||||||
|
|||||||
Reference in New Issue
Block a user