* Move some values out of the data blob in the characters table

* (honor, kills, title, currencies, watched faction, drunken-status, health and power)
* Original Author Hunuza - thank you
* Ported to Trinity by RammboNr5 - thank you
* Tested by Aokromes - thank you
* Closes Issue #911

--HG--
branch : trunk
This commit is contained in:
Brian
2010-03-02 10:12:47 -07:00
parent d3e09cb65f
commit 74ccd57597
5 changed files with 162 additions and 36 deletions

View File

@@ -1815,19 +1815,13 @@ void BattleGroundMgr::DistributeArenaPoints()
//cycle that gives points to all players
for (std::map<uint32, uint32>::iterator plr_itr = PlayerPoints.begin(); plr_itr != PlayerPoints.end(); ++plr_itr)
{
//add points to player
//update to database
CharacterDatabase.PExecute("UPDATE characters SET arenaPoints = arenaPoints + '%u' WHERE guid = '%u'", plr_itr->second, plr_itr->first);
//add points to player if online
Player* pl = objmgr.GetPlayer(plr_itr->first);
if (pl)
{
CharacterDatabase.PExecute("UPDATE characters SET arena_pending_points = '%u' WHERE guid = '%u'", plr_itr->second, plr_itr->first);
pl->ModifyArenaPoints(plr_itr->second);
}
else
{
CharacterDatabase.PExecute("UPDATE characters SET arena_pending_points = 0 WHERE guid = '%u'", plr_itr->first);
CharacterDatabase._UpdateDataBlobValue(plr_itr->first, PLAYER_FIELD_ARENA_CURRENCY,
std::min(int32(plr_itr->second),int32(sWorld.getConfig(CONFIG_MAX_ARENA_POINTS))));
}
}
PlayerPoints.clear();