diff options
| author | click <none@none> | 2010-04-13 18:35:00 +0200 | 
|---|---|---|
| committer | click <none@none> | 2010-04-13 18:35:00 +0200 | 
| commit | b5e9b5fa13fbc4f0f2d22ab3d1e12c5297efe3e3 (patch) | |
| tree | b1a8756695399a2a40ccfe44466c931850bac9fa /src/game/Player.cpp | |
| parent | a02e0bb4bf227642877b705b86651a795da01f18 (diff) | |
* Fix actionbars-issue with talent-based spells/actions disappearing
* Revert previous mess someone(tm) made with the "reinstating" actionBars -field (me!)
--HG--
branch : trunk
Diffstat (limited to 'src/game/Player.cpp')
| -rw-r--r-- | src/game/Player.cpp | 19 | 
1 files changed, 8 insertions, 11 deletions
| diff --git a/src/game/Player.cpp b/src/game/Player.cpp index ffb26c48b33..666ebd26f56 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -15557,8 +15557,8 @@ bool Player::LoadFromDB(uint32 guid, SqlQueryHolder *holder)      //"resettalents_time, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, online, death_expire_time, taxi_path, dungeon_difficulty,"      // 39           40                41                 42                    43          44          45              46           47               48              49      //"arenaPoints, totalHonorPoints, todayHonorPoints, yesterdayHonorPoints, totalKills, todayKills, yesterdayKills, chosenTitle, knownCurrencies, watchedFaction, drunk," -    // 50      51      52      53      54      55      56      57      58           59         60          61             62              63      64           65 -    //"health, power1, power2, power3, power4, power5, power6, power7, instance_id, speccount, activespec, exploredZones, equipmentCache, ammoId, knownTitles, actionBars FROM characters WHERE guid = '%u'", guid); +    // 50      51      52      53      54      55      56      57      58           59         60          61             62              63      64 +    //"health, power1, power2, power3, power4, power5, power6, power7, instance_id, speccount, activespec, exploredZones, equipmentCache, ammoId, knownTitles FROM characters WHERE guid = '%u'", guid);      QueryResult_AutoPtr result = holder->GetResult(PLAYER_LOGIN_QUERY_LOADFROM);      if (!result) @@ -15626,8 +15626,6 @@ bool Player::LoadFromDB(uint32 guid, SqlQueryHolder *holder)      SetUInt32Value(PLAYER_AMMO_ID, fields[63].GetUInt32()); -    SetByteValue(PLAYER_FIELD_BYTES, 2, fields[65].GetUInt8()); -      InitDisplayIds();      // cleanup inventory related item value fields (its will be filled correctly in _LoadInventory) @@ -17300,7 +17298,7 @@ void Player::SaveToDB()          "trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, "          "death_expire_time, taxi_path, arenaPoints, totalHonorPoints, todayHonorPoints, yesterdayHonorPoints, totalKills, "          "todayKills, yesterdayKills, chosenTitle, knownCurrencies, watchedFaction, drunk, health, power1, power2, power3, " -        "power4, power5, power6, power7, latency, speccount, activespec, exploredZones, equipmentCache, ammoId, knownTitles, actionBars) VALUES (" +        "power4, power5, power6, power7, latency, speccount, activespec, exploredZones, equipmentCache, ammoId, knownTitles) VALUES ("          << GetGUIDLow() << ", "          << GetSession()->GetAccountId() << ", '"          << sql_name << "', " @@ -17424,9 +17422,7 @@ void Player::SaveToDB()      {          ss << GetUInt32Value(PLAYER__FIELD_KNOWN_TITLES + i) << " ";      } -    ss << "',"; -    ss << uint32(GetByteValue(PLAYER_FIELD_BYTES, 2)); -    ss << ")"; +    ss << "')";      CharacterDatabase.BeginTransaction(); @@ -23249,6 +23245,10 @@ void Player::ActivateSpec(uint8 spec)      //RemoveAllAuras(this->GetGUID(), NULL, false, true); // removes too many auras      //ExitVehicle(); // should be impossible to switch specs from inside a vehicle.. +    // Let client clear his current Actions +    SendActionButtons(2); +    m_actionButtons.clear(); +      for (uint32 i = 0; i < sTalentStore.GetNumRows(); ++i)      {          TalentEntry const *talentInfo = sTalentStore.LookupEntry(i); @@ -23341,9 +23341,6 @@ void Player::ActivateSpec(uint8 spec)      m_usedTalentCount = spentTalents;      InitTalentForLevel(); -    // Let client clear his current Actions -    SendActionButtons(2); -    m_actionButtons.clear();      if (QueryResult_AutoPtr result = CharacterDatabase.PQuery("SELECT button,action,type FROM character_action WHERE guid = '%u' AND spec = '%u' ORDER BY button", GetGUIDLow(), m_activeSpec))          _LoadActions(result, false); | 
