Backported TC2 commit 3157 (megamage: *Fix the bug that fishing bobber does not have correct position.)

--HG--
branch : trunk
This commit is contained in:
mknjc
2009-05-07 18:20:55 +02:00
parent 54c514eee5
commit 3703f4891d
2 changed files with 18 additions and 2 deletions
+12 -2
View File
@@ -1593,9 +1593,19 @@ void Spell::SetTargetMap(uint32 i, uint32 cur)
switch(cur)
{
case TARGET_UNIT_CASTER:
case TARGET_UNIT_CASTER_FISHING:
AddUnitTarget(m_caster, i);
break;
case TARGET_UNIT_CASTER_FISHING:
{
AddUnitTarget(m_caster, i);
float min_dis = GetSpellMinRange(m_spellInfo, true);
float max_dis = GetSpellMaxRange(m_spellInfo, true);
float dis = rand_norm() * (max_dis - min_dis) + min_dis;
float x, y, z;
m_caster->GetClosePoint(x, y, z, DEFAULT_WORLD_OBJECT_SIZE, dis);
m_targets.setDestination(x, y, z);
break;
}
case TARGET_UNIT_MASTER:
if(Unit* owner = m_caster->GetCharmerOrOwner())
AddUnitTarget(owner, i);
@@ -2471,7 +2481,7 @@ void Spell::_handle_immediate_phase()
{
if(spellmgr.EffectTargetType[m_spellInfo->Effect[j]] == SPELL_REQUIRE_DEST)
{
if(!m_targets.HasDst())
if(!m_targets.HasDst()) // FIXME: this will ignore dest set in effect
m_targets.setDestination(m_caster);
HandleEffects(m_originalCaster, NULL, NULL, j);
}
+6
View File
@@ -326,6 +326,12 @@ inline bool IsSpellHaveEffect(SpellEntry const *spellInfo, SpellEffects effect)
return true;
return false;
}
inline float GetSpellMinRange(SpellEntry const *spellInfo, bool positive)
{
return positive
? GetSpellMinRangeForFriend(sSpellRangeStore.LookupEntry(spellInfo->rangeIndex))
: GetSpellMinRangeForHostile(sSpellRangeStore.LookupEntry(spellInfo->rangeIndex));
}
//bool IsNoStackAuraDueToAura(uint32 spellId_1, uint32 effIndex_1, uint32 spellId_2, uint32 effIndex_2);