aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorccrs <ccrs@users.noreply.github.com>2017-03-25 13:17:29 +0100
committerfunjoker <funjoker109@gmail.com>2020-04-24 17:18:50 +0200
commitf135b7aea15e06f4d85ed453da8989f738c5537d (patch)
tree253ad9c0d73380319dcef573b96d8d7c412235cd
parentb2d1b11326ed70325d6bbd4b4558f9c4e5f6f300 (diff)
Core/Movement: 96f4c7c followup
(cherry picked from commit 9be7f5f57b897888983a9ca6f441479f3571513c)
-rw-r--r--sql/updates/world/master/2020_04_16_01_world_2017_03_25_00_world.sql1
-rw-r--r--src/server/game/Miscellaneous/Language.h2
-rw-r--r--src/server/game/Movement/MotionMaster.cpp16
-rw-r--r--src/server/game/Movement/MotionMaster.h2
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp3
5 files changed, 14 insertions, 10 deletions
diff --git a/sql/updates/world/master/2020_04_16_01_world_2017_03_25_00_world.sql b/sql/updates/world/master/2020_04_16_01_world_2017_03_25_00_world.sql
new file mode 100644
index 00000000000..1e678704466
--- /dev/null
+++ b/sql/updates/world/master/2020_04_16_01_world_2017_03_25_00_world.sql
@@ -0,0 +1 @@
+DELETE FROM `trinity_string` WHERE `entry`=530;
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index 283b0b42fc7..4355789458a 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -547,7 +547,7 @@ enum TrinityStrings
LANG_MOVEGENS_IDLE = 527,
LANG_MOVEGENS_RANDOM = 528,
LANG_MOVEGENS_WAYPOINT = 529,
- LANG_MOVEGENS_ANIMAL_RANDOM = 530,
+ // = 530, not used
LANG_MOVEGENS_CONFUSED = 531,
LANG_MOVEGENS_CHASE_PLAYER = 532,
LANG_MOVEGENS_CHASE_CREATURE = 533,
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index b9efa1cf273..3e775d238a4 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -43,10 +43,16 @@ MotionMaster::~MotionMaster()
// clear ALL movement generators (including default)
while (!empty())
{
- MovementGenerator *curr = top();
+ MovementGenerator* movement = top();
pop();
- if (curr && !IsStatic(curr))
- delete curr; // Skip finalizing on delete, it might launch new movement
+ if (movement && !IsStatic(movement))
+ delete movement;
+ }
+
+ while (!_expireList.empty())
+ {
+ delete _expireList.back();
+ _expireList.pop_back();
}
}
@@ -117,8 +123,8 @@ void MotionMaster::Clear(bool reset /*= true*/)
void MotionMaster::ClearExpireList()
{
- for (auto itr = _expireList.begin(); itr != _expireList.end(); itr++)
- DirectDelete(*itr);
+ for (auto itr : _expireList)
+ DirectDelete(itr);
_expireList.clear();
diff --git a/src/server/game/Movement/MotionMaster.h b/src/server/game/Movement/MotionMaster.h
index ca81c65c8a1..09efe7d3188 100644
--- a/src/server/game/Movement/MotionMaster.h
+++ b/src/server/game/Movement/MotionMaster.h
@@ -99,7 +99,7 @@ struct JumpArrivalCastArgs
class TC_GAME_API MotionMaster
{
public:
- explicit MotionMaster(Unit* unit) : _expireList(nullptr), _top(-1), _owner(unit), _cleanFlag(MMCF_NONE)
+ explicit MotionMaster(Unit* unit) : _top(-1), _owner(unit), _cleanFlag(MMCF_NONE)
{
for (uint8 i = 0; i < MAX_MOTION_SLOT; ++i)
{
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index d5bb43c9607..23dbd8e3d1a 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -2201,9 +2201,6 @@ public:
case WAYPOINT_MOTION_TYPE:
handler->SendSysMessage(LANG_MOVEGENS_WAYPOINT);
break;
- case ANIMAL_RANDOM_MOTION_TYPE:
- handler->SendSysMessage(LANG_MOVEGENS_ANIMAL_RANDOM);
- break;
case CONFUSED_MOTION_TYPE:
handler->SendSysMessage(LANG_MOVEGENS_CONFUSED);
break;