diff options
author | kaelima <kaelima@live.se> | 2011-11-27 23:31:46 +0100 |
---|---|---|
committer | kaelima <kaelima@live.se> | 2011-11-27 23:31:46 +0100 |
commit | 359a21a55355e7b4741c7f04e050908a405acd4c (patch) | |
tree | 8bd27e616bdbe98fe5e61946eab32a8ea9cf09e5 /src/server/game/Spells/Spell.cpp | |
parent | f28fd9053552de75b295b525626df2216fefee55 (diff) |
Core/Protocol: Allow use of a bunch of opcodes
(all structs have been checked)
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rwxr-xr-x | src/server/game/Spells/Spell.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 06a6a347fef..2cc063fa662 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3763,7 +3763,7 @@ void Spell::SendSpellStart() if (castFlags & CAST_FLAG_POWER_LEFT_SELF) data << uint32(m_caster->GetPower((Powers)m_spellInfo->PowerType)); - if (castFlags & CAST_FLAG_UNKNOWN_23) + if (castFlags & CAST_FLAG_IMMUNITY) { data << uint32(0); data << uint32(0); @@ -3850,13 +3850,19 @@ void Spell::SendSpellGo() } } - if (castFlags & CAST_FLAG_UNKNOWN_18) // unknown wotlk + if (castFlags & CAST_FLAG_ADJUST_MISSILE) { data << float(0); data << uint32(0); } - if (castFlags & CAST_FLAG_UNKNOWN_20) // unknown wotlk + if (castFlags & CAST_FLAG_PROJECTILE) + { + data << uint32(0); // Ammo display ID + data << uint32(0); // Inventory Type + } + + if (castFlags & CAST_FLAG_VISUAL_CHAIN) { data << uint32(0); data << uint32(0); @@ -3867,6 +3873,20 @@ void Spell::SendSpellGo() data << uint8(0); } + if (m_targets.GetTargetMask() & TARGET_FLAG_EXTRA_TARGETS) + { + data << uint8(0); // Extra targets count + /* + for (uint8 i = 0; i < count; ++i) + { + data << float(0); // Target Position X + data << float(0); // Target Position Y + data << float(0); // Target Position Z + data << uint64(0); // Target Guid + } + */ + } + m_caster->SendMessageToSet(&data, true); } |