diff --git a/data/scenariomodifiers/AlliedASFAce01.json b/data/scenariomodifiers/AlliedASFAce01.json new file mode 100644 index 0000000000..7f23ca1af4 --- /dev/null +++ b/data/scenariomodifiers/AlliedASFAce01.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "One of your employer's ASF Aces is close and is moving to support. Watch and learn.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 5, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied ASF Ace", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 2, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": "AlliedASFAceHvy.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedASFAce01.xml b/data/scenariomodifiers/AlliedASFAce01.xml deleted file mode 100644 index f03a278fff..0000000000 --- a/data/scenariomodifiers/AlliedASFAce01.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - One of your employer's ASF Aces is close and is moving to support. Watch and learn. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - -2 - 2 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - 4 - Allied ASF Ace - 5 - AlliedASFAceHvy.mul - 1 - 4 - 0 - 0 - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedAirGarrison.json b/data/scenariomodifiers/AlliedAirGarrison.json new file mode 100644 index 0000000000..8844d00724 --- /dev/null +++ b/data/scenariomodifiers/AlliedAirGarrison.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "This facility is defended by an additional flight of allied aircraft.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": -3, +"canReinforceLinked": false, +"contributesToBV": true, +"contributesToUnitCount": true, +"forceName": "Allied Air Garrison", +"syncedForceName": "Player", +"syncDeploymentType": null, +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 2, +"allowAeroBombs": false, +"startingAltitude": 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedAirGarrison.xml b/data/scenariomodifiers/AlliedAirGarrison.xml deleted file mode 100644 index 6863e1e3a5..0000000000 --- a/data/scenariomodifiers/AlliedAirGarrison.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - This facility is defended by an additional flight of allied aircraft. - true - PreForceGeneration - - -1 - false - -3 - 0 - false - true - true - true - false - - 10 - - 5 - -1 - 1 - 1.0 - Allied Air Garrison - 3 - 2 - 4 - 75 - 5 - Opposite - Player - false - - diff --git a/data/scenariomodifiers/AlliedAirSupport.json b/data/scenariomodifiers/AlliedAirSupport.json new file mode 100644 index 0000000000..56ff503236 --- /dev/null +++ b/data/scenariomodifiers/AlliedAirSupport.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Allied aircraft will be supporting your forces.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": -3, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Aircraft", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": false, +"startingAltitude" : 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedAirSupport.xml b/data/scenariomodifiers/AlliedAirSupport.xml deleted file mode 100644 index d64cbafb02..0000000000 --- a/data/scenariomodifiers/AlliedAirSupport.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - Allied aircraft will be supporting your forces. - true - PostForceGeneration - - -1 - false - -3 - -3 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - Allied Aircraft - 3 - 3 - 4 - 50 - 5 - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedAirSupportBombers.json b/data/scenariomodifiers/AlliedAirSupportBombers.json new file mode 100644 index 0000000000..f191558244 --- /dev/null +++ b/data/scenariomodifiers/AlliedAirSupportBombers.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Allied bombers will be supporting your forces.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": -3, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Bombers", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude" : 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": ["BOMBER"] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedAirSupportBombers.xml b/data/scenariomodifiers/AlliedAirSupportBombers.xml deleted file mode 100644 index c199b692ad..0000000000 --- a/data/scenariomodifiers/AlliedAirSupportBombers.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - Allied bombers will be supporting your forces. - true - PostForceGeneration - - -1 - true - -3 - -3 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - Allied Bombers - 3 - 3 - 4 - 50 - 5 - SameEdge - Player - false - - BOMBER - - - diff --git a/data/scenariomodifiers/AlliedArtyGarrison.json b/data/scenariomodifiers/AlliedArtyGarrison.json new file mode 100644 index 0000000000..70b44da1a9 --- /dev/null +++ b/data/scenariomodifiers/AlliedArtyGarrison.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "This facility is defended by an additional force of allied artillery who have been unable to clear the area.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 1, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Artillery Garrison", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 2, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": true, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedArtyGarrison.xml b/data/scenariomodifiers/AlliedArtyGarrison.xml deleted file mode 100644 index 95c68d0e5c..0000000000 --- a/data/scenariomodifiers/AlliedArtyGarrison.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - This facility is defended by an additional force of allied artillery who have been unable to clear the area. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - 1 - 0 - false - false - true - false - false - - 10 - - 5 - -1 - 1 - 1.0 - Allied Artillery Garrison - 3 - 2 - 4 - 75 - 0 - None - true - - diff --git a/data/scenariomodifiers/AlliedArtySupport.json b/data/scenariomodifiers/AlliedArtySupport.json new file mode 100644 index 0000000000..a122256d08 --- /dev/null +++ b/data/scenariomodifiers/AlliedArtySupport.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Allied artillery units will support your deployment with indirect fire.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [9], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": 1, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Artillery", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": false, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": true, +"deployOffBoard": true, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedArtySupport.xml b/data/scenariomodifiers/AlliedArtySupport.xml deleted file mode 100644 index 8c5dc1edb9..0000000000 --- a/data/scenariomodifiers/AlliedArtySupport.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - Allied artillery units will support your deployment with indirect fire. - - AllGroundTerrain - SpecificGroundTerrain - - true - PostForceGeneration - - -1 - false - 1 - 0 - false - false - false - false - true - - 9 - - 5 - -1 - 1 - 1.0 - Allied Artillery - 3 - 3 - 4 - 0 - 0 - None - true - - diff --git a/data/scenariomodifiers/AlliedCavLance.json b/data/scenariomodifiers/AlliedCavLance.json new file mode 100644 index 0000000000..1f6f179a78 --- /dev/null +++ b/data/scenariomodifiers/AlliedCavLance.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "A veteran allied Cavalry lance is charging to assist, ere the sun rises.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 5, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Cavalry Lance", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": "AlliedCavLance.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedCavLance.xml b/data/scenariomodifiers/AlliedCavLance.xml deleted file mode 100644 index 1b13844ce4..0000000000 --- a/data/scenariomodifiers/AlliedCavLance.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - A veteran allied Cavalry lance is charging to assist, ere the sun rises. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - -2 - 3 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - 4 - Allied Cavalry Lance - 5 - AlliedCavLance.mul - 1 - 4 - 0 - 0 - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedGroundSupport.json b/data/scenariomodifiers/AlliedGroundSupport.json new file mode 100644 index 0000000000..68997377fb --- /dev/null +++ b/data/scenariomodifiers/AlliedGroundSupport.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Additional allied ground units are en route.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Ground Reinforcements", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedGroundSupport.xml b/data/scenariomodifiers/AlliedGroundSupport.xml deleted file mode 100644 index 9f300eaefe..0000000000 --- a/data/scenariomodifiers/AlliedGroundSupport.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - Additional allied ground units are en route. - - AllGroundTerrain - SpecificGroundTerrain - - true - PostForceGeneration - - -1 - true - -2 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 1 - 1.0 - Ground Reinforcements - 3 - 3 - 4 - 0 - None - - - diff --git a/data/scenariomodifiers/AlliedHorseCav.json b/data/scenariomodifiers/AlliedHorseCav.json new file mode 100644 index 0000000000..fd9bf6dad9 --- /dev/null +++ b/data/scenariomodifiers/AlliedHorseCav.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "From half a league onward a Mercenary Light Brigade of Horse Cavalry rides into the valley of death to assist.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 5, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Light Brigade Horse Cavalry", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": "MercThe600.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedHorseCav.xml b/data/scenariomodifiers/AlliedHorseCav.xml deleted file mode 100644 index 95a014d067..0000000000 --- a/data/scenariomodifiers/AlliedHorseCav.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - From half a league onward a Mercenary Light Brigade of Horse Cavalry rides into the valley of death to assist. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - -2 - 0 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - 4 - Allied Light Brigade Horse Cavalry - 5 - MercThe600.mul - 1 - 4 - 0 - 0 - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedMekAceCRD.json b/data/scenariomodifiers/AlliedMekAceCRD.json new file mode 100644 index 0000000000..cc8dd30e46 --- /dev/null +++ b/data/scenariomodifiers/AlliedMekAceCRD.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "One of your employer's Aces is close and is moving to support. Watch and learn.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 5, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Mek Ace", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 2, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": "AlliedCRDAce.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedMekAceCRD.xml b/data/scenariomodifiers/AlliedMekAceCRD.xml deleted file mode 100644 index 5f3e860e3c..0000000000 --- a/data/scenariomodifiers/AlliedMekAceCRD.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - One of your employer's Aces is close and is moving to support. Watch and learn. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - -2 - 2 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - 4 - Allied Mek Ace - 5 - AlliedCRDAce.mul - 1 - 4 - 0 - 0 - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedMekAceGLT.json b/data/scenariomodifiers/AlliedMekAceGLT.json new file mode 100644 index 0000000000..0f1020d88f --- /dev/null +++ b/data/scenariomodifiers/AlliedMekAceGLT.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "One of your employer's Aces is close and is moving to support. Watch and learn.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 5, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Mek Ace", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 2, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": "AlliedGLTAce.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedMekAceGLT.xml b/data/scenariomodifiers/AlliedMekAceGLT.xml deleted file mode 100644 index 5033c7bb83..0000000000 --- a/data/scenariomodifiers/AlliedMekAceGLT.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - One of your employer's Aces is close and is moving to support. Watch and learn. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - -2 - 2 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - 4 - Allied Mek Ace - 5 - AlliedGLTAce.mul - 1 - 4 - 0 - 0 - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedMekAceGOL.json b/data/scenariomodifiers/AlliedMekAceGOL.json new file mode 100644 index 0000000000..d112ae9616 --- /dev/null +++ b/data/scenariomodifiers/AlliedMekAceGOL.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "One of your employer's Aces is close and is moving to support. Watch and learn.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 5, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Mek Ace", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 2, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": "AlliedGOLAce.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedMekAceGOL.xml b/data/scenariomodifiers/AlliedMekAceGOL.xml deleted file mode 100644 index 2d1b680898..0000000000 --- a/data/scenariomodifiers/AlliedMekAceGOL.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - One of your employer's Aces is close and is moving to support. Watch and learn. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - -2 - 2 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - 4 - Allied Mek Ace - 5 - AlliedGOLAce.mul - 1 - 4 - 0 - 0 - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedMekAceOTT.json b/data/scenariomodifiers/AlliedMekAceOTT.json new file mode 100644 index 0000000000..b4c9215979 --- /dev/null +++ b/data/scenariomodifiers/AlliedMekAceOTT.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "One of your employer's Aces is close and is moving to support. Watch and learn.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 5, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Mek Ace", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 2, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": "AlliedOTTAce.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedMekAceOTT.xml b/data/scenariomodifiers/AlliedMekAceOTT.xml deleted file mode 100644 index 1a241fff2a..0000000000 --- a/data/scenariomodifiers/AlliedMekAceOTT.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - One of your employer's Aces is close and is moving to support. Watch and learn. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - -2 - 2 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - 4 - Allied Mek Ace - 5 - AlliedOTTAce.mul - 1 - 4 - 0 - 0 - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedMekAceTBT.json b/data/scenariomodifiers/AlliedMekAceTBT.json new file mode 100644 index 0000000000..d784263f26 --- /dev/null +++ b/data/scenariomodifiers/AlliedMekAceTBT.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "One of your employer's Aces is close and is moving to support. Watch and learn.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 5, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Mek Ace", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 2, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": "AlliedTBTAce.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedMekAceTBT.xml b/data/scenariomodifiers/AlliedMekAceTBT.xml deleted file mode 100644 index 5f660945b7..0000000000 --- a/data/scenariomodifiers/AlliedMekAceTBT.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - One of your employer's Aces is close and is moving to support. Watch and learn. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - -2 - 2 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - 4 - Allied Mek Ace - 5 - AlliedTBTAce.mul - 1 - 4 - 0 - 0 - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedMekGarrison.json b/data/scenariomodifiers/AlliedMekGarrison.json new file mode 100644 index 0000000000..c90c851d85 --- /dev/null +++ b/data/scenariomodifiers/AlliedMekGarrison.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "This facility is guarded by a lance of allied meks who will fight alongside us in its defense.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked": false, +"contributesToBV": true, +"contributesToUnitCount": true, +"forceName": "Allied Mek Garrison", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedMekGarrison.xml b/data/scenariomodifiers/AlliedMekGarrison.xml deleted file mode 100644 index 82dd3bd717..0000000000 --- a/data/scenariomodifiers/AlliedMekGarrison.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - This facility is guarded by a lance of allied meks who will fight alongside us in its defense. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - 0 - 0 - false - true - true - true - false - - 10 - - 5 - -1 - 1 - 1.0 - Allied Mek Garrison - 3 - 1 - 4 - 75 - 0 - None - false - - diff --git a/data/scenariomodifiers/AlliedMekReinforcements.json b/data/scenariomodifiers/AlliedMekReinforcements.json new file mode 100644 index 0000000000..c6c7239497 --- /dev/null +++ b/data/scenariomodifiers/AlliedMekReinforcements.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Additional allied 'Meks are approaching the area.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 0, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Mek Reinforcements", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedMekReinforcements.xml b/data/scenariomodifiers/AlliedMekReinforcements.xml deleted file mode 100644 index 1abded1d82..0000000000 --- a/data/scenariomodifiers/AlliedMekReinforcements.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - Additional allied 'Meks are approaching the area. - - AllGroundTerrain - SpecificGroundTerrain - - true - PostForceGeneration - - -1 - true - 0 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 1 - 1.0 - Allied Mek Reinforcements - 3 - 3 - 4 - 50 - - None - - - diff --git a/data/scenariomodifiers/AlliedOfficerMek.json b/data/scenariomodifiers/AlliedOfficerMek.json new file mode 100644 index 0000000000..280903c96d --- /dev/null +++ b/data/scenariomodifiers/AlliedOfficerMek.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An allied mek Officer has been assigned to your force. Impress them.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Officer Mek", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 3, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 1, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"Player" +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedOfficerMek.xml b/data/scenariomodifiers/AlliedOfficerMek.xml deleted file mode 100644 index eb65ae022e..0000000000 --- a/data/scenariomodifiers/AlliedOfficerMek.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An allied mek Officer has been assigned to your force. Impress them. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 5 - 1 - 1 - Allied Officer Mek - 3 - 1 - 4 - 3 - 75 - 0 - - Player - - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedReinforcements.json b/data/scenariomodifiers/AlliedReinforcements.json new file mode 100644 index 0000000000..a2d8716287 --- /dev/null +++ b/data/scenariomodifiers/AlliedReinforcements.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Additional allied ground forces are approaching the area.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": -2, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Ground Reinforcements", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedReinforcements.xml b/data/scenariomodifiers/AlliedReinforcements.xml deleted file mode 100644 index f5599f522e..0000000000 --- a/data/scenariomodifiers/AlliedReinforcements.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - Additional allied ground forces are approaching the area. - - AllGroundTerrain - SpecificGroundTerrain - - true - PostForceGeneration - - -1 - true - -2 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 1 - 1.0 - Allied Ground Reinforcements - 3 - 3 - 4 - 50 - - None - - - diff --git a/data/scenariomodifiers/AlliedTankGarrison.json b/data/scenariomodifiers/AlliedTankGarrison.json new file mode 100644 index 0000000000..6b1b141a19 --- /dev/null +++ b/data/scenariomodifiers/AlliedTankGarrison.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "This facility has a garrison of tanks, which will fight alongside your force in the facility's defense.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 1, +"canReinforceLinked": false, +"contributesToBV": true, +"contributesToUnitCount": true, +"forceName": "Allied Tank Garrison", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedTankGarrison.xml b/data/scenariomodifiers/AlliedTankGarrison.xml deleted file mode 100644 index 5da30e266f..0000000000 --- a/data/scenariomodifiers/AlliedTankGarrison.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - This facility has a garrison of tanks, which will fight alongside your force in the facility's defense. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - 1 - 0 - false - true - true - true - false - - 10 - - 5 - -1 - 1 - 1.0 - Allied Tank Garrison - 3 - 1 - 4 - 75 - 0 - None - false - - diff --git a/data/scenariomodifiers/AlliedTankReinforcements.json b/data/scenariomodifiers/AlliedTankReinforcements.json new file mode 100644 index 0000000000..7912800921 --- /dev/null +++ b/data/scenariomodifiers/AlliedTankReinforcements.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Additional allied ground armor forces are approaching the area.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 1, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Allied Tank Reinforcements", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedTankReinforcements.xml b/data/scenariomodifiers/AlliedTankReinforcements.xml deleted file mode 100644 index fd96a368f7..0000000000 --- a/data/scenariomodifiers/AlliedTankReinforcements.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - Additional allied ground armor forces are approaching the area. - - AllGroundTerrain - SpecificGroundTerrain - - true - PostForceGeneration - - -1 - true - 1 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 1 - 1.0 - Allied Tank Reinforcements - 3 - 3 - 4 - 50 - - None - - - diff --git a/data/scenariomodifiers/AlliedTraineesAir.json b/data/scenariomodifiers/AlliedTraineesAir.json new file mode 100644 index 0000000000..23c04f58d6 --- /dev/null +++ b/data/scenariomodifiers/AlliedTraineesAir.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "A force of trainees will deploy alongside your force. Keep them alive.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 0, +"generationMethod": 3, +"forceMultiplier": 0.25, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": 9, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Trainees", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 1, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"Player" +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"Space", "LowAtmosphere"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedTraineesAir.xml b/data/scenariomodifiers/AlliedTraineesAir.xml deleted file mode 100644 index 668c185b33..0000000000 --- a/data/scenariomodifiers/AlliedTraineesAir.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - A force of trainees will deploy alongside your force. Keep them alive. - - Space - LowAtmosphere - - true - PreForceGeneration - - -1 - false - 9 - 0 - false - false - true - false - false - - 5 - -1 - 0 - 0.25 - Trainees - 3 - 1 - 1 - 0 - 5 - - Player - - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedTraineesGround.json b/data/scenariomodifiers/AlliedTraineesGround.json new file mode 100644 index 0000000000..fcc9d3670d --- /dev/null +++ b/data/scenariomodifiers/AlliedTraineesGround.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "A force of trainees will deploy alongside your lance. Keep them alive.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 0, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Trainees", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 2, +"minWeightClass": 2, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"Player" +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedTraineesGround.xml b/data/scenariomodifiers/AlliedTraineesGround.xml deleted file mode 100644 index 08ab2ac3ec..0000000000 --- a/data/scenariomodifiers/AlliedTraineesGround.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - A force of trainees will deploy alongside your lance. Keep them alive. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 5 - -1 - 0 - 1.0 - Trainees - 3 - 1 - 2 - 2 - 0 - 0 - - Player - - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/AlliedTreachery.json b/data/scenariomodifiers/AlliedTreachery.json new file mode 100644 index 0000000000..f76fd146da --- /dev/null +++ b/data/scenariomodifiers/AlliedTreachery.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "The allied forces have turned on us.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": "Allied", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedTreachery.xml b/data/scenariomodifiers/AlliedTreachery.xml deleted file mode 100644 index bf9c7ef52e..0000000000 --- a/data/scenariomodifiers/AlliedTreachery.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - The allied forces have turned on us. - false - PostForceGeneration - Allied - True - diff --git a/data/scenariomodifiers/AlliedTurrets.json b/data/scenariomodifiers/AlliedTurrets.json new file mode 100644 index 0000000000..732479a4f3 --- /dev/null +++ b/data/scenariomodifiers/AlliedTurrets.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "This location is defended by additional fixed turrets.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 2, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 7, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Local Fixed Defences", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 3, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["Base Defenses"], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/AlliedTurrets.xml b/data/scenariomodifiers/AlliedTurrets.xml deleted file mode 100644 index bbf21ca32b..0000000000 --- a/data/scenariomodifiers/AlliedTurrets.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - This location is defended by additional fixed turrets. - - AllGroundTerrain - SpecificGroundTerrain - - true - PostForceGeneration - - -1 - false - 7 - 0 - false - false - true - false - - 10 - - 5 - 0 - 1 - 1.0 - Local Fixed Defences - 2 - 3 - 4 - 50 - - Base Defenses - - None - - diff --git a/data/scenariomodifiers/ArmednArmored.json b/data/scenariomodifiers/ArmednArmored.json new file mode 100644 index 0000000000..d8d485894d --- /dev/null +++ b/data/scenariomodifiers/ArmednArmored.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Intel on the OpFor indicates a larger more well-equipped force.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": 1, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/ArmednArmored.xml b/data/scenariomodifiers/ArmednArmored.xml deleted file mode 100644 index bc5bf82ed7..0000000000 --- a/data/scenariomodifiers/ArmednArmored.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - Intel on the OpFor indicates a larger more well-equipped force. - false - PreForceGeneration - Opposing - 1 - -1 - diff --git a/data/scenariomodifiers/BadEquipment.json b/data/scenariomodifiers/BadEquipment.json new file mode 100644 index 0000000000..a7494a8b44 --- /dev/null +++ b/data/scenariomodifiers/BadEquipment.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "The enemy force appears to be poorly equipped.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": -1, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/BadEquipment.xml b/data/scenariomodifiers/BadEquipment.xml deleted file mode 100644 index 14a9eda8a3..0000000000 --- a/data/scenariomodifiers/BadEquipment.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - The enemy force appears to be poorly equipped. - true - PreForceGeneration - Opposing - -1 - diff --git a/data/scenariomodifiers/BadEvent.json b/data/scenariomodifiers/BadEvent.json new file mode 100644 index 0000000000..bb7cbf2890 --- /dev/null +++ b/data/scenariomodifiers/BadEvent.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Hostiles are coordinating more front line units in the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": 1, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/BadEvent.xml b/data/scenariomodifiers/BadEvent.xml deleted file mode 100644 index c65829b3cf..0000000000 --- a/data/scenariomodifiers/BadEvent.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - Hostiles are coordinating more front line units in the area. - false - PreForceGeneration - Opposing - 1 - -1 - diff --git a/data/scenariomodifiers/BadIntelAir.json b/data/scenariomodifiers/BadIntelAir.json new file mode 100644 index 0000000000..3d593a380a --- /dev/null +++ b/data/scenariomodifiers/BadIntelAir.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Recon underestimated enemy strength, and additional enemy units are present.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -3, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Additional Aircraft", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": false, +"startingAltitude": 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/BadIntelAir.xml b/data/scenariomodifiers/BadIntelAir.xml deleted file mode 100644 index 7e050d1e37..0000000000 --- a/data/scenariomodifiers/BadIntelAir.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - Recon underestimated enemy strength, and additional enemy units are present. - false - PostForceGeneration - - -1 - false - -3 - 0 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 2 - 1.0 - Additional Aircraft - 3 - 3 - 4 - 0 - - OpFor - - 5 - None - - - diff --git a/data/scenariomodifiers/BadIntelGround.json b/data/scenariomodifiers/BadIntelGround.json new file mode 100644 index 0000000000..e2325a1ba7 --- /dev/null +++ b/data/scenariomodifiers/BadIntelGround.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Recon underestimated enemy strength, and additional enemy units are present.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Additional OpFor", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/BadIntelGround.xml b/data/scenariomodifiers/BadIntelGround.xml deleted file mode 100644 index aec8174537..0000000000 --- a/data/scenariomodifiers/BadIntelGround.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - Recon underestimated enemy strength, and additional enemy units are present. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - false - -2 - 0 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 2 - 1.0 - Additional OpFor - 3 - 3 - 4 - 0 - - OpFor - - None - - - diff --git a/data/scenariomodifiers/Elites.json b/data/scenariomodifiers/Elites.json new file mode 100644 index 0000000000..b3927acdf7 --- /dev/null +++ b/data/scenariomodifiers/Elites.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "OpFor markings indicate an elite force.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": 2, +"qualityAdjustment": null, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/Elites.xml b/data/scenariomodifiers/Elites.xml deleted file mode 100644 index d77917ec98..0000000000 --- a/data/scenariomodifiers/Elites.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - OpFor markings indicate an elite force. - false - PostForceGeneration - Opposing - 2 - diff --git a/data/scenariomodifiers/EnemyASFAce01.json b/data/scenariomodifiers/EnemyASFAce01.json new file mode 100644 index 0000000000..83d3178560 --- /dev/null +++ b/data/scenariomodifiers/EnemyASFAce01.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy ASF Ace has been spotted. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": -3, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy ASF Ace", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": "EnemyASFAceHvy.mul", +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyASFAce01.xml b/data/scenariomodifiers/EnemyASFAce01.xml deleted file mode 100644 index 2f13f723bd..0000000000 --- a/data/scenariomodifiers/EnemyASFAce01.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy ASF Ace has been spotted. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - -3 - 0 - false - false - true - false - false - - 5 - 0 - 2 - Enemy ASF Ace - 5 - EnemyASFAceHvy.mul - 1 - 4 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyASFAce02.json b/data/scenariomodifiers/EnemyASFAce02.json new file mode 100644 index 0000000000..aba6e966ea --- /dev/null +++ b/data/scenariomodifiers/EnemyASFAce02.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy ASF Ace has been spotted. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": -3, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy ASF Ace", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": "EnemyASFAceMed.mul", +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyASFAce02.xml b/data/scenariomodifiers/EnemyASFAce02.xml deleted file mode 100644 index f9df31dde6..0000000000 --- a/data/scenariomodifiers/EnemyASFAce02.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy ASF Ace has been spotted. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - -3 - 0 - false - false - true - false - false - - 5 - 0 - 2 - Enemy ASF Ace - 5 - EnemyASFAceMed.mul - 1 - 4 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyAceMekARC2R.json b/data/scenariomodifiers/EnemyAceMekARC2R.json new file mode 100644 index 0000000000..e696ece6e8 --- /dev/null +++ b/data/scenariomodifiers/EnemyAceMekARC2R.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy mek Ace has been spotted. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Mek Ace", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": "aceARC2R.mul", +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAceMekARC2R.xml b/data/scenariomodifiers/EnemyAceMekARC2R.xml deleted file mode 100644 index e1c37353df..0000000000 --- a/data/scenariomodifiers/EnemyAceMekARC2R.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy mek Ace has been spotted. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 5 - 0 - 2 - Enemy Mek Ace - 5 - aceARC2R.mul - 1 - 4 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyAceMekAWS8Q.json b/data/scenariomodifiers/EnemyAceMekAWS8Q.json new file mode 100644 index 0000000000..fa47c74b7a --- /dev/null +++ b/data/scenariomodifiers/EnemyAceMekAWS8Q.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy mek Ace has been spotted. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Mek Ace", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": "aceAWS8Q.mul", +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAceMekAWS8Q.xml b/data/scenariomodifiers/EnemyAceMekAWS8Q.xml deleted file mode 100644 index 9c804186b0..0000000000 --- a/data/scenariomodifiers/EnemyAceMekAWS8Q.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy mek Ace has been spotted. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 5 - 0 - 2 - Enemy Mek Ace - 5 - aceAWS8Q.mul - 1 - 4 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyAceMekFS9M.json b/data/scenariomodifiers/EnemyAceMekFS9M.json new file mode 100644 index 0000000000..ff8de0481b --- /dev/null +++ b/data/scenariomodifiers/EnemyAceMekFS9M.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy mek Ace has been spotted. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Mek Ace", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": "aceFS9M.mul", +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAceMekFS9M.xml b/data/scenariomodifiers/EnemyAceMekFS9M.xml deleted file mode 100644 index c8916dfb64..0000000000 --- a/data/scenariomodifiers/EnemyAceMekFS9M.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy mek Ace has been spotted. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 5 - 0 - 2 - Enemy Mek Ace - 5 - aceFS9M.mul - 1 - 4 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyAceMekGHR5N.json b/data/scenariomodifiers/EnemyAceMekGHR5N.json new file mode 100644 index 0000000000..9f96e744d1 --- /dev/null +++ b/data/scenariomodifiers/EnemyAceMekGHR5N.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy mek Ace has been spotted. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Mek Ace", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": "aceGHR5N.mul", +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAceMekGHR5N.xml b/data/scenariomodifiers/EnemyAceMekGHR5N.xml deleted file mode 100644 index ea381b4a87..0000000000 --- a/data/scenariomodifiers/EnemyAceMekGHR5N.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy mek Ace has been spotted. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 5 - 0 - 2 - Enemy Mek Ace - 5 - aceGHR5N.mul - 1 - 4 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyAceMekHGN733P.json b/data/scenariomodifiers/EnemyAceMekHGN733P.json new file mode 100644 index 0000000000..779004eba1 --- /dev/null +++ b/data/scenariomodifiers/EnemyAceMekHGN733P.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy mek Ace has been spotted. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Mek Ace", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": "aceHGN733P.mul", +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAceMekHGN733P.xml b/data/scenariomodifiers/EnemyAceMekHGN733P.xml deleted file mode 100644 index b27fa02bf9..0000000000 --- a/data/scenariomodifiers/EnemyAceMekHGN733P.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy mek Ace has been spotted. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 5 - 0 - 2 - Enemy Mek Ace - 5 - aceHGN733P.mul - 1 - 4 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyAceMekMAD3D.json b/data/scenariomodifiers/EnemyAceMekMAD3D.json new file mode 100644 index 0000000000..c2035c8ba1 --- /dev/null +++ b/data/scenariomodifiers/EnemyAceMekMAD3D.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy mek Ace has been spotted. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Mek Ace", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": "aceMAD3D.mul", +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAceMekMAD3D.xml b/data/scenariomodifiers/EnemyAceMekMAD3D.xml deleted file mode 100644 index 3c7b1631f5..0000000000 --- a/data/scenariomodifiers/EnemyAceMekMAD3D.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy mek Ace has been spotted. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 5 - 0 - 2 - Enemy Mek Ace - 5 - aceMAD3D.mul - 1 - 4 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyAceMekPXH1D.json b/data/scenariomodifiers/EnemyAceMekPXH1D.json new file mode 100644 index 0000000000..dae7bfbc5d --- /dev/null +++ b/data/scenariomodifiers/EnemyAceMekPXH1D.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy mek Ace has been spotted. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Mek Ace", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": "acePXH1D.mul", +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAceMekPXH1D.xml b/data/scenariomodifiers/EnemyAceMekPXH1D.xml deleted file mode 100644 index 814f0143c8..0000000000 --- a/data/scenariomodifiers/EnemyAceMekPXH1D.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy mek Ace has been spotted. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 5 - 0 - 2 - Enemy Mek Ace - 5 - acePXH1D.mul - 1 - 4 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyAirCav.json b/data/scenariomodifiers/EnemyAirCav.json new file mode 100644 index 0000000000..6cd01ad85c --- /dev/null +++ b/data/scenariomodifiers/EnemyAirCav.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "A force of enemy VTOLs coming in low over the horizon. Don't let this be the apocalypse.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 0, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Air Cav", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 8, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude": 1, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": "VTOLApocalypse.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAirCav.xml b/data/scenariomodifiers/EnemyAirCav.xml deleted file mode 100644 index 14a74e7e02..0000000000 --- a/data/scenariomodifiers/EnemyAirCav.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - A force of enemy VTOLs coming in low over the horizon. Don't let this be the apocalypse. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 3 - false - false - true - false - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - 8 - 2 - Enemy Air Cav - 5 - VTOLApocalypse.mul - 1 - 4 - 50 - 1 - - OpFor - - None - false - - diff --git a/data/scenariomodifiers/EnemyAirGarrison.json b/data/scenariomodifiers/EnemyAirGarrison.json new file mode 100644 index 0000000000..46a704e314 --- /dev/null +++ b/data/scenariomodifiers/EnemyAirGarrison.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "This facility is defended by an additional flight of enemy aircraft.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [9], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": -3, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Air Garrison", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 5, +"allowAeroBombs": false, +"startingAltitude": 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAirGarrison.xml b/data/scenariomodifiers/EnemyAirGarrison.xml deleted file mode 100644 index 48a8d147d1..0000000000 --- a/data/scenariomodifiers/EnemyAirGarrison.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - This facility is defended by an additional flight of enemy aircraft. - false - PreForceGeneration - - -1 - false - -3 - 0 - false - false - true - false - false - - 9 - - 5 - -1 - 2 - 1.0 - Air Garrison - 3 - 5 - 4 - 75 - 5 - None - false - - diff --git a/data/scenariomodifiers/EnemyAirMobileInf.json b/data/scenariomodifiers/EnemyAirMobileInf.json new file mode 100644 index 0000000000..83626b7f03 --- /dev/null +++ b/data/scenariomodifiers/EnemyAirMobileInf.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Enemy VTOLs laden with infantry are on the approach. Hoo-ah!", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 0, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Air Mobile Infantry", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude": 1, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": "VTOLBlackhawks.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAirMobileInf.xml b/data/scenariomodifiers/EnemyAirMobileInf.xml deleted file mode 100644 index 7674d1764d..0000000000 --- a/data/scenariomodifiers/EnemyAirMobileInf.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - Enemy VTOLs laden with infantry are on the approach. Hoo-ah! - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 3 - false - false - true - false - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - 0 - 2 - Enemy Air Mobile Infantry - 5 - VTOLBlackhawks.mul - 1 - 4 - 50 - 1 - - OpFor - - None - false - - diff --git a/data/scenariomodifiers/EnemyAirPatrol.json b/data/scenariomodifiers/EnemyAirPatrol.json new file mode 100644 index 0000000000..9e840e136b --- /dev/null +++ b/data/scenariomodifiers/EnemyAirPatrol.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "A detail of enemy light recon aircraft has been seen in the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": -3, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Recon Aircraft", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 2, +"maxWeightClass": 1, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 2, +"generationOrder": 5, +"allowAeroBombs": true, +"startingAltitude": 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAirPatrol.xml b/data/scenariomodifiers/EnemyAirPatrol.xml deleted file mode 100644 index 0d96ed57fb..0000000000 --- a/data/scenariomodifiers/EnemyAirPatrol.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - A detail of enemy light recon aircraft has been seen in the area. - false - PostForceGeneration - - -1 - true - -3 - 2 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - 2 - 2 - 1.0 - Recon Aircraft - 3 - 5 - 1 - 50 - 5 - None - - - diff --git a/data/scenariomodifiers/EnemyAirSupport.json b/data/scenariomodifiers/EnemyAirSupport.json new file mode 100644 index 0000000000..c8e7b13212 --- /dev/null +++ b/data/scenariomodifiers/EnemyAirSupport.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Enemy aircraft detected on approach.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": -3, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Aircraft", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 5, +"allowAeroBombs": false, +"startingAltitude": 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAirSupport.xml b/data/scenariomodifiers/EnemyAirSupport.xml deleted file mode 100644 index 172c261a1f..0000000000 --- a/data/scenariomodifiers/EnemyAirSupport.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - Enemy aircraft detected on approach. - false - PostForceGeneration - - -1 - false - -3 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 2 - 1.0 - Aircraft - 3 - 5 - 4 - 50 - 5 - None - - - diff --git a/data/scenariomodifiers/EnemyAirSupportBombers.json b/data/scenariomodifiers/EnemyAirSupportBombers.json new file mode 100644 index 0000000000..6da3054c32 --- /dev/null +++ b/data/scenariomodifiers/EnemyAirSupportBombers.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Enemy aircraft detected on approach and will arrive shortly after the start of the battle.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": -3, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Aircraft", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 5, +"allowAeroBombs": true, +"startingAltitude": 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +"BOMBER" +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAirSupportBombers.xml b/data/scenariomodifiers/EnemyAirSupportBombers.xml deleted file mode 100644 index a81870e238..0000000000 --- a/data/scenariomodifiers/EnemyAirSupportBombers.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - Enemy aircraft detected on approach and will arrive shortly after the start of the battle. - false - PostForceGeneration - - -1 - true - -3 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 2 - 1.0 - Aircraft - 3 - 5 - 4 - 50 - 5 - None - - - BOMBER - - - diff --git a/data/scenariomodifiers/EnemyAmbush.json b/data/scenariomodifiers/EnemyAmbush.json new file mode 100644 index 0000000000..b5fbec6b05 --- /dev/null +++ b/data/scenariomodifiers/EnemyAmbush.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Enemy presence appears much smaller than indicated. Keep an eye out!", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": true, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyAmbush.xml b/data/scenariomodifiers/EnemyAmbush.xml deleted file mode 100644 index 1a5e5ad476..0000000000 --- a/data/scenariomodifiers/EnemyAmbush.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - Enemy presence appears much smaller than indicated. Keep an eye out! - false - PostForceGeneration - Opposing - true - diff --git a/data/scenariomodifiers/EnemyArty.json b/data/scenariomodifiers/EnemyArty.json new file mode 100644 index 0000000000..19aa4546ce --- /dev/null +++ b/data/scenariomodifiers/EnemyArty.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "A hostile artillery battery is on the field.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 1, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Artillery", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": false, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": true, +"deployOffBoard": true, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyArty.xml b/data/scenariomodifiers/EnemyArty.xml deleted file mode 100644 index 7da6598875..0000000000 --- a/data/scenariomodifiers/EnemyArty.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - A hostile artillery battery is on the field. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - false - 1 - 0 - false - false - false - false - true - - 10 - - 5 - -1 - 2 - 1.0 - Artillery - 3 - 3 - 4 - 50 - 0 - None - true - - diff --git a/data/scenariomodifiers/EnemyArtyGarrison.json b/data/scenariomodifiers/EnemyArtyGarrison.json new file mode 100644 index 0000000000..ae14cabf64 --- /dev/null +++ b/data/scenariomodifiers/EnemyArtyGarrison.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "This facility is defended by an additional force of enemy artillery who have been unable to clear the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 1, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Artillery Garrison", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 5, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": true, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyArtyGarrison.xml b/data/scenariomodifiers/EnemyArtyGarrison.xml deleted file mode 100644 index f3a52ea19b..0000000000 --- a/data/scenariomodifiers/EnemyArtyGarrison.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - This facility is defended by an additional force of enemy artillery who have been unable to clear the area. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 1 - 0 - false - false - true - false - false - - 10 - - 5 - -1 - 2 - 1.0 - Artillery Garrison - 3 - 5 - 4 - - OpFor - - 75 - 0 - None - true - - diff --git a/data/scenariomodifiers/EnemyCommanderMek.json b/data/scenariomodifiers/EnemyCommanderMek.json new file mode 100644 index 0000000000..2734e5c8c4 --- /dev/null +++ b/data/scenariomodifiers/EnemyCommanderMek.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy mek Commander has been spotted. Destroy them.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Mek Commander", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 3, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 1, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyCommanderMek.xml b/data/scenariomodifiers/EnemyCommanderMek.xml deleted file mode 100644 index 737fc217cc..0000000000 --- a/data/scenariomodifiers/EnemyCommanderMek.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy mek Commander has been spotted. Destroy them. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 5 - 1 - 2 - Enemy Mek Commander - 3 - 1 - 4 - 3 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyDropship.json b/data/scenariomodifiers/EnemyDropship.json new file mode 100644 index 0000000000..24e4d288b1 --- /dev/null +++ b/data/scenariomodifiers/EnemyDropship.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An active enemy DropShip has been detected in the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 11, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "DropShip", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 1, +"generationOrder": 3, +"allowAeroBombs": false, +"startingAltitude" : 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": ["MEK_CARRIER", "MEK_CARRIER", "ASF_CARRIER", "VEE_CARRIER", "INFANTRY_CARRIER", "TROOP_CARRIER", "CIVILIAN" ] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyDropship.xml b/data/scenariomodifiers/EnemyDropship.xml deleted file mode 100644 index ae21632227..0000000000 --- a/data/scenariomodifiers/EnemyDropship.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - An active enemy DropShip has been detected in the area. - false - PostForceGeneration - - -1 - false - 11 - 0 - false - false - true - false - false - - 5 - 1 - 2 - 1.0 - DropShip - 3 - 3 - 4 - 0 - 50 - 5 - SameEdge - OpFor - false - - MEK_CARRIER - MEK_CARRIER - ASF_CARRIER - VEE_CARRIER - INFANTRY_CARRIER - TROOP_CARRIER - CIVILIAN - - - diff --git a/data/scenariomodifiers/EnemyFieldArtyCrack.json b/data/scenariomodifiers/EnemyFieldArtyCrack.json new file mode 100644 index 0000000000..4974175c17 --- /dev/null +++ b/data/scenariomodifiers/EnemyFieldArtyCrack.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy Crack Field Artillery Unit has been spotted in the area. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 1, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Crack Field Arty", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 8, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": "EnemyCrackFieldArty.mul", +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyFieldArtyCrack.xml b/data/scenariomodifiers/EnemyFieldArtyCrack.xml deleted file mode 100644 index 7b1d21d492..0000000000 --- a/data/scenariomodifiers/EnemyFieldArtyCrack.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy Crack Field Artillery Unit has been spotted in the area. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 1 - 0 - false - false - true - false - false - - 5 - 8 - 2 - Enemy Crack Field Arty - 5 - EnemyCrackFieldArty.mul - 1 - 4 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyFieldArtyOffboard.json b/data/scenariomodifiers/EnemyFieldArtyOffboard.json new file mode 100644 index 0000000000..ac6b37e2cd --- /dev/null +++ b/data/scenariomodifiers/EnemyFieldArtyOffboard.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy Field Artillery Unit has been spotted in the area. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Offboard Field Arty", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": true, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": "EnemyOffFieldArty.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyFieldArtyOffboard.xml b/data/scenariomodifiers/EnemyFieldArtyOffboard.xml deleted file mode 100644 index e5a3fc348e..0000000000 --- a/data/scenariomodifiers/EnemyFieldArtyOffboard.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - An enemy Field Artillery Unit has been spotted in the area. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - true - - 5 - 4 - 2 - Enemy Offboard Field Arty - 5 - EnemyOffFieldArty.mul - 1 - 4 - 75 - 0 - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyHotDrop.json b/data/scenariomodifiers/EnemyHotDrop.json new file mode 100644 index 0000000000..017aa1a18a --- /dev/null +++ b/data/scenariomodifiers/EnemyHotDrop.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Enemy DropShip has been detected in the area. Telemetry indicates it's at least partially loaded. Expect additional hostile units to be deployed via airdrop.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": -2, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Hot Drop", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 2, +"allowAeroBombs": false, +"startingAltitude": 3, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyHotDrop.xml b/data/scenariomodifiers/EnemyHotDrop.xml deleted file mode 100644 index f9a1787ac5..0000000000 --- a/data/scenariomodifiers/EnemyHotDrop.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - Enemy DropShip has been detected in the area. Telemetry indicates it's at least partially loaded. Expect additional hostile units to be deployed via airdrop. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - false - -2 - -3 - false - false - true - false - - 10 - - 5 - -1 - 2 - 1.0 - Hot Drop - 3 - 2 - 4 - 50 - None - 3 - - diff --git a/data/scenariomodifiers/EnemyMekGarrison.json b/data/scenariomodifiers/EnemyMekGarrison.json new file mode 100644 index 0000000000..8bbf1e3267 --- /dev/null +++ b/data/scenariomodifiers/EnemyMekGarrison.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "This facility is defended by an additional force of enemy meks.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Mek Garrison", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 5, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyMekGarrison.xml b/data/scenariomodifiers/EnemyMekGarrison.xml deleted file mode 100644 index 21f8043a00..0000000000 --- a/data/scenariomodifiers/EnemyMekGarrison.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - This facility is defended by an additional force of enemy meks. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 10 - - 5 - -1 - 2 - 1.0 - Mek Garrison - 3 - 5 - 4 - 75 - 0 - - OpFor - - None - false - - diff --git a/data/scenariomodifiers/EnemyMekPatrol.json b/data/scenariomodifiers/EnemyMekPatrol.json new file mode 100644 index 0000000000..d602374a6f --- /dev/null +++ b/data/scenariomodifiers/EnemyMekPatrol.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "A detail of enemy scout meks has been spotted in the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 0.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 0, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Recon Meks", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 3, +"maxWeightClass": 1, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 2, +"generationOrder": 6, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyMekPatrol.xml b/data/scenariomodifiers/EnemyMekPatrol.xml deleted file mode 100644 index 9ed17ca533..0000000000 --- a/data/scenariomodifiers/EnemyMekPatrol.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - A detail of enemy scout meks has been spotted in the area. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - false - 0 - 3 - false - false - true - false - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - 2 - 2 - Recon Meks - 3 - 6 - 1 - 50 - 0 - - OpFor - - None - false - - diff --git a/data/scenariomodifiers/EnemyMekReinforcements.json b/data/scenariomodifiers/EnemyMekReinforcements.json new file mode 100644 index 0000000000..fba433aa98 --- /dev/null +++ b/data/scenariomodifiers/EnemyMekReinforcements.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Additional hostile meks are approaching the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 0, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Mek Reinforcements", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyMekReinforcements.xml b/data/scenariomodifiers/EnemyMekReinforcements.xml deleted file mode 100644 index 5655d7e095..0000000000 --- a/data/scenariomodifiers/EnemyMekReinforcements.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - Additional hostile meks are approaching the area. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - true - 0 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 2 - 1.0 - Enemy Mek Reinforcements - 3 - 3 - 4 - 50 - - None - - - diff --git a/data/scenariomodifiers/EnemyMercBrawl.json b/data/scenariomodifiers/EnemyMercBrawl.json new file mode 100644 index 0000000000..077e75fc87 --- /dev/null +++ b/data/scenariomodifiers/EnemyMercBrawl.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "The Enemy has hired a Mercenary Brawler Lance with veteran markings. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 0, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Merc Brawlers", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": "MercBrawl.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyMercBrawl.xml b/data/scenariomodifiers/EnemyMercBrawl.xml deleted file mode 100644 index 763e8436d1..0000000000 --- a/data/scenariomodifiers/EnemyMercBrawl.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - The Enemy has hired a Mercenary Brawler Lance with veteran markings. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - 4 - 2 - Enemy Merc Brawlers - 5 - MercBrawl.mul - 1 - 4 - 50 - 0 - - OpFor - - None - false - - diff --git a/data/scenariomodifiers/EnemyMercFireSupport.json b/data/scenariomodifiers/EnemyMercFireSupport.json new file mode 100644 index 0000000000..e15eb161cc --- /dev/null +++ b/data/scenariomodifiers/EnemyMercFireSupport.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "The Enemy has hired a Mercenary Fire Support Lance with veteran markings. Keep your head down.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 0, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Merc Fire Support", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": "MercFire.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyMercFireSupport.xml b/data/scenariomodifiers/EnemyMercFireSupport.xml deleted file mode 100644 index d7efc0086b..0000000000 --- a/data/scenariomodifiers/EnemyMercFireSupport.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - The Enemy has hired a Mercenary Fire Support Lance with veteran markings. Keep your head down. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - 4 - 2 - Enemy Merc Fire Support - 5 - MercFire.mul - 1 - 4 - 50 - 0 - - OpFor - - None - false - - diff --git a/data/scenariomodifiers/EnemyMercHopInfantry.json b/data/scenariomodifiers/EnemyMercHopInfantry.json new file mode 100644 index 0000000000..758c625ab9 --- /dev/null +++ b/data/scenariomodifiers/EnemyMercHopInfantry.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "A horn heralds the arrival of an Enemy unit of Coventry Kangaroo Cavalry. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 0, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Merc Roohirrim Cavalry", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 8, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": "MercRoohirrim.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyMercHopInfantry.xml b/data/scenariomodifiers/EnemyMercHopInfantry.xml deleted file mode 100644 index f9493b0b19..0000000000 --- a/data/scenariomodifiers/EnemyMercHopInfantry.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - A horn heralds the arrival of an Enemy unit of Coventry Kangaroo Cavalry. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 3 - false - false - true - false - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - 8 - 2 - Enemy Merc Roohirrim Cavalry - 5 - MercRoohirrim.mul - 1 - 4 - 50 - 0 - - OpFor - - None - false - - diff --git a/data/scenariomodifiers/EnemyMercScouts.json b/data/scenariomodifiers/EnemyMercScouts.json new file mode 100644 index 0000000000..4470d36b17 --- /dev/null +++ b/data/scenariomodifiers/EnemyMercScouts.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Enemy fast-movers with Mercenary markings are in the area. Watch your six.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 0, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Merc Scouts", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 4, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": "MercHeat.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyMercScouts.xml b/data/scenariomodifiers/EnemyMercScouts.xml deleted file mode 100644 index 3ddcf6597b..0000000000 --- a/data/scenariomodifiers/EnemyMercScouts.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - Enemy fast-movers with Mercenary markings are in the area. Watch your six. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 4 - false - false - true - false - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - 4 - 2 - Enemy Merc Scouts - 5 - MercHeat.mul - 1 - 4 - 50 - 0 - - OpFor - - None - false - - diff --git a/data/scenariomodifiers/EnemyMercSkirmish.json b/data/scenariomodifiers/EnemyMercSkirmish.json new file mode 100644 index 0000000000..3889c5238c --- /dev/null +++ b/data/scenariomodifiers/EnemyMercSkirmish.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "OpFor Mercenary Skirmishers with veteran markings are in the area. Don't get flanked.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 0, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Merc Skirmishers", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 4, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": "MercSkirm.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyMercSkirmish.xml b/data/scenariomodifiers/EnemyMercSkirmish.xml deleted file mode 100644 index 8b2ee39fa7..0000000000 --- a/data/scenariomodifiers/EnemyMercSkirmish.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - OpFor Mercenary Skirmishers with veteran markings are in the area. Don't get flanked. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 3 - false - false - true - false - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - 4 - 2 - Enemy Merc Skirmishers - 5 - MercSkirm.mul - 1 - 4 - 50 - 0 - - OpFor - - None - false - - diff --git a/data/scenariomodifiers/EnemyMercSkyInfantry.json b/data/scenariomodifiers/EnemyMercSkyInfantry.json new file mode 100644 index 0000000000..4af861510b --- /dev/null +++ b/data/scenariomodifiers/EnemyMercSkyInfantry.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "The flap of leathery wings announces the arrival of an Enemy unit of Branth Sky Infantry. Beware.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 5, +"forceMultiplier": 0.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 0, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Merc Avatar Sky Cavalry", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 8, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude": 1, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": "MercAvatars.mul", +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyMercSkyInfantry.xml b/data/scenariomodifiers/EnemyMercSkyInfantry.xml deleted file mode 100644 index df73ac7ff2..0000000000 --- a/data/scenariomodifiers/EnemyMercSkyInfantry.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - The flap of leathery wings announces the arrival of an Enemy unit of Branth Sky Infantry. Beware. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 3 - false - false - true - false - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - 8 - 2 - Enemy Merc Avatar Sky Cavalry - 5 - MercAvatars.mul - 1 - 4 - 50 - 1 - - OpFor - - None - false - - diff --git a/data/scenariomodifiers/EnemyOfficerMek.json b/data/scenariomodifiers/EnemyOfficerMek.json new file mode 100644 index 0000000000..879611f706 --- /dev/null +++ b/data/scenariomodifiers/EnemyOfficerMek.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy mek Officer has been spotted. Destroy them.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 0.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Officer Mek", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 3, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 1, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"OpFor" +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyOfficerMek.xml b/data/scenariomodifiers/EnemyOfficerMek.xml deleted file mode 100644 index 73f616c49e..0000000000 --- a/data/scenariomodifiers/EnemyOfficerMek.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - An enemy mek Officer has been spotted. Destroy them. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 0 - 0 - false - false - true - false - false - - 5 - 1 - 2 - Enemy Officer Mek - 3 - 1 - 4 - 3 - 75 - 0 - - OpFor - - SameEdge - OpFor - false - - diff --git a/data/scenariomodifiers/EnemyReinforcements.json b/data/scenariomodifiers/EnemyReinforcements.json new file mode 100644 index 0000000000..1b74d70359 --- /dev/null +++ b/data/scenariomodifiers/EnemyReinforcements.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Additional enemy ground forces have been detected approaching the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Ground Reinforcements", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyReinforcements.xml b/data/scenariomodifiers/EnemyReinforcements.xml deleted file mode 100644 index 452386972c..0000000000 --- a/data/scenariomodifiers/EnemyReinforcements.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - Additional enemy ground forces have been detected approaching the area. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - true - -2 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 2 - 1.0 - Ground Reinforcements - 3 - 3 - 4 - 0 - None - - - diff --git a/data/scenariomodifiers/EnemyTankGarrison.json b/data/scenariomodifiers/EnemyTankGarrison.json new file mode 100644 index 0000000000..1a3d8cbd0b --- /dev/null +++ b/data/scenariomodifiers/EnemyTankGarrison.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "This facility is defended by an additional lance of enemy armor.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 75, +"allowedUnitType": 1, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Tank Garrison", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 5, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyTankGarrison.xml b/data/scenariomodifiers/EnemyTankGarrison.xml deleted file mode 100644 index 4e237a0faa..0000000000 --- a/data/scenariomodifiers/EnemyTankGarrison.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - This facility is defended by an additional lance of enemy armor. - - AllGroundTerrain - SpecificGroundTerrain - - false - PreForceGeneration - - -1 - false - 1 - 0 - false - false - true - false - false - - 10 - - 5 - -1 - 2 - 1.0 - Tank Garrison - 3 - 5 - 4 - 75 - - OpFor - - 0 - None - false - - diff --git a/data/scenariomodifiers/EnemyTankReinforcements.json b/data/scenariomodifiers/EnemyTankReinforcements.json new file mode 100644 index 0000000000..ae84899a56 --- /dev/null +++ b/data/scenariomodifiers/EnemyTankReinforcements.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Additional hostile ground armor forces are approaching the area.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 1, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Enemy Tank Reinforcements", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyTankReinforcements.xml b/data/scenariomodifiers/EnemyTankReinforcements.xml deleted file mode 100644 index 867d13ac60..0000000000 --- a/data/scenariomodifiers/EnemyTankReinforcements.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - Additional hostile ground armor forces are approaching the area. - - AllGroundTerrain - SpecificGroundTerrain - - true - PostForceGeneration - - -1 - true - 1 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 2 - 1.0 - Enemy Tank Reinforcements - 3 - 3 - 4 - 50 - - None - - - diff --git a/data/scenariomodifiers/EnemyTurrets.json b/data/scenariomodifiers/EnemyTurrets.json new file mode 100644 index 0000000000..3ef1158db4 --- /dev/null +++ b/data/scenariomodifiers/EnemyTurrets.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "This location is defended by additional fixed turrets.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 2, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 7, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Local Fixed Defences", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 3, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["Base Defenses"], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/EnemyTurrets.xml b/data/scenariomodifiers/EnemyTurrets.xml deleted file mode 100644 index 4bb0c2b35b..0000000000 --- a/data/scenariomodifiers/EnemyTurrets.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - This location is defended by additional fixed turrets. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - false - 7 - 0 - false - false - true - false - - 10 - - 5 - 0 - 2 - 1.0 - Local Fixed Defences - 2 - 3 - 4 - 50 - - Base Defenses - - None - - diff --git a/data/scenariomodifiers/FacilityAlliedDefend.json b/data/scenariomodifiers/FacilityAlliedDefend.json new file mode 100644 index 0000000000..14cf64320d --- /dev/null +++ b/data/scenariomodifiers/FacilityAlliedDefend.json @@ -0,0 +1,62 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": "Defend", +"additionalBriefingText": "Preserve 25% of the designated turrets.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [ { +"objectiveCriterion": "Preserve", +"description": "Preserve 25% of the following force(s) and unit(s):", +"destinationEdge": "NONE", +"percentage": 50, +"fixedAmount": null, +"timeLimitType": "None", +"timeLimitAtMost": true, +"timeLimit": 0, +"timeLimitScaleFactor": null, +"associatedForceNames": ["Base Defenses" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "FacilityRemains", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"failureEffects": [ { +"effectType": "FacilityRemoved", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"additionalDetails": [] +} ], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/FacilityAlliedDefend.xml b/data/scenariomodifiers/FacilityAlliedDefend.xml deleted file mode 100644 index 019d8ad56d..0000000000 --- a/data/scenariomodifiers/FacilityAlliedDefend.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - Preserve 25% of the designated turrets. - false - PostForceGeneration - Defend - - - - Base Defenses - - - - - FacilityRemains - Fixed - 1 - - - - - FacilityRemoved - Fixed - 1 - - - - Preserve 25% of the following force(s) and unit(s): - NONE - Preserve - 50 - 0 - true - None - - - diff --git a/data/scenariomodifiers/FacilityAlliedEvac.json b/data/scenariomodifiers/FacilityAlliedEvac.json new file mode 100644 index 0000000000..d762d2c87e --- /dev/null +++ b/data/scenariomodifiers/FacilityAlliedEvac.json @@ -0,0 +1,101 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": "Evacuate", +"additionalBriefingText": "Get at least 25% of the designated units clear of the base.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 2, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 7, +"retreatThreshold": 50, +"allowedUnitType": -1, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Evacuating Units", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 1, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 3, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +"CIVILIAN", "SUPPORT", "SUPPORT", "CARGO", "CARGO", "CARGO", "APC", "APC"] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [ { +"objectiveCriterion": "ReachMapEdge", +"description": "Get 25% the following unit(s) and force(s) to the destination edge. +1 SVP if succeeded, -1 SVP if failed:", +"destinationEdge": "SOUTH", +"percentage": 25, +"fixedAmount": null, +"timeLimitType": "None", +"timeLimitAtMost": false, +"timeLimit": null, +"timeLimitScaleFactor": 2, +"associatedForceNames": ["Evacuating Units" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "ScenarioVictory", +"effectScaling": "Fixed", +"howMuch": 1 +}, { +"effectType": "FacilityRemains", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"failureEffects": [ { +"effectType": "ScenarioDefeat", +"effectScaling": "Fixed", +"howMuch": 1 +}, { +"effectType": "FacilityCaptured", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"additionalDetails": [] +} ], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/FacilityAlliedEvac.xml b/data/scenariomodifiers/FacilityAlliedEvac.xml deleted file mode 100644 index 59929061a6..0000000000 --- a/data/scenariomodifiers/FacilityAlliedEvac.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - Get at least 25% of the designated units clear of the base. - false - PreForceGeneration - - -1 - false - -1 - 0 - true - false - true - false - false - - 10 - - 7 - 0 - 1 - 1.0 - Evacuating Units - 2 - 3 - 4 - 1 - 50 - 0 - None - false - - CIVILIAN - SUPPORT - SUPPORT - CARGO - CARGO - CARGO - APC - APC - - - Evacuate - - - - Evacuating Units - - - - - ScenarioVictory - Fixed - 1 - - - FacilityRemains - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - FacilityCaptured - Fixed - 1 - - - - Get 25% the following unit(s) and force(s) to the destination edge. +1 SVP if succeeded, -1 SVP if failed: - SOUTH - ReachMapEdge - 25 - false - 2 - None - - - diff --git a/data/scenariomodifiers/FacilityHostileCapture.json b/data/scenariomodifiers/FacilityHostileCapture.json new file mode 100644 index 0000000000..de2333f60b --- /dev/null +++ b/data/scenariomodifiers/FacilityHostileCapture.json @@ -0,0 +1,85 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": "Capture", +"additionalBriefingText": "This facility must be captured: 75% of the designated buildings must remain intact.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [ { +"objectiveCriterion": "Preserve", +"description": "Leave intact the following force(s) and unit(s) to be able to take control of this facility:", +"destinationEdge": "NONE", +"percentage": 25, +"fixedAmount": null, +"timeLimitType": "None", +"timeLimitAtMost": true, +"timeLimit": 0, +"timeLimitScaleFactor": null, +"associatedForceNames": ["Base Defenses" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "FacilityCaptured", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"failureEffects": [ { +"effectType": "FacilityRemains", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"additionalDetails": ["Crippled turrets are considered intact for the purposes of this objective."] +}, { +"objectiveCriterion": "ForceWithdraw", +"description": "Destroy, cripple or force the withdrawal of 75% of the following force(s) and\n unit(s) to take control of the facility:\n ", +"destinationEdge": "NONE", +"percentage": 75, +"fixedAmount": null, +"timeLimitType": "None", +"timeLimitAtMost": true, +"timeLimit": 0, +"timeLimitScaleFactor": null, +"associatedForceNames": ["OpFor" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "FacilityCaptured", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"failureEffects": [ { +"effectType": "FacilityRemains", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"additionalDetails": [] +} ], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/FacilityHostileCapture.xml b/data/scenariomodifiers/FacilityHostileCapture.xml deleted file mode 100644 index c5020cfe3c..0000000000 --- a/data/scenariomodifiers/FacilityHostileCapture.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - This facility must be captured: 75% of the designated buildings must remain intact. - false - PostForceGeneration - Capture - - - - Base Defenses - - - - - FacilityCaptured - Fixed - 1 - - - - - FacilityRemains - Fixed - 1 - - - - Crippled turrets are considered intact for the purposes of this objective. - - Leave intact the following force(s) and unit(s) to be able to take control of this facility: - NONE - Preserve - 25 - 0 - true - None - - - - OpFor - - - - - FacilityCaptured - Fixed - 1 - - - - - FacilityRemains - Fixed - 1 - - - - Destroy, cripple or force the withdrawal of 75% of the following force(s) and - unit(s) to take control of the facility: - - NONE - ForceWithdraw - 75 - 0 - true - None - - - diff --git a/data/scenariomodifiers/FacilityHostileCaptureNonWin.json b/data/scenariomodifiers/FacilityHostileCaptureNonWin.json new file mode 100644 index 0000000000..4762ebd182 --- /dev/null +++ b/data/scenariomodifiers/FacilityHostileCaptureNonWin.json @@ -0,0 +1,85 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": "Capture", +"additionalBriefingText": "This facility can be captured if 75% of the designated buildings remain intact with 75% of the hostile forces destroyed, crippled or forced to withdraw.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [ { +"objectiveCriterion": "Preserve", +"description": "Leave intact at least 75% of the following force(s) and unit(s) in order to be able to take control of this facility:", +"destinationEdge": "NONE", +"percentage": 25, +"fixedAmount": null, +"timeLimitType": "None", +"timeLimitAtMost": true, +"timeLimit": 0, +"timeLimitScaleFactor": null, +"associatedForceNames": ["Base Defenses" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "FacilityCaptured", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"failureEffects": [ { +"effectType": "FacilityRemains", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"additionalDetails": ["Crippled turrets are considered intact for the purposes of this objective."] +}, { +"objectiveCriterion": "ForceWithdraw", +"description": "Destroy, cripple or force the withdrawal of 75% of the following force(s) and unit(s) to take control of the facility:", +"destinationEdge": "NONE", +"percentage": 75, +"fixedAmount": null, +"timeLimitType": "None", +"timeLimitAtMost": true, +"timeLimit": 0, +"timeLimitScaleFactor": null, +"associatedForceNames": ["OpFor" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "FacilityCaptured", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"failureEffects": [ { +"effectType": "FacilityRemains", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"additionalDetails": [] +} ], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/FacilityHostileCaptureNonWin.xml b/data/scenariomodifiers/FacilityHostileCaptureNonWin.xml deleted file mode 100644 index 0a63cab7dc..0000000000 --- a/data/scenariomodifiers/FacilityHostileCaptureNonWin.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - This facility can be captured if 75% of the designated buildings remain intact with 75% of the hostile forces destroyed, crippled or forced to withdraw. - false - PostForceGeneration - Capture - - - - Base Defenses - - - - - FacilityCaptured - Fixed - 1 - - - - - FacilityRemains - Fixed - 1 - - - - Crippled turrets are considered intact for the purposes of this objective. - - Leave intact at least 75% of the following force(s) and unit(s) in order to be able to take control of this facility: - NONE - Preserve - 25 - 0 - true - None - - - - OpFor - - - - - FacilityCaptured - Fixed - 1 - - - - - FacilityRemains - Fixed - 1 - - - - Destroy, cripple or force the withdrawal of 75% of the following force(s) and unit(s) to take control of the facility: - NONE - ForceWithdraw - 75 - 0 - true - None - - - diff --git a/data/scenariomodifiers/FacilityHostileDestroy.json b/data/scenariomodifiers/FacilityHostileDestroy.json new file mode 100644 index 0000000000..48da8b60e7 --- /dev/null +++ b/data/scenariomodifiers/FacilityHostileDestroy.json @@ -0,0 +1,60 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": "Destroy", +"additionalBriefingText": "Destroy or cripple all of the designated turrets.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [ { +"objectiveCriterion": "ForceWithdraw", +"description": "Destroy or cripple 75% of the following unit(s) to render the facility inoperative:", +"destinationEdge": "NONE", +"percentage": 75, +"fixedAmount": null, +"timeLimitType": "None", +"timeLimitAtMost": true, +"timeLimit": 0, +"timeLimitScaleFactor": null, +"associatedForceNames": ["Base Defenses" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "FacilityRemoved", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"failureEffects": [], +"additionalDetails": [ ] +} ], +"linkedModifiers": { +"FacilityHostileCapture.json": "Capturing this facility will allow it to be destroyed as well." +} +} diff --git a/data/scenariomodifiers/FacilityHostileDestroy.xml b/data/scenariomodifiers/FacilityHostileDestroy.xml deleted file mode 100644 index 2165fc2a9e..0000000000 --- a/data/scenariomodifiers/FacilityHostileDestroy.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - Destroy or cripple all of the designated turrets. - false - PreForceGeneration - - - FacilityHostileCapture.xml - Capturing this facility will allow it to be destroyed as well. - - - Destroy - - - - Base Defenses - - - - - FacilityRemoved - Fixed - 1 - - - - - Destroy or cripple 75% of the following unit(s) to render the facility inoperative: - NONE - ForceWithdraw - 75 - 0 - true - None - - - diff --git a/data/scenariomodifiers/FacilityHostileDestroyNonWin.json b/data/scenariomodifiers/FacilityHostileDestroyNonWin.json new file mode 100644 index 0000000000..7eec8e7618 --- /dev/null +++ b/data/scenariomodifiers/FacilityHostileDestroyNonWin.json @@ -0,0 +1,58 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": "Destroy", +"additionalBriefingText": "This facility will be destroyed if 75% of turrets are destroyed.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [ { +"objectiveCriterion": "ForceWithdraw", +"description": "Destroy or cripple 75% of the following unit(s) to render the facility inoperative:", +"destinationEdge": "NONE", +"percentage": 75, +"fixedAmount": null, +"timeLimitType": "None", +"timeLimitAtMost": true, +"timeLimit": 0, +"timeLimitScaleFactor": null, +"associatedForceNames": ["Base Defenses" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "FacilityRemoved", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"failureEffects": [], +"additionalDetails": [ ] +} ], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/FacilityHostileDestroyNonWin.xml b/data/scenariomodifiers/FacilityHostileDestroyNonWin.xml deleted file mode 100644 index 0029562ee3..0000000000 --- a/data/scenariomodifiers/FacilityHostileDestroyNonWin.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - This facility will be destroyed if 75% of turrets are destroyed. - false - PreForceGeneration - Destroy - - - - Base Defenses - - - - - FacilityRemoved - Fixed - 1 - - - - Destroy or cripple 75% of the following unit(s) to render the facility inoperative: - NONE - ForceWithdraw - 75 - 0 - true - None - - - diff --git a/data/scenariomodifiers/FacilityHostileEngage.json b/data/scenariomodifiers/FacilityHostileEngage.json new file mode 100644 index 0000000000..19e319d03d --- /dev/null +++ b/data/scenariomodifiers/FacilityHostileEngage.json @@ -0,0 +1,65 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": "Engage", +"additionalBriefingText": "The forces at this facility must be engaged for the specified duration.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [ { +"objectiveCriterion": "Custom", +"description": "Engage any hostile units for the specified number of turns.", +"destinationEdge": "NONE", +"percentage": 1, +"fixedAmount": null, +"timeLimitType": "ScaledToPrimaryUnitCount", +"timeLimitAtMost": false, +"timeLimit": null, +"timeLimitScaleFactor": 1, +"associatedForceNames": ["Base Defenses" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "ScenarioVictory", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"failureEffects": [ { +"effectType": "ScenarioDefeat", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"additionalDetails": [] +} ], +"linkedModifiers": { +"FacilityHostileDestroy.json": "If destroyed, this facility will be considered to have been sufficiently distracted.", +"FacilityHostileCapture.json": "If captured, this facility will be considered to have been sufficiently distracted." +} +} diff --git a/data/scenariomodifiers/FacilityHostileEngage.xml b/data/scenariomodifiers/FacilityHostileEngage.xml deleted file mode 100644 index 4b11904f29..0000000000 --- a/data/scenariomodifiers/FacilityHostileEngage.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - The forces at this facility must be engaged for the specified duration. - false - PreForceGeneration - - - FacilityHostileDestroy.xml - If destroyed, this facility will be considered to have been sufficiently distracted. - - - FacilityHostileCapture.xml - If captured, this facility will be considered to have been sufficiently distracted. - - - Engage - - - - Base Defenses - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Engage any hostile units for the specified number of turns. - NONE - Custom - 1 - false - 1 - ScaledToPrimaryUnitCount - - - diff --git a/data/scenariomodifiers/FacilityHostileExtract.json b/data/scenariomodifiers/FacilityHostileExtract.json new file mode 100644 index 0000000000..718a90e1ef --- /dev/null +++ b/data/scenariomodifiers/FacilityHostileExtract.json @@ -0,0 +1,60 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": "Extract", +"additionalBriefingText": "Extract assets from designated locations at this facility.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [ { +"objectiveCriterion": "Capture", +"description": "Capture intact units from the following force(s) for additional support points:", +"destinationEdge": "NONE", +"percentage": 1, +"fixedAmount": 1, +"timeLimitType": "None", +"timeLimitAtMost": true, +"timeLimit": null, +"timeLimitScaleFactor": null, +"associatedForceNames": ["Base Defenses" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "SupplyCache", +"effectScaling": "Linear", +"howMuch": 1 +} ], +"failureEffects": [], +"additionalDetails": [ ] +} ], +"linkedModifiers": { +"FacilityHostileCapture.json": "If captured, our forces can extract what they need at will." +} +} diff --git a/data/scenariomodifiers/FacilityHostileExtract.xml b/data/scenariomodifiers/FacilityHostileExtract.xml deleted file mode 100644 index 2f65f02245..0000000000 --- a/data/scenariomodifiers/FacilityHostileExtract.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - Extract assets from designated locations at this facility. - false - PostForceGeneration - Extract - - - FacilityHostileCapture.xml - If captured, our forces can extract what they need at will. - - - - - - Base Defenses - - - - - SupplyCache - Linear - 1 - - - - - Capture intact units from the following force(s) for additional support points: - NONE - 1 - Capture - 1 - true - None - - - diff --git a/data/scenariomodifiers/FacilityHostilePreventEvac.json b/data/scenariomodifiers/FacilityHostilePreventEvac.json new file mode 100644 index 0000000000..ba8b9e29b5 --- /dev/null +++ b/data/scenariomodifiers/FacilityHostilePreventEvac.json @@ -0,0 +1,93 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": "Prevent Evac", +"additionalBriefingText": "Prevent at least 75% of the designated units from leaving the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 2, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 7, +"retreatThreshold": 50, +"allowedUnitType": -1, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Evacuating Units", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 1, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 3, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +"CIVILIAN", "SUPPORT", "SUPPORT", "CARGO", "CARGO", "CARGO", "APC", "APC"] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [ { +"objectiveCriterion": "PreventReachMapEdge", +"description": "Prevent 75% the following enemy unit(s) and force(s) from escaping. +1 SVP if succeeded, -1 SVP if failed:", +"destinationEdge": "SOUTH", +"percentage": 75, +"fixedAmount": null, +"timeLimitType": "None", +"timeLimitAtMost": false, +"timeLimit": null, +"timeLimitScaleFactor": 2, +"associatedForceNames": ["Evacuating Units" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "ScenarioVictory", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"failureEffects": [ { +"effectType": "ScenarioDefeat", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"additionalDetails": [] +} ], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/FacilityHostilePreventEvac.xml b/data/scenariomodifiers/FacilityHostilePreventEvac.xml deleted file mode 100644 index 4e94d8c208..0000000000 --- a/data/scenariomodifiers/FacilityHostilePreventEvac.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - Prevent at least 75% of the designated units from leaving the area. - false - PostForceGeneration - Prevent Evac - - -1 - false - -1 - 0 - true - false - true - false - false - - 10 - - 7 - 0 - 2 - 1.0 - Evacuating Units - 2 - 3 - 4 - 1 - 50 - 0 - None - false - - CIVILIAN - SUPPORT - SUPPORT - CARGO - CARGO - CARGO - APC - APC - - - - - - Evacuating Units - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Prevent 75% the following enemy unit(s) and force(s) from escaping. +1 SVP if succeeded, -1 SVP if failed: - SOUTH - PreventReachMapEdge - 75 - false - 2 - None - - - diff --git a/data/scenariomodifiers/FacilityHostileRecon.json b/data/scenariomodifiers/FacilityHostileRecon.json new file mode 100644 index 0000000000..5a0795b183 --- /dev/null +++ b/data/scenariomodifiers/FacilityHostileRecon.json @@ -0,0 +1,64 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": "Recon", +"additionalBriefingText": "Conduct detailed scans of buildings at the designated locations.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [ { +"objectiveCriterion": "Custom", +"description": "Scan the hostile base by engaging the base for the specified duration.", +"destinationEdge": "NONE", +"percentage": 1, +"fixedAmount": null, +"timeLimitType": "ScaledToPrimaryUnitCount", +"timeLimitAtMost": false, +"timeLimit": null, +"timeLimitScaleFactor": 3, +"associatedForceNames": ["Base Defenses" ], +"associatedUnitIDs": [], +"successEffects": [ { +"effectType": "ScenarioVictory", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"failureEffects": [ { +"effectType": "ScenarioDefeat", +"effectScaling": "Fixed", +"howMuch": 1 +} ], +"additionalDetails": [] +} ], +"linkedModifiers": { +"FacilityHostileCapture.json": "If captured, our forces can conduct their scans at will." +} +} diff --git a/data/scenariomodifiers/FacilityHostileRecon.xml b/data/scenariomodifiers/FacilityHostileRecon.xml deleted file mode 100644 index 385765e15f..0000000000 --- a/data/scenariomodifiers/FacilityHostileRecon.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - Conduct detailed scans of buildings at the designated locations. - false - PostForceGeneration - - - FacilityHostileCapture.xml - If captured, our forces can conduct their scans at will. - - - Recon - - - - Base Defenses - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Scan the hostile base by engaging the base for the specified duration. - NONE - Custom - 1 - false - 3 - ScaledToPrimaryUnitCount - - - diff --git a/data/scenariomodifiers/GoodEquipment.json b/data/scenariomodifiers/GoodEquipment.json new file mode 100644 index 0000000000..ed17b83d1f --- /dev/null +++ b/data/scenariomodifiers/GoodEquipment.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "The enemy force appears to be well-equipped.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": 1, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/GoodEquipment.xml b/data/scenariomodifiers/GoodEquipment.xml deleted file mode 100644 index ee0912e76a..0000000000 --- a/data/scenariomodifiers/GoodEquipment.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - The enemy force appears to be well-equipped. - false - PreForceGeneration - Opposing - 1 - diff --git a/data/scenariomodifiers/GoodIntel.json b/data/scenariomodifiers/GoodIntel.json new file mode 100644 index 0000000000..9fa4364059 --- /dev/null +++ b/data/scenariomodifiers/GoodIntel.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Recon over-estimated enemy strength. A group of enemy units are not present.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": -1, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/GoodIntel.xml b/data/scenariomodifiers/GoodIntel.xml deleted file mode 100644 index af09dd0c3f..0000000000 --- a/data/scenariomodifiers/GoodIntel.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - Recon over-estimated enemy strength. A group of enemy units are not present. - true - PostForceGeneration - Opposing - -1 - diff --git a/data/scenariomodifiers/GroundedEnemyDropship.json b/data/scenariomodifiers/GroundedEnemyDropship.json new file mode 100644 index 0000000000..e8656329d3 --- /dev/null +++ b/data/scenariomodifiers/GroundedEnemyDropship.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An enemy DropShip has been grounded in this area, but its weapons are still active so pay attention.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 11, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "DropShip", +"syncedForceName": "OpFor", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 1, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 1, +"generationOrder": 3, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": ["MEK_CARRIER", "MEK_CARRIER", "ASF_CARRIER", "VEE_CARRIER", "INFANTRY_CARRIER", "TROOP_CARRIER", "CIVILIAN" ] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/GroundedEnemyDropship.xml b/data/scenariomodifiers/GroundedEnemyDropship.xml deleted file mode 100644 index 4d48dcf28f..0000000000 --- a/data/scenariomodifiers/GroundedEnemyDropship.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - An enemy DropShip has been grounded in this area, but its weapons are still active so pay attention. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - false - 11 - 0 - false - false - true - false - false - - 5 - 1 - 2 - 1.0 - DropShip - 3 - 3 - 4 - 1 - 50 - 0 - SameEdge - OpFor - false - - MEK_CARRIER - MEK_CARRIER - ASF_CARRIER - VEE_CARRIER - INFANTRY_CARRIER - TROOP_CARRIER - CIVILIAN - - - diff --git a/data/scenariomodifiers/HostileBVBudgetIncrease.json b/data/scenariomodifiers/HostileBVBudgetIncrease.json new file mode 100644 index 0000000000..13b8e15d23 --- /dev/null +++ b/data/scenariomodifiers/HostileBVBudgetIncrease.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Local coordination has allowed the opposition to deploy a larger force to respond to your presence.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/HostileBVBudgetIncrease.xml b/data/scenariomodifiers/HostileBVBudgetIncrease.xml deleted file mode 100644 index 8beee6db0f..0000000000 --- a/data/scenariomodifiers/HostileBVBudgetIncrease.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - Local coordination has allowed the opposition to deploy a larger force to respond to your presence. - false - PreForceGeneration - Opposing - -1 - diff --git a/data/scenariomodifiers/HouseOfficerAir.json b/data/scenariomodifiers/HouseOfficerAir.json new file mode 100644 index 0000000000..0dbe1656a3 --- /dev/null +++ b/data/scenariomodifiers/HouseOfficerAir.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Your employer is dispatching a force to assist with this objective.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 2, +"forceMultiplier": 0.1, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": 9, +"canReinforceLinked" : false, +"contributesToBV": true, +"contributesToUnitCount": true, +"forceName": "Joint Force", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 3, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"Player" +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +"INTERCEPTOR" +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/HouseOfficerAir.xml b/data/scenariomodifiers/HouseOfficerAir.xml deleted file mode 100644 index c32421ccf6..0000000000 --- a/data/scenariomodifiers/HouseOfficerAir.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - Your employer is dispatching a force to assist with this objective. - true - PreForceGeneration - - -1 - false - 9 - 0 - false - true - true - true - false - - 5 - 0 - 1 - 0.1 - Joint Force - 2 - 1 - 4 - 3 - 0 - 5 - - Player - - SameEdge - Player - false - - INTERCEPTOR - - - diff --git a/data/scenariomodifiers/HouseOfficerGround.json b/data/scenariomodifiers/HouseOfficerGround.json new file mode 100644 index 0000000000..78a377a266 --- /dev/null +++ b/data/scenariomodifiers/HouseOfficerGround.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Your employer is dispatching a force to assist with this objective.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 2, +"forceMultiplier": 0.1, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": true, +"contributesToUnitCount": true, +"forceName": "Joint Force", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 3, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"Player" +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/HouseOfficerGround.xml b/data/scenariomodifiers/HouseOfficerGround.xml deleted file mode 100644 index fb58c8c103..0000000000 --- a/data/scenariomodifiers/HouseOfficerGround.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - Your employer is dispatching a force to assist with this objective. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - 0 - 0 - false - true - true - true - false - - 5 - 0 - 1 - 0.1 - Joint Force - 2 - 1 - 4 - 3 - 0 - 0 - - Player - - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/IntegratedAlliesAir.json b/data/scenariomodifiers/IntegratedAlliesAir.json new file mode 100644 index 0000000000..22523de4e3 --- /dev/null +++ b/data/scenariomodifiers/IntegratedAlliesAir.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Your employer has deployed you alongside an integrated force.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 2, +"forceMultiplier": 0.1, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": 9, +"canReinforceLinked" : false, +"contributesToBV": true, +"contributesToUnitCount": true, +"forceName": "Integrated Allies", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 1, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"Player" +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/IntegratedAlliesAir.xml b/data/scenariomodifiers/IntegratedAlliesAir.xml deleted file mode 100644 index eda360a01a..0000000000 --- a/data/scenariomodifiers/IntegratedAlliesAir.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - Your employer has deployed you alongside an integrated force. - true - PreForceGeneration - - -1 - false - 9 - 0 - false - true - true - true - false - - 5 - 0 - 1 - 0.1 - Integrated Allies - 2 - 1 - 4 - 1 - 0 - 5 - - Player - - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/IntegratedAlliesGround.json b/data/scenariomodifiers/IntegratedAlliesGround.json new file mode 100644 index 0000000000..1f3d6bfa12 --- /dev/null +++ b/data/scenariomodifiers/IntegratedAlliesGround.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Your employer has deployed you alongside an integrated force.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 2, +"forceMultiplier": 0.1, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": true, +"contributesToUnitCount": true, +"forceName": "Integrated Allies", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 1, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"Player" +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/IntegratedAlliesGround.xml b/data/scenariomodifiers/IntegratedAlliesGround.xml deleted file mode 100644 index 30b0b0ba29..0000000000 --- a/data/scenariomodifiers/IntegratedAlliesGround.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - Your employer has deployed you alongside an integrated force. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - 0 - 0 - false - true - true - true - false - - 5 - 0 - 1 - 0.1 - Integrated Allies - 2 - 1 - 4 - 1 - 0 - 0 - - Player - - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/LiaisonAir.json b/data/scenariomodifiers/LiaisonAir.json new file mode 100644 index 0000000000..9a1d8444d8 --- /dev/null +++ b/data/scenariomodifiers/LiaisonAir.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Your employer has deployed an observer to monitor your performance.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 0, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": 9, +"canReinforceLinked" : false, +"contributesToBV": true, +"contributesToUnitCount": true, +"forceName": "Forward Observer", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 3, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 1, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"Player" +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +"INTERCEPTOR" +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/LiaisonAir.xml b/data/scenariomodifiers/LiaisonAir.xml deleted file mode 100644 index f04969eda9..0000000000 --- a/data/scenariomodifiers/LiaisonAir.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - Your employer has deployed an observer to monitor your performance. - true - PreForceGeneration - - -1 - false - 9 - 0 - false - true - true - true - false - - 5 - 1 - 0 - 1.0 - Forward Observer - 3 - 1 - 4 - 3 - 0 - 5 - - Player - - SameEdge - Player - false - - INTERCEPTOR - - - diff --git a/data/scenariomodifiers/LiaisonGround.json b/data/scenariomodifiers/LiaisonGround.json new file mode 100644 index 0000000000..37bd7aecf1 --- /dev/null +++ b/data/scenariomodifiers/LiaisonGround.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Your employer has deployed an observer to monitor your performance.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 0, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": 0, +"canReinforceLinked" : false, +"contributesToBV": true, +"contributesToUnitCount": true, +"forceName": "Forward Observer", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 3, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": 1, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +"Player" +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/LiaisonGround.xml b/data/scenariomodifiers/LiaisonGround.xml deleted file mode 100644 index f48f770721..0000000000 --- a/data/scenariomodifiers/LiaisonGround.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - Your employer has deployed an observer to monitor your performance. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - 0 - 0 - false - true - true - true - false - - 5 - 1 - 0 - 1.0 - Forward Observer - 3 - 1 - 4 - 3 - 0 - 0 - - Player - - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/LocalGarrisonBoats.json b/data/scenariomodifiers/LocalGarrisonBoats.json new file mode 100644 index 0000000000..bdb01c44dd --- /dev/null +++ b/data/scenariomodifiers/LocalGarrisonBoats.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Water-naval units have been reported in the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 4, +"generationMethod": 2, +"forceMultiplier": 1.0, +"deploymentZones": [0], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 6, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Local Naval Units", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 2, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/LocalGarrisonBoats.xml b/data/scenariomodifiers/LocalGarrisonBoats.xml deleted file mode 100644 index fc1bed41f4..0000000000 --- a/data/scenariomodifiers/LocalGarrisonBoats.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - Water-naval units have been reported in the area. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - false - 6 - 0 - false - false - true - false - - 0 - - 5 - 0 - 4 - 1.0 - Local Naval Units - 2 - 2 - 4 - 50 - - None - - diff --git a/data/scenariomodifiers/LocalGarrisonInfantry.json b/data/scenariomodifiers/LocalGarrisonInfantry.json new file mode 100644 index 0000000000..9cd50eea8d --- /dev/null +++ b/data/scenariomodifiers/LocalGarrisonInfantry.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Planetary garrison infantry are reported in the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 4, +"generationMethod": 2, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 3, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Local Infantry", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 5, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["OpFor"], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/LocalGarrisonInfantry.xml b/data/scenariomodifiers/LocalGarrisonInfantry.xml deleted file mode 100644 index ec708cd040..0000000000 --- a/data/scenariomodifiers/LocalGarrisonInfantry.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - Planetary garrison infantry are reported in the area. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - false - 3 - 0 - false - false - true - false - - 10 - - 5 - 0 - 4 - 1.0 - Local Infantry - 2 - 5 - 4 - - OpFor - - 50 - None - - diff --git a/data/scenariomodifiers/LocalGarrisonTurrets.json b/data/scenariomodifiers/LocalGarrisonTurrets.json new file mode 100644 index 0000000000..e305aa6416 --- /dev/null +++ b/data/scenariomodifiers/LocalGarrisonTurrets.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Fixed defences have been reported in the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 4, +"generationMethod": 2, +"forceMultiplier": 1.0, +"deploymentZones": [10], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": 7, +"canReinforceLinked": false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Local Fixed Defences", +"syncedForceName": null, +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": 0, +"generationOrder": 2, +"allowAeroBombs": false, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": ["Base Defenses"], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/LocalGarrisonTurrets.xml b/data/scenariomodifiers/LocalGarrisonTurrets.xml deleted file mode 100644 index 5a6839e547..0000000000 --- a/data/scenariomodifiers/LocalGarrisonTurrets.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - Fixed defences have been reported in the area. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - false - 7 - 0 - false - false - true - false - - 10 - - 5 - 0 - 4 - 1.0 - Local Fixed Defences - 2 - 2 - 4 - 50 - - Base Defenses - - None - - diff --git a/data/scenariomodifiers/OverwhelmingEnemyAirReinforcements.json b/data/scenariomodifiers/OverwhelmingEnemyAirReinforcements.json new file mode 100644 index 0000000000..f030ded73b --- /dev/null +++ b/data/scenariomodifiers/OverwhelmingEnemyAirReinforcements.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "An overwhelming enemy aerospace force has been detected approaching the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 1, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -3, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Rapid Response Force", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 5, +"allowAeroBombs": true, +"startingAltitude": 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"Space", "LowAtmosphere"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/OverwhelmingEnemyAirReinforcements.xml b/data/scenariomodifiers/OverwhelmingEnemyAirReinforcements.xml deleted file mode 100644 index 84ad704f62..0000000000 --- a/data/scenariomodifiers/OverwhelmingEnemyAirReinforcements.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - An overwhelming enemy aerospace force has been detected approaching the area. - - Space - LowAtmosphere - - false - PostForceGeneration - - -1 - true - -3 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 2 - 1.0 - Rapid Response Force - 1 - 5 - 4 - 0 - 5 - None - - - diff --git a/data/scenariomodifiers/OverwhelmingEnemyGroundReinforcements.json b/data/scenariomodifiers/OverwhelmingEnemyGroundReinforcements.json new file mode 100644 index 0000000000..b2e53a85e6 --- /dev/null +++ b/data/scenariomodifiers/OverwhelmingEnemyGroundReinforcements.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Overwhelming enemy ground reinforcements have been detected approaching the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 2, +"generationMethod": 1, +"forceMultiplier": 1.0, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Rapid Response Force", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 5, +"allowAeroBombs": true, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/OverwhelmingEnemyGroundReinforcements.xml b/data/scenariomodifiers/OverwhelmingEnemyGroundReinforcements.xml deleted file mode 100644 index 10cd5a135c..0000000000 --- a/data/scenariomodifiers/OverwhelmingEnemyGroundReinforcements.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - Overwhelming enemy ground reinforcements have been detected approaching the area. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - true - -2 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 2 - 1.0 - Rapid Response Force - 1 - 5 - 4 - 0 - None - - - diff --git a/data/scenariomodifiers/PiratesIncomingAir.json b/data/scenariomodifiers/PiratesIncomingAir.json new file mode 100644 index 0000000000..bb6a4c9114 --- /dev/null +++ b/data/scenariomodifiers/PiratesIncomingAir.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Unidentified aerospace units have been detected approaching the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 3, +"generationMethod": 2, +"forceMultiplier": 0.5, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": -3, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Unidentified Hostiles", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude": 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/PiratesIncomingAir.xml b/data/scenariomodifiers/PiratesIncomingAir.xml deleted file mode 100644 index 4ad411f93f..0000000000 --- a/data/scenariomodifiers/PiratesIncomingAir.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - Unidentified aerospace units have been detected approaching the area. - false - PostForceGeneration - - -1 - true - -3 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 3 - 0.5 - Unidentified Hostiles - 2 - 3 - 4 - 50 - 5 - None - - - diff --git a/data/scenariomodifiers/PiratesIncomingGround.json b/data/scenariomodifiers/PiratesIncomingGround.json new file mode 100644 index 0000000000..7addac49c6 --- /dev/null +++ b/data/scenariomodifiers/PiratesIncomingGround.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Unidentified ground forces have been detected approaching the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 3, +"generationMethod": 2, +"forceMultiplier": 0.5, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": -2, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Unidentified Hostiles", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": -3, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/PiratesIncomingGround.xml b/data/scenariomodifiers/PiratesIncomingGround.xml deleted file mode 100644 index e985c52038..0000000000 --- a/data/scenariomodifiers/PiratesIncomingGround.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - Unidentified ground forces have been detected approaching the area. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - true - -2 - -3 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 3 - 0.5 - Unidentified Hostiles - 2 - 3 - 4 - 50 - None - - - diff --git a/data/scenariomodifiers/PiratesPresentAir.json b/data/scenariomodifiers/PiratesPresentAir.json new file mode 100644 index 0000000000..4966caa2a0 --- /dev/null +++ b/data/scenariomodifiers/PiratesPresentAir.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Unidentified aerospace units have been detected in the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 3, +"generationMethod": 2, +"forceMultiplier": 0.5, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": -3, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Unidentified Hostiles", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude": 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/PiratesPresentAir.xml b/data/scenariomodifiers/PiratesPresentAir.xml deleted file mode 100644 index e246f15fc8..0000000000 --- a/data/scenariomodifiers/PiratesPresentAir.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - Unidentified aerospace units have been detected in the area. - false - PostForceGeneration - - -1 - true - -3 - 0 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 3 - 0.5 - Unidentified Hostiles - 2 - 3 - 4 - 50 - 5 - None - - - diff --git a/data/scenariomodifiers/PiratesPresentGround.json b/data/scenariomodifiers/PiratesPresentGround.json new file mode 100644 index 0000000000..b6d53c393a --- /dev/null +++ b/data/scenariomodifiers/PiratesPresentGround.json @@ -0,0 +1,72 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Unidentified ground forces have been detected in the area.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": { +"forceAlignment": 3, +"generationMethod": 2, +"forceMultiplier": 0.5, +"deploymentZones": [1, 2, 3, 4, 5, 6, 7, 8, 9 +], +"destinationZone": 5, +"retreatThreshold": 50, +"allowedUnitType": -2, +"canReinforceLinked": true, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Unidentified Hostiles", +"syncedForceName": "", +"syncDeploymentType": "None", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize": true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 3, +"allowAeroBombs": true, +"startingAltitude": 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [ +] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/PiratesPresentGround.xml b/data/scenariomodifiers/PiratesPresentGround.xml deleted file mode 100644 index cae85344ae..0000000000 --- a/data/scenariomodifiers/PiratesPresentGround.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - Unidentified ground forces have been detected in the area. - - AllGroundTerrain - SpecificGroundTerrain - - false - PostForceGeneration - - -1 - true - -2 - 0 - true - false - true - false - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - 5 - -1 - 3 - 0.5 - Unidentified Hostiles - 2 - 3 - 4 - 50 - None - - - diff --git a/data/scenariomodifiers/PlayerAmbush.json b/data/scenariomodifiers/PlayerAmbush.json new file mode 100644 index 0000000000..7a085e42a4 --- /dev/null +++ b/data/scenariomodifiers/PlayerAmbush.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Your force has the drop on the enemy!", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": "Player", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": true, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/PlayerAmbush.xml b/data/scenariomodifiers/PlayerAmbush.xml deleted file mode 100644 index b684f18bfa..0000000000 --- a/data/scenariomodifiers/PlayerAmbush.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - Your force has the drop on the enemy! - true - PostForceGeneration - Player - true - diff --git a/data/scenariomodifiers/PreBattleDamageAllies.json b/data/scenariomodifiers/PreBattleDamageAllies.json new file mode 100644 index 0000000000..230e722c9e --- /dev/null +++ b/data/scenariomodifiers/PreBattleDamageAllies.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "The allied units have not been fully repaired from their previous engagement.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": "Allied", +"battleDamageIntensity": 2, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/PreBattleDamageAllies.xml b/data/scenariomodifiers/PreBattleDamageAllies.xml deleted file mode 100644 index 25db0cdecd..0000000000 --- a/data/scenariomodifiers/PreBattleDamageAllies.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - The allied units have not been fully repaired from their previous engagement. - false - PostForceGeneration - Allied - 2 - diff --git a/data/scenariomodifiers/PreBattleDamageHostiles.json b/data/scenariomodifiers/PreBattleDamageHostiles.json new file mode 100644 index 0000000000..517f358619 --- /dev/null +++ b/data/scenariomodifiers/PreBattleDamageHostiles.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "The hostile force appears to have suffered some minor battle damage in a previous engagement.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": "Opposing", +"battleDamageIntensity": 2, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/PreBattleDamageHostiles.xml b/data/scenariomodifiers/PreBattleDamageHostiles.xml deleted file mode 100644 index 51c5551be3..0000000000 --- a/data/scenariomodifiers/PreBattleDamageHostiles.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - The hostile force appears to have suffered some minor battle damage in a previous engagement. - true - PostForceGeneration - Opposing - 2 - diff --git a/data/scenariomodifiers/PrimaryAlliesAir.json b/data/scenariomodifiers/PrimaryAlliesAir.json new file mode 100644 index 0000000000..3fc0a8e833 --- /dev/null +++ b/data/scenariomodifiers/PrimaryAlliesAir.json @@ -0,0 +1,70 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Additional allied units will be working alongside us on this operation.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -3, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Additional Force", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 5, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic" : null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives" : [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/PrimaryAlliesAir.xml b/data/scenariomodifiers/PrimaryAlliesAir.xml deleted file mode 100644 index 5eda525fb2..0000000000 --- a/data/scenariomodifiers/PrimaryAlliesAir.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - Additional allied units will be working alongside us on this operation. - true - PreForceGeneration - - -1 - false - -3 - 0 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - Additional Force - 3 - 1 - 4 - 0 - 5 - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/PrimaryAlliesGround.json b/data/scenariomodifiers/PrimaryAlliesGround.json new file mode 100644 index 0000000000..b3213313ae --- /dev/null +++ b/data/scenariomodifiers/PrimaryAlliesGround.json @@ -0,0 +1,71 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Additional allied units will be working alongside us on this operation.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": { +"forceAlignment": 1, +"generationMethod": 3, +"forceMultiplier": 1.0, +"deploymentZones": [], +"destinationZone": 5, +"retreatThreshold": 0, +"allowedUnitType": -2, +"canReinforceLinked" : false, +"contributesToBV": false, +"contributesToUnitCount": false, +"forceName": "Additional Force", +"syncedForceName": "Player", +"syncDeploymentType" : "SameEdge", +"syncRetreatThreshold": false, +"arrivalTurn": 0, +"maxWeightClass": 4, +"minWeightClass": 0, +"contributesToMapSize" : true, +"actualDeploymentZone": -1, +"fixedUnitCount": -1, +"generationOrder": 1, +"allowAeroBombs": false, +"startingAltitude" : 0, +"useArtillery": false, +"deployOffBoard": false, +"objectiveLinkedForces": [ +], +"subjectToRandomRemoval": true, +"fixedMul": null, +"forceRoleStrings": [] +}, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient" : null, +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": [ +"AllGroundTerrain", "SpecificGroundTerrain"], +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction" : null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/PrimaryAlliesGround.xml b/data/scenariomodifiers/PrimaryAlliesGround.xml deleted file mode 100644 index bf5d559631..0000000000 --- a/data/scenariomodifiers/PrimaryAlliesGround.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - Additional allied units will be working alongside us on this operation. - - AllGroundTerrain - SpecificGroundTerrain - - true - PreForceGeneration - - -1 - false - -2 - 0 - false - false - true - false - false - - 5 - -1 - 1 - 1.0 - Additional Force - 3 - 1 - 4 - 0 - 0 - SameEdge - Player - false - - diff --git a/data/scenariomodifiers/ReinforcementDelayReductionAllied.json b/data/scenariomodifiers/ReinforcementDelayReductionAllied.json new file mode 100644 index 0000000000..291afec1eb --- /dev/null +++ b/data/scenariomodifiers/ReinforcementDelayReductionAllied.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Improved coordination allows friendly reinforcements to deploy quicker.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": "Allied", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": 1, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/ReinforcementDelayReductionAllied.xml b/data/scenariomodifiers/ReinforcementDelayReductionAllied.xml deleted file mode 100644 index bf5893b395..0000000000 --- a/data/scenariomodifiers/ReinforcementDelayReductionAllied.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - Improved coordination allows friendly reinforcements to deploy quicker. - true - PreForceGeneration - Allied - 1 - diff --git a/data/scenariomodifiers/ReinforcementDelayReductionHostile.json b/data/scenariomodifiers/ReinforcementDelayReductionHostile.json new file mode 100644 index 0000000000..5a1367a8bb --- /dev/null +++ b/data/scenariomodifiers/ReinforcementDelayReductionHostile.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "Improved coordination allows hostile reinforcements to deploy quicker.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": null, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": 1, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/ReinforcementDelayReductionHostile.xml b/data/scenariomodifiers/ReinforcementDelayReductionHostile.xml deleted file mode 100644 index cbdb84ff53..0000000000 --- a/data/scenariomodifiers/ReinforcementDelayReductionHostile.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - Improved coordination allows hostile reinforcements to deploy quicker. - false - PreForceGeneration - Opposing - 1 - diff --git a/data/scenariomodifiers/Rookies.json b/data/scenariomodifiers/Rookies.json new file mode 100644 index 0000000000..b49a1fdd4a --- /dev/null +++ b/data/scenariomodifiers/Rookies.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "OpFor markings indicate a training cadre.", +"benefitsPlayer": true, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": -1, +"qualityAdjustment": null, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/Rookies.xml b/data/scenariomodifiers/Rookies.xml deleted file mode 100644 index 00de0a2213..0000000000 --- a/data/scenariomodifiers/Rookies.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - OpFor markings indicate a training cadre. - true - PostForceGeneration - Opposing - -1 - diff --git a/data/scenariomodifiers/SuperiorEquipment.json b/data/scenariomodifiers/SuperiorEquipment.json new file mode 100644 index 0000000000..d4e2c4658f --- /dev/null +++ b/data/scenariomodifiers/SuperiorEquipment.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "The enemy force appears to have high quality equipment.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PreForceGeneration", +"forceDefinition": null, +"skillAdjustment": null, +"qualityAdjustment": 2, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/SuperiorEquipment.xml b/data/scenariomodifiers/SuperiorEquipment.xml deleted file mode 100644 index 46a343a175..0000000000 --- a/data/scenariomodifiers/SuperiorEquipment.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - The enemy force appears to have high quality equipment. - false - PreForceGeneration - Opposing - 2 - diff --git a/data/scenariomodifiers/Veterans.json b/data/scenariomodifiers/Veterans.json new file mode 100644 index 0000000000..c4daee2bb3 --- /dev/null +++ b/data/scenariomodifiers/Veterans.json @@ -0,0 +1,39 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"modifierName": null, +"additionalBriefingText": "OpFor markings indicate a veteran force.", +"benefitsPlayer": false, +"blockFurtherEvents": false, +"eventTiming": "PostForceGeneration", +"forceDefinition": null, +"skillAdjustment": 1, +"qualityAdjustment": null, +"eventRecipient": "Opposing", +"battleDamageIntensity": null, +"ammoExpenditureIntensity": null, +"unitRemovalCount": null, +"allowedMapLocations": null, +"useAmbushLogic": null, +"switchSides": null, +"numExtraEvents": null, +"bvBudgetAdditiveMultiplier": null, +"reinforcementDelayReduction": null, +"objectives": [], +"linkedModifiers": {} +} diff --git a/data/scenariomodifiers/Veterans.xml b/data/scenariomodifiers/Veterans.xml deleted file mode 100644 index d9b74e5585..0000000000 --- a/data/scenariomodifiers/Veterans.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - OpFor markings indicate a veteran force. - false - PostForceGeneration - Opposing - 1 - diff --git a/data/scenariomodifiers/airBattleModifiers.json b/data/scenariomodifiers/airBattleModifiers.json new file mode 100644 index 0000000000..d005eff2d6 --- /dev/null +++ b/data/scenariomodifiers/airBattleModifiers.json @@ -0,0 +1,41 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +# This is all possible aerospace scenario modifiers. +# Disabled modifiers (kept for reference): HotDrop.json, EnemyDropShip.json, Duel.json, EnemyAmbush.json, PlayerAmbush.json, AlliedTreachery.json, AlliedASFAce01.json, EnemyASFAce01.json, EnemyASFAce02.json +{ +"fileNameList": [ +"EnemyAirSupport.json", +"EnemyAirSupportBombers.json", +"OverwhelmingEnemyAirReinforcements.json", +"Rookies.json", +"Veterans.json", +"BadEquipment.json", +"GoodEquipment.json", +"GoodIntel.json", +"BadIntelAir.json", +"PiratesIncomingAir.json", +"PiratesPresentAir.json", +"AlliedAirSupport.json", +"AlliedAirSupportBombers.json", +"PreBattleDamageHostiles.json", +"PreBattleDamageAllies.json", +"AlliedTraineesAir.json", +"EnemyAirPatrol.json", +"PrimaryAlliesAir.json" +] +} diff --git a/data/scenariomodifiers/airBattleModifiers.xml b/data/scenariomodifiers/airBattleModifiers.xml deleted file mode 100644 index 3127f41c8e..0000000000 --- a/data/scenariomodifiers/airBattleModifiers.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - EnemyAirSupport.xml - - - EnemyAirSupportBombers.xml - - - OverwhelmingEnemyAirReinforcements.xml - - - Rookies.xml - - - Veterans.xml - - - BadEquipment.xml - - - GoodEquipment.xml - - - - - GoodIntel.xml - - - BadIntelAir.xml - - - PiratesIncomingAir.xml - - - PiratesPresentAir.xml - - - - - - AlliedAirSupport.xml - - - AlliedAirSupportBombers.xml - - - - PreBattleDamageHostiles.xml - - - PreBattleDamageAllies.xml - - - AlliedTraineesAir.xml - - - EnemyAirPatrol.xml - - - - PrimaryAlliesAir.xml - - - diff --git a/data/scenariomodifiers/alliedFacilityModifiers.json b/data/scenariomodifiers/alliedFacilityModifiers.json new file mode 100644 index 0000000000..f9118fea1f --- /dev/null +++ b/data/scenariomodifiers/alliedFacilityModifiers.json @@ -0,0 +1,24 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +# These scenario modifiers may be assigned to allied facilities. +{ +"fileNameList": [ +"FacilityAlliedDefend.json", +"FacilityAlliedEvac.json" +] +} diff --git a/data/scenariomodifiers/alliedFacilityModifiers.xml b/data/scenariomodifiers/alliedFacilityModifiers.xml deleted file mode 100644 index ae95b28860..0000000000 --- a/data/scenariomodifiers/alliedFacilityModifiers.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - FacilityAlliedDefend.xml - - - FacilityAlliedEvac.xml - - - diff --git a/data/scenariomodifiers/groundBattleModifiers.json b/data/scenariomodifiers/groundBattleModifiers.json new file mode 100644 index 0000000000..6f3037923d --- /dev/null +++ b/data/scenariomodifiers/groundBattleModifiers.json @@ -0,0 +1,73 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +# This is *all* possible ground scenario modifiers. +# Disabled modifiers (kept for reference): HotDrop.json, EnemyDropShip.json, GroundedEnemyDropShip.json, Duel.json, EnemyAmbush.json, PlayerAmbush.json, AlliedTreachery.json, OffworldOperation.json, EnemyAceMekARC2R.json, EnemyAceMekAWS8Q.json, EnemyAceMekFS9M.json, EnemyAceMekGHR5N.json, EnemyAceMekHGN733P.json, EnemyAceMekMAD3D.json, EnemyAceMekPXH1D.json, EnemyAirCav.json, EnemyAirMobileInf.json, EnemyMercFireSupport.json, EnemyMercBrawl.json, EnemyMercSkirmish.json, EnemyMercScouts.json, AlliedCavLance.json, AlliedMekAceCRD.json, AlliedMekAceGLT.json, AlliedMekAceGOL.json, AlliedMekAceOTT.json, AlliedMekAceTBT.json, AlliedASFAce01.json, EnemyASFAce01.json, EnemyASFAce02.json +{ +"fileNameList": [ +"EnemyAirSupport.json", +"EnemyAirSupportBombers.json", +"EnemyReinforcements.json", +"OverwhelmingEnemyGroundReinforcements.json", +"EnemyTankReinforcements.json", +"EnemyMekReinforcements.json", +"EnemyArty.json", +"LocalGarrisonInfantry.json", +"LocalGarrisonTurrets.json", +"LocalGarrisonBoats.json", +"EnemyTurrets.json", +"Rookies.json", +"Veterans.json", +"BadEquipment.json", +"GoodEquipment.json", +"HostileBVBudgetIncrease.json", +"EnemyHotDrop.json", +"GoodIntel.json", +"BadIntelGround.json", +"BadIntelAir.json", +"PiratesIncomingAir.json", +"PiratesIncomingGround.json", +"PiratesPresentAir.json", +"PiratesPresentGround.json", +"AlliedAirSupport.json", +"AlliedAirSupportBombers.json", +"AlliedGroundSupport.json", +"AlliedArtySupport.json", +"AlliedReinforcements.json", +"AlliedTankReinforcements.json", +"AlliedTurrets.json", +"AlliedMekReinforcements.json", +"PreBattleDamageHostiles.json", +"PreBattleDamageAllies.json", +"AlliedTraineesGround.json", +"AlliedTraineesAir.json", +"SuperiorEquipment.json", +"Elites.json", +"ArmednArmored.json", +"EnemyOfficerMek.json", +"EnemyCommanderMek.json", +"EnemyAirPatrol.json", +"EnemyMekPatrol.json", +"AlliedOfficerMek.json", +"EnemyMercHopInfantry.json", +"EnemyMercSkyInfantry.json", +"AlliedHorseCav.json", +"EnemyFieldArtyCrack.json", +"EnemyFieldArtyOffboard.json", +"PrimaryAlliesGround.json" +] +} diff --git a/data/scenariomodifiers/groundBattleModifiers.xml b/data/scenariomodifiers/groundBattleModifiers.xml deleted file mode 100644 index ab84d82a07..0000000000 --- a/data/scenariomodifiers/groundBattleModifiers.xml +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - EnemyAirSupport.xml - - - EnemyAirSupportBombers.xml - - - EnemyReinforcements.xml - - - OverwhelmingEnemyGroundReinforcements.xml - - - EnemyTankReinforcements.xml - - - EnemyMekReinforcements.xml - - - EnemyArty.xml - - - LocalGarrisonInfantry.xml - - - LocalGarrisonTurrets.xml - - - LocalGarrisonBoats.xml - - - EnemyTurrets.xml - - - Rookies.xml - - - Veterans.xml - - - BadEquipment.xml - - - GoodEquipment.xml - - - HostileBVBudgetIncrease.xml - - - - EnemyHotDrop.xml - - - - - GoodIntel.xml - - - BadIntelGround.xml - - - BadIntelAir.xml - - - PiratesIncomingAir.xml - - - PiratesIncomingGround.xml - - - PiratesPresentAir.xml - - - PiratesPresentGround.xml - - - - - - AlliedAirSupport.xml - - - AlliedAirSupportBombers.xml - - - AlliedGroundSupport.xml - - - AlliedArtySupport.xml - - - AlliedReinforcements.xml - - - AlliedTankReinforcements.xml - - - AlliedTurrets.xml - - - AlliedMekReinforcements.xml - - - - PreBattleDamageHostiles.xml - - - PreBattleDamageAllies.xml - - - - AlliedTraineesGround.xml - - - AlliedTraineesAir.xml - - - SuperiorEquipment.xml - - - Elites.xml - - - ArmednArmored.xml - - - EnemyOfficerMek.xml - - - EnemyCommanderMek.xml - - - EnemyAirPatrol.xml - - - EnemyMekPatrol.xml - - - - - - - - - - - - - - - - - - - - - - AlliedOfficerMek.xml - - - EnemyMercHopInfantry.xml - - - EnemyMercSkyInfantry.xml - - - AlliedHorseCav.xml - - - - EnemyFieldArtyCrack.xml - - - EnemyFieldArtyOffboard.xml - - - - PrimaryAlliesGround.xml - - - diff --git a/data/scenariomodifiers/hostileFacilityModifiers.json b/data/scenariomodifiers/hostileFacilityModifiers.json new file mode 100644 index 0000000000..48ba5a2d12 --- /dev/null +++ b/data/scenariomodifiers/hostileFacilityModifiers.json @@ -0,0 +1,28 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +# These modifiers may be assigned to a hostile facility. +{ +"fileNameList": [ +"FacilityHostileDestroy.json", +"FacilityHostileCapture.json", +"FacilityHostileEngage.json", +"FacilityHostileExtract.json", +"FacilityHostileRecon.json", +"FacilityHostilePreventEvac.json" +] +} diff --git a/data/scenariomodifiers/hostileFacilityModifiers.xml b/data/scenariomodifiers/hostileFacilityModifiers.xml deleted file mode 100644 index cd041275ae..0000000000 --- a/data/scenariomodifiers/hostileFacilityModifiers.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - FacilityHostileDestroy.xml - - - FacilityHostileCapture.xml - - - FacilityHostileEngage.xml - - - FacilityHostileExtract.xml - - - FacilityHostileRecon.xml - - - FacilityHostilePreventEvac.xml - - - diff --git a/data/scenariomodifiers/modifiermanifest.json b/data/scenariomodifiers/modifiermanifest.json new file mode 100644 index 0000000000..6876a440a6 --- /dev/null +++ b/data/scenariomodifiers/modifiermanifest.json @@ -0,0 +1,121 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +# This is *all* possible scenario modifiers. +{ +"fileNameList": [ +"EnemyAirSupport.json", +"EnemyAirSupportBombers.json", +"OverwhelmingEnemyAirReinforcements.json", +"EnemyReinforcements.json", +"OverwhelmingEnemyGroundReinforcements.json", +"EnemyTankReinforcements.json", +"EnemyMekReinforcements.json", +"EnemyArty.json", +"LocalGarrisonInfantry.json", +"LocalGarrisonTurrets.json", +"LocalGarrisonBoats.json", +"EnemyTurrets.json", +"Rookies.json", +"Veterans.json", +"BadEquipment.json", +"GoodEquipment.json", +"HostileBVBudgetIncrease.json", +"BadEvent.json", +# Need ability to allow player to specifically deploy DropShips: HotDrop.json +"EnemyHotDrop.json", +# Removed by popular demand: EnemyDropShip.json, GroundedEnemyDropShip.json +"GoodIntel.json", +"BadIntelGround.json", +"BadIntelAir.json", +"PiratesIncomingAir.json", +"PiratesIncomingGround.json", +"PiratesPresentAir.json", +"PiratesPresentGround.json", +"ReinforcementDelayReductionHostile.json", +"ReinforcementDelayReductionAllied.json", +# Need "special duel flag": Duel.json +# Need objective system: TrainingExercise.json +# Disabled until Princess can better manage Hidden units: EnemyAmbush.json, PlayerAmbush.json +"AlliedAirSupport.json", +"AlliedAirSupportBombers.json", +"AlliedGroundSupport.json", +"AlliedArtySupport.json", +"AlliedReinforcements.json", +"AlliedTankReinforcements.json", +"AlliedTurrets.json", +"AlliedMekReinforcements.json", +# Need campaign state and a way to change RAT for OpFor: AlliedTreachery.json +"PreBattleDamageHostiles.json", +"PreBattleDamageAllies.json", +# Need planetary condition adjustments: OffworldOperation.json +"SuperiorEquipment.json", +"Elites.json", +"ArmednArmored.json", +"EnemyOfficerMek.json", +"EnemyCommanderMek.json", +"EnemyAirPatrol.json", +"EnemyMekPatrol.json", +# Disabled as they are not era agnostic: EnemyAceMekARC2R.json, EnemyAceMekAWS8Q.json, +# EnemyAceMekFS9M.json, EnemyAceMekGHR5N.json, EnemyAceMekHGN733P.json, EnemyAceMekMAD3D.json, +# EnemyAceMekPXH1D.json, EnemyAirCav.json, EnemyAirMobileInf.json +# Disabled as they are not era agnostic: EnemyMercFireSupport.json, EnemyMercBrawl.json, +# EnemyMercSkirmish.json, EnemyMercScouts.json, AlliedCavLance.json, AlliedMekAceCRD.json, +# AlliedMekAceGLT.json, AlliedMekAceGOL.json, AlliedMekAceOTT.json, AlliedMekAceTBT.json +"AlliedOfficerMek.json", +"EnemyMercHopInfantry.json", +"EnemyMercSkyInfantry.json", +"AlliedHorseCav.json", +"EnemyFieldArtyCrack.json", +"EnemyFieldArtyOffboard.json", +# Disabled as they are not era agnostic: AlliedASFAce01.json, EnemyASFAce01.json, EnemyASFAce02.json + +# Fixed scenario modifiers suitable for specific scenario types go here. +"AlliedMekGarrison.json", +"AlliedTankGarrison.json", +"AlliedAirGarrison.json", +"AlliedArtyGarrison.json", +"EnemyMekGarrison.json", +"EnemyTankGarrison.json", +"EnemyAirGarrison.json", +"EnemyArtyGarrison.json", + +# Facility objective modifiers. +"FacilityHostileDestroy.json", +"FacilityHostileCapture.json", +"FacilityHostileDestroyNonWin.json", +"FacilityHostileCaptureNonWin.json", +"FacilityHostileEngage.json", +"FacilityHostileExtract.json", +"FacilityHostileRecon.json", +"FacilityHostilePreventEvac.json", +"FacilityAlliedDefend.json", +"FacilityAlliedEvac.json", +# Scenario modifiers that come from campaign state go here. +"IntegratedAlliesGround.json", +"HouseOfficerGround.json", +"LiaisonGround.json", +"PrimaryAlliesGround.json", +"AlliedTraineesGround.json", +# And the air versions. +"IntegratedAlliesAir.json", +"HouseOfficerAir.json", +"LiaisonAir.json", +"PrimaryAlliesAir.json", +"AlliedTraineesAir.json" +] +} diff --git a/data/scenariomodifiers/modifiermanifest.xml b/data/scenariomodifiers/modifiermanifest.xml deleted file mode 100644 index b3ba72cfc2..0000000000 --- a/data/scenariomodifiers/modifiermanifest.xml +++ /dev/null @@ -1,375 +0,0 @@ - - - - - EnemyAirSupport.xml - - - EnemyAirSupportBombers.xml - - - OverwhelmingEnemyAirReinforcements.xml - - - EnemyReinforcements.xml - - - OverwhelmingEnemyGroundReinforcements.xml - - - EnemyTankReinforcements.xml - - - EnemyMekReinforcements.xml - - - EnemyArty.xml - - - LocalGarrisonInfantry.xml - - - LocalGarrisonTurrets.xml - - - LocalGarrisonBoats.xml - - - EnemyTurrets.xml - - - Rookies.xml - - - Veterans.xml - - - BadEquipment.xml - - - GoodEquipment.xml - - - HostileBVBudgetIncrease.xml - - - BadEvent.xml - - - - EnemyHotDrop.xml - - - - - GoodIntel.xml - - - BadIntelGround.xml - - - BadIntelAir.xml - - - PiratesIncomingAir.xml - - - PiratesIncomingGround.xml - - - PiratesPresentAir.xml - - - PiratesPresentGround.xml - - - ReinforcementDelayReductionHostile.xml - - - ReinforcementDelayReductionAllied.xml - - - - - - - AlliedAirSupport.xml - - - AlliedAirSupportBombers.xml - - - AlliedGroundSupport.xml - - - AlliedArtySupport.xml - - - AlliedReinforcements.xml - - - AlliedTankReinforcements.xml - - - AlliedTurrets.xml - - - AlliedMekReinforcements.xml - - - - PreBattleDamageHostiles.xml - - - PreBattleDamageAllies.xml - - - - SuperiorEquipment.xml - - - Elites.xml - - - ArmednArmored.xml - - - EnemyOfficerMek.xml - - - EnemyCommanderMek.xml - - - EnemyAirPatrol.xml - - - EnemyMekPatrol.xml - - - - - - - - - - - - - - - - - - - - - - AlliedOfficerMek.xml - - - EnemyMercHopInfantry.xml - - - EnemyMercSkyInfantry.xml - - - AlliedHorseCav.xml - - - EnemyFieldArtyCrack.xml - - - EnemyFieldArtyOffboard.xml - - - - - - - - - AlliedMekGarrison.xml - - - AlliedTankGarrison.xml - - - AlliedAirGarrison.xml - - - AlliedArtyGarrison.xml - - - EnemyMekGarrison.xml - - - EnemyTankGarrison.xml - - - EnemyAirGarrison.xml - - - EnemyArtyGarrison.xml - - - - - FacilityHostileDestroy.xml - - - FacilityHostileCapture.xml - - - FacilityHostileDestroyNonWin.xml - - - FacilityHostileCaptureNonWin.xml - - - FacilityHostileEngage.xml - - - FacilityHostileExtract.xml - - - FacilityHostileRecon.xml - - - FacilityHostilePreventEvac.xml - - - - FacilityAlliedDefend.xml - - - FacilityAlliedEvac.xml - - - - - IntegratedAlliesGround.xml - - - HouseOfficerGround.xml - - - LiaisonGround.xml - - - PrimaryAlliesGround.xml - - - AlliedTraineesGround.xml - - - - - IntegratedAlliesAir.xml - - - HouseOfficerAir.xml - - - LiaisonAir.xml - - - PrimaryAlliesAir.xml - - - AlliedTraineesAir.xml - - - diff --git a/data/scenariomodifiers/primaryPlayerForceModifiers.json b/data/scenariomodifiers/primaryPlayerForceModifiers.json new file mode 100644 index 0000000000..334383910f --- /dev/null +++ b/data/scenariomodifiers/primaryPlayerForceModifiers.json @@ -0,0 +1,32 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +# Scenario modifiers related to command rights, etc. +{ +"fileNameList": [ +"IntegratedAlliesGround.json", +"HouseOfficerGround.json", +"LiaisonGround.json", +"PrimaryAlliesGround.json", +"AlliedTraineesGround.json", +"IntegratedAlliesAir.json", +"HouseOfficerAir.json", +"LiaisonAir.json", +"PrimaryAlliesAir.json", +"AlliedTraineesAir.json" +] +} diff --git a/data/scenariomodifiers/primaryPlayerForceModifiers.xml b/data/scenariomodifiers/primaryPlayerForceModifiers.xml deleted file mode 100644 index 181e162067..0000000000 --- a/data/scenariomodifiers/primaryPlayerForceModifiers.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - IntegratedAlliesGround.xml - - - HouseOfficerGround.xml - - - LiaisonGround.xml - - - PrimaryAlliesGround.xml - - - AlliedTraineesGround.xml - - - - - IntegratedAlliesAir.xml - - - HouseOfficerAir.xml - - - LiaisonAir.xml - - - PrimaryAlliesAir.xml - - - AlliedTraineesAir.xml - - - diff --git a/data/scenariomodifiers/requiredHostileFacilityModifiers.json b/data/scenariomodifiers/requiredHostileFacilityModifiers.json new file mode 100644 index 0000000000..82f3b4402b --- /dev/null +++ b/data/scenariomodifiers/requiredHostileFacilityModifiers.json @@ -0,0 +1,24 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +# Modifiers always assigned to hostile facilities. +{ +"fileNameList": [ +"FacilityHostileDestroyNonWin.json", +"FacilityHostileCaptureNonWin.json" +] +} diff --git a/data/scenariomodifiers/requiredHostileFacilityModifiers.xml b/data/scenariomodifiers/requiredHostileFacilityModifiers.xml deleted file mode 100644 index 32bcf6fd25..0000000000 --- a/data/scenariomodifiers/requiredHostileFacilityModifiers.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - FacilityHostileDestroyNonWin.xml - - - FacilityHostileCaptureNonWin.xml - - - diff --git a/data/scenariomodifiers/usermodifiermanifest.json b/data/scenariomodifiers/usermodifiermanifest.json new file mode 100644 index 0000000000..6235047706 --- /dev/null +++ b/data/scenariomodifiers/usermodifiermanifest.json @@ -0,0 +1,22 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +# User-supplied scenario modifiers go here; they are loaded in addition to the shipped manifest. +{ +"fileNameList": [ +] +} diff --git a/data/scenariomodifiers/usermodifiermanifest.xml b/data/scenariomodifiers/usermodifiermanifest.xml deleted file mode 100644 index 4715410a61..0000000000 --- a/data/scenariomodifiers/usermodifiermanifest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/scenariotemplates/Ambush the Column.json b/data/scenariotemplates/Ambush the Column.json new file mode 100644 index 0000000000..7f047568b4 --- /dev/null +++ b/data/scenariotemplates/Ambush the Column.json @@ -0,0 +1,153 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Ambush the Column", + "stratConScenarioType": "NONE", + "shortBriefing": "Hit a strung-out enemy column and defeat it piecemeal before it can concentrate.", + "detailedBriefing": "An enemy column is moving through the area strung out on the march, its units arriving piecemeal rather than as a formed battle line. We are in position first. This is the moment to defeat them in detail, before they can pull together into a single fist.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "ColdHills", + "Hills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.25, + "deploymentZones": [ + 2, + 4, + 6, + 8 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": -1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [ + "OpFor" + ], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": -1 + } + ], + "additionalDetails": [ + "" + ] + } + ] +} diff --git a/data/scenariotemplates/Ambush the Column.xml b/data/scenariotemplates/Ambush the Column.xml deleted file mode 100644 index 4cacd35892..0000000000 --- a/data/scenariotemplates/Ambush the Column.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - Ambush the Column - Hit a strung-out enemy column and defeat it piecemeal before it can concentrate. - - VICTOR - false - false - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 10 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - -1 - true - false - true - false - false - - 5 - 0 - 2 - 1.25 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - OppositeEdge - Player - false - - SUPPORT - CARGO - SR_FIRE_SUPPORT - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Destroy or rout 50% of the following column. +2 SVP if succeeded, -2 SVP if failed. - NONE - ForceWithdraw - 50 - true - None - - - diff --git a/data/scenariotemplates/Annihilation.json b/data/scenariotemplates/Annihilation.json new file mode 100644 index 0000000000..bf7c3fb32a --- /dev/null +++ b/data/scenariotemplates/Annihilation.json @@ -0,0 +1,152 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Annihilation", + "stratConScenarioType": "NONE", + "shortBriefing": "Obliterate the enemy force.", + "detailedBriefing": "Your orders are clear. This is not a surgical strike, nor a precision raid—this is extermination. The enemy force in this sector must be wiped out, with 50% confirmed casualties before we consider this battlefield secured. Their continued presence is unacceptable, and we cannot afford to let even a remnant regroup for future operations.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Savannah", + "SnowField", + "Steppe", + "Tundra" + ] + }, + "scenarioModifiers": [ +"Elites.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2, + 4, + 6, + 8 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [ + "Player" + ], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 3, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Annihilation.xml b/data/scenariotemplates/Annihilation.xml deleted file mode 100644 index 862d857760..0000000000 --- a/data/scenariotemplates/Annihilation.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - Annihilation - Obliterate the enemy force. - - VICTOR - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - Elites.xml - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 3 - 50 - 0 - OppositeArc - Player - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 75% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 75 - true - None - - - diff --git a/data/scenariotemplates/Assassination.json b/data/scenariotemplates/Assassination.json new file mode 100644 index 0000000000..8c17bb9ee9 --- /dev/null +++ b/data/scenariotemplates/Assassination.json @@ -0,0 +1,181 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Assassination", + "stratConScenarioType": "NONE", + "shortBriefing": "Eliminate VIP, minimize own losses.", + "detailedBriefing": "This is a precision strike inside an active warzone. The enemy dominates the field, but we’re not here for a prolonged engagement—we’re here for a kill mission. Your primary objective is to assassinate a high-value target before they can escape. This individual is critical to the enemy’s war effort, and their elimination will shift the balance in our favor.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "ColdUrban", + "HotUrban", + "Urban" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 1, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + }, + "VIP": { + "forceAlignment": 2, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 0, + "retreatThreshold": 0, + "allowedUnitType": 0, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "VIP", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": false, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [ + "COMMAND" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "VIP" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Assassination.xml b/data/scenariotemplates/Assassination.xml deleted file mode 100644 index a0cb6aa770..0000000000 --- a/data/scenariotemplates/Assassination.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - Assassination - Eliminate VIP, minimize own losses. - - ENEMY - - - Urban - ColdUrban - HotUrban - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - 50 - 0 - OppositeEdge - Player - false - - RAIDER - CAVALRY - - - - - VIP - - -1 - false - -2 - 0 - true - false - false - false - false - - 5 - 1 - 2 - 1.0 - VIP - 3 - 5 - 4 - 3 - 50 - 0 - false - OppositeEdge - Player - false - - - - - - - VIP - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 100 - true - None - - - diff --git a/data/scenariotemplates/Base Defense.json b/data/scenariotemplates/Base Defense.json new file mode 100644 index 0000000000..7603c7b8fe --- /dev/null +++ b/data/scenariotemplates/Base Defense.json @@ -0,0 +1,211 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Base Defense", + "stratConScenarioType": "NONE", + "shortBriefing": "Defend allied facility, minimize damage.", + "detailedBriefing": "Your orders are clear: defend the base against the incoming enemy assault. At least 25% of the base infrastructure must remain intact by the end of the engagement.\n\nAt the same time, this is not just about survival. You are to destroy at least 50% of enemy forces before the battle concludes.", + "isHostileFacility": false, + "isAlliedFacility": true, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 1, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "ColdFacility", + "FrozenFacility", + "HotFacility", + "TemperateFacility" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Base Defenses": { + "forceAlignment": 1, + "generationMethod": 1, + "forceMultiplier": 0.2, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 7, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Base Defenses", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 4, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.2, + "deploymentZones": [ + 9 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "URBAN" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 25, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Base Defenses" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Base Defense.xml b/data/scenariotemplates/Base Defense.xml deleted file mode 100644 index ce0d018f42..0000000000 --- a/data/scenariotemplates/Base Defense.xml +++ /dev/null @@ -1,204 +0,0 @@ - - - - Base Defense - Defend allied facility, minimize damage. - - VICTOR - false - true - - - TemperateFacility - ColdFacility - HotFacility - FrozenFacility - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Base Defenses - - -1 - false - 7 - 0 - false - true - true - true - false - - 10 - - 5 - 0 - 1 - 0.1 - Base Defenses - 1 - 4 - 4 - 0 - - 50 - 0 - None - false - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 10 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 1 - true - false - true - false - false - - 9 - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - - 50 - 0 - None - false - - FIRE_SUPPORT - SR_FIRE_SUPPORT - ARTILLERY - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the attacking forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - - Base Defenses - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Preserve 25% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - Preserve - 25 - true - None - - - diff --git a/data/scenariotemplates/Bomber Escort.json b/data/scenariotemplates/Bomber Escort.json new file mode 100644 index 0000000000..1b8750586c --- /dev/null +++ b/data/scenariotemplates/Bomber Escort.json @@ -0,0 +1,174 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Bomber Escort", + "stratConScenarioType": "NONE", + "shortBriefing": "Escort allied bombers through interceptors to their target.", + "detailedBriefing": "Allied bombers are inbound to hit a priority target, and enemy interceptors are scrambling to knock them down before they can release. The bombers are loaded, sluggish, and cannot defend themselves—that is your job.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "LowAtmosphere", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 9, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": "Bombers", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 33, + "allowedUnitType": -3, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Bombers", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "INTERCEPTOR" + ] + }, + "Bombers": { + "forceAlignment": 1, + "generationMethod": 1, + "forceMultiplier": 0.5, + "deploymentZones": [ + 11 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": 9, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Bombers", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 2, + "allowAeroBombs": true, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "BOMBER" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Bombers" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Bomber Escort.xml b/data/scenariotemplates/Bomber Escort.xml deleted file mode 100644 index 4a94e3510e..0000000000 --- a/data/scenariotemplates/Bomber Escort.xml +++ /dev/null @@ -1,195 +0,0 @@ - - - - Bomber Escort - Escort allied bombers through interceptors to their target. - - VICTOR - false - false - - - false - 50 - 50 - 5 - LowAtmosphere - true - 1 - 2 - 5 - - - - Player - - -1 - false - 9 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 5 - None - false - - - - Bombers - - -1 - true - 9 - 0 - false - false - true - false - false - - 6 - - 2 - 0 - 1 - 0.5 - Bombers - 1 - 2 - 4 - 0 - - 0 - 5 - None - false - - BOMBER - - - - - OpFor - - -1 - false - 9 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - Bombers - - 50 - 5 - OppositeEdge - Player - false - - INTERCEPTOR - - - - - - - - Bombers - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Preserve 50% of the following forces. +2 SVP if succeeded, -2 SVP if failed. - NONE - Preserve - 50 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - Destroy or rout 33% of the interceptors. +1 SVP if succeeded. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Breakout.json b/data/scenariotemplates/Breakout.json new file mode 100644 index 0000000000..97f3b6568d --- /dev/null +++ b/data/scenariotemplates/Breakout.json @@ -0,0 +1,215 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Breakout", + "stratConScenarioType": "NONE", + "shortBriefing": "Surrounded—punch through the ring and get the force out.", + "detailedBriefing": "We are encircled. The enemy has closed a ring around your position and is tightening it. Staying put means annihilation; the only answer is to pick a direction, mass everything against it, and break out.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "ColdMountain", + "HotMountainsDry", + "HotMountainsWet", + "Mountain" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpForNorth": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.75, + "deploymentZones": [ + 2 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpForNorth", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + }, + "OpForSouth": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.75, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpForSouth", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": false, + "timeLimit": null, + "timeLimitScaleFactor": 2, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "SOUTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Breakout.xml b/data/scenariotemplates/Breakout.xml deleted file mode 100644 index 48fcca95cc..0000000000 --- a/data/scenariotemplates/Breakout.xml +++ /dev/null @@ -1,185 +0,0 @@ - - - - Breakout - Surrounded—punch through the ring and get the force out. - - ENEMY - false - false - true - true - - - Mountain - ColdMountain - HotMountainsDry - HotMountainsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 10 - - 2 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpForNorth - - -1 - false - -2 - 0 - true - false - true - false - false - - 2 - - 5 - 0 - 2 - 0.75 - OpFor North - 1 - 5 - 4 - 0 - - 50 - 0 - None - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - OpForSouth - - -1 - false - -2 - 0 - true - false - true - false - false - - 6 - - 5 - 0 - 2 - 0.75 - OpFor South - 1 - 5 - 4 - 0 - - 50 - 0 - None - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - - - - Player - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Get 50% of the following forces to the North edge. +2 SVP if succeeded, -2 SVP if failed. - NORTH - ReachMapEdge - 50 - false - 2 - None - - - diff --git a/data/scenariotemplates/Breakthrough.json b/data/scenariotemplates/Breakthrough.json new file mode 100644 index 0000000000..478b80fc6e --- /dev/null +++ b/data/scenariotemplates/Breakthrough.json @@ -0,0 +1,147 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Breakthrough", + "stratConScenarioType": "NONE", + "shortBriefing": "Break through or destroy enemy.", + "detailedBriefing": "Your objective is to break through enemy lines and reach the far side of the engagement zone. At least 50% of your forces must reach the destination, and only fully operational units will count.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 17, + "baseHeight": 50, + "widthScalingIncrement": 1, + "heightScalingIncrement": 0, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Savannah", + "SnowField", + "Steppe", + "Tundra" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 11 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 3, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + } + ] +} diff --git a/data/scenariotemplates/Breakthrough.xml b/data/scenariotemplates/Breakthrough.xml deleted file mode 100644 index 7da57bcff4..0000000000 --- a/data/scenariotemplates/Breakthrough.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - - Breakthrough - Break through or destroy enemy. - - ENEMY - true - true - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 50 - 17 - 0 - SpecificGroundTerrain - true - 1 - 0 - 1 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - false - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - - 50 - 0 - None - false - - - - - - - Player - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Crippled units do not count towards this objective. - - Reach the destination edge with 50% of the following forces. +2 SVP if succeeded, -1 SVP if failed. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% the following forces. +2 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 33 - 0 - true - None - - - diff --git a/data/scenariotemplates/Close Air Support.json b/data/scenariotemplates/Close Air Support.json new file mode 100644 index 0000000000..fa7ebafac7 --- /dev/null +++ b/data/scenariotemplates/Close Air Support.json @@ -0,0 +1,213 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Close Air Support", + "stratConScenarioType": "NONE", + "shortBriefing": "Provide air support, minimize losses.", + "detailedBriefing": "Your mission is to provide air support to allied ground forces currently under heavy attack. The enemy is pressing hard, and without intervention, our forces will be overwhelmed. You are to engage hostile units with precision strikes, break enemy formations, and relieve pressure on friendly positions. Coordination with ground command will be critical to ensuring maximum impact.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 40, + "baseHeight": 40, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Savannah", + "SnowField", + "Steppe", + "Tundra" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2, + 4, + 6, + 8 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.25, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 5, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Allies": { + "forceAlignment": 1, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Allies", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 4, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Allies" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Close Air Support.xml b/data/scenariotemplates/Close Air Support.xml deleted file mode 100644 index 9c648d71da..0000000000 --- a/data/scenariotemplates/Close Air Support.xml +++ /dev/null @@ -1,197 +0,0 @@ - - - - Close Air Support - Provide air support, minimize losses. - - VICTOR - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 40 - 40 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -3 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 5 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 5 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - 50 - 0 - OppositeEdge - Player - false - - ANTI_AIRCRAFT - - - - - Allies - - -1 - false - -2 - 0 - false - true - true - true - false - - 10 - - 5 - -1 - 1 - 1.0 - Allies - 3 - 4 - 4 - 1 - 50 - 0 - None - false - - - - - - - Allies - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Preserve 50% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - Preserve - 50 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Combat Drop.json b/data/scenariotemplates/Combat Drop.json new file mode 100644 index 0000000000..f87d7a77c6 --- /dev/null +++ b/data/scenariotemplates/Combat Drop.json @@ -0,0 +1,182 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Combat Drop", + "stratConScenarioType": "NONE", + "shortBriefing": "Make a combat drop into a defended zone and break the OpFor.", + "detailedBriefing": "There is no time for a conventional landing. You are going in the hard way—a combat drop straight onto the objective, dropping through fire into the middle of a defended zone.\n\nYou will come down scattered and exposed, with the OpFor already in position around you. Land, form up fast, and break them before they can concentrate on your descending units.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Savannah", + "SnowField", + "Steppe", + "Tundra" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "DropShip": { + "forceAlignment": 1, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 4, + "retreatThreshold": 0, + "allowedUnitType": 11, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "DropShip", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": false, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 4, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [ + "MEK_CARRIER" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Combat Drop.xml b/data/scenariotemplates/Combat Drop.xml deleted file mode 100644 index cf26bb298a..0000000000 --- a/data/scenariotemplates/Combat Drop.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - Combat Drop - Make a combat drop into a defended zone and break the OpFor. - - VICTOR - false - false - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 10 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - DropShip - - -1 - false - 11 - 0 - false - false - true - false - false - - 10 - - 4 - 1 - 1 - 1.0 - DropShip - 4 - 4 - 4 - 1 - - 0 - 5 - SameEdge - Player - false - - MEK_CARRIER - - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - None - false - - FIRE_SUPPORT - ANTI_AIRCRAFT - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Destroy or rout 33% of the following forces to secure the drop zone. +2 SVP if succeeded, -2 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Convoy Ambush.json b/data/scenariotemplates/Convoy Ambush.json new file mode 100644 index 0000000000..5fee7ca7c2 --- /dev/null +++ b/data/scenariotemplates/Convoy Ambush.json @@ -0,0 +1,186 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Convoy Ambush", + "stratConScenarioType": "CONVOY", + "shortBriefing": "Intercept and disrupt enemy convoy.", + "detailedBriefing": "An enemy supply convoy is on the move, and this is our chance to cripple their logistics. Your mission is to intercept and raid the convoy before it can escape the engagement zone. These supplies are vital to the enemy’s war effort, and every truck or transport we eliminate weakens their ability to fight. Speed and aggression will be key—hit them hard, hit them fast, and get out before their reinforcements arrive.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "Convoy" + ] + }, + "scenarioModifiers": [ +"OverwhelmingEnemyGroundReinforcements.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Convoy", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 2, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "CAVALRY" + ] + }, + "Convoy": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.25, + "deploymentZones": [ + 11 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Convoy", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [ + "SUPPORT", + "SUPPORT", + "CARGO", + "CARGO", + "CARGO", + "APC", + "APC" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "PreventReachMapEdge", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Convoy" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Convoy Escort.json b/data/scenariotemplates/Convoy Escort.json new file mode 100644 index 0000000000..c85cdb0dec --- /dev/null +++ b/data/scenariotemplates/Convoy Escort.json @@ -0,0 +1,216 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Convoy Escort", + "stratConScenarioType": "CONVOY", + "shortBriefing": "Escort supply convoy or defeat attackers.", + "detailedBriefing": "An allied convoy carrying critical supplies is moving through hostile territory, and enemy forces are preparing to intercept. Your mission is to ensure that the convoy survives. These supplies are vital to sustaining our operations, and failure is not an option.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "Convoy" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": "Convoy", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Convoy", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + }, + "Convoy": { + "forceAlignment": 1, + "generationMethod": 1, + "forceMultiplier": 0.25, + "deploymentZones": [ + 2, + 4, + 6, + 8 + ], + "destinationZone": 5, + "retreatThreshold": 0, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Convoy", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 4, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SUPPORT", + "SUPPORT", + "CARGO", + "CARGO", + "CARGO", + "APC", + "APC" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Convoy" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Convoy Escort.xml b/data/scenariotemplates/Convoy Escort.xml deleted file mode 100644 index d8ed8e0429..0000000000 --- a/data/scenariotemplates/Convoy Escort.xml +++ /dev/null @@ -1,231 +0,0 @@ - - - - Convoy Escort - CONVOY - Escort supply convoy or defeat attackers. - - PLAYER - false - false - - - Convoy - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - SameEdge - Convoy - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - - 50 - 0 - None - false - - RAIDER - CAVALRY - - - - - Convoy - - -1 - false - -2 - 0 - false - false - true - false - false - - 6 - - 6 - 0 - 1 - 0.5 - Convoy - 1 - 4 - 4 - 1 - - 0 - 0 - None - false - - SUPPORT - SUPPORT - CARGO - CARGO - CARGO - APC - APC - - - - - - - - Convoy - - - - - ScenarioVictory - Fixed - 3 - - - - 50% of the following forces must reach the far edge of the maps. +3 SVP if succeeded. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - 0 - true - None - - - - Convoy - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Preserve 50% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - Preserve - 50 - true - None - - - diff --git a/data/scenariotemplates/Convoy Hijack.json b/data/scenariotemplates/Convoy Hijack.json new file mode 100644 index 0000000000..1b834a6321 --- /dev/null +++ b/data/scenariotemplates/Convoy Hijack.json @@ -0,0 +1,205 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Convoy Hijack", + "stratConScenarioType": "NONE", + "shortBriefing": "Capture the enemy convoy intact before it can escape.", + "detailedBriefing": "An enemy supply convoy is running through our area of operations, and command wants it intact—not scattered wreckage. Those vehicles and their cargo are worth far more captured than destroyed. Immobilize the transports and hold them; do not simply blow them apart. The convoy will run for the far edge the moment it sees you, and its escort will fight to keep it moving.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "Convoy" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": "Convoy", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Convoy", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "CAVALRY" + ] + }, + "Convoy": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.25, + "deploymentZones": [ + 11 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": 1, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Convoy", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 3, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "CARGO" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Convoy" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "SupplyCache", + "effectScaling": "Linear", + "howMuch": 1 + }, + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Convoy Hijack.xml b/data/scenariotemplates/Convoy Hijack.xml deleted file mode 100644 index b3e1b80ed0..0000000000 --- a/data/scenariotemplates/Convoy Hijack.xml +++ /dev/null @@ -1,204 +0,0 @@ - - - - Convoy Hijack - Capture the enemy convoy intact before it can escape. - - VICTOR - false - false - - - Convoy - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 1 - 5 - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - OppositeEdge - Convoy - false - - - - Convoy - - -1 - false - 1 - 0 - false - false - true - false - false - - 2 - 6 - - 6 - 0 - 2 - 0.5 - Convoy - 1 - 3 - 4 - 0 - - 0 - 0 - None - false - - SUPPORT - CARGO - APC - - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - 50 - 0 - SameEdge - Convoy - false - - CAVALRY - SR_FIRE_SUPPORT - - - - - - - - Convoy - - - - - ScenarioVictory - Fixed - 2 - - - SupplyCache - Linear - 1 - - - - - ScenarioDefeat - Fixed - 2 - - - - Capture 50% of the following convoy intact. +2 SVP and bonus supplies if succeeded, -2 SVP if failed. - NONE - Capture - 50 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - Destroy or rout 33% of the following escort. +1 SVP if succeeded. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Convoy Interdiction.json b/data/scenariotemplates/Convoy Interdiction.json new file mode 100644 index 0000000000..491c131a6a --- /dev/null +++ b/data/scenariotemplates/Convoy Interdiction.json @@ -0,0 +1,184 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Convoy Interdiction", + "stratConScenarioType": "CONVOY", + "shortBriefing": "Intercept and neutralize enemy convoy.", + "detailedBriefing": "An enemy convoy is on the move, and your orders are simple—hit them hard and stop at least 50% of their forces from reaching the far edge of the engagement zone. This is a direct strike, not a prolonged engagement. Destroy or cripple the convoy units with no regard for salvage or escort interference. Speed and overwhelming firepower are your greatest assets.\n\nThere is no need to concern yourself with minimizing damage or securing the spoils. We do not have the luxury of holding the field, and enemy reinforcements will arrive quickly. Do not waste time engaging the escorts unless necessary—focus all efforts on neutralizing the convoy itself. Once the job is done, withdraw immediately.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "Convoy" + ] + }, + "scenarioModifiers": [ +"OverwhelmingEnemyGroundReinforcements.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": "Convoy", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Convoy", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "CAVALRY" + ] + }, + "Convoy": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.25, + "deploymentZones": [ + 11 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Convoy", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [ + "SUPPORT", + "SUPPORT", + "CARGO", + "CARGO", + "CARGO", + "APC", + "APC" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 75, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Convoy" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Convoy Interdiction.xml b/data/scenariotemplates/Convoy Interdiction.xml deleted file mode 100644 index d41c0e921c..0000000000 --- a/data/scenariotemplates/Convoy Interdiction.xml +++ /dev/null @@ -1,199 +0,0 @@ - - - - Convoy Interdiction - CONVOY - Intercept and neutralize enemy convoy. - - ENEMY - - - Convoy - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 10 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 3 - 50 - 0 - SameEdge - Convoy - false - - - - Convoy - - -1 - false - -2 - 0 - true - false - true - false - false - - 2 - - 6 - 0 - 2 - 0.5 - Convoy - 1 - 5 - 4 - 1 - 0 - false - 0 - None - false - - SUPPORT - SUPPORT - CARGO - CARGO - CARGO - APC - APC - - - - - - - - Convoy - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Prevent the following forces from reaching the far map edge. +2 SVP if succeeded, -1 SVP if failed. - NONE - PreventReachMapEdge - 50 - true - None - - - - Convoy - - - - - ScenarioVictory - Fixed - 2 - - - - ScenarioDefeat - Fixed - 1 - - - Destroy or rout 33% of the following forces to force convoy surrender. +2 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Convoy Raid.json b/data/scenariotemplates/Convoy Raid.json new file mode 100644 index 0000000000..dbf1a2f3b1 --- /dev/null +++ b/data/scenariotemplates/Convoy Raid.json @@ -0,0 +1,230 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Convoy Raid", + "stratConScenarioType": "CONVOY", + "shortBriefing": "Intercept and disrupt enemy convoy.", + "detailedBriefing": "An enemy supply convoy is on the move, and this is our chance to cripple their logistics. Your mission is to intercept and raid the convoy before it can escape the engagement zone. These supplies are vital to the enemy’s war effort, and every truck or transport we eliminate weakens their ability to fight. Speed and aggression will be key—hit them hard, hit them fast, and get out before their reinforcements arrive.\n\nYour primary objective is to prevent at least 50% of the convoy from reaching the far side of the engagement zone. Disrupt their formation, destroy their transports, and force them to abandon their mission. If their escort force proves too formidable, you have an alternative route to success—destroy at least 50% of the convoy’s escorts to force the remaining defenders to surrender. With their protection shattered, the convoy will have no choice but to stand down.\n\nThe more convoy units that survive, the greater the spoils. Disabling transports instead of outright destruction may increase salvage potential, but that is a secondary concern to stopping the convoy itself. However, do not linger. The enemy will respond quickly, and we will not control the field once the battle ends. Execute the raid with precision, neutralize the targets, and withdraw before the enemy's full force arrives.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Convoy" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Convoy", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Convoy": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.5, + "deploymentZones": [ + 2 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": 1, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Convoy", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [ + "SUPPORT", + "SUPPORT", + "CARGO", + "CARGO", + "CARGO", + "APC", + "APC" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "PreventReachMapEdge", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Convoy" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "Capture", + "description": "", + "destinationEdge": "NONE", + "percentage": 1, + "fixedAmount": 1, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Convoy" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "SupplyCache", + "effectScaling": "Linear", + "howMuch": 1 + } + ], + "failureEffects": [], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Convoy Raid.xml b/data/scenariotemplates/Convoy Raid.xml deleted file mode 100644 index 93df179d42..0000000000 --- a/data/scenariotemplates/Convoy Raid.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - Convoy Raid - CONVOY - Intercept and disrupt enemy convoy. - - ENEMY - - - Convoy - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 10 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - 50 - 0 - SameEdge - Convoy - false - - - - Convoy - - -1 - false - 1 - 0 - true - false - true - false - false - - 2 - - 6 - 0 - 2 - 0.5 - Convoy - 1 - 5 - 4 - 1 - 0 - false - 0 - None - false - - SUPPORT - SUPPORT - CARGO - CARGO - CARGO - APC - APC - - - - - - - - Convoy - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Prevent the following forces from reaching the far map edge. +2 SVP if succeeded, -1 SVP if failed. - NONE - PreventReachMapEdge - 50 - true - None - - - - Convoy - - - - - SupplyCache - Linear - 1 - - - - - Capture intact units from the following force(s) for additional supplies. - NONE - 1 - Capture - 1 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - ScenarioDefeat - Fixed - 1 - - - Destroy or rout 33% of the following forces to force convoy surrender. +2 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Covert Strike.json b/data/scenariotemplates/Covert Strike.json new file mode 100644 index 0000000000..0405c9e245 --- /dev/null +++ b/data/scenariotemplates/Covert Strike.json @@ -0,0 +1,189 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Covert Strike", + "stratConScenarioType": "NONE", + "shortBriefing": "Eliminate VIP behind enemy lines.", + "detailedBriefing": "Your mission is simple but dangerous—eliminate a high-value target deep behind enemy lines. The VIP is heavily guarded by a formidable escort. The objective is singular and absolute: kill the VIP by any means necessary.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "ColdForest", + "Forest", + "HotForest", + "Jungle", + "Swamp" + ] + }, + "scenarioModifiers": [ +"GoodIntel.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 3, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "VIP": { + "forceAlignment": 2, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "VIP", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 4, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "VIP" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Covert Strike.xml b/data/scenariotemplates/Covert Strike.xml deleted file mode 100644 index 4e8d7b0130..0000000000 --- a/data/scenariotemplates/Covert Strike.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - - Covert Strike - Eliminate VIP behind enemy lines. - - ENEMY - - - Forest - ColdForest - HotForest - Jungle - Swamp - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - GoodIntel.xml - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - 50 - 0 - OppositeEdge - Player - false - - RECON - RAIDER - CAVALRY - - - - - VIP - - -1 - false - -2 - 0 - true - false - false - false - false - - 5 - 1 - 2 - 1.0 - VIP - 3 - 5 - 4 - 4 - 50 - 0 - false - OppositeEdge - Player - false - - - - - - - VIP - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 100 - true - None - - - diff --git a/data/scenariotemplates/Critical Convoy Escort.json b/data/scenariotemplates/Critical Convoy Escort.json new file mode 100644 index 0000000000..3647a7fb17 --- /dev/null +++ b/data/scenariotemplates/Critical Convoy Escort.json @@ -0,0 +1,237 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Critical Convoy Escort", + "stratConScenarioType": "CONVOY", + "shortBriefing": "Escort critical convoy or defeat attackers.", + "detailedBriefing": "An allied convoy carrying critical supplies is moving through hostile territory, and a large, heavily armed enemy force is preparing to intercept. Your mission is to ensure that at least 50% of the convoy reaches the far edge of the engagement area intact. These supplies are essential to sustaining our war effort, and failure is not an option.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "Convoy" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": "Convoy", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Convoy", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + }, + "Convoy": { + "forceAlignment": 1, + "generationMethod": 1, + "forceMultiplier": 0.25, + "deploymentZones": [ + 11 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Convoy", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 4, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SUPPORT", + "SUPPORT", + "CARGO", + "CARGO", + "CARGO", + "APC", + "APC" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Convoy" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 3 + } + ], + "failureEffects": [], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Convoy" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Critical Convoy Escort.xml b/data/scenariotemplates/Critical Convoy Escort.xml deleted file mode 100644 index 639da5c144..0000000000 --- a/data/scenariotemplates/Critical Convoy Escort.xml +++ /dev/null @@ -1,231 +0,0 @@ - - - - Critical Convoy Escort - CONVOY - Escort critical convoy or defeat attackers. - - PLAYER - false - false - - - Convoy - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - SameEdge - Convoy - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - - 50 - 0 - None - false - - RAIDER - CAVALRY - - - - - Convoy - - -1 - false - -2 - 0 - false - false - true - false - false - - 6 - - 6 - 0 - 1 - 0.5 - Convoy - 1 - 4 - 4 - 1 - - 0 - 0 - None - false - - SUPPORT - SUPPORT - CARGO - CARGO - CARGO - APC - APC - - - - - - - - Convoy - - - - - ScenarioVictory - Fixed - 3 - - - - 50% of the following forces must reach the far edge of the maps. +3 SVP if succeeded. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - 0 - true - None - - - - Convoy - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Preserve 50% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - Preserve - 50 - true - None - - - diff --git a/data/scenariotemplates/Crowd Control.json b/data/scenariotemplates/Crowd Control.json new file mode 100644 index 0000000000..26f6f2e6da --- /dev/null +++ b/data/scenariotemplates/Crowd Control.json @@ -0,0 +1,142 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Crowd Control", + "stratConScenarioType": "NONE", + "shortBriefing": "Solve the rioter problem. Permanently.", + "detailedBriefing": "Civilian protesters are assembling in one of our settlements. Unrest and civil disobedience will not be tolerated. Deploy security elements to establish a secure perimeter, enforce a curfew, and deal with the agitators.\n\nYou are authorized to use lethal measures to disperse crowds and conduct targeted arrests of those inciting violence. Give them a whiff of grapeshot they won't forget.\n\nThe victor will control the battlefield; ensure order is reestablished.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Urban", + "ColdUrban", + "HotUrban" + ] + }, + "scenarioModifiers": [ +"Rookies.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Civilians": { + "forceAlignment": 2, + "generationMethod": 6, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 3, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Civilians", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 20, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Civilians", + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Crowd Control.xml b/data/scenariotemplates/Crowd Control.xml deleted file mode 100644 index a6f892595d..0000000000 --- a/data/scenariotemplates/Crowd Control.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - Crowd Control - Solve the rioter problem. Permanently. - - VICTOR - false - false - - - Urban - ColdUrban - HotUrban - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - Rookies.xml - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Civilians - - -1 - false - 3 - 0 - false - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - Civilians - 6 - 5 - 4 - 0 - - 50 - 0 - None - false - - - - - - - OpFor - Civilians - - - - - ScenarioVictory - Fixed - 1 - - - - ScenarioDefeat - Fixed - 1 - - - Destroy, cripple or force the withdrawal of 20% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 20 - true - None - - - diff --git a/data/scenariotemplates/Decapitation Strike.json b/data/scenariotemplates/Decapitation Strike.json new file mode 100644 index 0000000000..3534c666bc --- /dev/null +++ b/data/scenariotemplates/Decapitation Strike.json @@ -0,0 +1,186 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Decapitation Strike", + "stratConScenarioType": "NONE", + "shortBriefing": "Punch through the guard and destroy the enemy commander.", + "detailedBriefing": "Intelligence has located the enemy field commander, and command wants them gone. The commander will not be alone—expect a hardened bodyguard screening them and keeping them out of your reach. You will have to break through or draw off that screen to get a clean shot. Do not get bogged down trading fire with the guard; they are not the objective. The commander is.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "ColdForest", + "Forest", + "HotForest", + "Jungle", + "Swamp" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Bodyguard": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Bodyguard", + "syncedForceName": "Commander", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [ + "Commander" + ], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + }, + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": "Commander", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Commander": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2, + 4, + 6, + 8 + ], + "destinationZone": 5, + "retreatThreshold": 0, + "allowedUnitType": 0, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Commander", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 4, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 3, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "COMMAND" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Commander" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Decapitation Strike.xml b/data/scenariotemplates/Decapitation Strike.xml deleted file mode 100644 index ff6379064e..0000000000 --- a/data/scenariotemplates/Decapitation Strike.xml +++ /dev/null @@ -1,202 +0,0 @@ - - - - Decapitation Strike - Punch through the guard and destroy the enemy commander. - - VICTOR - false - false - - - Forest - ColdForest - HotForest - Jungle - Swamp - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 6 - - 2 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Commander - - -1 - false - 0 - 0 - false - false - true - false - false - - 2 - - 2 - 1 - 2 - 1.0 - Commander - 1 - 3 - 4 - 3 - - 0 - 0 - None - false - - COMMAND - - - - - Bodyguard - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - Bodyguard - 1 - 5 - 4 - 0 - - Commander - - 50 - 0 - SameEdge - Commander - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - - - - Commander - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Destroy 100% of the following force. +2 SVP if succeeded, -2 SVP if failed. - NONE - Destroy - 100 - true - None - - - - Bodyguard - - - - - ScenarioVictory - Fixed - 1 - - - - - Destroy or rout 33% of the following forces to break the screen. +1 SVP if succeeded. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Decoy Engagement.json b/data/scenariotemplates/Decoy Engagement.json new file mode 100644 index 0000000000..b1bec523da --- /dev/null +++ b/data/scenariotemplates/Decoy Engagement.json @@ -0,0 +1,151 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Decoy Engagement", + "stratConScenarioType": "NONE", + "shortBriefing": "Engage enemy, act as decoy.", + "detailedBriefing": "Your mission is to serve as a decoy, drawing the attention of a large enemy force while our allies carry out critical objectives elsewhere in the sector. The enemy must believe you are the primary threat, forcing them to commit their forces fully to your position. Your task is to survive for the designated duration. Do not destroy the OpFor too quickly.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "ColdHills", + "Hills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2, + 4, + 6, + 8 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RECON", + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Custom", + "description": "Engage the following enemy forces for 12 turns. +1 SVP if succeeded, -1 SVP if failed. Do not destroy the OpFor too quickly.", + "destinationEdge": "NONE", + "percentage": 1, + "fixedAmount": null, + "timeLimitType": "Fixed", + "timeLimitAtMost": false, + "timeLimit": 12, + "timeLimitScaleFactor": 2, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Decoy Engagement.xml b/data/scenariotemplates/Decoy Engagement.xml deleted file mode 100644 index 662f402f47..0000000000 --- a/data/scenariotemplates/Decoy Engagement.xml +++ /dev/null @@ -1,171 +0,0 @@ - - - - Decoy Engagement - Engage enemy, act as decoy. - - VICTOR - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - 50 - 0 - OppositeEdge - Player - false - - RECON - RAIDER - CAVALRY - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Engage the following enemy forces. +2 SVP if succeeded, -1 SVP if failed. - NONE - Custom - 1 - false - 2 - ScaledToPrimaryUnitCount - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 50% of the following forces. +2 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 50 - true - None - - - diff --git a/data/scenariotemplates/Decoy Interception.json b/data/scenariotemplates/Decoy Interception.json new file mode 100644 index 0000000000..0cfd8c59dd --- /dev/null +++ b/data/scenariotemplates/Decoy Interception.json @@ -0,0 +1,169 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Decoy Interception", + "stratConScenarioType": "NONE", + "shortBriefing": "Intercept enemy, act as decoy.", + "detailedBriefing": "Your mission is to intercept and engage enemy forces to draw them away from their primary objective. Our intelligence indicates that they are moving to screen a greater strategic move. Destroy to OpFor before their allies can achieve their objective.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "ColdHills", + "Hills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2, + 4, + 6, + 8 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RECON", + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Custom", + "description": "Destroy the OpFor within 12 turns. +1 SVP if succeeded, -1 SVP if failed.", + "destinationEdge": "NONE", + "percentage": 1, + "fixedAmount": null, + "timeLimitType": "Fixed", + "timeLimitAtMost": true, + "timeLimit": 12, + "timeLimitScaleFactor": 2, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [], + "failureEffects": [], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Decoy Interception.xml b/data/scenariotemplates/Decoy Interception.xml deleted file mode 100644 index e5a6f037e6..0000000000 --- a/data/scenariotemplates/Decoy Interception.xml +++ /dev/null @@ -1,171 +0,0 @@ - - - - Decoy Interception - Intercept enemy, act as decoy. - - VICTOR - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - 50 - 0 - OppositeArc - Player - false - - RECON - RAIDER - CAVALRY - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Engage the following enemy units. +2 SVP if succeeded, -1 SVP if failed. - NONE - Custom - 1 - false - 2 - ScaledToPrimaryUnitCount - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 50% of the following forces. +2 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 50 - true - None - - - diff --git a/data/scenariotemplates/Deep Raid Defense.json b/data/scenariotemplates/Deep Raid Defense.json new file mode 100644 index 0000000000..3bd4bfb387 --- /dev/null +++ b/data/scenariotemplates/Deep Raid Defense.json @@ -0,0 +1,231 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Deep Raid Defense", + "stratConScenarioType": "NONE", + "shortBriefing": "Defend grounded DropShip from raid.", + "detailedBriefing": "The enemy has launched a deep strike behind our lines, targeting one of our DropShips before it can take off. This is a calculated assault meant to cripple our logistics and deny us critical mobility. Your mission is to defend the DropShip until it can launch and eliminate at least 33% of the attacking force to force their retreat.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 1, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "DropZone" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2, + 4, + 6, + 8 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "ARTILLERY", + "FIRE_SUPPORT", + "FIRE_SUPPORT", + "FIRE_SUPPORT", + "FIRE_SUPPORT", + "FIRE_SUPPORT", + "FIRE_SUPPORT", + "SR_FIRE_SUPPORT", + "SR_FIRE_SUPPORT", + "SR_FIRE_SUPPORT", + "SR_FIRE_SUPPORT", + "SR_FIRE_SUPPORT", + "SR_FIRE_SUPPORT" + ] + }, + "DropShip": { + "forceAlignment": 1, + "generationMethod": 4, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 11, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "DropShip", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "MEK_CARRIER", + "MEK_CARRIER", + "ASF_CARRIER", + "VEE_CARRIER", + "INFANTRY_CARRIER", + "TROOP_CARRIER", + "CIVILIAN" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "Fixed", + "timeLimitAtMost": false, + "timeLimit": 12, + "timeLimitScaleFactor": 2, + "associatedForceNames": [ + "DropShip" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [ + "If the DropShip cannot be deployed regenerate the map within MegaMek." + ] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Deep Raid Defense.xml b/data/scenariotemplates/Deep Raid Defense.xml deleted file mode 100644 index 948ce484ea..0000000000 --- a/data/scenariotemplates/Deep Raid Defense.xml +++ /dev/null @@ -1,224 +0,0 @@ - - - - Deep Raid Defense - Defend grounded DropShip from raid. - - PLAYER - false - false - true - - - DropZone - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - OppositeEdge - OpFor - false - - - - OpFor - - -1 - false - -2 - 1 - true - false - true - false - false - - 2 - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - - 50 - 0 - None - false - - ARTILLERY - FIRE_SUPPORT - FIRE_SUPPORT - FIRE_SUPPORT - FIRE_SUPPORT - FIRE_SUPPORT - FIRE_SUPPORT - SR_FIRE_SUPPORT - SR_FIRE_SUPPORT - SR_FIRE_SUPPORT - SR_FIRE_SUPPORT - SR_FIRE_SUPPORT - SR_FIRE_SUPPORT - - - - - DropShip - - -1 - false - 11 - 0 - false - true - true - true - false - - 10 - - 5 - 1 - 1 - 1.0 - DropShip - 4 - 1 - 4 - 0 - - 50 - 0 - None - false - - MEK_CARRIER - MEK_CARRIER - ASF_CARRIER - VEE_CARRIER - INFANTRY_CARRIER - TROOP_CARRIER - CIVILIAN - - - - - - - - DropShip - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - If the DropShip cannot be deployed regenerate the map within MegaMek. - - Protect the following forces. +2 SVP if succeeded, -2 SVP if failed. - NONE - Preserve - 100 - false - 2 - ScaledToPrimaryUnitCount - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy, cripple or force to withdraw 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Deep Raid.json b/data/scenariotemplates/Deep Raid.json new file mode 100644 index 0000000000..8f40e0dbd8 --- /dev/null +++ b/data/scenariotemplates/Deep Raid.json @@ -0,0 +1,192 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Deep Raid", + "stratConScenarioType": "NONE", + "shortBriefing": "Destroy or cripple DropShip.", + "detailedBriefing": "We have identified a vulnerable enemy DropShip deep behind enemy lines. This is a rare opportunity to eliminate a key enemy asset before it can escape. Your mission is to destroy the DropShip before it can lift off.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 10, + "heightScalingIncrement": 10, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 1, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "AllGroundTerrain", + "allowedTerrainTypes": [ + "DropZone" + ] + }, + "scenarioModifiers": [ +"OverwhelmingEnemyGroundReinforcements.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2, + 4, + 6, + 8 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 3, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + }, + "DropShip": { + "forceAlignment": 2, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 11, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "DropShip", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": false, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 3, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [ + "MEK_CARRIER", + "MEK_CARRIER", + "ASF_CARRIER", + "VEE_CARRIER", + "INFANTRY_CARRIER", + "TROOP_CARRIER", + "CIVILIAN" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "Fixed", + "timeLimitAtMost": true, + "timeLimit": 12, + "timeLimitScaleFactor": 2, + "associatedForceNames": [ + "DropShip" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [ + "If the DropShip cannot be deployed regenerate the map in MegaMek" + ] + } + ] +} diff --git a/data/scenariotemplates/Deep Raid.xml b/data/scenariotemplates/Deep Raid.xml deleted file mode 100644 index 5f015b2d07..0000000000 --- a/data/scenariotemplates/Deep Raid.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - - Deep Raid - Destroy or cripple DropShip. - - ENEMY - false - false - - - DropZone - - false - 0 - 0 - 10 - SpecificGroundTerrain - true - 1 - 0 - 10 - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - - 50 - 0 - OppositeEdge - Player - false - - RECON - RAIDER - CAVALRY - - - - - DropShip - - -1 - false - 11 - 0 - false - false - true - false - false - - 10 - - 5 - 1 - 2 - 1.0 - DropShip - 3 - 3 - 4 - 0 - - 50 - 0 - false - None - false - - MEK_CARRIER - MEK_CARRIER - ASF_CARRIER - VEE_CARRIER - INFANTRY_CARRIER - TROOP_CARRIER - CIVILIAN - - - - - - - - DropShip - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - If the DropShip cannot be deployed regenerate the map in MegaMek - - Destroy or cripple the following units. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 100 - false - 2 - ScaledToPrimaryUnitCount - - - diff --git a/data/scenariotemplates/Diversion Engagement.json b/data/scenariotemplates/Diversion Engagement.json new file mode 100644 index 0000000000..4635d76f38 --- /dev/null +++ b/data/scenariotemplates/Diversion Engagement.json @@ -0,0 +1,183 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Diversion Engagement", + "stratConScenarioType": "NONE", + "shortBriefing": "Bypass or destroy diversionary force.", + "detailedBriefing": "The enemy has deployed a delaying force to stall our advance toward a critical objective. Their mission is to slow us down, bleed our forces, and buy time for their reinforcements to fortify their position. Your task is to push through their blockade and continue the advance.\n\nVictory can be achieved in one of two ways. Ensure at least 50% of your forces reach the far edge of the engagement zone, bypassing the enemy’s attempt to hold you in place. Alternatively, if they commit too heavily to blocking your path, destroy at least 50% of their forces, breaking their ability to resist and forcing them to withdraw.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "ColdHills", + "Hills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 11 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY", + "SR_FIRE_SUPPORT", + "FIRE_SUPPORT" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + }, + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Diversion Engagement.xml b/data/scenariotemplates/Diversion Engagement.xml deleted file mode 100644 index a820f381dc..0000000000 --- a/data/scenariotemplates/Diversion Engagement.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - - Diversion Engagement - Bypass or destroy diversionary force. - - ENEMY - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - 50 - 0 - None - false - - RECON - RAIDER - CAVALRY - - - - - - - - Player - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Crippled units do not count towards this objective. - - Reach the destination edge with 50% of the following forces. +2 SVP if succeeded, -2 SVP if failed. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 50% the following forces. +2 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 50 - 0 - true - None - - - diff --git a/data/scenariotemplates/DropShip Raid.json b/data/scenariotemplates/DropShip Raid.json new file mode 100644 index 0000000000..4a70a35d20 --- /dev/null +++ b/data/scenariotemplates/DropShip Raid.json @@ -0,0 +1,189 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "DropShip Raid", + "stratConScenarioType": "NONE", + "shortBriefing": "Destroy or cripple DropShip.", + "detailedBriefing": "An enemy DropShip has become stranded in contested territory, presenting us with an opportunity to eliminate a critical asset before they can recover or evacuate. Your mission is to destroy or cripple the DropShip before it can take off. This DropShip must not leave the battlefield intact.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 10, + "heightScalingIncrement": 10, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 1, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "DropZone" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2, + 4, + 6, + 8 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT" + ] + }, + "DropShip": { + "forceAlignment": 2, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 11, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "DropShip", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": false, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 3, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [ + "MEK_CARRIER", + "MEK_CARRIER", + "ASF_CARRIER", + "VEE_CARRIER", + "INFANTRY_CARRIER", + "TROOP_CARRIER", + "CIVILIAN" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "Fixed", + "timeLimitAtMost": true, + "timeLimit": 12, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "DropShip" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/DropShip Raid.xml b/data/scenariotemplates/DropShip Raid.xml deleted file mode 100644 index a438fffe3e..0000000000 --- a/data/scenariotemplates/DropShip Raid.xml +++ /dev/null @@ -1,206 +0,0 @@ - - - - DropShip Raid - Destroy or cripple DropShip. - - VICTOR - false - false - - - DropZone - - false - 0 - 0 - 10 - SpecificGroundTerrain - true - 1 - 0 - 10 - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 1 - true - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - OpFor - 3 - 5 - 4 - 0 - - 50 - 0 - None - false - - - - DropShip - - -1 - false - 11 - 0 - false - false - true - false - false - - 10 - - 5 - 1 - 2 - 1.0 - DropShip - 3 - 3 - 4 - 0 - - 50 - 0 - false - None - false - - MEK_CARRIER - MEK_CARRIER - ASF_CARRIER - VEE_CARRIER - INFANTRY_CARRIER - TROOP_CARRIER - CIVILIAN - - - - - - - - DropShip - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 100 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Emergency Convoy Defense - Player - Low-Atmosphere.json b/data/scenariotemplates/Emergency Convoy Defense - Player - Low-Atmosphere.json new file mode 100644 index 0000000000..75ad5415bc --- /dev/null +++ b/data/scenariotemplates/Emergency Convoy Defense - Player - Low-Atmosphere.json @@ -0,0 +1,163 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Emergency Convoy Defense", + "stratConScenarioType": "SPECIAL_RESUPPLY", + "shortBriefing": "Escort DropShip, defeat enemy forces.", + "detailedBriefing": "Your aircraft convoy is being intercepted mid-flight by enemy forces executing a pincer maneuver. Their goal is to cut off all possible escape routes and eliminate or capture the supplies your convoy carries. If the convoy is lost, it will be a significant blow to your operational readiness. Your mission is to ensure the convoy reaches the opposite edge of the engagement zone while simultaneously routing the enemy by destroying at least 33% of their forces.\n\nThe enemy has chosen a pincer formation to box you in, which means they are expecting to trap and overwhelm your forces. Break their formation before they can fully close the noose. Use superior positioning, speed, and tactical maneuvers to punch through their weakest link and deny them the ability to completely surround the convoy. If necessary, sacrifice the convoy to ensure the enemy force is broken—routing them is the priority, as failure to do so will allow them to wreak havoc on our logistics in future operations.\n\nWe will control the battlefield at the end of this engagement, ensuring that any salvageable assets fall into our hands. This battle determines more than just one convoy’s fate—crush the enemy’s ability to operate in our skies and secure our logistics for the future.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 17, + "baseHeight": 75, + "widthScalingIncrement": 1, + "heightScalingIncrement": 0, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "LowAtmosphere", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 3, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [ + "OpFor" + ], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "INTERCEPTOR" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [], + "failureEffects": [], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + } + ] +} diff --git a/data/scenariotemplates/Emergency Convoy Defense - Player - Low-Atmosphere.xml b/data/scenariotemplates/Emergency Convoy Defense - Player - Low-Atmosphere.xml deleted file mode 100644 index 12f8246321..0000000000 --- a/data/scenariotemplates/Emergency Convoy Defense - Player - Low-Atmosphere.xml +++ /dev/null @@ -1,197 +0,0 @@ - - - - Emergency Convoy Defense - SPECIAL_RESUPPLY - Escort DropShip, defeat enemy forces. - - PLAYER - false - false - - - false - 75 - 17 - 0 - LowAtmosphere - true - 1 - 0 - 1 - - - - Player - - -1 - false - -3 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 5 - None - false - - - - OpFor - - -1 - false - -3 - 0 - false - false - true - false - false - - 2 - - 6 - 0 - 2 - 1.0 - Blocking OpFor - 1 - 5 - 3 - 1 - - 50 - 5 - - OpFor - - OppositeEdge - Player - false - - INTERCEPTOR - - - - - OpFor - - -1 - false - -3 - 0 - false - false - true - false - false - - 5 - 0 - 2 - 1.0 - Pursuing OpFor - 1 - 5 - 3 - 1 - - 50 - 5 - - OpFor - - SameEdge - Player - false - - INTERCEPTOR - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. Failure also incurs a -1 CVP penalty (StratCon Only). - NONE - ForceWithdraw - 33 - 0 - true - None - - - - Player - - - - Crippled units do not count towards this objective. - - Reach the destination edge with 50% of the following forces. This objective does not award SVP. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - diff --git a/data/scenariotemplates/Emergency Convoy Defense - Player - VTOL.json b/data/scenariotemplates/Emergency Convoy Defense - Player - VTOL.json new file mode 100644 index 0000000000..80c4704fd1 --- /dev/null +++ b/data/scenariotemplates/Emergency Convoy Defense - Player - VTOL.json @@ -0,0 +1,198 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Emergency Convoy Defense", + "stratConScenarioType": "SPECIAL_RESUPPLY", + "shortBriefing": "Prevent your resupply falling into the hands of the enemy.", + "detailedBriefing": "Your convoy has been trapped by an enemy force specialized in hunting down fast-moving targets. They are well-equipped for this type of engagement, and their goal is to intercept and capture your supplies. While securing the convoy is important, your primary objective is to eliminate at least 33% of the enemy force to ensure they cannot continue their raids. If they are not routed here, they will be free to attack other convoys, posing a long-term threat to our supply lines.\n\nThe enemy is built for speed and pursuit, meaning direct engagements may not always be favorable. Use ambush tactics, force them into unfavorable terrain, and disrupt their ability to maneuver. They rely on overwhelming pursuit capabilities—deny them the chance to use it effectively. If the convoy can be safely extracted, do so, but not at the expense of allowing the enemy to regroup for future strikes.\n\nWe will control the battlefield at the conclusion of this engagement, ensuring that any remaining salvage remains in our possession. Turn the hunters into the hunted, cripple their forces, and make certain they never threaten our supply lines again.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 17, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 0, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Convoy" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "ANTI_AIRCRAFT" + ] + }, + "SecondOpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 5, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "SecondOpFor", + "syncedForceName": "Player", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 3, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [ + "OpFor" + ], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [], + "failureEffects": [], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + } + ] +} diff --git a/data/scenariotemplates/Emergency Convoy Defense - Player - VTOL.xml b/data/scenariotemplates/Emergency Convoy Defense - Player - VTOL.xml deleted file mode 100644 index 75d7e25e6c..0000000000 --- a/data/scenariotemplates/Emergency Convoy Defense - Player - VTOL.xml +++ /dev/null @@ -1,192 +0,0 @@ - - - - Emergency Convoy Defense - SPECIAL_RESUPPLY - Prevent your resupply falling into the hands of the enemy. - - PLAYER - false - false - - - Convoy - - false - 50 - 17 - 0 - SpecificGroundTerrain - false - true - 1 - 0 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - false - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - Anti-Aircraft OpFor - 1 - 5 - 4 - 2 - - 50 - 0 - None - false - - ANTI_AIRCRAFT - - - - - SecondOpFor - - -1 - false - 5 - 0 - false - false - true - false - false - - 5 - 0 - 2 - 1.0 - Pursuing OpFor - 1 - 5 - 3 - 1 - - 50 - 0 - - OpFor - - SameEdge - Player - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. Failure also incurs a -1 CVP penalty (StratCon Only). - NONE - ForceWithdraw - 33 - 0 - true - None - - - - Player - - - - Crippled units do not count towards this objective. - - Reach the destination edge with 50% of the following forces. This objective does not award SVP. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - diff --git a/data/scenariotemplates/Emergency Convoy Defense - Player.json b/data/scenariotemplates/Emergency Convoy Defense - Player.json new file mode 100644 index 0000000000..9210181e35 --- /dev/null +++ b/data/scenariotemplates/Emergency Convoy Defense - Player.json @@ -0,0 +1,199 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Emergency Convoy Defense", + "stratConScenarioType": "SPECIAL_RESUPPLY", + "shortBriefing": "Prevent your resupply falling into the hands of the enemy.", + "detailedBriefing": "Your ground convoy is being cornered by aggressive enemy elements, intent on cutting off your supplies and crippling our logistics. The convoy is carrying essential resources for your operations, and its loss would be a severe blow. Your primary objective is to ensure the convoy reaches the opposite edge of the engagement zone while simultaneously routing the enemy by destroying at least 33% of their forces.\n\nThe enemy is executing a relentless pursuit, attempting to isolate and destroy the convoy before it can escape. If they are not routed here, they will continue striking at our logistics, inflicting immeasurable damage over time. Prioritize extracting the convoy, but if necessary, sacrificing the supplies is acceptable if it means crushing the enemy force beyond recovery.\n\nWe will control the battlefield at the end of the engagement, ensuring that any remaining salvage or assets fall into our hands. This battle is about more than just one convoy—it is about securing the future of our supply lines. Break through, break them, and ensure they never threaten our logistics again.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 17, + "baseHeight": 50, + "widthScalingIncrement": 1, + "heightScalingIncrement": 0, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Convoy" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeArc", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "SecondOpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "SecondOpFor", + "syncedForceName": "Player", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 3, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [ + "OpFor" + ], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [], + "failureEffects": [], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + } + ] +} diff --git a/data/scenariotemplates/Emergency Convoy Defense - Player.xml b/data/scenariotemplates/Emergency Convoy Defense - Player.xml deleted file mode 100644 index 634e795ba4..0000000000 --- a/data/scenariotemplates/Emergency Convoy Defense - Player.xml +++ /dev/null @@ -1,194 +0,0 @@ - - - - Emergency Convoy Defense - SPECIAL_RESUPPLY - Prevent your resupply falling into the hands of the enemy. - - PLAYER - false - false - - - Convoy - - false - 50 - 17 - 0 - SpecificGroundTerrain - true - 1 - 0 - 1 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - false - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - Blocking OpFor - 1 - 5 - 4 - 2 - - 50 - 0 - OppositeArc - Player - false - - - - SecondOpFor - - -1 - false - -2 - 0 - false - false - true - false - false - - 5 - 0 - 2 - 1.0 - Pursuing OpFor - 1 - 5 - 3 - 1 - - 50 - 0 - - OpFor - - SameEdge - Player - false - - RAIDER - CAVALRY - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. Failure also incurs a -1 CVP penalty (StratCon Only). - NONE - ForceWithdraw - 33 - 0 - true - None - - - - Player - - - - Crippled units do not count towards this objective. - - Reach the destination edge with 50% of the following forces. This objective does not award SVP. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - diff --git a/data/scenariotemplates/Emergency Convoy Defense.json b/data/scenariotemplates/Emergency Convoy Defense.json new file mode 100644 index 0000000000..bd22fea1b0 --- /dev/null +++ b/data/scenariotemplates/Emergency Convoy Defense.json @@ -0,0 +1,240 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Emergency Convoy Defense", + "stratConScenarioType": "SPECIAL_RESUPPLY", + "shortBriefing": "Prevent your resupply falling into the hands of the enemy.", + "detailedBriefing": "An enemy force has breached our lines and is in pursuit of an allied convoy, carrying supplies critical to your operations. If these supplies are lost, so is a vital piece of our logistical network. Your mission is to ensure the successful extraction of the convoy by escorting it to the opposite edge of the engagement zone while simultaneously routing the enemy by destroying at least 33% of their forces.\n\nThis enemy assault is a direct attempt to cripple our supply chain. If they are not stopped here, they will continue to strike at our convoys, causing immeasurable damage to our war effort. The convoy is a priority, but if ensuring the destruction of the enemy requires sacrificing the supplies, do not hesitate. Breaking their offensive strength is the ultimate objective.\n\nWe will control the battlefield at the end of this engagement, allowing us to recover whatever remains and prevent further incursions. Ensure the convoy escapes if possible, but above all, crush the enemy’s ability to wage war in our territory. This ends here.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 17, + "baseHeight": 50, + "widthScalingIncrement": 1, + "heightScalingIncrement": 0, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Convoy" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": -3, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Convoy": { + "forceAlignment": 1, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Convoy", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SUPPORT", + "SUPPORT", + "CARGO", + "CARGO", + "CARGO", + "APC", + "APC" + ] + }, + "SecondOpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "SecondOpFor", + "syncedForceName": "Resupply Convoy", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 3, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [ + "OpFor" + ], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Convoy" + ], + "associatedUnitIDs": [], + "successEffects": [], + "failureEffects": [], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + } + ] +} diff --git a/data/scenariotemplates/Emergency Convoy Defense.xml b/data/scenariotemplates/Emergency Convoy Defense.xml deleted file mode 100644 index 7e2762019a..0000000000 --- a/data/scenariotemplates/Emergency Convoy Defense.xml +++ /dev/null @@ -1,233 +0,0 @@ - - - - Emergency Convoy Defense - SPECIAL_RESUPPLY - Prevent your resupply falling into the hands of the enemy. - - PLAYER - false - false - - - Convoy - - false - 50 - 17 - 0 - SpecificGroundTerrain - true - 1 - 0 - 1 - - - - Player - - -1 - false - -2 - -3 - true - true - true - true - false - - 2 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - false - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - Blocking OpFor - 1 - 5 - 4 - 2 - - 50 - 0 - None - false - - - - SecondOpFor - - -1 - false - -2 - 0 - false - false - true - false - false - - 5 - 0 - 2 - 1.0 - Pursuing OpFor - 1 - 5 - 3 - 1 - - 50 - 0 - - OpFor - - SameEdge - Resupply Convoy - false - - RAIDER - CAVALRY - - - - - Convoy - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 1 - 1.0 - Resupply Convoy - 1 - 1 - 4 - 0 - - 50 - 0 - None - false - - SUPPORT - SUPPORT - CARGO - CARGO - CARGO - APC - APC - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. Failure also incurs a -1 CVP penalty (StratCon Only). - NONE - ForceWithdraw - 33 - 0 - true - None - - - - Convoy - - - - Crippled units do not count towards this objective. - - Reach the destination edge with 50% of the following forces. This objective does not award SVP. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - diff --git a/data/scenariotemplates/Engagement.json b/data/scenariotemplates/Engagement.json new file mode 100644 index 0000000000..39b6999291 --- /dev/null +++ b/data/scenariotemplates/Engagement.json @@ -0,0 +1,145 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Engagement", + "stratConScenarioType": "NONE", + "shortBriefing": "Engage and destroy enemy at the front.", + "detailedBriefing": "Your orders are simple—engage and destroy at least 33% of enemy forces. This is not a hit-and-run operation or a delaying action. You are to commit fully to the engagement and break their strength through superior firepower and tactical positioning.\n\nThis battle will determine control of the battlefield. The victor will hold the field at the end of the engagement, securing any salvage and denying the enemy any chance of recovery. Every enemy unit destroyed weakens their ability to wage war—make sure they do not leave this battlefield intact.\n\nStrike hard, eliminate the opposition, and take control. Victory is absolute, or it is meaningless.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Engagement.xml b/data/scenariotemplates/Engagement.xml deleted file mode 100644 index 18bf414dc1..0000000000 --- a/data/scenariotemplates/Engagement.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - Engagement - Engage and destroy enemy at the front. - - VICTOR - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - 50 - 0 - OppositeEdge - Player - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Enveloped.json b/data/scenariotemplates/Enveloped.json new file mode 100644 index 0000000000..ea184a15c8 --- /dev/null +++ b/data/scenariotemplates/Enveloped.json @@ -0,0 +1,216 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Enveloped", + "stratConScenarioType": "NONE", + "shortBriefing": "Caught between two converging forces—break out or beat them both.", + "detailedBriefing": "We advanced too far, too fast, and now the jaws are closing. Enemy forces are converging on your position from two sides at once, and there is no safe direction to face.\n\nFighting on two fronts means you cannot commit everything one way without exposing your back. Pick your moment, concentrate against one arm of the pincer to shatter it, and do not let them catch your formation strung out between them. A unit that splits its attention evenly gets ground down by both.\n\nBreak the enemy's grip from both directions. The victor holds the field when the dust settles.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.6, + "deploymentZones": [ + 2 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + }, + "SecondOpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.6, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "SecondOpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "SecondOpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Enveloped.xml b/data/scenariotemplates/Enveloped.xml deleted file mode 100644 index aff0f8d34f..0000000000 --- a/data/scenariotemplates/Enveloped.xml +++ /dev/null @@ -1,210 +0,0 @@ - - - - Enveloped - Caught between two converging forces—break out or beat them both. - - VICTOR - false - false - true - true - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 10 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 2 - - 5 - 0 - 2 - 0.6 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - None - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - SecondOpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 6 - - 5 - 0 - 2 - 0.6 - SecondOpFor - 1 - 5 - 4 - 0 - - 50 - 0 - None - false - - RAIDER - CAVALRY - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - - SecondOpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Escalation.json b/data/scenariotemplates/Escalation.json new file mode 100644 index 0000000000..ed19365fec --- /dev/null +++ b/data/scenariotemplates/Escalation.json @@ -0,0 +1,215 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Escalation", + "stratConScenarioType": "NONE", + "shortBriefing": "A skirmish that both sides keep feeding until it becomes a battle.", + "detailedBriefing": "What began as a chance skirmish is drawing in everything both sides can throw at it. Reserves are already moving up on both ends, and the fight will only grow uglier as they arrive.\n\nWin the early exchange, and you set the terms; lose it, and you will be reacting to their reinforcements instead of your own. Hold your line through the opening clash, commit your reserves at the right moment, and grind the enemy down as the battle swells around you.\n\nBreak the enemy force as the fight escalates. The victor holds the field.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Reserves": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 0.5, + "deploymentZones": [ + 6 + ], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Reserves", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 3, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 2, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 0.75, + "deploymentZones": [ + 6 + ], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.75, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + }, + "SecondOpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.5, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "SecondOpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 3, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Escalation.xml b/data/scenariotemplates/Escalation.xml deleted file mode 100644 index fde5355a02..0000000000 --- a/data/scenariotemplates/Escalation.xml +++ /dev/null @@ -1,212 +0,0 @@ - - - - Escalation - A skirmish that both sides keep feeding until it becomes a battle. - - VICTOR - false - false - true - true - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 2 - 0 - 0 - 0.75 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Reserves - - -1 - false - -2 - 3 - true - true - true - true - false - - 6 - - 2 - 0 - 0 - 0.5 - Reserves - 0 - 2 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 0.75 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - OppositeEdge - Player - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - SecondOpFor - - -1 - false - -2 - 3 - true - false - true - false - false - - 5 - 0 - 2 - 0.5 - SecondOpFor - 1 - 5 - 4 - 0 - - 50 - 0 - OppositeEdge - Player - false - - RAIDER - CAVALRY - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Destroy or rout 33% of the following forces. +2 SVP if succeeded, -2 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Fighter Sweep.json b/data/scenariotemplates/Fighter Sweep.json new file mode 100644 index 0000000000..01b052c481 --- /dev/null +++ b/data/scenariotemplates/Fighter Sweep.json @@ -0,0 +1,139 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Fighter Sweep", + "stratConScenarioType": "NONE", + "shortBriefing": "Sweep the skies clear of enemy aerospace and win air superiority.", + "detailedBriefing": "This is not an interception—it is a hunt. Command wants the enemy's aerospace presence to break so thoroughly they cede the skies for the rest of the operation. Go out, find them, and shatter them.\n\nAir superiority is won by aggression. Force the engagement on your terms, run down anything that tries to disengage, and do not settle for driving them off—break the back of their formation. Half their strength on the deck is the mark of a sweep well flown.\n\nDestroy or rout half of the enemy aerospace force. Own the sky.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 2, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "Space", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 9, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Fighter Sweep.xml b/data/scenariotemplates/Fighter Sweep.xml deleted file mode 100644 index 3886bc82bf..0000000000 --- a/data/scenariotemplates/Fighter Sweep.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - - Fighter Sweep - Sweep the skies clear of enemy aerospace and win air superiority. - - VICTOR - false - false - - - false - 50 - 50 - 5 - Space - true - 1 - 2 - 5 - - - - Player - - -1 - false - 9 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 5 - None - false - - - - OpFor - - -1 - false - -3 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 5 - OppositeEdge - Player - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Destroy or rout 50% of the following forces. +2 SVP if succeeded, -2 SVP if failed. - NONE - ForceWithdraw - 50 - true - None - - - diff --git a/data/scenariotemplates/Frontier Assassination.json b/data/scenariotemplates/Frontier Assassination.json new file mode 100644 index 0000000000..994a18db3d --- /dev/null +++ b/data/scenariotemplates/Frontier Assassination.json @@ -0,0 +1,208 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Frontier Assassination", + "stratConScenarioType": "NONE", + "shortBriefing": "Eliminate VIP, minimize own losses.", + "detailedBriefing": "An enemy VIP has been located in an isolated position, presenting a rare opportunity to eliminate a key target. Their removal will deal a significant blow to enemy operations, but they are not unprotected. Your mission is to kill the VIP and destroy at least 33% of their escort force.\n\nThe enemy may attempt an emergency extraction or stall for reinforcements. Do not let them escape. Strike hard, eliminate the target, and ensure their escort is crippled beyond recovery. If the enemy attempts to dig in, break their defensive perimeter and neutralize them with overwhelming force.\n\nThe victor will control the battlefield at the end of the engagement, securing any salvage and eliminating remaining resistance. This is a chance to change the course of the conflict—do not let it slip away.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Mountain", + "ColdMountain", + "HotMountainsDry", + "HotMountainsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 3, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + }, + "VIP": { + "forceAlignment": 2, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "VIP", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 3, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "VIP" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Frontier Assassination.xml b/data/scenariotemplates/Frontier Assassination.xml deleted file mode 100644 index 252e1bfb79..0000000000 --- a/data/scenariotemplates/Frontier Assassination.xml +++ /dev/null @@ -1,197 +0,0 @@ - - - - Frontier Assassination - Eliminate VIP, minimize own losses. - - VICTOR - - - Mountain - ColdMountain - HotMountainsDry - HotMountainsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 3 - 1 - 50 - 0 - OppositeEdge - Player - false - - RAIDER - CAVALRY - - - - - VIP - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 1 - 2 - 1.0 - VIP - 3 - 5 - 4 - 3 - 50 - 0 - false - OppositeEdge - Player - false - - - - - - - VIP - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 100 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Frontline Breakthrough.json b/data/scenariotemplates/Frontline Breakthrough.json new file mode 100644 index 0000000000..4ca88f5d72 --- /dev/null +++ b/data/scenariotemplates/Frontline Breakthrough.json @@ -0,0 +1,179 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Frontline Breakthrough", + "stratConScenarioType": "NONE", + "shortBriefing": "Break through enemy battlelines.", + "detailedBriefing": "You are tasked with penetrating the enemy’s main battle line and advancing beyond their position. The enemy has committed significant forces to this sector, making this a high-risk operation. Your primary objective is to reach the far edge of the engagement zone with at least 50% of your forces intact. If direct passage is impossible, an alternative path to victory is available—routing the enemy by destroying at least 33% of their forces.\n\nExpect heavy resistance, as the enemy will not yield ground easily. Their forces are well-positioned to block your advance, and delaying tactics may be used to slow you down. Speed, decisive strikes, and tactical maneuvering will be key to achieving your objective. If you can break their formation or force them into disarray, the path forward will open.\n\nThe enemy will control the battlefield once the engagement concludes, preventing any opportunity for salvage or recovery. This is a mission of mobility and force—break through, or break them. There is no room for hesitation.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 17, + "baseHeight": 50, + "widthScalingIncrement": 1, + "heightScalingIncrement": 0, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + }, + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Frontline Breakthrough.xml b/data/scenariotemplates/Frontline Breakthrough.xml deleted file mode 100644 index 283f132e90..0000000000 --- a/data/scenariotemplates/Frontline Breakthrough.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - - Frontline Breakthrough - Break through enemy battlelines. - - ENEMY - true - true - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 50 - 17 - 0 - SpecificGroundTerrain - true - 1 - 0 - 1 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - false - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - - 50 - 0 - None - false - - - - - - - Player - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Crippled units do not count towards this objective. - - Reach the destination edge with 50% of the following forces. +2 SVP if succeeded, -1 SVP if failed. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% the following forces. +2 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 33 - 0 - true - None - - - diff --git a/data/scenariotemplates/Frontline Disruption.json b/data/scenariotemplates/Frontline Disruption.json new file mode 100644 index 0000000000..18a68d4245 --- /dev/null +++ b/data/scenariotemplates/Frontline Disruption.json @@ -0,0 +1,145 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Frontline Disruption", + "stratConScenarioType": "NONE", + "shortBriefing": "Disrupt and delay frontline force.", + "detailedBriefing": "A large enemy force is advancing toward a critical objective, and it is your responsibility to stop them. Your mission is to disrupt their advance by preventing at least 33% of their forces from reaching the opposite edge of the engagement zone. If they succeed in breaking through in large numbers, the consequences for our campaign will be severe.\n\nExpect a determined push, as the enemy will prioritize speed and aggression to force their way through. They may attempt to overwhelm your defenses with sheer numbers or concentrated strikes against weak points. You must hold firm, break their momentum, and deny them passage. Use the terrain, stagger your defenses, and eliminate high-value targets to throw their advance into disarray.\n\nWe will control the battlefield at the conclusion of this engagement, ensuring that any remaining enemy assets are left for us to claim or destroy. This is our ground—stand fast, hold the line, and make certain they go no further.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 17, + "baseHeight": 70, + "widthScalingIncrement": 1, + "heightScalingIncrement": 0, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": "OpFor", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Frontline Disruption.xml b/data/scenariotemplates/Frontline Disruption.xml deleted file mode 100644 index 5db37fd6eb..0000000000 --- a/data/scenariotemplates/Frontline Disruption.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - Frontline Disruption - Disrupt and delay frontline force. - - PLAYER - false - false - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 70 - 17 - 0 - SpecificGroundTerrain - true - 1 - 0 - 1 - - - - Player - - -1 - false - -2 - 0 - false - true - true - true - false - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - OppositeEdge - OpFor - false - - - - OpFor - - -1 - false - -2 - 0 - false - false - true - false - false - - 2 - - 6 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - - 50 - 0 - None - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy 33% of the following forces before they can reach the destination edge. +1 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 33 - 0 - true - None - - - diff --git a/data/scenariotemplates/Frontline Engagement.json b/data/scenariotemplates/Frontline Engagement.json new file mode 100644 index 0000000000..f88a2404a9 --- /dev/null +++ b/data/scenariotemplates/Frontline Engagement.json @@ -0,0 +1,145 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Frontline Engagement", + "stratConScenarioType": "NONE", + "shortBriefing": "Engage and destroy enemy at the front.", + "detailedBriefing": "The enemy is fully committed to battle along the frontline, engaging our forces in a direct confrontation. Your mission is to break their offensive by defeating at least 33% of their forces. This engagement is a decisive clash—victory here will shift the momentum of the war in our favor.\n\nExpect a determined enemy response. They will not withdraw easily and may attempt to reinforce their position as losses mount. Strike hard, exploit weaknesses, and maintain battlefield control. This is not a delaying action—this is a battle for dominance.\n\nThe victor will control the battlefield at the end of the engagement, securing salvage and eliminating any remaining resistance. Ensure that when the dust settles, it is our forces standing over the wreckage. Crush them and claim the field.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeArc", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Frontline Engagement.xml b/data/scenariotemplates/Frontline Engagement.xml deleted file mode 100644 index 53c9223095..0000000000 --- a/data/scenariotemplates/Frontline Engagement.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - Frontline Engagement - Engage and destroy enemy at the front. - - VICTOR - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - 50 - 0 - OppositeArc - Player - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Gauntlet Run.json b/data/scenariotemplates/Gauntlet Run.json new file mode 100644 index 0000000000..3f2091c9c6 --- /dev/null +++ b/data/scenariotemplates/Gauntlet Run.json @@ -0,0 +1,180 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Gauntlet Run", + "stratConScenarioType": "NONE", + "shortBriefing": "Run a fortified corridor and get the force out the far side.", + "detailedBriefing": "The only way out is forward, straight down a corridor the enemy has fortified with fixed emplacements. This is not a fight to win—it is a fight to survive and keep moving. Stopping to trade fire with dug-in guns is how you die here.\n\nPush through, keep your speed up, and get the bulk of the force out the far edge. Some losses are inevitable running a gauntlet like this; a command that gets most of its strength clear has done its job. Do not let them pin you in the kill zone.\n\nGet 50% of the force to the far edge. Speed is survival.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 2, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Mountain", + "ColdMountain", + "HotMountainsDry", + "HotMountainsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Emplacements": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.75, + "deploymentZones": [ + 5 + ], + "destinationZone": 5, + "retreatThreshold": 0, + "allowedUnitType": 7, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Emplacements", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 3, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.75, + "deploymentZones": [], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": false, + "timeLimit": null, + "timeLimitScaleFactor": 2, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Gauntlet Run.xml b/data/scenariotemplates/Gauntlet Run.xml deleted file mode 100644 index d5532c53a4..0000000000 --- a/data/scenariotemplates/Gauntlet Run.xml +++ /dev/null @@ -1,178 +0,0 @@ - - - - Gauntlet Run - Run a fortified corridor and get the force out the far side. - - ENEMY - false - false - true - true - - - Mountain - ColdMountain - HotMountainsDry - HotMountainsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 2 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 2 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Emplacements - - -1 - false - 7 - 0 - false - false - true - false - false - - 5 - - 5 - 0 - 2 - 0.75 - Emplacements - 1 - 3 - 4 - 0 - - 0 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 2 - 0 - 2 - 0.75 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - SameEdge - Player - false - - RAIDER - CAVALRY - - - - - - - - Player - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Get 50% of the following forces to the far edge. +2 SVP if succeeded, -2 SVP if failed. - NORTH - ReachMapEdge - 50 - false - 2 - None - - - diff --git a/data/scenariotemplates/Heavy Recon Evasion.json b/data/scenariotemplates/Heavy Recon Evasion.json new file mode 100644 index 0000000000..79ab59e13d --- /dev/null +++ b/data/scenariotemplates/Heavy Recon Evasion.json @@ -0,0 +1,151 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Heavy Recon Evasion", + "stratConScenarioType": "NONE", + "shortBriefing": "Evade patrols while scanning enemy heavies.", + "detailedBriefing": "DISCLAIMER: it is recommended that you play this scenario with Double Blind enabled and with Single Blind disabled.\n\nYou are to advance toward an overwhelming enemy position and gather intelligence on their strength. This is a high-risk reconnaissance mission, and direct engagement is not an option. Stealth, speed, and deception will be your greatest assets.\n\nIf you are compromised, expect a swift and overwhelming response. Avoid unnecessary confrontations and prioritize evasion over combat. At least one of your units must survive.\n\nThe enemy will control the field at the end of the engagement, meaning there will be no reinforcements or recovery options. Get in, gather intel, and get out—undetected and alive.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 10, + "heightScalingIncrement": 10, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 1, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Forest", + "ColdForest", + "HotForest", + "Jungle", + "Swamp" + ] + }, + "scenarioModifiers": [ +"GoodIntel.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 25, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RECON", + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 25, + "fixedAmount": null, + "timeLimitType": "ScaledToPrimaryUnitCount", + "timeLimitAtMost": false, + "timeLimit": null, + "timeLimitScaleFactor": 1, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Heavy Recon Evasion.xml b/data/scenariotemplates/Heavy Recon Evasion.xml deleted file mode 100644 index d9793309d2..0000000000 --- a/data/scenariotemplates/Heavy Recon Evasion.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - Heavy Recon Evasion - Evade patrols while scanning enemy heavies. - - ENEMY - false - false - true - - - Forest - ColdForest - HotForest - Jungle - Swamp - - false - 0 - 0 - 10 - SpecificGroundTerrain - true - 1 - 1 - 10 - - GoodIntel.xml - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - - 25 - 0 - OppositeEdge - Player - false - - RECON - RAIDER - CAVALRY - - - - - - - - Player - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Preserve 25% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - Preserve - 25 - false - 1 - ScaledToPrimaryUnitCount - - - diff --git a/data/scenariotemplates/Hold Until Relief.json b/data/scenariotemplates/Hold Until Relief.json new file mode 100644 index 0000000000..7242493ecc --- /dev/null +++ b/data/scenariotemplates/Hold Until Relief.json @@ -0,0 +1,182 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Hold Until Relief", + "stratConScenarioType": "NONE", + "shortBriefing": "Hold against a superior force until your reinforcements arrive.", + "detailedBriefing": "You are caught out ahead of support, and a superior force is bearing down on you. Help is coming, but not soon—you must hold together long enough for the relief column to reach you.\n\nThe early turns are the dangerous ones: outnumbered and alone, you cannot trade blows evenly. Fight defensively, preserve your strength, and stay intact until reinforcements arrive to turn the tide. Throwing away units before help comes only guarantees there is nothing left to relieve.\n\nKeep the bulk of your command intact. Reinforcements are inbound—survive until they get here.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Hills", + "ColdHills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [ +"PreBattleDamageAllies.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.5, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeArc", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + }, + "Reinforcements": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 0.5, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Reinforcements", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 4, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 2, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Hold Until Relief.xml b/data/scenariotemplates/Hold Until Relief.xml deleted file mode 100644 index 73eeb70f40..0000000000 --- a/data/scenariotemplates/Hold Until Relief.xml +++ /dev/null @@ -1,178 +0,0 @@ - - - - Hold Until Relief - Hold against a superior force until your reinforcements arrive. - - VICTOR - false - false - true - true - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - PreBattleDamageAllies.xml - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Reinforcements - - -1 - false - -2 - 4 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 0.5 - Reinforcements - 0 - 2 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 1 - true - false - true - false - false - - 5 - 0 - 2 - 1.5 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - OppositeArc - Player - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - - - - Player - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Preserve 50% of the following forces until relief arrives. +2 SVP if succeeded, -2 SVP if failed. - NONE - Preserve - 50 - true - None - - - diff --git a/data/scenariotemplates/Hostile Facility.json b/data/scenariotemplates/Hostile Facility.json new file mode 100644 index 0000000000..8d73394fea --- /dev/null +++ b/data/scenariotemplates/Hostile Facility.json @@ -0,0 +1,183 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Facility Assault", + "stratConScenarioType": "HOSTILE_FACILITY", + "shortBriefing": "Assault and weaken enemy-held facility.", + "detailedBriefing": "A hidden enemy-controlled facility has been identified for destruction. This installation is too valuable to remain in enemy hands, and its defenders must be eliminated to ensure it is no longer operational. Your mission is to destroy at least 50% of the defending forces. This is not an occupation—this is eradication.\n\nThe priority is destruction, not capture. Do not concern yourself with securing the facility. The enemy will fight to protect this installation, but their defenses will crumble under sustained pressure. Crush their forces, level their defenses, and ensure that when this battle is over, the facility is of no use to anyone.\n\nThe victor will control the battlefield at the end of the engagement. If the facility remains salvageable after the assault, we will destroy it. The enemy will be left with nothing but ruins. Execute with overwhelming force and leave no doubt who owns this battlefield.", + "isHostileFacility": true, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "TemperateFacility", + "ColdFacility", + "HotFacility", + "FrozenFacility" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 9 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Base Defenses": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.1, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 7, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Base Defenses", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "FIRE_SUPPORT", + "SR_FIRE_SUPPORT", + "ARTILLERY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Hostile Facility.xml b/data/scenariotemplates/Hostile Facility.xml deleted file mode 100644 index 558ccae2c2..0000000000 --- a/data/scenariotemplates/Hostile Facility.xml +++ /dev/null @@ -1,177 +0,0 @@ - - - - Facility Assault - HOSTILE_FACILITY - Assault and weaken enemy-held facility. - - VICTOR - true - - - TemperateFacility - ColdFacility - HotFacility - FrozenFacility - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Base Defenses - - -1 - false - 7 - 0 - false - false - true - false - false - - 10 - - 5 - 0 - 2 - 0.1 - Base Defenses - 1 - 5 - 4 - 0 - - 50 - 0 - None - false - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 9 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 1 - true - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - - 50 - 0 - None - false - - FIRE_SUPPORT - SR_FIRE_SUPPORT - ARTILLERY - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 50% of the defending forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 50 - true - None - - - diff --git a/data/scenariotemplates/Intercept Engagement.json b/data/scenariotemplates/Intercept Engagement.json new file mode 100644 index 0000000000..3990097438 --- /dev/null +++ b/data/scenariotemplates/Intercept Engagement.json @@ -0,0 +1,179 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Intercept Engagement", + "stratConScenarioType": "NONE", + "shortBriefing": "Break through or destroy intercepting force.", + "detailedBriefing": "One of your forces has been intercepted by a large enemy contingent, cutting off their path to safety. The enemy intends to encircle and destroy your units before they can regroup. Your mission is to break through their lines and reach safety or destroy at least 50% of their forces to render them combat ineffective.\n\nThe enemy holds the advantage in numbers and positioning, but they are not unbeatable. A direct breakthrough will require speed, coordination, and decisive strikes against their weakest points. If a clean escape is not possible, you must shift to a battle of attrition—eliminating 50% of their forces will ensure they can no longer threaten your retreat.\n\nThe enemy will control the battlefield at the end of the engagement, meaning no recovery of fallen assets will be possible. Time is against you—break out before they close the trap, or break them so thoroughly that they can no longer fight.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Hills", + "ColdHills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeArc", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + }, + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Intercept Engagement.xml b/data/scenariotemplates/Intercept Engagement.xml deleted file mode 100644 index 0b8a3796f2..0000000000 --- a/data/scenariotemplates/Intercept Engagement.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - - Intercept Engagement - Break through or destroy intercepting force. - - ENEMY - true - true - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - 50 - 0 - OppositeArc - Player - false - - RAIDER - CAVALRY - - - - - - - - Player - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Crippled units do not count towards this objective. - - Reach the destination edge with 50% of the following forces. +2 SVP if succeeded, -1 SVP if failed. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 50% the following forces. +2 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 50 - 0 - true - None - - - diff --git a/data/scenariotemplates/Intercept the Escapees.json b/data/scenariotemplates/Intercept the Escapees.json new file mode 100644 index 0000000000..0652f93e68 --- /dev/null +++ b/data/scenariotemplates/Intercept the Escapees.json @@ -0,0 +1,211 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Intercept the Escapees", + "stratConScenarioType": "SPECIAL_JAIL_BREAK", + "shortBriefing": "Prevent the escapees from linking up with enemy forces.", + "detailedBriefing": "Allied command has located a group of escaped prisoners, and enemy forces are moving to recover them. These individuals possess critical intelligence and cannot be allowed to fall back into enemy hands. Your mission is to eliminate the prisoners or destroy at least 33% of the enemy recovery team to ensure their operation fails.\n\nThe enemy will likely deploy fast-moving extraction units or specialized recovery teams to secure the prisoners before we can intervene. Expect them to use speed and misdirection, avoiding direct combat whenever possible. Intercept their efforts, neutralize the prisoners before they can be extracted, and cripple the recovery force to prevent future attempts.\n\nFailure to prevent the enemy from rescuing the prisoners will grant them valuable intelligence, jeopardizing operations in this sector (the loss of 1 CVP, StratCon only). That is not an option. The victor will control the battlefield at the end of the engagement, giving us the opportunity to secure the area and eliminate any remaining threats.\n\nExecute with precision. The enemy must leave empty-handed.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 25, + "baseHeight": 25, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Hills", + "ColdHills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 3 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": null, + "syncRetreatThreshold": false, + "arrivalTurn": -3, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": -3, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RECON", + "RAIDER", + "CAVALRY" + ] + }, + "Escapees": { + "forceAlignment": 2, + "generationMethod": 6, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Escapees", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Escapees" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Intercept the Escapees.xml b/data/scenariotemplates/Intercept the Escapees.xml deleted file mode 100644 index 829daa60c5..0000000000 --- a/data/scenariotemplates/Intercept the Escapees.xml +++ /dev/null @@ -1,204 +0,0 @@ - - - - Intercept the Escapees - SPECIAL_JAIL_BREAK - Prevent the escapees from linking up with enemy forces. - - VICTOR - false - false - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 25 - 25 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - -3 - true - true - true - true - false - - 3 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 0 - 0 - false - - - - OpFor - - -1 - false - -2 - -3 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - 50 - 0 - OppositeEdge - Player - false - - RECON - RAIDER - CAVALRY - - - - - Escapees - - -1 - false - -2 - 0 - true - false - true - false - false - - 10 - - 6 - 0 - 2 - 1.0 - Escapees - 6 - 5 - 4 - 1 - - 0 - 0 - None - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following force. +2 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - - Escapees - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy 100% of the following forces. +2 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 100 - true - None - - - diff --git a/data/scenariotemplates/Interception Defense.json b/data/scenariotemplates/Interception Defense.json new file mode 100644 index 0000000000..0b363d8351 --- /dev/null +++ b/data/scenariotemplates/Interception Defense.json @@ -0,0 +1,146 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Interception Defense", + "stratConScenarioType": "NONE", + "shortBriefing": "Stop enemy from reaching the edge.", + "detailedBriefing": "Enemy forces are on the move, heading toward an unknown objective, and we cannot allow them to reach their destination. Their intent remains unclear, but their movement suggests a high-value mission. Your objective is to intercept and engage the enemy, destroying at least 33% of their forces before they can escape via the opposite edge of the engagement zone.\n\nExpect the enemy to favor speed and mobility, avoiding prolonged engagements as they push toward their objective. Deny them their escape route, break their formation, and ensure they do not reach their goal intact. They may attempt to punch through with concentrated force or use diversionary tactics to slip past your defenses—anticipate their maneuvers and shut them down.\n\nWe will control the battlefield at the end of the engagement, securing any remaining assets and preventing any further movement from enemy reinforcements. This mission is about disruption and dominance—cripple their forces, seize the field, and ensure that whatever they were planning never comes to pass.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 17, + "baseHeight": 50, + "widthScalingIncrement": 1, + "heightScalingIncrement": 0, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Hills", + "ColdHills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Interception Defense.xml b/data/scenariotemplates/Interception Defense.xml deleted file mode 100644 index 386cf3c969..0000000000 --- a/data/scenariotemplates/Interception Defense.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - Interception Defense - Stop enemy from reaching the edge. - - PLAYER - false - false - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 50 - 17 - 0 - SpecificGroundTerrain - true - 1 - 0 - 1 - - - - Player - - -1 - false - -2 - 0 - false - true - true - true - false - - 10 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 2 - - 6 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - - 50 - 0 - None - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy 33% of the following forces before they can reach the destination edge. +1 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 33 - 0 - true - None - - - diff --git a/data/scenariotemplates/Irregular Force Assault.json b/data/scenariotemplates/Irregular Force Assault.json new file mode 100644 index 0000000000..54812a44a7 --- /dev/null +++ b/data/scenariotemplates/Irregular Force Assault.json @@ -0,0 +1,213 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Irregular Force Assault", + "stratConScenarioType": "NONE", + "shortBriefing": "Engage infantry supported by frontline forces.", + "detailedBriefing": "Hostile infantry and local insurgents are being reinforced by frontline enemy units, creating a growing threat in this sector. If left unchecked, their combined strength will destabilize our operations and undermine our control of the region. Your mission is to engage and destroy at least 50% of the combined enemy force, neutralizing their ability to continue resistance.\n\nExpect a mix of tactics—the insurgents will use terrain, ambushes, and guerrilla warfare, while the frontline units will provide structured firepower and coordination. Do not underestimate either force. Eliminate them with precision, break their ability to fight, and ensure this sector is pacified.\n\nThe victor will control the battlefield at the end of the engagement, securing any remaining assets and preventing further insurgent activity. This is a mission of suppression and dominance—strike hard, eliminate resistance, and leave no doubt who commands this region.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Urban", + "ColdUrban", + "HotUrban" + ] + }, + "scenarioModifiers": [ +"Rookies.json" + ], + "scenarioForces": { + "Infantry": { + "forceAlignment": 2, + "generationMethod": 2, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 3, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Infantry", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 3, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": -1, + "generationOrder": 6, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "FIRE_SUPPORT", + "INF_SUPPORT" + ] + }, + "Irregulars": { + "forceAlignment": 2, + "generationMethod": 2, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -1, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Irregulars", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 1, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "CIVILIAN", + "APC" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Infantry", + "OpFor", + "Irregulars" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Irregular Force Assault.xml b/data/scenariotemplates/Irregular Force Assault.xml deleted file mode 100644 index eb36073977..0000000000 --- a/data/scenariotemplates/Irregular Force Assault.xml +++ /dev/null @@ -1,210 +0,0 @@ - - - - Irregular Force Assault - Engage infantry supported by frontline forces. - - VICTOR - false - false - - - Urban - ColdUrban - HotUrban - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - Rookies.xml - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Infantry - - -1 - false - 3 - 0 - false - false - true - false - false - - 2 - - 5 - 0 - 2 - 1.0 - Infantry - 2 - 5 - 4 - 0 - - 50 - 0 - None - false - - - - Irregulars - - -1 - false - -1 - 0 - false - false - true - false - false - - 2 - - 5 - 0 - 2 - 1.0 - Irregulars - 2 - 5 - 1 - 0 - - 50 - 0 - None - false - - CIVILIAN - APC - - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - -1 - 2 - 1.0 - OpFor - 1 - 6 - 3 - 1 - - 50 - 0 - OppositeEdge - Player - false - - FIRE_SUPPORT - INF_SUPPORT - - - - - - - - OpFor - Infantry - Irregulars - - - - - ScenarioVictory - Fixed - 1 - - - - ScenarioDefeat - Fixed - 1 - - - Destroy, cripple or force the withdrawal of 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Irregular Force Suppression.json b/data/scenariotemplates/Irregular Force Suppression.json new file mode 100644 index 0000000000..6d1006a275 --- /dev/null +++ b/data/scenariotemplates/Irregular Force Suppression.json @@ -0,0 +1,179 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Irregular Force Suppression", + "stratConScenarioType": "NONE", + "shortBriefing": "Engage and defeat irregular-supported force.", + "detailedBriefing": "Local insurgent forces are receiving direct military support in this region, strengthening their ability to disrupt our operations. If they are not dealt with decisively, they will continue to erode our control and pose a long-term threat. Your mission is to engage and destroy at least 50% of the combined enemy force, cutting off their ability to operate effectively.\n\nExpect a blend of unconventional tactics and structured military resistance. The insurgents will use ambushes, terrain familiarity, and hit-and-run attacks, while their military allies will bring firepower, coordination, and heavier assets into the fight. Dismantle their cohesion, eliminate key targets, and disrupt their ability to function as a fighting force.\n\nThe victor will control the battlefield at the end of the engagement, securing any remaining assets and ensuring this region remains under our command. This mission is about eradication—strike hard, leave no room for recovery, and establish total dominance.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Urban", + "ColdUrban", + "HotUrban" + ] + }, + "scenarioModifiers": [ +"Rookies.json" + ], + "scenarioForces": { + "Infantry": { + "forceAlignment": 2, + "generationMethod": 2, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 3, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Infantry", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Irregulars": { + "forceAlignment": 2, + "generationMethod": 2, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -1, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Irregulars", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 1, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "CIVILIAN", + "APC" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Infantry", + "OpFor", + "Irregulars" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Irregular Force Suppression.xml b/data/scenariotemplates/Irregular Force Suppression.xml deleted file mode 100644 index d2329bd63b..0000000000 --- a/data/scenariotemplates/Irregular Force Suppression.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - - Irregular Force Suppression - Engage and defeat irregular-supported force. - - VICTOR - false - false - - - Urban - ColdUrban - HotUrban - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - Rookies.xml - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Infantry - - -1 - false - 3 - 0 - false - false - true - false - false - - 2 - - 5 - 0 - 2 - 1.0 - Infantry - 2 - 5 - 4 - 0 - - 50 - 0 - None - false - - - - Irregulars - - -1 - false - -1 - 0 - false - false - true - false - false - - 2 - - 5 - 0 - 2 - 1.0 - Irregulars - 2 - 5 - 1 - 0 - - 50 - 0 - None - false - - CIVILIAN - APC - - - - - - - - OpFor - Infantry - Irregulars - - - - - ScenarioVictory - Fixed - 1 - - - - ScenarioDefeat - Fixed - 1 - - - Destroy, cripple or force the withdrawal of 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Isolated DropShip Defense.json b/data/scenariotemplates/Isolated DropShip Defense.json new file mode 100644 index 0000000000..1eb9977f17 --- /dev/null +++ b/data/scenariotemplates/Isolated DropShip Defense.json @@ -0,0 +1,228 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Isolated DropShip Defense", + "stratConScenarioType": "NONE", + "shortBriefing": "Defend isolated DropShip from interception.", + "detailedBriefing": "An allied DropShip has been isolated behind enemy lines, and hostile forces are closing in fast. Your mission is to defend the DropShip until it can lift off or, if necessary, destroy at least 33% of the enemy forces to break their assault. If the DropShip fails to escape and the enemy remains intact, our strategic situation will be severely compromised.\n\nExpect a relentless assault from multiple directions, with enemy units prioritizing disabling the DropShip before it can launch. They may attempt to immobilize it, breach its hull, or delay its departure long enough for reinforcements to arrive. You must hold the line, intercept high-threat targets, and keep the DropShip secure until it achieves liftoff. If the situation demands it, eliminating a third of the enemy force will force them to retreat, buying the DropShip a chance to escape.\n\nThe enemy will control the field at the end of the engagement, meaning no salvage or recovery will be possible. This is a battle of survival—ensure the DropShip gets out or cripple the enemy so thoroughly that they can no longer threaten it.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 10, + "heightScalingIncrement": 10, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "DropZone" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeArc", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "ARTILLERY", + "FIRE_SUPPORT", + "FIRE_SUPPORT", + "FIRE_SUPPORT", + "FIRE_SUPPORT", + "FIRE_SUPPORT", + "FIRE_SUPPORT", + "SR_FIRE_SUPPORT", + "SR_FIRE_SUPPORT", + "SR_FIRE_SUPPORT", + "SR_FIRE_SUPPORT", + "SR_FIRE_SUPPORT", + "SR_FIRE_SUPPORT" + ] + }, + "DropShip": { + "forceAlignment": 1, + "generationMethod": 4, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 11, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "DropShip", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 3, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "MEK_CARRIER", + "MEK_CARRIER", + "ASF_CARRIER", + "VEE_CARRIER", + "INFANTRY_CARRIER", + "TROOP_CARRIER", + "CIVILIAN" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "ScaledToPrimaryUnitCount", + "timeLimitAtMost": false, + "timeLimit": null, + "timeLimitScaleFactor": 2, + "associatedForceNames": [ + "DropShip" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [ + "If the DropShip cannot be deployed regenerate the map within MegaMek." + ] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Isolated DropShip Defense.xml b/data/scenariotemplates/Isolated DropShip Defense.xml deleted file mode 100644 index 79fe71eaf5..0000000000 --- a/data/scenariotemplates/Isolated DropShip Defense.xml +++ /dev/null @@ -1,224 +0,0 @@ - - - - Isolated DropShip Defense - Defend isolated DropShip from interception. - - ENEMY - false - false - true - true - - - DropZone - - false - 0 - 0 - 10 - SpecificGroundTerrain - true - 1 - 0 - 10 - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 1 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - OppositeArc - Player - false - - ARTILLERY - FIRE_SUPPORT - FIRE_SUPPORT - FIRE_SUPPORT - FIRE_SUPPORT - FIRE_SUPPORT - FIRE_SUPPORT - SR_FIRE_SUPPORT - SR_FIRE_SUPPORT - SR_FIRE_SUPPORT - SR_FIRE_SUPPORT - SR_FIRE_SUPPORT - SR_FIRE_SUPPORT - - - - - DropShip - - -1 - false - 11 - 0 - false - false - true - false - false - - 10 - - 5 - 1 - 1 - 1.0 - DropShip - 4 - 3 - 4 - 0 - - 50 - 0 - None - false - - MEK_CARRIER - MEK_CARRIER - ASF_CARRIER - VEE_CARRIER - INFANTRY_CARRIER - TROOP_CARRIER - CIVILIAN - - - - - - - - DropShip - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - If the DropShip cannot be deployed regenerate the map within MegaMek. - - Protect the following forces. +2 SVP if succeeded, -1 SVP if failed. - NONE - Preserve - 100 - false - 2 - ScaledToPrimaryUnitCount - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy, cripple or force to withdraw 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Last Stand.json b/data/scenariotemplates/Last Stand.json new file mode 100644 index 0000000000..ac9e615716 --- /dev/null +++ b/data/scenariotemplates/Last Stand.json @@ -0,0 +1,171 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Last Stand", + "stratConScenarioType": "NONE", + "shortBriefing": "Hold out against a superior force and keep enough of the unit intact to withdraw.", + "detailedBriefing": "There is no line behind us and no help coming in time. A superior enemy force is closing from a broad front, and we cannot hold this ground—only bleed them for it and get out with a fighting command still intact.\n\nThis is not a battle to win; it is a battle to survive. Make the enemy pay for every meter, keep your formation together, and preserve enough of the unit to fight another day. A command wiped out here achieves nothing, no matter how many it took with it.\n\nPreserve the bulk of your force and, if you can, break their assault before you pull out. The enemy will hold this field when it is over—make sure enough of us are not on it.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Hills", + "ColdHills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.25, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeArc", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Last Stand.xml b/data/scenariotemplates/Last Stand.xml deleted file mode 100644 index e9ba96c149..0000000000 --- a/data/scenariotemplates/Last Stand.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - Last Stand - Hold out against a superior force and keep enough of the unit intact to withdraw. - - ENEMY - false - false - true - true - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 1 - true - false - true - false - false - - 5 - 0 - 2 - 1.25 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - OppositeArc - Player - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - - - - Player - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Preserve 50% of the following forces. +2 SVP if succeeded, -2 SVP if failed. - NONE - Preserve - 50 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - Destroy or rout 33% of the following forces to break their assault. +1 SVP if succeeded. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Low-Atmosphere Air Intercept.json b/data/scenariotemplates/Low-Atmosphere Air Intercept.json new file mode 100644 index 0000000000..b28f5156ae --- /dev/null +++ b/data/scenariotemplates/Low-Atmosphere Air Intercept.json @@ -0,0 +1,139 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Low-Atmosphere Air Intercept", + "stratConScenarioType": "NONE", + "shortBriefing": "Intercept and destroy hostile air forces.", + "detailedBriefing": "A hostile aircraft force is inbound, and we have an opportunity to intercept and cripple their strength before they can achieve their objective. Your mission is to engage and destroy at least 33% of the enemy force, ensuring their airpower is severely diminished.\n\nExpect high-speed engagements, aggressive maneuvers, and coordinated enemy tactics. Control the airspace, dictate the terms of engagement, and eliminate their ability to regroup. Do not allow them to disengage intact—press the attack and ensure their losses are irreversible.\n\nThe victor will control the battlefield at the end of the engagement, securing dominance over the skies and denying the enemy future operational capabilities in this region. Strike fast, strike hard, and establish air superiority.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 2, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "LowAtmosphere", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Low-Atmosphere Air Intercept.xml b/data/scenariotemplates/Low-Atmosphere Air Intercept.xml deleted file mode 100644 index d0821a5c3c..0000000000 --- a/data/scenariotemplates/Low-Atmosphere Air Intercept.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - Low-Atmosphere Air Intercept - Intercept and destroy hostile air forces. - - VICTOR - - - false - 50 - 50 - 5 - LowAtmosphere - true - 1 - 2 - 5 - - - - Player - - -1 - false - -3 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 5 - None - false - - - - OpFor - - -1 - false - -3 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - 50 - 5 - OppositeEdge - Player - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Low-Atmosphere DropShip Assault.json b/data/scenariotemplates/Low-Atmosphere DropShip Assault.json new file mode 100644 index 0000000000..73a8d99a4f --- /dev/null +++ b/data/scenariotemplates/Low-Atmosphere DropShip Assault.json @@ -0,0 +1,178 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Low-Atmosphere DropShip Assault", + "stratConScenarioType": "NONE", + "shortBriefing": "Destroy DropShip before it escape.", + "detailedBriefing": "A hostile DropShip is attempting to escape in low atmosphere, and we cannot allow it to break free. Whether it carries enemy personnel, critical cargo, or valuable intelligence, its destruction is paramount. Your mission is to intercept and destroy the DropShip before it can escape.\n\nExpect the enemy to deploy defensive escorts and countermeasures to protect their vessel. They may attempt evasive maneuvers or a high-speed burn to reach the upper atmosphere. You must strike decisively and disable or destroy the DropShip before it leaves your engagement range.\n\nWe will control the field at the end of the engagement, ensuring that any wreckage or surviving assets remain in our hands. This is a one-shot opportunity—do not let them escape.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 2, + "additionalMapSheetWide": 2, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "LowAtmosphere", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": "DropShip", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Escorts": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Escorts", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "DropShip": { + "forceAlignment": 2, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": 11, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "DropShip", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [ + "MEK_CARRIER", + "MEK_CARRIER", + "ASF_CARRIER", + "VEE_CARRIER", + "INFANTRY_CARRIER", + "TROOP_CARRIER", + "CIVILIAN" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "DropShip" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Low-Atmosphere DropShip Assault.xml b/data/scenariotemplates/Low-Atmosphere DropShip Assault.xml deleted file mode 100644 index fad2fbcde8..0000000000 --- a/data/scenariotemplates/Low-Atmosphere DropShip Assault.xml +++ /dev/null @@ -1,174 +0,0 @@ - - - - Low-Atmosphere DropShip Assault - Destroy DropShip before it escape. - - PLAYER - - - false - 50 - 50 - 5 - LowAtmosphere - true - 2 - 2 - 5 - - - - Player - - -1 - false - -3 - 0 - false - true - true - true - false - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 5 - OppositeEdge - DropShip - false - - - - DropShip - - -1 - false - 11 - 0 - false - false - true - false - false - - 2 - - 6 - 1 - 2 - 1.0 - OpFor DropShip - 3 - 5 - 4 - 0 - - 50 - 5 - false - OppositeEdge - Player - false - - MEK_CARRIER - MEK_CARRIER - ASF_CARRIER - VEE_CARRIER - INFANTRY_CARRIER - TROOP_CARRIER - CIVILIAN - - - - - Escorts - - -1 - false - -3 - 0 - true - false - true - false - false - - 5 - 1 - 2 - 1.0 - Escorts - 1 - 5 - 4 - 1 - - 50 - 5 - OppositeEdge - Player - false - - - - - - - DropShip - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or cripple the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 100 - true - None - - - diff --git a/data/scenariotemplates/Low-Atmosphere DropShip Escort.json b/data/scenariotemplates/Low-Atmosphere DropShip Escort.json new file mode 100644 index 0000000000..90d9fafe21 --- /dev/null +++ b/data/scenariotemplates/Low-Atmosphere DropShip Escort.json @@ -0,0 +1,212 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Low-Atmosphere DropShip Escort", + "stratConScenarioType": "NONE", + "shortBriefing": "Escort DropShip, defeat enemy forces.", + "detailedBriefing": "An allied DropShip is under threat, with enemy air assets moving to intercept before it can reach safety. This vessel is critical to our operations, and its loss is not an option. Your mission is to protect the DropShip and destroy at least 33% of the attacking enemy forces.\n\nExpect aggressive aerial engagements, fast-moving strike craft, and possible long-range missile attacks. Use superior positioning, coordinated fire, and defensive tactics to neutralize threats before they can bring down our DropShip. Every enemy unit destroyed increases the DropShip’s chance of survival—hit them hard and make them pay for their assault.\n\nThe victor will control the battlefield at the end of the engagement, ensuring we hold the airspace and any remaining salvage. Defend the DropShip, eliminate the threat, and dominate the skies.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 17, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 2, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "LowAtmosphere", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "INTERCEPTOR" + ] + }, + "DropShip": { + "forceAlignment": 1, + "generationMethod": 4, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": 11, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "DropShip", + "syncedForceName": "Player", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 4, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "MEK_CARRIER", + "MEK_CARRIER", + "ASF_CARRIER", + "VEE_CARRIER", + "INFANTRY_CARRIER", + "TROOP_CARRIER", + "CIVILIAN" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "DropShip" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + } + ] +} diff --git a/data/scenariotemplates/Low-Atmosphere DropShip Escort.xml b/data/scenariotemplates/Low-Atmosphere DropShip Escort.xml deleted file mode 100644 index 6885e15759..0000000000 --- a/data/scenariotemplates/Low-Atmosphere DropShip Escort.xml +++ /dev/null @@ -1,207 +0,0 @@ - - - - Low-Atmosphere DropShip Escort - Escort DropShip, defeat enemy forces. - - VICTOR - false - false - true - - - false - 17 - 50 - 5 - LowAtmosphere - true - 1 - 2 - 5 - - - - Player - - -1 - false - -3 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 5 - None - false - - - - OpFor - - -1 - false - -3 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 5 - OppositeEdge - Player - false - - INTERCEPTOR - - - - - DropShip - - -1 - false - 11 - 0 - false - false - true - false - false - - 6 - 1 - 1 - 1.0 - DropShip - 4 - 4 - 4 - 1 - - 50 - 5 - SameEdge - Player - false - - MEK_CARRIER - MEK_CARRIER - ASF_CARRIER - VEE_CARRIER - INFANTRY_CARRIER - TROOP_CARRIER - CIVILIAN - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - - DropShip - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Crippled units do not count towards this objective. - - Allow the designated forces to reach their destination. +2 SVP if succeeded, -1 SVP if failed. - NORTH - ReachMapEdge - 100 - true - None - - - diff --git a/data/scenariotemplates/Low-Atmosphere Interception.json b/data/scenariotemplates/Low-Atmosphere Interception.json new file mode 100644 index 0000000000..f35aeb005a --- /dev/null +++ b/data/scenariotemplates/Low-Atmosphere Interception.json @@ -0,0 +1,141 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Low-Atmosphere Interception", + "stratConScenarioType": "NONE", + "shortBriefing": "Destroy hostile air forces.", + "detailedBriefing": "Your forces have been intercepted by enemy forces, cutting them off before they can complete their original mission. This is an intentional move to stall our operations and weaken our ability to project force. Your mission is to break free from the engagement by destroying at least 33% of the enemy force.\n\nThe enemy will press hard to keep you contained, using aggressive maneuvers and potentially overwhelming numbers to delay your advance. Do not get bogged down in a prolonged engagement—focus fire, break their cohesion, and force them into retreat. Once their losses become unsustainable, the path forward will be clear.\n\nThere will be no time to secure the battlefield at the end of the engagement, meaning any salvage will be lost. Speed is essential—eliminate the enemy and move out before reinforcements arrive.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 2, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "LowAtmosphere", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "INTERCEPTOR" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Low-Atmosphere Interception.xml b/data/scenariotemplates/Low-Atmosphere Interception.xml deleted file mode 100644 index 169be1e05a..0000000000 --- a/data/scenariotemplates/Low-Atmosphere Interception.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - Low-Atmosphere Interception - Destroy hostile air forces. - - ENEMY - true - true - - - false - 50 - 50 - 5 - LowAtmosphere - true - 1 - 2 - 5 - - - - Player - - -1 - false - -3 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 5 - None - false - - - - OpFor - - -1 - false - -3 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - 50 - 5 - OppositeEdge - Player - false - - INTERCEPTOR - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Low-Atmosphere Reinforcements Intercepted.json b/data/scenariotemplates/Low-Atmosphere Reinforcements Intercepted.json new file mode 100644 index 0000000000..971438bf21 --- /dev/null +++ b/data/scenariotemplates/Low-Atmosphere Reinforcements Intercepted.json @@ -0,0 +1,141 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Low-Atmosphere Reinforcements Intercepted", + "stratConScenarioType": "NONE", + "shortBriefing": "Destroy hostile air forces.", + "detailedBriefing": "Your reinforcements have been intercepted by enemy forces, cutting them off before they can complete their original mission. This is an intentional move to stall our operations and weaken our ability to project force. Your mission is to break free from the engagement by destroying at least 33% of the enemy force. Until that threshold is met, you will remain pinned down and unable to proceed.\n\nThe enemy will press hard to keep you contained, using aggressive maneuvers and potentially overwhelming numbers to delay your advance. Do not get bogged down in a prolonged engagement—focus fire, break their cohesion, and force them into retreat. Once their losses become unsustainable, the path forward will be clear.\n\nThere will be no time to secure the battlefield at the end of the engagement, meaning any salvage will be lost. Speed is essential—eliminate the enemy and move out before reinforcements arrive.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 2, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "LowAtmosphere", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "INTERCEPTOR" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Low-Atmosphere Reinforcements Intercepted.xml b/data/scenariotemplates/Low-Atmosphere Reinforcements Intercepted.xml deleted file mode 100644 index 0456037875..0000000000 --- a/data/scenariotemplates/Low-Atmosphere Reinforcements Intercepted.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - Low-Atmosphere Reinforcements Intercepted - Destroy hostile air forces. - - ENEMY - - - false - 50 - 50 - 5 - LowAtmosphere - true - 1 - 2 - 5 - - - - Player - - -1 - false - -3 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 5 - None - false - - - - OpFor - - -1 - false - -3 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - 50 - 5 - OppositeEdge - Player - false - - INTERCEPTOR - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Meeting Engagement.json b/data/scenariotemplates/Meeting Engagement.json new file mode 100644 index 0000000000..8547e4de18 --- /dev/null +++ b/data/scenariotemplates/Meeting Engagement.json @@ -0,0 +1,148 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Meeting Engagement", + "stratConScenarioType": "NONE", + "shortBriefing": "Two forces collide unexpectedly—win the encounter battle.", + "detailedBriefing": "Neither side chose this ground. Two forces on the move have blundered into each other, and now it is a straight fight with no prepared positions and no advantage but what you make on the fly.\n\nThis is a test of reaction and maneuver. Both columns arrive at the same time from opposite approaches; whoever concentrates fastest and hits hardest carries the day. There are no tricks here—just steel against steel.\n\nBreak the enemy force. The victor holds the field.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Meeting Engagement.xml b/data/scenariotemplates/Meeting Engagement.xml deleted file mode 100644 index 7fd6735355..0000000000 --- a/data/scenariotemplates/Meeting Engagement.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - Meeting Engagement - Two forces collide unexpectedly—win the encounter battle. - - VICTOR - false - false - true - true - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 6 - - 2 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 1 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - OppositeEdge - Player - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Destroy or rout 33% of the following forces. +2 SVP if succeeded, -2 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Minor Engagement.json b/data/scenariotemplates/Minor Engagement.json new file mode 100644 index 0000000000..968788b98e --- /dev/null +++ b/data/scenariotemplates/Minor Engagement.json @@ -0,0 +1,145 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Minor Engagement", + "stratConScenarioType": "NONE", + "shortBriefing": "Engage and destroy enemy forces.", + "detailedBriefing": "The enemy has positioned forces in this area, but they are not yet fully committed to battle. Your objective is to inflict enough damage to force them to withdraw. Destroy at least 25% of their forces to break their resolve and make it clear that holding this position is not worth the cost.\n\nThis is a show of strength—hit them hard, make them bleed, and leave no doubt that further resistance is futile. They may attempt a counteroffensive, but once their losses mount, they will have no choice but to retreat.\n\nThe victor will control the battlefield at the end of the engagement, securing the area and denying the enemy any future foothold here. Send a message—this ground belongs to us.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 3, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 25, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Minor Engagement.xml b/data/scenariotemplates/Minor Engagement.xml deleted file mode 100644 index 96476eeec2..0000000000 --- a/data/scenariotemplates/Minor Engagement.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - Minor Engagement - Engage and destroy enemy forces. - - VICTOR - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 3 - 1 - 50 - 0 - OppositeEdge - Player - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 25% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 25 - true - None - - - diff --git a/data/scenariotemplates/Mole Hunt.json b/data/scenariotemplates/Mole Hunt.json new file mode 100644 index 0000000000..b3e3c8ee8f --- /dev/null +++ b/data/scenariotemplates/Mole Hunt.json @@ -0,0 +1,209 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Mole Hunt", + "stratConScenarioType": "NONE", + "shortBriefing": "Cut through the bodyguard and eliminate the mole.", + "detailedBriefing": "We have finally pinned down the mole who has been bleeding our operations dry. They are no soldier—just one person on foot—but they are ringed by a hardened bodyguard detail that will not let you anywhere near them without a fight.\n\nDo not get distracted trading fire with the escort; they are not the point. Break or scatter the guard just enough to get a clean line on the target, and put the mole down. Expect them to shelter behind their protectors and among the buildings, so you will have to dig them out.\n\nEliminate the mole. Nothing else in this engagement matters as much as that single kill.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Urban", + "ColdUrban", + "HotUrban" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Bodyguard": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Bodyguard", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [ + "Mole" + ], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + }, + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Mole": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 2, + "retreatThreshold": 0, + "allowedUnitType": 3, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Mole", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 3, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "CIVILIAN" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Mole" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Bodyguard" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Mole Hunt.xml b/data/scenariotemplates/Mole Hunt.xml deleted file mode 100644 index f33b764e73..0000000000 --- a/data/scenariotemplates/Mole Hunt.xml +++ /dev/null @@ -1,201 +0,0 @@ - - - - Mole Hunt - Cut through the bodyguard and eliminate the mole. - - VICTOR - false - false - - - Urban - ColdUrban - HotUrban - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 6 - - 2 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Mole - - -1 - false - 3 - 0 - false - false - true - false - false - - 10 - - 2 - 1 - 2 - 1.0 - Mole - 1 - 3 - 4 - 0 - - 0 - 0 - None - false - - CIVILIAN - - - - - Bodyguard - - -1 - false - -2 - 0 - true - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - Bodyguard - 1 - 5 - 4 - 0 - - Mole - - 50 - 0 - None - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - - - - Mole - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Destroy 100% of the following force. +2 SVP if succeeded, -2 SVP if failed. - NONE - Destroy - 100 - true - None - - - - Bodyguard - - - - - ScenarioVictory - Fixed - 1 - - - - - Destroy or rout 33% of the bodyguard detail. +1 SVP if succeeded. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Official Challenge.json b/data/scenariotemplates/Official Challenge.json new file mode 100644 index 0000000000..4426ebc60c --- /dev/null +++ b/data/scenariotemplates/Official Challenge.json @@ -0,0 +1,145 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Official Challenge", + "stratConScenarioType": "OFFICIAL_CHALLENGE", + "shortBriefing": "Display your prowess.", + "detailedBriefing": "A combat challenge has been issued through official channels. Deploy one (and only one) of your forces to fight on our behalf. The results of this duel will significantly impact morale.\n\nThe victor controls the field, and we will be the ones standing when the dust settles.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 0, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 4, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": -1, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Official Challenge.xml b/data/scenariotemplates/Official Challenge.xml deleted file mode 100644 index 44f38b7946..0000000000 --- a/data/scenariotemplates/Official Challenge.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - Official Challenge - OFFICIAL_CHALLENGE - Display your prowess. - - VICTOR - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - 0 - 0 - true - false - true - false - false - - 5 - -1 - 2 - 1.0 - Officer - 3 - 5 - 4 - 4 - 50 - 0 - OppositeEdge - Player - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 50% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 50 - true - None - - - diff --git a/data/scenariotemplates/Picket Line Breakthrough.json b/data/scenariotemplates/Picket Line Breakthrough.json new file mode 100644 index 0000000000..214c229195 --- /dev/null +++ b/data/scenariotemplates/Picket Line Breakthrough.json @@ -0,0 +1,152 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Picket Line Breakthrough", + "stratConScenarioType": "NONE", + "shortBriefing": "Break through enemy picket line.", + "detailedBriefing": "The enemy has established a picket line to screen their front, but a successful breakthrough will force them to redeploy reserves and grant us a strong strategic position. Your mission is to breach their defenses and reach the opposite edge of the engagement zone with at least 50% of your forces intact.\n\nExpect light screening forces supported by rapid response elements. The enemy will attempt to stall your advance while preparing a counterattack. Speed, decisive strikes, and maintaining momentum will be key to breaking through before they can reinforce.\n\nAs you will be pushing into enemy territory, we will be unable to secure the battlefield following the engagement. Any salvage or wreckage left behind will be lost, so prioritize survival and mission success over prolonged engagements. Punch through, force them to react, and establish dominance beyond their lines.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 17, + "baseHeight": 50, + "widthScalingIncrement": 1, + "heightScalingIncrement": 0, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 3, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + } + ] +} diff --git a/data/scenariotemplates/Picket Line Breakthrough.xml b/data/scenariotemplates/Picket Line Breakthrough.xml deleted file mode 100644 index d03e55f444..0000000000 --- a/data/scenariotemplates/Picket Line Breakthrough.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - Picket Line Breakthrough - Break through enemy picket line. - - ENEMY - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 50 - 17 - 0 - SpecificGroundTerrain - true - 1 - 0 - 1 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - false - false - true - false - false - - 10 - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 3 - 1 - - 50 - 0 - None - false - - RAIDER - CAVALRY - - - - - - - - Player - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Crippled units do not count towards this objective. - - Reach the destination edge with 50% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - diff --git a/data/scenariotemplates/Pivotal Battle.json b/data/scenariotemplates/Pivotal Battle.json new file mode 100644 index 0000000000..cb6871082a --- /dev/null +++ b/data/scenariotemplates/Pivotal Battle.json @@ -0,0 +1,147 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Pivotal Engagement", + "stratConScenarioType": "NONE", + "shortBriefing": "Decisive battle—defeat enemy forces.", + "detailedBriefing": "A massive enemy force has taken to the field, and if they are allowed to gain momentum, they will become an unstoppable threat. Your mission is to blunt their advance by destroying at least 25% of their forces, forcing them to slow their assault and reconsider their position.\n\nThe enemy is relying on overwhelming numbers, expecting to steamroll our defenses. Target high-value units, disrupt their formations, and make them bleed for every inch of ground. If they hesitate or falter, their offensive will collapse before it can reach full strength.\n\nThe victor will control the battlefield at the end of the engagement, ensuring we hold the ground and any remaining salvage. Stand firm, inflict maximum damage, and break their momentum before it’s too late.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [ +"Veterans.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.5, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeArc", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 3, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 25, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Pivotal Battle.xml b/data/scenariotemplates/Pivotal Battle.xml deleted file mode 100644 index 09c7aca823..0000000000 --- a/data/scenariotemplates/Pivotal Battle.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - Pivotal Engagement - Decisive battle—defeat enemy forces. - - VICTOR - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - Veterans.xml - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.5 - OpFor - 1 - 5 - 4 - 3 - 50 - 0 - OppositeArc - Player - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 25% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 25 - true - None - - - diff --git a/data/scenariotemplates/Prisoner Liberation.json b/data/scenariotemplates/Prisoner Liberation.json new file mode 100644 index 0000000000..c7a43b983c --- /dev/null +++ b/data/scenariotemplates/Prisoner Liberation.json @@ -0,0 +1,211 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Prisoner Liberation", + "stratConScenarioType": "NONE", + "shortBriefing": "Escort freed prisoners to friendly lines before the enemy recaptures them.", + "detailedBriefing": "We have broken open a holding camp and freed our people, but they are not safe yet. They are lightly equipped, exhausted, and a long way from friendly lines—and the enemy is already moving to run them down and drag them back.\n\nThe freed prisoners will make for our lines on their own; your job is to cover them. Get between them and their pursuers, keep the enemy off their backs, and see enough of them safely off the field. They cannot fight and they cannot be replaced—every one lost is one back in enemy hands.\n\nGet the freed prisoners to safety and drive off the pursuit. Failing them will cost us dearly. The victor holds the field at the end of the engagement.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Forest", + "ColdForest", + "HotForest", + "Jungle", + "Swamp" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Freed Prisoners": { + "forceAlignment": 1, + "generationMethod": 1, + "forceMultiplier": 0.4, + "deploymentZones": [ + 10 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": 3, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Freed Prisoners", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 2, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 2, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "SOUTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": false, + "timeLimit": null, + "timeLimitScaleFactor": 2, + "associatedForceNames": [ + "Freed Prisoners" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Prisoner Liberation.xml b/data/scenariotemplates/Prisoner Liberation.xml deleted file mode 100644 index 9d323f2b14..0000000000 --- a/data/scenariotemplates/Prisoner Liberation.xml +++ /dev/null @@ -1,204 +0,0 @@ - - - - Prisoner Liberation - Escort freed prisoners to friendly lines before the enemy recaptures them. - - VICTOR - false - false - - - Forest - ColdForest - HotForest - Jungle - Swamp - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 6 - - 2 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Freed Prisoners - - -1 - false - 3 - 0 - false - false - true - false - false - - 10 - - 6 - 0 - 1 - 0.4 - Freed Prisoners - 1 - 2 - 2 - 0 - - 0 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 6 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - OppositeEdge - Player - false - - RAIDER - CAVALRY - - - - - - - - Freed Prisoners - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Get 50% of the following forces to the destination edge. +2 SVP if succeeded, -2 SVP if failed. - SOUTH - ReachMapEdge - 50 - false - 2 - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces to drive off the pursuit. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Recon Evasion.json b/data/scenariotemplates/Recon Evasion.json new file mode 100644 index 0000000000..9be8111d49 --- /dev/null +++ b/data/scenariotemplates/Recon Evasion.json @@ -0,0 +1,151 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Recon Evasion", + "stratConScenarioType": "NONE", + "shortBriefing": "Evade patrols until scan is complete.", + "detailedBriefing": "DISCLAIMER: it is recommended that you play this scenario with Double Blind enabled and with Single Blind disabled.\n\nWe have a rare opportunity to gather critical intelligence on enemy operations by monitoring their movements. Your mission is to remain in position for the required duration, observing and collecting data on enemy activity while avoiding direct engagement. The information you gather will be far more valuable than any destruction you could inflict.\n\nThe enemy is unaware of our presence, but if discovered, they will respond with overwhelming force. Stealth and discretion are paramount—engage only if absolutely necessary, and prioritize survival over combat. Avoid unnecessary detection, maintain a low profile, and ensure you remain operational for the duration of the mission.\n\nThe enemy will control the field at the end of the engagement, meaning there will be no opportunity for salvage or reinforcement. This is about intelligence, not confrontation—stay hidden, gather what we need, and withdraw before they know you were ever there. At least one of your units must survive.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 10, + "heightScalingIncrement": 10, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 1, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Forest", + "ColdForest", + "HotForest", + "Jungle", + "Swamp" + ] + }, + "scenarioModifiers": [ +"GoodIntel.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 25, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 2, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RECON", + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 25, + "fixedAmount": null, + "timeLimitType": "ScaledToPrimaryUnitCount", + "timeLimitAtMost": false, + "timeLimit": null, + "timeLimitScaleFactor": 1, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Recon Evasion.xml b/data/scenariotemplates/Recon Evasion.xml deleted file mode 100644 index 5a9eec9bd8..0000000000 --- a/data/scenariotemplates/Recon Evasion.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - Recon Evasion - Evade patrols until scan is complete. - - false - false - ENEMY - true - - - Forest - ColdForest - HotForest - Jungle - Swamp - - false - 0 - 0 - 10 - SpecificGroundTerrain - true - 1 - 1 - 10 - - GoodIntel.xml - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 2 - 1 - - 25 - 0 - OppositeEdge - Player - false - - RECON - RAIDER - CAVALRY - - - - - - - - Player - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Preserve 25% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - Preserve - 25 - false - 1 - ScaledToPrimaryUnitCount - - - diff --git a/data/scenariotemplates/Reconnaissance Interdiction.json b/data/scenariotemplates/Reconnaissance Interdiction.json new file mode 100644 index 0000000000..1e9cebed67 --- /dev/null +++ b/data/scenariotemplates/Reconnaissance Interdiction.json @@ -0,0 +1,146 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Reconnaissance Interdiction", + "stratConScenarioType": "NONE", + "shortBriefing": "Prevent hostile reconnaissance.", + "detailedBriefing": "DISCLAIMER: it is recommended that you play this scenario with Double Blind enabled and with Single Blind disabled.\n\nEnemy reconnaissance units have been deployed to gather intelligence on our movements, threatening the security of our operations. Your mission is to eliminate them before they can complete their reconnaissance. If they succeed, our positions will be compromised, giving the enemy a critical advantage.\n\nExpect these forces to prioritize speed, evasion, and long-range observation tactics. They will attempt to avoid direct engagement and may have stealth capabilities or electronic warfare support to mask their presence. You must act quickly, intercept their units, and wipe them out before they can relay any useful data.\n\nWe will control the battlefield at the end of the engagement, ensuring that any remaining enemy assets or reconnaissance equipment are in our hands. Hunt them down, erase all traces of their mission, and ensure our movements remain hidden.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 1, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Hills", + "ColdHills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.5, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 2, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RECON" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 75, + "fixedAmount": null, + "timeLimitType": "ScaledToPrimaryUnitCount", + "timeLimitAtMost": false, + "timeLimit": null, + "timeLimitScaleFactor": 1, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Reconnaissance Interdiction.xml b/data/scenariotemplates/Reconnaissance Interdiction.xml deleted file mode 100644 index 20e4cc105c..0000000000 --- a/data/scenariotemplates/Reconnaissance Interdiction.xml +++ /dev/null @@ -1,146 +0,0 @@ - - - - Reconnaissance Interdiction - Prevent hostile reconnaissance. - - false - false - PLAYER - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 1 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 0.5 - OpFor - 1 - 5 - 2 - 1 - - 50 - 0 - OppositeEdge - Player - false - - RECON - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy 75% of the following force. +1 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 75 - false - 1 - ScaledToPrimaryUnitCount - - - diff --git a/data/scenariotemplates/Reinforcements Intercepted.json b/data/scenariotemplates/Reinforcements Intercepted.json new file mode 100644 index 0000000000..91a8727413 --- /dev/null +++ b/data/scenariotemplates/Reinforcements Intercepted.json @@ -0,0 +1,148 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Reinforcements Intercepted", + "stratConScenarioType": "NONE", + "shortBriefing": "Destroy hostile forces.", + "detailedBriefing": "Your reinforcements have been intercepted and pinned down, preventing them from completing their original mission. The enemy is attempting to isolate and eliminate them before they can rejoin the fight. Your objective is to break them free by destroying at least 33% of the enemy forces, forcing a retreat and allowing your units to escape.\n\nExpect the enemy to hold strong defensive positions, using suppression tactics to keep your forces contained. Focus on eliminating key threats, breaking their formation, and forcing their forces into disarray. Speed and precision will be critical—you must deal enough damage to secure an escape route before more reinforcements arrive.\n\nThere is no time to secure the battlefield at the end of the engagement, meaning any salvage will be lost. This is a fight for survival and mobility, not territory. Break their grip, get our forces out, and resume the mission.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Hills", + "ColdHills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeArc", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RECON", + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Reinforcements Intercepted.xml b/data/scenariotemplates/Reinforcements Intercepted.xml deleted file mode 100644 index f9fef6e865..0000000000 --- a/data/scenariotemplates/Reinforcements Intercepted.xml +++ /dev/null @@ -1,141 +0,0 @@ - - - - Reinforcements Intercepted - Destroy hostile forces. - - ENEMY - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - 50 - 0 - OppositeArc - Player - false - - RECON - RAIDER - CAVALRY - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Relief Column.json b/data/scenariotemplates/Relief Column.json new file mode 100644 index 0000000000..f4d39e5fa0 --- /dev/null +++ b/data/scenariotemplates/Relief Column.json @@ -0,0 +1,213 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Relief Column", + "stratConScenarioType": "NONE", + "shortBriefing": "Break through and relieve a beleaguered allied force before it is overrun.", + "detailedBriefing": "An allied detachment has been cut off and pinned down, and they will not last long without help. You are the relief column. Push across the field, break the enemy's grip on our people, and keep enough of them alive to matter.\n\nThe enemy has them surrounded and is grinding them down while you close the distance—every turn you spend fighting through is a turn our allies bleed. Prioritize breaking the assault on them over a clean sweep of the field; a destroyed relief force that \"won\" is no relief at all.\n\nPreserve the beleaguered detachment and break the enemy's assault. Losing the detachment outright will cost us dearly in this sector (the loss of 1 CVP, StratCon only). The victor holds the field at the end of the engagement.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [ +"PreBattleDamageAllies.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + }, + "Beleaguered Detachment": { + "forceAlignment": 1, + "generationMethod": 1, + "forceMultiplier": 0.5, + "deploymentZones": [ + 2 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Beleaguered Detachment", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 2, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Beleaguered Detachment" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Relief Column.xml b/data/scenariotemplates/Relief Column.xml deleted file mode 100644 index 078cb68e37..0000000000 --- a/data/scenariotemplates/Relief Column.xml +++ /dev/null @@ -1,204 +0,0 @@ - - - - Relief Column - Break through and relieve a beleaguered allied force before it is overrun. - - VICTOR - false - false - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - PreBattleDamageAllies.xml - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 6 - - 2 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Beleaguered Detachment - - -1 - false - -2 - 0 - false - false - true - false - false - - 2 - - 6 - 0 - 1 - 0.5 - Beleaguered Detachment - 1 - 2 - 4 - 0 - - 0 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - OppositeEdge - Player - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - - - - Beleaguered Detachment - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Preserve 50% of the following forces. +2 SVP if succeeded, -2 SVP if failed. Losing the detachment also incurs a -1 CVP penalty (StratCon Only). - NONE - Preserve - 50 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces to break their assault. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Rescue the Downed.json b/data/scenariotemplates/Rescue the Downed.json new file mode 100644 index 0000000000..699557be6a --- /dev/null +++ b/data/scenariotemplates/Rescue the Downed.json @@ -0,0 +1,209 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Rescue the Downed", + "stratConScenarioType": "NONE", + "shortBriefing": "Reach an isolated downed unit and keep it alive against closing enemies.", + "detailedBriefing": "One of ours is down and stranded—crippled, alone, and directly in the enemy's path. They cannot extract themselves, and the enemy is closing to finish the job. Get to them and keep them alive.\n\nThis is a race against a kill. Screen the downed unit, put your bodies between it and the enemy's guns, and hold until the engagement is decided. One unit does not sound like much to lose, but that is our pilot out there—and we do not leave people behind.\n\nKeep the downed unit alive. Everything else is secondary to that.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Forest", + "ColdForest", + "HotForest", + "Jungle", + "Swamp" + ] + }, + "scenarioModifiers": [ +"PreBattleDamageAllies.json" + ], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [ + "Downed Unit" + ], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + }, + "Downed Unit": { + "forceAlignment": 1, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": 0, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Downed Unit", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 2, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Downed Unit" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Rescue the Downed.xml b/data/scenariotemplates/Rescue the Downed.xml deleted file mode 100644 index 02617792c4..0000000000 --- a/data/scenariotemplates/Rescue the Downed.xml +++ /dev/null @@ -1,200 +0,0 @@ - - - - Rescue the Downed - Reach an isolated downed unit and keep it alive against closing enemies. - - VICTOR - false - false - - - Forest - ColdForest - HotForest - Jungle - Swamp - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - PreBattleDamageAllies.xml - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 6 - - 2 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Downed Unit - - -1 - false - 0 - 0 - false - false - true - false - false - - 10 - - 6 - 1 - 1 - 1.0 - Downed Unit - 1 - 2 - 4 - 0 - - 0 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - Downed Unit - - 50 - 0 - OppositeEdge - Player - false - - RAIDER - CAVALRY - - - - - - - - Downed Unit - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Preserve 100% of the following force. +2 SVP if succeeded, -2 SVP if failed. - NONE - Preserve - 100 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Rolling Thunder.json b/data/scenariotemplates/Rolling Thunder.json new file mode 100644 index 0000000000..1c6a7ffd69 --- /dev/null +++ b/data/scenariotemplates/Rolling Thunder.json @@ -0,0 +1,186 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Rolling Thunder", + "stratConScenarioType": "NONE", + "shortBriefing": "Punch through a defense in depth, breaking each line in turn.", + "detailedBriefing": "The enemy has laid out their defense in depth—a forward line to blunt you and a second echelon waiting behind it. A single hard push will not carry the day; you have to break through layer by layer and keep the momentum going.\n\nDo not let the forward line pin you long enough for the rear echelon to reposition. Hit the first line hard, punch through, and drive on to the far edge before they can consolidate. Stalling in the middle is how a fighting advance turns into a grave.\n\nBreak all the way through and get the force off the far edge.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 2, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Plains", + "Steppe", + "Savannah", + "Tundra", + "SnowField" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "Rearguard": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.6, + "deploymentZones": [ + 2 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Rearguard", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "FIRE_SUPPORT", + "SR_FIRE_SUPPORT" + ] + }, + "Vanguard": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.6, + "deploymentZones": [ + 10 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Vanguard", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 4, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": false, + "timeLimit": null, + "timeLimitScaleFactor": 2, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Rolling Thunder.xml b/data/scenariotemplates/Rolling Thunder.xml deleted file mode 100644 index 4432a40323..0000000000 --- a/data/scenariotemplates/Rolling Thunder.xml +++ /dev/null @@ -1,182 +0,0 @@ - - - - Rolling Thunder - Punch through a defense in depth, breaking each line in turn. - - ENEMY - false - false - - - Plains - Steppe - Savannah - Tundra - SnowField - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 2 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 2 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Vanguard - - -1 - false - -2 - 0 - true - false - true - false - false - - 10 - - 6 - 0 - 2 - 0.6 - Vanguard - 1 - 4 - 4 - 0 - - 50 - 0 - None - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - Rearguard - - -1 - false - -2 - 0 - true - false - true - false - false - - 2 - - 6 - 0 - 2 - 0.6 - Rearguard - 1 - 5 - 4 - 0 - - 50 - 0 - None - false - - FIRE_SUPPORT - SR_FIRE_SUPPORT - - - - - - - - Player - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Get 50% of the following forces to the far edge. +2 SVP if succeeded, -2 SVP if failed. - NORTH - ReachMapEdge - 50 - false - 2 - None - - - diff --git a/data/scenariotemplates/Salvage Run.json b/data/scenariotemplates/Salvage Run.json new file mode 100644 index 0000000000..17d98334a6 --- /dev/null +++ b/data/scenariotemplates/Salvage Run.json @@ -0,0 +1,217 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Salvage Run", + "stratConScenarioType": "NONE", + "shortBriefing": "Secure the derelict salvage in the contested zone before the enemy does.", + "detailedBriefing": "The wrecks of a previous engagement litter the ground between us and the enemy—crippled machines and abandoned rigs, all of it worth recovering. We are not the only ones who want it. A rival salvage team is inbound from the far side, and whoever holds the field at the end walks away with the prize.\n\nPush into the center, disable and secure as much of the derelict materiel as you can, and drive off anyone who tries to take it from us. The salvage crews out there are non-combatants and will not put up a fight, but the rival team most certainly will. Do not let them push us off the wrecks, and do not let them deny us the haul by destroying it.\n\nSecure the salvage and break the rival team. The victor holds the field—and the salvage—at the end of the engagement.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Desert", + "Badlands", + "ArcticDesert", + "Glacier" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "SalvageConvoy": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.5, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 0, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "SalvageConvoy", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 2, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 3, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "CARGO" + ] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Capture", + "description": "", + "destinationEdge": "NONE", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Salvage Convoy" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + }, + { + "effectType": "SupplyCache", + "effectScaling": "Linear", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Salvage Run.xml b/data/scenariotemplates/Salvage Run.xml deleted file mode 100644 index d4178099fe..0000000000 --- a/data/scenariotemplates/Salvage Run.xml +++ /dev/null @@ -1,210 +0,0 @@ - - - - Salvage Run - Secure the derelict salvage in the contested zone before the enemy does. - - VICTOR - false - false - - - Desert - Badlands - ArcticDesert - Glacier - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - SalvageConvoy - - -1 - false - -2 - 0 - false - false - true - false - false - - 10 - - 5 - 0 - 2 - 0.5 - Salvage Convoy - 1 - 3 - 2 - 0 - - 0 - 0 - None - false - - CARGO - - - - - OpFor - - -1 - false - -2 - 1 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - OppositeEdge - Player - false - - RAIDER - CAVALRY - - - - - - - - Salvage Convoy - - - - - ScenarioVictory - Fixed - 2 - - - SupplyCache - Linear - 1 - - - - - ScenarioDefeat - Fixed - 2 - - - - Capture 50% of the following derelict force to secure the salvage. +2 SVP and bonus supplies if succeeded, -2 SVP if failed. - NONE - Capture - 50 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces to drive off the rival salvage team. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/ScenarioManifest.json b/data/scenariotemplates/ScenarioManifest.json new file mode 100644 index 0000000000..0dde5b513e --- /dev/null +++ b/data/scenariotemplates/ScenarioManifest.json @@ -0,0 +1,89 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"scenarioFileNames": { +"0": "Annihilation.json", +"1": "Assassination.json", +"2": "Base Defense.json", +"3": "Breakthrough.json", +"4": "Close Air Support.json", +"5": "Convoy Escort.json", +"6": "Convoy Interdiction.json", +"7": "Convoy Ambush.json", +"8": "Covert Strike.json", +"9": "Critical Convoy Escort.json", +"10": "Decoy Engagement.json", +"11": "Decoy Interception.json", +"12": "Deep Raid.json", +"13": "Deep Raid Defense.json", +"14": "Diversion Engagement.json", +"15": "DropShip Raid.json", +"16": "Frontier Assassination.json", +"17": "Frontline Breakthrough.json", +"18": "Frontline Disruption.json", +"19": "Frontline Engagement.json", +"20": "Heavy Recon Evasion.json", +"21": "Hostile Facility.json", +"22": "Intercept Engagement.json", +"23": "Interception Defense.json", +"24": "Irregular Force Assault.json", +"25": "Irregular Force Suppression.json", +"26": "Isolated DropShip Defense.json", +"27": "Low-Atmosphere Air Intercept.json", +"28": "Low-Atmosphere DropShip Assault.json", +"29": "Low-Atmosphere DropShip Escort.json", +"30": "Minor Engagement.json", +"31": "Picket Line Breakthrough.json", +"32": "Pivotal Battle.json", +"33": "Recon Evasion.json", +"34": "Reconnaissance Interdiction.json", +"35": "Space Aerospace Intercept.json", +"36": "Space Blockade Run.json", +"37": "Space DropShip Intercept.json", +"38": "Tactical Withdrawal.json", +"39": "VIP Ambush.json", +"40": "VIP Defense.json", +"41": "Engagement.json", +"42": "Official Challenge.json", +"43": "Relief Column.json", +"44": "Salvage Run.json", +"45": "Prisoner Liberation.json", +"46": "Last Stand.json", +"47": "Combat Drop.json", +"48": "Decapitation Strike.json", +"49": "Enveloped.json", +"50": "Screening Action.json", +"51": "Supply Denial.json", +"52": "Gauntlet Run.json", +"53": "Hold Until Relief.json", +"54": "Convoy Hijack.json", +"55": "Ambush the Column.json", +"56": "Rescue the Downed.json", +"57": "Meeting Engagement.json", +"58": "Rolling Thunder.json", +"59": "Breakout.json", +"60": "VIP Extraction.json", +"61": "Escalation.json", +"63": "Fighter Sweep.json", +"64": "Strafing Run.json", +"65": "Bomber Escort.json", +"67": "Mole Hunt.json", +"68": "Low-Atmosphere Interception.json", +"69": "Space Interception.json" +} +} diff --git a/data/scenariotemplates/ScenarioManifest.xml b/data/scenariotemplates/ScenarioManifest.xml deleted file mode 100644 index 032730e2fb..0000000000 --- a/data/scenariotemplates/ScenarioManifest.xml +++ /dev/null @@ -1,294 +0,0 @@ - - - - - 0 - Annihilation.xml - - - 1 - Assassination.xml - - - 2 - Base Defense.xml - - - 3 - Breakthrough.xml - - - 4 - Close Air Support.xml - - - 5 - Convoy Escort.xml - - - 6 - Convoy Interdiction.xml - - - 7 - Convoy Raid.xml - - - 8 - Covert Strike.xml - - - 9 - Critical Convoy Escort.xml - - - 10 - Decoy Engagement.xml - - - 11 - Decoy Interception.xml - - - 12 - Deep Raid.xml - - - 13 - Deep Raid Defense.xml - - - 14 - Diversion Engagement.xml - - - 15 - DropShip Raid.xml - - - 16 - Frontier Assassination.xml - - - 17 - Frontline Breakthrough.xml - - - 18 - Frontline Disruption.xml - - - 19 - Frontline Engagement.xml - - - 20 - Heavy Recon Evasion.xml - - - 21 - Hostile Facility.xml - - - 22 - Intercept Engagement.xml - - - 23 - Interception Defense.xml - - - 24 - Irregular Force Assault.xml - - - 25 - Irregular Force Suppression.xml - - - 26 - Isolated DropShip Defense.xml - - - 27 - Low-Atmosphere Air Intercept.xml - - - 28 - Low-Atmosphere DropShip Assault.xml - - - 29 - Low-Atmosphere DropShip Escort.xml - - - 30 - Minor Engagement.xml - - - 31 - Picket Line Breakthrough.xml - - - 32 - Pivotal Battle.xml - - - 33 - Recon Evasion.xml - - - 34 - Reconnaissance Interdiction.xml - - - 35 - Space Aerospace Intercept.xml - - - 36 - Space Blockade Run.xml - - - 37 - Space DropShip Intercept.xml - - - 38 - Tactical Withdrawal.xml - - - 39 - VIP Ambush.xml - - - 40 - VIP Defense.xml - - - 41 - Engagement.xml - - - 42 - Official Challenge.xml - - - 43 - Relief Column.xml - - - 44 - Salvage Run.xml - - - 45 - Prisoner Liberation.xml - - - 46 - Last Stand.xml - - - 47 - Combat Drop.xml - - - 48 - Decapitation Strike.xml - - - 49 - Enveloped.xml - - - 50 - Screening Action.xml - - - 51 - Supply Denial.xml - - - 52 - Gauntlet Run.xml - - - 53 - Hold Until Relief.xml - - - 54 - Convoy Hijack.xml - - - 55 - Ambush the Column.xml - - - 56 - Rescue the Downed.xml - - - 57 - Meeting Engagement.xml - - - 58 - Rolling Thunder.xml - - - 59 - Breakout.xml - - - 60 - VIP Extraction.xml - - - 61 - Escalation.xml - - - 63 - Fighter Sweep.xml - - - 64 - Strafing Run.xml - - - 65 - Bomber Escort.xml - - - 67 - Mole Hunt.xml - - - 68 - Low-Atmosphere Interception.xml - - - 69 - Space Interception.xml - - - diff --git a/data/scenariotemplates/Screening Action.json b/data/scenariotemplates/Screening Action.json new file mode 100644 index 0000000000..795e48db43 --- /dev/null +++ b/data/scenariotemplates/Screening Action.json @@ -0,0 +1,149 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Screening Action", + "stratConScenarioType": "NONE", + "shortBriefing": "Hold the line as a rearguard and stop the enemy from breaking through.", + "detailedBriefing": "The main body is pulling back, and you are the rearguard. A superior enemy force is pressing to break through and turn our withdrawal into a rout. You cannot stop them all—but you must stop enough of them, long enough, for the rest to get clear.\n\nHold the line and deny them the breakthrough. This is a delaying fight, not a stand-up battle; trading ground for time is acceptable, letting them stream past you is not. Keep your formation between them and the open road behind you.\n\nPrevent the bulk of the enemy from breaking through. Buy the time, then get out yourself.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Hills", + "ColdHills", + "HotHillsDry", + "HotHillsWet" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.25, + "deploymentZones": [ + 6 + ], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "PreventReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": false, + "timeLimit": null, + "timeLimitScaleFactor": 2, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Screening Action.xml b/data/scenariotemplates/Screening Action.xml deleted file mode 100644 index 2fe07fabc8..0000000000 --- a/data/scenariotemplates/Screening Action.xml +++ /dev/null @@ -1,146 +0,0 @@ - - - - Screening Action - Hold the line as a rearguard and stop the enemy from breaking through. - - ENEMY - false - false - - - Hills - ColdHills - HotHillsDry - HotHillsWet - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 10 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 6 - - 2 - 0 - 2 - 1.25 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - None - false - - RAIDER - CAVALRY - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Prevent 50% of the following forces from reaching the far edge. +2 SVP if succeeded, -2 SVP if failed. - NORTH - PreventReachMapEdge - 50 - false - 2 - None - - - diff --git a/data/scenariotemplates/Space Aerospace Intercept.json b/data/scenariotemplates/Space Aerospace Intercept.json new file mode 100644 index 0000000000..6e64a074eb --- /dev/null +++ b/data/scenariotemplates/Space Aerospace Intercept.json @@ -0,0 +1,139 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Space Aerospace Intercept", + "stratConScenarioType": "NONE", + "shortBriefing": "Intercept and destroy incoming aerospace units.", + "detailedBriefing": "Enemy AeroSpace assets have entered our airspace, threatening our operations and territorial control. Your mission is to intercept and destroy at least 33% of the enemy’s AeroSpace forces, ensuring they are unable to regroup or continue their mission.\n\nExpect high-speed engagements with agile enemy fighters and possible bomber or support craft in formation. Control the skies, dictate the terms of engagement, and press the attack until the enemy is forced to retreat or is completely neutralized. Do not allow them to escape unscathed—this is an opportunity to cripple their airpower.\n\nThe victor will control the battlefield at the end of the engagement, securing dominance over the airspace and ensuring enemy forces are unable to reestablish a foothold. Strike hard, eliminate the threat, and claim the skies as our own.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 2, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "Space", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 9, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Space Aerospace Intercept.xml b/data/scenariotemplates/Space Aerospace Intercept.xml deleted file mode 100644 index 3c94cc6dd1..0000000000 --- a/data/scenariotemplates/Space Aerospace Intercept.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - - Space Aerospace Intercept - Intercept and destroy incoming aerospace units. - - VICTOR - false - false - - - false - 50 - 50 - 5 - Space - true - 1 - 2 - 5 - - - - Player - - -1 - false - 9 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 5 - None - false - - - - OpFor - - -1 - false - -3 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 5 - OppositeEdge - Player - false - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Space Blockade Run.json b/data/scenariotemplates/Space Blockade Run.json new file mode 100644 index 0000000000..fca20de2d3 --- /dev/null +++ b/data/scenariotemplates/Space Blockade Run.json @@ -0,0 +1,217 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Space Blockade Run", + "stratConScenarioType": "NONE", + "shortBriefing": "Break enemy blockade, escort DropShip.", + "detailedBriefing": "An allied DropShip must bypass an enemy space blockade, and you are its only chance at breaking through. Your mission is to escort the DropShip safely to the far edge of the engagement area, ensuring it can escape enemy interdiction. If a direct escort proves too difficult, an alternative objective is available—destroy at least 33% of the enemy forces to weaken their blockade and force them to disengage.\n\nThe enemy will attempt to intercept, disable, or destroy the DropShip before it can escape. Expect interdiction fighters and AeroSpace superiority craft. Protect the DropShip at all costs—keep the enemy occupied, disrupt their formations, and eliminate high-threat targets before they can close in.\n\nThe enemy will control the battlefield at the end of the engagement, meaning there will be no chance for salvage or recovery. Your priority is to see the DropShip through or cripple enough enemy forces to force a retreat. Ensure the mission succeeds—our strategic mobility depends on it.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 2, + "additionalMapSheetWide": 2, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "Space", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": 9, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 9, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "INTERCEPTOR" + ] + }, + "DropShip": { + "forceAlignment": 1, + "generationMethod": 4, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": 11, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "DropShip", + "syncedForceName": "Player", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 4, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "MEK_CARRIER", + "MEK_CARRIER", + "ASF_CARRIER", + "VEE_CARRIER", + "INFANTRY_CARRIER", + "TROOP_CARRIER", + "CIVILIAN" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "DropShip" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + }, + { + "effectType": "SupportPointUpdate", + "effectScaling": "Linear", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Space Blockade Run.xml b/data/scenariotemplates/Space Blockade Run.xml deleted file mode 100644 index 075507d8cf..0000000000 --- a/data/scenariotemplates/Space Blockade Run.xml +++ /dev/null @@ -1,212 +0,0 @@ - - - - Space Blockade Run - Break enemy blockade, escort DropShip. - - ENEMY - false - false - true - - - false - 50 - 50 - 5 - Space - true - 2 - 2 - 5 - - - - Player - - -1 - false - 9 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 5 - None - false - - - - DropShip - - -1 - false - 11 - 0 - false - false - true - false - false - - 6 - 1 - 1 - 1.0 - DropShip - 4 - 4 - 4 - 1 - - 50 - 5 - SameEdge - Player - false - - MEK_CARRIER - MEK_CARRIER - ASF_CARRIER - VEE_CARRIER - INFANTRY_CARRIER - TROOP_CARRIER - CIVILIAN - - - - - OpFor - - -1 - false - 9 - 0 - true - false - true - false - false - - 5 - 1 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - - 50 - 5 - OppositeEdge - Player - false - - INTERCEPTOR - - - - - - - - DropShip - - - - - ScenarioVictory - Fixed - 2 - - - SupportPointUpdate - Linear - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Crippled units do not count towards this objective. - - Escort all of the following forces to the destination edge. +2 SVP if succeeded, -1 SVP if failed. - NORTH - ReachMapEdge - 100 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Space DropShip Intercept.json b/data/scenariotemplates/Space DropShip Intercept.json new file mode 100644 index 0000000000..3dd32a73e4 --- /dev/null +++ b/data/scenariotemplates/Space DropShip Intercept.json @@ -0,0 +1,210 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Space DropShip Intercept", + "stratConScenarioType": "NONE", + "shortBriefing": "Prevent DropShip escape.", + "detailedBriefing": "A hostile DropShip is attempting to evade our AeroSpace forces in space, seeking to escape or reposition for a future operation. Your mission is to intercept and destroy the DropShip before it can escape our engagement zone.\n\nExpect the target to engage in evasive maneuvers, using vector thrusting, and potential escort craft to delay or deflect your attack. You must act swiftly and decisively—disable their engines, breach their hull, and ensure they do not survive this encounter.\n\nWe will control the battlefield at the end of the engagement, guaranteeing any wreckage or surviving assets remain in our hands. Eliminate the DropShip, secure the battlespace, and leave nothing for the enemy to salvage.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 2, + "additionalMapSheetWide": 2, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "Space", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 9, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": "DropShip", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": 9, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "DropShip", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "ESCORT" + ] + }, + "DropShip": { + "forceAlignment": 2, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [ + 2 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": 11, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "DropShip", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [ + "MEK_CARRIER", + "MEK_CARRIER", + "ASF_CARRIER", + "VEE_CARRIER", + "INFANTRY_CARRIER", + "TROOP_CARRIER", + "CIVILIAN" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "DropShip" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Space DropShip Intercept.xml b/data/scenariotemplates/Space DropShip Intercept.xml deleted file mode 100644 index 816eed24c9..0000000000 --- a/data/scenariotemplates/Space DropShip Intercept.xml +++ /dev/null @@ -1,205 +0,0 @@ - - - - Space DropShip Intercept - Prevent DropShip escape. - - PLAYER - false - false - - - false - 50 - 50 - 5 - Space - true - 2 - 2 - 5 - - - - Player - - -1 - false - 9 - 0 - true - true - true - true - false - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 5 - OppositeEdge - DropShip - false - - - - OpFor - - -1 - false - 9 - 0 - true - false - true - false - false - - 6 - 1 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - - 50 - 5 - SameEdge - DropShip - false - - ESCORT - - - - - DropShip - - -1 - false - 11 - 0 - true - false - true - false - false - - 2 - - 6 - 1 - 2 - 1.0 - DropShip - 3 - 5 - 4 - 0 - - 50 - 5 - false - None - false - - MEK_CARRIER - MEK_CARRIER - ASF_CARRIER - VEE_CARRIER - INFANTRY_CARRIER - TROOP_CARRIER - CIVILIAN - - - - - - - - DropShip - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or cripple the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 100 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Space Interception.json b/data/scenariotemplates/Space Interception.json new file mode 100644 index 0000000000..d32b0c84b8 --- /dev/null +++ b/data/scenariotemplates/Space Interception.json @@ -0,0 +1,141 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Space Interception", + "stratConScenarioType": "NONE", + "shortBriefing": "Destroy hostile air forces.", + "detailedBriefing": "Your forces have been intercepted in space, cut off before they could reach their destination. There is nowhere to hide—this is a direct engagement where survival depends on decisive action. Your mission is to destroy at least 33% of the enemy forces.\n\nThe enemy will press the attack, seeking to pin your reinforcements down and eliminate them before they can regroup. Expect high-speed dogfights, coordinated fire from multiple vectors, and no room for retreat. Strike hard, cripple their numbers, and shatter their formation before they can overwhelm you.\n\nThere will be no time to secure the battlefield after the engagement, meaning any salvage or wreckage will be lost. This is about survival and operational integrity—break free, push forward, and ensure your reinforcements reach their objective.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 2, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "Space", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 9, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "INTERCEPTOR" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Space Interception.xml b/data/scenariotemplates/Space Interception.xml deleted file mode 100644 index f7a57be3bc..0000000000 --- a/data/scenariotemplates/Space Interception.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - Space Interception - Destroy hostile air forces. - - ENEMY - false - false - true - true - - - false - 50 - 50 - 5 - Space - true - 1 - 2 - 5 - - - - Player - - -1 - false - 9 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 5 - None - false - - - - OpFor - - -1 - false - -3 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 5 - OppositeEdge - Player - false - - INTERCEPTOR - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Space Reinforcements Intercepted.json b/data/scenariotemplates/Space Reinforcements Intercepted.json new file mode 100644 index 0000000000..ee930dadd2 --- /dev/null +++ b/data/scenariotemplates/Space Reinforcements Intercepted.json @@ -0,0 +1,141 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Space Reinforcements Intercepted", + "stratConScenarioType": "NONE", + "shortBriefing": "Destroy hostile air forces.", + "detailedBriefing": "Your reinforcements have been intercepted in space, cut off before they could reach their destination. There is nowhere to hide—this is a direct engagement where survival depends on decisive action. Your mission is to destroy at least 33% of the enemy forces to break free and allow your forces to resume their original mission.\n\nThe enemy will press the attack, seeking to pin your reinforcements down and eliminate them before they can regroup. Expect high-speed dogfights, coordinated fire from multiple vectors, and no room for retreat. Strike hard, cripple their numbers, and shatter their formation before they can overwhelm you.\n\nThere will be no time to secure the battlefield after the engagement, meaning any salvage or wreckage will be lost. This is about survival and operational integrity—break free, push forward, and ensure your reinforcements reach their objective.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 2, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "Space", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": 9, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "INTERCEPTOR" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Space Reinforcements Intercepted.xml b/data/scenariotemplates/Space Reinforcements Intercepted.xml deleted file mode 100644 index 3db420137a..0000000000 --- a/data/scenariotemplates/Space Reinforcements Intercepted.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - Space Reinforcements Intercepted - Destroy hostile air forces. - - ENEMY - false - false - - - false - 50 - 50 - 5 - Space - true - 1 - 2 - 5 - - - - Player - - -1 - false - 9 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 5 - None - false - - - - OpFor - - -1 - false - -3 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 5 - OppositeEdge - Player - false - - INTERCEPTOR - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Strafing Run.json b/data/scenariotemplates/Strafing Run.json new file mode 100644 index 0000000000..3b31c21900 --- /dev/null +++ b/data/scenariotemplates/Strafing Run.json @@ -0,0 +1,142 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Strafing Run", + "stratConScenarioType": "NONE", + "shortBriefing": "Fly ground-attack sorties and break an enemy column from the air.", + "detailedBriefing": "Enemy ground forces are exposed in the open, and we own the air over them—for now. Command wants them hit hard from above before they can reach cover or bring up their own air cover.\n\nWork the target from altitude: line up your passes, put ordnance on the heaviest units, and keep moving so their return fire never gets a settled shot. Do not bleed off speed to linger over a kill; a strafing aircraft that slows down is a strafing aircraft that gets hit. Break their formation and get out.\n\nDestroy or rout a third of the enemy ground column.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 50, + "baseHeight": 50, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 1, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "LowAtmosphere", + "allowedTerrainTypes": [] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -3, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": true, + "startingAltitude": 5, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "ANTI_AIRCRAFT", + "SR_FIRE_SUPPORT" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Strafing Run.xml b/data/scenariotemplates/Strafing Run.xml deleted file mode 100644 index b109f32da9..0000000000 --- a/data/scenariotemplates/Strafing Run.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - Strafing Run - Fly ground-attack sorties and break an enemy column from the air. - - VICTOR - false - false - - - false - 50 - 50 - 5 - LowAtmosphere - true - 1 - 1 - 5 - - - - Player - - -1 - true - -3 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 5 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - 50 - 0 - OppositeEdge - Player - false - - ANTI_AIRCRAFT - SR_FIRE_SUPPORT - - - - - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Destroy or rout 33% of the following forces. +2 SVP if succeeded, -2 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Supply Denial.json b/data/scenariotemplates/Supply Denial.json new file mode 100644 index 0000000000..3178bcf455 --- /dev/null +++ b/data/scenariotemplates/Supply Denial.json @@ -0,0 +1,206 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Supply Denial", + "stratConScenarioType": "NONE", + "shortBriefing": "Destroy the enemy's forward supply dump before its garrison can stop you.", + "detailedBriefing": "The enemy has staged a forward supply dump to fuel their next push. If we burn it, that push stalls before it starts. Get in, wreck the stockpile, and get out.\n\nThe dump itself is a cluster of static bunkers and cache points—no threat on their own, but a garrison is posted to protect them and will come for you the moment you close in. Prioritize the destruction of the caches over the garrison; leaving the enemy intact but the dump in ashes is a win, and the reverse is not.\n\nLevel the supply dump. Break the garrison only as much as you must to finish the job.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Desert", + "Badlands", + "ArcticDesert", + "Glacier" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 2, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 1, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.75, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [ + "Supply Dump" + ], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "SR_FIRE_SUPPORT", + "CAVALRY" + ] + }, + "Supply Dump": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 0.5, + "deploymentZones": [ + 10 + ], + "destinationZone": 5, + "retreatThreshold": 0, + "allowedUnitType": 7, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "Supply Dump", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 3, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 75, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Supply Dump" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Supply Denial.xml b/data/scenariotemplates/Supply Denial.xml deleted file mode 100644 index cdbbea0caf..0000000000 --- a/data/scenariotemplates/Supply Denial.xml +++ /dev/null @@ -1,198 +0,0 @@ - - - - Supply Denial - Destroy the enemy's forward supply dump before its garrison can stop you. - - VICTOR - false - false - - - Desert - Badlands - ArcticDesert - Glacier - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 1 - true - true - true - true - false - - 6 - - 2 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - Supply Dump - - -1 - false - 7 - 0 - false - false - true - false - false - - 10 - - 5 - 0 - 2 - 0.5 - Supply Dump - 1 - 3 - 4 - 0 - - 0 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 0.75 - OpFor - 1 - 5 - 4 - 0 - - Supply Dump - - 50 - 0 - OppositeEdge - Player - false - - SR_FIRE_SUPPORT - CAVALRY - - - - - - - - Supply Dump - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Destroy 75% of the following force to level the supply dump. +2 SVP if succeeded, -2 SVP if failed. - NONE - Destroy - 75 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/Tactical Withdrawal.json b/data/scenariotemplates/Tactical Withdrawal.json new file mode 100644 index 0000000000..72f59a7259 --- /dev/null +++ b/data/scenariotemplates/Tactical Withdrawal.json @@ -0,0 +1,181 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "Tactical Withdrawal", + "stratConScenarioType": "NONE", + "shortBriefing": "Escape superior enemy force.", + "detailedBriefing": "A superior enemy force is in pursuit, intent on overwhelming and eliminating your units before they can escape. Your mission is to break free and reach the opposite edge of the engagement zone with at least 50% of your forces intact. Survival and mobility are your priorities—this is not a battle of attrition.\n\nExpect the enemy to use speed, encirclement tactics, and suppression fire to slow your advance. They have the numbers, but you have the initiative—use terrain, evasive maneuvers, and covering fire to outmaneuver them. If they manage to pin you down, your escape will become far more difficult. Keep moving and do not allow them to dictate the fight.\n\nThe enemy will control the battlefield at the end of the engagement, meaning there will be no chance to recover fallen assets. This is a fight for survival—get clear, regroup, and live to fight another day.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": true, + "isSuitedForBungledPatrols": true, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 17, + "baseHeight": 70, + "widthScalingIncrement": 1, + "heightScalingIncrement": 0, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Forest", + "ColdForest", + "HotForest", + "Jungle", + "Swamp" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 2, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": false, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RECON", + "RAIDER", + "CAVALRY" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "NORTH", + "percentage": 50, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "Player" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [ + "Crippled units do not count towards this objective." + ] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/Tactical Withdrawal.xml b/data/scenariotemplates/Tactical Withdrawal.xml deleted file mode 100644 index 3734a0e9eb..0000000000 --- a/data/scenariotemplates/Tactical Withdrawal.xml +++ /dev/null @@ -1,179 +0,0 @@ - - - - Tactical Withdrawal - Escape superior enemy force. - - ENEMY - false - false - true - true - - - Forest - ColdForest - HotForest - Jungle - Swamp - - false - 70 - 17 - 0 - SpecificGroundTerrain - true - 1 - 0 - 1 - - - - Player - - -1 - false - -2 - 0 - false - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 2 - false - false - false - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - - 50 - 0 - SameEdge - Player - false - - RECON - RAIDER - CAVALRY - - - - - - - - Player - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Crippled units do not count towards this objective. - - Reach the far edge of the map with at least 50% of the following force. +2 SVP if succeeded, -1 SVP if failed. - NORTH - ReachMapEdge - 50 - 0 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +2 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - 0 - true - None - - - diff --git a/data/scenariotemplates/VIP Ambush.json b/data/scenariotemplates/VIP Ambush.json new file mode 100644 index 0000000000..7904c6b8e9 --- /dev/null +++ b/data/scenariotemplates/VIP Ambush.json @@ -0,0 +1,177 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "VIP Ambush", + "stratConScenarioType": "NONE", + "shortBriefing": "Ambush and eliminate VIP, evade reinforcements.", + "detailedBriefing": "An enemy VIP has been left exposed, presenting a rare opportunity to eliminate a high-value target. Your mission is to execute the VIP before their reinforcements arrive. This individual’s removal will cripple enemy operations, disrupt their chain of command, and eliminate a key asset from the battlefield.\n\nExpect the enemy to stall for time, deploying fast-moving elements or defensive tactics to delay your strike. Speed and precision are critical—do not allow them the time to reinforce or extract the target. If you hesitate, they will escape or be reinforced, and this opportunity will be lost.\n\nThe enemy will control the battlefield at the end of the engagement, meaning there will be no chance for recovery or salvage. This is a surgical strike—neutralize the target and withdraw before the enemy locks down the area.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "ENEMY", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Urban", + "ColdUrban", + "HotUrban" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 1, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + }, + "VIP": { + "forceAlignment": 2, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "VIP", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 3, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": false, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Destroy", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "VIP" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/VIP Ambush.xml b/data/scenariotemplates/VIP Ambush.xml deleted file mode 100644 index b33ca0e1b8..0000000000 --- a/data/scenariotemplates/VIP Ambush.xml +++ /dev/null @@ -1,169 +0,0 @@ - - - - VIP Ambush - Ambush and eliminate VIP, evade reinforcements. - - ENEMY - - - Urban - ColdUrban - HotUrban - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 1 - 50 - 0 - OppositeEdge - Player - false - - RAIDER - CAVALRY - - - - - VIP - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 1 - 2 - 1.0 - VIP - 3 - 5 - 4 - 3 - 50 - 0 - false - OppositeEdge - Player - false - - - - - - - VIP - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - Destroy - 100 - true - None - - - diff --git a/data/scenariotemplates/VIP Defense.json b/data/scenariotemplates/VIP Defense.json new file mode 100644 index 0000000000..f7cdadcc12 --- /dev/null +++ b/data/scenariotemplates/VIP Defense.json @@ -0,0 +1,207 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "VIP Defense", + "stratConScenarioType": "NONE", + "shortBriefing": "Protect VIP and defeat enemy.", + "detailedBriefing": "An important allied VIP is under direct threat, with enemy forces moving to eliminate them. Your mission is to ensure the VIP’s survival and destroy at least 33% of the attacking force to break their assassination attempt.\n\nExpect the enemy to employ fast-moving strike teams, precision fire support, and possibly infiltration tactics to bypass defenses and reach the VIP. You must identify and eliminate key threats quickly while maintaining a defensive perimeter around the target. Every second counts—if the enemy is allowed to press their attack unchecked, the VIP will not survive.\n\nWe will control the battlefield at the end of the engagement, ensuring that any surviving enemy forces are neutralized and that all salvageable assets remain in our hands. Hold the line, eliminate the attackers, and ensure our VIP lives to fight another day.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "PLAYER", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 0, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Urban", + "ColdUrban", + "HotUrban" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeArc", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 2, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + }, + "VIP": { + "forceAlignment": 0, + "generationMethod": 3, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 5, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": false, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "VIP", + "syncedForceName": "Player", + "syncDeploymentType": "SameEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 3, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "Preserve", + "description": "", + "destinationEdge": "NONE", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": 0, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "VIP" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + }, + { + "objectiveCriterion": "ForceWithdraw", + "description": "", + "destinationEdge": "NONE", + "percentage": 33, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": true, + "timeLimit": null, + "timeLimitScaleFactor": null, + "associatedForceNames": [ + "OpFor" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 1 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/VIP Defense.xml b/data/scenariotemplates/VIP Defense.xml deleted file mode 100644 index bd3db10b4b..0000000000 --- a/data/scenariotemplates/VIP Defense.xml +++ /dev/null @@ -1,196 +0,0 @@ - - - - VIP Defense - Protect VIP and defeat enemy. - - PLAYER - - - Urban - ColdUrban - HotUrban - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 0 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 5 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - 50 - 0 - None - false - - - - VIP - - -1 - false - -2 - 0 - false - true - true - true - false - - 5 - 1 - 0 - 1.0 - 1 - VIP - 3 - 1 - 4 - 3 - 50 - 0 - SameEdge - Player - false - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 5 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 2 - 50 - 0 - OppositeArc - Player - false - - RAIDER - CAVALRY - - - - - - - - VIP - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 2 - - - Preserve 100% of the following forces. +1 SVP if succeeded, -2 SVP if failed. - NONE - Preserve - 100 - 0 - true - None - - - - OpFor - - - - - ScenarioVictory - Fixed - 1 - - - - - ScenarioDefeat - Fixed - 1 - - - - Destroy or rout 33% of the following forces. +1 SVP if succeeded, -1 SVP if failed. - NONE - ForceWithdraw - 33 - true - None - - - diff --git a/data/scenariotemplates/VIP Extraction.json b/data/scenariotemplates/VIP Extraction.json new file mode 100644 index 0000000000..74e60f860a --- /dev/null +++ b/data/scenariotemplates/VIP Extraction.json @@ -0,0 +1,185 @@ +# MegaMek Data (C) 2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "name": "VIP Extraction", + "stratConScenarioType": "NONE", + "shortBriefing": "Escort a lone VIP off the field before the enemy runs them down.", + "detailedBriefing": "We have a high-value passenger who needs to be off this rock, and the only way out is across the field to the extraction point. One vehicle, no redundancy—if the VIP goes down, the mission is a failure no matter how many of the enemy you take with you.\n\nForm a moving screen around the VIP and walk them out. The enemy knows exactly who they want and will send fast movers straight for the target rather than trading blows with your escort. Keep your body between the VIP and their guns the whole way to the edge.\n\nGet the VIP safely off the map. That single unit is the mission.", + "isHostileFacility": false, + "isAlliedFacility": false, + "isSuitedForAmbushes": false, + "isSuitedForBungledPatrols": false, + "battlefieldControl": "VICTOR", + "mapParameters": { + "baseWidth": 0, + "baseHeight": 0, + "widthScalingIncrement": 5, + "heightScalingIncrement": 5, + "additionalMapSheetTall": 1, + "additionalMapSheetWide": 0, + "allowRotation": false, + "useStandardAtBSizing": true, + "mapLocation": "SpecificGroundTerrain", + "allowedTerrainTypes": [ + "Forest", + "ColdForest", + "HotForest", + "Jungle", + "Swamp" + ] + }, + "scenarioModifiers": [], + "scenarioForces": { + "Player": { + "forceAlignment": 0, + "generationMethod": 0, + "forceMultiplier": 1.0, + "deploymentZones": [ + 6 + ], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": true, + "contributesToUnitCount": true, + "forceName": "Player", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 1, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [] + }, + "OpFor": { + "forceAlignment": 2, + "generationMethod": 1, + "forceMultiplier": 1.0, + "deploymentZones": [], + "destinationZone": 6, + "retreatThreshold": 50, + "allowedUnitType": -2, + "canReinforceLinked": true, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "OpFor", + "syncedForceName": "Player", + "syncDeploymentType": "OppositeEdge", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 4, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 0, + "generationOrder": 5, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [ + "VIP" + ], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "RAIDER", + "CAVALRY" + ] + }, + "VIP": { + "forceAlignment": 1, + "generationMethod": 2, + "forceMultiplier": 1.0, + "deploymentZones": [ + 10 + ], + "destinationZone": 6, + "retreatThreshold": 0, + "allowedUnitType": 1, + "canReinforceLinked": false, + "contributesToBV": false, + "contributesToUnitCount": false, + "forceName": "VIP", + "syncedForceName": null, + "syncDeploymentType": "None", + "syncRetreatThreshold": false, + "arrivalTurn": 0, + "maxWeightClass": 3, + "minWeightClass": 0, + "contributesToMapSize": true, + "actualDeploymentZone": -1, + "fixedUnitCount": 1, + "generationOrder": 2, + "allowAeroBombs": false, + "startingAltitude": 0, + "useArtillery": false, + "deployOffBoard": false, + "objectiveLinkedForces": [], + "subjectToRandomRemoval": true, + "fixedMul": null, + "forceRoleStrings": [ + "APC" + ] + } + }, + "scenarioObjectives": [ + { + "objectiveCriterion": "ReachMapEdge", + "description": "", + "destinationEdge": "SOUTH", + "percentage": 100, + "fixedAmount": null, + "timeLimitType": "None", + "timeLimitAtMost": false, + "timeLimit": null, + "timeLimitScaleFactor": 2, + "associatedForceNames": [ + "VIP" + ], + "associatedUnitIDs": [], + "successEffects": [ + { + "effectType": "ScenarioVictory", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "failureEffects": [ + { + "effectType": "ScenarioDefeat", + "effectScaling": "Fixed", + "howMuch": 2 + } + ], + "additionalDetails": [] + } + ] +} diff --git a/data/scenariotemplates/VIP Extraction.xml b/data/scenariotemplates/VIP Extraction.xml deleted file mode 100644 index 662aa29d45..0000000000 --- a/data/scenariotemplates/VIP Extraction.xml +++ /dev/null @@ -1,182 +0,0 @@ - - - - VIP Extraction - Escort a lone VIP off the field before the enemy runs them down. - - VICTOR - false - false - - - Forest - ColdForest - HotForest - Jungle - Swamp - - false - 0 - 0 - 5 - SpecificGroundTerrain - true - 1 - 0 - 5 - - - - Player - - -1 - false - -2 - 0 - true - true - true - true - false - - 6 - - 6 - 0 - 0 - 1.0 - Player - 0 - 1 - 4 - 0 - - 50 - 0 - None - false - - - - VIP - - -1 - false - 1 - 0 - false - false - true - false - false - - 10 - - 6 - 1 - 1 - 1.0 - VIP - 2 - 2 - 3 - 0 - - 0 - 0 - None - false - - APC - - - - - OpFor - - -1 - false - -2 - 0 - true - false - true - false - false - - 6 - 0 - 2 - 1.0 - OpFor - 1 - 5 - 4 - 0 - - VIP - - 50 - 0 - OppositeEdge - Player - false - - RAIDER - CAVALRY - - - - - - - - VIP - - - - - ScenarioVictory - Fixed - 2 - - - - - ScenarioDefeat - Fixed - 2 - - - - Get 100% of the following force to the destination edge. +2 SVP if succeeded, -2 SVP if failed. - SOUTH - ReachMapEdge - 100 - false - 2 - None - - - diff --git a/data/stratconbiomedefinitions/StratConBiomeManifest.json b/data/stratconbiomedefinitions/StratConBiomeManifest.json new file mode 100644 index 0000000000..8266f1c935 --- /dev/null +++ b/data/stratconbiomedefinitions/StratConBiomeManifest.json @@ -0,0 +1,613 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"biomes": [ { +"biomeCategory": "Terran", +"allowedTemperatureLowerBound": 0, +"allowedTemperatureUpperBound": 267, +"allowedTerrainTypes": ["SnowField", "Glacier", "ArcticDesert", "ColdHills", "ColdMountain", "FrozenSea"] +}, { +"biomeCategory": "Terran", +"allowedTemperatureLowerBound": 268, +"allowedTemperatureUpperBound": 277, +"allowedTerrainTypes": ["Tundra", "Steppe", "ColdForest", "Swamp", "ArcticDesert", "ColdHills", "ColdMountain", "ColdSea", "ColdUrban"] +}, { +"biomeCategory": "Terran", +"allowedTemperatureLowerBound": 278, +"allowedTemperatureUpperBound": 287, +"allowedTerrainTypes": ["Badlands", "Plains", "Forest", "Swamp", "Desert", "Hills", "Mountain", "Sea", "Urban"] +}, { +"biomeCategory": "Terran", +"allowedTemperatureLowerBound": 288, +"allowedTemperatureUpperBound": 297, +"allowedTerrainTypes": ["Badlands", "Plains", "Forest", "Swamp", "Desert", "Hills", "Mountain", "Sea", "Urban"] +}, { +"biomeCategory": "Terran", +"allowedTemperatureLowerBound": 298, +"allowedTemperatureUpperBound": 307, +"allowedTerrainTypes": ["Badlands", "Savannah", "Forest", "HotForest", "Jungle", "Swamp", "Desert", "Hills", "Mountain", "HotHillsDry", "HotHillsWet", "Sea", "HotSea", "Urban", "HotUrban"] +}, { +"biomeCategory": "Terran", +"allowedTemperatureLowerBound": 308, +"allowedTemperatureUpperBound": 317, +"allowedTerrainTypes": ["Badlands", "Savannah", "HotForest", "Jungle", "Swamp", "Desert", "Hills", "Mountain", "HotSea", "HotUrban", "HotHillsDry", "HotHillsWet", "HotMountainsDry", "HotMountainsWet"] +}, { +"biomeCategory": "Terran", +"allowedTemperatureLowerBound": 318, +"allowedTemperatureUpperBound": 90000, +"allowedTerrainTypes": ["Badlands", "Savannah", "Jungle", "Desert", "HotSea", "HotHillsDry", "HotHillsWet", "HotMountainsDry", "HotMountainsWet"] +}, { +"biomeCategory": "TerranFacility", +"allowedTemperatureLowerBound": 0, +"allowedTemperatureUpperBound": 267, +"allowedTerrainTypes": ["FrozenFacility"] +}, { +"biomeCategory": "TerranFacility", +"allowedTemperatureLowerBound": 268, +"allowedTemperatureUpperBound": 277, +"allowedTerrainTypes": ["ColdFacility"] +}, { +"biomeCategory": "TerranFacility", +"allowedTemperatureLowerBound": 278, +"allowedTemperatureUpperBound": 297, +"allowedTerrainTypes": ["TemperateFacility"] +}, { +"biomeCategory": "TerranFacility", +"allowedTemperatureLowerBound": 298, +"allowedTemperatureUpperBound": 90000, +"allowedTerrainTypes": ["HotFacility"] +}, { +"biomeCategory": "Airless", +"allowedTemperatureLowerBound": 0, +"allowedTemperatureUpperBound": 90000, +"allowedTerrainTypes": ["GrayLunar", "Mars", "Volcano" ] +} ], +"terrainTypes": [ { +"name": "Sea", +"image": null, +"category": "OCEAN", +"arable": false, +"temperatureOffset": 0, +"tilesetTheme": null +}, { +"name": "ColdSea", +"image": null, +"category": "OCEAN", +"arable": false, +"temperatureOffset": -8, +"tilesetTheme": "snow" +}, { +"name": "HotSea", +"image": null, +"category": "OCEAN", +"arable": false, +"temperatureOffset": 8, +"tilesetTheme": null +}, { +"name": "FrozenSea", +"image": null, +"category": "OCEAN", +"arable": false, +"temperatureOffset": -8, +"tilesetTheme": "snow" +}, { +"name": "Mountain", +"image": null, +"category": "MOUNTAIN", +"arable": false, +"temperatureOffset": -6, +"tilesetTheme": null +}, { +"name": "ColdMountain", +"image": null, +"category": "MOUNTAIN", +"arable": false, +"temperatureOffset": -14, +"tilesetTheme": "snow" +}, { +"name": "HotMountainsWet", +"image": null, +"category": "MOUNTAIN", +"arable": false, +"temperatureOffset": 2, +"tilesetTheme": null +}, { +"name": "HotMountainsDry", +"image": null, +"category": "MOUNTAIN", +"arable": false, +"temperatureOffset": 2, +"tilesetTheme": "desert" +}, { +"name": "Urban", +"image": null, +"category": "URBAN", +"arable": false, +"temperatureOffset": 0, +"tilesetTheme": null +}, { +"name": "ColdUrban", +"image": null, +"category": "URBAN", +"arable": false, +"temperatureOffset": -8, +"tilesetTheme": "snow" +}, { +"name": "HotUrban", +"image": null, +"category": "URBAN", +"arable": false, +"temperatureOffset": 8, +"tilesetTheme": null +}, { +"name": "Volcano", +"image": null, +"category": "VOLCANIC", +"arable": false, +"temperatureOffset": 25, +"tilesetTheme": "volcano" +}, { +"name": "GrayLunar", +"image": null, +"category": "LUNAR", +"arable": false, +"temperatureOffset": 0, +"tilesetTheme": "lunar" +}, { +"name": "Mars", +"image": null, +"category": "LUNAR", +"arable": false, +"temperatureOffset": 0, +"tilesetTheme": "mars" +}, { +"name": "Forest", +"image": null, +"category": "VEGETATION", +"arable": false, +"temperatureOffset": 0, +"tilesetTheme": null +}, { +"name": "ColdForest", +"image": null, +"category": "VEGETATION", +"arable": false, +"temperatureOffset": -8, +"tilesetTheme": "snow" +}, { +"name": "HotForest", +"image": null, +"category": "VEGETATION", +"arable": false, +"temperatureOffset": 8, +"tilesetTheme": "tropical" +}, { +"name": "Jungle", +"image": null, +"category": "VEGETATION", +"arable": false, +"temperatureOffset": 0, +"tilesetTheme": "jungle" +}, { +"name": "Swamp", +"image": null, +"category": "VEGETATION", +"arable": false, +"temperatureOffset": 0, +"tilesetTheme": "swamp" +}, { +"name": "Savannah", +"image": null, +"category": "VEGETATION", +"arable": true, +"temperatureOffset": 0, +"tilesetTheme": null +}, { +"name": "Plains", +"image": null, +"category": "VEGETATION", +"arable": true, +"temperatureOffset": 0, +"tilesetTheme": null +}, { +"name": "HotHillsWet", +"image": null, +"category": "HILLS", +"arable": true, +"temperatureOffset": 8, +"tilesetTheme": null +}, { +"name": "Desert", +"image": null, +"category": "BARREN", +"arable": false, +"temperatureOffset": 8, +"tilesetTheme": "desert" +}, { +"name": "Badlands", +"image": null, +"category": "BARREN", +"arable": false, +"temperatureOffset": 8, +"tilesetTheme": "desert" +}, { +"name": "Steppe", +"image": null, +"category": "BARREN", +"arable": true, +"temperatureOffset": 0, +"tilesetTheme": "desert" +}, { +"name": "ArcticDesert", +"image": null, +"category": "BARREN", +"arable": false, +"temperatureOffset": -8, +"tilesetTheme": "snow" +}, { +"name": "Glacier", +"image": null, +"category": "BARREN", +"arable": false, +"temperatureOffset": -8, +"tilesetTheme": "snow" +}, { +"name": "SnowField", +"image": null, +"category": "BARREN", +"arable": false, +"temperatureOffset": -8, +"tilesetTheme": "snow" +}, { +"name": "Tundra", +"image": null, +"category": "BARREN", +"arable": false, +"temperatureOffset": -8, +"tilesetTheme": "snow" +}, { +"name": "HotHillsDry", +"image": null, +"category": "HILLS", +"arable": false, +"temperatureOffset": 8, +"tilesetTheme": "desert" +}, { +"name": "Hills", +"image": null, +"category": "HILLS", +"arable": true, +"temperatureOffset": 0, +"tilesetTheme": null +}, { +"name": "ColdHills", +"image": null, +"category": "HILLS", +"arable": false, +"temperatureOffset": -8, +"tilesetTheme": "snow" +}, { +"name": "Farmland", +"image": null, +"category": "AGRICULTURE", +"arable": false, +"temperatureOffset": 0, +"tilesetTheme": null +} ], +"biomeMapTypes": { +"LUNAR": { +"mapTypes": ["StratconLunar"] +}, +"SavannahFacility": { +"mapTypes": ["BaseHotDesert", "RuralHomesteadsHotDesert", "PlainsOutpost"] +}, +"ForestFacility": { +"mapTypes": ["Town-wooded", "PlainsOutpost", "Woods-medium"] +}, +"BadlandsFacility": { +"mapTypes": ["BaseHotDesert", "RuralHomesteadsHotDesert", "Sandy-hills"] +}, +"Swamp": { +"mapTypes": ["Muddy-swamp", "Lake-marsh", "Lake-high", "Wooded-lake", "Swamp", "Wooded-swamp", "River-wetlands", "Lake-marsh - Jazz", "Muddy-swamp - Jazz", "River-wetlands - Jazz", "Swamp - Jazz", "Sea-MangroveCliffs", "Sea-SaltwaterMarsh"] +}, +"SnowFieldFacility": { +"mapTypes": ["SnowOutpost", "IceOutpost", "BaseCold", "RuralHomesteadsCold" ] +}, +"ArcticDesertFacility": { +"mapTypes": ["IceOutpost", "SnowOutpost", "BaseCold"] +}, +"Hills": { +"mapTypes": ["Hills", "Hills-craters", "Hills-pastoral", "Hills-Residential", "Hills-Residential2", "Hills-River", "Hills-RiverRoad", "Light-craters", "Wooded-hills", "Town-hills"] +}, +"HotFacility": { +"mapTypes": ["BaseHotDesert", "BaseHotJungle", "RuralHomesteadsHotDesert", "RuralHomesteadsHotJungle", "TownHotDesert", "TownHotJungle"] +}, +"HotMountainsDry": { +"mapTypes": ["MountainHotDesert", "Rocky-valley", "Cliffs", "Mountain-medium" ] +}, +"HotForestFacility": { +"mapTypes": ["BaseHotJungle", "RuralHomesteadsHotJungle", "TownHotJungle"] +}, +"ColdUrban": { +"mapTypes": ["ColdSeaCoastalFort", "CityCold", "TownCold", "RuralHomesteadsCold", "ColdSeaCoastalRoads"] +}, +"Convoy": { +"mapTypes": ["Convoy", "RuralHomesteadsCold", "RuralHomesteadsHotDesert", "RuralHomesteadsHotJungle", "BaseCold", "BaseHotDesert", "BaseHotJungle"] +}, +"ColdForestFacility": { +"mapTypes": ["BaseCold", "RuralHomesteadsCold", "Wooded-tundra", "TownCold" ] +}, +"GrayLunarFacility": { +"mapTypes": ["StratconLunar"] +}, +"HotMountainsDryFacility": { +"mapTypes": ["BaseHotDesert", "MountainHotDesert", "RuralHomesteadsHotDesert"] +}, +"NEUTRAL": { +"mapTypes": ["PlainsTown", "PlainsOutpost", "Town-generic", "Some-trees", "Town-ruin"] +}, +"FrozenFacility": { +"mapTypes": ["BaseCold", "IceOutpost", "IceHills", "SnowOutpost" ] +}, +"HotMountainsWetFacility": { +"mapTypes": ["BaseHotJungle", "MountainHotJungle", "RuralHomesteadsHotJungle"] +}, +"Glacier": { +"mapTypes": ["Icefield", "IceRiver", "IceOutpost", "IceJagged", "IceHills", "RockyIcefield", "SnowDunes"] +}, +"HotHillsDry": { +"mapTypes": ["HillsHotDesert", "Sandy-hills", "Sandy-valley", "Rocky-valley" ] +}, +"Savannah": { +"mapTypes": ["Savannah", "Some-trees", "Dust-bowl", "Sandy-hills", "Town-farming"] +}, +"AGRICULTURE": { +"mapTypes": ["Town-farming", "Hills-pastoral", "PlainsOutpost", "PlainsTown", "Some-trees"] +}, +"TemperateFacility": { +"mapTypes": ["PlainsOutpost", "Town-mining", "Town-farming", "Town-generic", "Town-wooded", "Sea-CoastalFort", "Fortress-City"] +}, +"SwampFacility": { +"mapTypes": ["Wooded-swamp", "Muddy-swamp", "PlainsOutpost"] +}, +"Plains": { +"mapTypes": ["PlainsLake", "PlainsOutpost", "PlainsTown", "Savannah", "Town-ruin", "Town-farming", "Dust-bowl", "River-huge"] +}, +"HILLS": { +"mapTypes": ["Hills", "Wooded-hills", "Hills-River", "Town-hills", "Hills-pastoral"] +}, +"JungleFacility": { +"mapTypes": ["BaseHotJungle", "RuralHomesteadsHotJungle", "TownHotJungle"] +}, +"FarmlandFacility": { +"mapTypes": ["Town-farming", "PlainsOutpost", "Hills-pastoral"] +}, +"Badlands": { +"mapTypes": ["Dust-bowl", "Light-craters", "Sandy-valley", "Rocky-valley", "Rubble-river"] +}, +"FrozenSea": { +"mapTypes": ["FrozenSea", "OpenOceanFrozen"] +}, +"Sea": { +"mapTypes": ["Sea-Deltas", "Sea-Fjord", "OpenOcean"] +}, +"HotUrbanFacility": { +"mapTypes": ["TownHotDesert", "TownHotJungle", "CityHotDesert"] +}, +"Volcano": { +"mapTypes": ["StratconVolcanic"] +}, +"Jungle": { +"mapTypes": ["Jungle", "TownHotJungle", "RuralHomesteadsHotJungle"] +}, +"VEGETATION": { +"mapTypes": ["Woods-medium", "Wooded-hills", "Woods-river", "Wooded-valley", "Some-trees"] +}, +"ColdMountainFacility": { +"mapTypes": ["BaseCold", "SnowOutpost", "Mountain-RuinedTrenches-snow", "Mountain-town-snow" ] +}, +"VOLCANIC": { +"mapTypes": ["StratconVolcanic"] +}, +"HotMountainsWet": { +"mapTypes": ["MountainHotJungle", "Mountain-river", "HillsHotJungle"] +}, +"MOUNTAIN": { +"mapTypes": ["Mountain-medium", "Mountain-high", "Cliffs", "Rubble-mountain", "Mountain-river"] +}, +"HotSea": { +"mapTypes": ["SeaHotDesert", "SeaHotJungle", "OpenOceanTropical"] +}, +"DropZone": { +"mapTypes": ["Savannah", "Dust-bowl", "Sandy-hills", "ArcticDesert", "ArcticDesert-Rough", "TundraRoad", "TundraRoadSnow", "TundraRiverGrass", "TundraRiverSnow" ] +}, +"ColdFacility": { +"mapTypes": ["BaseCold", "RuralHomesteadsCold", "SnowOutpost", "ColdSeaCoastalFort", "TownCold"] +}, +"Urban": { +"mapTypes": ["City-dense", "City-high", "Town-concrete", "Fortress-City", "Town-generic", "Town-ruin", "Seaport", "Town-mining", "Sea-CoastalRoads" ] +}, +"HillsFacility": { +"mapTypes": ["Town-hills", "Hills-Residential", "Hills-pastoral", "PlainsOutpost" ] +}, +"Mars": { +"mapTypes": ["StratconMars"] +}, +"HotForest": { +"mapTypes": ["ForestHot", "RuralHomesteadsHotJungle", "Jungle", "HillsHotJungle" ] +}, +"Mountain": { +"mapTypes": ["Mountain-lake", "Cliffs-lake", "Rubble-mountain", "Cliffs", "Mountain-medium", "Mountain-high", "Mountain-river", "Mountain-RuinedTrenches", "Mountain-TouristTown", "Mountain-town", "Heavy-craters", "Town-mountain", "Rocky-valley"] +}, +"Steppe": { +"mapTypes": ["Some-trees", "Dust-bowl", "TundraRiverGrass", "PlainsOutpost", "Town-farming"] +}, +"ColdForest": { +"mapTypes": ["ColdForest", "Some-trees-snow", "Wooded-lake-snow", "Woods-deep-snow", "Wooded-valley-snow", "Woods-river-snow", "Wooded-tundra", "RuralHomesteadsCold"] +}, +"ColdHills": { +"mapTypes": ["ColdHills", "Hills-craters-snow", "Hills-snow-tundra", "Hills-River-Snow", "Hills-RiverRoad-Snow", "Light-craters-snow", "Wooded-hills-snow"] +}, +"HotUrban": { +"mapTypes": ["CityHotDesert", "CityHotJungle", "TownHotJungle", "TownHotJungle", "RuralHomesteadsHotDesert"] +}, +"HotHillsDryFacility": { +"mapTypes": ["BaseHotDesert", "RuralHomesteadsHotDesert", "HillsHotDesert"] +}, +"ArcticDesert": { +"mapTypes": ["ArcticDesert", "ArcticDesert-Rough", "SnowDunes", "SnowCoast" ] +}, +"VolcanoFacility": { +"mapTypes": ["StratconVolcanic", "BaseHotDesert", "MountainHotDesert"] +}, +"SteppeFacility": { +"mapTypes": ["PlainsOutpost", "Town-farming", "Town-mining"] +}, +"HotHillsWet": { +"mapTypes": ["HillsHotJungle", "ForestHot", "RuralHomesteadsHotJungle"] +}, +"MountainFacility": { +"mapTypes": ["Mountain-town", "Town-mountain", "Mountain-RuinedTrenches", "Mountain-TouristTown" ] +}, +"URBAN": { +"mapTypes": ["City-dense", "City-high", "Town-concrete", "Fortress-City", "Town-generic"] +}, +"ColdSea": { +"mapTypes": ["ColdSeaDeltas", "ColdSeaFjords", "ColdSeaFjordsSteep", "OpenOceanCold" ] +}, +"TundraFacility": { +"mapTypes": ["SnowOutpost", "BaseCold", "RuralHomesteadsCold", "TundraTownSnow" ] +}, +"UrbanFacility": { +"mapTypes": ["Fortress-City", "Town-concrete", "Town-generic", "Town-ruin" ] +}, +"ColdMountain": { +"mapTypes": ["ColdMountain", "ColdMountain-Rough", "Mountain-lakes-snow", "Cliffs-lakes-snow", "Rubble-mountain-snow", "Cliffs-snow", "Mountain-medium-snow", "Mountain-high-snow", "Mountain-river-snow", "Mountain-RuinedTrenches-snow", "Mountain-TouristTown-snow", "Mountain-town-snow", "Heavy-craters-snow", "ColdMountain-Lone" ] +}, +"DesertFacility": { +"mapTypes": ["BaseHotDesert", "RuralHomesteadsHotDesert", "TownHotDesert"] +}, +"GrayLunar": { +"mapTypes": ["StratconLunar"] +}, +"GlacierFacility": { +"mapTypes": ["IceOutpost", "SnowOutpost", "BaseCold"] +}, +"BARREN": { +"mapTypes": ["Dust-bowl", "Rocky-valley", "Sandy-valley", "Sandy-hills", "Light-craters"] +}, +"ColdUrbanFacility": { +"mapTypes": ["TownCold", "CityCold", "BaseCold"] +}, +"PlainsFacility": { +"mapTypes": ["PlainsOutpost", "Town-farming", "Town-generic", "PlainsTown" ] +}, +"SnowField": { +"mapTypes": ["Snowfield", "SnowRiver", "SnowOutpost", "SnowCoast", "SnowDunes"] +}, +"HotHillsWetFacility": { +"mapTypes": ["BaseHotJungle", "RuralHomesteadsHotJungle", "HillsHotJungle"] +}, +"Forest": { +"mapTypes": ["Some-trees", "Wooded-lake", "Woods-medium", "Wooded-hills", "Woods-deep", "Wooded-valley", "Woods-river", "Wooded-swamp", "Town-wooded" ] +}, +"MarsFacility": { +"mapTypes": ["StratconMars"] +}, +"Desert": { +"mapTypes": ["Desert", "TownHotDesert", "RuralHomesteadsHotDesert", "Sandy-river", "Sandy-valley"] +}, +"Tundra": { +"mapTypes": ["TundraRiverGrass", "TundraRiverSnow", "TundraRoad", "TundraRoadSnow", "TundraTownSnow", "Wooded-tundra"] +}, +"ColdHillsFacility": { +"mapTypes": ["BaseCold", "RuralHomesteadsCold", "TownCold"] +} +}, +"biomeImages": { +"HotMountainsWet": "data/images/stratcon/Stratcon_Mountains.png", +"Farmland": "data/images/hexes/saxarba/field_0.png", +"Factory": "data/images/stratcon/Stratcon_Factory.png", +"Swamp": "data/images/stratcon/Stratcon_Swamp.png", +"HotSea": "data/images/stratcon/Stratcon_Hot_Sea.png", +"ColdFacility": "data/images/stratcon/Stratcon_Cold_Facility.png", +"Mars": "data/images/stratcon/Stratcon_Mars.png", +"Urban": "data/images/stratcon/Stratcon_Urban_Temperate.png", +"HotForest": "data/images/stratcon/Stratcon_Jungle.png", +"Mountain": "data/images/stratcon/Stratcon_Mountains.png", +"Hills": "data/images/stratcon/Stratcon_Hills.png", +"HotFacility": "data/images/stratcon/Stratcon_Hot_Facility.png", +"Steppe": "data/images/stratcon/Stratcon_Steppe.png", +"ColdForest": "data/images/stratcon/Stratcon_Cold_Forest.png", +"HotMountainsDry": "data/images/stratcon/Stratcon_Hot_Mountain.png", +"ColdHills": "data/images/stratcon/Stratcon_Cold_Hills.png", +"HotUrban": "data/images/stratcon/Stratcon_Urban_Hot.png", +"ColdUrban": "data/images/stratcon/Stratcon_Urban_Cold.png", +"ForceHostile": "data/images/stratcon/SelectedHex/Stratcon_Force_Presence_Hostile_Red.png", +"ArcticDesert": "data/images/stratcon/Stratcon_Arctic_Desert.png", +"FrozenFacility": "data/images/stratcon/Stratcon_Frozen_Facility.png", +"FogOfWar": "data/images/stratcon/Stratcon_Fog_of_War.png", +"HotHillsWet": "data/images/stratcon/Stratcon_Hot_Hills_Wet.png", +"Glacier": "data/images/stratcon/Stratcon_Glacier.png", +"HotHillsDry": "data/images/stratcon/Stratcon_Hot_Hills_Dry.png", +"Savannah": "data/images/stratcon/Stratcon_Savannah.png", +"TemperateFacility": "data/images/stratcon/Stratcon_Temperate_Facility.png", +"ColdSea": "data/images/stratcon/Stratcon_Cold_Sea.png", +"ColdMountain": "data/images/stratcon/Stratcon_Cold_Mountain.png", +"Plains": "data/images/stratcon/Stratcon_Plains.png", +"City": "data/images/stratcon/Stratcon_Urban.png", +"Badlands": "data/images/hexes/mars/mars_rough_3.gif", +"FrozenSea": "data/images/stratcon/Stratcon_Frozen_Sea.png", +"GrayLunar": "data/images/stratcon/Stratcon_Gray_Luna.png", +"Sea": "data/images/stratcon/Stratcon_Sea.png", +"Volcano": "data/images/stratcon/Stratcon_Volcanic.png", +"ForceFriendly": "data/images/stratcon/SelectedHex/Stratcon_Force_Presence_Friendly_Green.png", +"HexSelected": "data/images/stratcon/SelectedHex/Stratcon_Selected_Hex_White.png", +"SnowField": "data/images/stratcon/Stratcon_Snowfield.png", +"Jungle": "data/images/stratcon/Stratcon_Jungle.png", +"Forest": "data/images/stratcon/Stratcon_Forest.png", +"Desert": "data/images/stratcon/Stratcon_Desert.png", +"Tundra": "data/images/stratcon/Stratcon_Tundra.png" +}, +"facilityImages": { +"FacilityAlliedTankBase": "data/images/stratcon/Bases/Stratcon_Base_Real_Allied.png", +"FacilityHostileBaseOfOperations": "data/images/stratcon/Bases/Stratcon_Fortress_Real_Hostile.png", +"FacilityAlliedArtilleryBase": "data/images/stratcon/Bases/Stratcon_Base_Real_Allied.png", +"FacilityAlliedCommandCenter": "data/images/stratcon/Bases/Stratcon_Comms_Real_Allied.png", +"FacilityHostileEarlyWarningSystem": "data/images/stratcon/Bases/Stratcon_Comms_Real_Hostile.png", +"FacilityHostileDataCenter": "data/images/stratcon/Bases/Stratcon_Comms_Real_Hostile.png", +"FacilityAlliedBaseOfOperations": "data/images/stratcon/Bases/Stratcon_Fortress_Real_Allied.png", +"FacilityHostileDefault": "data/images/stratcon/Bases/Stratcon_Base_Real_Hostile.png", +"FacilityHostileArtilleryBase": "data/images/stratcon/Bases/Stratcon_Base_Real_Hostile.png", +"FacilityHostileOrbitalDefense": "data/images/stratcon/Bases/Stratcon_Comms_Real_Hostile.png", +"FacilityAlliedSpacePort": "data/images/stratcon/Bases/Stratcon_Airbase_Real_Allied.png", +"FacilityHostileTankBase": "data/images/stratcon/Bases/Stratcon_Base_Real_Hostile.png", +"FacilityAlliedDataCenter": "data/images/stratcon/Bases/Stratcon_Comms_Real_Allied.png", +"FacilityAlliedDefault": "data/images/stratcon/Bases/Stratcon_Base_Real_Allied.png", +"FacilityAlliedEarlyWarningSystem": "data/images/stratcon/Bases/Stratcon_Comms_Real_Allied.png", +"FacilityAlliedOrbitalDefense": "data/images/stratcon/Bases/Stratcon_Comms_Real_Allied.png", +"FacilityHostileSpacePort": "data/images/stratcon/Bases/Stratcon_Airbase_Real_Hostile.png", +"FacilityAlliedAirBase": "data/images/stratcon/Bases/Stratcon_Airbase_Real_Allied.png", +"FacilityAlliedMekBase": "data/images/stratcon/Bases/Stratcon_Base_Real_Allied.png", +"FacilityAlliedIndustrialFacility": "data/images/stratcon/Bases/Stratcon_Factory_Real_Allied.png", +"FacilityHostileAirBase": "data/images/stratcon/Bases/Stratcon_Airbase_Real_Hostile.png", +"FacilityHostileIndustrialFacility": "data/images/stratcon/Bases/Stratcon_Factory_Real_Hostile.png", +"FacilityHostileMekBase": "data/images/stratcon/Bases/Stratcon_Base_Real_Hostile.png", +"FacilityHostileCommandCenter": "data/images/stratcon/Bases/Stratcon_Comms_Real_Hostile.png" +} +} diff --git a/data/stratconbiomedefinitions/StratConBiomeManifest.xml b/data/stratconbiomedefinitions/StratConBiomeManifest.xml deleted file mode 100644 index ff9b109661..0000000000 --- a/data/stratconbiomedefinitions/StratConBiomeManifest.xml +++ /dev/null @@ -1,1384 +0,0 @@ - - - - - Terran - 0 - 267 - SnowField - Glacier - ArcticDesert - ColdHills - ColdMountain - FrozenSea - - - Terran - 268 - 277 - Tundra - Steppe - ColdForest - Swamp - ArcticDesert - ColdHills - ColdMountain - ColdSea - ColdUrban - - - Terran - 278 - 287 - Badlands - Plains - Forest - Swamp - Desert - Hills - Mountain - Sea - Urban - - - Terran - 288 - 297 - Badlands - Plains - Forest - Swamp - Desert - Hills - Mountain - Sea - Urban - - - Terran - 298 - 307 - Badlands - Savannah - Forest - HotForest - Jungle - Swamp - Desert - Hills - Mountain - HotHillsDry - HotHillsWet - Sea - HotSea - Urban - HotUrban - - - Terran - 308 - 317 - Badlands - Savannah - HotForest - Jungle - Swamp - Desert - Hills - Mountain - HotSea - HotUrban - HotHillsDry - HotHillsWet - HotMountainsDry - HotMountainsWet - - - Terran - 318 - 90000 - Badlands - Savannah - Jungle - Desert - HotSea - HotHillsDry - HotHillsWet - HotMountainsDry - HotMountainsWet - - - - TerranFacility - 0 - 267 - FrozenFacility - - - TerranFacility - 268 - 277 - ColdFacility - - - TerranFacility - 278 - 297 - TemperateFacility - - - TerranFacility - 298 - 90000 - HotFacility - - - - Airless - 0 - 90000 - GrayLunar - Mars - Volcano - - - - Sea - OCEAN - - - ColdSea - OCEAN - -8 - snow - - - HotSea - OCEAN - 8 - - - FrozenSea - OCEAN - -8 - snow - - - Mountain - MOUNTAIN - -6 - - - ColdMountain - MOUNTAIN - -14 - snow - - - HotMountainsWet - MOUNTAIN - 2 - - - HotMountainsDry - MOUNTAIN - 2 - desert - - - Urban - URBAN - - - ColdUrban - URBAN - -8 - snow - - - HotUrban - URBAN - 8 - - - Volcano - VOLCANIC - 25 - volcano - - - GrayLunar - LUNAR - lunar - - - Mars - LUNAR - mars - - - Forest - VEGETATION - - - ColdForest - VEGETATION - -8 - snow - - - HotForest - VEGETATION - 8 - tropical - - - Jungle - VEGETATION - jungle - - - Swamp - VEGETATION - swamp - - - Savannah - VEGETATION - true - - - Plains - VEGETATION - true - - - HotHillsWet - HILLS - 8 - true - - - Desert - BARREN - 8 - desert - - - Badlands - BARREN - 8 - desert - - - Steppe - BARREN - desert - true - - - ArcticDesert - BARREN - -8 - snow - - - Glacier - BARREN - -8 - snow - - - SnowField - BARREN - -8 - snow - - - Tundra - BARREN - -8 - snow - - - HotHillsDry - HILLS - 8 - desert - - - Hills - HILLS - true - - - ColdHills - HILLS - -8 - snow - - - Farmland - AGRICULTURE - - - - - ArcticDesert - - ArcticDesert - ArcticDesert-Rough - SnowDunes - SnowCoast - - - - Badlands - - Dust-bowl - Light-craters - Sandy-valley - Rocky-valley - Rubble-river - - - - ColdFacility - - BaseCold - RuralHomesteadsCold - SnowOutpost - ColdSeaCoastalFort - TownCold - - - - ColdForest - - ColdForest - Some-trees-snow - Wooded-lake-snow - Woods-deep-snow - Wooded-valley-snow - Woods-river-snow - Wooded-tundra - RuralHomesteadsCold - - - - ColdHills - - ColdHills - Hills-craters-snow - Hills-snow-tundra - Hills-River-Snow - Hills-RiverRoad-Snow - Light-craters-snow - Wooded-hills-snow - - - - ColdMountain - - ColdMountain - ColdMountain-Rough - Mountain-lakes-snow - Cliffs-lakes-snow - Rubble-mountain-snow - Cliffs-snow - Mountain-medium-snow - Mountain-high-snow - Mountain-river-snow - Mountain-RuinedTrenches-snow - Mountain-TouristTown-snow - Mountain-town-snow - Heavy-craters-snow - ColdMountain-Lone - - - - ColdSea - - ColdSeaDeltas - ColdSeaFjords - ColdSeaFjordsSteep - OpenOceanCold - - - - ColdUrban - - ColdSeaCoastalFort - CityCold - TownCold - RuralHomesteadsCold - ColdSeaCoastalRoads - - - - - Convoy - - Convoy - RuralHomesteadsCold - RuralHomesteadsHotDesert - RuralHomesteadsHotJungle - BaseCold - BaseHotDesert - BaseHotJungle - - - - Desert - - Desert - TownHotDesert - RuralHomesteadsHotDesert - Sandy-river - Sandy-valley - - - - - DropZone - - Savannah - Dust-bowl - Sandy-hills - ArcticDesert - ArcticDesert-Rough - TundraRoad - TundraRoadSnow - TundraRiverGrass - TundraRiverSnow - - - - Forest - - Some-trees - Wooded-lake - Woods-medium - Wooded-hills - Woods-deep - Wooded-valley - Woods-river - Wooded-swamp - Town-wooded - - - - FrozenFacility - - BaseCold - IceOutpost - IceHills - SnowOutpost - - - - FrozenSea - - FrozenSea - OpenOceanFrozen - - - - Glacier - - Icefield - IceRiver - IceOutpost - IceJagged - IceHills - RockyIcefield - SnowDunes - - - - HotHillsDry - - HillsHotDesert - Sandy-hills - Sandy-valley - Rocky-valley - - - - Hills - - Hills - Hills-craters - Hills-pastoral - Hills-Residential - Hills-Residential2 - Hills-River - Hills-RiverRoad - Light-craters - Wooded-hills - Town-hills - - - - HotFacility - - BaseHotDesert - BaseHotJungle - RuralHomesteadsHotDesert - RuralHomesteadsHotJungle - TownHotDesert - TownHotJungle - - - - HotForest - - ForestHot - RuralHomesteadsHotJungle - Jungle - HillsHotJungle - - - - HotHillsWet - - HillsHotJungle - ForestHot - RuralHomesteadsHotJungle - - - - HotMountainsDry - - MountainHotDesert - Rocky-valley - Cliffs - Mountain-medium - - - - HotMountainsWet - - MountainHotJungle - Mountain-river - HillsHotJungle - - - - HotSea - - SeaHotDesert - SeaHotJungle - OpenOceanTropical - - - - HotUrban - - CityHotDesert - CityHotJungle - TownHotJungle - TownHotJungle - RuralHomesteadsHotDesert - - - - Jungle - - Jungle - TownHotJungle - RuralHomesteadsHotJungle - - - - Mountain - - Mountain-lake - Cliffs-lake - Rubble-mountain - Cliffs - Mountain-medium - Mountain-high - Mountain-river - Mountain-RuinedTrenches - Mountain-TouristTown - Mountain-town - Heavy-craters - Town-mountain - Rocky-valley - - - - Plains - - PlainsLake - PlainsOutpost - PlainsTown - Savannah - Town-ruin - Town-farming - Dust-bowl - River-huge - - - - Savannah - - Savannah - Some-trees - Dust-bowl - Sandy-hills - Town-farming - - - - Sea - - Sea-Deltas - Sea-Fjord - OpenOcean - - - - SnowField - - Snowfield - SnowRiver - SnowOutpost - SnowCoast - SnowDunes - - - - Steppe - - Some-trees - Dust-bowl - TundraRiverGrass - PlainsOutpost - Town-farming - - - - Swamp - - Muddy-swamp - Lake-marsh - Lake-high - Wooded-lake - Swamp - Wooded-swamp - River-wetlands - Lake-marsh - Jazz - Muddy-swamp - Jazz - River-wetlands - Jazz - Swamp - Jazz - Sea-MangroveCliffs - Sea-SaltwaterMarsh - - - - Tundra - - TundraRiverGrass - TundraRiverSnow - TundraRoad - TundraRoadSnow - TundraTownSnow - Wooded-tundra - - - - TemperateFacility - - PlainsOutpost - Town-mining - Town-farming - Town-generic - Town-wooded - Sea-CoastalFort - Fortress-City - - - - Urban - - City-dense - City-high - Town-concrete - Fortress-City - Town-generic - Town-ruin - Seaport - Town-mining - Sea-CoastalRoads - - - - - - VolcanoFacility - - StratconVolcanic - BaseHotDesert - MountainHotDesert - - - - GlacierFacility - - IceOutpost - SnowOutpost - BaseCold - - - - SnowFieldFacility - - SnowOutpost - IceOutpost - BaseCold - RuralHomesteadsCold - - - - ArcticDesertFacility - - IceOutpost - SnowOutpost - BaseCold - - - - TundraFacility - - SnowOutpost - BaseCold - RuralHomesteadsCold - TundraTownSnow - - - - ColdForestFacility - - BaseCold - RuralHomesteadsCold - Wooded-tundra - TownCold - - - - ColdHillsFacility - - BaseCold - RuralHomesteadsCold - TownCold - - - - ColdMountainFacility - - BaseCold - SnowOutpost - Mountain-RuinedTrenches-snow - Mountain-town-snow - - - - ColdUrbanFacility - - TownCold - CityCold - BaseCold - - - - DesertFacility - - BaseHotDesert - RuralHomesteadsHotDesert - TownHotDesert - - - - BadlandsFacility - - BaseHotDesert - RuralHomesteadsHotDesert - Sandy-hills - - - - JungleFacility - - BaseHotJungle - RuralHomesteadsHotJungle - TownHotJungle - - - - HotForestFacility - - BaseHotJungle - RuralHomesteadsHotJungle - TownHotJungle - - - - HotHillsDryFacility - - BaseHotDesert - RuralHomesteadsHotDesert - HillsHotDesert - - - - HotHillsWetFacility - - BaseHotJungle - RuralHomesteadsHotJungle - HillsHotJungle - - - - HotMountainsDryFacility - - BaseHotDesert - MountainHotDesert - RuralHomesteadsHotDesert - - - - HotMountainsWetFacility - - BaseHotJungle - MountainHotJungle - RuralHomesteadsHotJungle - - - - HotUrbanFacility - - TownHotDesert - TownHotJungle - CityHotDesert - - - - SavannahFacility - - BaseHotDesert - RuralHomesteadsHotDesert - PlainsOutpost - - - - SteppeFacility - - PlainsOutpost - Town-farming - Town-mining - - - - PlainsFacility - - PlainsOutpost - Town-farming - Town-generic - PlainsTown - - - - FarmlandFacility - - Town-farming - PlainsOutpost - Hills-pastoral - - - - ForestFacility - - Town-wooded - PlainsOutpost - Woods-medium - - - - HillsFacility - - Town-hills - Hills-Residential - Hills-pastoral - PlainsOutpost - - - - MountainFacility - - Mountain-town - Town-mountain - Mountain-RuinedTrenches - Mountain-TouristTown - - - - SwampFacility - - Wooded-swamp - Muddy-swamp - PlainsOutpost - - - - UrbanFacility - - Fortress-City - Town-concrete - Town-generic - Town-ruin - - - - GrayLunarFacility - - StratconLunar - - - - MarsFacility - - StratconMars - - - - - - NEUTRAL - - PlainsTown - PlainsOutpost - Town-generic - Some-trees - Town-ruin - - - - VEGETATION - - Woods-medium - Wooded-hills - Woods-river - Wooded-valley - Some-trees - - - - BARREN - - Dust-bowl - Rocky-valley - Sandy-valley - Sandy-hills - Light-craters - - - - HILLS - - Hills - Wooded-hills - Hills-River - Town-hills - Hills-pastoral - - - - MOUNTAIN - - Mountain-medium - Mountain-high - Cliffs - Rubble-mountain - Mountain-river - - - - URBAN - - City-dense - City-high - Town-concrete - Fortress-City - Town-generic - - - - - AGRICULTURE - - Town-farming - Hills-pastoral - PlainsOutpost - PlainsTown - Some-trees - - - - - VOLCANIC - - StratconVolcanic - - - - - LUNAR - - StratconLunar - - - - - Volcano - - StratconVolcanic - - - - - Mars - - StratconMars - - - - - GrayLunar - - StratconLunar - - - - - - ArcticDesert - data/images/stratcon/Stratcon_Arctic_Desert.png - - - Badlands - data/images/hexes/mars/mars_rough_3.gif - - - ColdFacility - data/images/stratcon/Stratcon_Cold_Facility.png - - - ColdForest - data/images/stratcon/Stratcon_Cold_Forest.png - - - ColdHills - data/images/stratcon/Stratcon_Cold_Hills.png - - - ColdSea - data/images/stratcon/Stratcon_Cold_Sea.png - - - ColdUrban - data/images/stratcon/Stratcon_Urban_Cold.png - - - Desert - data/images/stratcon/Stratcon_Desert.png - - - FogOfWar - data/images/stratcon/Stratcon_Fog_of_War.png - - - ForceHostile - data/images/stratcon/SelectedHex/Stratcon_Force_Presence_Hostile_Red.png - - - ForceFriendly - data/images/stratcon/SelectedHex/Stratcon_Force_Presence_Friendly_Green.png - - - Forest - data/images/stratcon/Stratcon_Forest.png - - - FrozenFacility - data/images/stratcon/Stratcon_Frozen_Facility.png - - - FrozenSea - data/images/stratcon/Stratcon_Frozen_Sea.png - - - Factory - data/images/stratcon/Stratcon_Factory.png - - - Glacier - data/images/stratcon/Stratcon_Glacier.png - - - GrayLunar - data/images/stratcon/Stratcon_Gray_Luna.png - - - HexSelected - data/images/stratcon/SelectedHex/Stratcon_Selected_Hex_White.png - - - Hills - data/images/stratcon/Stratcon_Hills.png - - - HotForest - data/images/stratcon/Stratcon_Jungle.png - - - HotHillsDry - data/images/stratcon/Stratcon_Hot_Hills_Dry.png - - - HotHillsWet - data/images/stratcon/Stratcon_Hot_Hills_Wet.png - - - HotFacility - data/images/stratcon/Stratcon_Hot_Facility.png - - - HotSea - data/images/stratcon/Stratcon_Hot_Sea.png - - - HotUrban - data/images/stratcon/Stratcon_Urban_Hot.png - - - Jungle - data/images/stratcon/Stratcon_Jungle.png - - - Mountain - data/images/stratcon/Stratcon_Mountains.png - - - HotMountainsWet - data/images/stratcon/Stratcon_Mountains.png - - - HotMountainsDry - data/images/stratcon/Stratcon_Hot_Mountain.png - - - ColdMountain - data/images/stratcon/Stratcon_Cold_Mountain.png - - - Mars - data/images/stratcon/Stratcon_Mars.png - - - Plains - data/images/stratcon/Stratcon_Plains.png - - - Savannah - data/images/stratcon/Stratcon_Savannah.png - - - Sea - data/images/stratcon/Stratcon_Sea.png - - - SnowField - data/images/stratcon/Stratcon_Snowfield.png - - - Steppe - data/images/stratcon/Stratcon_Steppe.png - - - Swamp - data/images/stratcon/Stratcon_Swamp.png - - - TemperateFacility - data/images/stratcon/Stratcon_Temperate_Facility.png - - - Tundra - data/images/stratcon/Stratcon_Tundra.png - - - Urban - data/images/stratcon/Stratcon_Urban_Temperate.png - - - - City - data/images/stratcon/Stratcon_Urban.png - - - - Farmland - data/images/hexes/saxarba/field_0.png - - - Volcano - data/images/stratcon/Stratcon_Volcanic.png - - - - - - FacilityAlliedAirBase - data/images/stratcon/Bases/Stratcon_Airbase_Real_Allied.png - - - FacilityAlliedArtilleryBase - data/images/stratcon/Bases/Stratcon_Base_Real_Allied.png - - - FacilityAlliedDefault - data/images/stratcon/Bases/Stratcon_Base_Real_Allied.png - - - FacilityAlliedMekBase - data/images/stratcon/Bases/Stratcon_Base_Real_Allied.png - - - FacilityAlliedTankBase - data/images/stratcon/Bases/Stratcon_Base_Real_Allied.png - - - FacilityAlliedSpacePort - data/images/stratcon/Bases/Stratcon_Airbase_Real_Allied.png - - - FacilityAlliedDataCenter - data/images/stratcon/Bases/Stratcon_Comms_Real_Allied.png - - - FacilityAlliedIndustrialFacility - data/images/stratcon/Bases/Stratcon_Factory_Real_Allied.png - - - FacilityAlliedCommandCenter - data/images/stratcon/Bases/Stratcon_Comms_Real_Allied.png - - - FacilityAlliedEarlyWarningSystem - data/images/stratcon/Bases/Stratcon_Comms_Real_Allied.png - - - FacilityAlliedOrbitalDefense - data/images/stratcon/Bases/Stratcon_Comms_Real_Allied.png - - - FacilityAlliedBaseOfOperations - data/images/stratcon/Bases/Stratcon_Fortress_Real_Allied.png - - - - FacilityHostileAirBase - data/images/stratcon/Bases/Stratcon_Airbase_Real_Hostile.png - - - FacilityHostileArtilleryBase - data/images/stratcon/Bases/Stratcon_Base_Real_Hostile.png - - - FacilityHostileDefault - data/images/stratcon/Bases/Stratcon_Base_Real_Hostile.png - - - FacilityHostileMekBase - data/images/stratcon/Bases/Stratcon_Base_Real_Hostile.png - - - FacilityHostileTankBase - data/images/stratcon/Bases/Stratcon_Base_Real_Hostile.png - - - FacilityHostileSpacePort - data/images/stratcon/Bases/Stratcon_Airbase_Real_Hostile.png - - - FacilityHostileDataCenter - data/images/stratcon/Bases/Stratcon_Comms_Real_Hostile.png - - - FacilityHostileIndustrialFacility - data/images/stratcon/Bases/Stratcon_Factory_Real_Hostile.png - - - FacilityHostileCommandCenter - data/images/stratcon/Bases/Stratcon_Comms_Real_Hostile.png - - - FacilityHostileEarlyWarningSystem - data/images/stratcon/Bases/Stratcon_Comms_Real_Hostile.png - - - FacilityHostileOrbitalDefense - data/images/stratcon/Bases/Stratcon_Comms_Real_Hostile.png - - - FacilityHostileBaseOfOperations - data/images/stratcon/Bases/Stratcon_Fortress_Real_Hostile.png - - - diff --git a/data/stratconcontractdefinitions/Assassination.json b/data/stratconcontractdefinitions/Assassination.json new file mode 100644 index 0000000000..fed509052a --- /dev/null +++ b/data/stratconcontractdefinitions/Assassination.json @@ -0,0 +1,53 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Assassination", + "briefing": "Eliminate designated targets.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": -0.5, + "allowEarlyVictory": true, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "VIP Ambush.json", + "Frontier Assassination.json", + "Assassination.json", + "Decapitation Strike.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 28, + 38, + 38, + 48 + ], + "deploymentTimes": [ + 2, + 3, + 3, + 3, + 4 + ] +} diff --git a/data/stratconcontractdefinitions/Assassination.xml b/data/stratconcontractdefinitions/Assassination.xml deleted file mode 100644 index 51fb851bae..0000000000 --- a/data/stratconcontractdefinitions/Assassination.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - Assassination - 0 - Eliminate designated targets. - true - -0.5 - - - 28 - 38 - 38 - 48 - - - - 2 - 3 - 3 - 3 - 4 - - - - SpecificScenarioVictory - -0.5 - - VIP Ambush.xml - Frontier Assassination.xml - Assassination.xml - Decapitation Strike.xml - - - - diff --git a/data/stratconcontractdefinitions/CadreDuty.json b/data/stratconcontractdefinitions/CadreDuty.json new file mode 100644 index 0000000000..2e69aff4d4 --- /dev/null +++ b/data/stratconcontractdefinitions/CadreDuty.json @@ -0,0 +1,48 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Cadre Duty", + "briefing": "Protect attached trainees.", + "alliedFacilityCount": -0.3, + "hostileFacilityCount": 0.0, + "allowEarlyVictory": false, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "AnyScenarioVictory", + "objectiveCount": -1.0, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 6, + 16, + 16, + 26 + ], + "deploymentTimes": [ + 5, + 6, + 6, + 6, + 7 + ] +} diff --git a/data/stratconcontractdefinitions/CadreDuty.xml b/data/stratconcontractdefinitions/CadreDuty.xml deleted file mode 100644 index 0f12e662ad..0000000000 --- a/data/stratconcontractdefinitions/CadreDuty.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - Cadre Duty - -0.3 - Protect attached trainees. - false - 0 - true - - - 6 - 16 - 16 - 26 - - - - 5 - 6 - 6 - 6 - 7 - - - - -1 - AnyScenarioVictory - - - diff --git a/data/stratconcontractdefinitions/ContractDefinitionManifest.json b/data/stratconcontractdefinitions/ContractDefinitionManifest.json new file mode 100644 index 0000000000..da7e4250b4 --- /dev/null +++ b/data/stratconcontractdefinitions/ContractDefinitionManifest.json @@ -0,0 +1,40 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"definitionFileNames": { +"GARRISON_DUTY": "GarrisonDuty.json", +"CADRE_DUTY": "CadreDuty.json", +"SECURITY_DUTY": "SecurityDuty.json", +"RIOT_DUTY": "RiotDuty.json", +"PLANETARY_ASSAULT": "PlanetaryAssault.json", +"RELIEF_DUTY": "ReliefDuty.json", +"GUERRILLA_WARFARE": "GuerillaWarfare.json", +"PIRATE_HUNTING": "PirateHunting.json", +"DIVERSIONARY_RAID": "DiversionaryRaid.json", +"OBJECTIVE_RAID": "ObjectiveRaid.json", +"RECON_RAID": "ReconRaid.json", +"EXTRACTION_RAID": "ExtractionRaid.json", +"ASSASSINATION": "Assassination.json", +"MOLE_HUNTING": "MoleHunting.json", +"OBSERVATION_RAID": "ObservationRaid.json", +"RETAINER": "Retainer.json", +"SABOTAGE": "Sabotage.json", +"TERRORISM": "Terrorism.json", +"ESPIONAGE": "Espionage.json" +} +} diff --git a/data/stratconcontractdefinitions/ContractDefinitionManifest.xml b/data/stratconcontractdefinitions/ContractDefinitionManifest.xml deleted file mode 100644 index 1a8fc5b871..0000000000 --- a/data/stratconcontractdefinitions/ContractDefinitionManifest.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - GARRISON_DUTY - GarrisonDuty.xml - - - CADRE_DUTY - CadreDuty.xml - - - SECURITY_DUTY - SecurityDuty.xml - - - RIOT_DUTY - RiotDuty.xml - - - PLANETARY_ASSAULT - PlanetaryAssault.xml - - - RELIEF_DUTY - ReliefDuty.xml - - - GUERRILLA_WARFARE - GuerillaWarfare.xml - - - PIRATE_HUNTING - PirateHunting.xml - - - DIVERSIONARY_RAID - DiversionaryRaid.xml - - - OBJECTIVE_RAID - ObjectiveRaid.xml - - - RECON_RAID - ReconRaid.xml - - - EXTRACTION_RAID - ExtractionRaid.xml - - - ASSASSINATION - Assassination.xml - - - MOLE_HUNTING - MoleHunting.xml - - - OBSERVATION_RAID - ObservationRaid.xml - - - RETAINER - Retainer.xml - - - SABOTAGE - Sabotage.xml - - - TERRORISM - Terrorism.xml - - - ESPIONAGE - Espionage.xml - - - diff --git a/data/stratconcontractdefinitions/DiversionaryRaid.json b/data/stratconcontractdefinitions/DiversionaryRaid.json new file mode 100644 index 0000000000..9fb9e7753c --- /dev/null +++ b/data/stratconcontractdefinitions/DiversionaryRaid.json @@ -0,0 +1,58 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Diversionary Raid", + "briefing": "Engage hostile forces.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": -1.0, + "allowEarlyVictory": true, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -1.0, + "objectiveScenarios": [ + "Decoy Engagement.json", + "Decoy Interception.json", + "Diversion Engagement.json", + "Frontier Assassination.json", + "Frontline Disruption.json", + "Tactical Withdrawal.json", + "Ambush the Column.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [ + "\n " + ], + "scenarioOdds": [ + 26, + 36, + 36, + 46 + ], + "deploymentTimes": [ + 2, + 3, + 3, + 3, + 4 + ] +} diff --git a/data/stratconcontractdefinitions/DiversionaryRaid.xml b/data/stratconcontractdefinitions/DiversionaryRaid.xml deleted file mode 100644 index fdb7659bfc..0000000000 --- a/data/stratconcontractdefinitions/DiversionaryRaid.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - Diversionary Raid - 0 - Engage hostile forces. - true - -1 - true - - - 26 - 36 - 36 - 46 - - - - 2 - 3 - 3 - 3 - 4 - - - ReinforcementDelayReductionHostile.xml - - - - -1.0 - SpecificScenarioVictory - - Decoy Engagement.xml - Decoy Interception.xml - Diversion Engagement.xml - Frontier Assassination.xml - Frontline Disruption.xml - Tactical Withdrawal.xml - Ambush the Column.xml - - - - diff --git a/data/stratconcontractdefinitions/Espionage.json b/data/stratconcontractdefinitions/Espionage.json new file mode 100644 index 0000000000..e091d7e4e8 --- /dev/null +++ b/data/stratconcontractdefinitions/Espionage.json @@ -0,0 +1,59 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Espionage", + "briefing": "Conduct reconnaissance while evading hostile forces.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": -0.5, + "allowEarlyVictory": true, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "AnyScenarioVictory", + "objectiveCount": -1.0, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [ + "ReinforcementDelayReductionHostile.json" + ] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -1.0, + "objectiveScenarios": [ + "Recon Evasion.json", + "Heavy Recon Evasion.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 38, + 48, + 48, + 58 + ], + "deploymentTimes": [ + 6, + 7, + 7, + 7, + 8 + ] +} diff --git a/data/stratconcontractdefinitions/Espionage.xml b/data/stratconcontractdefinitions/Espionage.xml deleted file mode 100644 index 7a7ff8bb8c..0000000000 --- a/data/stratconcontractdefinitions/Espionage.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - Espionage - 0 - Conduct reconnaissance while evading hostile forces. - true - -0.5 - - - 38 - 48 - 48 - 58 - - - - 6 - 7 - 7 - 7 - 8 - - - - -1 - AnyScenarioVictory - - ReinforcementDelayReductionHostile.xml - - - - SpecificScenarioVictory - -1.0 - - Recon Evasion.xml - Heavy Recon Evasion.xml - - - - diff --git a/data/stratconcontractdefinitions/ExtractionRaid.json b/data/stratconcontractdefinitions/ExtractionRaid.json new file mode 100644 index 0000000000..77ff26993b --- /dev/null +++ b/data/stratconcontractdefinitions/ExtractionRaid.json @@ -0,0 +1,67 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Extraction Raid", + "briefing": "Capture and extract designated assets.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": -0.5, + "allowEarlyVictory": true, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "Hostile Facility.json" + ], + "objectiveScenarioModifiers": [ + "FacilityHostileExtract.json" + ] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "Covert Strike.json", + "DropShip Raid.json", + "Isolated DropShip Defense.json", + "Convoy Interdiction.json", + "Convoy Ambush.json", + "Prisoner Liberation.json", + "Rescue the Downed.json", + "VIP Extraction.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 22, + 32, + 32, + 42 + ], + "deploymentTimes": [ + 2, + 3, + 3, + 3, + 4 + ] +} diff --git a/data/stratconcontractdefinitions/ExtractionRaid.xml b/data/stratconcontractdefinitions/ExtractionRaid.xml deleted file mode 100644 index 45bf1d9263..0000000000 --- a/data/stratconcontractdefinitions/ExtractionRaid.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - Extraction Raid - 0 - Capture and extract designated assets. - true - -0.5 - - - 22 - 32 - 32 - 42 - - - - 2 - 3 - 3 - 3 - 4 - - - - SpecificScenarioVictory - -0.5 - - Hostile Facility.xml - - - FacilityHostileExtract.xml - - - - SpecificScenarioVictory - -0.5 - - Covert Strike.xml - DropShip Raid.xml - Isolated DropShip Defense.xml - Convoy Interdiction.xml - Convoy Raid.xml - Prisoner Liberation.xml - Rescue the Downed.xml - VIP Extraction.xml - - - - diff --git a/data/stratconcontractdefinitions/FileFormat.txt b/data/stratconcontractdefinitions/FileFormat.txt index a2fa5f4110..fe535cef35 100644 --- a/data/stratconcontractdefinitions/FileFormat.txt +++ b/data/stratconcontractdefinitions/FileFormat.txt @@ -1,49 +1,35 @@ -The following is an example contract definition file: - - - - -0.3 - Protect attached trainees. - Cadre Duty - 0 - - 10 - 10 - 10 - 10 - - - 0 - 1 - 2 - 3 - - - - AlliedFacilityControl - -0.25 - - - -0.25 - SpecificScenarioVictory - - Irregular Forces.xml - - - - FacilityDestruction - -0.25 - - - -0.25 - AnyScenarioVictory - - AlliedTraineesGround.xml - AlliedTraineesAir.xml - - - - +Contract definition files are JSON. (Legacy XML files are still read for backward compatibility, but the game writes +JSON.) Every saved file begins with the MegaMek Data legal notice as a block of '#' comment lines, followed by a blank +line and then the JSON object; the '#' lines are informational only and are skipped when the file is read. The following +is an example contract definition file: + +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# ... (full MegaMek Data license notice) ... +# affiliated with Microsoft. + +{ + "contractTypeName" : "Cadre Duty", + "briefing" : "Protect attached trainees.", + "alliedFacilityCount" : -0.3, + "hostileFacilityCount" : 0.0, + "scenarioOdds" : [ 10, 10, 10, 10 ], + "deploymentTimes" : [ 0, 1, 2, 3 ], + "objectiveParameters" : [ { + "objectiveType" : "AlliedFacilityControl", + "objectiveCount" : -0.25 + }, { + "objectiveType" : "SpecificScenarioVictory", + "objectiveCount" : -0.25, + "objectiveScenarios" : [ "Irregular Forces.json" ] + }, { + "objectiveType" : "FacilityDestruction", + "objectiveCount" : -0.25 + }, { + "objectiveType" : "AnyScenarioVictory", + "objectiveCount" : -0.25, + "objectiveScenarioModifiers" : [ "AlliedTraineesGround.json", "AlliedTraineesAir.json" ] + } ] +} Let's break it down. diff --git a/data/stratconcontractdefinitions/GarrisonDuty.json b/data/stratconcontractdefinitions/GarrisonDuty.json new file mode 100644 index 0000000000..1f112e924f --- /dev/null +++ b/data/stratconcontractdefinitions/GarrisonDuty.json @@ -0,0 +1,50 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Garrison Duty", + "briefing": "Defend designated facilities.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": 0.0, + "allowEarlyVictory": false, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "AlliedFacilityControl", + "objectiveCount": -1.0, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [ + "LocalGarrisonTurrets.json" + ] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 10, + 20, + 20, + 30 + ], + "deploymentTimes": [ + 3, + 4, + 4, + 4, + 5 + ] +} diff --git a/data/stratconcontractdefinitions/GarrisonDuty.xml b/data/stratconcontractdefinitions/GarrisonDuty.xml deleted file mode 100644 index 0eb93b8f24..0000000000 --- a/data/stratconcontractdefinitions/GarrisonDuty.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - Garrison Duty - 0 - Defend designated facilities. - false - 0 - - - 10 - 20 - 20 - 30 - - - - 3 - 4 - 4 - 4 - 5 - - - - AlliedFacilityControl - -1 - - LocalGarrisonTurrets.xml - - - - diff --git a/data/stratconcontractdefinitions/GuerillaWarfare.json b/data/stratconcontractdefinitions/GuerillaWarfare.json new file mode 100644 index 0000000000..18127393b8 --- /dev/null +++ b/data/stratconcontractdefinitions/GuerillaWarfare.json @@ -0,0 +1,65 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Guerrilla Warfare", + "briefing": "Engage hostile forces. Be quick.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": -1.0, + "allowEarlyVictory": false, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "AnyScenarioVictory", + "objectiveCount": -1.0, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "Convoy Interdiction.json", + "Convoy Ambush.json", + "Intercept Engagement.json", + "Tactical Withdrawal.json", + "Last Stand.json", + "Enveloped.json", + "Gauntlet Run.json", + "Breakout.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [ + "\n " + ], + "scenarioOdds": [ + 32, + 42, + 42, + 52 + ], + "deploymentTimes": [ + 2, + 3, + 3, + 3, + 4 + ] +} diff --git a/data/stratconcontractdefinitions/GuerillaWarfare.xml b/data/stratconcontractdefinitions/GuerillaWarfare.xml deleted file mode 100644 index 0c742791ff..0000000000 --- a/data/stratconcontractdefinitions/GuerillaWarfare.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - Guerrilla Warfare - 0 - Engage hostile forces. Be quick. - false - -1 - true - - - 32 - 42 - 42 - 52 - - - - 2 - 3 - 3 - 3 - 4 - - - OverwhelmingEnemyGroundReinforcements.xml - OverwhelmingEnemyAirReinforcements.xml - - - - -1 - AnyScenarioVictory - - - -0.5 - SpecificScenarioVictory - - Convoy Interdiction.xml - Convoy Raid.xml - Intercept Engagement.xml - Tactical Withdrawal.xml - Last Stand.xml - Enveloped.xml - Gauntlet Run.xml - Breakout.xml - - - - diff --git a/data/stratconcontractdefinitions/MoleHunting.json b/data/stratconcontractdefinitions/MoleHunting.json new file mode 100644 index 0000000000..9aff071792 --- /dev/null +++ b/data/stratconcontractdefinitions/MoleHunting.json @@ -0,0 +1,60 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Mole Hunting", + "briefing": "Eliminate suspected moles.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": -0.5, + "allowEarlyVictory": true, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "AnyScenarioVictory", + "objectiveCount": -1.0, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [ + "BadIntelGround.json" + ] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "Mole Hunt.json", + "Assassination.json", + "Decapitation Strike.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 14, + 24, + 24, + 34 + ], + "deploymentTimes": [ + 4, + 5, + 5, + 5, + 6 + ] +} diff --git a/data/stratconcontractdefinitions/MoleHunting.xml b/data/stratconcontractdefinitions/MoleHunting.xml deleted file mode 100644 index 84f54b25a5..0000000000 --- a/data/stratconcontractdefinitions/MoleHunting.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - Mole Hunting - 0 - Eliminate suspected moles. - true - -0.5 - - - 14 - 24 - 24 - 34 - - - - 4 - 5 - 5 - 5 - 6 - - - - -1.0 - AnyScenarioVictory - - BadIntelGround.xml - - - - SpecificScenarioVictory - -0.5 - - Mole Hunt.xml - Assassination.xml - Decapitation Strike.xml - - - - diff --git a/data/stratconcontractdefinitions/ObjectiveRaid.json b/data/stratconcontractdefinitions/ObjectiveRaid.json new file mode 100644 index 0000000000..d69b98513c --- /dev/null +++ b/data/stratconcontractdefinitions/ObjectiveRaid.json @@ -0,0 +1,59 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Objective Raid", + "briefing": "Destroy designated targets.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": -0.5, + "allowEarlyVictory": true, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "FacilityDestruction", + "objectiveCount": -0.5, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "Covert Strike.json", + "Deep Raid.json", + "Breakthrough.json", + "Convoy Hijack.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 22, + 32, + 32, + 42 + ], + "deploymentTimes": [ + 3, + 4, + 4, + 4, + 5 + ] +} diff --git a/data/stratconcontractdefinitions/ObjectiveRaid.xml b/data/stratconcontractdefinitions/ObjectiveRaid.xml deleted file mode 100644 index 74b934e6ff..0000000000 --- a/data/stratconcontractdefinitions/ObjectiveRaid.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - Objective Raid - 0 - Destroy designated targets. - true - -0.5 - - - 22 - 32 - 32 - 42 - - - - 3 - 4 - 4 - 4 - 5 - - - - FacilityDestruction - -0.5 - - - SpecificScenarioVictory - -0.5 - - Covert Strike.xml - Deep Raid.xml - Breakthrough.xml - Convoy Hijack.xml - - - - diff --git a/data/stratconcontractdefinitions/ObservationRaid.json b/data/stratconcontractdefinitions/ObservationRaid.json new file mode 100644 index 0000000000..1da1186c67 --- /dev/null +++ b/data/stratconcontractdefinitions/ObservationRaid.json @@ -0,0 +1,53 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Observation Raid", + "briefing": "Conduct reconnaissance on designated locations.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": -0.5, + "allowEarlyVictory": true, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "Hostile Facility.json" + ], + "objectiveScenarioModifiers": [ + "FacilityHostileRecon.json", + "GoodIntel.json" + ] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 22, + 32, + 32, + 42 + ], + "deploymentTimes": [ + 6, + 7, + 7, + 7, + 8 + ] +} diff --git a/data/stratconcontractdefinitions/ObservationRaid.xml b/data/stratconcontractdefinitions/ObservationRaid.xml deleted file mode 100644 index 3562a0adbb..0000000000 --- a/data/stratconcontractdefinitions/ObservationRaid.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - Observation Raid - 0 - Conduct reconnaissance on designated locations. - true - -0.5 - - - 22 - 32 - 32 - 42 - - - - 6 - 7 - 7 - 7 - 8 - - - - SpecificScenarioVictory - -0.5 - - Hostile Facility.xml - - - FacilityHostileRecon.xml - GoodIntel.xml - - - - diff --git a/data/stratconcontractdefinitions/PirateHunting.json b/data/stratconcontractdefinitions/PirateHunting.json new file mode 100644 index 0000000000..30f41513fe --- /dev/null +++ b/data/stratconcontractdefinitions/PirateHunting.json @@ -0,0 +1,69 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Pirate Hunting", + "briefing": "Locate and destroy pirate facilities.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": 0.0, + "allowEarlyVictory": true, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "FacilityDestruction", + "objectiveCount": -0.33, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [] + }, + { + "objectiveType": "AlliedFacilityControl", + "objectiveCount": -0.33, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.33, + "objectiveScenarios": [ + "Convoy Escort.json", + "Critical Convoy Escort.json", + "Deep Raid.json", + "DropShip Raid.json", + "Isolated DropShip Defense.json", + "Salvage Run.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [ + "\n " + ], + "scenarioOdds": [ + 10, + 20, + 20, + 30 + ], + "deploymentTimes": [ + 2, + 3, + 4, + 5, + 6 + ] +} diff --git a/data/stratconcontractdefinitions/PirateHunting.xml b/data/stratconcontractdefinitions/PirateHunting.xml deleted file mode 100644 index 0f21940944..0000000000 --- a/data/stratconcontractdefinitions/PirateHunting.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - Pirate Hunting - 0 - Locate and destroy pirate facilities. - true - 0 - - - 10 - 20 - 20 - 30 - - - - 2 - 3 - 4 - 5 - 6 - - - PreBattleDamageHostiles.xml - BadEquipment.xml - - - - FacilityDestruction - -0.33 - - - AlliedFacilityControl - -0.33 - - - -0.33 - SpecificScenarioVictory - - Convoy Escort.xml - Critical Convoy Escort.xml - Deep Raid.xml - DropShip Raid.xml - Isolated DropShip Defense.xml - Salvage Run.xml - - - - diff --git a/data/stratconcontractdefinitions/PlanetaryAssault.json b/data/stratconcontractdefinitions/PlanetaryAssault.json new file mode 100644 index 0000000000..7363b7b7ba --- /dev/null +++ b/data/stratconcontractdefinitions/PlanetaryAssault.json @@ -0,0 +1,74 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Planetary Assault", + "briefing": "Destroy or capture designated facilities.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": 0.0, + "allowEarlyVictory": true, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "FacilityDestruction", + "objectiveCount": -1.0, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "Annihilation.json", + "Breakthrough.json", + "Decoy Engagement.json", + "Decoy Interception.json", + "Deep Raid.json", + "Deep Raid Defense.json", + "Frontline Breakthrough.json", + "Frontline Disruption.json", + "Frontline Engagement.json", + "Intercept Engagement.json", + "Interception Defense.json", + "Picket Line Breakthrough.json", + "Pivotal Battle.json", + "Combat Drop.json", + "Meeting Engagement.json", + "Rolling Thunder.json", + "Escalation.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [ + "\n " + ], + "scenarioOdds": [ + 20, + 30, + 30, + 40 + ], + "deploymentTimes": [ + 5, + 6, + 6, + 6, + 7 + ] +} diff --git a/data/stratconcontractdefinitions/PlanetaryAssault.xml b/data/stratconcontractdefinitions/PlanetaryAssault.xml deleted file mode 100644 index c97a8ec310..0000000000 --- a/data/stratconcontractdefinitions/PlanetaryAssault.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - Planetary Assault - 0 - Destroy or capture designated facilities. - true - 0 - - - 20 - 30 - 30 - 40 - - - - 5 - 6 - 6 - 6 - 7 - - - HostileBVBudgetIncrease.xml - - - - FacilityDestruction - -1 - - - -0.5 - SpecificScenarioVictory - - Annihilation.xml - Breakthrough.xml - Decoy Engagement.xml - Decoy Interception.xml - Deep Raid.xml - Deep Raid Defense.xml - Frontline Breakthrough.xml - Frontline Disruption.xml - Frontline Engagement.xml - Intercept Engagement.xml - Interception Defense.xml - Picket Line Breakthrough.xml - Pivotal Battle.xml - Combat Drop.xml - Meeting Engagement.xml - Rolling Thunder.xml - Escalation.xml - - - - diff --git a/data/stratconcontractdefinitions/ReconRaid.json b/data/stratconcontractdefinitions/ReconRaid.json new file mode 100644 index 0000000000..2c226a3b30 --- /dev/null +++ b/data/stratconcontractdefinitions/ReconRaid.json @@ -0,0 +1,54 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Recon Raid", + "briefing": "Conduct reconnaissance on designated units and locations.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": -0.5, + "allowEarlyVictory": true, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -1.0, + "objectiveScenarios": [ + "Recon Evasion.json", + "Heavy Recon Evasion.json", + "VIP Ambush.json" + ], + "objectiveScenarioModifiers": [ + "BadIntelAir.json" + ] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 22, + 32, + 32, + 42 + ], + "deploymentTimes": [ + 2, + 3, + 3, + 3, + 4 + ] +} diff --git a/data/stratconcontractdefinitions/ReconRaid.xml b/data/stratconcontractdefinitions/ReconRaid.xml deleted file mode 100644 index 651f7d32d9..0000000000 --- a/data/stratconcontractdefinitions/ReconRaid.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - Recon Raid - 0 - Conduct reconnaissance on designated units and locations. - true - -0.5 - - - 22 - 32 - 32 - 42 - - - - 2 - 3 - 3 - 3 - 4 - - - - SpecificScenarioVictory - -1.0 - - Recon Evasion.xml - Heavy Recon Evasion.xml - VIP Ambush.xml - - - BadIntelAir.xml - - - - diff --git a/data/stratconcontractdefinitions/ReliefDuty.json b/data/stratconcontractdefinitions/ReliefDuty.json new file mode 100644 index 0000000000..f3e5ff1c28 --- /dev/null +++ b/data/stratconcontractdefinitions/ReliefDuty.json @@ -0,0 +1,68 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Relief Duty", + "briefing": "Destroy or capture designated facilities while holding existing gains.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": 0.0, + "allowEarlyVictory": false, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "FacilityDestruction", + "objectiveCount": -0.5, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [] + }, + { + "objectiveType": "AlliedFacilityControl", + "objectiveCount": -0.5, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [ + "PreBattleDamageAllies.json" + ] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "Relief Column.json", + "Breakthrough.json", + "Frontline Engagement.json", + "Screening Action.json", + "Hold Until Relief.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 18, + 28, + 28, + 38 + ], + "deploymentTimes": [ + 2, + 3, + 3, + 4, + 5 + ] +} diff --git a/data/stratconcontractdefinitions/ReliefDuty.xml b/data/stratconcontractdefinitions/ReliefDuty.xml deleted file mode 100644 index 6daa67e673..0000000000 --- a/data/stratconcontractdefinitions/ReliefDuty.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - Relief Duty - 0 - Destroy or capture designated facilities while holding existing gains. - false - 0 - - - 18 - 28 - 28 - 38 - - - - 2 - 3 - 3 - 4 - 5 - - - - FacilityDestruction - -0.5 - - - AlliedFacilityControl - -0.5 - - PreBattleDamageAllies.xml - - - - SpecificScenarioVictory - -0.5 - - Relief Column.xml - Breakthrough.xml - Frontline Engagement.xml - Screening Action.xml - Hold Until Relief.xml - - - - diff --git a/data/stratconcontractdefinitions/Retainer.json b/data/stratconcontractdefinitions/Retainer.json new file mode 100644 index 0000000000..cce4824f01 --- /dev/null +++ b/data/stratconcontractdefinitions/Retainer.json @@ -0,0 +1,41 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Temporary Retainer", + "briefing": "Perform requested military services", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": 0.0, + "allowEarlyVictory": false, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 16, + 26, + 26, + 36 + ], + "deploymentTimes": [ + 3, + 4, + 4, + 4, + 5 + ] +} diff --git a/data/stratconcontractdefinitions/Retainer.xml b/data/stratconcontractdefinitions/Retainer.xml deleted file mode 100644 index a45176a652..0000000000 --- a/data/stratconcontractdefinitions/Retainer.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - Temporary Retainer - 0 - Perform requested military services - false - 0 - - - 16 - 26 - 26 - 36 - - - - 3 - 4 - 4 - 4 - 5 - - - diff --git a/data/stratconcontractdefinitions/RiotDuty.json b/data/stratconcontractdefinitions/RiotDuty.json new file mode 100644 index 0000000000..4e48bebd18 --- /dev/null +++ b/data/stratconcontractdefinitions/RiotDuty.json @@ -0,0 +1,60 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Riot Duty", + "briefing": "Defend designated facilities.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": 0.0, + "allowEarlyVictory": false, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "AlliedFacilityControl", + "objectiveCount": -0.5, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "Irregular Force Assault.json", + "Irregular Force Suppression.json", + "VIP Defense.json" + ], + "objectiveScenarioModifiers": [ + "Rookies.json" + ] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 10, + 20, + 20, + 30 + ], + "deploymentTimes": [ + 4, + 5, + 5, + 5, + 6 + ] +} diff --git a/data/stratconcontractdefinitions/RiotDuty.xml b/data/stratconcontractdefinitions/RiotDuty.xml deleted file mode 100644 index ead81b7abb..0000000000 --- a/data/stratconcontractdefinitions/RiotDuty.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - Riot Duty - 0 - Defend designated facilities. - false - 0 - - - 10 - 20 - 20 - 30 - - - - 4 - 5 - 5 - 5 - 6 - - - - AlliedFacilityControl - -0.5 - - - -0.5 - SpecificScenarioVictory - - Irregular Force Assault.xml - Irregular Force Suppression.xml - VIP Defense.xml - - - Rookies.xml - - - - diff --git a/data/stratconcontractdefinitions/Sabotage.json b/data/stratconcontractdefinitions/Sabotage.json new file mode 100644 index 0000000000..2c10735ff3 --- /dev/null +++ b/data/stratconcontractdefinitions/Sabotage.json @@ -0,0 +1,68 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Sabotage", + "briefing": "Disrupt planetary operations.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": 0.0, + "allowEarlyVictory": true, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "AnyScenarioVictory", + "objectiveCount": -1.0, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [ + "EnemyHotDrop.json", + "BadEvent.json" + ] + }, + { + "objectiveType": "FacilityDestruction", + "objectiveCount": -1.0, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "Deep Raid.json", + "Deep Raid Defense.json", + "Frontline Disruption.json", + "Supply Denial.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 38, + 48, + 48, + 58 + ], + "deploymentTimes": [ + 2, + 3, + 3, + 3, + 4 + ] +} diff --git a/data/stratconcontractdefinitions/Sabotage.xml b/data/stratconcontractdefinitions/Sabotage.xml deleted file mode 100644 index 44babeadb8..0000000000 --- a/data/stratconcontractdefinitions/Sabotage.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - Sabotage - 0 - Disrupt planetary operations. - true - 0 - - - 38 - 48 - 48 - 58 - - - - 2 - 3 - 3 - 3 - 4 - - - - -1 - AnyScenarioVictory - - EnemyHotDrop.xml - BadEvent.xml - - - - FacilityDestruction - -1 - - - -0.5 - SpecificScenarioVictory - - Deep Raid.xml - Deep Raid Defense.xml - Frontline Disruption.xml - Supply Denial.xml - - - - diff --git a/data/stratconcontractdefinitions/SecurityDuty.json b/data/stratconcontractdefinitions/SecurityDuty.json new file mode 100644 index 0000000000..b144d5ab19 --- /dev/null +++ b/data/stratconcontractdefinitions/SecurityDuty.json @@ -0,0 +1,62 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Security Duty", + "briefing": "Defend designated facilities.", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": 0.0, + "allowEarlyVictory": false, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "AlliedFacilityControl", + "objectiveCount": -0.5, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -1.0, + "objectiveScenarios": [ + "Convoy Escort.json", + "Critical Convoy Escort.json", + "Reconnaissance Interdiction.json", + "VIP Defense.json", + "Hold Until Relief.json" + ], + "objectiveScenarioModifiers": [ + "LiaisonGround.json" + ] + } + ], + "globalScenarioModifiers": [], + "scenarioOdds": [ + 14, + 24, + 24, + 34 + ], + "deploymentTimes": [ + 4, + 5, + 5, + 5, + 6 + ] +} diff --git a/data/stratconcontractdefinitions/SecurityDuty.xml b/data/stratconcontractdefinitions/SecurityDuty.xml deleted file mode 100644 index 0b9b04ec44..0000000000 --- a/data/stratconcontractdefinitions/SecurityDuty.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - Security Duty - 0 - Defend designated facilities. - false - 0 - - - 14 - 24 - 24 - 34 - - - - 4 - 5 - 5 - 5 - 6 - - - - AlliedFacilityControl - -0.5 - - - -1 - SpecificScenarioVictory - - Convoy Escort.xml - Critical Convoy Escort.xml - Reconnaissance Interdiction.xml - VIP Defense.xml - Hold Until Relief.xml - - - LiaisonGround.xml - - - - diff --git a/data/stratconcontractdefinitions/Terrorism.json b/data/stratconcontractdefinitions/Terrorism.json new file mode 100644 index 0000000000..f0d88b6298 --- /dev/null +++ b/data/stratconcontractdefinitions/Terrorism.json @@ -0,0 +1,64 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ + "contractTypeName": "Black-Ops Insurgency", + "briefing": "Destabilize local government using insurgency tactics", + "alliedFacilityCount": 0.0, + "hostileFacilityCount": -1.0, + "allowEarlyVictory": false, + "allowedScenarios": null, + "forbiddenScenarios": null, + "objectiveParameters": [ + { + "objectiveType": "AnyScenarioVictory", + "objectiveCount": -1.0, + "objectiveScenarios": [], + "objectiveScenarioModifiers": [ + "PiratesPresentGround.json", + "PiratesPresentAir.json" + ] + }, + { + "objectiveType": "SpecificScenarioVictory", + "objectiveCount": -0.5, + "objectiveScenarios": [ + "Convoy Interdiction.json", + "Convoy Ambush.json", + "VIP Ambush.json", + "Supply Denial.json" + ], + "objectiveScenarioModifiers": [] + } + ], + "globalScenarioModifiers": [ + "\n " + ], + "scenarioOdds": [ + 28, + 38, + 38, + 48 + ], + "deploymentTimes": [ + 5, + 6, + 6, + 6, + 7 + ] +} diff --git a/data/stratconcontractdefinitions/Terrorism.xml b/data/stratconcontractdefinitions/Terrorism.xml deleted file mode 100644 index 3e34ad1ec8..0000000000 --- a/data/stratconcontractdefinitions/Terrorism.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - Black-Ops Insurgency - 0 - Destabilize local government using insurgency tactics - false - -1 - true - - - 28 - 38 - 38 - 48 - - - - 5 - 6 - 6 - 6 - 7 - - - BadEquipment.xml - - - - -1 - AnyScenarioVictory - - PiratesPresentGround.xml - PiratesPresentAir.xml - - - - -0.5 - SpecificScenarioVictory - - Convoy Interdiction.xml - Convoy Raid.xml - VIP Ambush.xml - Supply Denial.xml - - - - diff --git a/data/stratconfacilities/AlliedAirBase.json b/data/stratconfacilities/AlliedAirBase.json new file mode 100644 index 0000000000..cf0262cb1e --- /dev/null +++ b/data/stratconfacilities/AlliedAirBase.json @@ -0,0 +1,31 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Allied", +"displayableName": "Air Base", +"facilityType": "AirBase", +"userDescription": "Allied aircraft will participate in scenarios on this track and defend this facility.", +"visible": true, +"sharedModifiers": [ +"AlliedAirSupport.json" +], +"localModifiers": [ +"AlliedAirGarrison.json" +], +"capturedDefinition": "HostileAirBase.json" +} diff --git a/data/stratconfacilities/AlliedAirBase.xml b/data/stratconfacilities/AlliedAirBase.xml deleted file mode 100644 index 93fc766b84..0000000000 --- a/data/stratconfacilities/AlliedAirBase.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - HostileAirBase.xml - Air Base - AirBase - AlliedAirGarrison.xml - Allied - AlliedAirSupport.xml - - true - diff --git a/data/stratconfacilities/AlliedArtilleryBase.json b/data/stratconfacilities/AlliedArtilleryBase.json new file mode 100644 index 0000000000..f33ffe5717 --- /dev/null +++ b/data/stratconfacilities/AlliedArtilleryBase.json @@ -0,0 +1,31 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Allied", +"displayableName": "Artillery Base", +"facilityType": "ArtilleryBase", +"userDescription": "A force of allied artillery will participate in scenarios on this track and defend this facility.", +"visible": true, +"sharedModifiers": [ +"AlliedArtySupport.json" +], +"localModifiers": [ +"AlliedArtyGarrison.json" +], +"capturedDefinition": "HostileArtilleryBase.json" +} diff --git a/data/stratconfacilities/AlliedArtilleryBase.xml b/data/stratconfacilities/AlliedArtilleryBase.xml deleted file mode 100644 index 31e1ccd283..0000000000 --- a/data/stratconfacilities/AlliedArtilleryBase.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - HostileArtilleryBase.xml - Artillery Base - ArtilleryBase - AlliedArtyGarrison.xml - Allied - AlliedArtySupport.xml - - true - diff --git a/data/stratconfacilities/AlliedBaseOfOperations.json b/data/stratconfacilities/AlliedBaseOfOperations.json new file mode 100644 index 0000000000..a1dbd04d28 --- /dev/null +++ b/data/stratconfacilities/AlliedBaseOfOperations.json @@ -0,0 +1,34 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Allied", +"displayableName": "Base of Operations", +"facilityType": "BaseOfOperations", +"userDescription": "This base is defended by well-equipped veteran troops, turrets and a commander in a Mek.\n\nThe commander will participate in scenarios on this track.", +"visible": true, +"sharedModifiers": [ +"AlliedOfficerMek.json" +], +"localModifiers": [ +"Veterans.json", +"GoodEquipment.json", +"AlliedTurrets.json", +"AlliedOfficerMek.json" +], +"capturedDefinition": "HostileBaseOfOperations.json" +} diff --git a/data/stratconfacilities/AlliedBaseOfOperations.xml b/data/stratconfacilities/AlliedBaseOfOperations.xml deleted file mode 100644 index b478e9f1eb..0000000000 --- a/data/stratconfacilities/AlliedBaseOfOperations.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - HostileBaseOfOperations.xml - Base of Operations - BaseOfOperations - Allied - Veterans.xml - GoodEquipment.xml - AlliedTurrets.xml - AlliedOfficerMek.xml - AlliedOfficerMek.xml - - true - diff --git a/data/stratconfacilities/AlliedCommsCenter.json b/data/stratconfacilities/AlliedCommsCenter.json new file mode 100644 index 0000000000..f563cbaa93 --- /dev/null +++ b/data/stratconfacilities/AlliedCommsCenter.json @@ -0,0 +1,28 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Allied", +"displayableName": "Comms Center", +"facilityType": "CommandCenter", +"userDescription": "This facility will coordinate additional allied reinforcements to scenarios on this track.", +"visible": true, +"sharedModifiers": [ +"AlliedReinforcements.json" +], +"capturedDefinition": "HostileCommsCenter.json" +} diff --git a/data/stratconfacilities/AlliedCommsCenter.xml b/data/stratconfacilities/AlliedCommsCenter.xml deleted file mode 100644 index fae4c5d262..0000000000 --- a/data/stratconfacilities/AlliedCommsCenter.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - HostileCommsCenter.xml - Comms Center - CommandCenter - Allied - AlliedReinforcements.xml - - true - diff --git a/data/stratconfacilities/AlliedDataCenter.json b/data/stratconfacilities/AlliedDataCenter.json new file mode 100644 index 0000000000..c31aacea26 --- /dev/null +++ b/data/stratconfacilities/AlliedDataCenter.json @@ -0,0 +1,26 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Allied", +"displayableName": "Data Center", +"facilityType": "DataCenter", +"userDescription": "Increases the scan range of all friendly forces by 1.", +"visible": true, +"capturedDefinition": "HostileDataCenter.json", +"increaseScanRange": true +} diff --git a/data/stratconfacilities/AlliedDataCenter.xml b/data/stratconfacilities/AlliedDataCenter.xml deleted file mode 100644 index c369ed17ad..0000000000 --- a/data/stratconfacilities/AlliedDataCenter.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - HostileDataCenter.xml - Data Center - DataCenter - Allied - true - - true - diff --git a/data/stratconfacilities/AlliedEarlyWarningSystem.json b/data/stratconfacilities/AlliedEarlyWarningSystem.json new file mode 100644 index 0000000000..481c99472f --- /dev/null +++ b/data/stratconfacilities/AlliedEarlyWarningSystem.json @@ -0,0 +1,31 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Allied", +"displayableName": "Early Warning Center", +"facilityType": "EarlyWarningSystem", +"userDescription": "Reduces reinforcement arrival times for allied and player forces.", +"visible": true, +"sharedModifiers": [ +"ReinforcementDelayReductionAllied.json" +], +"localModifiers": [ +"ReinforcementDelayReductionAllied.json" +], +"capturedDefinition": "HostileEarlyWarningSystem.json" +} diff --git a/data/stratconfacilities/AlliedEarlyWarningSystem.xml b/data/stratconfacilities/AlliedEarlyWarningSystem.xml deleted file mode 100644 index 6a66a72f4b..0000000000 --- a/data/stratconfacilities/AlliedEarlyWarningSystem.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - HostileEarlyWarningSystem.xml - Early Warning Center - EarlyWarningSystem - Allied - ReinforcementDelayReductionAllied.xml - ReinforcementDelayReductionAllied.xml - - true - diff --git a/data/stratconfacilities/AlliedIndustrialFacility.json b/data/stratconfacilities/AlliedIndustrialFacility.json new file mode 100644 index 0000000000..cbe7ad4cd8 --- /dev/null +++ b/data/stratconfacilities/AlliedIndustrialFacility.json @@ -0,0 +1,26 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Allied", +"displayableName": "Industrial Center", +"facilityType": "IndustrialFacility", +"userDescription": "Provides 1 SP/month of allied logistical support.", +"visible": true, +"capturedDefinition": "HostileIndustrialFacility.json", +"monthlySPModifier": 1 +} diff --git a/data/stratconfacilities/AlliedIndustrialFacility.xml b/data/stratconfacilities/AlliedIndustrialFacility.xml deleted file mode 100644 index c1c1c4f222..0000000000 --- a/data/stratconfacilities/AlliedIndustrialFacility.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - HostileIndustrialFacility.xml - Industrial Center - IndustrialFacility - Allied - 1 - - true - diff --git a/data/stratconfacilities/AlliedMekBase.json b/data/stratconfacilities/AlliedMekBase.json new file mode 100644 index 0000000000..02506ee9f9 --- /dev/null +++ b/data/stratconfacilities/AlliedMekBase.json @@ -0,0 +1,31 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Allied", +"displayableName": "Mek Base", +"facilityType": "MekBase", +"userDescription": "Allied Meks will participate in scenarios on this track and defend this facility.", +"visible": true, +"sharedModifiers": [ +"AlliedMekReinforcements.json" +], +"localModifiers": [ +"AlliedMekGarrison.json" +], +"capturedDefinition": "HostileMekBase.json" +} diff --git a/data/stratconfacilities/AlliedMekBase.xml b/data/stratconfacilities/AlliedMekBase.xml deleted file mode 100644 index 3edae91de7..0000000000 --- a/data/stratconfacilities/AlliedMekBase.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - HostileMekBase.xml - Mek Base - MekBase - AlliedMekGarrison.xml - Allied - AlliedMekReinforcements.xml - - true - diff --git a/data/stratconfacilities/AlliedOrbitalDefense.json b/data/stratconfacilities/AlliedOrbitalDefense.json new file mode 100644 index 0000000000..22aac77780 --- /dev/null +++ b/data/stratconfacilities/AlliedOrbitalDefense.json @@ -0,0 +1,26 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Allied", +"displayableName": "Orbital Defense", +"facilityType": "OrbitalDefense", +"userDescription": "Prevents hostile air units from operating on this track.", +"visible": true, +"capturedDefinition": "HostileOrbitalDefense.json", +"preventAerospace": true +} diff --git a/data/stratconfacilities/AlliedOrbitalDefense.xml b/data/stratconfacilities/AlliedOrbitalDefense.xml deleted file mode 100644 index 03bec74076..0000000000 --- a/data/stratconfacilities/AlliedOrbitalDefense.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - HostileOrbitalDefense.xml - Orbital Defense - OrbitalDefense - Allied - true - - true - diff --git a/data/stratconfacilities/AlliedSpacePort.json b/data/stratconfacilities/AlliedSpacePort.json new file mode 100644 index 0000000000..5aef8c7758 --- /dev/null +++ b/data/stratconfacilities/AlliedSpacePort.json @@ -0,0 +1,26 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Allied", +"displayableName": "Space Port", +"facilityType": "SpacePort", +"userDescription": "Provides 2 SP/month of allied logistical support.", +"visible": true, +"capturedDefinition": "HostileSpacePort.json", +"monthlySPModifier": 2 +} diff --git a/data/stratconfacilities/AlliedSpacePort.xml b/data/stratconfacilities/AlliedSpacePort.xml deleted file mode 100644 index b54e897af5..0000000000 --- a/data/stratconfacilities/AlliedSpacePort.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - HostileSpacePort.xml - Space Port - SpacePort - Allied - 2 - - true - diff --git a/data/stratconfacilities/AlliedTankBase.json b/data/stratconfacilities/AlliedTankBase.json new file mode 100644 index 0000000000..e6b00f7eaa --- /dev/null +++ b/data/stratconfacilities/AlliedTankBase.json @@ -0,0 +1,31 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Allied", +"displayableName": "Tank Base", +"facilityType": "TankBase", +"userDescription": "Allied vehicles will participate in scenarios on this track and defend this facility.", +"visible": true, +"sharedModifiers": [ +"AlliedTankReinforcements.json" +], +"localModifiers": [ +"AlliedTankGarrison.json" +], +"capturedDefinition": "HostileTankBase.json" +} diff --git a/data/stratconfacilities/AlliedTankBase.xml b/data/stratconfacilities/AlliedTankBase.xml deleted file mode 100644 index 24890ac98d..0000000000 --- a/data/stratconfacilities/AlliedTankBase.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - HostileTankBase.xml - Tank Base - TankBase - AlliedTankGarrison.xml - Allied - AlliedTankReinforcements.xml - - true - diff --git a/data/stratconfacilities/HostileAirBase.json b/data/stratconfacilities/HostileAirBase.json new file mode 100644 index 0000000000..6b413dd57a --- /dev/null +++ b/data/stratconfacilities/HostileAirBase.json @@ -0,0 +1,31 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Opposing", +"displayableName": "Air Base", +"facilityType": "AirBase", +"userDescription": "Hostile aircraft will participate in scenarios on this track and defend this facility.", +"visible": false, +"sharedModifiers": [ +"EnemyAirSupport.json" +], +"localModifiers": [ +"EnemyAirGarrison.json" +], +"capturedDefinition": "AlliedAirBase.json" +} diff --git a/data/stratconfacilities/HostileAirBase.xml b/data/stratconfacilities/HostileAirBase.xml deleted file mode 100644 index 80af52faca..0000000000 --- a/data/stratconfacilities/HostileAirBase.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - AlliedAirBase.xml - Air Base - AirBase - EnemyAirGarrison.xml - Opposing - EnemyAirSupport.xml - - false - diff --git a/data/stratconfacilities/HostileArtilleryBase.json b/data/stratconfacilities/HostileArtilleryBase.json new file mode 100644 index 0000000000..3980596402 --- /dev/null +++ b/data/stratconfacilities/HostileArtilleryBase.json @@ -0,0 +1,31 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Opposing", +"displayableName": "Artillery Base", +"facilityType": "ArtilleryBase", +"userDescription": "Hostile artillery will participate in scenarios on this track and defend this facility.", +"visible": false, +"sharedModifiers": [ +"EnemyArty.json" +], +"localModifiers": [ +"EnemyArtyGarrison.json" +], +"capturedDefinition": "AlliedArtilleryBase.json" +} diff --git a/data/stratconfacilities/HostileArtilleryBase.xml b/data/stratconfacilities/HostileArtilleryBase.xml deleted file mode 100644 index 7c5c5a8eb0..0000000000 --- a/data/stratconfacilities/HostileArtilleryBase.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - AlliedArtilleryBase.xml - Artillery Base - ArtilleryBase - EnemyArtyGarrison.xml - Opposing - EnemyArty.xml - - false - diff --git a/data/stratconfacilities/HostileBaseOfOperations.json b/data/stratconfacilities/HostileBaseOfOperations.json new file mode 100644 index 0000000000..950cf787a9 --- /dev/null +++ b/data/stratconfacilities/HostileBaseOfOperations.json @@ -0,0 +1,33 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Opposing", +"displayableName": "Base of Operations", +"facilityType": "BaseOfOperations", +"userDescription": "This base is defended by well-equipped veteran troops, turrets and a commander in a Mek.\n\nThe commander will participate in scenarios on this track.", +"visible": false, +"sharedModifiers": [ +"EnemyCommanderMek.json" +], +"localModifiers": [ +"Veterans.json", +"GoodEquipment.json", +"EnemyTurrets.json" +], +"capturedDefinition": "AlliedBaseOfOperations.json" +} diff --git a/data/stratconfacilities/HostileBaseOfOperations.xml b/data/stratconfacilities/HostileBaseOfOperations.xml deleted file mode 100644 index 2da138d3e7..0000000000 --- a/data/stratconfacilities/HostileBaseOfOperations.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - AlliedBaseOfOperations.xml - Base of Operations - BaseOfOperations - Opposing - Veterans.xml - GoodEquipment.xml - EnemyTurrets.xml - EnemyCommanderMek.xml - - false - diff --git a/data/stratconfacilities/HostileCommsCenter.json b/data/stratconfacilities/HostileCommsCenter.json new file mode 100644 index 0000000000..6e71878a3c --- /dev/null +++ b/data/stratconfacilities/HostileCommsCenter.json @@ -0,0 +1,28 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Opposing", +"displayableName": "Comms Center", +"facilityType": "CommandCenter", +"userDescription": "Coordinates additional hostile reinforcements for scenarios on this track.", +"visible": true, +"sharedModifiers": [ +"EnemyReinforcements.json" +], +"capturedDefinition": "AlliedCommsCenter.json" +} diff --git a/data/stratconfacilities/HostileCommsCenter.xml b/data/stratconfacilities/HostileCommsCenter.xml deleted file mode 100644 index 477507e80a..0000000000 --- a/data/stratconfacilities/HostileCommsCenter.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - AlliedCommsCenter.xml - Comms Center - CommandCenter - Opposing - EnemyReinforcements.xml - - true - diff --git a/data/stratconfacilities/HostileDataCenter.json b/data/stratconfacilities/HostileDataCenter.json new file mode 100644 index 0000000000..906a5237f4 --- /dev/null +++ b/data/stratconfacilities/HostileDataCenter.json @@ -0,0 +1,29 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Opposing", +"displayableName": "Data Center", +"facilityType": "DataCenter", +"userDescription": "An additional hostile Mek patrol will sweep through scenarios on this track.", +"visible": false, +"sharedModifiers": [ +"EnemyMekPatrol.json" +], +"capturedDefinition": "AlliedDataCenter.json", +"scenarioOddsModifier": 5 +} diff --git a/data/stratconfacilities/HostileDataCenter.xml b/data/stratconfacilities/HostileDataCenter.xml deleted file mode 100644 index 4b01ceed1c..0000000000 --- a/data/stratconfacilities/HostileDataCenter.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - 5 - AlliedDataCenter.xml - Data Center - DataCenter - Opposing - EnemyMekPatrol.xml - - false - diff --git a/data/stratconfacilities/HostileEarlyWarningSystem.json b/data/stratconfacilities/HostileEarlyWarningSystem.json new file mode 100644 index 0000000000..31920e77d6 --- /dev/null +++ b/data/stratconfacilities/HostileEarlyWarningSystem.json @@ -0,0 +1,31 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Opposing", +"displayableName": "Early Warning Center", +"facilityType": "EarlyWarningSystem", +"userDescription": "Reduces hostile reinforcement arrival time for scenarios on this track.", +"visible": true, +"sharedModifiers": [ +"ReinforcementDelayReductionHostile.json" +], +"localModifiers": [ +"ReinforcementDelayReductionHostile.json" +], +"capturedDefinition": "AlliedEarlyWarningSystem.json" +} diff --git a/data/stratconfacilities/HostileEarlyWarningSystem.xml b/data/stratconfacilities/HostileEarlyWarningSystem.xml deleted file mode 100644 index a4a683fdc6..0000000000 --- a/data/stratconfacilities/HostileEarlyWarningSystem.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - AlliedEarlyWarningSystem.xml - Early Warning Center - EarlyWarningSystem - Opposing - ReinforcementDelayReductionHostile.xml - ReinforcementDelayReductionHostile.xml - - true - diff --git a/data/stratconfacilities/HostileIndustrialFacility.json b/data/stratconfacilities/HostileIndustrialFacility.json new file mode 100644 index 0000000000..6f1756fb2f --- /dev/null +++ b/data/stratconfacilities/HostileIndustrialFacility.json @@ -0,0 +1,28 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Opposing", +"displayableName": "Industrial Center", +"facilityType": "IndustrialFacility", +"userDescription": "Hostile forces on this track are larger and better equipped with factory-fresh units.", +"visible": false, +"sharedModifiers": [ +"ArmednArmored.json" +], +"capturedDefinition": "AlliedIndustrialFacility.json" +} diff --git a/data/stratconfacilities/HostileIndustrialFacility.xml b/data/stratconfacilities/HostileIndustrialFacility.xml deleted file mode 100644 index 67c8915b9b..0000000000 --- a/data/stratconfacilities/HostileIndustrialFacility.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - AlliedIndustrialFacility.xml - Industrial Center - IndustrialFacility - Opposing - ArmednArmored.xml - - false - diff --git a/data/stratconfacilities/HostileMekBase.json b/data/stratconfacilities/HostileMekBase.json new file mode 100644 index 0000000000..c9fc189e10 --- /dev/null +++ b/data/stratconfacilities/HostileMekBase.json @@ -0,0 +1,65 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Opposing", +"displayableName": "Mek Base", +"facilityType": "MekBase", +"userDescription": "Hostile Meks will participate in scenarios on this track and defend this facility.", +"visible": false, +"sharedModifiers": [ +"EnemyMekReinforcements.json" +], +"localModifiers": [ +"EnemyMekGarrison.json" +], +"capturedDefinition": "AlliedMekBase.json", +"biomes": [ +{ +"biomeCategory": "TerranFacility", +"allowedTemperatureLowerBound": 0, +"allowedTemperatureUpperBound": 267, +"allowedTerrainTypes": [ +"FrozenFacility" +] +}, +{ +"biomeCategory": "TerranFacility", +"allowedTemperatureLowerBound": 268, +"allowedTemperatureUpperBound": 277, +"allowedTerrainTypes": [ +"ColdFacility" +] +}, +{ +"biomeCategory": "TerranFacility", +"allowedTemperatureLowerBound": 278, +"allowedTemperatureUpperBound": 297, +"allowedTerrainTypes": [ +"TemperateFacility" +] +}, +{ +"biomeCategory": "TerranFacility", +"allowedTemperatureLowerBound": 298, +"allowedTemperatureUpperBound": 90000, +"allowedTerrainTypes": [ +"HotFacility" +] +} +] +} diff --git a/data/stratconfacilities/HostileMekBase.xml b/data/stratconfacilities/HostileMekBase.xml deleted file mode 100644 index 1183d4ebd2..0000000000 --- a/data/stratconfacilities/HostileMekBase.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - AlliedMekBase.xml - Mek Base - MekBase - EnemyMekGarrison.xml - Opposing - EnemyMekReinforcements.xml - - false - - TerranFacility - 0 - 267 - FrozenFacility - - - TerranFacility - 268 - 277 - ColdFacility - - - TerranFacility - 278 - 297 - TemperateFacility - - - TerranFacility - 298 - 90000 - HotFacility - - diff --git a/data/stratconfacilities/HostileOrbitalDefense.json b/data/stratconfacilities/HostileOrbitalDefense.json new file mode 100644 index 0000000000..a08e7f89b0 --- /dev/null +++ b/data/stratconfacilities/HostileOrbitalDefense.json @@ -0,0 +1,29 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Opposing", +"displayableName": "Orbital Defense", +"facilityType": "OrbitalDefense", +"userDescription": "Prevents allied aerospace unit operation on this track and supplies an additional hostile Mek to ground scenarios.", +"visible": false, +"sharedModifiers": [ +"EnemyOfficerMek.json" +], +"capturedDefinition": "AlliedOrbitalDefense.json", +"preventAerospace": true +} diff --git a/data/stratconfacilities/HostileOrbitalDefense.xml b/data/stratconfacilities/HostileOrbitalDefense.xml deleted file mode 100644 index aa085c5489..0000000000 --- a/data/stratconfacilities/HostileOrbitalDefense.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - AlliedOrbitalDefense.xml - Orbital Defense - OrbitalDefense - Opposing - true - EnemyOfficerMek.xml - - false - diff --git a/data/stratconfacilities/HostileSpacePort.json b/data/stratconfacilities/HostileSpacePort.json new file mode 100644 index 0000000000..4f8a3c77be --- /dev/null +++ b/data/stratconfacilities/HostileSpacePort.json @@ -0,0 +1,31 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Opposing", +"displayableName": "Space Port", +"facilityType": "SpacePort", +"userDescription": "Hostile forces on this track are significantly larger due to improved logistics.", +"visible": false, +"sharedModifiers": [ +"HostileBVBudgetIncrease.json" +], +"localModifiers": [ +"HostileBVBudgetIncrease.json" +], +"capturedDefinition": "AlliedSpacePort.json" +} diff --git a/data/stratconfacilities/HostileSpacePort.xml b/data/stratconfacilities/HostileSpacePort.xml deleted file mode 100644 index 8cf17e5fa6..0000000000 --- a/data/stratconfacilities/HostileSpacePort.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - 0.15 - AlliedSpacePort.xml - Space Port - HostileBVBudgetIncrease.xml - HostileBVBudgetIncrease.xml - SpacePort - Opposing - - false - diff --git a/data/stratconfacilities/HostileTankBase.json b/data/stratconfacilities/HostileTankBase.json new file mode 100644 index 0000000000..645e1deda5 --- /dev/null +++ b/data/stratconfacilities/HostileTankBase.json @@ -0,0 +1,31 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"owner": "Opposing", +"displayableName": "Tank Base", +"facilityType": "TankBase", +"userDescription": "Hostile vehicles will participate in scenarios on this track and defend this facility.", +"visible": false, +"sharedModifiers": [ +"EnemyTankReinforcements.json" +], +"localModifiers": [ +"EnemyTankGarrison.json" +], +"capturedDefinition": "AlliedTankBase.json" +} diff --git a/data/stratconfacilities/HostileTankBase.xml b/data/stratconfacilities/HostileTankBase.xml deleted file mode 100644 index abe92f199d..0000000000 --- a/data/stratconfacilities/HostileTankBase.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - AlliedTankBase.xml - Tank Base - TankBase - EnemyTankGarrison.xml - Opposing - EnemyTankReinforcements.xml - - false - diff --git a/data/stratconfacilities/facilitymanifest.json b/data/stratconfacilities/facilitymanifest.json new file mode 100644 index 0000000000..2ad35ac142 --- /dev/null +++ b/data/stratconfacilities/facilitymanifest.json @@ -0,0 +1,43 @@ +# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0. +# To view a copy of this license, visit https: //creativecommons.org/licenses/by-nc-sa/4.0/ +# +# NOTICE: The MegaMek organization is a non-profit group of volunteers +# creating free software for the BattleTech community. +# +# MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks +# of The Topps Company, Inc. All Rights Reserved. +# +# Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of +# InMediaRes Productions, LLC. +# +# MechWarrior Copyright Microsoft Corporation. MegaMek Data was created under +# Microsoft's "Game Content Usage Rules" +# and it is not endorsed by or +# affiliated with Microsoft. + +{ +"facilityFileNames": [ +"AlliedMekBase.json", +"AlliedTankBase.json", +"AlliedAirBase.json", +"AlliedArtilleryBase.json", +"AlliedSpacePort.json", +"AlliedDataCenter.json", +"AlliedIndustrialFacility.json", +"AlliedCommsCenter.json", +"AlliedEarlyWarningSystem.json", +"AlliedOrbitalDefense.json", +"AlliedBaseOfOperations.json", +"HostileMekBase.json", +"HostileTankBase.json", +"HostileAirBase.json", +"HostileArtilleryBase.json", +"HostileSpacePort.json", +"HostileDataCenter.json", +"HostileIndustrialFacility.json", +"HostileCommsCenter.json", +"HostileEarlyWarningSystem.json", +"HostileOrbitalDefense.json", +"HostileBaseOfOperations.json" +] +} diff --git a/data/stratconfacilities/facilitymanifest.xml b/data/stratconfacilities/facilitymanifest.xml deleted file mode 100644 index 019a62543b..0000000000 --- a/data/stratconfacilities/facilitymanifest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - AlliedMekBase.xml - AlliedTankBase.xml - AlliedAirBase.xml - AlliedArtilleryBase.xml - AlliedSpacePort.xml - AlliedDataCenter.xml - AlliedIndustrialFacility.xml - AlliedCommsCenter.xml - AlliedEarlyWarningSystem.xml - AlliedOrbitalDefense.xml - AlliedBaseOfOperations.xml - - HostileMekBase.xml - HostileTankBase.xml - HostileAirBase.xml - HostileArtilleryBase.xml - HostileSpacePort.xml - HostileDataCenter.xml - HostileIndustrialFacility.xml - HostileCommsCenter.xml - HostileEarlyWarningSystem.xml - HostileOrbitalDefense.xml - HostileBaseOfOperations.xml - -