MOD New Battle Behaviors (Crusade Opt-in 5/22)

https://www.dropbox.com/sh/j7m1wuomxkuqx3d/AAB_NZHyxeyXS4rLmTtUj5Boa?dl=1

[Edited for 2.14 5/12/17]

I hate exploits and love flavor.  I don't like how stacking defenses on Escorts and weapons on Capitals works the battle system.  I also don't like how the stacking of % reductions to weapon cooldowns ends up boosting missiles' rate of fire by 1900% with the right techs/parts.

I've altered the XMLs in the hopes of making it significantly less exploitable.

Vanilla ship leveling is boring.  I changed that, too.

The Mod is in the external link above.  Copy the Game file to Documents/My Games/ GC3Crusade and enable mods in your game options to add this.

 

With this mod:

  • Interceptors will now intercept.  They defend Assault, Support, and Starbases.
  • Attack and defense priorities were redefined for all ship types.
  • Guardians will behave as I would expect orbital and starbase defenders to act.
  • Support ships will actively engage in hostilities but start much further back than previously.
  • Starbases will begin the battle much closer to the front.  I mean for them to participate in the engagement with their defenders rather than separately.  I may not have the setting quite right yet.  (feedback please)
  • Hulls Tiny/ Small/ Medium/ Large/ Huge/ and Support respectively have been modified to:
Base Movement    [Edited 11/30/16] 2.5/ 1.5/ 1/ -0.5 /-1/ 0
Tactical Speed   +0.3/ +0.1/ +0/ -0.1/ -0.3/ -0.5
Acceleration   +0.5/ +0.2/ +0/ -0.2/ -0.5/ -0.5
Jamming/Evasion added [Edited 5/12/17] +0.25/ +0.1/ 0/ -0.2/ -0.3/ -0.5
 
(Added 2.0)  All weapon cooldown stat modifiers changed to flat from multiplicative with approximately twice their former values.  This makes the net effect of any one bonus the same without stacked cooldown effect getting absurd.  EX: -95% missile cooldown from a base of 4 was possible, with this -2 from the base 4 is possible.
(Added 2.0)  Ship levels now grant small bonuses to Accuracy, Jamming (Dodge), MovesCap, Experience value, Weapon Attacks, and Defenses.  These changes are not uniform.  Tiny hulls gain greater evasion and movement while gaining no defensive bonuses, Small hulls gain greater Accuracy than others, and Hit Point, Weapon Damage, and Defenses scale up by greater percentages for larger hull types.
(Added 2.14) 
  • Adopted adjusted Logistics costs of 2.14
  • Exceeded tweaks to ship hull manufacturing costs.  This MOD is now (small to huge) 5/ 20/ 50/ 150/ 500, cargo unchanged
  • Upped all ships' Defense range to 500 for kicks (not expected to make any difference whatsoever)
  • reduced evasion of tiny hulls 0.3 to 0.25, increased evasion of huge hulls -0.4 to -0.3
 
 
 
 
In forthcoming updates to this mod I intend to:
  • Add ship stat bonuses and penalties to battle roles.  (If I can find a way.) (Edit: not supported by enums and XSD, Community Modding Wishlist noted)
  • Limit Interceptor to Tiny, Assault to Tiny/Small, Escort to Small/Medium, Guardian to Small/Large, and Capital to Medium/Large/Huge. (If I can find a way) (Edit: not supported by enums and XSD, Community Modding Wishlist noted)
  • Strengthen core ship blueprints.
  • Alter drone blueprints and tweak the modules, components, techs, etc. dealing with them so that my changes won't be imbalanced.
  • (added with 2.0 edit) Would like to modify Military Starbases, but I need a trigger that lets its dronescaps initiate battles with enemy ships entering the base's AOE.
  • Maybe more.
 
105,616 views 30 replies
Reply #1 Top

I edited the Battle behavior a bit myself, from reading post here on the forum and changing things ppl suggested. Seems you have taken it a bit further with the hull editing, how well does it work? I'll do a few test games after my current game, justa bit curious as to how well or bad the AI is with it?

Reply #2 Top

This looks interesting. I may have to give it a whirl. Where can I download it?

