mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 09:17:36 +01:00
Core/Spells: handle SpellXSpellVisualID update field
This commit is contained in:
@@ -1494,6 +1494,16 @@ class TC_GAME_API Unit : public WorldObject
|
||||
.ModifyValue(&UF::UnitData::ChannelData)
|
||||
.ModifyValue(&UF::UnitChannel::SpellID), channelSpellId);
|
||||
}
|
||||
|
||||
uint32 GetChannelSpellXSpellVisualId() const { return m_unitData->ChannelData->SpellXSpellVisualID; }
|
||||
void SetChannelSpellXSpellVisualId(uint32 channelSpellXSpellVisualId)
|
||||
{
|
||||
SetUpdateFieldValue(m_values
|
||||
.ModifyValue(&Unit::m_unitData)
|
||||
.ModifyValue(&UF::UnitData::ChannelData)
|
||||
.ModifyValue(&UF::UnitChannel::SpellXSpellVisualID), channelSpellXSpellVisualId);
|
||||
}
|
||||
|
||||
void AddChannelObject(ObjectGuid guid) { AddDynamicUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::ChannelObjects)) = guid; }
|
||||
void SetChannelObject(uint32 slot, ObjectGuid guid) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::ChannelObjects, slot), guid); }
|
||||
void RemoveChannelObject(ObjectGuid guid)
|
||||
|
||||
@@ -5189,6 +5189,7 @@ void Spell::SendChannelUpdate(uint32 time)
|
||||
{
|
||||
unitCaster->ClearChannelObjects();
|
||||
unitCaster->SetChannelSpellId(0);
|
||||
unitCaster->SetChannelSpellXSpellVisualId(0);
|
||||
}
|
||||
|
||||
WorldPackets::Spells::SpellChannelUpdate spellChannelUpdate;
|
||||
@@ -5250,6 +5251,7 @@ void Spell::SendChannelStart(uint32 duration)
|
||||
creatureCaster->SetSpellFocus(this, ObjectAccessor::GetWorldObject(*creatureCaster, unitCaster->m_unitData->ChannelObjects[0]));
|
||||
|
||||
unitCaster->SetChannelSpellId(m_spellInfo->Id);
|
||||
unitCaster->SetChannelSpellXSpellVisualId(m_SpellVisual.SpellXSpellVisualID);
|
||||
|
||||
WorldPackets::Spells::SpellChannelStart spellChannelStart;
|
||||
spellChannelStart.CasterGUID = unitCaster->GetGUID();
|
||||
|
||||
Reference in New Issue
Block a user