From f572279a6103b4c7f8e36d025d35ed59ffbf873f Mon Sep 17 00:00:00 2001 From: SilverIce Date: Fri, 12 Aug 2011 17:18:11 +0300 Subject: [PATCH] [11780] fix the issue that HomeMovementGenerator finalize code wasn't executed in real meaning --- src/game/HomeMovementGenerator.cpp | 6 ++++-- src/game/HomeMovementGenerator.h | 5 ++--- src/shared/revision_nr.h | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/game/HomeMovementGenerator.cpp b/src/game/HomeMovementGenerator.cpp index c9e892128..44922ae14 100644 --- a/src/game/HomeMovementGenerator.cpp +++ b/src/game/HomeMovementGenerator.cpp @@ -50,17 +50,19 @@ void HomeMovementGenerator::_setTargetLocation(Creature & owner) init.SetWalk(false); init.Launch(); + arrived = false; owner.clearUnitState(UNIT_STAT_ALL_STATE); } bool HomeMovementGenerator::Update(Creature &owner, const uint32& time_diff) { - return !owner.movespline->Finalized(); + arrived = owner.movespline->Finalized(); + return !arrived; } void HomeMovementGenerator::Finalize(Creature& owner) { - if (i_travel_timer == 0) + if (arrived) { if (owner.GetTemporaryFactionFlags() & TEMPFACTION_RESTORE_REACH_HOME) owner.ClearTemporaryFaction(); diff --git a/src/game/HomeMovementGenerator.h b/src/game/HomeMovementGenerator.h index b1d744013..e5b960a3f 100644 --- a/src/game/HomeMovementGenerator.h +++ b/src/game/HomeMovementGenerator.h @@ -32,7 +32,7 @@ class MANGOS_DLL_SPEC HomeMovementGenerator { public: - HomeMovementGenerator() {} + HomeMovementGenerator() : arrived(false) {} ~HomeMovementGenerator() {} void Initialize(Creature &); @@ -40,11 +40,10 @@ class MANGOS_DLL_SPEC HomeMovementGenerator void Interrupt(Creature &) {} void Reset(Creature &); bool Update(Creature &, const uint32 &); - void modifyTravelTime(uint32 travel_time) { i_travel_timer = travel_time; } MovementGeneratorType GetMovementGeneratorType() const { return HOME_MOTION_TYPE; } private: void _setTargetLocation(Creature &); - uint32 i_travel_timer; + bool arrived; }; #endif diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 902cda584..e56669a6f 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11779" + #define REVISION_NR "11780" #endif // __REVISION_NR_H__