From cfdde556cdf3318d2db96d2e1bd60bace1dbf9b3 Mon Sep 17 00:00:00 2001 From: ariel- Date: Sat, 22 Apr 2017 06:33:05 -0300 Subject: Core/Player: don't randomly change temporary spell status - They shouldn't be saved in db - Prevented temporary spell removal after a save Closes #14373 (cherry picked from commit 7ffe0563664c2ed5ba90832dcc42bc15acc177c3) --- src/server/game/Entities/Player/Player.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index c511f318309..d007bf3e7ff 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -21395,13 +21395,14 @@ void Player::_SaveSpells(CharacterDatabaseTransaction& trans) if (itr->second->state == PLAYERSPELL_REMOVED) { delete itr->second; - m_spells.erase(itr++); + itr = m_spells.erase(itr); + continue; } - else - { + + if (itr->second->state != PLAYERSPELL_TEMPORARY) itr->second->state = PLAYERSPELL_UNCHANGED; - ++itr; - } + + ++itr; } } -- cgit v1.2.3