Exemplo n.º 1
0
 public BasePlayerItem[] GetItemSetEquipped(ItemSetTemplate itemSet)
 {
     return((
                from entry in this.GetEquipedItems()
                where itemSet.Items.Contains(entry.Template)
                select entry).ToArray <BasePlayerItem>());
 }
Exemplo n.º 2
0
 protected ItemEffectHandler(EffectBase effect, Character target, ItemSetTemplate itemSet, bool apply)
     : base(effect)
 {
     Target       = target;
     ItemSet      = itemSet;
     ItemSetApply = apply;
 }
Exemplo n.º 3
0
 private void ApplyItemSetEffects(ItemSetTemplate itemSet, int count, bool apply, bool send = true)
 {
     EffectBase[] effects = itemSet.GetEffects(count);
     foreach (ItemEffectHandler current in
              from effect in effects
              select Singleton <EffectManager> .Instance.GetItemEffectHandler(effect, this.Owner, itemSet, apply))
     {
         current.Apply();
     }
     if (send)
     {
         this.Owner.RefreshStats();
     }
 }
Exemplo n.º 4
0
        void ApplyItemSetEffects(ItemSetTemplate itemSet, int count, bool apply, bool send = true)
        {
            var effects = itemSet.GetEffects(count);

            foreach (var handler in effects.Select(effect => EffectManager.Instance.GetItemEffectHandler(effect.GenerateEffect(EffectGenerationContext.Item), Owner, itemSet, apply)))
            {
                handler.Apply();
            }

            if (send)
            {
                Owner.RefreshStats();
            }
        }
            public override void Execute(TriggerBase trigger)
            {
                ItemSetTemplate itemSetTemplate = trigger.Get <ItemSetTemplate>("template");
                Character       target          = base.GetTarget(trigger);

                ItemTemplate[] items = itemSetTemplate.Items;
                for (int i = 0; i < items.Length; i++)
                {
                    ItemTemplate   itemTemplate   = items[i];
                    BasePlayerItem basePlayerItem = Singleton <ItemManager> .Instance.CreatePlayerItem(target, itemTemplate, 1u, trigger.IsArgumentDefined("max"));

                    target.Inventory.AddItem(basePlayerItem);
                    if (basePlayerItem == null)
                    {
                        trigger.Reply("Item '{0}'({1}) can't be add for an unknown reason", new object[]
                        {
                            itemTemplate.Name,
                            itemTemplate.Id
                        });
                    }
                    else
                    {
                        if (trigger is GameTrigger && (trigger as GameTrigger).Character.Id == target.Id)
                        {
                            trigger.Reply("Added '{0}'({1}) to your inventory.", new object[]
                            {
                                itemTemplate.Name,
                                itemTemplate.Id
                            });
                        }
                        else
                        {
                            trigger.Reply("Added '{0}'({1}) to '{2}' inventory.", new object[]
                            {
                                itemTemplate.Name,
                                itemTemplate.Id,
                                target.Name
                            });
                        }
                    }
                }
            }
 public static void SendSetUpdateMessage(WorldClient client, ItemSetTemplate itemSet)
 {
     client.Send(new SetUpdateMessage((ushort)itemSet.Id,
                                      from entry in client.Character.Inventory.GetItemSetEquipped(itemSet)
                                      select(ushort) entry.Template.Id, client.Character.Inventory.GetItemSetEffects(itemSet).Select((EffectBase entry) => entry.GetObjectEffect())));
 }
Exemplo n.º 7
0
 public TitleEffectHandler(EffectBase effect, Character target, ItemSetTemplate itemSet, bool apply)
     : base(effect, target, itemSet, apply)
 {
 }
Exemplo n.º 8
0
 public int CountItemSetEquiped(ItemSetTemplate itemSet)
 {
     return(this.GetEquipedItems().Count((BasePlayerItem entry) => itemSet.Items.Contains(entry.Template)));
 }
Exemplo n.º 9
0
 public EffectBase[] GetItemSetEffects(ItemSetTemplate itemSet)
 {
     return(itemSet.GetEffects(this.CountItemSetEquiped(itemSet)));
 }
Exemplo n.º 10
0
 public EmoteItemEffect(EffectBase effect, Character target, ItemSetTemplate itemSet, bool apply)
     : base(effect, target, itemSet, apply)
 {
 }
Exemplo n.º 11
0
        public ItemEffectHandler GetItemEffectHandler(EffectBase effect, Character target, ItemSetTemplate itemSet, bool apply)
        {
            EffectManager.ItemSetEffectConstructor itemSetEffectConstructor;
            ItemEffectHandler result;

            if (this.m_itemsSetEffectHandler.TryGetValue(effect.EffectId, out itemSetEffectConstructor))
            {
                result = itemSetEffectConstructor(effect, target, itemSet, apply);
            }
            else
            {
                result = new DefaultItemEffect(effect, target, itemSet, apply);
            }
            return(result);
        }
Exemplo n.º 12
0
        public ItemEffectHandler GetItemEffectHandler(EffectBase effect, Character target, ItemSetTemplate itemSet, bool apply)
        {
            ItemSetEffectConstructor handler;

            return(m_itemsSetEffectHandler.TryGetValue(effect.EffectId, out handler) ? handler(effect, target, itemSet, apply) : new DefaultItemEffect(effect, target, itemSet, apply));
        }
Exemplo n.º 13
0
 public BasePlayerItem[] GetItemSetEquipped(ItemSetTemplate itemSet)
 {
     return(GetEquipedItems().Where(entry => itemSet.Items.Contains(entry.Template)).ToArray());
 }
Exemplo n.º 14
0
 public int CountItemSetEquiped(ItemSetTemplate itemSet) => GetEquipedItems().Count(entry => itemSet.Items.Contains(entry.Template));