diff options
| author | megamage <none@none> | 2008-11-24 17:15:41 -0600 |
|---|---|---|
| committer | megamage <none@none> | 2008-11-24 17:15:41 -0600 |
| commit | f7e5b2ba69605b23ef918e53922839888983cacf (patch) | |
| tree | cce8bfc7d12750f919f83509af16b16867be0626 /src/bindings/scripts/include | |
| parent | 7312c5034e9e98dcf935c21ced806278514fe862 (diff) | |
*Implement simple charmed AI for players charmed by creatures.
--HG--
branch : trunk
Diffstat (limited to 'src/bindings/scripts/include')
| -rw-r--r-- | src/bindings/scripts/include/sc_creature.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp index b3fd3723466..a74b59c872c 100644 --- a/src/bindings/scripts/include/sc_creature.cpp +++ b/src/bindings/scripts/include/sc_creature.cpp @@ -141,17 +141,24 @@ void ScriptedAI::UpdateAI(const uint32 diff) void ScriptedAI::EnterEvadeMode() { - m_creature->InterruptNonMeleeSpells(true); + //m_creature->InterruptNonMeleeSpells(true); m_creature->RemoveAllAuras(); m_creature->DeleteThreatList(); m_creature->CombatStop(); m_creature->LoadCreaturesAddon(); - - if (m_creature->isAlive()) - m_creature->GetMotionMaster()->MoveTargetedHome(); - m_creature->SetLootRecipient(NULL); + if(m_creature->isAlive()) + { + if(Unit* owner = m_creature->GetOwner()) + { + if(owner->isAlive()) + m_creature->GetMotionMaster()->MoveFollow(owner,PET_FOLLOW_DIST,PET_FOLLOW_ANGLE); + } + else + m_creature->GetMotionMaster()->MoveTargetedHome(); + } + InCombat = false; Reset(); } |
