public static bool TryGetRow(Equipment equipment, EnhancementCostSheetV2 sheet, out EnhancementCostSheetV2.Row row) { var grade = equipment.Grade; var level = equipment.level + 1; var itemSubType = equipment.ItemSubType; row = sheet.OrderedList.FirstOrDefault(x => x.Grade == grade && x.Level == level && x.ItemSubType == itemSubType); return(row != null); }
public void Set() { var sheet = new EnhancementCostSheetV2(); sheet.Set(_csv); Assert.Equal(2, sheet.Count); Assert.NotNull(sheet.First); Assert.NotNull(sheet.Last); var row = sheet.First; Assert.Equal(row.Id, row.Key); Assert.Equal(1, row.Id); Assert.Equal(ItemSubType.Weapon, row.ItemSubType); Assert.Equal(1, row.Grade); Assert.Equal(1, row.Level); Assert.Equal(0, row.Cost); Assert.Equal(7500, row.SuccessRatio); Assert.Equal(2500, row.GreatSuccessRatio); Assert.Equal(0, row.FailRatio); Assert.Equal(300, row.SuccessRequiredBlockIndex); Assert.Equal(700, row.GreatSuccessRequiredBlockIndex); Assert.Equal(50, row.FailRequiredBlockIndex); Assert.Equal(800, row.BaseStatGrowthMin); Assert.Equal(01200, row.BaseStatGrowthMax); Assert.Equal(02400, row.ExtraStatGrowthMin); Assert.Equal(03600, row.ExtraStatGrowthMax); Assert.Equal(02400, row.ExtraSkillDamageGrowthMin); Assert.Equal(03600, row.ExtraSkillDamageGrowthMax); Assert.Equal(01200, row.ExtraSkillChanceGrowthMin); Assert.Equal(01800, row.ExtraSkillChanceGrowthMax); row = sheet.Last; Assert.Equal(row.Id, row.Key); Assert.Equal(2, row.Id); Assert.Equal(ItemSubType.Weapon, row.ItemSubType); Assert.Equal(1, row.Grade); Assert.Equal(2, row.Level); Assert.Equal(0, row.Cost); Assert.Equal(7500, row.SuccessRatio); Assert.Equal(2500, row.GreatSuccessRatio); Assert.Equal(0, row.FailRatio); Assert.Equal(300, row.SuccessRequiredBlockIndex); Assert.Equal(700, row.GreatSuccessRequiredBlockIndex); Assert.Equal(50, row.FailRequiredBlockIndex); Assert.Equal(800, row.BaseStatGrowthMin); Assert.Equal(1200, row.BaseStatGrowthMax); Assert.Equal(0800, row.ExtraStatGrowthMin); Assert.Equal(1200, row.ExtraStatGrowthMax); Assert.Equal(0800, row.ExtraSkillDamageGrowthMin); Assert.Equal(1200, row.ExtraSkillDamageGrowthMax); Assert.Equal(0400, row.ExtraSkillChanceGrowthMin); Assert.Equal(0600, row.ExtraSkillChanceGrowthMax); }
public static int GetEquipmentMaxLevel(Equipment equipment, EnhancementCostSheetV2 sheet) { return(sheet.OrderedList.Where(x => x.Grade == equipment.Grade).Max(x => x.Level)); }