Core/Unit: Implement more helper methods
Port From (https://github.com/TrinityCore/TrinityCore/commit/104ec7a81a5bb782f81fd05b872bf664e4de1c89)
This commit is contained in:
@@ -3395,7 +3395,7 @@ namespace Game.Entities
|
|||||||
stmt.AddValue(index++, (byte)GetClass());
|
stmt.AddValue(index++, (byte)GetClass());
|
||||||
stmt.AddValue(index++, (byte)GetNativeGender()); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
|
stmt.AddValue(index++, (byte)GetNativeGender()); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
|
||||||
stmt.AddValue(index++, GetLevel());
|
stmt.AddValue(index++, GetLevel());
|
||||||
stmt.AddValue(index++, m_activePlayerData.XP);
|
stmt.AddValue(index++, GetXP());
|
||||||
stmt.AddValue(index++, GetMoney());
|
stmt.AddValue(index++, GetMoney());
|
||||||
stmt.AddValue(index++, GetInventorySlotCount());
|
stmt.AddValue(index++, GetInventorySlotCount());
|
||||||
stmt.AddValue(index++, GetBankBagSlotCount());
|
stmt.AddValue(index++, GetBankBagSlotCount());
|
||||||
@@ -3519,7 +3519,7 @@ namespace Game.Entities
|
|||||||
stmt.AddValue(index++, (byte)GetClass());
|
stmt.AddValue(index++, (byte)GetClass());
|
||||||
stmt.AddValue(index++, (byte)GetNativeGender()); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
|
stmt.AddValue(index++, (byte)GetNativeGender()); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
|
||||||
stmt.AddValue(index++, GetLevel());
|
stmt.AddValue(index++, GetLevel());
|
||||||
stmt.AddValue(index++, m_activePlayerData.XP);
|
stmt.AddValue(index++, GetXP());
|
||||||
stmt.AddValue(index++, GetMoney());
|
stmt.AddValue(index++, GetMoney());
|
||||||
stmt.AddValue(index++, GetInventorySlotCount());
|
stmt.AddValue(index++, GetInventorySlotCount());
|
||||||
stmt.AddValue(index++, GetBankBagSlotCount());
|
stmt.AddValue(index++, GetBankBagSlotCount());
|
||||||
|
|||||||
@@ -232,7 +232,7 @@ namespace Game.Entities
|
|||||||
SetRace(createInfo.RaceId);
|
SetRace(createInfo.RaceId);
|
||||||
SetClass(createInfo.ClassId);
|
SetClass(createInfo.ClassId);
|
||||||
SetGender(createInfo.Sex);
|
SetGender(createInfo.Sex);
|
||||||
SetPowerType(powertype);
|
SetPowerType(powertype, false);
|
||||||
InitDisplayIds();
|
InitDisplayIds();
|
||||||
UpdatePositionData();
|
UpdatePositionData();
|
||||||
if ((RealmType)WorldConfig.GetIntValue(WorldCfg.GameType) == RealmType.PVP || (RealmType)WorldConfig.GetIntValue(WorldCfg.GameType) == RealmType.RPPVP)
|
if ((RealmType)WorldConfig.GetIntValue(WorldCfg.GameType) == RealmType.PVP || (RealmType)WorldConfig.GetIntValue(WorldCfg.GameType) == RealmType.RPPVP)
|
||||||
@@ -5225,7 +5225,7 @@ namespace Game.Entities
|
|||||||
|
|
||||||
_ApplyAllLevelScaleItemMods(false);
|
_ApplyAllLevelScaleItemMods(false);
|
||||||
|
|
||||||
SetLevel(level);
|
SetLevel(level, false);
|
||||||
|
|
||||||
UpdateSkillsForLevel();
|
UpdateSkillsForLevel();
|
||||||
LearnDefaultSkills();
|
LearnDefaultSkills();
|
||||||
@@ -6502,9 +6502,8 @@ namespace Game.Entities
|
|||||||
packet.ReferAFriendBonusType = (byte)(recruitAFriend ? 1 : 0);
|
packet.ReferAFriendBonusType = (byte)(recruitAFriend ? 1 : 0);
|
||||||
SendPacket(packet);
|
SendPacket(packet);
|
||||||
|
|
||||||
uint curXP = m_activePlayerData.XP;
|
uint nextLvlXP = GetXPForNextLevel();
|
||||||
uint nextLvlXP = m_activePlayerData.NextLevelXP;
|
uint newXP = GetXP() + xp + bonus_xp;
|
||||||
uint newXP = curXP + xp + bonus_xp;
|
|
||||||
|
|
||||||
while (newXP >= nextLvlXP && level < WorldConfig.GetIntValue(WorldCfg.MaxPlayerLevel))
|
while (newXP >= nextLvlXP && level < WorldConfig.GetIntValue(WorldCfg.MaxPlayerLevel))
|
||||||
{
|
{
|
||||||
@@ -6514,7 +6513,7 @@ namespace Game.Entities
|
|||||||
GiveLevel(level + 1);
|
GiveLevel(level + 1);
|
||||||
|
|
||||||
level = GetLevel();
|
level = GetLevel();
|
||||||
nextLvlXP = m_activePlayerData.NextLevelXP;
|
nextLvlXP = GetXPForNextLevel();
|
||||||
}
|
}
|
||||||
|
|
||||||
SetXP(newXP);
|
SetXP(newXP);
|
||||||
|
|||||||
@@ -535,13 +535,16 @@ namespace Game.Entities
|
|||||||
|
|
||||||
//Powers
|
//Powers
|
||||||
public PowerType GetPowerType() { return (PowerType)(byte)m_unitData.DisplayPower; }
|
public PowerType GetPowerType() { return (PowerType)(byte)m_unitData.DisplayPower; }
|
||||||
public void SetPowerType(PowerType powerType)
|
public void SetPowerType(PowerType powerType, bool sendUpdate = true)
|
||||||
{
|
{
|
||||||
if (GetPowerType() == powerType)
|
if (GetPowerType() == powerType)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.DisplayPower), (byte)powerType);
|
SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.DisplayPower), (byte)powerType);
|
||||||
|
|
||||||
|
if (!sendUpdate)
|
||||||
|
return;
|
||||||
|
|
||||||
Player thisPlayer = ToPlayer();
|
Player thisPlayer = ToPlayer();
|
||||||
if (thisPlayer != null)
|
if (thisPlayer != null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1674,10 +1674,13 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Unit
|
//Unit
|
||||||
public void SetLevel(uint lvl)
|
public void SetLevel(uint lvl, bool sendUpdate = true)
|
||||||
{
|
{
|
||||||
SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Level), lvl);
|
SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Level), lvl);
|
||||||
|
|
||||||
|
if (!sendUpdate)
|
||||||
|
return;
|
||||||
|
|
||||||
Player player = ToPlayer();
|
Player player = ToPlayer();
|
||||||
if (player != null)
|
if (player != null)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user