Core: Update to 10.1
Port From (https://github.com/TrinityCore/TrinityCore/commit/16bc74667e8996b64258718e95b97258dfc0217a)
This commit is contained in:
@@ -3684,19 +3684,8 @@ namespace Game.Entities
|
||||
stmt.AddValue(index++, GetDrunkValue());
|
||||
stmt.AddValue(index++, GetHealth());
|
||||
|
||||
int storedPowers = 0;
|
||||
for (PowerType powerType = 0; powerType < PowerType.Max; ++powerType)
|
||||
{
|
||||
if (GetPowerIndex(powerType) != (int)PowerType.Max)
|
||||
{
|
||||
stmt.AddValue(index++, m_unitData.Power[storedPowers]);
|
||||
if (++storedPowers >= (int)PowerType.MaxPerClass)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (; storedPowers < (int)PowerType.MaxPerClass; ++storedPowers)
|
||||
stmt.AddValue(index++, 0);
|
||||
for (int i = 0; i < (int)PowerType.MaxPerClass; ++i)
|
||||
stmt.AddValue(index++, m_unitData.Power[i]);
|
||||
|
||||
stmt.AddValue(index++, GetSession().GetLatency());
|
||||
stmt.AddValue(index++, GetActiveTalentGroup());
|
||||
@@ -3830,19 +3819,8 @@ namespace Game.Entities
|
||||
stmt.AddValue(index++, GetDrunkValue());
|
||||
stmt.AddValue(index++, GetHealth());
|
||||
|
||||
int storedPowers = 0;
|
||||
for (PowerType powerType = 0; powerType < PowerType.Max; ++powerType)
|
||||
{
|
||||
if (GetPowerIndex(powerType) != (int)PowerType.Max)
|
||||
{
|
||||
stmt.AddValue(index++, m_unitData.Power[storedPowers]);
|
||||
if (++storedPowers >= (int)PowerType.MaxPerClass)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (; storedPowers < (int)PowerType.MaxPerClass; ++storedPowers)
|
||||
stmt.AddValue(index++, 0);
|
||||
for (int i = 0; i < (int)PowerType.MaxPerClass; ++i)
|
||||
stmt.AddValue(index++, m_unitData.Power[i]);
|
||||
|
||||
stmt.AddValue(index++, GetSession().GetLatency());
|
||||
stmt.AddValue(index++, GetActiveTalentGroup());
|
||||
|
||||
@@ -5395,6 +5395,43 @@ namespace Game.Entities
|
||||
GetSceneMgr().TriggerDelayedScenes();
|
||||
}
|
||||
|
||||
public void AddSpellCategoryCooldownMod(int spellCategoryId, int mod)
|
||||
{
|
||||
int categoryIndex = m_activePlayerData.CategoryCooldownMods.FindIndexIf(mod => mod.SpellCategoryID == spellCategoryId);
|
||||
|
||||
if (categoryIndex < 0)
|
||||
{
|
||||
CategoryCooldownMod newMod = new();
|
||||
newMod.SpellCategoryID = spellCategoryId;
|
||||
newMod.ModCooldown = -mod;
|
||||
|
||||
AddDynamicUpdateFieldValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.CategoryCooldownMods), newMod);
|
||||
}
|
||||
else
|
||||
{
|
||||
CategoryCooldownMod g = m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.CategoryCooldownMods, categoryIndex);
|
||||
SetUpdateFieldValue(ref g.ModCooldown, m_activePlayerData.CategoryCooldownMods[categoryIndex].ModCooldown - mod);
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveSpellCategoryCooldownMod(int spellCategoryId, int mod)
|
||||
{
|
||||
int categoryIndex = m_activePlayerData.CategoryCooldownMods.FindIndexIf(mod => mod.SpellCategoryID == spellCategoryId);
|
||||
|
||||
if (categoryIndex < 0)
|
||||
return;
|
||||
|
||||
if (m_activePlayerData.CategoryCooldownMods[categoryIndex].ModCooldown + mod == 0)
|
||||
{
|
||||
RemoveDynamicUpdateFieldValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.CategoryCooldownMods), categoryIndex);
|
||||
}
|
||||
else
|
||||
{
|
||||
CategoryCooldownMod g = m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.CategoryCooldownMods, categoryIndex);
|
||||
SetUpdateFieldValue(ref g.ModCooldown, m_activePlayerData.CategoryCooldownMods[categoryIndex].ModCooldown + mod);
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveSocial()
|
||||
{
|
||||
SocialMgr.RemovePlayerSocial(GetGUID());
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace Game.Entities
|
||||
|
||||
public void InitTaxiNodesForLevel(Race race, Class chrClass, uint level)
|
||||
{
|
||||
m_taximask = new byte[((CliDB.TaxiNodesStorage.GetNumRows() - 1) / 8) + 1];
|
||||
m_taximask = new byte[((CliDB.TaxiNodesStorage.GetNumRows() - 1) / (8 * 64) + 1) * 8];
|
||||
|
||||
// class specific initial known nodes
|
||||
if (chrClass == Class.Deathknight)
|
||||
@@ -93,7 +93,7 @@ namespace Game.Entities
|
||||
|
||||
public void LoadTaxiMask(string data)
|
||||
{
|
||||
m_taximask = new byte[((CliDB.TaxiNodesStorage.GetNumRows() - 1) / 8) + 1];
|
||||
m_taximask = new byte[((CliDB.TaxiNodesStorage.GetNumRows() - 1) / (8 * 64) + 1) * 8];
|
||||
|
||||
var split = new StringArray(data, ' ');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user