btw, the tutorial mode "all planets are Mark 1 and AI doesn't send waves" is wonderful for testing, especially for trying to work with the Nanocaust/Dyson Sphere lategame. Can that be left as an undocumented option somehow? Or just renamed as "Sandbox AI Type"
FYI, you can set up your own tutorial-esque situation by:
1) In GameData/Configuration/Scenario/KDL_VanillaEntries.xml , copy the node with name="Tutorial_01", and modify as desired. The classes/records it references that define the behavior are:
- class Scenario_Tutorial_01 (as opposed to Scenario_AftermathOfLosingTheAIWar)
- ai_type record Tutorial_01, which references class AITypeController_Tutorial_01, which uses AIBudgetController_Tutorial (the threat-controller and special-forces-controller are normal-game-logic)
- map_type record Tutorial_01, which references class Mapgen_Tutorial_01
The "all non-homeworlds are mark 1" aspect is due to AITypeController_Tutorial_01.AssignDefenseValuesTo() , the "does not send waves" aspect is due to AIBudgetController_Tutorial.GetSpendingRatios() .
2) Search for the line:
Engine_AIW2.Instance.InnerDoStartNewWorldOKLogic( ScenarioDataTable.Instance.GetRowByName( "Tutorial_01", false, null ) );
, and replace "Tutorial_01" with your new scenario.
3) In-game, click the Tutorial button to start your scenario.
In the future I'll add support for picking between tutorials so you won't need to hijack the button
So in this specific case I'm guessing you'd want to:
- replace Scenario_Tutorial_01 with a fairly "empty" implementation; no conditions or whatnot, but one key difference is that GetDefaultFactionConfigurations would include the Dyson Sphere or whatever
- leave the AI type exactly as-is
- replace the map_type reference with a normal map type