aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Unit
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-07-13 13:40:31 +0200
committerShauren <shauren.trinity@gmail.com>2025-07-13 13:40:31 +0200
commit5de252ae8471cea021944d2f404a7793f39a8d0d (patch)
tree013165f80f8315e6bfe907af32fa193dee4264cb /src/server/game/Entities/Unit
parent8fad176f5f83f741107d06a9cbe0243da89f8b30 (diff)
Core/Misc: Move large functions out of header files
Diffstat (limited to 'src/server/game/Entities/Unit')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp59
-rw-r--r--src/server/game/Entities/Unit/Unit.h32
-rw-r--r--src/server/game/Entities/Unit/UnitDefines.h4
3 files changed, 72 insertions, 23 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 91ab4c5168c..45805cfbd0a 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -722,6 +722,16 @@ void Unit::RemoveVisibleAura(AuraApplication* aurApp)
UpdateAuraForGroup();
}
+void Unit::SetVisibleAuraUpdate(AuraApplication* aurApp)
+{
+ m_visibleAurasToUpdate.insert(aurApp);
+}
+
+void Unit::RemoveVisibleAuraUpdate(AuraApplication* aurApp)
+{
+ m_visibleAurasToUpdate.erase(aurApp);
+}
+
void Unit::UpdateInterruptMask()
{
m_interruptMask = SpellAuraInterruptFlags::None;
@@ -3020,6 +3030,28 @@ void Unit::_UpdateAutoRepeatSpell()
}
}
+void Unit::AddChannelObject(ObjectGuid guid)
+{
+ AddDynamicUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::ChannelObjects)) = guid;
+}
+
+void Unit::SetChannelObject(uint32 slot, ObjectGuid guid)
+{
+ SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::ChannelObjects, slot), guid);
+}
+
+void Unit::RemoveChannelObject(ObjectGuid guid)
+{
+ int32 index = m_unitData->ChannelObjects.FindIndex(guid);
+ if (index >= 0)
+ RemoveDynamicUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::ChannelObjects), index);
+}
+
+void Unit::ClearChannelObjects()
+{
+ ClearDynamicUpdateFieldValues(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::ChannelObjects));
+}
+
void Unit::SetCurrentCastSpell(Spell* pSpell)
{
ASSERT(pSpell); // NULL may be never passed here, use InterruptSpell or InterruptNonMeleeSpells
@@ -8950,6 +8982,16 @@ void Unit::UpdateAdvFlyingSpeed(AdvFlyingRateTypeRange speedType, bool clientUpd
}
}
+void Unit::FollowerAdded(AbstractFollower* f)
+{
+ m_followingMe.insert(f);
+}
+
+void Unit::FollowerRemoved(AbstractFollower* f)
+{
+ m_followingMe.erase(f);
+}
+
void Unit::RemoveAllFollowers()
{
while (!m_followingMe.empty())
@@ -14217,6 +14259,23 @@ float Unit::GetCollisionHeight() const
return collisionHeight == 0.0f ? DEFAULT_COLLISION_HEIGHT : collisionHeight;
}
+void Unit::AddWorldEffect(int32 worldEffectId)
+{
+ AddDynamicUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::WorldEffects)) = worldEffectId;
+}
+
+void Unit::RemoveWorldEffect(int32 worldEffectId)
+{
+ int32 index = m_unitData->WorldEffects.FindIndex(worldEffectId);
+ if (index >= 0)
+ RemoveDynamicUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::WorldEffects), index);
+}
+
+void Unit::ClearWorldEffects()
+{
+ ClearDynamicUpdateFieldValues(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::WorldEffects));
+}
+
void Unit::SetVignette(uint32 vignetteId)
{
if (m_vignette)
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index 7c9f6c5fd9d..f6917ee88f7 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -1429,15 +1429,10 @@ class TC_GAME_API Unit : public WorldObject
.ModifyValue(&UF::UnitData::ChannelData)
.ModifyValue(&UF::UnitChannel::SpellVisual), channelVisual);
}
- 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)
- {
- int32 index = m_unitData->ChannelObjects.FindIndex(guid);
- if (index >= 0)
- RemoveDynamicUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::ChannelObjects), index);
- }
- void ClearChannelObjects() { ClearDynamicUpdateFieldValues(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::ChannelObjects)); }
+ void AddChannelObject(ObjectGuid guid);
+ void SetChannelObject(uint32 slot, ObjectGuid guid);
+ void RemoveChannelObject(ObjectGuid guid);
+ void ClearChannelObjects();
int8 GetSpellEmpowerStage() const { return m_unitData->SpellEmpowerStage; }
void SetSpellEmpowerStage(int8 stage) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::SpellEmpowerStage), stage); }
@@ -1584,8 +1579,8 @@ class TC_GAME_API Unit : public WorldObject
bool HasVisibleAura(AuraApplication* aurApp) const { return m_visibleAuras.contains(aurApp); }
void SetVisibleAura(AuraApplication* aurApp);
void RemoveVisibleAura(AuraApplication* aurApp);
- void SetVisibleAuraUpdate(AuraApplication* aurApp) { m_visibleAurasToUpdate.insert(aurApp); }
- void RemoveVisibleAuraUpdate(AuraApplication* aurApp) { m_visibleAurasToUpdate.erase(aurApp); }
+ void SetVisibleAuraUpdate(AuraApplication* aurApp);
+ void RemoveVisibleAuraUpdate(AuraApplication* aurApp);
bool HasInterruptFlag(SpellAuraInterruptFlags flags) const { return m_interruptMask.HasFlag(flags); }
bool HasInterruptFlag(SpellAuraInterruptFlags2 flags) const { return m_interruptMask2.HasFlag(flags); }
@@ -1696,8 +1691,8 @@ class TC_GAME_API Unit : public WorldObject
void UpdateAdvFlyingSpeed(AdvFlyingRateTypeSingle speedType, bool clientUpdate);
void UpdateAdvFlyingSpeed(AdvFlyingRateTypeRange speedType, bool clientUpdate);
- void FollowerAdded(AbstractFollower* f) { m_followingMe.insert(f); }
- void FollowerRemoved(AbstractFollower* f) { m_followingMe.erase(f); }
+ void FollowerAdded(AbstractFollower* f);
+ void FollowerRemoved(AbstractFollower* f);
void RemoveAllFollowers();
MotionMaster* GetMotionMaster() { return i_motionMaster.get(); }
@@ -1849,14 +1844,9 @@ class TC_GAME_API Unit : public WorldObject
// enables / disables combat interaction of this unit
void SetIsCombatDisallowed(bool apply) { _isCombatDisallowed = apply; }
- void AddWorldEffect(int32 worldEffectId) { AddDynamicUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::WorldEffects)) = worldEffectId; }
- void RemoveWorldEffect(int32 worldEffectId)
- {
- int32 index = m_unitData->WorldEffects.FindIndex(worldEffectId);
- if (index >= 0)
- RemoveDynamicUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::WorldEffects), index);
- }
- void ClearWorldEffects() { ClearDynamicUpdateFieldValues(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::WorldEffects)); }
+ void AddWorldEffect(int32 worldEffectId);
+ void RemoveWorldEffect(int32 worldEffectId);
+ void ClearWorldEffects();
Vignettes::VignetteData const* GetVignette() const { return m_vignette.get(); }
void SetVignette(uint32 vignetteId);
diff --git a/src/server/game/Entities/Unit/UnitDefines.h b/src/server/game/Entities/Unit/UnitDefines.h
index 4f4f5552110..540c4111c97 100644
--- a/src/server/game/Entities/Unit/UnitDefines.h
+++ b/src/server/game/Entities/Unit/UnitDefines.h
@@ -517,10 +517,10 @@ enum class AttackSwingErr : uint8
#define MAX_DECLINED_NAME_CASES 5
-struct TC_GAME_API DeclinedName
+struct DeclinedName
{
DeclinedName() = default;
- DeclinedName(UF::DeclinedNames const& uf);
+ TC_GAME_API DeclinedName(UF::DeclinedNames const& uf);
std::string name[MAX_DECLINED_NAME_CASES];
};