Release v1.0.0
Richard 'CWolf' Griffiths
DeveloperThis 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- frostyslopesmap on- tundrabiome
- mountainholdmap on- lunarbiome
- story2map on- badlandsbiome
- story7map on- lowlandsbiome
 
- Maps: Added 3 more maps/biomes to Solo DuelandDuo Duel- deathvalleymap on- desertbiome
- story3map on- lunar cratersbiome
- story6map on- frozen polesbiome
 
- AI: Follow AI - Added alternative pathfinding for 'Follow Player' AI- Configurable in settings.jsonwith the newAlternativebeing the new default withOriginalbeing thev0.4.6version
 
- Configurable in 
- Additional Lances: Alternative spawn calculation system- Off by default
- Variable enemy/ally lance drops based on player drop skulls/difficulty level
- settings.jsonunder- DropWeightInfluence
 
Minor Features
- Additional Lances: Option to indepedently disable allies and/or enemy lances- settings.jsonas- DisableAlliesand- 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.jsonas- HideObjectiveand- ForceDisplayOfHiddenObjectiveIfPrimary
 
- Additional Lances: Added a MRB influence for lance selection- For example, MRB_Level:4to spawn specific lances for MRB level 4
- Or, MRB_Rating:200:300, to spawn when MRB rating is between 200 and 300
 
- For example, 
- AI: Follow AI - Fixed broken vanilla method call.- NeutralToAllunits (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 SpawnLanceAtEdgeBounadryspawner profile.
- settings.jsonunder the- SpawnLanceAtEdgeBoundarysection
 
- This is where a lance is allowed to spawn (beyond X and within Y distance) when using the 
- Extended Lances: Added a system to skip extending a lance by exclude tags- Skip if they have a set tag under their lance lanceExcludedTagSetin the contract override JSON
- settings.jsonas- SkipWhenExcludeTagsContain
 
- Skip if they have a set tag under their lance 
- Extended Lances: Added a system to skip extending a lance by tags- Skip if they have a set tag under their lance lanceTagSetin the contract override JSON
- settings.jsonas- SkipWhenTaggedWithAnyand- SkipWhenTaggedWithAll
 
- Skip if they have a set tag under their lance 
- Extended Boundaries: Increased the boundary size for SimpleBattleandmapGeneral_desertDam_aDesmap
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: ExcludeContractTypesdidn't work correctly and was using the wrong setting. It was picking up theExtendedLancesone instead.
- Additional Lances: Comma based decimal locales caused rewards to be much higher than intended
- Random Spawns: Fixed one cause of Defend BaseandDestroy Basesometimes 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 ExcludeContractTypesorIncludeContractTypessettings
- 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 MissionControlfolder- contractTypeBuildsfolder
 
- Copy into your Mods/MissionControlfolder:- MissionControl.dll
- mod.json
- contractTypeBuildsfolder
- dialogue/AllyDrop.json
- overrides/cast
- overrides/contracts/blackoutfolder
- overrides/contracts/soloduelfolder
- overrides/contracts/duoduelfolder
- overrides/enumsfolder
- overrides/encounterLayersfolder
 
- Edit settings.jsonwith the following:
 
- Delete from your 
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}}