MegaMek / mekhq

MekHQ is a java helper program for the MegaMek game that allows users to load a list of entities from an XML file, perform repairs and customizations, and then save the new entities to another XML file that can be loaded into MegaMek.
http://megamek.org
133 stars 171 forks source link

[RFE] Introduce Homebrew Faction Loyalty Module to MekHQ #4838

Open UlyssesSockdrawer opened 1 month ago

UlyssesSockdrawer commented 1 month ago

Prerequisites and Pre-Issue Checklist

RFE Details *

This is a new feature

Brief Description *

Currently in MekHQ, whilst the unit develops a reputation following the CamOps ruleset, there is no wider impact to relationships or reputation with individual factions that can be either employers or enemies. This means that each contract is essentially a 'blank slate' with the employer.

This RFE is to add in a new optional module to MHQ. Right now I am not aware of any official rules for building unique reputations with factions. The intent behind this RFE is to add depth to mercenary campaign play, rather than for dedicated faction or pirate play. The idea for this module is heavily inspired by the system in HBSTech.

Implementing this RFE should include:

  1. A new Campaign Options section to turn on or off the loyalty/reputation module, and modify any key numbers involved.
  2. A new Command Centre report - 'Faction Reputation'
  3. A report window, showing positive and negative reputations with each faction present in the universe.
  4. 'Breakpoints' at reputation numbers - e.g. friendly, unfriendly, etc. to give feedback to players of their reputation status
  5. An over-time trend towards 0 reputation with all factions.
  6. Reputation changes from taking contracts for and against factions
  7. Reputation changes from winning and failing contracts
  8. Impacts from faction reputation on contract terms - higher pay or support %, or modifications made to the contract generation rolls, shown in the contract market window.

Implementing the module could be extended in future by having the breakpoints tie in to more involved unit markets (i.e. factory lines or employer markets are only available at certain breakpoints, or have discounts at certain breakpoints).

The module could also be extended in future with nags/suggestions that at very high or low breakpoints, the player force is eligible for a landhold, or special scenarios (assassination attempts, targeted attacks) could be generated on or off contracts.

Faction reputation could also affect background generation of personnel, or be tied into personnel loyalty and turnover - i.e. a mechwarrior from the Draconis Combine might be disloyal to a unit that is allied to the Federated Suns.

Some possible first pass numbers:

Some breakpoint suggestions:

Allied - 15% pay/salvage bonus, 10% employer/factory line discount, higher chance of contract spawning?, eligible for a landhold (GM add asset, use optional rules from ATOW/CamOps/IntOps for this) Trusted - 10% pay/salvage bonus, 5% employer/factory line discount Friendly - 5% pay/salvage bonus Neutral - no effect Unfriendly - -10% pay/salvage Distrusted - -15% pay/salvage, low chance of being attacked in special scenarios Hated - -20% pay/salvage OR no chance of contract spawning?, high chance of assassination/attack special scenarios

MekHQ Suite Version *

0.50 -> Future

Attach Files

Mock-up of the Reputation Window: FactionReputationReport

Final Checklist

UlyssesSockdrawer commented 1 month ago

With the new Clan bidding system added in by @IllianiCBT in the 0.50.01 dev cycle, an idea suggested by Hammer was that honourable performance could be tracked per Clan.

That would be a good addition to this for handling mercenary reputation with the Clans since they won't hire you - instead, whether they see you as a more honourable opponent if you accept batchalls and fight their way vs. refusing.

IllianiCBT commented 1 month ago

So, I love the ideas presented in this RFE. While the final values might be different I'm happy to commit to getting this implemented once @Algebro7's CamOps Contract Market changes and my Campaign Options rewrite are in place.

I will be changing this to be called the 'Fame and Infamy module' because Reputation is taken and because it's me, and I wouldn't be me if I didn't slap 'module' on the end of everything :D

UlyssesSockdrawer commented 1 month ago

Absolutely - any values I suggested there are just for placeholder purposes off the top of my head. Can't wait to see how this one turns out in future.

IllianiCBT commented 1 month ago

Ignore the 'issue mention' above this post, I copy-pasted the wrong issue number

UlyssesSockdrawer commented 1 month ago

Additional Clan behaviour thoughts/notes, copied from Discord:

Hegira: when clan forces reach a suitably low morale threshold in a contract, they should contact the player requesting Hegira. The player should have the option to accept - immediately defeating the clans. Doing so would gain honour/rep with the clan faction. If the player wants to keep kicking them when they're down they can refuse Hegira and hunt them for the rest of the contract, but will lose honour/rep in doing so.

Conditional Hegira: if the clans contact the player asking for Hegira, a more advanced way could be for the player to put some kind of condition on it - a bit like a bonus part, it could allow them to claim a pristine omnimek or similar. Doing so means no honour gain, but also ends the contract.

UlyssesSockdrawer commented 1 month ago

Additional Clan thoughts/notes: