aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Unit
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-04-16 10:45:25 +0200
committerShauren <shauren.trinity@gmail.com>2022-04-16 12:15:37 +0200
commit52fb46703172a0803a122d54aaed6506eb25d3e3 (patch)
tree405d64d25dd43db585bf2290751e05e3fffe089b /src/server/game/Entities/Unit
parent1215321c8bc2676fefc0b4627044f2f78202704c (diff)
Core/Units: Include SPELL_AURA_MOD_FACTION auras when restoring faction (either on aura removal or .gm off)
Diffstat (limited to 'src/server/game/Entities/Unit')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 76b49ca415e..1b780a027be 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -11325,6 +11325,12 @@ void Unit::RemoveCharmedBy(Unit* charmer)
void Unit::RestoreFaction()
{
+ if (HasAuraType(SPELL_AURA_MOD_FACTION))
+ {
+ SetFaction(GetAuraEffectsByType(SPELL_AURA_MOD_FACTION).back()->GetMiscValue());
+ return;
+ }
+
if (GetTypeId() == TYPEID_PLAYER)
ToPlayer()->SetFactionForRace(GetRace());
else