Esempio n. 1
0
        public override uint UseItem(uint amount = 1u, Cell targetCell = null, Character target = null)
        {
            HasItemCriterion hasItemCriterion = this.Template.CriteriaExpression as HasItemCriterion;
            uint             result;

            if (hasItemCriterion == null)
            {
                result = base.UseItem(amount, targetCell, target);
            }
            else
            {
                ItemTemplate itemTemplate = Singleton <ItemManager> .Instance.TryGetTemplate(hasItemCriterion.Item);

                if (itemTemplate == null)
                {
                    CandyItem.logger.Error(string.Format("Candy {0} has boostItem {1} but it doesn't exist", this.Template.Id, hasItemCriterion.Item));
                    result = 0u;
                }
                else
                {
                    base.Owner.Inventory.MoveItem(base.Owner.Inventory.AddItem(itemTemplate, 1u), CharacterInventoryPositionEnum.INVENTORY_POSITION_BOOST_FOOD);
                    result = 1u;
                }
            }
            return(result);
        }
Esempio n. 2
0
        public static Criterion CreateCriterionByName(string name)
        {
            Criterion result;

            if (!StatsCriterion.IsStatsIdentifier(name))
            {
                switch (name)
                {
                case "PX":
                    result = new AdminRightsCriterion();
                    return(result);

                case "Pa":
                    result = new AlignementLevelCriterion();
                    return(result);

                case "Ps":
                    result = new AlignmentCriterion();
                    return(result);

                case "PU":
                    result = new BonesCriterion();
                    return(result);

                case "PG":
                    result = new BreedCriterion();
                    return(result);

                case "PE":
                    result = new EmoteCriterion();
                    return(result);

                case "Pb":
                    result = new FriendListCriterion();
                    return(result);

                case "Pg":
                    result = new GiftCriterion();
                    return(result);

                case "PO":
                    result = new HasItemCriterion();
                    return(result);

                case "PJ":
                    result = new JobCriterion();
                    return(result);

                case "PK":
                    result = new KamaCriterion();
                    return(result);

                case "PL":
                    result = new LevelCriterion();
                    return(result);

                case "MK":
                    result = new MapCharactersCriterion();
                    return(result);

                case "PR":
                    result = new MariedCriterion();
                    return(result);

                case "P¨Q":
                    result = new MaxRankCriterion();
                    return(result);

                case "SG":
                    result = new MonthCriterion();
                    return(result);

                case "PN":
                    result = new NameCriterion();
                    return(result);

                case "Pe":
                    result = new PreniumAccountCriterion();
                    return(result);

                case "PP":
                case "Pp":
                    result = new PvpRankCriterion();
                    return(result);

                case "Qa":
                    result = new QuestActiveCriterion();
                    return(result);

                case "Qf":
                    result = new QuestDoneCriterion();
                    return(result);

                case "Qc":
                    result = new QuestStartableCriterion();
                    return(result);

                case "Pq":
                    result = new RankCriterion();
                    return(result);

                case "Pf":
                    result = new RideCriterion();
                    return(result);

                case "SI":
                    result = new ServerCriterion();
                    return(result);

                case "PS":
                    result = new SexCriterion();
                    return(result);

                case "Pi":
                case "PI":
                    result = new SkillCriterion();
                    return(result);

                case "PA":
                    result = new SoulStoneCriterion();
                    return(result);

                case "Pr":
                    result = new SpecializationCriterion();
                    return(result);

                case "Sc":
                    result = new StaticCriterion();
                    return(result);

                case "PB":
                    result = new SubAreaCriterion();
                    return(result);

                case "PZ":
                    result = new SubscribeCriterion();
                    return(result);

                case "BI":
                    result = new UnusableCriterion();
                    return(result);

                case "PW":
                    result = new WeightCriterion();
                    return(result);

                case "Px":
                    result = new GuildRightsCriterion();
                    return(result);

                case "Ox":
                    result = new AllianceRightsCriterion();
                    return(result);

                case "Oc":
                    result = new IgnoreCriterion();
                    return(result);
                }
                throw new System.Exception(string.Format("Criterion {0} doesn't not exist or not handled", name));
            }
            result = new StatsCriterion(name);
            return(result);
        }