Code:
System.Collections.Generic.KeyNotFoundException HResult=0x80131577 Message=The given key was not present in the dictionary. Source=mscorlib StackTrace: at System.ThrowHelper.ThrowKeyNotFoundException() at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at LordsRoad.Game.JiangHu.CreateStatusAtributes(Entity client) in C:\lordsroadconquer\lordsroadconquer\Network\GamePackets\JiangHu\JiangHu.cs:line 396 at LordsRoad.Database.JiangHu.LoadJiangHu() in C:\lordsroadconquer\lordsroadconquer\Database\JiangHuTable.cs:line 196 at LordsRoad.Program.LoadServer(Boolean KnowConfig) in C:\lordsroadconquer\lordsroadconquer\System\Program.cs:line 303 at LordsRoad.Program.Main() in C:\lordsroadconquer\lordsroadconquer\System\Program.cs:line 406
Code:
public void CreateStatusAtributes(Game.Entity client)
{
uint oldInner_Strength = Inner_Strength;
Inner_Strength = 0;
foreach (var nstage in Stagers)
{
if (!nstage.Activate) continue;
var atr = nstage.Stars.Where(p => p.UID != 0).ToArray();
byte count_doble = 0;
Dictionary<uint, List<JiangStages.Star>> alignementstars = new Dictionary<uint, List<JiangStages.Star>>();
List<JiangStages.Star> normalstarts = new List<JiangStages.Star>();
ushort counts_alignements = 0;
for (byte x = 0; x < atr.Length; x++)
{
var atribut = atr[x];
count_doble = 0;
bool wasadd = false;
for (byte y = (byte)(x + 1); y < atr.Length; y++)
{
var atr2nd = atr[y];
if (atr2nd.Typ == atribut.Typ)
{
if (!wasadd)
{
if (!alignementstars.ContainsKey(counts_alignements))
{
alignementstars.Add(counts_alignements, new List<JiangStages.Star>());
alignementstars[counts_alignements].Add(atribut);
}
}
if (!alignementstars.ContainsKey(counts_alignements))
{
alignementstars.Add(counts_alignements, new List<JiangStages.Star>());
alignementstars[counts_alignements].Add(atr2nd);
}
else
alignementstars[counts_alignements].Add(atr2nd);
wasadd = true;
x = y;
count_doble++;
}
else
{
break;
}
}
uint counts = 1;
if (count_doble != 0)
{
counts = (byte)(count_doble + 1);
counts_alignements++;
}
if (counts == 1)
normalstarts.Add(atribut);
}
byte percent = (byte)Database.JiangHu.AlignmentExtraPoints(count_doble);
foreach (var allignement in alignementstars.Values)
{
for (int i = 0; i < allignement.Count; i++)
{
Database.JiangHu.Atribut Atri_bas = Database.JiangHu.Atributes[allignement[i].UID]; <<---error from this
if (client != null)
IncreaseStatus(client, (JiangStages.AtributesType)Atri_bas.Type, (ushort)((Atri_bas.Power + (Atri_bas.Power * percent) / 100)));
}
}
count_doble = 0;
foreach (var allignement in alignementstars.Values)
CalculateInner_StrengthAlignements(allignement);
for (int x = 0; x < normalstarts.Count; x++)
{
Database.JiangHu.Atribut Atri_bas = Database.JiangHu.Atributes[normalstarts[x].UID];
if (client != null)
IncreaseStatus(client, (JiangStages.AtributesType)Atri_bas.Type, (ushort)Atri_bas.Power);
Inner_Strength += Database.JiangHu.GetStatusPoints(normalstarts[x].Level);
}
}
if (oldInner_Strength != Inner_Strength)
JiangHuRanking.UpdateRank(this);
}






