aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShocker <shocker@freakz.ro>2012-01-08 12:30:48 -0800
committerShocker <shocker@freakz.ro>2012-01-08 12:30:48 -0800
commit5b972184e0ece3912aef0f9167074886eff06897 (patch)
tree7e255aacc08eb6efbf9a5f54d1885516e2e28a7e /src
parent5584354444216910b5ae3d570e9c62bfaad12f67 (diff)
parent67808ba4535cd7214cbe16f35e2a4786c9904146 (diff)
Merge pull request #4725 from Chaplain/cleanup
Core/Spells: Implement CAST_FLAG_ADJUST_MISSILE (old CAST_FLAG_UNKNOWN_18)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp10
-rwxr-xr-xsrc/server/game/Spells/Spell.h2
2 files changed, 7 insertions, 5 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index f76dbd7be47..d864ce2d606 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -3829,6 +3829,9 @@ void Spell::SendSpellGo()
castFlags |= CAST_FLAG_UNKNOWN_19; // same as in SMSG_SPELL_START
}
+ if (m_targets.HasTraj())
+ castFlags |= CAST_FLAG_ADJUST_MISSILE;
+
WorldPacket data(SMSG_SPELL_GO, 50); // guess size
if (m_CastItem)
@@ -3871,11 +3874,10 @@ void Spell::SendSpellGo()
}
}
}
-
- if (castFlags & CAST_FLAG_UNKNOWN_18)
+ if (castFlags & CAST_FLAG_ADJUST_MISSILE)
{
- data << float(0);
- data << uint32(0);
+ data << m_targets.GetElevation();
+ data << uint32(m_targets.GetSpeedXY()*m_targets.GetSpeedZ()*2);
}
if (castFlags & CAST_FLAG_AMMO)
diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h
index 6b7c73ad32b..2bbc04d6a3b 100755
--- a/src/server/game/Spells/Spell.h
+++ b/src/server/game/Spells/Spell.h
@@ -55,7 +55,7 @@ enum SpellCastFlags
CAST_FLAG_UNKNOWN_15 = 0x00004000,
CAST_FLAG_UNKNOWN_16 = 0x00008000,
CAST_FLAG_UNKNOWN_17 = 0x00010000,
- CAST_FLAG_UNKNOWN_18 = 0x00020000,
+ CAST_FLAG_ADJUST_MISSILE = 0x00020000,
CAST_FLAG_UNKNOWN_19 = 0x00040000,
CAST_FLAG_UNKNOWN_20 = 0x00080000,
CAST_FLAG_UNKNOWN_21 = 0x00100000,