From 717f1aefc99e2bc73537dace2f2c6046aebf42a9 Mon Sep 17 00:00:00 2001 From: Kudlaty Date: Sat, 31 Oct 2009 03:33:04 +0100 Subject: *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 --- src/bindings/scripts/base/escort_ai.h | 2 +- src/game/Unit.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src') 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) -- cgit v1.2.3