*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.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))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
Reference in New Issue
Block a user