• 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.

OldEnt

Captain
45 Badges
Aug 12, 2019
457
564
  • Magicka
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Golden Century
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Hearts of Iron IV: La Resistance
  • Stellaris: Federations
  • Crusader Kings III
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Common Sense
  • Stellaris: Leviathans Story Pack
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Third Rome
  • Stellaris: Megacorp
  • Europa Universalis IV: Pre-order
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Crusader Kings II
Aggressive Crisis Engine (ACE, ACEMOD) is a collaborative Stellaris mod with new crisis AI and a great amount of crisis improvements.

ACE is available on:
UPDATE: Beta now available to test.

UPDATE 2: Aggressive Crisis Engine AI can be applied to any noneconomic empire. Modders can follow AI framework documentation for modders which is in the works. While code will be cleaned up and event numeration will change for the release the principles of AI operation will remain the same.

UPDATE 3: ACEMOD has been released!

Release trailer:
1603769113575.png

Video comparison between ACEMOD and vanilla 2.8.1b:
1604129042727.png



---------------------------------------------------------------------

1602338269080.png
^ Presented in the video above: 5 year comparison of Aggressive Crisis Engine vs 2.7.2 Vanilla crisis AI (Unbidden). At the end of an 8 minute test Vanilla crisis had 5 starbases and ACEMOD AI had 18.
Vanilla AI is off for main crises and all fleet movements are mod scripted, this includes military fleets, constructors, army transports and swarm infestors.

