Пример #1
0
        private void ApplyItemSetEffects(ItemSetRecord itemSet, int count, bool equiped)
        {
            if (equiped)
            {
                if (count >= 2)
                {
                    if (count >= 3)
                    {
                        ItemEffectsProvider.RemoveEffects(Character, itemSet.GetSetEffects(count - 2));
                    }

                    ItemEffectsProvider.AddEffects(Character, itemSet.GetSetEffects(count - 1));
                    OnSetUpdated(itemSet, count - 1);
                }
            }
            else
            {
                if (count >= 1)
                {
                    if (count >= 2)
                    {
                        ItemEffectsProvider.AddEffects(Character, itemSet.GetSetEffects(count - 1));
                    }

                    ItemEffectsProvider.RemoveEffects(Character, itemSet.GetSetEffects(count));
                    OnSetUpdated(itemSet, count);
                }
            }
        }
Пример #2
0
        public static void ItemSetCommand(string value, WorldClient client)
        {
            ItemSetRecord set = ItemSetRecord.ItemsSets.Find(x => x.Items.Contains(ushort.Parse(value)));

            if (set != null)
            {
                foreach (ushort item in set.Items)
                {
                    client.Character.Inventory.AddItem(item, 1);
                }
            }
            else
            {
                client.Character.Reply("Set dosent exist");
            }
        }
Пример #3
0
        public int MaximumItemSetCount()
        {
            int max = 0;

            foreach (var item in GetEquipedItems())
            {
                var itemSet = ItemSetRecord.GetItemSet(item.GId);

                if (itemSet != null)
                {
                    int current = CountItemSetEquiped(itemSet);

                    if (current > max)
                    {
                        max = current;
                    }
                }
            }
            return(max - 1);
        }
Пример #4
0
 /// <summary>
 /// Compte le nombre d'items équipés d'une panoplie
 /// </summary>
 /// <param name="itemSet"></param>
 /// <returns></returns>
 private int CountItemSetEquiped(ItemSetRecord itemSet)
 {
     return(this.GetEquipedItems().Count(entry => itemSet.Items.Contains(entry.GId)));
 }
Пример #5
0
 /// <summary>
 /// Lorsque la panoplie a été modifiée
 /// </summary>
 /// <param name="set"></param>
 /// <param name="num"></param>
 private void OnSetUpdated(ItemSetRecord set, int num)
 {
     Character.Client.Send(new SetUpdateMessage((ushort)set.Id,
                                                set.Items.ToArray(),
                                                set.GetSetEffects(num).ConvertAll(x => (ObjectEffectInteger)x.GetObjectEffect()).ToArray()));
 }