Reply #3 Top

External Link in the OP at the top.

Reply #4 Top

Quoting Horemvore, reply 1
Seems you have taken it a bit further with the hull editing, how well does it work? I'll do a few test games after my current game, justa bit curious as to how well or bad the AI is with it?

It may work too well.  My starting survey ship with 68 hit points was shot down by a pair of pirate interceptors.  I may have buffed the evasion too much.  Not going to jump to any hasty conclusions though.

As far as the AI using it.  Their ships follow the changes the same as the players.  I haven't changed AIStrategyDefs.xml to make the AI prioritize its shipbuilding differently.

I've made some progress editing .xsd files to accept new data in the .xml files in my attempts to limit particular roles to particular hull styles and add stat modifiers to ships based on the ship's role.  My latest build accepts Ship Hull Type as a prerequisite but CTDs on startup.  Nothing I've done in the ModifierType.xsd has convinced the game to acknowledge Stat modifiers in new area's of the schema.

I'm going to try a few more things before asking the community for help and/or submitting a ticket for mod support.

Reply #5 Top

My Understanding of the Schema files is they really do not like to be "edited" in any way, there is a few posts around here on the subject, will take some digging to turn them up as they are in threads related to other stuff. After reading what other people stumbled upon regarding Schema files is the sole reason I have not tried to edit them myself. At a guess I say there is either hardcoded code in the exe or dll's regarding schema files. Just getting access to the rest of the xml's the schema files point to would progress modding to a whole new level, so much is till locked away in dll's/exe. Hopefully the "Workshop DLC" will release some of this to us. Atleast thats what I am holding out for.

Reply #6 Top

You can assume that all thats not in the Schema files is not supported by the game,

I mean they are there to limit what you can do, and there is most likely a reason for that^^

Reply #7 Top

