hondacrx
2023-05-19 16:23:44 -04:00
parent 24b0836710
commit dfceb4c044
40 changed files with 1910 additions and 1549 deletions
+4 -26
View File
@@ -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());
+37
View File
@@ -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());
+2 -2
View File
@@ -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, ' ');