aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobmaps <spambot42@yandex.ru>2011-07-15 07:01:33 +0700
committertobmaps <spambot42@yandex.ru>2011-07-15 07:01:33 +0700
commit26b3f00dac39b44e00fc1b2dfc9109c517284bd3 (patch)
tree2e5e3b31cf156bde73112683e0739a631a25e6f3
parentebc1baf68424993267554c9c001169fcc0a0cdb2 (diff)
Core/Spells: Fix bugs with improved presences at talents switch
-rw-r--r--sql/updates/world/2011_07_08_00_world_conditions.sql (renamed from sql/updates/world/2011_07_08_01_world_conditions.sql)0
-rwxr-xr-xsrc/server/game/Spells/Auras/SpellAuraEffects.cpp32
2 files changed, 32 insertions, 0 deletions
diff --git a/sql/updates/world/2011_07_08_01_world_conditions.sql b/sql/updates/world/2011_07_08_00_world_conditions.sql
index ed723c1d250..ed723c1d250 100644
--- a/sql/updates/world/2011_07_08_01_world_conditions.sql
+++ b/sql/updates/world/2011_07_08_00_world_conditions.sql
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 7afbdebd034..5200738fca4 100755
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -5210,6 +5210,38 @@ void AuraEffect::HandleAuraDummy(AuraApplication const* aurApp, uint8 mode, bool
// if (!(mode & AURA_EFFECT_HANDLE_REAL))
// break;
break;
+ case SPELLFAMILY_DEATHKNIGHT:
+ {
+ if (!(mode & AURA_EFFECT_HANDLE_REAL))
+ break;
+ // Improved Unholy Presence
+ if (m_spellProto->SpellIconID == 2633)
+ {
+ if (apply)
+ {
+ if (target->HasAura(48265) && !target->HasAura(63622))
+ {
+ // Not listed as any effect, only base points set
+ int32 basePoints0 = SpellMgr::CalculateSpellEffectAmount(GetSpellProto(), 1);
+ target->CastCustomSpell(target, 63622, &basePoints0 , &basePoints0, &basePoints0, true, 0, this);
+ }
+ }
+ else
+ target->RemoveAurasDueToSpell(63622);
+ }
+ // Improved Blood Presence
+ else if (m_spellProto->SpellIconID == 2636)
+ {
+ if (apply)
+ {
+ if (!target->HasAura(48266) && !target->HasAura(63611))
+ target->CastSpell(target, 63611, true);
+ }
+ else
+ target->RemoveAurasDueToSpell(63611);
+ }
+ break;
+ }
}
}