Mission Control Designer

Mission Control Designer - A Visual Contract Type Editor

If you’ve ever played a Flashpoint with conversations, seen extensive UI mods or played any of the Duel or Blackout contract types - then you’ve played my modding work or mods developed using my tools (Mission Control, ConverseTek conversation editor and BTDebug modder tool). I’ve always felt that adding more content to BattleTech was important for its longevity as a game so my long term aim was to keep adding where possible and help others add to the game. With that in mind I added new contract types to the game.

In December 2019 I released the first custom contract types for BattleTech - Solo and Duo Duel and in May 2020 I released the first full sized custom contract type ‘Blackout’. While I had made a system for other modders to make their own contract types - after almost a year and a half no one else made any. This was mainly due to the daunting task to learn, understand and create it even with Mission Control’s custom contract type system.

After taking a break from modding I came back and realised if the community was going to see more custom contract types then the process needed to become easier. A lot easier. That’s why after over three months of modding work in my spare time I’m happy to announce the development of Mission Control Designer - a visual custom contract type editor.

Designer Menu

The Mission Control Designer is an editor that’s built into BattleTech itself. It allows a modder to make a new contract type and save it in a format that the Mission Control mod understands to load into the game. The single most important goal of this tool is to make creating new contract types as easy as possible. A contract type could be something like a Simple Battle, Defend Base, Blackout or new Campaign-styled contracts.

Designer Menu

You’re able to easily set up a new contract type, or add new encounters to existing custom contract types. Once in you’re able to have a visual tool to drag, drop and edit your way to your vision of what you want to create.

Designer Menu

The tool is still in a very early stage of development but it’s far enough that I feel confident that I’ll be able to achieve my goal - and so I feel confident sharing that with the community.

My long term goal with the Designer is to develop more contract types with it to battle test it, increase the set of features and logic that can be used in a contract type and refine how easy it is to use. After that I plan to develop a new mini-campaign that will be introduced either as a flashpoint or with a unique entry point. I will then be releasing the tool for everyone to use as open source software.

For anyone wanting to follow my progress feel free to drop by the Mission Control discord server and for those who want to support my development feel free to visit my Patreon.

For a peek at how the tool runs check out this video here.

Thanks guys!

Bye Nexus

After many years hosting my mods on Nexus I have decided to remove them and no longer host anything on Nexus Mods. These mods include Mission Control, ConverseTek conversation editor and BTDebug scene inspector.

The reason for this is their (potentially illegal in some countries) decision to take away full control of how a modder's mod is used.

All my mods will still be hosted on Github like usual.

Thanks for your understanding.

Release v1.2.1

This is a minor bug fix release for some edge case bugs.

Bug Fixes

Improvements

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
      • Edit settings.json (and/or your settings.user.json / settings.modpack.json overrides) with the following:

Add the following Misc block under the top-level Spawners block

"Misc": {
"LanceSelectionDivergenceOverride": {
"Enable": true,
"Divergence": 20
}
}

Specific for RT modpack

For RT modpack authors, or any modpack that uses custom high difficulty value lances like RT, use this block instead (or experiment with much higher divergence values):

"Misc": {
"LanceSelectionDivergenceOverride": {
"Enable": false
}
}

I'm Back

Hey guys! I'm back!

After 9 or 10 months of burnout I started feeling the itch to get back to some fun programming. Fun programming for me includes modding! I'm going to be taking it slowly but I will be starting to update Mission Control again (and other mod/tool projects) so keep an eye out for fun new things!

And with that, I'm releasing a new update for Mission Control with v1.2.0. Read the changelog for more information and I hope you enjoy it!

Release v1.2.0

This is the first release after my break. This fixes a few issues that have been hanging over me since I was away.

This release fixes some annoying broken functionality such as MC Flashpoint support, adds MC Story support, adds improvements and fixes various bugs.

Minor Features

