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

Release v0.4.5

This release focuses on fixing bugs introduced by v0.4.4.

Tracked by Milestone - v0.4.5

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

Changes

  • Additional Lances: Reduced the lance reward from 150% to 75%.

Bugs Fixed

  • Original Flashpoints: MC runs for original flashpoints regardless of the settings.json option. This doesn't affect Heavy Metal flashpoints.

Release v0.4.4

This release focuses on fixing critical bugs introduced by v0.4.3. Mainly fixing the broken campaign, flashpoints and skirmish.

Tracked by Milestone - v0.4.4

For detailed documentation, visit the Mission Control Website.

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, cast/Portraits.json 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

Bugs Fixed

  • Campaign / Flashpoints: MC breaks regions logic in campaign and flashpoints. This resulted in completely broken logic in the contracts.
  • Skirmish: MC completely broke the loading of Skirmish
  • Additional Lances: Portrait config was not set to use the new portraits introduced in v0.4.3

Release v0.4.3

This release is part 2 of a big drive to reduce bugs in Mission Control. It fixes some long standing bugs and annoyances players have.

This turned out to be a much bigger release than I had intended and brings in 27 bug fixes, gameplay balances and minor features.

Tracked by Milestone - v0.4.3

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:
    • Back up your old MC folder
    • Move your old MC folder out of your mod folder
    • Move the new MC folder into your mod folder
    • Manually make the changes back
    • If you prefer the old balance of lances, copy your entire config/AdditionalLances folder back to the new MC mod folder
  • If you're using MC as part of a modpack, let the modpack authors update MC for you

Minor Features

  • Additional Lances: Added an option (MatchAllyLanceCountToEnemy) to 'match' ally lance count to the rolled enemy lance count. This is off by default but can be turned on in the settings.json.
  • Additional Lances: Added an option (IsPrimaryObjectiveIn) in the settings.json to specify if the enemy AL lance(s) should be a primary objective or not.
  • Additional Lances: Added better friendly lance portraits (Thanks @17783 / Spectre)
  • UI: Added an update notification. When a new version of MC is released the Main Menu will show a notification. This can be disabled in the settings.json.
  • AI: Follow Player - Exposed TargetZoneRadius setting in the settings.json. This specifies the target zone the following mech will try to enter before not following anymore. If this zone is left, they will try to follow again.

Changes

  • Load Times: Decreased on average between 30% - 50%
  • Additional Lances: Lower tonnage lances can now spawn for higher difficulty contracts (since v0.4.2 only the same class of lance [e.g. heavy, assault] would spawn for the difficulty level).
  • Additional Lances: Reduced max lances to 1. MC is just too brutal at times. This can be edited back under the configs MissionControl/config/AdditionalLances/ if you want it harder again.
  • Additional Lances: Substantially increased bonus payout from 20% to 150%. This is to try and offset the huge Company cost to fighting extra lances like the repairs, new mechs and pilot recruitment costs.
  • Extended Boundaries: Increase specific boundary size for contract type & map combinations
    • Capture Base with mapGeneral_frigidSteppes_iTnd
    • Capture Base with mapGeneral_icyOutpost_iGlc
    • Simple Battle with mapGeneral_highPeak_iGlc
    • Fire Mission (all of them)
  • Extended Boundaries: Increase default boundary increase from 20% to 30%
  • Rescue: Added a minimum distance to objective check for the player lance spawn
  • Hot Drop Protection: Changed evasion pips from 4 to 6 (effectively a change from 40% to 60% evasion) if the starting drop is within enemy detection range
  • AI: Follow AI - Reduced 'should sprint' range from 200 to 120 units. This means the following unit should keep up better with the player mechs

Bugs Fixed

  • Random Spawns: Fixed issue where mechs wouldn't be able to move after spawning (stuck in one place from spawn)
  • Random Spawns: Fixed issue where mechs would spawn in rocks or buildings
  • Random Spawns: Fixed a few issues that could cause long loads
  • Random Spawns: Fixed the Array out of Bounds errors when testing for valid spawn points
  • Random Spawns: Fixed issue where the map 'plot' (point of interest) could not be found to orientate spawns on for the map mapGeneral_gridLock_uTech (and possibly others who shared the same map set up)
  • Random Spawns: Fixed issue where the pathfinder mechs would trigger any Region they entered causing an error
  • Extended Boundaries: Setting the sub-override IncreaseBoundarySizeByPercentage was not read. This is a similar issue as v0.4.2 but for the contract type & map Overrides section instead.
  • Extended Boundaries: Customised size position can be wrong causing key points outside of boundary (same bug as in v0.4.2). Should be properly fixed now.
  • Localisation: Fixed a possible issue with locales that don't use period / fullstop for their decimal place. An error would occur when loading a map with an Additional Lance reward
  • Additional Lances: Fixed issue where if the player restarted a contract 3 or more times then no more AL lances would spawn (friendly or enemy)
  • Additional Lances: Fixed issue where Heavy Metal campaign contracts would allow Mission Control to run (and Bigger Drops). There's a setting (DisableIfFlashpointContract) in the settings.json to allow for MC to run in flashpoints but it's off by default.

Release v0.4.2

This release is part 1 of 2 for a big drive to reduce bugs in Mission Control.

Tracked by Milestone - v0.4.2

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:
    • Back up your old MC folder
    • Move your old MC folder out of your mod folder
    • Move the new MC folder into your mod folder
    • Manually make the changes back
    • If you prefer the old balance of lances, copy your entire config/AdditionalLances folder back to the new MC mod folder
  • If you're using MC as part of a modpack, let the modpack authors update MC for you

Changes

  • Balanced Additional Lances for every difficulty level.
    • No enemy lances on very low difficulty contracts
    • Lances that appear should now be lower than your lance level so to not overload players
    • Higher levels are roughly the same as before
    • Default fallback lance is now a light lance instead of a range between light up to assault
    • Removed example MC lance configs that did nothing but resulted in using the fallback. This could lead to a case where a 1/2 skull contract would give you two enemy assault lances (yikes! sorry guys!)
  • AI: Follow AI can now be configured.
    • Can decide the follow logic (HeaviestMech or LanceOrder)
    • Can decide when to stop using this AI (OnEnemyDetected, OnEnemyVisible, WhenNotNeeded [previous default])
    • Can decide how far away from the target the AI should only sprint to catch up

Bugs Fixed

  • Additional Lances: Units used to sometimes spawn inside each other. This was harmless for player units in player units but issues could occur with allies and enemies. If droppods were involved there was often a mess on the floor afterwards and a dead mech
  • Story / Restoration contracts: MC was running for Restoration contracts since v0.4.0. This has now been prevented and is a similar fix that went in for Story contracts in v0.4.1.
  • Extended Boundaries: Setting IncreaseBoundarySizeByPercentage was not read. This meant there was no way to manually change the boundary size.
  • Extended Boundaries: Custom sizes, including the default of 20% increase, caused some contracts to have extraction points and other important locations to fall outside the boundary.
  • AI: Follow AI has been improved. Now, the Follow AI no longer runs when a condition is met (defaults to OnEnemyDetected). This means the allied units will actually fight instead of ignore combat.
  • AI: Various contract types were missing Follow AI for important reasons. This could sometimes cause the AI to do nothing. This was reworked to allow the AI to run in all contract types.
  • Encounters: Fixed the cause of SaveSpawnPositions errors

Known Issues

  • It's possible the changes to the AI have also affected the friendly convoy escort missions. If you see weird behaviour there please report it to me