mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 18:36:31 +01:00
[8072] First step to get rid of data blob.
Adds new fields gender, level, xp, money, playerBytes, playerBytes2 and playerFlags to characters table.
The update will not work if your database contains characters with an old data field (not fitting to the actual client version).
It's recommended to backup your character database before applying this patch.
--HG--
branch : trunk
This commit is contained in:
@@ -4668,11 +4668,7 @@ void ChatHandler::HandleCharacterLevel(Player* player, uint64 player_guid, uint3
|
||||
else
|
||||
{
|
||||
// update level and XP at level, all other will be updated at loading
|
||||
Tokens values;
|
||||
Player::LoadValuesArrayFromDB(values,player_guid);
|
||||
Player::SetUInt32ValueInArray(values,UNIT_FIELD_LEVEL,newlevel);
|
||||
Player::SetUInt32ValueInArray(values,PLAYER_XP,0);
|
||||
Player::SaveValuesArrayInDB(values,player_guid);
|
||||
CharacterDatabase.PExecute("UPDATE characters SET level = '%u', xp = 0 WHERE guid = '%u'", newlevel, GUID_LOPART(player_guid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4697,7 +4693,7 @@ bool ChatHandler::HandleCharacterLevelCommand(const char* args)
|
||||
if(!extractPlayerTarget(nameStr,&target,&target_guid,&target_name))
|
||||
return false;
|
||||
|
||||
int32 oldlevel = target ? target->getLevel() : Player::GetUInt32ValueFromDB(UNIT_FIELD_LEVEL,target_guid);
|
||||
int32 oldlevel = target ? target->getLevel() : Player::GetLevelFromDB(target_guid);
|
||||
int32 newlevel = levelStr ? atoi(levelStr) : oldlevel;
|
||||
|
||||
if(newlevel < 1)
|
||||
@@ -4736,7 +4732,7 @@ bool ChatHandler::HandleLevelUpCommand(const char* args)
|
||||
if(!extractPlayerTarget(nameStr,&target,&target_guid,&target_name))
|
||||
return false;
|
||||
|
||||
int32 oldlevel = target ? target->getLevel() : Player::GetUInt32ValueFromDB(UNIT_FIELD_LEVEL,target_guid);
|
||||
int32 oldlevel = target ? target->getLevel() : Player::GetLevelFromDB(target_guid);
|
||||
int32 addlevel = levelStr ? atoi(levelStr) : 1;
|
||||
int32 newlevel = oldlevel + addlevel;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user