Updated to 8.2.0.31429 (scripts disabled atm, they still need updated)

Code Port from TrinityCore https://github.com/TrinityCore/TrinityCore
Casc from WoW-Tools https://github.com/WoW-Tools/CASCExplorer
This commit is contained in:
hondacrx
2019-08-14 11:20:42 -04:00
parent e4d500f4b5
commit 125e3b3ac7
232 changed files with 12268 additions and 14670 deletions
+22 -24
View File
@@ -11,9 +11,7 @@ namespace Game.Entities
public void SetRestBonus(RestTypes restType, float restBonus)
{
byte rest_rested_offset;
byte rest_state_offset;
ActivePlayerFields next_level_xp_field;
uint next_level_xp;
bool affectedByRaF = false;
switch (restType)
@@ -23,9 +21,7 @@ namespace Game.Entities
if (_player.getLevel() >= WorldConfig.GetIntValue(WorldCfg.MaxPlayerLevel))
restBonus = 0;
rest_rested_offset = PlayerFieldOffsets.RestRestedXp;
rest_state_offset = PlayerFieldOffsets.RestStateXp;
next_level_xp_field = ActivePlayerFields.NextLevelXp;
next_level_xp = _player.m_activePlayerData.NextLevelXP;
affectedByRaF = true;
break;
case RestTypes.Honor:
@@ -33,37 +29,39 @@ namespace Game.Entities
if (_player.IsMaxHonorLevel())
restBonus = 0;
rest_rested_offset = PlayerFieldOffsets.RestRestedHonor;
rest_state_offset = PlayerFieldOffsets.RestStateHonor;
next_level_xp_field = ActivePlayerFields.HonorNextLevel;
next_level_xp = _player.m_activePlayerData.HonorNextLevel;
break;
default:
return;
}
float rest_bonus_max = next_level_xp * 1.5f / 2;
if (restBonus < 0)
restBonus = 0;
float rest_bonus_max = (float)(_player.GetUInt32Value(next_level_xp_field)) * 1.5f / 2;
if (restBonus > rest_bonus_max)
_restBonus[(int)restType] = rest_bonus_max;
else
_restBonus[(int)restType] = restBonus;
restBonus = rest_bonus_max;
_restBonus[(int)restType] = restBonus;
uint oldBonus = (uint)_restBonus[(int)restType];
if (oldBonus == restBonus)
return;
// update data for client
if (affectedByRaF && _player.GetsRecruitAFriendBonus(true) && (_player.GetSession().IsARecruiter() || _player.GetSession().GetRecruiterId() != 0))
_player.SetUInt32Value(ActivePlayerFields.RestInfo + rest_state_offset, (uint)PlayerRestState.RAFLinked);
_player.SetRestState(restType, PlayerRestState.RAFLinked);
else
{
if (_restBonus[(int)restType] > 10)
_player.SetUInt32Value(ActivePlayerFields.RestInfo + rest_state_offset, (uint)PlayerRestState.Rested);
_player.SetRestState(restType, PlayerRestState.Rested);
else if (_restBonus[(int)restType] <= 1)
_player.SetUInt32Value(ActivePlayerFields.RestInfo + rest_state_offset, (uint)PlayerRestState.NotRAFLinked);
_player.SetRestState(restType, PlayerRestState.NotRAFLinked);
}
// RestTickUpdate
_player.SetUInt32Value(ActivePlayerFields.RestInfo + rest_rested_offset, (uint)_restBonus[(int)restType]);
_player.SetRestThreshold(restType, (uint)_restBonus[(int)restType]);
}
public void AddRestBonus(RestTypes restType, float restBonus)
@@ -84,7 +82,7 @@ namespace Game.Entities
if (oldRestMask == 0 && _restFlagMask != 0) // only set flag/time on the first rest state
{
_restTime = Time.UnixTime;
_player.SetFlag(PlayerFields.Flags, PlayerFlags.Resting);
_player.AddPlayerFlag(PlayerFlags.Resting);
}
if (triggerId != 0)
@@ -99,7 +97,7 @@ namespace Game.Entities
if (oldRestMask != 0 && _restFlagMask == 0) // only remove flag/time on the last rest state remove
{
_restTime = 0;
_player.RemoveFlag(PlayerFields.Flags, PlayerFlags.Resting);
_player.RemovePlayerFlag(PlayerFlags.Resting);
}
}
@@ -135,8 +133,8 @@ namespace Game.Entities
public void LoadRestBonus(RestTypes restType, PlayerRestState state, float restBonus)
{
_restBonus[(int)restType] = restBonus;
_player.SetUInt32Value(ActivePlayerFields.RestInfo + (int)restType * 2, (uint)state);
_player.SetUInt32Value(ActivePlayerFields.RestInfo + (int)restType * 2 + 1, (uint)restBonus);
_player.SetRestState(restType, state);
_player.SetRestThreshold(restType, (uint)restBonus);
}
public float CalcExtraPerSec(RestTypes restType, float bubble)
@@ -144,9 +142,9 @@ namespace Game.Entities
switch (restType)
{
case RestTypes.Honor:
return (_player.GetUInt32Value(ActivePlayerFields.HonorNextLevel)) / 72000.0f * bubble;
return _player.m_activePlayerData.HonorNextLevel / 72000.0f * bubble;
case RestTypes.XP:
return (_player.GetUInt32Value(ActivePlayerFields.NextLevelXp)) / 72000.0f * bubble;
return _player.m_activePlayerData.NextLevelXP / 72000.0f * bubble;
default:
return 0.0f;
}