Skip to content

Commit

Permalink
Fixed Some Crashes Related to Weird Vehicle Mod Rating Settings
Browse files Browse the repository at this point in the history
  • Loading branch information
DelnarErsike committed Mar 6, 2024
1 parent 60a7a37 commit 8f47b2b
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
5 changes: 4 additions & 1 deletion Chummer/Backend/Equipment/VehicleMod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,6 @@ private void ChildrenWeaponsOnCollectionChanged(object sender, NotifyCollectionC
objXmlMod.TryGetStringFieldQuickly("category", ref _strCategory);
objXmlMod.TryGetStringFieldQuickly("limit", ref _strLimit);
objXmlMod.TryGetStringFieldQuickly("slots", ref _strSlots);
_intRating = intRating;
_blnDowngrade = objXmlMod?["downgrade"] != null;
if (!objXmlMod.TryGetMultiLineStringFieldQuickly("altnotes", ref _strNotes))
objXmlMod.TryGetMultiLineStringFieldQuickly("notes", ref _strNotes);
Expand All @@ -223,6 +222,10 @@ private void ChildrenWeaponsOnCollectionChanged(object sender, NotifyCollectionC
_strRatingLabel = "Label_Seats";
break;
}
if (string.IsNullOrEmpty(_strMaxRating))
_intRating = 0;
else
_intRating = Math.Max(intRating, 1);
objXmlMod.TryGetStringFieldQuickly("ratinglabel", ref _strRatingLabel);
objXmlMod.TryGetInt32FieldQuickly("conditionmonitor", ref _intConditionMonitor);
objXmlMod.TryGetStringFieldQuickly("weaponmountcategories", ref _strWeaponMountCategories);
Expand Down
12 changes: 6 additions & 6 deletions Chummer/Forms/Character Forms/CharacterCreate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15487,9 +15487,9 @@ await cmdCyberwareChangeMount.DoThreadSafeAsync(x => x.Visible = false, token)
if (intGearMinRatingValue > 0)
x.Minimum = intGearMinRatingValue;
else if (intGearMinRatingValue == 0 && objGear.Name.Contains("Credstick,"))
x.Minimum = 0;
x.Minimum = Math.Min(0, intGearMaxRatingValue);
else
x.Minimum = 1;
x.Minimum = Math.Min(1, intGearMaxRatingValue);
x.Maximum = intGearMaxRatingValue;
x.Value = intRating;
x.Enabled = x.Minimum != x.Maximum
Expand Down Expand Up @@ -17258,9 +17258,9 @@ await lblGearCategory
if (intGearMinRatingValue > 0)
x.Minimum = intGearMinRatingValue;
else if (intGearMinRatingValue == 0 && objGear.Name.Contains("Credstick,"))
x.Minimum = 0;
x.Minimum = Math.Min(0, intGearMaxRatingValue);
else
x.Minimum = 1;
x.Minimum = Math.Min(1, intGearMaxRatingValue);
x.Maximum = intGearMaxRatingValue;
x.Value = intRating;
x.Enabled = x.Minimum != x.Maximum && string.IsNullOrEmpty(objGear.ParentID);
Expand Down Expand Up @@ -19106,7 +19106,7 @@ await lblVehicleRatingLabel.DoThreadSafeAsync(x => x.Visible = true, token)
await nudVehicleRating.DoThreadSafeAsync(x =>
{
x.Maximum = intMaxRating;
x.Minimum = 1;
x.Minimum = Math.Min(1, intMaxRating);
x.Visible = true;
x.Value = objMod.Rating;
x.Increment = 1;
Expand Down Expand Up @@ -19565,7 +19565,7 @@ await lblVehicleRatingLabel.DoThreadSafeAsync(x => x.Visible = true, token)
await nudVehicleRating.DoThreadSafeAsync(x =>
{
x.Visible = true;
x.Minimum = 1;
x.Minimum = Math.Min(1, objAccessory.MaxRating);
x.Maximum = objAccessory.MaxRating;
x.Value = objAccessory.Rating;
x.Increment = 1;
Expand Down

0 comments on commit 8f47b2b

Please sign in to comment.