aboutsummaryrefslogtreecommitdiff
path: root/src/game/Unit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r--src/game/Unit.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 25370e0f02f..80fee50f19c 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -4379,14 +4379,13 @@ void Unit::RemoveAura(AuraMap::iterator &i, AuraRemoveMode mode)
{
for(int i = 0; i < 3; ++i)
{
- if(AurSpellInfo->Effect[i] == SPELL_EFFECT_SUMMON &&
- (AurSpellInfo->EffectMiscValueB[i] == SUMMON_TYPE_POSESSED ||
- AurSpellInfo->EffectMiscValueB[i] == SUMMON_TYPE_RACE_CONTROLLER ||
- AurSpellInfo->EffectMiscValueB[i] == SUMMON_TYPE_STEAM_TONK))
- {
- ((Player*)caster)->StopCastingCharm();
- break;
- }
+ if(AurSpellInfo->Effect[i] == SPELL_EFFECT_SUMMON)
+ if(SummonPropertiesEntry const *SummonProperties = sSummonPropertiesStore.LookupEntry(AurSpellInfo->EffectMiscValueB[i]))
+ if(SummonProperties->Group == SUMMON_TYPE_POSSESSED)
+ {
+ ((Player*)caster)->StopCastingCharm();
+ break;
+ }
}
}
}