Misc cleanup
This commit is contained in:
@@ -1886,17 +1886,15 @@ namespace Game.Entities
|
||||
}
|
||||
void _SaveSkills(SQLTransaction trans)
|
||||
{
|
||||
PreparedStatement stmt;// = null;
|
||||
|
||||
SkillInfo skillInfoField = m_activePlayerData.Skill;
|
||||
PreparedStatement stmt;
|
||||
|
||||
foreach (var pair in mSkillStatus.ToList())
|
||||
{
|
||||
if (pair.Value.State == SkillState.Unchanged)
|
||||
continue;
|
||||
|
||||
ushort value = skillInfoField.SkillRank[pair.Value.Pos];
|
||||
ushort max = skillInfoField.SkillMaxRank[pair.Value.Pos];
|
||||
ushort value = GetSkillRankByPos(pair.Value.Pos);
|
||||
ushort max = GetSkillMaxRankByPos(pair.Value.Pos);
|
||||
sbyte professionSlot = (sbyte)GetProfessionSlotFor(pair.Key);
|
||||
|
||||
switch (pair.Value.State)
|
||||
|
||||
@@ -19,11 +19,10 @@ namespace Game.Entities
|
||||
{
|
||||
Race race = GetRace();
|
||||
ushort maxSkill = GetMaxSkillValueForLevel();
|
||||
SkillInfo skillInfoField = m_activePlayerData.Skill;
|
||||
|
||||
foreach (var pair in mSkillStatus)
|
||||
{
|
||||
if (pair.Value.State == SkillState.Deleted || skillInfoField.SkillRank[pair.Value.Pos] == 0)
|
||||
if (pair.Value.State == SkillState.Deleted || GetSkillRankByPos(pair.Value.Pos) == 0)
|
||||
continue;
|
||||
|
||||
uint pskill = pair.Key;
|
||||
@@ -42,7 +41,7 @@ namespace Game.Entities
|
||||
}
|
||||
|
||||
// Update level dependent skillline spells
|
||||
LearnSkillRewardedSpells(rcEntry.SkillID, skillInfoField.SkillRank[pair.Value.Pos], race);
|
||||
LearnSkillRewardedSpells(rcEntry.SkillID, GetSkillRankByPos(pair.Value.Pos), race);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,15 +55,13 @@ namespace Game.Entities
|
||||
if (skill == 0)
|
||||
return 0;
|
||||
|
||||
SkillInfo skillInfo = m_activePlayerData.Skill;
|
||||
|
||||
var skillStatusData = mSkillStatus.LookupByKey(skill);
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || skillInfo.SkillRank[skillStatusData.Pos] == 0)
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || GetSkillRankByPos(skillStatusData.Pos) == 0)
|
||||
return 0;
|
||||
|
||||
int result = skillInfo.SkillRank[skillStatusData.Pos];
|
||||
result += skillInfo.SkillTempBonus[skillStatusData.Pos];
|
||||
result += skillInfo.SkillPermBonus[skillStatusData.Pos];
|
||||
int result = GetSkillRankByPos(skillStatusData.Pos);
|
||||
result += GetSkillTempBonusByPos(skillStatusData.Pos);
|
||||
result += GetSkillPermBonusByPos(skillStatusData.Pos);
|
||||
return (ushort)(result < 0 ? 0 : result);
|
||||
}
|
||||
|
||||
@@ -78,15 +75,13 @@ namespace Game.Entities
|
||||
if (skill == 0)
|
||||
return 0;
|
||||
|
||||
SkillInfo skillInfo = m_activePlayerData.Skill;
|
||||
|
||||
var skillStatusData = mSkillStatus.LookupByKey(skill);
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || skillInfo.SkillRank[skillStatusData.Pos] == 0)
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || GetSkillRankByPos(skillStatusData.Pos) == 0)
|
||||
return 0;
|
||||
|
||||
int result = skillInfo.SkillMaxRank[skillStatusData.Pos];
|
||||
result += skillInfo.SkillTempBonus[skillStatusData.Pos];
|
||||
result += skillInfo.SkillPermBonus[skillStatusData.Pos];
|
||||
int result = GetSkillMaxRankByPos(skillStatusData.Pos);
|
||||
result += GetSkillTempBonusByPos(skillStatusData.Pos);
|
||||
result += GetSkillPermBonusByPos(skillStatusData.Pos);
|
||||
return (ushort)(result < 0 ? 0 : result);
|
||||
}
|
||||
|
||||
@@ -100,13 +95,11 @@ namespace Game.Entities
|
||||
if (skill == 0)
|
||||
return 0;
|
||||
|
||||
SkillInfo skillInfo = m_activePlayerData.Skill;
|
||||
|
||||
var skillStatusData = mSkillStatus.LookupByKey(skill);
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || skillInfo.SkillRank[skillStatusData.Pos] == 0)
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || GetSkillRankByPos(skillStatusData.Pos) == 0)
|
||||
return 0;
|
||||
|
||||
return skillInfo.SkillRank[skillStatusData.Pos];
|
||||
return GetSkillRankByPos(skillStatusData.Pos);
|
||||
}
|
||||
|
||||
public ushort GetSkillStep(SkillType skill)
|
||||
@@ -119,13 +112,11 @@ namespace Game.Entities
|
||||
if (skill == 0)
|
||||
return 0;
|
||||
|
||||
SkillInfo skillInfo = m_activePlayerData.Skill;
|
||||
|
||||
var skillStatusData = mSkillStatus.LookupByKey(skill);
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || skillInfo.SkillRank[skillStatusData.Pos] == 0)
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || GetSkillRankByPos(skillStatusData.Pos) == 0)
|
||||
return 0;
|
||||
|
||||
return skillInfo.SkillStep[skillStatusData.Pos];
|
||||
return GetSkillStepByPos(skillStatusData.Pos);
|
||||
}
|
||||
|
||||
public ushort GetPureMaxSkillValue(SkillType skill)
|
||||
@@ -133,13 +124,11 @@ namespace Game.Entities
|
||||
if (skill == 0)
|
||||
return 0;
|
||||
|
||||
SkillInfo skillInfo = m_activePlayerData.Skill;
|
||||
|
||||
var skillStatusData = mSkillStatus.LookupByKey(skill);
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || skillInfo.SkillRank[skillStatusData.Pos] == 0)
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || GetSkillRankByPos(skillStatusData.Pos) == 0)
|
||||
return 0;
|
||||
|
||||
return skillInfo.SkillMaxRank[skillStatusData.Pos];
|
||||
return GetSkillMaxRankByPos(skillStatusData.Pos);
|
||||
}
|
||||
|
||||
public ushort GetBaseSkillValue(SkillType skill)
|
||||
@@ -147,14 +136,12 @@ namespace Game.Entities
|
||||
if (skill == 0)
|
||||
return 0;
|
||||
|
||||
SkillInfo skillInfo = m_activePlayerData.Skill;
|
||||
|
||||
var skillStatusData = mSkillStatus.LookupByKey(skill);
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || skillInfo.SkillRank[skillStatusData.Pos] == 0)
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || GetSkillRankByPos(skillStatusData.Pos) == 0)
|
||||
return 0;
|
||||
|
||||
int result = skillInfo.SkillRank[skillStatusData.Pos];
|
||||
result += skillInfo.SkillPermBonus[skillStatusData.Pos];
|
||||
int result = GetSkillRankByPos(skillStatusData.Pos);
|
||||
result += GetSkillPermBonusByPos(skillStatusData.Pos);
|
||||
return (ushort)(result < 0 ? 0 : result);
|
||||
}
|
||||
|
||||
@@ -163,13 +150,11 @@ namespace Game.Entities
|
||||
if (skill == 0)
|
||||
return 0;
|
||||
|
||||
SkillInfo skillInfo = m_activePlayerData.Skill;
|
||||
|
||||
var skillStatusData = mSkillStatus.LookupByKey(skill);
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || skillInfo.SkillRank[skillStatusData.Pos] == 0)
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || GetSkillRankByPos(skillStatusData.Pos) == 0)
|
||||
return 0;
|
||||
|
||||
return skillInfo.SkillPermBonus[skillStatusData.Pos];
|
||||
return GetSkillPermBonusByPos(skillStatusData.Pos);
|
||||
}
|
||||
|
||||
public ushort GetSkillTempBonusValue(uint skill)
|
||||
@@ -177,13 +162,11 @@ namespace Game.Entities
|
||||
if (skill == 0)
|
||||
return 0;
|
||||
|
||||
SkillInfo skillInfo = m_activePlayerData.Skill;
|
||||
|
||||
var skillStatusData = mSkillStatus.LookupByKey(skill);
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || skillInfo.SkillRank[skillStatusData.Pos] == 0)
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || GetSkillRankByPos(skillStatusData.Pos) == 0)
|
||||
return 0;
|
||||
|
||||
return skillInfo.SkillTempBonus[skillStatusData.Pos];
|
||||
return GetSkillTempBonusByPos(skillStatusData.Pos);
|
||||
}
|
||||
|
||||
void InitializeSelfResurrectionSpells()
|
||||
@@ -414,10 +397,8 @@ namespace Game.Entities
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted)
|
||||
return false;
|
||||
|
||||
SkillInfo skillInfoField = m_activePlayerData.Skill;
|
||||
|
||||
ushort value = skillInfoField.SkillRank[skillStatusData.Pos];
|
||||
ushort max = skillInfoField.SkillMaxRank[skillStatusData.Pos];
|
||||
ushort value = GetSkillRankByPos(skillStatusData.Pos);
|
||||
ushort max = GetSkillMaxRankByPos(skillStatusData.Pos);
|
||||
|
||||
if (max == 0 || value == 0 || value >= max)
|
||||
return false;
|
||||
@@ -859,16 +840,14 @@ namespace Game.Entities
|
||||
|
||||
public void ModifySkillBonus(uint skillid, int val, bool talent)
|
||||
{
|
||||
SkillInfo skillInfoField = m_activePlayerData.Skill;
|
||||
|
||||
var skillStatusData = mSkillStatus.LookupByKey(skillid);
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || skillInfoField.SkillRank[skillStatusData.Pos] == 0)
|
||||
if (skillStatusData == null || skillStatusData.State == SkillState.Deleted || GetSkillRankByPos(skillStatusData.Pos) == 0)
|
||||
return;
|
||||
|
||||
if (talent)
|
||||
SetSkillPermBonus(skillStatusData.Pos, (ushort)(skillInfoField.SkillPermBonus[skillStatusData.Pos] + val));
|
||||
SetSkillPermBonus(skillStatusData.Pos, (ushort)(GetSkillPermBonusByPos(skillStatusData.Pos) + val));
|
||||
else
|
||||
SetSkillTempBonus(skillStatusData.Pos, (ushort)(skillInfoField.SkillTempBonus[skillStatusData.Pos] + val));
|
||||
SetSkillTempBonus(skillStatusData.Pos, (ushort)(GetSkillTempBonusByPos(skillStatusData.Pos) + val));
|
||||
|
||||
// Apply/Remove bonus to child skill lines
|
||||
var childSkillLines = Global.DB2Mgr.GetSkillLinesForParentSkill(skillid);
|
||||
@@ -1051,10 +1030,8 @@ namespace Game.Entities
|
||||
if (skill == 0)
|
||||
return false;
|
||||
|
||||
SkillInfo skillInfoField = m_activePlayerData.Skill;
|
||||
|
||||
var skillStatusData = mSkillStatus.LookupByKey(skill);
|
||||
return skillStatusData != null && skillStatusData.State != SkillState.Deleted && skillInfoField.SkillRank[skillStatusData.Pos] != 0;
|
||||
return skillStatusData != null && skillStatusData.State != SkillState.Deleted && GetSkillRankByPos(skillStatusData.Pos) != 0;
|
||||
}
|
||||
public void SetSkill(SkillType skill, uint step, uint newVal, uint maxVal)
|
||||
{
|
||||
@@ -1071,7 +1048,6 @@ namespace Game.Entities
|
||||
|
||||
ushort currVal;
|
||||
var skillStatusData = mSkillStatus.LookupByKey(id);
|
||||
SkillInfo skillInfoField = m_activePlayerData.Skill;
|
||||
|
||||
void refreshSkillBonusAuras()
|
||||
{
|
||||
@@ -1093,7 +1069,7 @@ namespace Game.Entities
|
||||
// Handle already stored skills
|
||||
if (skillStatusData != null)
|
||||
{
|
||||
currVal = skillInfoField.SkillRank[skillStatusData.Pos];
|
||||
currVal = GetSkillRankByPos(skillStatusData.Pos);
|
||||
|
||||
// Activate and update skill line
|
||||
if (newVal != 0)
|
||||
@@ -1220,7 +1196,7 @@ namespace Game.Entities
|
||||
// Find a free skill slot
|
||||
for (int i = 0; i < SkillConst.MaxPlayerSkills; ++i)
|
||||
{
|
||||
if (((SkillInfo)m_activePlayerData.Skill).SkillLineID[i] == 0)
|
||||
if (GetSkillLineIdByPos(i) == 0)
|
||||
{
|
||||
skillSlot = (byte)i;
|
||||
break;
|
||||
@@ -3697,36 +3673,49 @@ namespace Game.Entities
|
||||
|
||||
public void SetPetSpellPower(uint spellPower) { SetUpdateFieldValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.PetSpellPower), spellPower); }
|
||||
|
||||
public ushort GetSkillLineIdByPos(uint pos) { return m_activePlayerData.Skill.GetValue().SkillLineID[(int)pos]; }
|
||||
public void SetSkillLineId(uint pos, ushort skillLineId)
|
||||
{
|
||||
SkillInfo skillInfo = m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.Skill);
|
||||
SetUpdateFieldValue(ref skillInfo.ModifyValue(skillInfo.SkillLineID, (int)pos), skillLineId);
|
||||
}
|
||||
|
||||
public ushort GetSkillStepByPos(uint pos) { return m_activePlayerData.Skill.GetValue().SkillStep[(int)pos]; }
|
||||
public void SetSkillStep(uint pos, ushort step)
|
||||
{
|
||||
SkillInfo skillInfo = m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.Skill);
|
||||
SetUpdateFieldValue(ref skillInfo.ModifyValue(skillInfo.SkillStep, (int)pos), step);
|
||||
}
|
||||
|
||||
public ushort GetSkillRankByPos(uint pos) { return m_activePlayerData.Skill.GetValue().SkillRank[(int)pos]; }
|
||||
public void SetSkillRank(uint pos, ushort rank)
|
||||
{
|
||||
SkillInfo skillInfo = m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.Skill);
|
||||
SetUpdateFieldValue(ref skillInfo.ModifyValue(skillInfo.SkillRank, (int)pos), rank);
|
||||
}
|
||||
|
||||
public ushort GetSkillStartingRankByPos(uint pos) { return m_activePlayerData.Skill.GetValue().SkillStartingRank[(int)pos]; }
|
||||
public void SetSkillStartingRank(uint pos, ushort starting)
|
||||
{
|
||||
SkillInfo skillInfo = m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.Skill);
|
||||
SetUpdateFieldValue(ref skillInfo.ModifyValue(skillInfo.SkillStartingRank, (int)pos), starting);
|
||||
}
|
||||
|
||||
public ushort GetSkillMaxRankByPos(uint pos) { return m_activePlayerData.Skill.GetValue().SkillMaxRank[(int)pos]; }
|
||||
public void SetSkillMaxRank(uint pos, ushort max)
|
||||
{
|
||||
SkillInfo skillInfo = m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.Skill);
|
||||
SetUpdateFieldValue(ref skillInfo.ModifyValue(skillInfo.SkillMaxRank, (int)pos), max);
|
||||
}
|
||||
|
||||
public ushort GetSkillTempBonusByPos(uint pos) { return m_activePlayerData.Skill.GetValue().SkillTempBonus[(int)pos]; }
|
||||
public void SetSkillTempBonus(uint pos, ushort bonus)
|
||||
{
|
||||
SkillInfo skillInfo = m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.Skill);
|
||||
SetUpdateFieldValue(ref skillInfo.ModifyValue(skillInfo.SkillTempBonus, (int)pos), bonus);
|
||||
}
|
||||
|
||||
public ushort GetSkillPermBonusByPos(uint pos) { return m_activePlayerData.Skill.GetValue().SkillPermBonus[(int)pos]; }
|
||||
public void SetSkillPermBonus(uint pos, ushort bonus)
|
||||
{
|
||||
SkillInfo skillInfo = m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.Skill);
|
||||
|
||||
Reference in New Issue
Block a user