- Full support for Contingency, Prethoryn Scourge, Unbidden, Aberrant and Vehement.
- New custom pathfinding accounting for wormholes and gateways. Begone loops.
- Aggressive not only in the name. Fleets are relentless and always seek targets.
- New technologies and quests to obtain them.
- Various fixes like changing crisis bombardment stance and making unarmed crisis ships flee when in danger.
ACEMOD is flexible and modular. Users will be able to switch individual components on and off at game start.
Modders will be able to use ACEMOD AI for their own custom country_types and exclude individual fleets from ACEMOD AI for their own events. Below is a sneak peek at some of the instructions for mod use:
Code:
# Note 1: In order to disable vanilla crisis AI this mod overwrites following keys in 00_country_types.txt:
# swarm
# extradimensional
# extradimensional_2
# extradimensional_3
# ai_empire
#
# Note 2: Vanilla crisis countries are piloted by default. See instructions on how to exclude countries, including vanilla crisis countries.
#
# Instructions:
#
# set_global_flag = acemod_activated                                            global                Activates ACEMOD fleet AI.
# set_country_flag = acemod_assisted_ai                                            country                Only countries with this flag will have their fleets piloted by ACEMOD.
# acemod_set_fleet_piloted_exclusion_on = yes                                    fleet ship            Prevents ACEMOD from piloting marked fleets.
# acemod_set_fleet_piloted_exclusion_off = yes                                    fleet ship            Resumes default operation.
# acemod_set_country_piloted_exclusion_on = yes                                    country                Prevents ACEMOD from piloting fleets of given country. Use this if you don't want vanilla crisis country to be piloted. See acemod_fleet.10 event.
# acemod_set_country_piloted_exclusion_off = yes                                country                Removes exclusion *and* enables ACEMOD for given country. Does not activate global ACEMOD fleet AI (acemod_activated flag) if you had it off.
#
# set_country_flag = acemod_country_flag_disabled_military_ai                    country                Disables ACEMOD AI for military fleets.
# set_country_flag = acemod_country_flag_disabled_constructor_ai                country                Disables ACEMOD AI for constructor fleets.
# set_country_flag = acemod_country_flag_disabled_army_ai                        country                Disables ACEMOD AI for army fleets.
# set_country_flag = acemod_country_flag_disabled_colonizer_ai                    country                Disables ACEMOD AI for colonizer fleets.
#
# set_global_flag = acemod_constructor_reinforcements_disabled                    global                Disables constructor reinforcements for all countries.
# set_country_flag = acemod_constructor_reinforcements                            country                Enables constructor reinforcements for given country. Vanilla crisis countries receive them by default. Requires acemod_assisted_ai country flag.
# acemod_set_country_constructor_reinforcements_exclusion_on = yes                country                Prevents ACEMOD from issuing constructor reinforcements.
# acemod_set_country_constructor_reinforcements_exclusion_off = yes                country                Resumes default operation.
# set_star_flag = acemod_star_flag_is_constructor_reinforcements_system            solar_system        Designates system to spawn constructor in.
# set_fleet_flag = acemod_fleet_flag_is_constructor_reinforcements_fleet        fleet                Designates fleet to spawn constructor on.
#
# set_country_flag = acemod_country_flag_custom_starbase_outpost                country                ACEMOD AI constructors will spawn normal starbases (outpost) using empire's graphical culture.
# set_country_flag = acemod_country_flag_custom_starbase_citadel                country                ACEMOD AI constructors will spawn normal starbases (citadel) using empire's graphical culture.
#
# set_country_flag = acemod_defensive_jumpdrive_protocol                        country                Enables defensive jumpdrive protocol for given country. Contingency has it by default. Requires acemod_assisted_ai country flag.
# acemod_set_country_acemod_defensive_jumpdrive_protocol_exclusion_on = yes        country                Prevents ACEMOD from issuing defensive jumpdrive protocol.
# acemod_set_country_acemod_defensive_jumpdrive_protocol_exclusion_off = yes    country                Resumes default operation.
# set_star_flag = acemod_star_flag_is_defensive_jumpdrive_protocol_system        fleet planet        Designates defensive jumpdrive protocol protected system.
# set_ambient_object_flag = acemod_ambient_object_flag_defensive_jumpdrive_protocol_target            ambient_object            Designates ambient object to move fleet to.
# set_global_flag = acemod_defensive_jumpdrive_protocol_disabled                global                Disables defensive jumpdrive protocol for all countries.
#
# set_global_flag = acemod_technology_disabled                                    global                Prevents ACEMOD technologies from rolling (potential).
# set_country_flag = acemod_country_flag_technology_allowed                        country                Enables rolling of ACEMOD technologies for non-default empires (potential). Does not overrride ACEMOD technology disable global flag.
# acemod_set_country_technology_exclusion_on = yes                                country                Prevents ACEMOD technologies from rolling for given country (weight_modifier = 0). Overrides country technology_allowed flag.
# acemod_set_country_technology_exclusion_off = yes                                country                Resumes default operation.
#
# set_global_flag = acemod_crisis_debuff_disabled                                global                Disable applying anti-crisis damage debuffs. Does not remove the ones in place.
# set_global_flag = acemod_fallen_awakened_empire_debuff_disabled                global                Disable applying anti-relics damage debuffs. Does not remove the ones in place.
#
# set_megastructure_flag = acemod_megastructure_flag_is_active_bypass            megastructure        Marks megastructure as being an accessible bypass (custom modded wormhole, custom modded gateway etc). Used in pathfinding. See acemod_is_active_bypass scripted trigger.
# set_star_flag = acemod_star_flag_is_active_bypass                                solar_system        Marks star system as being an accessible bypass (custom modded wormhole, custom modded gateway etc). Used in pathfinding. See acemod_is_active_bypass scripted trigger.
#
# set_planet_flag = acemod_planet_flag_bombardment_target_ignore                planet                Marks planet as excluded from being targeted for bombardment.
# set_planet_flag = acemod_planet_flag_army_target_ignore                        planet                Marks planet as excluded from being targeted for invasion.
# set_planet_flag = acemod_planet_flag_colonizer_target_ignore                    planet                Marks planet as excluded from being targeted for colonization or infestation.
#
# set_global_flag = acemod_advanced_ai_disabled                                    global                Disables some of the fleet events which might require high amount of checks, like reaction to enemy movements. Do not use unless you really want to.
#
# set_fleet_flag = acemod_fleet_flag_starbase_defensive_protocol                fleet                Marks fleet as a trigger for territorial defensive actions.
# set_star_flag = acemod_star_flag_starbase_defensive_protocol                    system                Marks system as critical and to be defended immediately if needed.
# set_country_flag = acemod_country_flag_starbase_defensive_protocol_disabled    country                Disables territorial defense for given country.
# set_country_flag = acemod_country_flag_starbase_defensive_protocol_fallback_event_disabled    country    Disables fallback event (acemod_fleet.132). Use if issues from triggering both 130 132 arise (should not).
#
# set_country_flag = acemod_country_flag_system_pings_disabled                    country                Disables pinging systems to indicate potential high value targets.
#
# set_country_flag = acemod_lib_country_flag_army_strength_modifier_assisted_ai    country                swarm, ai_empire, and countries with this flag receive Crisis Army Strength multiplier.
# set_country_flag = acemod_lib_country_flag_army_strength_modifier_disabled    country                Disables automatic Crisis Army Strength multiplier recalculation for given country (usefulf for disabling swarm or ai_empire bonus).

ACEMOD is a collaborative effort by Fiiral, Rodahtnov and OldEnt.
Any modding requests for ACEMOD AI features please direct to OldEnt.

1602338055359.png
^ Overnight test run of ACEMOD AI crisis on Stellaris 2.7.2. Default settings but technology cost on x0.25. All empires were on repeatables. Crisis on x1 strength was squashed, this is a x5 Scourge.
This mod is at the beta stage and everything visible is subject to change.
End result.
End result save link (no mods required).
Pre-crisis trigger save (vanilla compatible).

1602344478833.png
^ A 37-year timelapse of the Contingency invading the galaxy (compressed into 5 minutes).

1602715514920.png

^ Similar video but with Unbidden.

1603150886901.png

^ Prethoryn Scourge video.
 
Last edited:
  • 8Like
  • 1Love
Reactions:
if you have actually managed to mod the unmoddable you might have achieved sainthood in the book of stellaris modders, alongside Glavius and Elowine
 
Last edited:
  • 2
  • 1Love
Reactions:
Mod is unlisted on the Steam workshop as code changes daily and will be internally reshuffled (cleaned up) for full release (which will be published as a new workshop item).
I will try to keep beta save-compatible until release. You can follow beta link here: https://steamcommunity.com/sharedfiles/filedetails/?id=2254550964 .
That said, all three crises are in playable state.
i'd love to try this mod since the crisis being crap has bugged me for years, but as a general rule i don't play beta versions of mods, it's not worth the risk of getting a hundred hours into a campaign and then having a game breaking issue caused by broken code. i get enough of that from the base game.
 
  • 1Haha
Reactions:
i'd love to try this mod since the crisis being crap has bugged me for years, but as a general rule i don't play beta versions of mods, it's not worth the risk of getting a hundred hours into a campaign and then having a game breaking issue caused by broken code. i get enough of that from the base game.
I feel you!
If anyone is willing to test the link is in the original post.
 
  • 1Like
Reactions:
Interesting mod. Is the mod compatible with the different crisis managers? Or does it make the crisis managers obsolete?
For example, I play with these crisis mods:

Crisis Manager - End-Game Edition [Unofficial] (2030057100)
Crisis Manager - Mid-Game Edition [Unofficial] (2033764043)
Crisis Manager - Sleeper Edition [Unofficial] (2036461392)
Crisis Manager - Total War Pack [Unofficial] (2038763403)

The Mid-game (L-gates/Great Khan) and Sleeper (Fallen Empire Awakening events/ War in Heaven) edition have another purpose and probably won't interfere.
The Total War Pack has an effect on the Horde and end-game crisis:
  1. Crisis factions will automatically gain control of/build starbases in systems upon defeating them.
 
Interesting mod. Is the mod compatible with the different crisis managers? Or does it make the crisis managers obsolete?
For example, I play with these crisis mods:

Crisis Manager - End-Game Edition [Unofficial] (2030057100)
Crisis Manager - Mid-Game Edition [Unofficial] (2033764043)
Crisis Manager - Sleeper Edition [Unofficial] (2036461392)
Crisis Manager - Total War Pack [Unofficial] (2038763403)

