diff options
author | Kudlaty <none@none> | 2009-10-31 03:33:04 +0100 |
---|---|---|
committer | Kudlaty <none@none> | 2009-10-31 03:33:04 +0100 |
commit | 717f1aefc99e2bc73537dace2f2c6046aebf42a9 (patch) | |
tree | 23226d0979f9d6e0515f2ac2e2f6f477fa999c09 | |
parent | e6e621bfada0bd3e254d362f4504357b8799e1de (diff) |
*Change virtual bool IsEscorted in escort_ai.h to check if creature is escorted or not
*If creature use POINT_MOTION_TYPE, sethomeposition in combat start point
--HG--
branch : trunk
-rw-r--r-- | src/bindings/scripts/base/escort_ai.h | 2 | ||||
-rw-r--r-- | src/game/Unit.cpp | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/bindings/scripts/base/escort_ai.h b/src/bindings/scripts/base/escort_ai.h index 4ac826c6c80..37c2ea30117 100644 --- a/src/bindings/scripts/base/escort_ai.h +++ b/src/bindings/scripts/base/escort_ai.h @@ -71,7 +71,7 @@ struct TRINITY_DLL_DECL npc_escortAI : public ScriptedAI void SetEscortPaused(bool uPaused); bool HasEscortState(uint32 uiEscortState) { return (m_uiEscortState & uiEscortState); } - virtual bool IsEscorted() { return true; } + virtual bool IsEscorted() { return (m_uiEscortState & STATE_ESCORT_ESCORTING); } void SetMaxPlayerDistance(float newMax) { MaxPlayerDistance = newMax; } float GetMaxPlayerDistance() { return MaxPlayerDistance; } diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 459d9c40bac..3c0e8a94c20 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -10616,7 +10616,8 @@ void Unit::SetInCombatState(bool PvP, Unit* enemy) { // Set home position at place of engaging combat for escorted creatures if(( IsAIEnabled && ((Creature*)this)->AI()->IsEscorted() ) || - GetMotionMaster()->GetCurrentMovementGeneratorType() == WAYPOINT_MOTION_TYPE) + GetMotionMaster()->GetCurrentMovementGeneratorType() == WAYPOINT_MOTION_TYPE || + ((Creature*)this)->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE) ((Creature*)this)->SetHomePosition(GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation()); if (enemy) |