All pastes #918835 Raw Edit

Anonymous

public text v1 · immutable
#918835 ·published 2008-02-26 11:56 UTC
rendered paste body
Index: src/game/Player.cpp
===================================================================
--- src/game/Player.cpp	(revision 5314)
+++ src/game/Player.cpp	(working copy)
@@ -14468,16 +14468,6 @@
     }
 }
 
-void Player::Uncharm()
-{
-    Unit* charm = GetCharm();
-    if(!charm) return;
-
-    charm->RemoveSpellsCausingAura(SPELL_AURA_MOD_CHARM);
-    charm->RemoveSpellsCausingAura(SPELL_AURA_MOD_POSSESS);
-
-}
-
 void Player::Say(const std::string text, const uint32 language)
 {
     WorldPacket data(SMSG_MESSAGECHAT, 200);
Index: src/game/Player.h
===================================================================
--- src/game/Player.h	(revision 5314)
+++ src/game/Player.h	(working copy)
@@ -974,7 +974,6 @@
         void UpdateInnerTime (int time) { time_inn_enter = time; };
 
         void RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent = false);
-        void Uncharm();
 
         void Say(const std::string text, const uint32 language);
         void Yell(const std::string text, const uint32 language);
Index: src/game/Unit.cpp
===================================================================
--- src/game/Unit.cpp	(revision 5314)
+++ src/game/Unit.cpp	(working copy)
@@ -7580,6 +7580,7 @@
     {
         RemoveAllAurasOnDeath();
         UnsummonAllTotems();
+        Uncharm();
 
         ModifyAuraState(AURA_STATE_HEALTHLESS_20_PERCENT, false);
         ModifyAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, false);
@@ -8967,3 +8968,12 @@
     else
         ApplyPercentModFloatValue(UNIT_MOD_CAST_SPEED,-val,apply);
 }
+
+void Unit::Uncharm()
+{
+    Unit* charm = GetCharm();
+    if(!charm) return;
+    charm->CombatStop();
+    charm->RemoveSpellsCausingAura(SPELL_AURA_MOD_CHARM);
+    charm->RemoveSpellsCausingAura(SPELL_AURA_MOD_POSSESS);
+}
\ No newline at end of file
Index: src/game/Unit.h
===================================================================
--- src/game/Unit.h	(revision 5314)
+++ src/game/Unit.h	(working copy)
@@ -956,6 +956,7 @@
         void ModifyAuraState(AuraState flag, bool apply);
         bool HasAuraState(AuraState flag) const { return HasFlag(UNIT_FIELD_AURASTATE, 1<<(flag-1)); }
         void UnsummonAllTotems();
+        void Uncharm();
         int32 SpellBaseDamageBonus(int32 SchoolMask);
         int32 SpellBaseHealingBonus(int32 SchoolMask);
         int32 SpellBaseDamageBonusForVictim(int32 SchoolMask, Unit *pVictim);