aboutsummaryrefslogtreecommitdiff
path: root/src/game/Unit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r--src/game/Unit.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 1546ccdb927..c2d6f77acec 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -3769,6 +3769,25 @@ int32 Unit::GetMaxNegativeAuraModifierByMiscValue(AuraType auratype, int32 misc_
return modifier;
}
+void Unit::SendAuraVisualForSelf(bool apply, uint32 id, uint8 effmask)
+{
+ WorldPacket data(SMSG_AURA_UPDATE);
+ data.append(GetPackGUID());
+ // use always free 64+ slots
+ data << uint8(MAX_AURAS);
+ if (!apply)
+ {
+ data << uint32(0);
+ SendMessageToSet(&data, true);
+ return;
+ }
+ data << uint32(id);
+ data << uint8(AFLAG_CASTER | AFLAG_POSITIVE | effmask);
+ data << uint8(getLevel());
+ data << uint8(1);
+ SendMessageToSet(&data, true);
+}
+
bool Unit::AddAura(Aura *Aur, bool handleEffects)
{
// aura doesn't apply effects-return
@@ -4285,6 +4304,9 @@ bool Unit::HasAura(uint32 spellId, uint64 caster) const
//Special case for non existing spell
if (spellId==61988)
return HasAura(61987, caster) || HasAura(25771, caster);
+ // Demonic Circle - special aura for client
+ else if (spellId==62388)
+ return HasAura(48018, caster);
if (Aura * aur = GetAura(spellId, caster))
return true;
@@ -6088,7 +6110,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
{
if (pVictim->getPowerType() == POWER_MANA)
{
- // 2% of maximum mana
+ // 2% of base mana
basepoints0 = int32(pVictim->GetCreateMana() * 2 / 100);
pVictim->CastCustomSpell(pVictim, 20268, &basepoints0, NULL, NULL, true, 0, triggeredByAura);
}