[7697] Interrupt casting at enter to evade mode. Author: VladimirMangos

--HG--
branch : trunk
This commit is contained in:
megamage
2009-04-22 17:58:46 -05:00
parent 3a316370b1
commit 3b49bfb1ff
7 changed files with 15 additions and 15 deletions
+2 -2
View File
@@ -47,7 +47,7 @@ void AggressorAI::EnterEvadeMode()
{
DEBUG_LOG("Creature stopped attacking cuz his dead [guid=%u]", m_creature->GetGUIDLow());
i_victimGuid = 0;
m_creature->CombatStop();
m_creature->CombatStop(true);
m_creature->DeleteThreatList();
return;
}
@@ -90,7 +90,7 @@ void AggressorAI::EnterEvadeMode()
m_creature->DeleteThreatList();
i_victimGuid = 0;
m_creature->CombatStop();
m_creature->CombatStop(true);
m_creature->SetLootRecipient(NULL);
}
+1 -1
View File
@@ -1081,7 +1081,7 @@ void CreatureEventAI::EnterEvadeMode()
m_creature->InterruptNonMeleeSpells(true);
m_creature->RemoveAllAuras();
m_creature->DeleteThreatList();
m_creature->CombatStop();
m_creature->CombatStop(true);
if (m_creature->isAlive())
m_creature->GetMotionMaster()->MoveTargetedHome();
+2 -2
View File
@@ -67,7 +67,7 @@ void GuardAI::EnterEvadeMode()
i_state = STATE_NORMAL;
i_victimGuid = 0;
m_creature->CombatStop();
m_creature->CombatStop(true);
m_creature->DeleteThreatList();
return;
}
@@ -98,7 +98,7 @@ void GuardAI::EnterEvadeMode()
m_creature->RemoveAllAuras();
m_creature->DeleteThreatList();
i_victimGuid = 0;
m_creature->CombatStop();
m_creature->CombatStop(true);
i_state = STATE_NORMAL;
// Remove TargetedMovementGenerator from MotionMaster stack list, and add HomeMovementGenerator instead
+2 -2
View File
@@ -75,7 +75,7 @@ ReactorAI::EnterEvadeMode()
m_creature->GetMotionMaster()->MovementExpired();
m_creature->GetMotionMaster()->MoveIdle();
i_victimGuid = 0;
m_creature->CombatStop();
m_creature->CombatStop(true);
m_creature->DeleteThreatList();
return;
}
@@ -102,7 +102,7 @@ ReactorAI::EnterEvadeMode()
m_creature->RemoveAllAuras();
m_creature->DeleteThreatList();
i_victimGuid = 0;
m_creature->CombatStop();
m_creature->CombatStop(true);
m_creature->SetLootRecipient(NULL);
if(!m_creature->GetCharmerOrOwner())
+1 -1
View File
@@ -50,7 +50,7 @@ TotemAI::MoveInLineOfSight(Unit *)
void TotemAI::EnterEvadeMode()
{
m_creature->CombatStop();
m_creature->CombatStop(true);
}
void
+5 -5
View File
@@ -7845,9 +7845,9 @@ bool Unit::AttackStop()
return true;
}
void Unit::CombatStop(bool cast)
void Unit::CombatStop(bool includingCast)
{
if(cast && IsNonMeleeSpellCasted(false))
if (includingCast && IsNonMeleeSpellCasted(false))
InterruptNonMeleeSpells(false);
AttackStop();
@@ -7857,12 +7857,12 @@ void Unit::CombatStop(bool cast)
ClearInCombat();
}
void Unit::CombatStopWithPets(bool cast)
void Unit::CombatStopWithPets(bool includingCast)
{
CombatStop(cast);
CombatStop(includingCast);
for(ControlList::const_iterator itr = m_Controlled.begin(); itr != m_Controlled.end(); ++itr)
(*itr)->CombatStop(cast);
(*itr)->CombatStop(includingCast);
}
bool Unit::isAttackingPlayer() const
+2 -2
View File
@@ -967,8 +967,8 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
AttackerSet const& getAttackers() const { return m_attackers; }
bool isAttackingPlayer() const;
Unit* getVictim() const { return m_attacking; }
void CombatStop(bool cast = false);
void CombatStopWithPets(bool cast = false);
void CombatStop(bool includingCast = false);
void CombatStopWithPets(bool includingCast = false);
Unit* SelectNearbyTarget(float dist = NOMINAL_MELEE_RANGE) const;
bool hasNegativeAuraWithInterruptFlag(uint32 flag);