diff options
| author | Shauren <shauren.trinity@gmail.com> | 2020-11-15 21:59:18 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2020-12-08 18:16:46 +0100 |
| commit | 7f6eef37e61ea3d47bf8028c6e37175ba0a71373 (patch) | |
| tree | c7220fc9dba28d51779c8c1a5a613f07d6cb7794 /src/server/game/Spells/Spell.cpp | |
| parent | 587ec1fd21ac7cba275fbe9131ae5a694465834d (diff) | |
Core/Spells: Use new spell visual structure instead of just SpellXSpellVisualID
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 818307d47cd..8cf98594710 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -591,7 +591,7 @@ m_spellValue(new SpellValue(m_spellInfo, caster)), _spellEvent(nullptr) focusObject = nullptr; m_castId = ObjectGuid::Create<HighGuid::Cast>(SPELL_CAST_SOURCE_NORMAL, m_caster->GetMapId(), m_spellInfo->Id, m_caster->GetMap()->GenerateLowGuid<HighGuid::Cast>()); memset(m_misc.Raw.Data, 0, sizeof(m_misc.Raw.Data)); - m_SpellVisual = caster->GetCastSpellXSpellVisualId(m_spellInfo); + m_SpellVisual.SpellXSpellVisualID = caster->GetCastSpellXSpellVisualId(m_spellInfo); m_triggeredByAuraSpell = nullptr; m_spellAura = nullptr; @@ -3994,7 +3994,7 @@ void Spell::SendCastResult(SpellCastResult result, uint32* param1 /*= nullptr*/, result = SPELL_FAILED_DONT_REPORT; WorldPackets::Spells::CastFailed castFailed; - castFailed.Visual.SpellXSpellVisualID = m_SpellVisual; + castFailed.Visual = m_SpellVisual; FillSpellCastFailedArgs(castFailed, m_castId, m_spellInfo, result, m_customError, param1, param2, m_caster->ToPlayer()); m_caster->ToPlayer()->SendDirectMessage(castFailed.Write()); } @@ -4016,13 +4016,13 @@ void Spell::SendPetCastResult(SpellCastResult result, uint32* param1 /*= nullptr owner->ToPlayer()->SendDirectMessage(petCastFailed.Write()); } -void Spell::SendCastResult(Player* caster, SpellInfo const* spellInfo, uint32 spellVisual, ObjectGuid cast_count, SpellCastResult result, SpellCustomErrors customError /*= SPELL_CUSTOM_ERROR_NONE*/, uint32* param1 /*= nullptr*/, uint32* param2 /*= nullptr*/) +void Spell::SendCastResult(Player* caster, SpellInfo const* spellInfo, SpellCastVisual spellVisual, ObjectGuid cast_count, SpellCastResult result, SpellCustomErrors customError /*= SPELL_CUSTOM_ERROR_NONE*/, uint32* param1 /*= nullptr*/, uint32* param2 /*= nullptr*/) { if (result == SPELL_CAST_OK) return; WorldPackets::Spells::CastFailed packet; - packet.Visual.SpellXSpellVisualID = spellVisual; + packet.Visual = spellVisual; FillSpellCastFailedArgs(packet, cast_count, spellInfo, result, customError, param1, param2, caster); caster->SendDirectMessage(packet.Write()); } @@ -4083,7 +4083,7 @@ void Spell::SendSpellStart() castData.CastID = m_castId; castData.OriginalCastID = m_originalCastId; castData.SpellID = m_spellInfo->Id; - castData.Visual.SpellXSpellVisualID = m_SpellVisual; + castData.Visual = m_SpellVisual; castData.CastFlags = castFlags; castData.CastFlagsEx = m_castFlagsEx; castData.CastTime = m_casttime; @@ -4199,7 +4199,7 @@ void Spell::SendSpellGo() castData.CastID = m_castId; castData.OriginalCastID = m_originalCastId; castData.SpellID = m_spellInfo->Id; - castData.Visual.SpellXSpellVisualID = m_SpellVisual; + castData.Visual = m_SpellVisual; castData.CastFlags = castFlags; castData.CastFlagsEx = m_castFlagsEx; castData.CastTime = getMSTime(); @@ -4476,7 +4476,7 @@ void Spell::SendInterrupted(uint8 result) failurePacket.CasterUnit = m_caster->GetGUID(); failurePacket.CastID = m_castId; failurePacket.SpellID = m_spellInfo->Id; - failurePacket.Visual.SpellXSpellVisualID = m_SpellVisual; + failurePacket.Visual = m_SpellVisual; failurePacket.Reason = result; m_caster->SendMessageToSet(failurePacket.Write(), true); @@ -4484,7 +4484,7 @@ void Spell::SendInterrupted(uint8 result) failedPacket.CasterUnit = m_caster->GetGUID(); failedPacket.CastID = m_castId; failedPacket.SpellID = m_spellInfo->Id; - failedPacket.Visual.SpellXSpellVisualID = m_SpellVisual; + failedPacket.Visual = m_SpellVisual; failedPacket.Reason = result; m_caster->SendMessageToSet(failedPacket.Write(), true); } @@ -4495,7 +4495,7 @@ void Spell::SendChannelUpdate(uint32 time) { m_caster->ClearChannelObjects(); m_caster->SetChannelSpellId(0); - m_caster->SetChannelSpellXSpellVisualId(0); + m_caster->SetChannelSpellXSpellVisualId({}); } WorldPackets::Spells::SpellChannelUpdate spellChannelUpdate; @@ -4509,7 +4509,7 @@ void Spell::SendChannelStart(uint32 duration) WorldPackets::Spells::SpellChannelStart spellChannelStart; spellChannelStart.CasterGUID = m_caster->GetGUID(); spellChannelStart.SpellID = m_spellInfo->Id; - spellChannelStart.Visual.SpellXSpellVisualID = m_SpellVisual; + spellChannelStart.Visual = m_SpellVisual; spellChannelStart.ChannelDuration = duration; m_caster->SendMessageToSet(spellChannelStart.Write(), true); @@ -7176,7 +7176,7 @@ bool Spell::IsAutoActionResetSpell() const bool Spell::IsNeedSendToClient() const { - return m_SpellVisual || m_spellInfo->IsChanneled() || + return m_SpellVisual.SpellXSpellVisualID || m_SpellVisual.ScriptVisualID || m_spellInfo->IsChanneled() || (m_spellInfo->HasAttribute(SPELL_ATTR8_AURA_SEND_AMOUNT)) || m_spellInfo->HasHitDelay() || (!m_triggeredByAuraSpell && !IsTriggered()); } @@ -8048,3 +8048,8 @@ bool WorldObjectSpellTrajTargetCheck::operator()(WorldObject* target) } } //namespace Trinity + +SpellCastVisual::operator WorldPackets::Spells::SpellCastVisual() const +{ + return { int32(SpellXSpellVisualID), int32(ScriptVisualID) }; +} |
