Example #1
0
        public static int CalculateDp(CreatureData creatureData)
        {
            int delta = 0;
            AttackItemDefinition attackItem = creatureData.GetAttackItem();

            if (attackItem != null)
            {
                delta = attackItem.Dp;
            }

            DefendItemDefinition defendItem = creatureData.GetDefendItem();

            if (defendItem != null)
            {
                delta = defendItem.Dp;
            }

            int total = creatureData.Dp + delta;

            if (creatureData.Effects.Contains(CreatureData.CreatureEffects.EnhancedDp))
            {
                total = (int)(total * 1.15f);
            }

            return(total);
        }
Example #2
0
        protected string GetItemDescription(ItemDefinition item)
        {
            if (item == null)
            {
                return(null);
            }

            string description = string.Empty;

            if (item is AttackItemDefinition)
            {
                AttackItemDefinition attackItem = item as AttackItemDefinition;

                description = string.Format(@"+AP {0}", StringUtils.Digit2(attackItem.Ap));
                if (attackItem.Dp > 0)
                {
                    description += string.Format(@" +DP {0}", StringUtils.Digit2(attackItem.Dp));
                }
                if (attackItem.Dp < 0)
                {
                    description += string.Format(@" -DP {0}", StringUtils.Digit2(-attackItem.Dp));
                }
                return(description);
            }
            if (item is DefendItemDefinition)
            {
                DefendItemDefinition defendItem = item as DefendItemDefinition;
                description = string.Format(@"+DP {0}", StringUtils.Digit2(defendItem.Dp));
                return(description);
            }
            if (item is ConsumableItemDefinition)
            {
                ConsumableItemDefinition consumableItem = item as ConsumableItemDefinition;
                string prefix = string.Empty;
                switch (consumableItem.UseType)
                {
                case ItemUseType.Hp: prefix = "HP"; break;

                case ItemUseType.Mp: prefix = "MP"; break;

                case ItemUseType.HpMax: prefix = "HP"; break;

                case ItemUseType.MpMax: prefix = "MP"; break;

                case ItemUseType.Dx: prefix = "DX"; break;

                case ItemUseType.Mv: prefix = "MV"; break;

                default: break;
                }

                description = string.Format(@"+{0} {1}", prefix, consumableItem.Quantity);
                return(description);
            }

            return(string.Empty);
        }
Example #3
0
        private void LoadItemDefinitions()
        {
            itemDefinitions = new Dictionary <int, ItemDefinition>();
            ResourceDataFile fileReader = new ResourceDataFile(@"Data/Item");

            int usableItemCount = fileReader.ReadInt();

            for (int i = 0; i < usableItemCount; i++)
            {
                ConsumableItemDefinition def = ConsumableItemDefinition.ReadFromFile(fileReader);
                itemDefinitions[def.ItemId] = def;
            }

            int attackItemCount = fileReader.ReadInt();

            for (int i = 0; i < attackItemCount; i++)
            {
                AttackItemDefinition def = AttackItemDefinition.ReadFromFile(fileReader);
                itemDefinitions[def.ItemId] = def;
            }

            int defendItemCount = fileReader.ReadInt();

            for (int i = 0; i < defendItemCount; i++)
            {
                DefendItemDefinition def = DefendItemDefinition.ReadFromFile(fileReader);
                itemDefinitions[def.ItemId] = def;
            }

            int specialItemCount = fileReader.ReadInt();

            for (int i = 0; i < specialItemCount; i++)
            {
                SpecialItemDefinition def = SpecialItemDefinition.ReadFromFile(fileReader);
                itemDefinitions[def.ItemId] = def;
            }

            int moneyItemCount = fileReader.ReadInt();

            for (int i = 0; i < moneyItemCount; i++)
            {
                MoneyItemDefinition def = MoneyItemDefinition.ReadFromFile(fileReader);
                itemDefinitions[def.ItemId] = def;
            }
        }
Example #4
0
        public static int CalculateEv(CreatureData creatureData)
        {
            int delta = 0;
            AttackItemDefinition attackItem = creatureData.GetAttackItem();

            if (attackItem != null)
            {
                delta = attackItem.Ev;
            }

            DefendItemDefinition defendItem = creatureData.GetDefendItem();

            if (defendItem != null)
            {
                delta = defendItem.Ev;
            }

            return(creatureData.Dx + delta);
        }