public void SkillBuffEnd(byte b)
{
try
{
foreach (KeyValuePair<string, int> p in Data.SkillBase[Character.Action.Buff.SkillID[b]].Properties1)
{
SkillDelete_Properties(this, p.Key, true, b);
}
// if imbue delete the current imbue
if (Data.SkillBase[Character.Action.Buff.SkillID[b]].SkillType == Global.s_data.SkillTypes.IMBUE)
{
Character.Action.ImbueID = 0;
}
if (Timer.Buff[b] != null)
{
Timer.Buff[b].Dispose();
Timer.Buff[b] = null;
}
else
{
foreach (var pair in Character.Action.Buff.InfiniteBuffs)
{
if (pair.Value == b)
{
Character.Action.Buff.InfiniteBuffs.Remove(pair.Key);
break;
}
}
}
Send(Packet.SkillEndBuffPacket(Character.Action.Buff.OverID[b]));
Global.ID.Delete(Character.Action.Buff.OverID[b]);
Character.Action.Buff.OverID[b] = 0;
Character.Action.Buff.SkillID[b] = 0;
Character.Action.Buff.count--;
}
catch (Exception ex)
{
Systems.Debugger.Write(ex);
}
}