aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
authorSpp <spp@jorge.gr>2012-11-16 09:51:44 +0100
committerSpp <spp@jorge.gr>2012-11-16 09:51:44 +0100
commit279b7f4c1029b239000a7db746c361abc639e798 (patch)
tree937c0c6235ba5833f44c2d818758d5f09233865b /src/server/game/Spells/Spell.cpp
parent306d4d3ab198fc86fce1ed6cd3c97c580a5fb47a (diff)
Core/Misc: Minor changes here and there
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 5beaa49c050..d66d60fece9 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -1725,6 +1725,9 @@ void Spell::SelectImplicitTrajTargets()
trajDst.Relocate(x, y, z, m_caster->GetOrientation());
m_targets.ModDst(trajDst);
}
+
+ if (Vehicle * veh = m_caster->GetVehicleKit())
+ veh->SetLastShootPos(*m_targets.GetDstPos());
}
void Spell::SelectEffectTypeImplicitTargets(uint8 effIndex)
@@ -2795,11 +2798,15 @@ void Spell::DoTriggersOnSpellHit(Unit* unit, uint8 effMask)
// trigger linked auras remove/apply
// TODO: remove/cleanup this, as this table is not documented and people are doing stupid things with it
if (std::vector<int32> const* spellTriggered = sSpellMgr->GetSpellLinked(m_spellInfo->Id + SPELL_LINK_HIT))
+ {
for (std::vector<int32>::const_iterator i = spellTriggered->begin(); i != spellTriggered->end(); ++i)
+ {
if (*i < 0)
unit->RemoveAurasDueToSpell(-(*i));
else
unit->CastSpell(unit, *i, true, 0, 0, m_caster->GetGUID());
+ }
+ }
}
void Spell::DoAllEffectOnTarget(GOTargetInfo* target)