aboutsummaryrefslogtreecommitdiff
path: root/src/game/CreatureAI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/CreatureAI.cpp')
-rw-r--r--src/game/CreatureAI.cpp64
1 files changed, 1 insertions, 63 deletions
diff --git a/src/game/CreatureAI.cpp b/src/game/CreatureAI.cpp
index 0713ef592d3..2390b359731 100644
--- a/src/game/CreatureAI.cpp
+++ b/src/game/CreatureAI.cpp
@@ -19,50 +19,12 @@
*/
#include "CreatureAI.h"
+#include "CreatureAIImpl.h"
#include "Creature.h"
#include "Player.h"
#include "Pet.h"
-#include "SpellAuras.h"
#include "World.h"
-void UnitAI::AttackStart(Unit *victim)
-{
- if(!victim)
- return;
-
- if(me->Attack(victim, true))
- {
- //DEBUG_LOG("Creature %s tagged a victim to kill [guid=%u]", me->GetName(), victim->GetGUIDLow());
- me->GetMotionMaster()->MoveChase(victim);
- }
-}
-
-void UnitAI::DoMeleeAttackIfReady()
-{
- //Make sure our attack is ready and we aren't currently casting before checking distance
- if (me->isAttackReady() && !me->hasUnitState(UNIT_STAT_CASTING))
- {
- //If we are within range melee the target
- if (me->IsWithinMeleeRange(me->getVictim()))
- {
- me->AttackerStateUpdate(me->getVictim());
- me->resetAttackTimer();
- }
- }
- if (me->haveOffhandWeapon() && me->isAttackReady(OFF_ATTACK) && !me->hasUnitState(UNIT_STAT_CASTING))
- {
- //If we are within range melee the target
- if (me->IsWithinMeleeRange(me->getVictim()))
- {
- me->AttackerStateUpdate(me->getVictim(), OFF_ATTACK);
- me->resetAttackTimer(OFF_ATTACK);
- }
- }
-}
-
-//Enable PlayerAI when charmed
-void PlayerAI::OnCharmed(bool apply) { me->IsAIEnabled = apply; }
-
//Disable CreatureAI when charmed
void CreatureAI::OnCharmed(bool apply)
{
@@ -295,30 +257,6 @@ void CreatureAI::SelectTargetList(std::list<Unit*> &targetList, uint32 num, Sele
}
}
-void SimpleCharmedAI::UpdateAI(const uint32 /*diff*/)
-{
- Creature *charmer = (Creature*)me->GetCharmer();
-
- //kill self if charm aura has infinite duration
- if(charmer->IsInEvadeMode())
- {
- Unit::AuraEffectList const& auras = me->GetAurasByType(SPELL_AURA_MOD_CHARM);
- for(Unit::AuraEffectList::const_iterator iter = auras.begin(); iter != auras.end(); ++iter)
- if((*iter)->GetCasterGUID() == charmer->GetGUID() && (*iter)->GetParentAura()->IsPermanent())
- {
- charmer->Kill(me);
- return;
- }
- }
-
- if(!charmer->isInCombat())
- me->GetMotionMaster()->MoveFollow(charmer, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
-
- Unit *target = me->getVictim();
- if(!target || !charmer->canAttack(target))
- AttackStart(charmer->SelectNearestTarget());
-}
-
/*void CreatureAI::AttackedBy( Unit* attacker )
{
if(!m_creature->getVictim())