public List <ObjectEffect> GetRuneEffects() { return(UsedRune.GetEffects()); }
public override void AddItemToPanel(CharacterItemRecord obj, uint quantity) { #region BackgroundCheck ItemRecord template = ItemRecord.GetItem(obj.GID); if (obj.IsNull()) { return; } #endregion if (template.Type == ItemTypeEnum.SMITHMAGIC_RUNE) { #region Ajout de Rune if (UsedRune != null) // bizzare de devoir faire ça, le client devrait s'en charger { if (obj.Quantity - UsedRune.Quantity <= 0) { return; } } if (quantity == obj.Quantity) { var addedItem = obj.CloneWithUID(); Client.Send(new ExchangeObjectAddedMessage(false, addedItem.GetObjectItem())); UsedRune = addedItem; return; } else { if (UsedRune != null) { UsedRune.Quantity += (uint)quantity; Client.Send(new ExchangeObjectModifiedMessage(false, UsedRune.GetObjectItem())); return; } else { var addedItem = obj.CloneWithUID(); addedItem.Quantity = (uint)quantity; Client.Send(new ExchangeObjectAddedMessage(false, addedItem.GetObjectItem())); UsedRune = addedItem; return; } } #endregion } else { if (quantity == obj.Quantity) { var addedItem = obj.CloneWithUID(); Client.Send(new ExchangeObjectAddedMessage(false, addedItem.GetObjectItem())); UsedItem = addedItem; return; } else { if (UsedItem == null) { var addedItem = obj.CloneWithUID(); addedItem.Quantity = (uint)quantity; Client.Send(new ExchangeObjectAddedMessage(false, addedItem.GetObjectItem())); UsedItem = addedItem; return; } else { Client.Send(new ExchangeObjectRemovedMessage(false, UsedItem.UID)); UsedItem = null; AddItemToPanel(obj, quantity); } } } }