Code:
private static void Durability(Entity attacker, Entity attacked, Database.SpellInformation spell)
{//duranano
if (spell != null)
if (!spell.CanKill)
return;
#region Attack
if (attacker != null)
if (attacker.EntityFlag == EntityFlag.Player)
{
for (byte i = 4; i <= 6; i++)
{
if (attacker.Owner.Equipment.Free(i))
{
var item = attacker.Owner.Equipment.TryGetItem(i);
i = 0; <<<---Added to get rid of the other null error
if (i == 5)
{
{
if (Network.PacketHandler.IsArrow(item.ID))
{
continue;
}
}
if (Kernel.Rate(30, 100))
{
{
if (item.Durability != 0)
{
item.Durability -= 5;
Database.ConquerItemTable.UpdateDurabilityItem(item);
item.Mode = Enums.ItemMode.Update;
item.Send(attacker.Owner);
item.Mode = Enums.ItemMode.Default;
}
}
}
}
if (i == 6)
break;
}
if (attacker.Owner.Equipment.Free(10))
{
var item = attacker.Owner.Equipment.TryGetItem(10);
if (Kernel.Rate(30, 100))
{
if (item.Durability != 0) <<<null reference here
{
item.Durability -= 10;
Database.ConquerItemTable.UpdateDurabilityItem(item);
item.Mode = Enums.ItemMode.Update;
item.Send(attacker.Owner);
item.Mode = Enums.ItemMode.Default;
}
}
}
}
#endregion