• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
So, I'm still away but have access to the jsons I emailed myself and am working on an excel sheet to make comparing the variables between roles and global easier.

In addition to the base, Brawler, Sniper and likely Scout dynamic roles can be called on. But I haven't had the time to confirm this. Personally roles might not be active either.

Scout seems to be unused or irrelevant in the code. In BattleTech.AIRoleAssistant.getAbstractRoleTagMultiplier, UnitRole.Brawler and UnitRole.Sniper have tag multiplier applied from their DynamicAIRole constants, but UnitRole.Scout does not. In EvaluateAssignmentForUnit, UnitRole.Scout gets the same value as Unit.IsDead.

Brawler and Sniper do seem to be doing something.
 
Scout seems to be unused or irrelevant in the code. In BattleTech.AIRoleAssistant.getAbstractRoleTagMultiplier, UnitRole.Brawler and UnitRole.Sniper have tag multiplier applied from their DynamicAIRole constants, but UnitRole.Scout does not. In EvaluateAssignmentForUnit, UnitRole.Scout gets the same value as Unit.IsDead.

Brawler and Sniper do seem to be doing something.

Yea, I was wondering about that as some mechdefs still have unit_role_scout in them. In beta there was a "mood: SensorLock" that basically served as the scout role but I haven't been able to figure out how/where those AI moods are called. Where does that "BattleTech.AIRoleAssistant.getAbstractRoleTagMultiplier" come from? I haven't been able to keep up with the mod scene at all and am way behind on the workings of the launch game. I saw the bits at the end of the combatconstants, but oddly, brawler is a blank file. It makes sense in that the default global.json is effectively the brawler role and that file should be blank. In beta, with AI logging I could also see the lastmandstanding role get triggered and my edits to that json would take effect. But I haven't been able to do any of that testing in the current game.
 
open dnSpy > decompile assembly-csharp.dll > BattleTech then find the class and method

LastManStanding appears to have been similarly deactivated in the same methods as above? It's possible to reimplement both the Scout and LMS roles in the code though I dunno whether that's a good idea.
 
Anyone have a quick suggestion on some good basic mods (I know how to turn on reserve... but any suggestions for the weights on how often the AI reserves)?

How well does it work if I just set reserve to true? I can just try it... but I figured I'd asked this esteemed thread first :)
 
great info and work here, thanks for starting this work.
 
I'll chime in. I'm using this mod in conjunction with my Mod Pack. (https://forum.paradoxplaza.com/foru...ck-dz_consolidated_company_commander.1099514/)

This Mod Pack makes significant tweaks with evasion, gunnery values, and chassis to-hit values through Battletech Balance Overhaul (https://forum.paradoxplaza.com/forum/index.php?threads/mod-battletech-balance-overhaul.1100320/). I've gone with the changed values from the first thread. I have noticed that with the to-hit nerfs that a single shot gets fired a bit too regularly, in my opinion. In order to make the AI adapt to these new conditions, I've loosened the Float_EvasiveToHitFloor from 45.0 to 35.0. Hopefully this will make a positive difference for my specific situation.
 
I've attached the BTML/ModTek enabled mod that we're using for the improved AI. I had to correct one comma error in there to get it to work with the injector. All of the values are in there and available for tweaking in the global.json file. There are changes from the original post - most notably more "conservative" changes when compared to vanilla. Sorry, I don't have a changelog for this. One thing I will note is that we changed the threshold for it to take a single shot to 35%. This makes it function a lot better with my Mod Pack, but I don't know how well it would work in vanilla settings.
 

Attachments

  • AI Improvements.zip
    7,9 KB · Views: 18
I've attached the BTML/ModTek enabled mod that we're using for the improved AI. I had to correct one comma error in there to get it to work with the injector. All of the values are in there and available for tweaking in the global.json file. There are changes from the original post - most notably more "conservative" changes when compared to vanilla. Sorry, I don't have a changelog for this. One thing I will note is that we changed the threshold for it to take a single shot to 35%. This makes it function a lot better with my Mod Pack, but I don't know how well it would work in vanilla settings.

Cool, I'll look at this when I get the time. Sadly, my work is really kicking in to gear over the summer and I still don't have a lot of free time like I did during the beta. Can you point out where that comma error was? I would also want my own AI mods to be BTML/MT compatible. If this is an error in the stock file, has the issue been posted in the bug forum?
 
Here you will find the entirety of the differences between the base file and the my our AI modifications. It also shows where the comma issue is. The comma doesn't create a problem for the base file (obviously) only when being merged through ModTek. As long as the modded version has the comma there is no problem whatsoever.

As for ModTek compatibility... it's already done for you. Just download that file up above and use the architecture. Very simple and works perfectly. :)

I don't know how much feedback we can give for the AI since I won't be doing the rigorous testing you seemed to do during the beta by comparing skirmishes and such. I will do what I can, though!

diffchecker [mod edit: no unapproved links, please]
 
Oh, and since we were tweaking the AI numbers like the noobs we are, please let me know if you see that we've done something terribly stupid when looking at the changes. ;)
 
Oh, and since we were tweaking the AI numbers like the noobs we are, please let me know if you see that we've done something terribly stupid when looking at the changes. ;)
Don't worry about that. All of my initial tests were just setting things to absurd values and seeing if I could observe a change in behavior. Got to start somewhere.
 
Hey I think that one change you suggested worked at least :) The AI is certainly not firing only weapon as often anymore!

Did you experiment with a setting of 30%, yet?
 
The concern, I think, is that if they take too many of those shots they burn their heat too soon and don't have the capability to drop the hammer when the opportunity presents itself.
 
The concern, I think, is that if they take too many of those shots they burn their heat too soon and don't have the capability to drop the hammer when the opportunity presents itself.
Bingo. What we really need is to define "Conservative Shots" as "Whatever I can shoot that doesn't waste ammo or significantly increase my heat level." This would let well sinked units like the HBK-4P or BLR laser blast targets without overheating for poor shots before the proper fighting even starts.
 
Man, that would require some .dll creation. Haven't crossed into that realm, yet...