private static ModVM GetModVM(PlayerMod mod, bool showCheckbox) { var model = new ModVM(); model.IsInModSet = mod.IsInModSet(); model.ShowCheckbox = showCheckbox; model.Id = mod.Id; model.Pips = mod.Pips; model.Set = (ModSets)mod.SetId; model.Slot = (ModSlots)mod.SlotId; model.ModImg = GetModImg(model.Set, model.Slot); model.CharacterId = mod.PlayerCharacter?.Unit?.Id ?? 0; model.CharacterName = mod.PlayerCharacter?.Unit?.Name ?? "Unassigned"; model.CharacterUrl = GetCharacterUrl(mod); model.CharacterImg = mod.PlayerCharacter?.Unit?.Image ?? "/Content/Images/unassigned.jpg"; model.PrimaryType = mod.PrimaryTypeId; if (mod.PrimaryType != null) { model.Primary = $"+{GetModStatValue(mod.PrimaryValue, (ModStatUnits)mod.PrimaryUnitsId)} {GetPrimaryModStatTypeName(mod.PrimaryType)}"; } if (mod.Secondary1Type != null) { model.Secondary1 = $"+{GetModStatValue(mod.Secondary1Value, (ModStatUnits)mod.Secondary1UnitsId)} {GetModStatTypeName(mod.Secondary1Type)}"; } if (mod.Secondary2Type != null) { model.Secondary2 = $"+{GetModStatValue(mod.Secondary2Value, (ModStatUnits)mod.Secondary2UnitsId)} {GetModStatTypeName(mod.Secondary2Type)}"; } if (mod.Secondary3Type != null) { model.Secondary3 = $"+{GetModStatValue(mod.Secondary3Value, (ModStatUnits)mod.Secondary3UnitsId)} {GetModStatTypeName(mod.Secondary3Type)}"; } if (mod.Secondary4Type != null) { model.Secondary4 = $"+{GetModStatValue(mod.Secondary4Value, (ModStatUnits)mod.Secondary4UnitsId)} {GetModStatTypeName(mod.Secondary4Type)}"; } model.Speed = mod.Speed(); model.CritChance = mod.CritChance(); model.CritDamage = mod.CritDamage(); model.FlatOffense = mod.FlatOffense(); model.PercentageOffense = mod.PercentageOffense(); model.Potency = mod.Potency(); model.Accuracy = mod.Accuracy(); model.FlatProtection = mod.FlatProtection(); model.PercentageProtection = mod.PercentageProtection(); model.FlatHealth = mod.FlatHealth(); model.PercentageHealth = mod.PercentageHealth(); model.FlatDefense = mod.FlatDefense(); model.PercentageDefense = mod.PercentageDefense(); model.Tenacity = mod.Tenacity(); model.CritAvoidance = mod.CritAvoid(); return(model); }