*Better support for negatives.

--HG--
branch : trunk
This commit is contained in:
maximius
2009-09-30 04:18:07 -07:00
parent 5737077371
commit 3c43ef7157
3 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -1833,7 +1833,7 @@ void BattleGroundMgr::DistributeArenaPoints()
{ {
CharacterDatabase.PExecute("UPDATE characters SET arena_pending_points = 0 WHERE guid = '%u'", plr_itr->first); CharacterDatabase.PExecute("UPDATE characters SET arena_pending_points = 0 WHERE guid = '%u'", plr_itr->first);
CharacterDatabase._UpdateDataBlobValue(plr_itr->first, PLAYER_FIELD_ARENA_CURRENCY, 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))));
} }
} }
+2 -2
View File
@@ -175,12 +175,12 @@ bool Database::PExecute(const char * format,...)
return Execute(szQuery); 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( return PExecute(
"UPDATE characters SET data=" "UPDATE characters SET data="
"CONCAT(SUBSTRING_INDEX(`data`,' ',%u),' '," "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", "' ',SUBSTRING_INDEX(`data`,' ',%u)) WHERE guid=%u",
field, field+1, value, -int32(PLAYER_END-field)-1, guid); field, field+1, value, -int32(PLAYER_END-field)-1, guid);
} }
+1 -1
View File
@@ -102,7 +102,7 @@ class TRINITY_DLL_SPEC Database
virtual bool DirectExecute(const char* sql) = 0; virtual bool DirectExecute(const char* sql) = 0;
bool DirectPExecute(const char *format,...) ATTR_PRINTF(2,3); 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); bool _SetDataBlobValue(const uint32 guid, const uint32 field, const uint32 value);
// Writes SQL commands to a LOG file (see Trinityd.conf "LogSQL") // Writes SQL commands to a LOG file (see Trinityd.conf "LogSQL")