Giter Site home page Giter Site logo

cwolfs / missioncontrol Goto Github PK

View Code? Open in Web Editor NEW
19.0 6.0 13.0 44.35 MB

A HBS BattleTech mod that provides a framework for runtime modifications of the contracts and encounters.

License: GNU General Public License v3.0

C# 99.78% Shell 0.22%

missioncontrol's Issues

Maps: Extend boundary to maximum size available

A lot of the maps are restricted to a tiny section of the available map size. The maximum playable map size is 2k by 2k.

Allow for extending the contract encounter to the maximum size available.

Random Spawns: Optional unit auto-guard on drop

There are situations when the randomiser spawns you very close to enemies. This is fine in itself but if the enemies get the first initiative it can end very badly, very quickly for the player.

Have an optional settings.json option (maybe on by default) that auto-enables guarded status for all allied units when they initially drop.

An alternative is to start with X amount of evasion on drop to achieve a similar level of drop protection.

Additional Lances: Some contract type lances should primary objectives

All the Destroy Lance objectives with Additional Lances are secondary objectives. This is fine for contract types except for Battle, DestroyBase, CaptureBase where the whole point is to destroy the forces.

Make Battle, DestroyBase, CaptureBase contract types Destroy Lance objectives as primary for Additional Lances.

Encounter Logic: Spawn lance

Add the ability to use a 'Spawn Lance' trigger that runs a 'Spawn Lance' result on a successful condition.

This would be useful for triggering lance spawns mid-way through a contract (e.g. enemy lances that show up after a successful objective has been completed).

Extended Lances: Error when encountering contract json lance with 0 units

When using Extended Lances feature (on by default in v0.2.0), if a lance is encountered with 0 units in it (sometimes for RT turret lances are set to manual but have no units in them) then this causes an error in Mission Control.

This should be a valid usecase and Mission Control should ignore those usecases though and not try to autofill.

Maps: Reuse story maps as generic contract maps

Reuse the story maps for generic contract maps.

This involves making a system to strip the story maps entirely of story specific map logic, chunks and objectives. Then reconstructing a generic contract type structure is required.

Saves: In-combat save games don't work

When saving a contract mid-combat, chances are when trying to load the save it will probably fail. This is probably due to some aspects not serialising in the save correctly and/or some logic re-executing that shouldn't.

AI: Retreat willingness

Based retreat willingness on the faction, lance and pilot personality. Allow for customisation in JSON.

This could lead on to a 'ransom' / 'pay to let me retreat' option.

Additional Lances: Spawn lances with battle damage

The base game spawns lances that are at 25, 50 or 75% armor, but the lances spawned by Mission Control are always at full health. Combined with the treatment of the spawned lances as primary objectives in battle missions, it makes those missions basically impossible.

So, is it possible to emulate the base game's mechanism of deploying enemy forces with limited armor?

Additional Lances: Allow for faction and reputation to affect lance selection

It would be a good feature to extend the LancePool section to allow for specifying factions and reputation min/max thresholds to provide lance definitions.

A possible example:

      "LancePool": {
        "ALL": [
          "GENERIC_BATTLE_LANCE"
        ],
        "CONTRACT_TYPE:DestroyBase": [
          "BRAWLER_LANCE", "DEFENDING_LANCE"
        ],
        "BIOME:DesertParched": [
          "BBQ_MASTERS"
        ],
        "FACTION:MercenaryReviewBoard": {
          "Reputation": {
            "Min": 50,
            "Max": 100
          },
          "Lances": ["HEAVY_BATTLEMECH_LANCE"]
        }
      }

Additional Lances: Restrict extra lance spawns on flashpoint missions

Some flashpoint missions have tonnage restrictions, or it doesn't really make narrative sense for extra allied lances to spawn in them, or (in one case) limit you to dropping a single mech. As it turns out my one guy in a Centurion couldn't go 1 on 9 with enemy mechs (although he did take down two and nearly cored a third.)

Is it possible to prevent extra lances from spawning on flashpoints missions or some subset of them?

Additional Lances: Granular FP restrictions

As asked for in #80 by @NickAragua.

Additional Lances can be disabled for Flashpoints as of v0.2.0. An upgrade to this would allow for more granular control over when to disable this feature. Things like if the contract restricts you to only 1 lance, or if the story really seems incompatible with having a bunch of extra lances appearing.

Contract Loading: Second contract freezes in load

When used with RT.

In some situation for a player they can load a first contract fine but the second contract on that save freezes in the load screen. When they load the save after the first contract has ended, they can successfully play the second contract that failed before. This can be repeated again and again for them.

This needs investigating.

Withdraw: Dynamic extraction zone

When selecting 'Withdraw', instead of the contract ending straight away - set a dynamic extraction zone and allow the player to fight their way back to the dropship.

This could be an optional feature turned on/off in the settings.json.

Encounter Logic: Enemy extraction zones

Add the ability to insert an extraction zone for an enemy lance. This would work together with the 'retreat' AI so the enemy lances retreat to the extraction zone on a certain condition.

AI: Retreat behaviour

Add a 'retreat' behaviour that makes a lance go into full blown retreat mode (to the edge of the map or to an extraction point).

Additional Lances: Direct lance def references don't work

MC attempts to get the lance def from the Data Manager but sometimes the requested lance def isn't available.

Add a step to request the lance def resource to the loaded so it will be available when the contract loads.

There is another method to achieve the same functionality so this is a minor issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.