The Mid-game (L-gates/Great Khan) and Sleeper (Fallen Empire Awakening events/ War in Heaven) edition have another purpose and probably won't interfere.
The Total War Pack has an effect on the Horde and end-game crisis:
  1. Crisis factions will automatically gain control of/build starbases in systems upon defeating them.
Chances of them working with ACEMOD are high, at least that they do not break spectacularly. At this moment there are only a few overwrites: crisis country_types and Dimensional Anchors design (all three types).

Any mod which changes crisis country_types MUST BE above ACEMOD as to not overwrite it. Otherwise ACEMOD won't be able to disable vanilla crisis AI. Crisis Manager does overwrite some crisis country types and therefore MUST BE above ACEMOD.

I overwrote Dimensional Anchors to give them FTL inhibitors, better sensors and computer and make them show up on the galaxy map. Any mod which changes Anchor design should be above ACEMOD. Extra Ship Components 3.0 - Overwrites is one of those mods, place it above ACEMOD, unless you don't want these feature on the Anchors. Other crisis ships will still get ESC components.

Starbase ownership swap won't have any effect on the ACEMOD.

Nanites, Khan and FE/Awakened Empires are untouched.
 
Not sure if you can make this work with infinite stellaris crisis manager.

It scedules and paces the crisis and you can even have multiples of them in waves.
 
Not sure if you can make this work with infinite stellaris crisis manager.

It scedules and paces the crisis and you can even have multiples of them in waves.
That's nothing which ACEMOD touches (this mod, right?). In fact, ACEMOD does not overwrite a single vanilla crisis event. Number of crisis fleets , when, and where they appear does not matter in the slightest to the ACEMOD.

As a side note, there are first reports of brave souls testing ACEMOD with Crisis Manager - End-Game Edition [Unofficial] and so far without issues.
 
Got a crash with these errors:
[23:03:16][effect_impl.cpp:3108]: Failed to get a random class namelist in create_species effect. ClassTag = SWARM. file: events/crisis_events_1.txt line: 375
[23:03:16][component.cpp:413]: Country Prethoryn Scourge cannot build any component in the component set combat_computers for design Temp Dimensional Anchor
[23:05:34][trigger_impl.cpp:840]: Script Error: Invalid context switch[owner], file: events/acemod_fleet_events.txt line: 1354, Scope:

[23:05:34][eventtarget.cpp:1781]: Undefined event target: acemod_event_target_invader_colonizer_target, location: file: events/acemod_fleet_events.txt line: 2417
[23:08:00][trigger_impl.cpp:840]: Script Error: Invalid context switch[owner], file: events/acemod_fleet_events.txt line: 1277, Scope:

[23:10:04][eventwindow.cpp:223]: Triggered Event leviathans.594 has no valid options!
[23:10:25][trigger_impl.cpp:840]: Script Error: Invalid context switch[owner], file: events/acemod_fleet_events.txt line: 2030, Scope:
 
Got a crash with these errors:
[23:03:16][effect_impl.cpp:3108]: Failed to get a random class namelist in create_species effect. ClassTag = SWARM. file: events/crisis_events_1.txt line: 375
[23:03:16][component.cpp:413]: Country Prethoryn Scourge cannot build any component in the component set combat_computers for design Temp Dimensional Anchor
[23:05:34][trigger_impl.cpp:840]: Script Error: Invalid context switch[owner], file: events/acemod_fleet_events.txt line: 1354, Scope:

[23:05:34][eventtarget.cpp:1781]: Undefined event target: acemod_event_target_invader_colonizer_target, location: file: events/acemod_fleet_events.txt line: 2417
[23:08:00][trigger_impl.cpp:840]: Script Error: Invalid context switch[owner], file: events/acemod_fleet_events.txt line: 1277, Scope:

[23:10:04][eventwindow.cpp:223]: Triggered Event leviathans.594 has no valid options!
[23:10:25][trigger_impl.cpp:840]: Script Error: Invalid context switch[owner], file: events/acemod_fleet_events.txt line: 2030, Scope:
If you got crash it would be likely unrelated to what is in the error.log.