Improvements

  • Blackout: Changed the 'Trap' event in Phase 1 to reduce evasion by 2 instead of 3
    • Players take less of an evasion hit from the trap
  • Better Skirmish Control
    • You can now use MC with Skirmish without the debug / quick skirmish rules (this means no longer spawning right next to each other)
    • A new settings.json property called EnableSkirmishMode which controls if this MC Skirmish ruleset is running
    • DebugSkirmishMode still exists and will spawn you next to the enemy for tests. It will also show the 'Quick Skirmish' button if enabled, and takes precedent over EnableSkirmishMode
  • Vanilla: Support Story Flashpoints to be failable
    • Previously when failing a Story Flashpoint you would see the 'Restart', 'Load Save' or 'Exit Game' menu
    • You now can safely fail the contract
    • If for whatever reason you don't want this behaviour then you can use the setting "NeverFailSimGameInFlashpoints": false in the settings.json

Bug Fixes

Deprecations

  • EncounterRules.GetPlayerLanceChunkName() will be removed in the future. Use EncounterRules.GetPlayerLanceChunkGameObject(GameObject encounterLayerGo) instead
  • EncounterRules.GetPlayerLanceSpawnerName() will be removed in the future. Use EncounterRules.GetPlayerSpawnerGameObject(GameObject chunkPlayerLanceGo) instead

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
      • Edit settings.json (and/or your settings.user.json / settings.modpack.json overrides) with the following:

Add EnableSkirmishMode property above DebugSkirmishMode and set to 'true'

Enables the new Skirmish encounter ruleset

"EnableSkirmishMode": true,

Disable DebugSkirmishMode property

Disables the 'Quick Skirmish' button and disables the debug encounter ruleset that spawns you next to the enemy lance. Ideal use for this is for testing.

"DebugSkirmishMode": false,

Add the following properties after EnableAdditionalPlayerMechsForFlashpoints

"NeverFailSimGameInFlashpoints": true,
"EnableStoryOverrides": false,
"EnableAdditionalPlayerMechsForStory": false,

Add EnableForStory in every feature section under EnableForFlashpoints property and set to 'false'

Do this for:

  • RandomSpawns
  • HotDropProtection
  • AdditionalLances
  • ExtendedLances
  • ExtendedBoundaries
  • DynamicWithdraw
"EnableForStory": false,

Release v1.1.3

This is the final release of Mission Control by me, CWolf. It was a hard decision to make but after two and a half great years modding BattleTech - I've decided it's time for me to move on. Thank you all for the support and I'm glad you've enjoyed what Mission Control grew into. It's not without its faults but I'm very proud of the work I accomplished here.

Keep enjoying BattleTech and destroying your way through the Inner Sphere! Take care - it's been a pleasure. Signing off.

This release adds some balance and fixes.

Improvements

  • Blackout: Changed the 'Trap' event in Phase 1 to reduce evasion by 3 instead of reduce it down to 0
  • Solo/Duo Duels: Some duels now prevent pilot death where the contract lore/story makes sense, there are:
    • Solo Duel - All Eyes On
    • Solo Duel - Life Lesson
    • Duo Duel - Festive Couple
    • Duo Duel - Yearly Tussle

Bug Fixes

  • Settings: Hot Drop Protection for Flashpoints didn't work
  • Per-ContractID Overrides: Specific contract overrides worked for enabling features but not disabling them from defaults

Custom Contract Type Builder

  • New Result: ModifyLanceEvasionTicksByTag allows you to increase or reduce all tagged units' evasion by a set amount
  • New Node: DisablePilotDeath combat type node allows disabling of pilot death and, optionally, pilot injury during a contract if used

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
      • contractTypeBuilds/Blackout/common.jsonc
      • contractTypeBuilds/SoloDuel/common.jsonc
      • contractTypeBuilds/DuoDuel/common.jsonc
      • overrides/contracts/duoduel/DuoDuel_FestiveCouple.json
      • overrides/contracts/duoduel/DuoDuel_YearlyTussle.json
      • overrides/contracts/soloduel/SoloDuel_AllEyesOn.json
      • overrides/contracts/soloduel/SoloDuel_LifeLesson.json

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