*Better support for negatives.
--HG-- branch : trunk
This commit is contained in:
@@ -1833,7 +1833,7 @@ void BattleGroundMgr::DistributeArenaPoints()
|
||||
{
|
||||
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::max(std::min(int32(plr_itr->second),int32(sWorld.getConfig(CONFIG_MAX_ARENA_POINTS))),0));
|
||||
std::min(int32(plr_itr->second),int32(sWorld.getConfig(CONFIG_MAX_ARENA_POINTS))));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -175,12 +175,12 @@ bool Database::PExecute(const char * format,...)
|
||||
return Execute(szQuery);
|
||||
}
|
||||
|
||||
bool Database::_UpdateDataBlobValue(const uint32 guid, const uint32 field, const uint32 value)
|
||||
bool Database::_UpdateDataBlobValue(const uint32 guid, const uint32 field, const int32 value)
|
||||
{
|
||||
return PExecute(
|
||||
"UPDATE characters SET data="
|
||||
"CONCAT(SUBSTRING_INDEX(`data`,' ',%u),' ',"
|
||||
"SUBSTRING_INDEX(SUBSTRING_INDEX(`data`,' ',%u),' ',-1)+%u,"
|
||||
"GREATEST(SUBSTRING_INDEX(SUBSTRING_INDEX(`data`,' ',%u),' ',-1)+%u,0),"
|
||||
"' ',SUBSTRING_INDEX(`data`,' ',%u)) WHERE guid=%u",
|
||||
field, field+1, value, -int32(PLAYER_END-field)-1, guid);
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ class TRINITY_DLL_SPEC Database
|
||||
virtual bool DirectExecute(const char* sql) = 0;
|
||||
bool DirectPExecute(const char *format,...) ATTR_PRINTF(2,3);
|
||||
|
||||
bool _UpdateDataBlobValue(const uint32 guid, const uint32 field, const uint32 value);
|
||||
bool _UpdateDataBlobValue(const uint32 guid, const uint32 field, const int32 value);
|
||||
bool _SetDataBlobValue(const uint32 guid, const uint32 field, const uint32 value);
|
||||
|
||||
// Writes SQL commands to a LOG file (see Trinityd.conf "LogSQL")
|
||||
|
||||
Reference in New Issue
Block a user