cwolfs / missioncontrol Goto Github PK
View Code? Open in Web Editor NEWA HBS BattleTech mod that provides a framework for runtime modifications of the contracts and encounters.
License: GNU General Public License v3.0
A HBS BattleTech mod that provides a framework for runtime modifications of the contracts and encounters.
License: GNU General Public License v3.0
Add the ability for Encounter Rules to specify adding a Defend X Units
of a lance as an objective.
Add the ability for Encounter Rules to specify a randomised extraction zone.
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.
When allies spawn using Additional Lances
they sometimes do not move. AI: Add a 'Follow Lance' and/or 'Guard Lance' AI behaviour to solve this situation.
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.
Add a main menu button when in Debug Skirmish
mode. The button would use the last lance configuration and a random map on unlimited configuration to quickly load into a skirmish.
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.
When a spawner fallback is used and the vanilla positions are accepted, the last tested random spawn location orientation is kept. This causes the lance to be facing the wrong direction in a lot of cases.
Skull value is a very important value for contracts. At the moment Additional Lance functionality isn't influenced by this. Consider how skull value could influence the spawning (types of lances, spawn chance maybe).
Main skirmish lobby Play
button is broken. Does nothing when selecting it.
When leaving normal skirmish lobby, the UI on the main menu breaks when running Quick Skirmish functionality.
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).
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.
Allow for a system that will take tags from the contract json, maybe from a custom field like contractTags
, and allow MC to use them to influence the encounter rulesets.
For example, allowing the json modders to specify more or less additional lances per contract specifically.
Some maps have a different set up for the plot game objects. The current game code doesn't handle this well enough and causes null references.
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.
There are reports of long loads still. Investigate.
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.
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.
The Additional Lance spawns only support a maximum of four units. Allow for more than four being specified and to add more spawn points.
Need to consider how best to handle this. Possibly in the setting.json
, or the lances
folder, or even allow for it to be defined in the vanilla lances folder (LanceDef
).
Add the ability for Encounter Rules to specify changing plot and building spawns.
There are reports that some spawns still spawn you in bad locations. Investigate.
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?
Add the ability for Encounter Rules to specify changing the faction on a lance.
Add the ability for players to take in extra lances of their own mechs.
Create an encounter level spawn tracker to prevent units from spawning in the same place.
Units can still move away from the location if spawned on top of each other.
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"]
}
}
The inbuilt lance spawns only support a maximum of four units. Allow for more than four being specified in the contract.json
and dynamically add spawn points to the inbuilt lance spawns.
Fallbacks don't seem to work for all the spawners properly. Ensure the fallbacks work and in a worst case try to limit the spawners attempts to no longer than a minute.
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?
This is a path finding issue still found in RC2. Reimplement the loop killing in SpawnLogic:PathfindFromPointToPlayerSpawn
if needed.
Add the ability for Encounter Rules to specify artillery mechanics for an encounter.
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 type: Battle
Additional Ally Lances: 1 (2 mech lance)
Additional Enemy Lances: 2
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.
Sometimes units spawn in deep water and there are no movement nodes available. This should never happen as the path finder should find at least a 3 node path towards the main objective or target.
Provide an option for Additional Lances to spawn unlimited waves of different lances.
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
.
When completed an Additional Lance destroy lance objective you currently get no reward. Add a contract objective to reward the player for destroying the lance.
C-bills and/or rep.
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.
Add the ability for Encounter Rules to specify dialogue to appear.
Watch a unit with a tag, if one exists. When it is destroyed then spawn a lance.
E.g. for when a transport is destroyed to spawn armoured soldiers / elementals.
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).
A requested feature that will be default turned off but will be available in the settings.json.
When spawning additional enemies and allies - match the number of spawned ally lances with the number of enemy lances rolled.
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.
Add an AI behaviour that makes the lance patrol the map in various ways without waypoints.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.