Author Topic: Modding : More starting options - (Working Fleets, Battlestations in progress)  (Read 4849 times)

Offline ArnaudB

  • Jr. Member Mark II
  • **
  • Posts: 76
More starting options

Straightforward XML mod that adds more options when starting a game.

*More Starting Fleets:
Four standard fleets to play with: Elite, Kamikaze, Epidemic and Interdiction. Also contains a start with a Spire Lone Frigate for testing and fun (no ship included) and a Lone Botnet, clearly labelled as "Cheat Fleet" for hilarious, unwise and ridiculous games. Six starting fleets in total.
Spoiler for "Design and Notes":
<!-- A combination of starting options for fleets. These do not override existing fleets but are additions.
The design philosophy for most is meant to reflect vanilla fleets:
*Starting fleets have a theme or playstyle for the player to try out.
*they have no more and no less than four ship-lines.
*All shiplines start with max cap, with one exception.
*Ships should avoid sharing tech-type.
-If this isn't the case, due to lack of alternative or for thematic reasons, the second shipline will have its cap at the minimum value.
-Frigates can NEVER share a tech-type.
*Starting fleets have a clear weakness

Note: Lone Fleet starts are meant more for fun and testing purposes than regular play. Were the option to exist the clearly named "Cheat Fleet" (Botnet start) would disable achievements when chosen. If you don't want the option, just delete it in the XML or comment it out.
Notes: This mod was first and foremost made for my own enjoyment. I will accept constructive criticism and suggestion that would make the fleets more interesting to play or less boring-cheesy. I will not take demeaning comments.
Made for v.1313 (beta branch) - by ArnaudB
 -->
Spoiler for "content":
<fleet_design name="EliteStartingFleet"
        display_name="Elite Fleet"
        description="An uniquely expensive and powerful strike force filled with few but powerful ships. Fast to respond. Hard to kill. Slow to kill high-values targets."
        design_logic="InitialPlayerFleet" weight="100" include_full_cap_of_each_type="true"
        append_each_ship_description_to_main_description="true"
        >
    <ship_membership name="TransportFlagship_Agile" ship_cap_group="Centerpiece" weight="100" min="1" max="1"/>
   <ship_membership name="Devestator" ship_cap_group="Frigate" weight="100" min="2" max="2"/>
   <ship_membership name="Ramifier" ship_cap_group="Frigate" weight="100" min="2" max="2"/>
   <ship_membership name="Suppressor" ship_cap_group="Frigate" weight="100" min="4" max="4"/>
   <ship_membership name="IonDisruptor" ship_cap_group="Frigate" weight="100" min="2" max="2"/>
  </fleet_design>
 
 
  <fleet_design name="StalkingStartingFleet"
        display_name="Kamikaze Fleet"
        description="A fragile and suicidal group with an overwhelming opening salvo. It can easily kill high-values targets and die just as easily."
        design_logic="InitialPlayerFleet" weight="100" include_full_cap_of_each_type="true"
        append_each_ship_description_to_main_description="true"
        >
    <ship_membership name="TransportFlagship_Cloaked" ship_cap_group="Centerpiece" weight="100" min="1" max="1"/>
    <ship_membership name="AutoBomb" ship_cap_group="Strike" weight="100" min="25" max="25"/>
   <ship_membership name="Porcupine" ship_cap_group="Strike" weight="100" min="40" max="40"/>
    <ship_membership name="Ram" ship_cap_group="Strike" weight="100" min="15" max="15"/>
   <ship_membership name="SiegeFrigate" ship_cap_group="Frigate" weight="100" min="2" max="2"/>
  </fleet_design>

  <fleet_design name="HydraStartingFleet"
        display_name="Epidemic Fleet"
        description="Seek the biggest battles and grow stronger from the jaws of defeat. Not nearly as good when all is well."
        design_logic="InitialPlayerFleet" weight="100" include_full_cap_of_each_type="true"
        append_each_ship_description_to_main_description="true"
        >
    <ship_membership name="TransportFlagship_Starter" ship_cap_group="Centerpiece" weight="100" min="1" max="1"/>
    <ship_membership name="VanguardHydra" ship_cap_group="Strike" weight="100" min="20" max="20"/>
   <ship_membership name="StingrayHydra" ship_cap_group="Strike" weight="100" min="60" max="60"/>
   <ship_membership name="ParasiteHydra" ship_cap_group="Strike" weight="100" min="15" max="15"/>
    <ship_membership name="WarbirdFrigateHydra" ship_cap_group="Frigate" weight="100" min="2" max="2"/>
  </fleet_design>


<fleet_design name="InterdictionStartingFleet"
        display_name="Interdiction Fleet"
        description="A force meant to keep enemy ships in place and give them a pounding that they won't remember. Preferably due to death rather than a failure to hurt them."
        design_logic="InitialPlayerFleet" weight="100" include_full_cap_of_each_type="true"
        append_each_ship_description_to_main_description="true"
        >
    <ship_membership name="TransportFlagship_Starter" ship_cap_group="Centerpiece" weight="100" min="1" max="1"/>
    <ship_membership name="Zapper" ship_cap_group="Strike" weight="100" min="25" max="25"/>
   <ship_membership name="Nanoswarm" ship_cap_group="Strike" weight="100" min="25" max="25"/>
   <ship_membership name="Spider" ship_cap_group="Strike" weight="100" min="40" max="40"/>
   <ship_membership name="Raider" ship_cap_group="Strike" weight="100" min="40" max="40"/>
  </fleet_design>


  <fleet_design name="SpireStartingFleet"
        display_name="Artefact Fleet"
        description="An allegedly powerful frigate from an alien specie who chose to help the humans after they lost their fleet recuing them."
        design_logic="InitialPlayerFleet" weight="100" include_full_cap_of_each_type="true"
        append_each_ship_description_to_main_description="true"
        >
    <ship_membership name="SpireLostFrigateRailcannon" ship_cap_group="Centerpiece" weight="100" min="1" max="1"/>
  </fleet_design>

  <fleet_design name="BotnetStartingFleet"
        display_name="Cheat Fleet"
        description="A Botnet with all the parasitic power and zero ability to kill guard posts. Purely for (stupidity) fun.
      This is considered a cheat. If the option existed it would disable achievement when chosen."
        design_logic="InitialPlayerFleet" weight="100" include_full_cap_of_each_type="true"
        append_each_ship_description_to_main_description="true"
        >
    <ship_membership name="BotnetGolem" ship_cap_group="Centerpiece" weight="100" min="1" max="1"/>
  </fleet_design>

*Adjusted Starting Battlestations:
Mod most (except Webbed) starting Battlestations to have greater synergy, less contradiction and in line with Starting Fleets design. I originally toyed with adding new ones, but the default ones had some serious issues that made them underwhelming or awkward.
Spoiler for "Design and Notes":
<!-- thoughts: The battlestations design choices are far less clear than for fleets. Numbers of each turrets and other defense isn't clear as the numbers for ship_cap_group refer to the old versions of turrets (that were more numerous but weaker). -->
<!-- Modding Default Design reasoning: Standard designs have been adjusted here for better synergies. Many default designs have odd choices where one or two defences doesn't mix with others choices . Turrets count also had some oddities as default designs don't follow the fleet logic of "Starting choice has Max cap" for this unit. -->
<!-- Designs Rules, are as follow: each starting battlestation has a thematic, each encourages the player to try a specific tactic, they need to be usable both defensively and offensively rather than outrageously good at either, they should avoid having multiple turrets of the same tech-type, they shouldn't have turrets that plain conflict with their purpose even as filler. Each design has three turrets -->

