*Fix Sudden Death.

--HG--
branch : trunk
This commit is contained in:
QAston
2009-04-08 23:20:06 +02:00
parent b3e71cfd64
commit bf7499d1ce
4 changed files with 26 additions and 8 deletions
+5
View File
@@ -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
View File
@@ -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
{ {
+4 -1
View File
@@ -944,7 +944,10 @@ 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()))
|| !m_isPassive
|| (caster && caster->GetTypeId() == TYPEID_UNIT && ((Creature*)caster)->isTotem())
|| (IsAuraType(SPELL_AURA_ABILITY_IGNORE_AURASTATE))
&& (!IsAreaAura() && (!IsAreaAura()
|| m_target!=caster || || m_target!=caster ||
(m_spellProto->Effect[0]!=SPELL_EFFECT_APPLY_AREA_AURA_ENEMY (m_spellProto->Effect[0]!=SPELL_EFFECT_APPLY_AREA_AURA_ENEMY
+1 -1
View File
@@ -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)