mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 01:37:00 +00:00
Over 100 camangos Cata commits applied (to c12950)
Over 100 camangos Cata commits applied. up to and inclusing c12950.
This commit is contained in:
parent
b4ec0440aa
commit
eef77eadb9
117 changed files with 4314 additions and 3547 deletions
|
|
@ -154,12 +154,13 @@ void CreatureAI::SetCombatMovement(bool enable, bool stopOrStartMovement /*=fals
|
|||
|
||||
void CreatureAI::HandleMovementOnAttackStart(Unit* victim)
|
||||
{
|
||||
MotionMaster* creatureMotion = m_creature->GetMotionMaster();
|
||||
if (m_isCombatMovement)
|
||||
m_creature->GetMotionMaster()->MoveChase(victim, m_attackDistance, m_attackAngle);
|
||||
creatureMotion->MoveChase(victim, m_attackDistance, m_attackAngle);
|
||||
// TODO - adapt this to only stop OOC-MMGens when MotionMaster rewrite is finished
|
||||
else if (m_creature->GetMotionMaster()->GetCurrentMovementGeneratorType() == WAYPOINT_MOTION_TYPE || m_creature->GetMotionMaster()->GetCurrentMovementGeneratorType() == RANDOM_MOTION_TYPE)
|
||||
else if (creatureMotion->GetCurrentMovementGeneratorType() == WAYPOINT_MOTION_TYPE || creatureMotion->GetCurrentMovementGeneratorType() == RANDOM_MOTION_TYPE)
|
||||
{
|
||||
m_creature->GetMotionMaster()->MoveIdle();
|
||||
creatureMotion->MoveIdle();
|
||||
m_creature->StopMoving();
|
||||
}
|
||||
}
|
||||
|
|
@ -223,10 +224,20 @@ void CreatureAI::SendAIEventAround(AIEventType eventType, Unit* pInvoker, uint32
|
|||
{
|
||||
std::list<Creature*> receiverList;
|
||||
|
||||
// Use this check here to collect only assitable creatures in case of CALL_ASSISTANCE, else be less strict
|
||||
MaNGOS::AnyAssistCreatureInRangeCheck u_check(m_creature, eventType == AI_EVENT_CALL_ASSISTANCE ? pInvoker : NULL, fRadius);
|
||||
MaNGOS::CreatureListSearcher<MaNGOS::AnyAssistCreatureInRangeCheck> searcher(receiverList, u_check);
|
||||
Cell::VisitGridObjects(m_creature, searcher, fRadius);
|
||||
// Allow sending custom AI events to all units in range
|
||||
if (eventType >= AI_EVENT_CUSTOM_EVENTAI_A && eventType <= AI_EVENT_CUSTOM_EVENTAI_F && eventType != AI_EVENT_GOT_CCED)
|
||||
{
|
||||
MaNGOS::AnyUnitInObjectRangeCheck u_check(m_creature, fRadius);
|
||||
MaNGOS::CreatureListSearcher<MaNGOS::AnyUnitInObjectRangeCheck> searcher(receiverList, u_check);
|
||||
Cell::VisitGridObjects(m_creature, searcher, fRadius);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Use this check here to collect only assitable creatures in case of CALL_ASSISTANCE, else be less strict
|
||||
MaNGOS::AnyAssistCreatureInRangeCheck u_check(m_creature, eventType == AI_EVENT_CALL_ASSISTANCE ? pInvoker : NULL, fRadius);
|
||||
MaNGOS::CreatureListSearcher<MaNGOS::AnyAssistCreatureInRangeCheck> searcher(receiverList, u_check);
|
||||
Cell::VisitGridObjects(m_creature, searcher, fRadius);
|
||||
}
|
||||
|
||||
if (!receiverList.empty())
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue