aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2017-04-22 06:33:05 -0300
committerfunjoker <funjoker109@gmail.com>2020-04-27 15:50:27 +0200
commitcfdde556cdf3318d2db96d2e1bd60bace1dbf9b3 (patch)
tree5cb258a8e82092ab60d69634525784d457abb211
parente3eca0c26410a6c9dc7fbef46ffb938cdd0901bc (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.cpp11
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;
}
}