aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Totem.cpp18
-rw-r--r--src/game/Totem.h1
-rw-r--r--src/game/Unit.cpp2
3 files changed, 10 insertions, 11 deletions
diff --git a/src/game/Totem.cpp b/src/game/Totem.cpp
index af36c43a999..c7a81be29ef 100644
--- a/src/game/Totem.cpp
+++ b/src/game/Totem.cpp
@@ -84,6 +84,15 @@ void Totem::InitSummon(uint32 duration)
data << GetGUID();
SendMessageToSet(&data,true);
+ // Get spell casted by totem
+ SpellEntry const * totemSpell = sSpellStore.LookupEntry(GetSpell());
+ if (totemSpell)
+ {
+ // If spell have cast time -> so its active totem
+ if (GetSpellCastTime(totemSpell))
+ m_type = TOTEM_ACTIVE;
+ }
+
if(m_type == TOTEM_PASSIVE)
CastSpell(this, GetSpell(), true);
@@ -93,15 +102,6 @@ void Totem::InitSummon(uint32 duration)
m_duration = duration;
SetLevel(m_owner->getLevel());
-
- // Get spell casted by totem
- SpellEntry const * totemSpell = sSpellStore.LookupEntry(GetSpell());
- if (totemSpell)
- {
- // If spell have cast time -> so its active totem
- if (GetSpellCastTime(totemSpell))
- m_type = TOTEM_ACTIVE;
- }
}
void Totem::UnSummon()
diff --git a/src/game/Totem.h b/src/game/Totem.h
index 9da7b8efd8d..4287ddc50e6 100644
--- a/src/game/Totem.h
+++ b/src/game/Totem.h
@@ -51,7 +51,6 @@ class Totem : public Minion
void UpdateMaxPower(Powers /*power*/) {}
void UpdateAttackPowerAndDamage(bool /*ranged*/ ) {}
void UpdateDamagePhysical(WeaponAttackType /*attType*/) {}
- void SetDuration(int32 dur) { m_duration = dur; }
bool IsImmunedToSpellEffect(SpellEntry const* spellInfo, uint32 index) const;
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 5ee9bc4c5c4..8bddd073ee9 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -3953,7 +3953,7 @@ void Unit::RemoveAurasDueToSpellByDispel(uint32 spellId, uint64 casterGUID, Unit
int32 damage = aur->GetPartAura(0)->GetAmount()*9;
RemoveAuraFromStack(iter, AURA_REMOVE_BY_ENEMY_SPELL);
// backfire damage and silence
- dispeler->CastCustomSpell(dispeler, 31117, &damage, NULL, NULL, true, NULL, NULL,GetGUID());
+ dispeler->CastCustomSpell(this, 31117, &damage, NULL, NULL, true, NULL, NULL,dispeler->GetGUID());
return;
}
RemoveAuraFromStack(iter, AURA_REMOVE_BY_ENEMY_SPELL);