aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h2
-rw-r--r--src/server/game/Spells/Auras/SpellEffects.cpp17
-rw-r--r--src/server/game/Spells/Spell.h2
-rw-r--r--src/server/game/Spells/SpellMgr.cpp2
4 files changed, 8 insertions, 15 deletions
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index a1692794ca8..81e82054a95 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -750,7 +750,7 @@ enum SpellEffects
SPELL_EFFECT_ACTIVATE_RUNE = 146,
SPELL_EFFECT_QUEST_FAIL = 147,
SPELL_EFFECT_148 = 148,
- SPELL_EFFECT_149 = 149,
+ SPELL_EFFECT_CHARGE_DEST = 149,
SPELL_EFFECT_150 = 150,
SPELL_EFFECT_TRIGGER_SPELL_2 = 151,
SPELL_EFFECT_152 = 152,
diff --git a/src/server/game/Spells/Auras/SpellEffects.cpp b/src/server/game/Spells/Auras/SpellEffects.cpp
index ea73988fba7..fd023f14261 100644
--- a/src/server/game/Spells/Auras/SpellEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellEffects.cpp
@@ -214,7 +214,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]=
&Spell::EffectActivateRune, //146 SPELL_EFFECT_ACTIVATE_RUNE
&Spell::EffectQuestFail, //147 SPELL_EFFECT_QUEST_FAIL quest fail
&Spell::EffectUnused, //148 SPELL_EFFECT_148 unused
- &Spell::EffectCharge2, //149 SPELL_EFFECT_CHARGE2 swoop
+ &Spell::EffectChargeDest, //149 SPELL_EFFECT_CHARGE_DEST
&Spell::EffectUnused, //150 SPELL_EFFECT_150 unused
&Spell::EffectTriggerRitualOfSummoning, //151 SPELL_EFFECT_TRIGGER_SPELL_2
&Spell::EffectNULL, //152 SPELL_EFFECT_152 summon Refer-a-Friend
@@ -7129,22 +7129,13 @@ void Spell::EffectCharge(uint32 /*i*/)
m_caster->Attack(target, true);
}
-void Spell::EffectCharge2(uint32 /*i*/)
+void Spell::EffectChargeDest(uint32 /*i*/)
{
- float x, y, z;
if (m_targets.HasDst())
- m_targets.m_dstPos.GetPosition(x, y, z);
- else if (Unit *target = m_targets.getUnitTarget())
{
- target->GetContactPoint(m_caster, x, y, z);
- // not all charge effects used in negative spells
- if (!IsPositiveSpell(m_spellInfo->Id) && m_caster->GetTypeId() == TYPEID_PLAYER)
- m_caster->Attack(target, true);
+ m_targets.m_dstPos.GetPosition(x, y, z);
+ m_caster->GetMotionMaster()->MoveCharge(x, y, z);
}
- else
- return;
-
- m_caster->GetMotionMaster()->MoveCharge(x, y, z);
}
void Spell::EffectKnockBack(uint32 i)
diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h
index d41f4309263..86ad12b9f35 100644
--- a/src/server/game/Spells/Spell.h
+++ b/src/server/game/Spells/Spell.h
@@ -347,7 +347,7 @@ class Spell
void EffectSelfResurrect(uint32 i);
void EffectSkinning(uint32 i);
void EffectCharge(uint32 i);
- void EffectCharge2(uint32 i);
+ void EffectChargeDest(uint32 i);
void EffectProspecting(uint32 i);
void EffectMilling(uint32 i);
void EffectRenamePet(uint32 i);
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 8385b3386e6..65e942ba272 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -83,6 +83,7 @@ SpellMgr::SpellMgr()
case SPELL_EFFECT_APPLY_AREA_AURA_OWNER:
case SPELL_EFFECT_APPLY_AREA_AURA_RAID:
case SPELL_EFFECT_CHARGE:
+ case SPELL_EFFECT_CHARGE_DEST:
case SPELL_EFFECT_JUMP:
case SPELL_EFFECT_JUMP2:
case SPELL_EFFECT_LEAP_BACK:
@@ -3461,6 +3462,7 @@ void SpellMgr::LoadSpellCustomAttr()
count++;
break;
case SPELL_EFFECT_CHARGE:
+ case SPELL_EFFECT_CHARGE_DEST:
case SPELL_EFFECT_JUMP:
case SPELL_EFFECT_JUMP2:
case SPELL_EFFECT_LEAP_BACK: