Core/Players: Add PlayerExtraFlags for tracking race change, level boost, and raf level grant usage

Port From (https://github.com/TrinityCore/TrinityCore/commit/c2751f9195959a199413e332d2b595a60e4a6d35)
This commit is contained in:
hondacrx
2021-06-06 14:12:53 -04:00
parent 21d8fbee40
commit d687d41078
4 changed files with 17 additions and 3 deletions
+7 -1
View File
@@ -602,6 +602,7 @@ namespace Framework.Constants
VengefulGladiator = 0x0000010000000000, // 40
}
[Flags]
public enum PlayerExtraFlags
{
// gm abilities
@@ -612,7 +613,12 @@ namespace Framework.Constants
GMChat = 0x20, // Show GM badge in chat messages
// other states
PVPDeath = 0x100 // store PvP death status until corpse creating.
PVPDeath = 0x100, // store PvP death status until corpse creating.
// Character services markers
HasRaceChanged = 0x0200,
GrantedLevelsFromRaf = 0x0400,
LevelBoosted = 0x0800
}
public enum EquipmentSetUpdateState
@@ -591,7 +591,7 @@ namespace Framework.Database
PrepareStatement(CharStatements.DEL_PETITION_SIGNATURE_BY_GUID, "DELETE FROM petition_sign WHERE petitionguid = ?");
PrepareStatement(CharStatements.DEL_CHAR_DECLINED_NAME, "DELETE FROM character_declinedname WHERE guid = ?");
PrepareStatement(CharStatements.INS_CHAR_DECLINED_NAME, "INSERT INTO character_declinedname (guid, genitive, dative, accusative, instrumental, prepositional) VALUES (?, ?, ?, ?, ?, ?)");
PrepareStatement(CharStatements.UPD_CHAR_RACE, "UPDATE characters SET race = ? WHERE guid = ?");
PrepareStatement(CharStatements.UPD_CHAR_RACE, "UPDATE characters SET race = ?, extra_flags = extra_flags | ? WHERE guid = ?");
PrepareStatement(CharStatements.DEL_CHAR_SKILL_LANGUAGES, "DELETE FROM character_skills WHERE skill IN (98, 113, 759, 111, 313, 109, 115, 315, 673, 137) AND guid = ?");
PrepareStatement(CharStatements.INS_CHAR_SKILL_LANGUAGE, "INSERT INTO `character_skills` (guid, skill, value, max) VALUES (?, ?, 300, 300)");
PrepareStatement(CharStatements.UPD_CHAR_TAXI_PATH, "UPDATE characters SET taxi_path = '' WHERE guid = ?");
+7
View File
@@ -6391,6 +6391,13 @@ namespace Game.Entities
SendMovementSetCollisionHeight(scale * GetCollisionHeight(), UpdateCollisionHeightReason.Scale);
}
bool HasRaceChanged() { return m_ExtraFlags.HasFlag(PlayerExtraFlags.HasRaceChanged); }
void SetHasRaceChanged() { m_ExtraFlags |= PlayerExtraFlags.HasRaceChanged; }
bool HasBeenGrantedLevelsFromRaF() { return m_ExtraFlags.HasFlag(PlayerExtraFlags.GrantedLevelsFromRaf); }
void SetBeenGrantedLevelsFromRaF() { m_ExtraFlags |= PlayerExtraFlags.GrantedLevelsFromRaf; }
bool HasLevelBoosted() { return m_ExtraFlags.HasFlag(PlayerExtraFlags.LevelBoosted); }
void SetHasLevelBoosted() { m_ExtraFlags |= PlayerExtraFlags.LevelBoosted; }
public uint GetXP() { return m_activePlayerData.XP; }
public uint GetXPForNextLevel() { return m_activePlayerData.NextLevelXP; }
+2 -1
View File
@@ -1795,7 +1795,8 @@ namespace Game
{
stmt = DB.Characters.GetPreparedStatement(CharStatements.UPD_CHAR_RACE);
stmt.AddValue(0, (byte)factionChangeInfo.RaceID);
stmt.AddValue(1, lowGuid);
stmt.AddValue(1, (ushort)PlayerExtraFlags.HasRaceChanged);
stmt.AddValue(2, lowGuid);
trans.Append(stmt);
}