From 160a3ac07de54a0890f36b89e0d13bde594cb084 Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 18 Dec 2022 23:07:34 +0100 Subject: [PATCH 1/7] Add OS Thunderbolt: general changes and Tb5 --- .../weapons/missiles/ISThunderBolt10.java | 16 +---- .../weapons/missiles/ISThunderBolt15.java | 9 +-- .../weapons/missiles/ISThunderBolt20.java | 9 +-- .../weapons/missiles/ISThunderBolt5.java | 35 +---------- .../weapons/missiles/ISThunderbolt5IOS.java | 48 ++++++++++++++ .../weapons/missiles/ISThunderbolt5OS.java | 48 ++++++++++++++ .../weapons/missiles/ThunderBoltWeapon.java | 38 +++-------- .../weapons/missiles/Thunderbolt5Weapon.java | 63 +++++++++++++++++++ 8 files changed, 173 insertions(+), 93 deletions(-) create mode 100644 megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java create mode 100644 megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java create mode 100644 megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java index e3edb462dbe..ac3f6af0f56 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java @@ -28,15 +28,8 @@ * @author Sebastian Brocks */ public class ISThunderBolt10 extends ThunderBoltWeapon { - - /** - * - */ private static final long serialVersionUID = 6781882739979127656L; - /** - * - */ public ISThunderBolt10() { super(); name = "Thunderbolt 10"; @@ -47,20 +40,13 @@ public ISThunderBolt10() { addLookupName("ISTBolt10"); ammoType = AmmoType.T_TBOLT_10; heat = 5; - minimumRange = 5; - shortRange = 6; - mediumRange = 12; - longRange = 18; - extremeRange = 24; shortAV = 10; medAV = 10; - maxRange = RANGE_MED; tonnage = 7.0; criticals = 2; bv = 127; cost = 175000; - flags = flags.or(F_LARGEMISSILE); - this.missileArmor = 10; + missileArmor = 10; rulesRefs = "347, TO"; techAdvancement.setTechBase(TECH_BASE_IS) .setIntroLevel(false) diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt15.java b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt15.java index 450ca8a711b..e1a674631fd 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt15.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt15.java @@ -40,20 +40,13 @@ public ISThunderBolt15() { addLookupName("ISTBolt15"); ammoType = AmmoType.T_TBOLT_15; heat = 7; - minimumRange = 5; - shortRange = 6; - mediumRange = 12; - longRange = 18; - extremeRange = 24; shortAV = 15; medAV = 15; - maxRange = RANGE_MED; tonnage = 11.0; criticals = 3; bv = 229; cost = 325000; - flags = flags.or(F_LARGEMISSILE); - this.missileArmor = 15; + missileArmor = 15; rulesRefs = "347, TO"; techAdvancement.setTechBase(TECH_BASE_IS) .setIntroLevel(false) diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt20.java b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt20.java index 813822ff0df..7deab34e5d1 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt20.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt20.java @@ -40,20 +40,13 @@ public ISThunderBolt20() { addLookupName("IS Thunderbolt 20"); ammoType = AmmoType.T_TBOLT_20; heat = 8; - minimumRange = 5; - shortRange = 6; - mediumRange = 12; - longRange = 18; - extremeRange = 24; shortAV = 20; medAV = 20; - maxRange = RANGE_MED; tonnage = 15.0; criticals = 5; bv = 305; cost = 450000; - flags = flags.or(F_LARGEMISSILE); - this.missileArmor = 20; + missileArmor = 20; rulesRefs = "347, TO"; techAdvancement.setTechBase(TECH_BASE_IS) .setIntroLevel(false) diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt5.java b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt5.java index 56a66026eb6..f9f524e4af6 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt5.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt5.java @@ -19,15 +19,12 @@ */ package megamek.common.weapons.missiles; -import megamek.common.AmmoType; -import megamek.common.alphaStrike.AlphaStrikeElement; -import megamek.common.Mounted; import megamek.common.SimpleTechLevel; /** * @author Sebastian Brocks */ -public class ISThunderBolt5 extends ThunderBoltWeapon { +public class ISThunderBolt5 extends Thunderbolt5Weapon { private static final long serialVersionUID = 5295837076559643763L; public ISThunderBolt5() { @@ -37,24 +34,9 @@ public ISThunderBolt5() { addLookupName("IS Thunderbolt-5"); addLookupName("ISThunderbolt5"); addLookupName("IS Thunderbolt 5"); - sortingName = "Thunderbolt 05"; - ammoType = AmmoType.T_TBOLT_5; - heat = 3; - minimumRange = 5; - shortRange = 6; - mediumRange = 12; - longRange = 18; - extremeRange = 24; - shortAV = 5; - medAV = 5; - maxRange = RANGE_MED; tonnage = 3.0; - criticals = 1; bv = 64; cost = 50000; - flags = flags.or(F_LARGEMISSILE); - this.missileArmor = 5; - rulesRefs = "347, TO"; // Tech Progression tweaked to combine IntOps with TRO Prototypes/3145 NTNU RS techAdvancement.setTechBase(TECH_BASE_IS) .setIntroLevel(false) @@ -67,17 +49,4 @@ public ISThunderBolt5() { .setProductionFactions(F_FS, F_LC) .setStaticTechLevel(SimpleTechLevel.STANDARD); } - - @Override - public double getBattleForceDamage(int range, Mounted fcs) { - if (range == AlphaStrikeElement.SHORT_RANGE) { - return 0.29; - } else if (range == AlphaStrikeElement.MEDIUM_RANGE) { - return 0.5; - } else if (range == AlphaStrikeElement.LONG_RANGE) { - return 0.5; - } else { - return 0; - } - } -} +} \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java new file mode 100644 index 00000000000..d7af18f2ea4 --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +import megamek.common.SimpleTechLevel; + +public class ISThunderbolt5IOS extends Thunderbolt5Weapon { + + public ISThunderbolt5IOS() { + super(); + name = "Thunderbolt-5 (I-OS)"; + setInternalName(name); + addLookupName("IS IOS Thunderbolt-5"); + addLookupName("ISThunderbolt5 (IOS)"); + addLookupName("IS Thunderbolt 5 (IOS)"); + tonnage = 2.5; + bv = 13; + cost = 40000; + flags = flags.or(F_ONESHOT); + // Tech Progression tweaked to combine IntOps with TRO Prototypes/3145 NTNU RS + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); + } +} \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java new file mode 100644 index 00000000000..4b0d5847b2c --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +import megamek.common.SimpleTechLevel; + +public class ISThunderbolt5OS extends ThunderBoltWeapon { + + public ISThunderbolt5OS() { + super(); + name = "Thunderbolt-5 (OS)"; + setInternalName(name); + addLookupName("IS OS Thunderbolt-5"); + addLookupName("ISThunderbolt5 (OS)"); + addLookupName("IS Thunderbolt 5 (OS)"); + tonnage = 3.5; + bv = 13; + cost = 25000; + flags = flags.or(F_ONESHOT); + // Tech Progression tweaked to combine IntOps with TRO Prototypes/3145 NTNU RS + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); + } +} \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java b/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java index a739092c2d2..6552b6362bc 100644 --- a/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java +++ b/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java @@ -13,7 +13,6 @@ */ package megamek.common.weapons.missiles; -import megamek.common.alphaStrike.AlphaStrikeElement; import megamek.common.Game; import megamek.common.ToHitData; import megamek.common.actions.WeaponAttackAction; @@ -27,46 +26,27 @@ * @author Sebastian Brocks */ public abstract class ThunderBoltWeapon extends MissileWeapon { - - /** - * - */ private static final long serialVersionUID = 3496376576886743383L; - /** - * - */ public ThunderBoltWeapon() { super(); - this.rackSize = 1; + rackSize = 1; + minimumRange = 5; + shortRange = 6; + mediumRange = 12; + longRange = 18; + extremeRange = 24; + maxRange = RANGE_MED; + flags = flags.or(F_LARGEMISSILE); atClass = CLASS_THUNDERBOLT; } - /* - * (non-Javadoc) - * - * @see - * megamek.common.weapons.Weapon#getCorrectHandler(megamek.common.ToHitData, - * megamek.common.actions.WeaponAttackAction, megamek.common.Game) - */ @Override protected AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, Game game, GameManager manager) { return new ThunderBoltWeaponHandler(toHit, waa, game, manager); } - @Override - public double getBattleForceDamage(int range) { - double damage = 0; - if (range <= getLongRange()) { - damage = getRackSize(); - if ((range == AlphaStrikeElement.SHORT_RANGE) && (getMinimumRange() > 0)) { - damage = adjustBattleForceDamageForMinRange(damage); - } - } - return damage / 10.0; - } - @Override public boolean hasIndirectFire() { return true; @@ -85,4 +65,4 @@ public void adaptToGameOptions(GameOptions gOp) { removeMode("Indirect"); } } -} +} \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java b/megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java new file mode 100644 index 00000000000..10b8aae92ac --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +import megamek.common.AmmoType; +import megamek.common.Mounted; +import megamek.common.SimpleTechLevel; +import megamek.common.alphaStrike.AlphaStrikeElement; + +public class Thunderbolt5Weapon extends ThunderBoltWeapon { + + public Thunderbolt5Weapon() { + super(); + sortingName = "Thunderbolt 05"; + ammoType = AmmoType.T_TBOLT_5; + heat = 3; + shortAV = 5; + medAV = 5; + criticals = 1; + missileArmor = 5; + rulesRefs = "347, TO"; + // Tech Progression tweaked to combine IntOps with TRO Prototypes/3145 NTNU RS + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); + } + + @Override + public double getBattleForceDamage(int range, Mounted fcs) { + if (range == AlphaStrikeElement.SHORT_RANGE) { + return 0.29; + } else if (range == AlphaStrikeElement.MEDIUM_RANGE) { + return 0.5; + } else if (range == AlphaStrikeElement.LONG_RANGE) { + return 0.5; + } else { + return 0; + } + } +} From 539e771ae2f26bf302cab893d7687ef86a7ee92e Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 18 Dec 2022 23:48:53 +0100 Subject: [PATCH 2/7] Add OS Thunderbolt: Tb10, 15, 20, WeaponType adaptation --- megamek/src/megamek/common/WeaponType.java | 8 +++ .../weapons/missiles/ISThunderBolt10.java | 27 +------- .../weapons/missiles/ISThunderBolt15.java | 39 +----------- .../weapons/missiles/ISThunderBolt20.java | 41 +------------ .../weapons/missiles/ISThunderbolt10IOS.java | 52 ++++++++++++++++ .../weapons/missiles/ISThunderbolt10OS.java | 52 ++++++++++++++++ .../weapons/missiles/ISThunderbolt15IOS.java | 40 ++++++++++++ .../weapons/missiles/ISThunderbolt15OS.java | 40 ++++++++++++ .../weapons/missiles/ISThunderbolt20IOS.java | 39 ++++++++++++ .../weapons/missiles/ISThunderbolt20OS.java | 39 ++++++++++++ .../weapons/missiles/ISThunderbolt5IOS.java | 4 ++ .../weapons/missiles/ISThunderbolt5OS.java | 4 ++ .../weapons/missiles/ThunderBoltWeapon.java | 30 +++++---- .../weapons/missiles/Thunderbolt10Weapon.java | 59 ++++++++++++++++++ .../weapons/missiles/Thunderbolt15Weapon.java | 61 +++++++++++++++++++ .../weapons/missiles/Thunderbolt20Weapon.java | 61 +++++++++++++++++++ .../weapons/missiles/Thunderbolt5Weapon.java | 2 +- 17 files changed, 486 insertions(+), 112 deletions(-) create mode 100644 megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java create mode 100644 megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java create mode 100644 megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java create mode 100644 megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java create mode 100644 megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java create mode 100644 megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java create mode 100644 megamek/src/megamek/common/weapons/missiles/Thunderbolt10Weapon.java create mode 100644 megamek/src/megamek/common/weapons/missiles/Thunderbolt15Weapon.java create mode 100644 megamek/src/megamek/common/weapons/missiles/Thunderbolt20Weapon.java diff --git a/megamek/src/megamek/common/WeaponType.java b/megamek/src/megamek/common/WeaponType.java index c16a2588bbe..b20192fd5f8 100644 --- a/megamek/src/megamek/common/WeaponType.java +++ b/megamek/src/megamek/common/WeaponType.java @@ -1249,6 +1249,14 @@ public static void initializeTypes() { EquipmentType.addType(new ISThunderBolt10()); EquipmentType.addType(new ISThunderBolt15()); EquipmentType.addType(new ISThunderBolt20()); + EquipmentType.addType(new ISThunderbolt5OS()); + EquipmentType.addType(new ISThunderbolt10OS()); + EquipmentType.addType(new ISThunderbolt15OS()); + EquipmentType.addType(new ISThunderbolt20OS()); + EquipmentType.addType(new ISThunderbolt5IOS()); + EquipmentType.addType(new ISThunderbolt10IOS()); + EquipmentType.addType(new ISThunderbolt15IOS()); + EquipmentType.addType(new ISThunderbolt20IOS()); // Taser EquipmentType.addType(new ISMekTaser()); diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java index ac3f6af0f56..90fabe7333a 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java @@ -19,15 +19,12 @@ */ package megamek.common.weapons.missiles; -import megamek.common.AmmoType; -import megamek.common.alphaStrike.AlphaStrikeElement; -import megamek.common.Mounted; import megamek.common.SimpleTechLevel; /** * @author Sebastian Brocks */ -public class ISThunderBolt10 extends ThunderBoltWeapon { +public class ISThunderBolt10 extends Thunderbolt10Weapon { private static final long serialVersionUID = 6781882739979127656L; public ISThunderBolt10() { @@ -38,16 +35,9 @@ public ISThunderBolt10() { addLookupName("ISThunderbolt10"); addLookupName("IS Thunderbolt 10"); addLookupName("ISTBolt10"); - ammoType = AmmoType.T_TBOLT_10; - heat = 5; - shortAV = 10; - medAV = 10; - tonnage = 7.0; - criticals = 2; + tonnage = 7; bv = 127; cost = 175000; - missileArmor = 10; - rulesRefs = "347, TO"; techAdvancement.setTechBase(TECH_BASE_IS) .setIntroLevel(false) .setUnofficial(false) @@ -59,15 +49,4 @@ public ISThunderBolt10() { .setProductionFactions(F_FS, F_LC) .setStaticTechLevel(SimpleTechLevel.STANDARD); } - - @Override - public double getBattleForceDamage(int range, Mounted fcs) { - if (range == AlphaStrikeElement.SHORT_RANGE) { - return 0.58; - } else if (range <= AlphaStrikeElement.LONG_RANGE) { - return 1; - } else { - return 0; - } - } -} +} \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt15.java b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt15.java index e1a674631fd..8af422f3125 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt15.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt15.java @@ -19,15 +19,10 @@ */ package megamek.common.weapons.missiles; -import megamek.common.AmmoType; -import megamek.common.alphaStrike.AlphaStrikeElement; -import megamek.common.Mounted; -import megamek.common.SimpleTechLevel; - /** * @author Sebastian Brocks */ -public class ISThunderBolt15 extends ThunderBoltWeapon { +public class ISThunderBolt15 extends Thunderbolt15Weapon { private static final long serialVersionUID = -5466726857144417393L; public ISThunderBolt15() { @@ -38,38 +33,8 @@ public ISThunderBolt15() { addLookupName("ISThunderbolt15"); addLookupName("IS Thunderbolt 15"); addLookupName("ISTBolt15"); - ammoType = AmmoType.T_TBOLT_15; - heat = 7; - shortAV = 15; - medAV = 15; tonnage = 11.0; - criticals = 3; bv = 229; cost = 325000; - missileArmor = 15; - rulesRefs = "347, TO"; - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); - } - - @Override - public double getBattleForceDamage(int range, Mounted fcs) { - if (range == AlphaStrikeElement.SHORT_RANGE) { - return 0.87; - } else if (range == AlphaStrikeElement.MEDIUM_RANGE) { - return 1.5; - } else if (range == AlphaStrikeElement.LONG_RANGE) { - return 1.5; - } else { - return 0; - } } -} +} \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt20.java b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt20.java index 7deab34e5d1..19f5069db6c 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt20.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt20.java @@ -19,15 +19,10 @@ */ package megamek.common.weapons.missiles; -import megamek.common.AmmoType; -import megamek.common.SimpleTechLevel; -import megamek.common.alphaStrike.AlphaStrikeElement; -import megamek.common.Mounted; - /** * @author Sebastian Brocks */ -public class ISThunderBolt20 extends ThunderBoltWeapon { +public class ISThunderBolt20 extends Thunderbolt20Weapon { private static final long serialVersionUID = -6976091682813292840L; public ISThunderBolt20() { @@ -38,38 +33,8 @@ public ISThunderBolt20() { addLookupName("ISThunderbolt20"); addLookupName("ISTBolt20"); addLookupName("IS Thunderbolt 20"); - ammoType = AmmoType.T_TBOLT_20; - heat = 8; - shortAV = 20; - medAV = 20; - tonnage = 15.0; - criticals = 5; + tonnage = 15; bv = 305; cost = 450000; - missileArmor = 20; - rulesRefs = "347, TO"; - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); - } - - @Override - public double getBattleForceDamage(int range, Mounted fcs) { - if (range == AlphaStrikeElement.SHORT_RANGE) { - return 1.16; - } else if (range == AlphaStrikeElement.MEDIUM_RANGE) { - return 2; - } else if (range == AlphaStrikeElement.LONG_RANGE) { - return 2; - } else { - return 0; - } } -} +} \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java new file mode 100644 index 00000000000..8c32a284695 --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +import megamek.common.SimpleTechLevel; + +/** + * The Improved One-Shot Thunderbolt 10 + * @author Simon (Juliez) + */ +public class ISThunderbolt10IOS extends Thunderbolt10Weapon { + + public ISThunderbolt10IOS() { + super(); + name = "Thunderbolt-10 (IOS)"; + setInternalName(name); + addLookupName("IS IOS Thunderbolt-10"); + addLookupName("ISThunderbolt10 (IOS)"); + addLookupName("IS Thunderbolt 10 (IOS)"); + addLookupName("ISTBolt10IOS"); + tonnage = 6.5; + bv = 25; + cost = 140000; + flags = flags.or(F_ONESHOT); + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); + } +} \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java new file mode 100644 index 00000000000..1931edbb223 --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +import megamek.common.SimpleTechLevel; + +/** + * The One-Shot Thunderbolt 10 + * @author Simon (Juliez) + */ +public class ISThunderbolt10OS extends Thunderbolt10Weapon { + + public ISThunderbolt10OS() { + super(); + name = "Thunderbolt-10 (OS)"; + setInternalName(name); + addLookupName("IS OS Thunderbolt-10"); + addLookupName("ISThunderbolt10 (OS)"); + addLookupName("IS Thunderbolt 10 (OS)"); + addLookupName("ISTBolt10OS"); + tonnage = 7.5; + bv = 25; + cost = 87500; + flags = flags.or(F_ONESHOT); + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); + } +} \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java new file mode 100644 index 00000000000..5516d3028b9 --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +/** + * The Improved One-Shot Thunderbolt 15 + * @author Simon (Juliez) + */ +public class ISThunderbolt15IOS extends Thunderbolt15Weapon { + + public ISThunderbolt15IOS() { + super(); + name = "Thunderbolt-15 (I-OS)"; + setInternalName(name); + addLookupName("IS IOS Thunderbolt-15"); + addLookupName("ISThunderbolt15 (IOS)"); + addLookupName("IS Thunderbolt 15 (IOS)"); + addLookupName("ISTBolt15IOS"); + tonnage = 10.5; + bv = 46; + cost = 260000; + flags = flags.or(F_ONESHOT); + } +} diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java new file mode 100644 index 00000000000..15e40919554 --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +/** + * The One-Shot Thunderbolt 15 + * @author Simon (Juliez) + */ +public class ISThunderbolt15OS extends Thunderbolt15Weapon { + + public ISThunderbolt15OS() { + super(); + name = "Thunderbolt-15 (OS)"; + setInternalName(name); + addLookupName("IS OS Thunderbolt-15"); + addLookupName("ISThunderbolt15 (OS)"); + addLookupName("IS Thunderbolt 15 (OS)"); + addLookupName("ISTBolt15OS"); + tonnage = 11.5; + bv = 46; + cost = 162500; + flags = flags.or(F_ONESHOT); + } +} diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java new file mode 100644 index 00000000000..1f5e420b5fb --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +/** + * The Improved One-Shot Thunderbolt 20 + * @author Simon (Juliez) + */ +public class ISThunderbolt20IOS extends Thunderbolt20Weapon { + + public ISThunderbolt20IOS() { + super(); + name = "Thunderbolt 20 (I-OS)"; + setInternalName(name); + addLookupName("IS IOS Thunderbolt-20"); + addLookupName("ISThunderbolt20 (IOS)"); + addLookupName("ISTBolt20IOS"); + addLookupName("IS Thunderbolt 20 (IOS)"); + tonnage = 14.5; + bv = 61; + cost = 360000; + } +} \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java new file mode 100644 index 00000000000..30b4ae74eb8 --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +/** + * The One-Shot Thunderbolt 20 + * @author Simon (Juliez) + */ +public class ISThunderbolt20OS extends Thunderbolt20Weapon { + + public ISThunderbolt20OS() { + super(); + name = "Thunderbolt 20 (OS)"; + setInternalName(name); + addLookupName("IS OS Thunderbolt-20"); + addLookupName("ISThunderbolt20 (OS)"); + addLookupName("ISTBolt20OS"); + addLookupName("IS Thunderbolt 20 (OS)"); + tonnage = 15.5; + bv = 61; + cost = 225000; + } +} diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java index d7af18f2ea4..b19f52c8012 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java @@ -20,6 +20,10 @@ import megamek.common.SimpleTechLevel; +/** + * The Improved One-Shot Thunderbolt 5 + * @author Simon (Juliez) + */ public class ISThunderbolt5IOS extends Thunderbolt5Weapon { public ISThunderbolt5IOS() { diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java index 4b0d5847b2c..9c7dd58c9e1 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java @@ -20,6 +20,10 @@ import megamek.common.SimpleTechLevel; +/** + * The One-Shot Thunderbolt 5 + * @author Simon (Juliez) + */ public class ISThunderbolt5OS extends ThunderBoltWeapon { public ISThunderbolt5OS() { diff --git a/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java b/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java index 6552b6362bc..44bfcc56954 100644 --- a/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java +++ b/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java @@ -1,15 +1,21 @@ -/** - * MegaMek - Copyright (C) 2005 Ben Mazur (bmazur@sev.org) - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. +/* + * Copyright (c) 2005 - Ben Mazur (bmazur@sev.org) + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . */ package megamek.common.weapons.missiles; diff --git a/megamek/src/megamek/common/weapons/missiles/Thunderbolt10Weapon.java b/megamek/src/megamek/common/weapons/missiles/Thunderbolt10Weapon.java new file mode 100644 index 00000000000..234fa75287d --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/Thunderbolt10Weapon.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +import megamek.common.AmmoType; +import megamek.common.Mounted; +import megamek.common.SimpleTechLevel; +import megamek.common.alphaStrike.AlphaStrikeElement; + +public abstract class Thunderbolt10Weapon extends ThunderBoltWeapon { + + public Thunderbolt10Weapon() { + super(); + ammoType = AmmoType.T_TBOLT_10; + heat = 5; + shortAV = 10; + medAV = 10; + criticals = 2; + missileArmor = 10; + rulesRefs = "347, TO"; + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); + } + + @Override + public double getBattleForceDamage(int range, Mounted fcs) { + if (range == AlphaStrikeElement.SHORT_RANGE) { + return 0.58; + } else if (range <= AlphaStrikeElement.LONG_RANGE) { + return 1; + } else { + return 0; + } + } +} diff --git a/megamek/src/megamek/common/weapons/missiles/Thunderbolt15Weapon.java b/megamek/src/megamek/common/weapons/missiles/Thunderbolt15Weapon.java new file mode 100644 index 00000000000..17bde4fe6c6 --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/Thunderbolt15Weapon.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +import megamek.common.AmmoType; +import megamek.common.Mounted; +import megamek.common.SimpleTechLevel; +import megamek.common.alphaStrike.AlphaStrikeElement; + +public abstract class Thunderbolt15Weapon extends ThunderBoltWeapon { + + public Thunderbolt15Weapon() { + super(); + ammoType = AmmoType.T_TBOLT_15; + heat = 7; + shortAV = 15; + medAV = 15; + criticals = 3; + missileArmor = 15; + rulesRefs = "347, TO"; + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); + } + + @Override + public double getBattleForceDamage(int range, Mounted fcs) { + if (range == AlphaStrikeElement.SHORT_RANGE) { + return 0.87; + } else if (range == AlphaStrikeElement.MEDIUM_RANGE) { + return 1.5; + } else if (range == AlphaStrikeElement.LONG_RANGE) { + return 1.5; + } else { + return 0; + } + } +} diff --git a/megamek/src/megamek/common/weapons/missiles/Thunderbolt20Weapon.java b/megamek/src/megamek/common/weapons/missiles/Thunderbolt20Weapon.java new file mode 100644 index 00000000000..71d0bcc727a --- /dev/null +++ b/megamek/src/megamek/common/weapons/missiles/Thunderbolt20Weapon.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2022 - The MegaMek Team. All Rights Reserved. + * + * This file is part of MegaMek. + * + * MegaMek is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * MegaMek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MegaMek. If not, see . + */ +package megamek.common.weapons.missiles; + +import megamek.common.AmmoType; +import megamek.common.Mounted; +import megamek.common.SimpleTechLevel; +import megamek.common.alphaStrike.AlphaStrikeElement; + +public abstract class Thunderbolt20Weapon extends ThunderBoltWeapon { + + public Thunderbolt20Weapon() { + super(); + ammoType = AmmoType.T_TBOLT_20; + heat = 8; + shortAV = 20; + medAV = 20; + criticals = 5; + missileArmor = 20; + rulesRefs = "347, TO"; + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); + } + + @Override + public double getBattleForceDamage(int range, Mounted fcs) { + if (range == AlphaStrikeElement.SHORT_RANGE) { + return 1.16; + } else if (range == AlphaStrikeElement.MEDIUM_RANGE) { + return 2; + } else if (range == AlphaStrikeElement.LONG_RANGE) { + return 2; + } else { + return 0; + } + } +} \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java b/megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java index 10b8aae92ac..a942a207bc7 100644 --- a/megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java +++ b/megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java @@ -23,7 +23,7 @@ import megamek.common.SimpleTechLevel; import megamek.common.alphaStrike.AlphaStrikeElement; -public class Thunderbolt5Weapon extends ThunderBoltWeapon { +public abstract class Thunderbolt5Weapon extends ThunderBoltWeapon { public Thunderbolt5Weapon() { super(); From d75e785fae07d6376d0a92f30ac51695c519a8ca Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 19 Dec 2022 18:49:53 +0100 Subject: [PATCH 3/7] Numerous Corrections to Thunderbolt weapons --- .../weapons/missiles/ISThunderbolt10IOS.java | 2 +- .../weapons/missiles/ISThunderbolt10OS.java | 2 +- .../weapons/missiles/ISThunderbolt15IOS.java | 2 +- .../weapons/missiles/ISThunderbolt15OS.java | 2 +- .../weapons/missiles/ISThunderbolt20IOS.java | 1 + .../weapons/missiles/ISThunderbolt20OS.java | 1 + .../weapons/missiles/ISThunderbolt5IOS.java | 2 +- .../weapons/missiles/ISThunderbolt5OS.java | 23 +++++++----------- .../weapons/missiles/ThunderBoltWeapon.java | 12 ++++++++++ .../weapons/missiles/Thunderbolt10Weapon.java | 20 +++++++--------- .../weapons/missiles/Thunderbolt15Weapon.java | 20 +++++++--------- .../weapons/missiles/Thunderbolt20Weapon.java | 20 +++++++--------- .../weapons/missiles/Thunderbolt5Weapon.java | 24 ++++++++----------- 13 files changed, 65 insertions(+), 66 deletions(-) diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java index 8c32a284695..936fafc59d0 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java @@ -28,7 +28,7 @@ public class ISThunderbolt10IOS extends Thunderbolt10Weapon { public ISThunderbolt10IOS() { super(); - name = "Thunderbolt-10 (IOS)"; + name = "Thunderbolt 10 (I-OS)"; setInternalName(name); addLookupName("IS IOS Thunderbolt-10"); addLookupName("ISThunderbolt10 (IOS)"); diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java index 1931edbb223..8f770bb0474 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java @@ -28,7 +28,7 @@ public class ISThunderbolt10OS extends Thunderbolt10Weapon { public ISThunderbolt10OS() { super(); - name = "Thunderbolt-10 (OS)"; + name = "Thunderbolt 10 (OS)"; setInternalName(name); addLookupName("IS OS Thunderbolt-10"); addLookupName("ISThunderbolt10 (OS)"); diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java index 5516d3028b9..2b87e158ff8 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java @@ -26,7 +26,7 @@ public class ISThunderbolt15IOS extends Thunderbolt15Weapon { public ISThunderbolt15IOS() { super(); - name = "Thunderbolt-15 (I-OS)"; + name = "Thunderbolt 15 (I-OS)"; setInternalName(name); addLookupName("IS IOS Thunderbolt-15"); addLookupName("ISThunderbolt15 (IOS)"); diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java index 15e40919554..39e40731999 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java @@ -26,7 +26,7 @@ public class ISThunderbolt15OS extends Thunderbolt15Weapon { public ISThunderbolt15OS() { super(); - name = "Thunderbolt-15 (OS)"; + name = "Thunderbolt 15 (OS)"; setInternalName(name); addLookupName("IS OS Thunderbolt-15"); addLookupName("ISThunderbolt15 (OS)"); diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java index 1f5e420b5fb..1ccbc5417d7 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java @@ -35,5 +35,6 @@ public ISThunderbolt20IOS() { tonnage = 14.5; bv = 61; cost = 360000; + flags = flags.or(F_ONESHOT); } } \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java index 30b4ae74eb8..87d113e202e 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java @@ -35,5 +35,6 @@ public ISThunderbolt20OS() { tonnage = 15.5; bv = 61; cost = 225000; + flags = flags.or(F_ONESHOT); } } diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java index b19f52c8012..60643fc51ff 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java @@ -28,7 +28,7 @@ public class ISThunderbolt5IOS extends Thunderbolt5Weapon { public ISThunderbolt5IOS() { super(); - name = "Thunderbolt-5 (I-OS)"; + name = "Thunderbolt 5 (I-OS)"; setInternalName(name); addLookupName("IS IOS Thunderbolt-5"); addLookupName("ISThunderbolt5 (IOS)"); diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java index 9c7dd58c9e1..1d30540650e 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java @@ -18,17 +18,15 @@ */ package megamek.common.weapons.missiles; -import megamek.common.SimpleTechLevel; - /** * The One-Shot Thunderbolt 5 * @author Simon (Juliez) */ -public class ISThunderbolt5OS extends ThunderBoltWeapon { +public class ISThunderbolt5OS extends Thunderbolt5Weapon { public ISThunderbolt5OS() { super(); - name = "Thunderbolt-5 (OS)"; + name = "Thunderbolt 5 (OS)"; setInternalName(name); addLookupName("IS OS Thunderbolt-5"); addLookupName("ISThunderbolt5 (OS)"); @@ -38,15 +36,12 @@ public ISThunderbolt5OS() { cost = 25000; flags = flags.or(F_ONESHOT); // Tech Progression tweaked to combine IntOps with TRO Prototypes/3145 NTNU RS - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); + techAdvancement.setISAdvancement(2665, 2676, 3045, 2800, 3030) + .setISApproximate(true, false, false, false, false) + .setClanAdvancement(2665, 2676, 3045, DATE_NONE, DATE_NONE) + .setClanApproximate(true, false, false, false, false) + .setPrototypeFactions(F_TH) + .setProductionFactions(F_TH) + .setReintroductionFactions(F_FW); } } \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java b/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java index 44bfcc56954..a2b128390fd 100644 --- a/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java +++ b/megamek/src/megamek/common/weapons/missiles/ThunderBoltWeapon.java @@ -20,6 +20,7 @@ package megamek.common.weapons.missiles; import megamek.common.Game; +import megamek.common.SimpleTechLevel; import megamek.common.ToHitData; import megamek.common.actions.WeaponAttackAction; import megamek.common.options.GameOptions; @@ -45,6 +46,17 @@ public ThunderBoltWeapon() { maxRange = RANGE_MED; flags = flags.or(F_LARGEMISSILE); atClass = CLASS_THUNDERBOLT; + rulesRefs = "159, TO:AUE"; + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); } @Override diff --git a/megamek/src/megamek/common/weapons/missiles/Thunderbolt10Weapon.java b/megamek/src/megamek/common/weapons/missiles/Thunderbolt10Weapon.java index 234fa75287d..9a31cc122c6 100644 --- a/megamek/src/megamek/common/weapons/missiles/Thunderbolt10Weapon.java +++ b/megamek/src/megamek/common/weapons/missiles/Thunderbolt10Weapon.java @@ -33,17 +33,6 @@ public Thunderbolt10Weapon() { medAV = 10; criticals = 2; missileArmor = 10; - rulesRefs = "347, TO"; - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); } @Override @@ -56,4 +45,13 @@ public double getBattleForceDamage(int range, Mounted fcs) { return 0; } } + + @Override + public String getSortingName() { + String oneShotTag = hasFlag(F_ONESHOT) ? "OS" : ""; + if (name.contains("I-OS")) { + oneShotTag = "XIOS"; + } + return "Thunderbolt-" + oneShotTag + "10"; + } } diff --git a/megamek/src/megamek/common/weapons/missiles/Thunderbolt15Weapon.java b/megamek/src/megamek/common/weapons/missiles/Thunderbolt15Weapon.java index 17bde4fe6c6..febe189d173 100644 --- a/megamek/src/megamek/common/weapons/missiles/Thunderbolt15Weapon.java +++ b/megamek/src/megamek/common/weapons/missiles/Thunderbolt15Weapon.java @@ -33,17 +33,6 @@ public Thunderbolt15Weapon() { medAV = 15; criticals = 3; missileArmor = 15; - rulesRefs = "347, TO"; - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); } @Override @@ -58,4 +47,13 @@ public double getBattleForceDamage(int range, Mounted fcs) { return 0; } } + + @Override + public String getSortingName() { + String oneShotTag = hasFlag(F_ONESHOT) ? "OS" : ""; + if (name.contains("I-OS")) { + oneShotTag = "XIOS"; + } + return "Thunderbolt-" + oneShotTag + "15"; + } } diff --git a/megamek/src/megamek/common/weapons/missiles/Thunderbolt20Weapon.java b/megamek/src/megamek/common/weapons/missiles/Thunderbolt20Weapon.java index 71d0bcc727a..fda21331783 100644 --- a/megamek/src/megamek/common/weapons/missiles/Thunderbolt20Weapon.java +++ b/megamek/src/megamek/common/weapons/missiles/Thunderbolt20Weapon.java @@ -33,17 +33,6 @@ public Thunderbolt20Weapon() { medAV = 20; criticals = 5; missileArmor = 20; - rulesRefs = "347, TO"; - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); } @Override @@ -58,4 +47,13 @@ public double getBattleForceDamage(int range, Mounted fcs) { return 0; } } + + @Override + public String getSortingName() { + String oneShotTag = hasFlag(F_ONESHOT) ? "OS" : ""; + if (name.contains("I-OS")) { + oneShotTag = "XIOS"; + } + return "Thunderbolt-" + oneShotTag + "20"; + } } \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java b/megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java index a942a207bc7..615124e8c13 100644 --- a/megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java +++ b/megamek/src/megamek/common/weapons/missiles/Thunderbolt5Weapon.java @@ -27,25 +27,12 @@ public abstract class Thunderbolt5Weapon extends ThunderBoltWeapon { public Thunderbolt5Weapon() { super(); - sortingName = "Thunderbolt 05"; ammoType = AmmoType.T_TBOLT_5; heat = 3; shortAV = 5; medAV = 5; criticals = 1; missileArmor = 5; - rulesRefs = "347, TO"; - // Tech Progression tweaked to combine IntOps with TRO Prototypes/3145 NTNU RS - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); } @Override @@ -60,4 +47,13 @@ public double getBattleForceDamage(int range, Mounted fcs) { return 0; } } -} + + @Override + public String getSortingName() { + String oneShotTag = hasFlag(F_ONESHOT) ? "OS" : ""; + if (name.contains("I-OS")) { + oneShotTag = "XIOS"; + } + return "Thunderbolt-" + oneShotTag + "05"; + } +} \ No newline at end of file From 9e626189b74c3535f9e9f1ea610a70e118c5b957 Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 19 Dec 2022 18:52:41 +0100 Subject: [PATCH 4/7] TechAdvancement correction --- .../common/weapons/missiles/ISThunderBolt10.java | 12 ------------ .../common/weapons/missiles/ISThunderBolt5.java | 13 ------------- 2 files changed, 25 deletions(-) diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java index 90fabe7333a..fd1ebf4b6e9 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt10.java @@ -19,8 +19,6 @@ */ package megamek.common.weapons.missiles; -import megamek.common.SimpleTechLevel; - /** * @author Sebastian Brocks */ @@ -38,15 +36,5 @@ public ISThunderBolt10() { tonnage = 7; bv = 127; cost = 175000; - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); } } \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt5.java b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt5.java index f9f524e4af6..6062a662ffd 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderBolt5.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderBolt5.java @@ -19,8 +19,6 @@ */ package megamek.common.weapons.missiles; -import megamek.common.SimpleTechLevel; - /** * @author Sebastian Brocks */ @@ -37,16 +35,5 @@ public ISThunderBolt5() { tonnage = 3.0; bv = 64; cost = 50000; - // Tech Progression tweaked to combine IntOps with TRO Prototypes/3145 NTNU RS - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); } } \ No newline at end of file From b4b2618baf989c97f071b9d261a7c12e7a949f5b Mon Sep 17 00:00:00 2001 From: Simon Date: Tue, 20 Dec 2022 10:03:12 +0100 Subject: [PATCH 5/7] Thunderbolt TechAdvancement changes --- .../weapons/missiles/ISThunderbolt15IOS.java | 11 +++++++++++ .../weapons/missiles/ISThunderbolt15OS.java | 11 +++++++++++ .../weapons/missiles/ISThunderbolt20IOS.java | 11 +++++++++++ .../weapons/missiles/ISThunderbolt20OS.java | 11 +++++++++++ .../weapons/missiles/ISThunderbolt5IOS.java | 1 - .../weapons/missiles/ISThunderbolt5OS.java | 19 +++++++++++-------- 6 files changed, 55 insertions(+), 9 deletions(-) diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java index 2b87e158ff8..e7e704c0854 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java @@ -18,6 +18,7 @@ */ package megamek.common.weapons.missiles; +import megamek.common.SimpleTechLevel; /** * The Improved One-Shot Thunderbolt 15 * @author Simon (Juliez) @@ -36,5 +37,15 @@ public ISThunderbolt15IOS() { bv = 46; cost = 260000; flags = flags.or(F_ONESHOT); + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); } } diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java index 39e40731999..29f08289141 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java @@ -18,6 +18,7 @@ */ package megamek.common.weapons.missiles; +import megamek.common.SimpleTechLevel; /** * The One-Shot Thunderbolt 15 * @author Simon (Juliez) @@ -36,5 +37,15 @@ public ISThunderbolt15OS() { bv = 46; cost = 162500; flags = flags.or(F_ONESHOT); + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); } } diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java index 1ccbc5417d7..ad8941a6762 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java @@ -18,6 +18,7 @@ */ package megamek.common.weapons.missiles; +import megamek.common.SimpleTechLevel; /** * The Improved One-Shot Thunderbolt 20 * @author Simon (Juliez) @@ -36,5 +37,15 @@ public ISThunderbolt20IOS() { bv = 61; cost = 360000; flags = flags.or(F_ONESHOT); + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); } } \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java index 87d113e202e..5cbefe5cfba 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java @@ -18,6 +18,7 @@ */ package megamek.common.weapons.missiles; +import megamek.common.SimpleTechLevel; /** * The One-Shot Thunderbolt 20 * @author Simon (Juliez) @@ -36,5 +37,15 @@ public ISThunderbolt20OS() { bv = 61; cost = 225000; flags = flags.or(F_ONESHOT); + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); } } diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java index 60643fc51ff..809588cf7eb 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java @@ -37,7 +37,6 @@ public ISThunderbolt5IOS() { bv = 13; cost = 40000; flags = flags.or(F_ONESHOT); - // Tech Progression tweaked to combine IntOps with TRO Prototypes/3145 NTNU RS techAdvancement.setTechBase(TECH_BASE_IS) .setIntroLevel(false) .setUnofficial(false) diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java index 1d30540650e..0619ece178b 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java @@ -18,6 +18,7 @@ */ package megamek.common.weapons.missiles; +import megamek.common.SimpleTechLevel; /** * The One-Shot Thunderbolt 5 * @author Simon (Juliez) @@ -35,13 +36,15 @@ public ISThunderbolt5OS() { bv = 13; cost = 25000; flags = flags.or(F_ONESHOT); - // Tech Progression tweaked to combine IntOps with TRO Prototypes/3145 NTNU RS - techAdvancement.setISAdvancement(2665, 2676, 3045, 2800, 3030) - .setISApproximate(true, false, false, false, false) - .setClanAdvancement(2665, 2676, 3045, DATE_NONE, DATE_NONE) - .setClanApproximate(true, false, false, false, false) - .setPrototypeFactions(F_TH) - .setProductionFactions(F_TH) - .setReintroductionFactions(F_FW); + techAdvancement.setTechBase(TECH_BASE_IS) + .setIntroLevel(false) + .setUnofficial(false) + .setTechRating(RATING_E) + .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) + .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) + .setISApproximate(false, false, false, false, false) + .setPrototypeFactions(F_FS) + .setProductionFactions(F_FS, F_LC) + .setStaticTechLevel(SimpleTechLevel.STANDARD); } } \ No newline at end of file From eaadba4ea87d92809b9faf31a7e8cb30b9ebad08 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 22 Dec 2022 13:21:49 +0100 Subject: [PATCH 6/7] Final TechAdvancement correction --- .../weapons/missiles/ISThunderbolt10IOS.java | 15 +++++---------- .../weapons/missiles/ISThunderbolt10OS.java | 10 ---------- .../weapons/missiles/ISThunderbolt15IOS.java | 5 +++++ .../weapons/missiles/ISThunderbolt20IOS.java | 5 +++++ .../weapons/missiles/ISThunderbolt5IOS.java | 18 +++++------------- .../weapons/missiles/ISThunderbolt5OS.java | 8 -------- 6 files changed, 20 insertions(+), 41 deletions(-) diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java index 936fafc59d0..575bb3d63d0 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java @@ -38,15 +38,10 @@ public ISThunderbolt10IOS() { bv = 25; cost = 140000; flags = flags.or(F_ONESHOT); - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); + techAdvancement.setTechRating(RATING_B) + .setISAdvancement(3056, 3081, 3085, DATE_NONE, DATE_NONE) + .setPrototypeFactions(F_DC) + .setProductionFactions(F_DC) + .setISApproximate(false, true, false, false, false); } } \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java index 8f770bb0474..bdc69411ce3 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java @@ -38,15 +38,5 @@ public ISThunderbolt10OS() { bv = 25; cost = 87500; flags = flags.or(F_ONESHOT); - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); } } \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java index 2b87e158ff8..3659c128b5a 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15IOS.java @@ -36,5 +36,10 @@ public ISThunderbolt15IOS() { bv = 46; cost = 260000; flags = flags.or(F_ONESHOT); + techAdvancement.setTechRating(RATING_B) + .setISAdvancement(3056, 3081, 3085, DATE_NONE, DATE_NONE) + .setPrototypeFactions(F_DC) + .setProductionFactions(F_DC) + .setISApproximate(false, true, false, false, false); } } diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java index 1ccbc5417d7..bf6a702e0c5 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20IOS.java @@ -36,5 +36,10 @@ public ISThunderbolt20IOS() { bv = 61; cost = 360000; flags = flags.or(F_ONESHOT); + techAdvancement.setTechRating(RATING_B) + .setISAdvancement(3056, 3081, 3085, DATE_NONE, DATE_NONE) + .setPrototypeFactions(F_DC) + .setProductionFactions(F_DC) + .setISApproximate(false, true, false, false, false); } } \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java index 60643fc51ff..936ae03a8b3 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5IOS.java @@ -18,8 +18,6 @@ */ package megamek.common.weapons.missiles; -import megamek.common.SimpleTechLevel; - /** * The Improved One-Shot Thunderbolt 5 * @author Simon (Juliez) @@ -37,16 +35,10 @@ public ISThunderbolt5IOS() { bv = 13; cost = 40000; flags = flags.or(F_ONESHOT); - // Tech Progression tweaked to combine IntOps with TRO Prototypes/3145 NTNU RS - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); + techAdvancement.setTechRating(RATING_B) + .setISAdvancement(3056, 3081, 3085, DATE_NONE, DATE_NONE) + .setPrototypeFactions(F_DC) + .setProductionFactions(F_DC) + .setISApproximate(false, true, false, false, false); } } \ No newline at end of file diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java index 1d30540650e..f16f09e454b 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java @@ -35,13 +35,5 @@ public ISThunderbolt5OS() { bv = 13; cost = 25000; flags = flags.or(F_ONESHOT); - // Tech Progression tweaked to combine IntOps with TRO Prototypes/3145 NTNU RS - techAdvancement.setISAdvancement(2665, 2676, 3045, 2800, 3030) - .setISApproximate(true, false, false, false, false) - .setClanAdvancement(2665, 2676, 3045, DATE_NONE, DATE_NONE) - .setClanApproximate(true, false, false, false, false) - .setPrototypeFactions(F_TH) - .setProductionFactions(F_TH) - .setReintroductionFactions(F_FW); } } \ No newline at end of file From 0512a02c304f5f804fcd25a26fab2b12222e3423 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 22 Dec 2022 13:30:36 +0100 Subject: [PATCH 7/7] Aftermerge correction --- .../common/weapons/missiles/ISThunderbolt10IOS.java | 2 -- .../common/weapons/missiles/ISThunderbolt10OS.java | 2 -- .../common/weapons/missiles/ISThunderbolt15OS.java | 11 ----------- .../common/weapons/missiles/ISThunderbolt20OS.java | 11 ----------- .../common/weapons/missiles/ISThunderbolt5OS.java | 1 - 5 files changed, 27 deletions(-) diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java index 575bb3d63d0..afe390060c9 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10IOS.java @@ -18,8 +18,6 @@ */ package megamek.common.weapons.missiles; -import megamek.common.SimpleTechLevel; - /** * The Improved One-Shot Thunderbolt 10 * @author Simon (Juliez) diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java index bdc69411ce3..3ec44443ea3 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt10OS.java @@ -18,8 +18,6 @@ */ package megamek.common.weapons.missiles; -import megamek.common.SimpleTechLevel; - /** * The One-Shot Thunderbolt 10 * @author Simon (Juliez) diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java index 29f08289141..39e40731999 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt15OS.java @@ -18,7 +18,6 @@ */ package megamek.common.weapons.missiles; -import megamek.common.SimpleTechLevel; /** * The One-Shot Thunderbolt 15 * @author Simon (Juliez) @@ -37,15 +36,5 @@ public ISThunderbolt15OS() { bv = 46; cost = 162500; flags = flags.or(F_ONESHOT); - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); } } diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java index 5cbefe5cfba..87d113e202e 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt20OS.java @@ -18,7 +18,6 @@ */ package megamek.common.weapons.missiles; -import megamek.common.SimpleTechLevel; /** * The One-Shot Thunderbolt 20 * @author Simon (Juliez) @@ -37,15 +36,5 @@ public ISThunderbolt20OS() { bv = 61; cost = 225000; flags = flags.or(F_ONESHOT); - techAdvancement.setTechBase(TECH_BASE_IS) - .setIntroLevel(false) - .setUnofficial(false) - .setTechRating(RATING_E) - .setAvailability(RATING_X, RATING_X, RATING_F, RATING_E) - .setISAdvancement(3052, 3072, 3081, DATE_NONE, DATE_NONE) - .setISApproximate(false, false, false, false, false) - .setPrototypeFactions(F_FS) - .setProductionFactions(F_FS, F_LC) - .setStaticTechLevel(SimpleTechLevel.STANDARD); } } diff --git a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java index 6c06b48c4e3..f16f09e454b 100644 --- a/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java +++ b/megamek/src/megamek/common/weapons/missiles/ISThunderbolt5OS.java @@ -18,7 +18,6 @@ */ package megamek.common.weapons.missiles; -import megamek.common.SimpleTechLevel; /** * The One-Shot Thunderbolt 5 * @author Simon (Juliez)