[quote who="mortili" reply="6" id="3634571"
I mean they are there to limit what you can do, and there is most likely a reason for that^^
[/quote]

I don't agree with the inference here.  It sounds very un-Stardockish.

More plausible is that they were written to support the content Stardock put into the game and no more because there was no reason to write the Schema to support more.

Reply #8 Top

the xmls are nothing more than structured data,

xls are nothing more than rules how the data can/needs to be structured

 

we can assume that the xls are created so that they allow us to do everything what the game supports, 

so their is no point in changing xls's

Reply #9 Top

Quoting mortili, reply 8

we can assume that the xls are created so that they allow us to do everything what the game supports, 

that assumes that the people who created the xls have thought of everything possible that the game is capable of doing.

it also would imply that there is no room for expansions because there is nothing more that the game supports

Reply #10 Top

Quoting mortili, reply 6

assume that all thats not in the Schema files is not supported by the game,

I disagree, I think the Schema files are there as a "bridge" between the data files, xml's we have access too, some are still locked away in the dll's prolly as c++ code, and the dll's. Exe reads said schemas, builds its "archive" then collects the data from the xml to fill said "archive" or some such. If there is extras in said schemas it does not compute said extras because its not been coded to look for extras.

 

Quoting mortili, reply 6

I mean they are there to limit what you can do, and there is most likely a reason for that^^

Correct, they are there to limit what is available, that does not mean thatt is all that "will" be available or "can" be available, if the devs chose to change it. Fraxis do similar with thier civilization games. id imagine its comman practice with software companies it limits modders to what they want modded, it also stops modders form steam rolling future ideas/planed expansions.

Reply #11 Top

Quoting Go4Celerity, reply 4
It may work too well.  My starting survey ship with 68 hit points was shot down by a pair of pirate interceptors.  I may have buffed the evasion too much.  Not going to jump to any hasty conclusions though.

 

Yeah, I think you probably have; +0.5 evasion is like -50% to hit value, which will make small ships completely immune to kinetics and extremely hard to hit with missiles. I'd suggest +0.1, +0.05, +0.02, -0.02, -0.05 and -0.1 as being a bit more balanced tbh; either that, or diversify the weapons more (make something overtly anti-fighter by making it very accurate but very low-damage, something overtly anti-capship by making it hillariously inaccurate but devastating when it hits, and something mid-way between the two). 

 

Quoting Go4Celerity, reply 4
As far as the AI using it.  Their ships follow the changes the same as the players.  I haven't changed AIStrategyDefs.xml to make the AI prioritize its shipbuilding differently.

 

When doing this bit, be cautious - the AI ship class list (used to determine what the AI is going to build) is NOT the same as the ship roles, despite using about 70% of the same names in the xml. 


Quoting Go4Celerity, reply 4

I've made some progress editing .xsd files to accept new data in the .xml files in my attempts to limit particular roles to particular hull styles and add stat modifiers to ships based on the ship's role.  My latest build accepts Ship Hull Type as a prerequisite but CTDs on startup.  Nothing I've done in the ModifierType.xsd has convinced the game to acknowledge Stat modifiers in new area's of the schema.

I'm going to try a few more things before asking the community for help and/or submitting a ticket for mod support.

 

Yeah,I'd suggest just leaving the schema alone tbh, it'll blow a gasket from any meaningful changes and SD have stated that they have no plans for allowing us to mod it (or offering any support to those who do). Besides, role assignment appears to be something handled in the .exe and so imposing requirements for it within the xml is just going to cause conflicting behaviour (and hard-to-trace galaxy generation crashes).

Reply #12 Top

Quoting naselus, reply 11

Quoting Go4Celerity,
It may work too well.  My starting survey ship with 68 hit points was shot down by a pair of pirate interceptors.  I may have buffed the evasion too much.  Not going to jump to any hasty conclusions though.



 

Yeah, I think you probably have; +0.5 evasion is like -50% to hit value, which will make small ships completely immune to kinetics and extremely hard to hit with missiles. I'd suggest +0.1, +0.05, +0.02, -0.02, -0.05 and -0.1 as being a bit more balanced tbh; either that, or diversify the weapons more (make something overtly anti-fighter by making it very accurate but very low-damage, something overtly anti-capship by making it hillariously inaccurate but devastating when it hits, and something mid-way between the two). 

I edited evasion down some.  Exclusive of other factors, hit chance against a tiny hull will now be 80% beam/ 60% missile/ 40% kinetic.  I've wanted to see weapons diversified in the base game for some time.  A battleship with 4 big guns feels more like a battleship than one with 14 little guns, each no different than what the fighters are carrying. 



 

Quoting naselus, reply 11


Yeah,I'd suggest just leaving the schema alone tbh, it'll blow a gasket from any meaningful changes and SD have stated that they have no plans for allowing us to mod it (or offering any support to those who do). Besides, role assignment appears to be something handled in the .exe and so imposing requirements for it within the xml is just going to cause conflicting behaviour (and hard-to-trace galaxy generation crashes).

That's too bad.  I freely admit that I don't know how the game files interact to work.  Do you think there would be another angle that would avoid the .exe problems you mention?

Adding role prerequisites to hull types?  Adding a stat modifier list that says: if X role and Y hull type are true for a ship then Z stat modifiers apply to that ship without adding overt exclusions to hulls or roles?

Reply #13 Top

Quoting Go4Celerity, reply 12

I edited evasion down some.  Exclusive of other factors, hit chance against a tiny hull will now be 80% beam/ 60% missile/ 40% kinetic.  I've wanted to see weapons diversified in the base game for some time.  A battleship with 4 big guns feels more like a battleship than one with 14 little guns, each no different than what the fighters are carrying.

 

That sounds better.

 

I do think there's some room to explore the idea of using accuracy to make some ships definitely cap-centric and others actively anti-fighter though. Consider the following:

 

Missile - 10x damage output, slow firing, 25% accuracy (unmodified).

Laser - 1x damage, rapid fire, 150% accuracy

Kinetics - 75% acc, medium fire rate, 5x damage.

 

Combined with the -50,-20,0,0,+20,+50 jamming on hulls, you have lasers that remain effective against fighters but do too little damage to really hurt big ships; missiles which cannot possibly target tinies but can cause massive damage to big hulls which cannot avoid them, and kinetics which are less than ideal against either but at least can hit small targets and cause reasonable damage to large ones.


It may be a struggle to teach the AI to use it, though adjusting role selection and the associated tactics (by changing the threat/fort/value levels to make auto-role seleciton pick in a sensible way) should be possible.

 

Quoting Go4Celerity, reply 12
That's too bad.  I freely admit that I don't know how the game files interact to work.  Do you think there would be another angle that would avoid the .exe problems you mention?


Adding role prerequisites to hull types?  Adding a stat modifier list that says: if X role and Y hull type are true for a ship then Z stat modifiers apply to that ship without adding overt exclusions to hulls or roles?

 

From what I know of the topic (which is a fair bit, since I wanted to do much the same kind of thing you're aiming for with roles and sizes), I can't really see a workable method tbh. Much of the role stuff is basically out of bounds. The game doesn't care about the roles that you give it in the xml at all, for example, and while you can change a role's targets and movement you can't impact much on how it assigns them or give it anything above and beyond target preferences and movement.

 

You may be able to achieve it with schema edits, but tbh I doubt it will work.

Reply #14 Top

I had a small play withe the Schema files. Seems you can add extra includes into them without the game crashing or hanging. Not sure this will be usefull though.

 

Reply #15 Top

Quoting Horemvore, reply 14

I had a small play withe the Schema files. Seems you can add extra includes into them without the game crashing or hanging. Not sure this will be usefull though.

 

 

You can. What you can't do is load a schema file as part of a mod (you have to overwrite the base game and so the mod is wiped out every time you update), and some alterations will cause a crash when used (so, for example, adding a new resource will kill the game completely). There doesn't appear to be much of a pattern as to which changes are fine and which are crashy; and some changes completely knacker the whole thing and result in needing a re-install.

 

All in all, it's a lot safer to just leave it the hell alone, especially since distributing the mod afterward becomes a painful process of unpacking different files all over the place.

Reply #16 Top

For whatever it's worth, back around when the game was released I tried adding a new ship role by defining an entry for it in BattleBehaviorDefs and adding the role to ShipRoleTypes.xsd. This did not cause the game any issues that I noticed (I could start the game, start playing, and mess around in the ship designer) or, as far as I can remember, produce any warnings when starting the game, but the role also did not appear as an option for selection in the ship design screen. I also did not run the test games very long; I didn't see much point in running the game to see if an issue would pop up when I could already see that what I'd tried to do hadn't worked.

I have not put any serious effort into figuring out if there is a way to make this work; BattleBehaviorDefs and the associated schema files are the only files I'm aware of that appear related to defining ship roles, and I'm not sufficiently interested in making this work to go digging through the rest of the XML to find out what else I'd need to edit, if the other files necessary to make this work are available.

Reply #17 Top

Updated to provide for new content in ShipHullStatDefs.xml

Evasion bonuses were toned down from earlier iterations and seem more balanced now.

Upped Cargo hulls' HP back to 10 as their "sitting duck" evasion penalty makes them vulnerable enough.

Reply #18 Top

Crusade Update finished.  Edits to post.  Great job on this expansion Stardock, Thank you.

Reply #19 Top

And when did I get over 2000 views on this?  I remember it being arround 200 last time I updated it.

Reply #20 Top

CUZ its so cool :thumbsup:  

Reply #21 Top

Quoting Go4Celerity, reply 19

And when did I get over 2000 views on this?  I remember it being arround 200 last time I updated it.

Because vanilla behavior is bad and we crave for a better one which your mod provided.

Reply #22 Top

I'm humbled.  Thank you.

Reply #23 Top

 

My apologies too any who tried this only to find it crash.  I had my file structure wrong in my Mods folder.  I've fixed the few dozen XML typos and the mod is live and working now with an updated link.

Reply #24 Top

Updated for 2.14.  Changes listed in edited post.  Link updated.

With thrusters now giving jamming bonuses, I'm looking at ways to limit stacking of flat evasion bonuses, probably through making some multiplicative and others having smaller flat plus small multiplicative bonuses.  Hope to have that worked out in a week or so.

Reply #25 Top

Love the mod thanks for all your hard work 

Cheers:beer:  :beer:  :beer:  :beer:  :beer: