aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Player.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 405c3406a33..cb4ce5ce7f1 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -15183,8 +15183,6 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )
SetUInt32Value(PLAYER_TRACK_CREATURES, 0 );
SetUInt32Value(PLAYER_TRACK_RESOURCES, 0 );
- _LoadSkills();
-
// make sure the unit is considered out of combat for proper loading
ClearInCombat();
@@ -15224,6 +15222,11 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )
_LoadTalents(holder->GetResult(PLAYER_LOGIN_QUERY_LOADTALENTS));
_LoadSpells(holder->GetResult(PLAYER_LOGIN_QUERY_LOADSPELLS));
+ // Moved _LoadSkills() to be after _LoadSpells() because certain Tradeskill passive buffs
+ // would learn but not apply when calling _LoadSkills() first.
+ // Example: 53125 (Master of Anatomy) which is learned at skinning 75/75
+ _LoadSkills();
+
_LoadGlyphs(holder->GetResult(PLAYER_LOGIN_QUERY_LOADGLYPHS));
_LoadAuras(holder->GetResult(PLAYER_LOGIN_QUERY_LOADAURAS), time_diff);
_LoadGlyphAuras();