diff options
author | ariel- <ariel-@users.noreply.github.com> | 2017-04-22 06:33:05 -0300 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2020-04-27 15:50:27 +0200 |
commit | cfdde556cdf3318d2db96d2e1bd60bace1dbf9b3 (patch) | |
tree | 5cb258a8e82092ab60d69634525784d457abb211 | |
parent | e3eca0c26410a6c9dc7fbef46ffb938cdd0901bc (diff) |
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)
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
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; } } |