<!-- Turret Cap is: "ship_cap_group" DIVIDED BY 5 in the game. This is a property of the turret units stats : multiplier_to_all_fleet_caps="0.2" It compensates the 5 times cost, health and attack boost of the turrets. This was done in vanilla a while ago to reduce the number of turrets to build, for ease of use and performance.
For modding and balance purpose, the ship cap used are taken from KDL_Ships_Turrets:
<fleet_membership name="GeneralTurrets" ship_cap_group="Turret" weight="100" min="25" max="50"/> (this means 10 turrets)
<fleet_membership name="MonochromeTurrets" ship_cap_group="Turret" weight="100" min="60" max="120"/> (this mean 24 turrets)
<fleet_membership name="OtherDefenseFocus" ship_cap_group="Turret" weight="100" min="20" max="40"/> (This means 8 turrets)
*Accordingly most adjusted designs follow the "OtherDefenseFocus" cap with 8 turrets, as they have variety and synergy. Oddly enough this raises the turrets cap of most battlestations by effectively 2 turrets. Most but not all (weirdly enough) default battlestations used the average of min-max "OtherDefenseFocus".
Effective 8 turrets per type rather than 6 was chosen to mirror the logic of Starting Fleet design, of using the max of the ship_cap. The lowest max of three was used. Balance might still be needed but that's the weakest option that's consistent with Starting fleet design logic.

Notes: This mod was first and foremost made for my own enjoyment. I will accept constructive criticism and suggestion that would make the fleets more interesting to play or less cheesy. I will not take demeaning comments.
Made for v.1313 (beta branch) - by ArnaudB
     -->
Spoiler for "content":

 <fleet_design name="Mod_ClassicStartingDefenses" is_partial_record="false"
        display_name="Classic (adjusted) Defenses"
        description="This classic mix is good at stopping or slowing things as they come through your wormholes, and has good firepower against midsized foes.

Adjusted as an all-rounded combination competent against most forms of oppositions, either on the defensive or the offensive. Easy to use."
        design_logic="InitialPlayerBattlestation" weight="100" include_full_cap_of_each_type="true"
        append_each_ship_description_to_main_description="true"
        >
    <ship_membership name="GrenadeLauncherTurret" ship_cap_group="Turret" weight="100" min="40" max="40"/>
   <ship_membership name="GraviticBattlestation" ship_cap_group="Centerpiece" weight="100" min="1" max="1"/>
    <ship_membership name="PikeTurret" ship_cap_group="Turret" weight="100" min="40" max="40"/>
   <ship_membership name="ConcussionTurret" ship_cap_group="Turret" weight="100" min="40" max="40"/>
    <ship_membership name="TractorArray" ship_cap_group="OtherDefense" weight="100" min="7" max="7"/>
   <ship_membership name="TachyonArray" ship_cap_group="OtherDefense" weight="100" min="5" max="5"/>
  </fleet_design>
 
 
  <fleet_design name="Mod_ShieldStartingDefenses" is_partial_record="false"
        display_name="Shield (adjusted) Defenses"
        description="Start with an extra forcefield on your home planet, and some very powerful turrets in small quantities.  Also snipers.
      
Adjusted to actually give supplementary forcefields on top of its innate forcefield. Pound the enemy into the ground from behind cover piece by piece, if not necessarily quickly. The ultimate in defence."
        design_logic="InitialPlayerBattlestation" weight="100" include_full_cap_of_each_type="true"
        append_each_ship_description_to_main_description="true"
        >
    <ship_membership name="ShieldwallBattlestation" ship_cap_group="Centerpiece" weight="100" min="1" max="1"/>
    <ship_membership name="PlasmaTurret" ship_cap_group="Turret" weight="100" min="10" max="10"/>
    <ship_membership name="TritiumSniperTurret" ship_cap_group="Turret" weight="100" min="40" max="40"/>
   <ship_membership name="ForcefieldGenerator" ship_cap_group="OtherDefense" weight="100" min="2" max="2"/>
    <ship_membership name="TractorArray" ship_cap_group="OtherDefense" weight="100" min="7" max="7"/>
   <ship_membership name="TachyonArray" ship_cap_group="OtherDefense" weight="100" min="5" max="5"/>
  </fleet_design>

 
  <fleet_design name="Mod_EclecticStartingDefenses" is_partial_record="false"
        display_name="Eclectic (Adjusted) Defenses"
        description="Wow this is all over the place.  Engineering boosts, some regular turrets, minefields, extra tractor beams, and some mobile sentry frigates.  Be prepared for anything!
      
