From 3e2b810376ce735997b32deb33dc679599e7e2bd Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Thu, 18 Jun 2009 21:59:47 +0400 Subject: [PATCH] [8041] Avoid send talent info many times at loading. Small cleanups. --- src/game/Level3.cpp | 2 +- src/game/Player.cpp | 19 +++++++++---------- src/game/SharedDefines.h | 4 ++-- src/game/Spell.cpp | 2 +- src/game/SpellEffects.cpp | 4 ++-- src/shared/revision_nr.h | 2 +- 6 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index 6eeaff488..cdd699008 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -4652,7 +4652,7 @@ bool ChatHandler::HandleResetTalentsCommand(const char * args) return true; } - // Try reset talenents as Hunter Pet + // Try reset talents as Hunter Pet Creature* creature = getSelectedCreature(); if (creature && creature->isPet() && ((Pet *)creature)->getPetType() == HUNTER_PET) { diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 68298e5d9..79e1685f5 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -423,7 +423,7 @@ Player::Player (WorldSession *session): Unit(), m_achievementMgr(this), m_reputa m_lastPotionId = 0; m_activeSpec = 0; - m_specsCount = 0; + m_specsCount = 1; for (int i = 0; i < BASEMOD_END; ++i) { @@ -2359,7 +2359,8 @@ void Player::InitTalentForLevel() SetFreeTalentPoints(talentPointsForLevel-m_usedTalentCount); } - SendTalentsInfoData(false); // update at client + if(!GetSession()->PlayerLoading()) + SendTalentsInfoData(false); // update at client } void Player::InitStatsForLevel(bool reapplyMods) @@ -3250,7 +3251,6 @@ void Player::removeSpell(uint32 spell_id, bool disabled, bool update_action_bar_ } } - void Player::RemoveSpellCooldown( uint32 spell_id, bool update /* = false */ ) { m_spellCooldowns.erase(spell_id); @@ -19994,14 +19994,13 @@ bool Player::canSeeSpellClickOn(Creature const *c) const void Player::BuildPlayerTalentsInfoData(WorldPacket *data) { *data << uint32(GetFreeTalentPoints()); // unspentTalentPoints - uint8 talentGroupCount = 1; - *data << uint8(talentGroupCount); // talent group count (0, 1 or 2) - *data << uint8(0); // talent group index (0 or 1) + *data << uint8(m_specsCount); // talent group count (0, 1 or 2) + *data << uint8(m_activeSpec); // talent group index (0 or 1) - if(talentGroupCount) + if(m_specsCount) { // loop through all specs (only 1 for now) - for(uint32 groups = 0; groups < talentGroupCount; ++groups) + for(uint32 specIdx = 0; specIdx < m_specsCount; ++specIdx) { uint8 talentIdCount = 0; size_t pos = data->wpos(); @@ -20026,7 +20025,7 @@ void Player::BuildPlayerTalentsInfoData(WorldPacket *data) // find max talent rank int32 curtalent_maxrank = -1; - for(int32 k = 4; k > -1; --k) + for(int32 k = MAX_TALENT_RANK-1; k > -1; --k) { if(talentInfo->RankID[k] && HasSpell(talentInfo->RankID[k])) { @@ -20300,4 +20299,4 @@ void Player::ActivateSpec(uint32 specNum) return; resetTalents(true); -} \ No newline at end of file +} diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index 124f970f4..f07ec804b 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -681,8 +681,8 @@ enum SpellEffects SPELL_EFFECT_MILLING = 158, SPELL_EFFECT_ALLOW_RENAME_PET = 159, SPELL_EFFECT_160 = 160, - SPELL_EFFECT_161 = 161, - SPELL_EFFECT_162 = 162, + SPELL_EFFECT_TALENT_SPEC_COUNT = 161, + SPELL_EFFECT_TALENT_SPEC_SELECT = 162, TOTAL_SPELL_EFFECTS = 163 }; diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 95e65802a..4a424142c 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -5712,4 +5712,4 @@ void Spell::FillRaidOrPartyHealthPriorityTargets( UnitList &TagUnitMap, Unit* ta TagUnitMap.push_back(healthQueue.top().getUnit()); healthQueue.pop(); } -} \ No newline at end of file +} diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index fa7ffe9ce..6f49c8289 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -218,8 +218,8 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]= &Spell::EffectMilling, //158 SPELL_EFFECT_MILLING milling &Spell::EffectRenamePet, //159 SPELL_EFFECT_ALLOW_RENAME_PET allow rename pet once again &Spell::EffectNULL, //160 SPELL_EFFECT_160 unused - &Spell::EffectNULL, //161 SPELL_EFFECT_161 second talent spec (learn/revert) - &Spell::EffectNULL //162 SPELL_EFFECT_162 activate primary/secondary spec + &Spell::EffectNULL, //161 SPELL_EFFECT_TALENT_SPEC_COUNT second talent spec (learn/revert) + &Spell::EffectNULL, //162 SPELL_EFFECT_TALENT_SPEC_SELECT activate primary/secondary spec }; void Spell::EffectNULL(uint32 /*i*/) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 132cab5c8..a5b8ce876 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8040" + #define REVISION_NR "8041" #endif // __REVISION_NR_H__