Release v1.1.2

This release fixes broken skirmish and broken mechlab due to MC v1.1.0 changes.

Bug Fixes

  • Skirmish: Fixed broken skirmish due to lack of testing after contract specific overrides were introduced
  • Mechlab: Fixed broken mechlab due to asset bundle work for save game fixes.

Upgrade Instructions

  • If you're using MC without a modpack and none of your own changes, just delete the MC folder and move the new one into your mods folder
  • If you're using MC as part of a modpack, let the modpack authors update MC for you (using the below guide)
  • If you're using MC without a modpack but you've made some of your own changes to the configs, or you're a modpack author:
    • Copy into your Mods/MissionControl folder
      • MissionControl.dll
      • MissionControl.pdb
      • mod.json

Release v1.1.1

This release fixes a broken Additional Player Units / Bigger Drops integration in MC v1.1.0.

Bug Fixes

  • Bigger Drops: Fixed broken integration from MC v1.1.0.

Upgrade Instructions

  • If you're using MC without a modpack and none of your own changes, just delete the MC folder and move the new one into your mods folder
  • If you're using MC as part of a modpack, let the modpack authors update MC for you (using the below guide)
  • If you're using MC without a modpack but you've made some of your own changes to the configs, or you're a modpack author:
    • Copy into your Mods/MissionControl folder
      • MissionControl.dll
      • MissionControl.pdb
      • mod.json

Release v1.1.0

This release focuses on better Flashpoint support, better configurability of MC and various features and bug fixes.

This upgrade has some breaking configuration changes. For upgrade instructions, see below the changelog.

Tracked by Milestone - v1.1.0

Major Features

  • Flashpoints: Custom contract type support
    • This allows modders to make use of any custom contract type such as Blackout, Solo Duel and Duo Duel in flashpoints.
  • Flashpoints & Normal Contracts: Per contract MC feature overrides
    • This allows modders to specify specific settings (e.g. 2 enemy and 1 ally Additional Lances) per specific contract
    • Supports both MissionControl/config/Contracts and MissionControl/config/Flashpoints folders for file management for big modpacks. By default only Contracts is used for both.
  • User & Modpack Settings Overrides
    • Modpacks can create a settings.modpack.json and players can create a settings.user.json settings file to ease upgrading MC versions.
    • Load order is settings.json then settings.modpack.json then settings.user.json. With the last values overriding earlier.

Minor Features

  • Limited Save Support: Added limited save recovery for loading combat saves that would get stuck loading due to MC issues
    • Loading a combat save is not supported. This is to help players on ironman mode who saved, loaded and now are stuck with a broken save. DO NOT DO IT.
    • Fixed an issue where Additional Lances spawned in the map wouldn't load.
    • MC will load the contract but all MC features are disabled. Try to finish the contract, or withdraw.
  • Flashpoints: Bigger Drop Support: Allow turning on additional player mechs for flashpoints without the other MC features

Changes

  • Follow AI: Changed default follow behaviour to LanceOrder instead of HeaviestMech
    • This means the AI will follow your player slot #1 mech. If that dies it follows slot #2, and so on.
  • Escort Convoy: Hunter lance is now limited to spawn to be within 13 and 20 hexes of the extraction zone.
    • Previously it spawned anywhere beyond around 8 hexes so could spawn the other end of the map or a bit too close.
  • Blackout: Phase 2 invading lance spawned too close to the buildings they were trying to destroy
    • Lance now spawns between 13 and 20 hexes away instead of between 8 and 16
  • Settings: Renamed some settings to be clearer. See the upgrade instructions for more details.

Bug Fixes

  • Reward Screen Softlock: Fixed a situation where if the player restarted a mission, and the previous attempt had an enemy Additional Lance, when the contract was completed the reward screen would soft lock due to dirty contract data for objectives
  • Contracts Screen Infinite Load: Fixed another bad vanilla method situation where, in rare situations, the contracts screen would get stuck on the loading screen due to limited selection of biomes/factions/contract types/contracts.
  • Dynamic Withdraw: Feature was running in situations it shouldn't.

