internal static void DefineItemEquipmentGroups1(IList <EntityGroupMatcherDefinition <Item> > defs)
        {
            defs.Add(new EntityGroupMatcherDefinition <Item>(
                         "Any Weapon", null,
                         new ItemGroupMatcher((item, grps) => {
                return(item.damage > 0);
            })
                         ));
            defs.Add(new EntityGroupMatcherDefinition <Item>(
                         "Any Tool", null,
                         new ItemGroupMatcher((item, grps) => {
                return(ItemAttributeHelpers.IsTool(item));
            })
                         ));
            defs.Add(new EntityGroupMatcherDefinition <Item>(
                         "Any Vanilla Explosive", null,
                         new ItemGroupMatcher((item, grps) => {
                switch (item.type)
                {
                case ItemID.Bomb:
                case ItemID.StickyBomb:
                case ItemID.BouncyBomb:
                case ItemID.Dynamite:
                case ItemID.StickyDynamite:
                case ItemID.BouncyDynamite:
                case ItemID.Grenade:
                case ItemID.StickyGrenade:
                case ItemID.BouncyGrenade:
                case ItemID.BombFish:
                case ItemID.PartyGirlGrenade:
                case ItemID.Explosives:                         //?
                case ItemID.LandMine:                           //?
                case ItemID.RocketI:
                case ItemID.RocketII:
                case ItemID.RocketIII:
                case ItemID.RocketIV:
                case ItemID.StyngerBolt:
                case ItemID.HellfireArrow:
                case ItemID.ExplosiveJackOLantern:
                case ItemID.ExplosiveBunny:
                case ItemID.Cannonball:
                case ItemID.Beenade:                            //?
                    return(true);
                }
                return(false);
            })
                         ));

            defs.Add(new EntityGroupMatcherDefinition <Item>(
                         "Any Accessory", null,
                         new ItemGroupMatcher((item, grps) => {
                return(item.accessory && !item.vanity);
            })
                         ));
            defs.Add(new EntityGroupMatcherDefinition <Item>(
                         "Any Armor", null,
                         new ItemGroupMatcher((item, grps) => {
                return(ItemAttributeHelpers.IsArmor(item));
            })
                         ));
            defs.Add(new EntityGroupMatcherDefinition <Item>(
                         "Any Garment", null,
                         new ItemGroupMatcher((item, grps) => {
                return(item.headSlot != -1 || item.bodySlot != -1 || item.legSlot != -1);
            })
                         ));
            defs.Add(new EntityGroupMatcherDefinition <Item>(
                         "Any Potion", null,
                         new ItemGroupMatcher((item, grps) => {
                return(item.potion);
            })
                         ));

            // Vanity Classes

            defs.Add(new EntityGroupMatcherDefinition <Item>("Any Vanity", null,
                                                             new ItemGroupMatcher((item, grps) => {
                return(item.vanity);
            })
                                                             ));
            defs.Add(new EntityGroupMatcherDefinition <Item>(
                         "Any Vanity Accessory", null,
                         new ItemGroupMatcher((item, grps) => {
                if (!item.vanity)
                {
                    return(false);
                }
                return(item.accessory);
            })
                         ));
            defs.Add(new EntityGroupMatcherDefinition <Item>(
                         "Any Vanity Garment", null,
                         new ItemGroupMatcher((item, grps) => {
                if (!item.vanity)
                {
                    return(false);
                }
                return(item.headSlot != -1 || item.bodySlot != -1 || item.legSlot != -1);
            })
                         ));
        }
Ejemplo n.º 2
0
        private void DefineItemEquipmentGroups1(Action <string, Func <Item, bool> > add_def)
        {
            add_def("Any Weapon", ( Item item ) => {
                return(item.damage > 0);
            });
            add_def("Any Tool", ( Item item ) => {
                return(ItemAttributeHelpers.IsTool(item));
            });
            add_def("Any Vanilla Explosive", ( Item item ) => {
                switch (item.type)
                {
                case ItemID.Bomb:
                case ItemID.StickyBomb:
                case ItemID.BouncyBomb:
                case ItemID.Dynamite:
                case ItemID.StickyDynamite:
                case ItemID.BouncyDynamite:
                case ItemID.Grenade:
                case ItemID.StickyGrenade:
                case ItemID.BouncyGrenade:
                case ItemID.BombFish:
                case ItemID.PartyGirlGrenade:
                case ItemID.Explosives:                 //?
                case ItemID.LandMine:                   //?
                case ItemID.RocketI:
                case ItemID.RocketII:
                case ItemID.RocketIII:
                case ItemID.RocketIV:
                case ItemID.StyngerBolt:
                case ItemID.HellfireArrow:
                case ItemID.ExplosiveJackOLantern:
                case ItemID.ExplosiveBunny:
                case ItemID.Cannonball:
                case ItemID.Beenade:                    //?
                    return(true);
                }
                return(false);
            });

            add_def("Any Accessory", ( Item item ) => {
                return(item.accessory && !item.vanity);
            });
            add_def("Any Armor", ( Item item ) => {
                return(ItemAttributeHelpers.IsArmor(item));
            });
            add_def("Any Vanity", ( Item item ) => {
                return(item.vanity);
            });
            add_def("Any Potion", ( Item item ) => {
                return(item.potion);
            });

            // Vanity Classes

            add_def("Any Vanity Accessory", ( Item item ) => {
                if (!item.vanity)
                {
                    return(false);
                }
                return(item.accessory);
            });
            add_def("Any Vanity Garment", ( Item item ) => {
                if (!item.vanity)
                {
                    return(false);
                }
                return(!item.accessory);
            });
        }