diff options
author | ariel- <ariel-@users.noreply.github.com> | 2017-04-22 06:33:05 -0300 |
---|---|---|
committer | ariel- <ariel-@users.noreply.github.com> | 2017-04-22 06:33:05 -0300 |
commit | 7ffe0563664c2ed5ba90832dcc42bc15acc177c3 (patch) | |
tree | e58cc36dbb1fdb18555e6a54168f1485f32f1d54 | |
parent | 88c12b45d0adbe7ca18a72a53cb1416b1621975b (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
-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 718626e6ad3..6f5043e6ae1 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -20151,13 +20151,14 @@ void Player::_SaveSpells(SQLTransaction& 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; } } |