public int GetAirSuperiority(PresetSlotModel slotItem, int onslot, AirSuperiorityCalculationOptions options) { // 装備の対空値とスロットの搭載数による制空値 var airSuperiority = this.GetAirSuperiority(slotItem, onslot); // 装備の熟練度による制空値ボーナス airSuperiority += this.GetProficiencyBonus(slotItem, options); return((int)airSuperiority); }
private static Proficiency GetProficiency(this PresetSlotModel slotItem) => proficiencies[Math.Max(Math.Min(slotItem.Proficiency, 7), 0)];
protected override double GetProficiencyBonus(PresetSlotModel slotItem, AirSuperiorityCalculationOptions options) => .0;
protected override double GetAirSuperiority(PresetSlotModel slotItem, int onslot) => .0;
protected override double GetProficiencyBonus(PresetSlotModel slotItem, AirSuperiorityCalculationOptions options) { var proficiency = slotItem.GetProficiency(); return(Math.Sqrt(proficiency.GetInternalValue(options) / 10.0) + proficiency.SeaplaneBomberBonus); }
protected override double GetAirSuperiority(PresetSlotModel slotItem, int onslot) { // 装備改修による対空値加算 (★ x 0.2) return((new PresetSlotData(slotItem).Item.AA + slotItem.Level * 0.2) * Math.Sqrt(onslot)); }
protected abstract double GetProficiencyBonus(PresetSlotModel slotItem, AirSuperiorityCalculationOptions options);
protected virtual double GetAirSuperiority(PresetSlotModel slotItem, int onslot) { return(new PresetSlotData(slotItem).Item.AA *Math.Sqrt(onslot)); }
public void Deserialize(string Data) => this.Source = PresetSlotModel.Deserialize(Data);
public PresetSlotData(PresetSlotModel item) { this.Source = item; }