aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/SpellHandler.cpp
diff options
context:
space:
mode:
authorjoschiwald <joschiwald@online.de>2012-05-28 04:27:51 +0200
committerjoschiwald <joschiwald@online.de>2012-05-28 04:27:51 +0200
commitcd7ab6f3a5e86e51d19621ce5ab5560cd7eb62bc (patch)
tree3e13fd8e4472a3dece8e6691df794f87bfe3e59d /src/server/game/Handlers/SpellHandler.cpp
parentca07f30d0359bf5a6eecba8b9cc68702eca4071b (diff)
parent9c417ff931a98a2ba35b30e76f8967c7f841e868 (diff)
Merge branch 'master' of github.com:joschiwald/TrinityCore into spellscripts
Conflicts: src/server/game/Entities/Unit/Unit.cpp src/server/game/Spells/Auras/SpellAuraEffects.cpp src/server/game/Spells/Spell.cpp src/server/game/Spells/SpellEffects.cpp src/server/scripts/Spells/spell_paladin.cpp
Diffstat (limited to 'src/server/game/Handlers/SpellHandler.cpp')
-rwxr-xr-xsrc/server/game/Handlers/SpellHandler.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp
index b2d52c85467..1affdf0aff7 100755
--- a/src/server/game/Handlers/SpellHandler.cpp
+++ b/src/server/game/Handlers/SpellHandler.cpp
@@ -650,13 +650,22 @@ void WorldSession::HandleUpdateProjectilePosition(WorldPacket& recvPacket)
uint8 castCount;
float x, y, z; // Position of missile hit
- recvPacket.readPackGUID(casterGuid);
+ recvPacket >> casterGuid;
recvPacket >> spellId;
recvPacket >> castCount;
recvPacket >> x;
recvPacket >> y;
recvPacket >> z;
+ Unit* caster = ObjectAccessor::GetUnit(*_player, casterGuid);
+ Spell* spell = caster ? caster->FindCurrentSpellBySpellId(spellId) : NULL;
+ if (spell && spell->m_targets.HasDst())
+ {
+ Position pos = *spell->m_targets.GetDstPos();
+ pos.Relocate(x, y, z);
+ spell->m_targets.ModDst(pos);
+ }
+
WorldPacket data(SMSG_SET_PROJECTILE_POSITION, 21);
data << uint64(casterGuid);
data << uint8(castCount);