That said:
Anchor component errors can be ignored.

Undefined target error for colonizer simply means it found no valid planet to infest/colonize.

I am aware of these specific context switch errors, they are not fatal , just fail the true/false check when looking for hostile fleet.

I cannot check files now but line 375 of swarm event file is probably about creating swarm or one of the swarm leaders. ACEMOD does not change vanilla crisis files and does not fire the event with that line, something else must have broke it. Are you trying to spawn swarm twice?

Also, something fired one of the leviathans events for no visible reason and it wasn't ACEMOD.
 
Still though, the main point of the mod definitely works:
1602915794575.png

5x Prethoryn did this in 30 years on a medium galaxy with 2 awakened empires. I'm the only empire left (you can see me in the top left as "1 system is all I need.")
 
If you got crash it would be likely unrelated to what is in the error.log.

That said:
Anchor component errors can be ignored.

Undefined target error for colonizer simply means it found no valid planet to infest/colonize.

I am aware of these specific context switch errors, they are not fatal , just fail the true/false check when looking for hostile fleet.

I cannot check files now but line 375 of swarm event file is probably about creating swarm or one of the swarm leaders. ACEMOD does not change vanilla crisis files and does not fire the event with that line, something else must have broke it. Are you trying to spawn swarm twice?

Also, something fired one of the leviathans events for no visible reason and it wasn't ACEMOD.
I didn't try and spawn the swarm twice; this was a natural spawn. That being said, I did turn on ACEMOD mid-save in that game (although before 2350 when the Crisis started rolling).
 
[23:03:16][effect_impl.cpp:3108]: Failed to get a random class namelist in create_species effect. ClassTag = SWARM. file: events/crisis_events_1.txt line: 375
I had a look and this line is in an event which spawns Swarm (crisis.17). You have a mod which either changes the way Swarm spawns (modifies events) or changes namelist for Swarm for some reason. This is not necessary a bug, though.

That being said, I did turn on ACEMOD mid-save in that game (although before 2350 when the Crisis started rolling).
You should be able to add ACEMOD at any point during playthrough, even during crisis.

If you wanted it removed, however, you'd need to switch to crisis country, order all fleets on stop (clear all orders), run for one day and then save the game. Queued fleet commands from events which no longer exist can crash the game.

Still though, the main point of the mod definitely works:
View attachment 642741
5x Prethoryn did this in 30 years on a medium galaxy with 2 awakened empires. I'm the only empire left (you can see me in the top left as "1 system is all I need.")
Glad it worked! 30 years is ridiculously fast, faster than in our simulations, lol. Running a purge fix mod perhaps?
 
I had a look and this line is in an event which spawns Swarm (crisis.17). You have a mod which either changes the way Swarm spawns (modifies events) or changes namelist for Swarm for some reason. This is not necessary a bug, though.


You should be able to add ACEMOD at any point during playthrough, even during crisis.

If you wanted it removed, however, you'd need to switch to crisis country, order all fleets on stop (clear all orders), run for one day and then save the game. Queued fleet commands from events which no longer exist can crash the game.


Glad it worked! 30 years is ridiculously fast, faster than in our simulations, lol. Running a purge fix mod perhaps?
I was running a purge mod, but it's Ariphaos unofficial patch purge, which doesn't seem to affect the Crisis. Actually, the first planet the Scourge conquered took the longest to purge, because Greater than Ourselves kept resettling pops to fill the empty houses and jobs.
However, the galactic population outside my borders was quite low because I was playing despoilers and regularly raided everyone's planets down to two pops each.
 
  • 1
Reactions:
Actually, the first planet the Scourge conquered took the longest to purge, because Greater than Ourselves kept resettling pops to fill the empty houses and jobs.
I don't know why, but I laughed out loud when I read this.
 
Aggressive Crisis Engine AI can be applied to any noneconomic empire. Modders can follow AI framework documentation for modders which is in the works. While code will be cleaned up and event numeration will change for the release the principles of AI operation will remain the same.