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); }
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); }
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; } }
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); }