*Move MoveFollow owner from MoveTargetedHome to enterevademode.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-05-12 10:11:54 -05:00
parent 65b10830b8
commit df4e8b456b
4 changed files with 14 additions and 21 deletions

View File

@@ -104,14 +104,22 @@ bool CreatureAI::UpdateVictim()
void CreatureAI::EnterEvadeMode()
{
if(me->IsInEvadeMode())
return;
me->RemoveAllAuras();
me->DeleteThreatList();
me->CombatStop();
me->CombatStop(true);
me->LoadCreaturesAddon();
me->SetLootRecipient(NULL);
if(me->isAlive())
me->GetMotionMaster()->MoveTargetedHome();
{
if(Unit *owner = me->GetCharmerOrOwner())
me->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE, MOTION_SLOT_IDLE);
else
me->GetMotionMaster()->MoveTargetedHome();
}
Reset();
}

View File

@@ -1054,14 +1054,7 @@ void CreatureEventAI::JustReachedHome()
void CreatureEventAI::EnterEvadeMode()
{
m_creature->RemoveAllAuras();
m_creature->DeleteThreatList();
m_creature->CombatStop(true);
if (m_creature->isAlive())
m_creature->GetMotionMaster()->MoveTargetedHome();
m_creature->SetLootRecipient(NULL);
CreatureAI::EnterEvadeMode();
if (bEmptyList)
return;

View File

@@ -203,14 +203,7 @@ MotionMaster::MoveTargetedHome()
Clear(false);
if(Unit *target = i_owner->GetCharmerOrOwner())
{
DEBUG_LOG("Pet or controlled unit (Entry: %u GUID: %u) targeting home",
i_owner->GetEntry(), i_owner->GetGUIDLow() );
MoveFollow(target, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE, MOTION_SLOT_IDLE);
}
else if(i_owner->GetTypeId() == TYPEID_UNIT)
if(i_owner->GetTypeId() == TYPEID_UNIT)
{
DEBUG_LOG("Creature (Entry: %u GUID: %u) targeted home", i_owner->GetEntry(), i_owner->GetGUIDLow());
Mutate(new HomeMovementGenerator<Creature>(), MOTION_SLOT_ACTIVE);
@@ -218,7 +211,6 @@ MotionMaster::MoveTargetedHome()
else
{
sLog.outError("Player (GUID: %u) attempt targeted home", i_owner->GetGUIDLow() );
return;
}
}

View File

@@ -3275,7 +3275,7 @@ void Spell::EffectSummonType(uint32 i)
summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
summon->GetMotionMaster()->MoveTargetedHome();
summon->AI()->EnterEvadeMode();
std::string name = m_originalCaster->GetName();
name.append(petTypeSuffix[3]);
@@ -6423,7 +6423,7 @@ void Spell::SummonGuardian(uint32 entry, SummonPropertiesEntry const *properties
summon->SetUInt32Value(UNIT_CREATED_BY_SPELL, m_spellInfo->Id);
summon->GetMotionMaster()->MoveTargetedHome();
summon->AI()->EnterEvadeMode();
}
}