From 3122e39e37341d3241f7bc1eaf1b67b1ce59b6ba Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 17 Feb 2023 16:24:45 +0100 Subject: [PATCH 1/2] AS Conversion: MHQ Point Value fix --- .../common/alphaStrike/conversion/ASPointValueConverter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/megamek/src/megamek/common/alphaStrike/conversion/ASPointValueConverter.java b/megamek/src/megamek/common/alphaStrike/conversion/ASPointValueConverter.java index abc0150e92a..208cb5097b9 100644 --- a/megamek/src/megamek/common/alphaStrike/conversion/ASPointValueConverter.java +++ b/megamek/src/megamek/common/alphaStrike/conversion/ASPointValueConverter.java @@ -533,11 +533,11 @@ protected void processForceBonus() { modifierList.add("LECM"); } if (element.hasSUA(MHQ)) { - int mhqValue = (int) element.getSUA(MHQ); + int mhqValue = element.getMHQ(); if (mhqValue <= 4) { bonus += mhqValue; } else { - bonus += 4 + Math.ceil(0.2 * mhqValue); + bonus += 4 + Math.ceil(0.2 * (mhqValue - 5)); } modifierList.add("MHQ"); } From d9290d28e2233259346bb8061f8ba5c13774f3b4 Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 17 Feb 2023 16:42:02 +0100 Subject: [PATCH 2/2] AS Conversion: Round CT on large aerospace, allow fractional CT on all others --- .../alphaStrike/conversion/ASSpecialAbilityConverter.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/megamek/src/megamek/common/alphaStrike/conversion/ASSpecialAbilityConverter.java b/megamek/src/megamek/common/alphaStrike/conversion/ASSpecialAbilityConverter.java index 721a9274bd2..d0c0c16e618 100644 --- a/megamek/src/megamek/common/alphaStrike/conversion/ASSpecialAbilityConverter.java +++ b/megamek/src/megamek/common/alphaStrike/conversion/ASSpecialAbilityConverter.java @@ -230,7 +230,7 @@ protected void processMiscMounted(Mounted misc) { } else if (miscType.hasFlag(F_VIRAL_JAMMER_HOMING)) { assign(misc, HJ); } else if (miscType.hasFlag(F_CARGO)) { - assign(misc, CT, (int) misc.getTonnage()); + assign(misc, CT, misc.getTonnage()); } else if (miscType.hasFlag(F_HARJEL)) { assign(misc, BHJ); } else if (miscType.hasFlag(F_HARJEL_II)) { @@ -540,9 +540,10 @@ protected void finalizeSpecials() { element.getSpecialAbilities().removeSUA(CTxD); report.addLine("Replace CT with CK", AlphaStrikeHelper.formatAbility(CK, element.getSpecialAbilities(), element, ", ")); - } else if (ctValue > 1) { - element.getSpecialAbilities().replaceSUA(CT, (int) Math.round(ctValue)); + } else if (element.isLargeAerospace()) { + // Replace CT with a rounded value on large aerospace if (ctValue != (int) ctValue) { + element.getSpecialAbilities().replaceSUA(CT, (int) Math.round(ctValue)); report.addLine("Final CT value", AlphaStrikeHelper.formatAbility(CT, element.getSpecialAbilities(), element, ", ")); }