Adjusted to be all over the place in a more refined manner. Has a few engineers to help building a few powerful turrets and some minefield meant for stalling. With sentry frigates for company this design is best used on the offensive."
        design_logic="InitialPlayerBattlestation" weight="100" include_full_cap_of_each_type="true"
        append_each_ship_description_to_main_description="true"
        >
    <ship_membership name="EngineeringBattlestation" ship_cap_group="Centerpiece" weight="100" min="1" max="1"/>
   <ship_membership name="CombatEngineer" ship_cap_group="Strike" weight="100" min="10" max="10"/>
   <ship_membership name="PlasmaTurret" ship_cap_group="Turret" weight="100" min="10" max="10"/>
   <ship_membership name="BeamCannon" ship_cap_group="Turret" weight="100" min="10" max="10"/>
   <ship_membership name="ParalysisMinefield" ship_cap_group="OtherDefense" weight="100" min="24" max="24"/>
    <ship_membership name="TractorArray" ship_cap_group="OtherDefense" weight="100" min="10" max="10"/>
    <ship_membership name="SentryFrigate" ship_cap_group="OtherDefense" weight="100" min="2" max="2"/>
  </fleet_design>


  <fleet_design name="Mod_MinelayerStartingDefenses" is_partial_record="false"
        display_name="Minelayer (adjusted) Defenses"
        description="Large numbers of all the kinds of minefields, plus area-of-effect type turrets, for when you really want to booby-trap the heck out of your homeworld.
      
Adjusted to focus on damage potential with mines, making it easier to use and move around. Anti-energivore turrets serves to deal with high-threats targets that bypass mines. A small group of spider turrets finishes rounding out this quirky mix. Drag enemies into mines with this tractor-armed station."
        design_logic="InitialPlayerBattlestation" weight="100" include_full_cap_of_each_type="true"
        append_each_ship_description_to_main_description="true"
        >
    <ship_membership name="EnsnarerBattlestation" ship_cap_group="Centerpiece" weight="100" min="1" max="1"/>
   <ship_membership name="NucleophilicTurret" ship_cap_group="Turret" weight="100" min="40" max="40"/>
   <ship_membership name="SpiderTurret" ship_cap_group="Turret" weight="100" min="20" max="20"/>
    <ship_membership name="Minefield" ship_cap_group="OtherDefense" weight="100" min="24" max="24"/>
    <ship_membership name="AreaMinefield" ship_cap_group="OtherDefense" weight="100" min="24" max="24"/>
   <ship_membership name="TachyonArray" ship_cap_group="OtherDefense" weight="100" min="5" max="5"/>
  </fleet_design>

Webbed Battlestation serves as reference and is unaltered.
*Installation:
Go to: "C:\Program Files (x86)\Steam\steamapps\common\AI War 2\XMLMods" or whichever path you have the game installed at, then extract the file. It should look like this: "C:\Program Files (x86)\Steam\steamapps\common\AI War 2\XMLMods\MoreStartingOptions".
That's it. Boot up the game and go into custom start. You'll be able to select added fleets and battlestations.

*Current issue(s):
Replacing the default battlestations loadout merges the vanilla and modded one together. If anybody know how to replace the loadout without causing a merge that would be great. The version currently available in "MoreStartingOptions_v1313" duplicate the starting options instead of replacing them, and will not throw errors. However they also won't replace default loadout in quickstart.
If you wish to help, the XML file below "CMP_StartingBattlestationsDesigns_Problems.xml" replace the default battlestations, causing errors and merging. Available for download to help with troubleshooting.

***

I'm partly posting this because I'd like some help with the replacement issue. If some people enjoy this then it's all good. If others people wants to try to make their own modded starting options, that'd interest me too.
Feedback on balance isn't unwelcome. Do realise most of those haven't been tested yet and be polite about pointing out problems. Have a good days, and great AI War 2 games.
« Last Edit: January 28, 2020, 08:39:00 am by ArnaudB »

Offline -NR-SirLimbo

  • Newbie Mark II
  • *
  • Posts: 15
About replacing these things, I did something similar with my mod where I disabled all the old stuff.

The only way I found was to use the skip_adding_to_seed_lists="true" tag to make them invisible, then create new ones from scratch. If the display name is the same the player won't even notice it.