diff options
author | Shauren <shauren.trinity@gmail.com> | 2016-06-14 22:13:27 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2016-06-14 22:13:27 +0200 |
commit | b415f0a04a38123eee00c95fc1f8f483c480526a (patch) | |
tree | 72125bed034871e8af778368e8fad020af6a75e9 | |
parent | 27e08e48e117a3c31e3d45d8bfe5d307d93ebc81 (diff) |
Core/Players: Fixed saving talents for all specs
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 4 | ||||
-rw-r--r-- | src/server/game/Tools/CharacterDatabaseCleaner.cpp | 2 |
3 files changed, 6 insertions, 8 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index b3f23d79221..083ab3c2465 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -24761,11 +24761,13 @@ void Player::SendTalentsInfoData() if (!spec) continue; + PlayerTalentMap* talents = GetTalentMap(i); + WorldPackets::Talent::TalentGroupInfo groupInfoPkt; groupInfoPkt.SpecID = spec->ID; - groupInfoPkt.TalentIDs.reserve(GetTalentMap(i)->size()); + groupInfoPkt.TalentIDs.reserve(talents->size()); - for (PlayerTalentMap::const_iterator itr = GetTalentMap(i)->begin(); itr != GetTalentMap(i)->end(); ++itr) + for (PlayerTalentMap::const_iterator itr = talents->begin(); itr != talents->end(); ++itr) { if (itr->second == PLAYERSPELL_REMOVED) continue; @@ -24989,7 +24991,7 @@ void Player::_SaveTalents(SQLTransaction& trans) trans->Append(stmt); PlayerTalentMap* talents; - for (uint8 group = 0; group < MAX_TALENT_GROUPS; ++group) + for (uint8 group = 0; group < MAX_SPECIALIZATIONS; ++group) { talents = GetTalentMap(group); for (PlayerTalentMap::iterator itr = talents->begin(); itr != talents->end();) diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 7320119f739..9b6680b7358 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -851,10 +851,6 @@ enum SpellAttr13 SPELL_ATTR13_UNK23 = 0x00800000 // 23 }; -#define MIN_TALENT_GROUP 0 -#define MAX_TALENT_GROUP 1 -#define MIN_TALENT_GROUPS 1 -#define MAX_TALENT_GROUPS 2 #define MIN_SPECIALIZATION_LEVEL 10 #define MAX_SPECIALIZATIONS 4 #define PET_SPEC_OVERRIDE_CLASS_INDEX MAX_CLASSES diff --git a/src/server/game/Tools/CharacterDatabaseCleaner.cpp b/src/server/game/Tools/CharacterDatabaseCleaner.cpp index 04614d65ded..a4d34f6088a 100644 --- a/src/server/game/Tools/CharacterDatabaseCleaner.cpp +++ b/src/server/game/Tools/CharacterDatabaseCleaner.cpp @@ -148,7 +148,7 @@ bool CharacterDatabaseCleaner::TalentCheck(uint32 talent_id) void CharacterDatabaseCleaner::CleanCharacterTalent() { - CharacterDatabase.DirectPExecute("DELETE FROM character_talent WHERE spec > %u", MAX_TALENT_GROUPS); + CharacterDatabase.DirectPExecute("DELETE FROM character_talent WHERE spec > %u", MAX_SPECIALIZATIONS); CheckUnique("spell", "character_talent", &TalentCheck); } |