Upgrade Instructions

  • If you're using MC without a modpack and none of your own changes, just delete the MC folder and move the new one into your mods folder
  • If you're using MC as part of a modpack, let the modpack authors update MC for you (using the below guide)
  • If you're using MC without a modpack but you've made some of your own changes to the configs, or you're a modpack author:
    • Copy into your Mods/MissionControl folder
      • MissionControl.dll
      • MissionControl.pdb
      • mod.json
      • config/Contracts folder
      • Edit settings.json with the following:

Change DisableIfFlashpointContract property to EnableFlashpointOverrides and set to 'false'

Readability change and, if enabled, looks at the EnableForFlashpoints value in each feature section of the settings.

"EnableFlashpointOverrides": false,

Add EnableAdditionalPlayerMechsForFlashpoints property

Allows for enabling the additional player mechs (e.g. Bigger Drop support) in Flashpoints without enabling all the other MC features.

"EnableAdditionalPlayerMechsForFlashpoints": false,

Change HotDrop section to HotDropProtection

Readability change to prevent people thinking this section controls 'hot drops' when it only controls the protection when a hot drop occurs.

"HotDropProtection": {

Add EnableForFlashpoints for each major feature section

This is only taken into account if EnableFlashpointOverrides is true.

Add to:

  • RandomSpawns
  • HotDropProtection
  • AdditionalLances
  • ExtendedLances
  • ExtendedBoundaries
  • DynamicWithdraw
"EnableForFlashpoints": true,

Remove DisableIfFlashpointContract from AdditionalLances section

Delete it.

Reverse the positive/negative sign for the two below skull DropWeightInfluence settings

This is a readability change to fix the non-intuitive set up from previous versions.

"EnemySpawnInfluencePerHalfSkullBelow": -0.1,
"AllySpawnInfluencePerHalfSkullBelow": 0.1

Change Target under FollowPlayer section to LanceOrder

"AI": {
"FollowPlayer": {
"Pathfinding": "Alternative",
"Target": "LanceOrder",

Release v1.0.5

This release fixes a vanilla infinite contracts screen issue relating to original HBS code and restrictive contracts involving lack of faction selection and system restrictions, and a quick skirmish bug.

For upgrade instructions, see below the changelog.

Tracked by Milestone - v1.0.5

Bug Fixes

  • Contracts: Fixed infinite loading screen when faction and system restrictions conflicted with some contract types and contracts (Thanks a lot for the help Pode, Granner and Quiller with debugging this)
  • Skirmish: Fixed map loading exception when allies dropped with you

Upgrade Instructions

  • If you're using MC without a modpack and none of your own changes, just delete the MC folder and move the new one into your mods folder
  • If you're using MC as part of a modpack, let the modpack authors update MC for you (using the below guide)
  • If you're using MC without a modpack but you've made some of your own changes to the configs, or you're a modpack author:
    • Copy into your Mods/MissionControl folder
      • MissionControl.dll
      • mod.json

Release v1.0.4

This release fixes lots of very important bugs and adds some enhancements to Mission Control. One very important late addition to the patch is that the ally lance Follow AI has been fixed. If you've previously disabled them or not used them because how useless they were - it's time to try them again!

Please take the time to read through the changelog as there's some very good fixes in this patch! Enjoy!

For upgrade instructions, see below the changelog.

Tracked by Milestone - v1.0.4

Minor Features

  • Additional Lances: AL lances are now taken into account before the contract autocompletes.
    • If you want to exclude a contract from this behaviour you can specify it in the settings.json under ExcludeFromAutocomplete
  • Bigger Drops: Support for maxNumberOfPlayerUnits higher than 4 added
    • Allow Bigger Drops to restrict a contract to, for example, 5 or 6 units

Changes

  • Dynamic Withdraw: Reduced the maximum distance the extraction zone can appear from the player lance from ~17 hexes (400 meters) to 12 hexes (288 meters).
  • Blackout: Decreased event phase 2 turret event trigger wait from 3 rounds to 2 rounds
  • Blackout: Story Map 7 - Changed event phase 1 ambush camera position from medium to high to better see the droppods arrive
  • Blackout: Changed the trigger condition for event phase 1 from the whole lance to requiring only 2 lance members
  • Blackout: Changed contract balance
  • Assassinate: Assassination target's extraction zone will now always spawn at least 20 hexes (480 meters) away from the target's spawn position

Bug Fixes

  • AI: Follow AI - Fixed broken pathfinding to player
    • No more useless allies! Woooo!
  • Contracts: Fixed a broken vanilla contract generation method causing infinite contract screen loads
  • Contracts: Fixed a broken vanilla contract generation method causing custom contract type contract spam
  • Loading: Fixed MDD SQL error caused by encounter loading which resulted in a frequent black screen on load to main menu for players on HDD drives instead of SSDs.
  • Blackout: Blackout specific ally lance dialogue didn't play
  • Blackout: Fixed issue where contracts wouldn't end correctly if the player destroyed the ambush lance before the friendly turrets activated
  • Blackout: Fixed event phase 2 invading lance not having a random spawn rule set up correctly
  • Blackout: Story Map 7 - Fixed orientation of event phase 1 invading lance
  • Blackout: Story Map 7 - Fixed orientation of event phase 2 ambush lance
  • Additional Lances: Contracts will now not autocomplete when AL lances are still active (except for those specified in the config.
    • By default DefendBase and FireMission
  • Additional Lances: Finally fixed comma based locales causing the AL reward to be 100 times expected amount
  • Logs: RecomputePathing exceptions will no longer appear after a contract has loaded
  • Solo / Duo Duel: Various spelling mistakes and dialogue tweaks (thanks @CargoVroom)

Custom Contract Type Builder

  • New Result: TriggerResultAtRandom allows you to specify multiple children results and one will be selected at random when this TriggerResultAtRandom result is triggered
  • New Result: IgnoreChunks allows you to specify multiple chunk guids. When this result is triggered it will iterate over all chunks specified and set the Chunk to Completed and any objectives as Ignored

Upgrade Instructions

  • If you're using MC without a modpack and none of your own changes, just delete the MC folder and move the new one into your mods folder
  • If you're using MC as part of a modpack, let the modpack authors update MC for you (using the below guide)
  • If you're using MC without a modpack but you've made some of your own changes to the configs, or you're a modpack author:
    • Copy into your Mods/MissionControl folder
      • MissionControl.dll
      • mod.json
      • contractTypeBuilds/Blackout folder
      • dialogue folder
      • overrides/contracts/blackout folder
      • overrides/contracts/soloduel/SoloDuel/SoloDuel_AllEyesOn.json
      • overrides/contracts/soloduel/SoloDuel/SoloDuel_ChallengeAccepted.json
      • overrides/contracts/soloduel/SoloDuel/SoloDuel_CorneredRevenge.json

Replace the settings.json section IsPrimaryObjectiveIn

"IsPrimaryObjectiveIn": ["SimpleBattle", "CaptureBase"],

Add to the settings.json section AdditionalLances

"ExcludeFromAutocomplete": ["DefendBase", "FireMission"],

Modify the settings.json value for MaxDistanceForZone

"MaxDistanceForZone": 288,

Add to the settings.json section FollowPlayer under AI

"TimeToWaitForPathfinding": 60,
"TicksToWaitForPathfinding": 20

Release v1.0.3

This release fixes a small but important bug in one Blackout contract.

For upgrade instructions, see below the changelog.

Tracked by Milestone - v1.0.3

Bug Fixes

  • Blackout: Unknown Cause didn't spawn an occupying lance in one of the second event phase events

Upgrade Instructions

  • If you're using MC without a modpack and none of your own changes, just delete the MC folder and move the new one into your mods folder
  • If you're using MC as part of a modpack, let the modpack authors update MC for you (using the below guide)
  • If you're using MC without a modpack but you've made some of your own changes to the configs, or you're a modpack author:
    • Copy into your Mods/MissionControl folder
      • mod.json
      • overrides/contracts/blackout/Blackout_UnknownCause.json

Release v1.0.2

This release fixes mainly around Blackout contract type bugs and solo/duo duel contract type balances.

Bug Fixes

  • Blackout: Contracts Heavy Static and Unknown Cause would sometimes not complete successfully
  • Blackout: Fixed Dynamic Withdraw feature not working
  • Blackout: Various dialogue fixes (Thanks @NickAragua and Cargo)
  • Solo/Duo Duel: Fixed issue with vehicles spawning
  • Solo Duel: Fixed OpFor selection being too strong/weak
  • Additional Lances: Yet another attempt to fix the locale reward issue being 100 times higher than it should
  • Additional Lances: Reworked DropWeightInfluence to be more inline with the proposal by the RT team
  • Extended Lances: Fixed difficulty modifications being processed too late

Upgrade Instructions

  • If you're using MC without a modpack and none of your own changes, just delete the MC folder and move the new one into your mods folder
  • If you're using MC as part of a modpack, let the modpack authors update MC for you (using the below guide)
  • If you're using MC without a modpack but you've made some of your own changes to the configs, or you're a modpack author:
    • Copy into your Mods/MissionControl folder
      • MissionControl.dll
      • mod.json
      • contractTypeBuilds/Blackout/common.jsonc
      • overrides/contracts folder and overwrite all

Replace settings.json section DropWeightInfluence with

"DropWeightInfluence": {
"Enable": false,
"EnemySpawnInfluencePerHalfSkullAbove": 0.1,
"AllySpawnInfluencePerHalfSkullAbove": -0.1,
"EnemySpawnInfluencePerHalfSkullBelow": 0.1,
"AllySpawnInfluencePerHalfSkullBelow": -0.1
},

Release v1.0.0

This release adds a new custom contract type, 9 new contracts, expands duel contract type biome support and lots of quality of life features and bug fixes.

1.0.0 has been a big release for me. I feel with the maturity of Mission Control it warrants the 1.0.0 versioning. This release contained over 24% of the commits in the entire mod and you'll see why below in the changelog. A huge amount of effort has been put into opening up the contract type system to allow other modders to create new and interesting contract types for the whole community to enjoy. Hopefully people will take advantage of this.

Thanks for staying with me on this journey over the years (first release was on the 18th November 2018 with the first code saved on the 11th September 2018). I know there's still issues with the spawner but I feel, as whole, Mission Control has greatly improved the BattleTech experience. I hope you all feel the same way.

Enjoy and please let me know what you think of Blackout, the new contract type.

For upgrade instructions, see below the changelog.

Major Features

  • Heavily expanded the custom contract type builder (check API docs on MC's website)
  • Contract Types: Added new custom contract type
    • Blackout - A point of interest of your employer has gone dark and they're sending you in to investigate. A low intel situation with different situations each time you play.
      • Contains new non-vanilla map logic.
      • Includes new ally chatter specific to Blackout
  • Contracts: Added 3 contracts for Blackout
    • Dug in Deep
    • Heavy Static
    • Unknown Cause
  • Contracts: Added 3 contracts for Solo Duel
    • All Eyes On
    • Challenge Accepted
    • Cornered Revenge
  • Contracts: Added 3 contracts for Duo Duel
    • At High Noon
    • Last Minute Replacements
    • Yearly Tussle
  • Maps: Added 4 maps/biomes to Blackout
    • frostyslopes map on tundra biome
    • mountainhold map on lunar biome
    • story2 map on badlands biome
    • story7 map on lowlands biome
  • Maps: Added 3 more maps/biomes to Solo Duel and Duo Duel
    • deathvalley map on desert biome
    • story3 map on lunar craters biome
    • story6 map on frozen poles biome
  • AI: Follow AI - Added alternative pathfinding for 'Follow Player' AI
    • Configurable in settings.json with the new Alternative being the new default with Original being the v0.4.6 version
  • Additional Lances: Alternative spawn calculation system
    • Off by default
    • Variable enemy/ally lance drops based on player drop skulls/difficulty level
    • settings.json under DropWeightInfluence

Minor Features

  • Additional Lances: Option to indepedently disable allies and/or enemy lances
    • settings.json as DisableAllies and DisableEnemies
  • Additional Lances: Option to disabe/enable objective markers under certain conditions.
    • This allows the AL objective to be hidden to make the contract more unpredicable.
    • settings.json as HideObjective and ForceDisplayOfHiddenObjectiveIfPrimary
  • Additional Lances: Added a MRB influence for lance selection
    • For example, MRB_Level:4 to spawn specific lances for MRB level 4
    • Or, MRB_Rating:200:300, to spawn when MRB rating is between 200 and 300
  • AI: Follow AI - Fixed broken vanilla method call.
    • NeutralToAll units (and maybe others) were being identified as enemies for 'Follow AI' pathfinding. This might have caused some situations where the allies stopped following the player.
  • Random Spawns: Exposed the boundary 'buffer' zone
    • This is where a lance is allowed to spawn (beyond X and within Y distance) when using the SpawnLanceAtEdgeBounadry spawner profile.
    • settings.json under the SpawnLanceAtEdgeBoundary section
  • Extended Lances: Added a system to skip extending a lance by exclude tags
    • Skip if they have a set tag under their lance lanceExcludedTagSet in the contract override JSON
    • settings.json as SkipWhenExcludeTagsContain
  • Extended Lances: Added a system to skip extending a lance by tags
    • Skip if they have a set tag under their lance lanceTagSet in the contract override JSON
    • settings.json as SkipWhenTaggedWithAny and SkipWhenTaggedWithAll
  • Extended Boundaries: Increased the boundary size for SimpleBattle and mapGeneral_desertDam_aDes map

Changes

  • Solo/Duo Duels: Enforced weight limits on all contracts lower than difficulty 8
  • Solo/Duo Duels: Prevented vehicles from spawning

Bug Fixes

  • Additional Lances: ExcludeContractTypes didn't work correctly and was using the wrong setting. It was picking up the ExtendedLances one instead.
  • Additional Lances: Comma based decimal locales caused rewards to be much higher than intended
  • Random Spawns: Fixed one cause of Defend Base and Destroy Base sometimes spawning you in the wrong location, or in the enemy base
  • Random Spawns: Added a set distance the player must spawn beyond on Destroy Base (roughly 16 hexes away)
  • Contract Types: Custom contract types weren't being picked up for ExcludeContractTypes or IncludeContractTypes settings
  • Droppods: Fixed a vanilla bug where droppod animations and effects sometimes weren't synced up in position to the actual drop pod and landing mech/vehicle

Upgrade Instructions

  • If you're using MC without a modpack and none of your own changes, just delete the MC folder and move the new one into your mods folder
  • If you're using MC as part of a modpack, let the modpack authors update MC for you (using the below guide)
  • If you're using MC without a modpack but you've made some of your own changes to the configs, or you're a modpack author:
    • Delete from your MissionControl folder
      • contractTypeBuilds folder
    • Copy into your Mods/MissionControl folder:
      • MissionControl.dll
      • mod.json
      • contractTypeBuilds folder
      • dialogue/AllyDrop.json
      • overrides/cast
      • overrides/contracts/blackout folder
      • overrides/contracts/soloduel folder
      • overrides/contracts/duoduel folder
      • overrides/enums folder
      • overrides/encounterLayers folder
    • Edit settings.json with the following:

Add to AdditionalLances section

"HideObjective": true,
"ShowObjectiveOnLanceDetected": true,
"AlwaysDisplayHiddenObjectiveIfPrimary": false,
"MatchAllyLanceCountToEnemy": false,
"DropWeightInfluence": {
"Enable": false,
"GlobalEnemyChanceToSpawn": 0.05,
"GlobalAllyChanceToSpawn": 0.8,
"EnemySpawnInfluencePerHalfSkull": 0.1,
"AllySpawnInfluencePerHalfSkull": -0.1
},
"DisableAllies": false,
"DisableEnemies": false

Add to ExtendedLances section

"SkipWhenTaggedWithAny": ["lance_type_solo"],
"SkipWhenTaggedWithAll": [],
"SkipWhenExcludeTagsContain": ["no_extended_lance"],

Add to ExtendedBoundaries/Overrides section

{
"MapId": "mapGeneral_desertDam_aDes",
"ContractTypeName": "SimpleBattle",
"IncreaseBoundarySizeByPercentage": 0.55
}

Add to AI/FollowPlayer section

"Pathfinding": "Alternative",

Add to the top level

"Spawners": {
"SpawnLanceAtEdgeBoundary": {
"MinBuffer": 100,
"MaxBuffer": 200
}
}

Release v0.4.6

This release adds BT 1.9 support.

Upgrade Instructions

  • If you're using MC without a modpack and none of your own changes, just delete the MC folder and move the new one into your mods folder
  • If you're using MC without a modpack but you've made some of your own changes to the configs:
    • Just copy the new MissionControl.dll and mod.json into your Mods/MissionControl folder
  • If you're using MC as part of a modpack, let the modpack authors update MC for you

Major Features

  • Added BT 1.9 support