AI War 2:Post Completion

From Arcen Wiki
Jump to navigation Jump to search

Contents

Reporting Bugs

  • Any bugs or requests should go to our mantis bugtracker
    • If you need to submit log files, those can generally be found under your PlayerData folder in the folder your game is installed in. The most relevant one is called ArcenDebugLog.txt. You can send us the whole thing, or just strip out relevant parts.
    • In rare cases, mainly if your entire game crashes (that almost never happens), we will need your unity player log. That gets overwritten the next time you run the game after a crash, unlike the other log. These can be found here:
      • Windows: C:\Users\username\AppData\LocalLow\Arcen Games, LLC\AIWar2\Player.log
      • macOS: ~/Library/Logs/Arcen Games, LLC/AIWar2/Player.log
      • Linux: ~/.config/unity3d/Arcen Games, LLC/AIWar2/Player.log

What Happens Now That The Game Is "Done?"

The last of the AI War 2 DLCs is now out, the Complete Edition is out, and you can read a retrospective of the entire project if you would like to.

At this point, we have primarily moved on to other projects aside from bugfixes and balance tweaks and modder-support throughout 2022. That said, expect patches to arrive weekly or so at least, and in the short period after DLC3 releases it will be even more frequent.

We expect AI War 2 to have a long life if AI War Classic is anything to go by. The game is in a really good state, and we want you to be able to enjoy it for years and years.

5.528

(Not Yet Released)

Ship Line Upgrades

  • Fixed the mod's dependencies: It now requires DLC 1 instead of DLC 3, and AMU to function.
    • Thanks to Dismiss for noticing.
  • SLU now displays the correct values of ship line counts when upgrading and downgrading.
    • Thanks to Dismiss for reporting.
  • Brought the codebase folder structure in line with AMU. At some point this may change, but right now it should be uniform.
  • Fixed the Siege Frigate and its upgrades, the Ion Disruptor and Devastator Frigates not being up/downgradeable.
  • The hack for the upgrades now no longer depends on factories. In theory it now exists on every planet, but will only show wherever the player's king unit is.
    • This fixes the hack showing multiple times for Ark Empires when the starter Ark was on a planet with more than one factory.
      • Thanks once again to Dismiss for reporting.

5.527 Mostly Mod Updates

(Released November 30th, 2022)

  • Fix some exceptions with the hydral hobbyist outguard
    • Thanks to Crabby for reporting
  • Add some defensive code to the transform elderling hack
    • Thanks to Crabby for reporting
  • AI Reserves are now immune to zombification, no matter if the ship type itself is or not.
  • Fixed tooltips not displaying "Cannot be captured" if a ship belongs to a faction that by default is immune to zombification.
  • Add some additional defensive code to try to make the stale selection rings stop occurring
  • Player starting planets are now randomized when starting or editing a quickstart.
  • Player starting planets are also randomized when the 'regenerate' button is clicked.
  • Fix to shark b notifications not being shown sometimes in either multiplayer or ark empire situations.
  • Fix to ark empire games charging 15 aip for building on a dead ai's homeworld.
  • New community quickstart from @Corpserule: Fields of the Fortress King.

Balance

  • Elderlings allied to Minor Faction Teams now get powerful a lot faster. They had a tendency to be too weak
    • This will affect elderings on minor faction team red/blue/green, not those allied to the player or AI

Mods

  • AMU:
    • Added the Object Content Display (OCD) interface. The default keybind is Alt+Y.
      • The OCD makes it possible to live-time inspect the game's code contents: Variables, fields, list sizes and contents, etc... Basically anything and everything can be seen.
      • Native data types as well as strings and FInts can also be edited.
      • This makes it possible to investigate: Is your mod not working correctly? Check what's the content of the modded faction or other logic to see where the error may be.
        • The OCD is highly experimental at the moment and not yet fully tested, let alone formated. But functionality should be given.
        • Special thanks to Dismiss for giving a hint on how reflection can look into private fields.
      • Note that altering game values may result in any number of errors and bugs that will not be accepted as bug reports.
    • Fixed custom resources not being serialized. This was simply forgotten to do.
    • Savegame compatibility should be given and the serialization has been made very efficient with bools for default values and exclusion of Vanilla resources, thus the impact on savegames should be relatively small.
  • Added a ToArray_HugeWasteAndExpensive_AvoidIfAtAllPossible() function for the Dictionary and ConcurrentDictionary class. These simply throw all values into an array.
  • Ship Line Upgrades:
    • Fixed upgrades falsely stating that a certain ship type wasn't the base version of the upgrade. This was simply a mix-up of variables.

Dyson Sidekick

  • Fix a bug with templar district 3 units
    • Thanks to Ushgarak for reporting
  • There is now a notification when the AI is drilling something
  • Dyson Overloaders are now in their own build category, to make it much harder for players to build them by mistake
    • QoL improvement suggested by Dragoris
  • When the Dyson Sphere Win Condition is active, the AI will deploy all ships in its guard posts
  • I've added new mark level scalings to the dyson sidekick's units so they can be balanced more easily across the whole faction
    • This will make large scale dyson sidekick balance adjustments much more easy
    • The Dyson Sidekick has been pretty OP recently, so this will reduce their overall strength
  • Give the Neinzul and Spire some catapult-style defenses (they orbit the planet)
    • Those races have been a bit low in terms of defensive options
  • AI Cuendillar Transports give less cuendillar
    • Suggested by Dragoris

AI Lieutenants

  • Warden LTN will no longer build firebases adjacent to one another.
  • Warden LTN firebases spawn ships every 120 seconds instead of every 60 seconds.

Reclaimers

  • Chromatic Ark buffed.
    • +50% shots in salvo for primary weapon, at mark 1
    • +100% shots in salvo for secondary (teleport) weapon, at max mark level
    • secondary weapon has a preference for higher mass targets now
  • Alien Minelayer Hangar is now seeded at the reclaimers bst hack location.
  • New modular weapon strikecraft seeded at the reclaimers ars hack location:
    • Reparation Corvette can either lay mines or shoot rockets
    • Redeemer Corvette can either hit multi-target or single-target with its fusion beam weapon.
  • Warded Alien Turret was underperforming, increased line cap from 2 to 4.

Points of Interest

  • Diehard AI's structure 'Defleeter' rebalance/fix: added 5 AiP cost on death, increased sabotage cost to 22, added invulnerable while at least 3 guard posts are alive, no longer dies with command station.
  • Diehard AI's ship 'Engineering Guardian' balancing: now only repairs units not recently damaged (like player repair mechanics work), repairs 3 targets instead of 5 per second, also a single target cannot be repaired multiple times in the same 1 second interval.
  • Diehard AI's command station phase 2 now properly retreats to neighboring planets.
  • Fix to Diehard's Mass Driver and Ion Cannon being incorrectly seeded for other ai types, also incorrectly seeding it in last stand form.
  • Fungal Growth no longer gets spores from scrapped ships.
  • Fixed case where exception could occur if a ship died immediately at game start on Fungal Growth planet.
  • There is now a limit of 35 decaying mass entities on one planet. When more would be produced the oldest despawns.
  • Faction is now properly hostile to all, including Reclaimers, as intended (ie. planet defense drones can now be weapon jammed).
  • Unstable solar syphon no longer destroys warp gates.

Exowar Variety

  • Increased the Echidna's engine power from 21 to 23 gx to prevent it from being slowed and invalidated by mere VWings. (Thanks to Lampshade for pointing this out.)

Rebalancing Party

  • New galaxy setting to turn Shark B entirely off.

Outguard Party

  • The two mass driver based outguard Planetary Defense Orbital and Orbital Bombardment can now be given orders by the player even though they aren't owned! This means you can actually attack what you want to with them: coprocessors, big ships, command stations, etc.

More System Defenders

  • Fix to Stormfront Ark's MIRV drone behavior, which wasn't actually moving in to attack anything.

5.526 AMU Returns

(Released November 21st, 2022)

  • Fix a bug with Deep Space Anomaly Analyzer text
    • Thanks to Crabby for reporting
  • Add some defensive code for the new planned wave notifications
    • Thanks to Dismiss for reporting

Balance

  • Deep-Space Anomaly Analyzers given a series of adjustments
    • All versions are now markless so sabotage hack costs are massively reduced. Typically most D-SAA can be hacked for 10 HaP.
    • Versions one through three now count as only .001 strength on the planet
    • FRD priority for the first three versions is now set to an ignore state similar to an ARS which should cut down on NPC interest.
    • Third version AIP cost on kill reduced from 5 to 3.
    • Fourth version added. Titled the D-SAA v4 Counter Spy it is considerably less common and you may go several games without encountering it.

Dyson Sidekick

  • Economic upgrades for the dyson spire now cost cuendillar instead of science
  • Balance
    • Heavily nerf tier 3 spire ships, they were wildly OP
    • Make the Dyson Sidekick Hunters actually kinda usable.
      • They can be upgraded in the Tech menu under "Hybrids"

Updated AMU massively / New companion mod: Ship Line Upgrades:

  • A bit of information:
    • This update to AMU is insanely huge (for reference: According to KDESVN there are roughly 7200 lines of difference) but not terribly tested, so miracles aside bugs and issues will exist. Large parts of the code have not even seen comments or documentation as of yet and there is a lot of new frameworks, upgrades of existing logic and integration between those, but after over 4 months of work the next release was in order.
    • Apologies to people who have been experiencing issues with AMU or the mods that require it - the integration of various new frameworks that partially require each other and had to be built together and with each other in mind has largely been the reason why this took so long.
    • As always, all reports of bugs and errors related to AMU should go to -NR-SirLimbo#0021 on Discord or [email protected]
    • Additionally, the mod is still under construction. Changes will most likely be made to many and especially the new aspects of things. If you have a suggestion on how to change something, need additional features or have other requests, please notify me as above.
  • Added new Frameworks:
    • UnifiedMultiLayerMenu
      • This allows relatively quick creation of menus the player may click through. Each menu "stage" saves a related object with its data, verifies its data at every step and if the data becomes invalid or false it will then switch back as many menus as needed.
      • The framework includes a new button controller base class which automatically gives the player the related data of the button as well as the root and current menu - so no more having to extract it, as well as logic for arranging the buttons in a somewhat decent column layout if the screen height is insufficient for all the buttons.
        • Additionally buttons can be of variable sizes, with variable offsets and have a virtual tooltip text filler function that draws data for potential text offsets (so the text can be put in columns, similar to the first few rows from the entity tooltips) from the menus, the menus can have additional button offsets and dynamically combine their names.
      • This has all been built in mind with GC churn, so if used well there should be (next to) none present.
      • It's called "Unified" beacause both normal UI windows as well as the hacking menu can use the vast majority of the framework (although there is of cause some differences).
      • Examples for the normal UI window versions are included in AMU, for the hacking menu version Ship Line Upgrades - a new mod that releases alongside the new version of AMU - should serve nicely.
    • Custom Debug Flag Logic/UI
      • The default keybinds are "Shift + Y" to open the UI for managing custom debug flags. It makes use of the UnifiedMultiLayerMenu framework.
      • The registration of these flags is done via reflection, all that is needed is to call Window_AMUTracing.AddAllFieldsOfManagedObject() somewhere in your code. Data is automatically sorted into categories.
      • This allows modders to seemlessly put debug flags into their classes and access them ingame, without having to make additional settings, changes in the code or come up with their own solutions to toggle debug data.
      • Debug flags can be simple BoolDebugData or ThreadDebugData objects which have two boolean values, one for logging data and one for logging thread timings. Via clicks the modes of both can be cycled.
      • AMU and Capturable Repositioning debug flags have been changed from being personal settings to being implemented here.
        • Additionally the ThreadDebugData objects contain more utilities such as keeping track of greater/middle/lesser debug steps, a buffer for data dumps and a clock for thread time measurement.
    • Faction relations view
      • This also makes use of the UnifiedMultiLayerMenu framework even though technically it has only one layer.
      • This window allows players to see the relations of all factions towards one another. Especially with randomly generated factions this makes it easy to identify which factions are (currently) related to which other factions in whatever way.
      • It can also be used for debugging modded factions without having to make additional dumps to the debug log (which can become quite lengthy, by experience).
    • Managed[World/ExternalFaction]Info_[Base/Deep]
      • These objects have multiple QoL and functional extensions for faction and world logic implementations:
        • Instant access to ThreadDebugData objects that are also automatically put into the Custom Debug Flag UI. No further action required.
      • Both capturable Repositioning and AJEA have been converted to being Managed.
        • This fixes the code remaining in current assembly causing errors when AMU is disabled but the game is not yet restarted.
          • Thanks to Badger for reporting.
    • GlobalFactionResourceStorage / ResourceTypeDataTable / Window_AMUResourceDisplay
      • AMU now integrates what was originally planned as a 2nd framework mod then called URI (Universal Resource Implementation).
      • This is a framework where the "unusual" resources (from Dark Zenith or Sappers resources to Civilian Industries resources or Necromancer Essence) can be accessed in an unified way, exchanged between factions or ships.
      • This opens up the possibility to trade, loot or otherwise acquire and use resources from other factions and mods that the player normally does not have access to.
        • Ship Line Upgrades is the first mod that makes use of this by introducing its Command Frequency Bandwidth (CFB) resource that is used in hacks.
      • With the default keybind "R" a new UI can be opened which shows the player all resources they own and integrated with the above logic. This way the stockpiles of modded resources also can be seen easily ingame without having to implement additional UI.
      • The ArcenCharacterBufferBase has extensions to format them similar to a lot of other resources or properties.
    • ManagedHackingImplementation
      • This implements loads of additional logic such as:
        • Hacking with non-centerpieces (you can literally make hacks that can only be done with VWings for example)
        • Specific bools for hacking with various types of centerpieces (Transports, Arks, Support Factories, Battlestations, Citadels, etc...)
        • Additional functions such as paralyzing the hacker/target or turning them invulnerable, counteracting attrition
        • Adding custom text snippets to hacks.
        • Granting/costing resources on start/completion/fail/per second, which is where it integrates with the GlobalFactionResourceStorage framework.
      • It also is where the hacking path of the UnifiedMultiLayerMenu framework hooks in.
  • AJEA:
    • AJEA notifications wil no throw exceptions on clients, preventing the game from advancing.
      • Thanks to Badger for reporting.
    • AJEA now has the ability to set an alternative energy limit when in a brownout (however in the universe you got there) so that slight ticks below the limit won't occur as often and reset the brownout cooldown timer.
      • Thanks to Zironic for requesting.
    • AJEA can now automatically determine a limit on how much energy is needed for normal fleet construction and will treat that similar to new captures by freeing up this amount extra.
    • AJEA can now be set to either run per second or sim step.
  • Other bits:
    • New universally useful Game Commands: GameCommand_MoveAllToPlanet, GameCommand_AllAttackOrEscortTarget, GameCommand_AllClearBehavior, GameCommand_MoveToPosition and GameCommand_LoadOrUnloadFleet.
      • All of the above use the new GameCommand_EntityListBased base class which makes it possible to "record" entities before sending off the actual command.
    • Removed the SingletonRecyclingStorages as it was inefficient and just a bad version of a pool in all honesty.
    • ExpansionIsInstalledAndEnabled() and ModIsInstalledAndEnabled() are now hardened against mods and expansions that plain don't exist.
    • There is a new method for factions: SetEntityPath_AllToPlanet().
    • SetEntityPath_DirectInSim() now won't queue move orders to the destination if it's null.
    • Removed the Tuple implementations because C# by default already has the ValueTuple structs which do the same. Instead some methods now have WriteToBuffer() extensions.
    • QuickExLog() has a new variant which also accepts ThreadDebugData objects.
    • ExceptionLogging() will only log a clock's timing information if it has data recorded in the first place. Additionally there are some more new lines in all of this to improve formating.
    • The CachedSetting's setting finder methods have been improved to find the default constructors more reliably.
      • Additionally settings are now cached so they don't need to be accessed via reflection again and again.
      • There now is an additional string identifier to differentiate between the fields of different instances of the same faction type ingame.
      • Specific faction/galaxy/personal setting choice boxes for ThreadDebugData objects have been added so they can be accessed easier.
        • Known issue here: DebugSettingDropdownFiller will not be loaded if AMU isn't loaded, which causes the game to freeze if a setting requires it for its values. In the future there may be a need to move this filler to the Vanilla code.
    • The NamedSliceClock now detects if it hasn't even been started when returning whether or not it has data.
      • It's "Reset" method has been renamed to "StopAndReset" to clarify.
      • It now takes the end time before checking any additional data in order to be even more precise.
      • The data dump for debug purposes has been improved for better readability.
    • The FInt struct has a new extension method TrueRound() for rounding everything at <0.5 down and everything >= 0.5 up like normal floating point numbers.
    • Lists have new extension methods:
      • GetLast() quickly returns the last element of a list or default if the list has no items. It will not cause exceptions(!).
      • GetAndRemoveLast() not only exists for lists but also the throwaway list and list-of-list classes. It does what the name suggests, similar to GetLast().
      • Pseudo-deletions are now added for normal and throwaway lists. What pseudo-deletion does is shuffling elements that are to-be-deleted to the end of a list, replacing them with the last actually wanted element of that list. Then, when the changes are manifested the elments at the actual end of the list are bulk-deleted.
        • This way elements can be deleted out of lists en bulk without having to deal with them shuffling in between and wasting CPU power.
    • World_AIW2 has a new extension method QuickLogIngame() for simply writing text to the local game.
  • General cleanup: Some data from the src_Old folder has been removed beacuse, well, it's been updated and put into AMU properly.
  • Ship Line Upgrades (SLU) (requires Neinzul Abyss DLC):
    • This allows players to upgrade and downgrade ship lines in exchange for a new resource, Command Frequency Bandwidth. Downgrading ship lines grants, upgrading costs bandwidth and something else (either Hacking or Science points, or inflicting additional AIP).
    • SLU uses the new AMU functions and was built in part to demonstrate what is now possible with the additional frameworks included.

5.525 Faster Multiplayer

(Released November 19th, 2022)

  • The planets the AI Reserves are angry at you about are now listed in the AI Reserves Notification
    • This is for host only. MP clients will not see this additional information
  • GameCommands are now pooled per GameCommandType, rather than globally, which means that those that frequently use large lists will overlap more, and there will in general be less memory inflation (and the time required to do said inflation) in games with a lot of commands happening.
    • This may not have much impact, it's hard to be sure, or it might be a minor to notable performance boost in both single player and multiplayer. It won't hurt anything, so it's neutral at worst.

Multiplayer

  • Fix a memory leak on MP clients related to Fireteam Histories
  • Ultra frequent sync data now correctly sends other faction's Core data instead of only the human player.
  • There is a new way that waves are handled for interface purposes under the hood, and this allows us to solve the memory leak related to them on MP clients, as well as avoid the flicker that was causing.

Performance improvements

  • Ultra frequent sync data now correctly sends other faction's Core data instead of only the human players.
  • Hunter, Warden and AI data pertaining to budgets is no longer serialized over the network, since that is only used on the host
  • We now send much less data when serializing a Fireteam over the network
    • A lot of Fireteam data is used by the Host to make decisions; since the client never looks at this data, there was no need to send it.
  • Omit a few fields when sync'ing Ships to MP clients, since those fields are not used on the client
  • I've seen as high as 15% improvement in terms of network traffic depending on the scenario (generally more complex scenarios with lots of fireteams see the most improvement)

5.524 StarKelp's Return

(Released November 16th, 2022)

  • Fix the name on the infectious wight drone
    • Thanks to Lord of Nothing for reporting
  • Reworked Migrant Fleets power calculation so that it no longer has a minimum value based on how often Enclaves have arrived in your galaxy
    • While this made sense from an in-universe perspective, it was unenjoyable to get punished simply for adding a faction
    • New calculation is now directly based on how many Clanlings you have received from escorts
      • Thanks to Dismiss for the report
  • Reworked Splintering Spire journals and faction naming.
    • All journal entries that referred to the Dark Alliance as a whole are now worded to make sense if the Dark Zenith and Dark Spire are hostile to one another.
    • The 'Anti Dark-Alliance Coalition' has been renamed to the 'Nadir Coalition' in all regards.
      • Thanks to Ovalcircle for catching this oddity.
  • Fix to auto-placement of necromancer buildings and battlestation turrets when no command station was present.
    • Thanks to Lord of Nothing for the report.
  • Fixing an issue with non-player ships kiting when they shouldn't have been.
    • Thanks to Lord of Nothing for the report.
  • Fixed a case in which a weapon would continue firing at an FRD target that was no longer damageable.
  • AI Type tag command_station_pick_tag so they can have unique command stations.
  • Tooltip for ships that produce ships with build points as they take damage is now more useful.
  • Spire ships with modular infinite range weapons will now all kite correctly for their shortest range weapon.

Bugfixes

  • Fixed a long-standing Macrophage bug that resulted in numerous errors.
    • Every Macrophage related save has been tested and has become functional after this fix, albeit there may be a short term flood of action while it corrects itself.
      • Thanks to everybody who reported the buggy menace
  • Added a Sanity Check to Custodian spawning logic.
    • Thanks to Daniexpert for the report.
  • Fixed a bug where Dyson Sphere's were trying to move their Splintering Spire collector units like they were military units
    • Thanks to Relay Bot for the report

Balance

  • Rescue Spore Drones of the Orchid Ark are no longer super-chargeable via FRS ship buffs. They didn't count against line count already and are incapable of moving or attacking. This is merely making it so that they aren't unusually efficient with a couple specific picks that increase hull durability.

Mods

Dyson Sidekick

  • Minor improvements to the Metal Resource Bar hovertext
  • Some tweaks to the models
  • Zenith Strongholds give a planetary speed booster
    • Thanks to trabbo for suggesting
  • Add a new Dyson Sidekick mechanic, Cuendillar Planetoids.
    • Every 20 minutes or so in game, a Cuendillar Planetoid will appear. This can be mined for Cuendillar.
    • Periodically the AI will attempt to drill a Planetoid (if any exist); the AI will then send transports back to their homeworld. If you kill the transport, you get Cuendillar. If the AI get a transport home, they get a powerful ship.
      • I felt like the Dyson Sidekick still needed a bit more to do, and that there wasn't enough cuendillar.

Civilian Industries

  • Increased the threat multiplier for enemies on Civilian homeworlds from 200% to 500%.
    • This should help with them sometimes not trying to defend, thinking its taken care of by your other static defenses.
      • Thanks to Dismiss for the report
  • Removed unused can_be_targeted_by_annoyed_non_human_units tag

Lost Humans

  • Added some defensive code to Lost Humans to account for strange world states, such as in the Tutorial.
    • Thanks to Badger for the report
  • Put in some code to prevent Rogues from interacting with stationary and/or weaponless hackables
    • Thanks to ussdefiant60 for the report

Hydral Federation

  • Major balance rework
    • Their Wormhole and Planet shutdown times have been increased across the board
    • They now produce their regular units far more often and commander units far more rarely
    • They now have two separate unit caps
      • An offensive one, used purely for units to attack with
      • A per-planet defensive force
        • Units in this force do not impact the offensive unit cap
      • Thanks to Dismiss for inspiring this rework
  • Updated a number of methods in Hydral Federation which were outdated due to various changes.
    • Thanks to Dismiss for the report
  • Removed unused can_be_targeted_by_annoyed_non_human_units tag

Exowar Overhaul

  • Balance changes to several units.
    • Balance feedback always welcomed.
  • Lots of Admiral AI tweaks and the last little feature of it is in.
    • Balance feedback always welcomed.
    • Thanks to Rocket Assisted Puffin and Dismiss for taking care of the necessary code.
  • A more complete changelog is available in the mod's folder. (...Steam\steamapps\common\AI War 2\XMLMods\ExowarVarietyLON)

Leere

  • Added The Leere mod
    • A number of strange otherworldly entities have been making their way into the galaxy from time to time, stirring up trouble.
    • Must be enabled in Game Options, disabled by default.

AI Lieutenants

  • Should be working again this update.
  • Conquest LTN re-enabled.

Reclaimers

  • Should be working again this update.

Points of Interest

  • Should be working again this update.
  • New phenomena Wormhole Attractor and Wormhole Repeller.
  • New capturable derelict Unstable Solar Siphon.
  • Three new AI Types, though not thoroughly tested yet.
    • Dire: Why bother with strikecraft and guardians, everything is DIRE.
    • CPA Master: Spends everything on CPAs, every 10 minutes.
    • Diehard: Lots of custom units that just refuse to die easily.

5.523 Customizable Ship Materials (Via Mods)

(Released November 7th, 2022)

  • Auto-place all of something in the build menu by right clicking or double clicking it!
    • This is intended as an alternative to the build automation settings. So you can still quickly build all station keepers for example, but decide when exactly and on which planets to do so.
  • The total number of mummies gained for a necromancer killing a Brutal Amalgam Guardian has been reduced from 7 to 4 by making the main, head and tail stages immune to necromancy. Getting 7 at once was simply too much.
    • Thanks to Lord Of Nothing for mentioning.
  • Lairs which spawn ships for a faction (as opposed to spawning a wave or exo) will now create squads according to standard stacking rules instead of huge monolithic stacks per type. It also now defaults to setting attacker-full behavior.
  • Fixes to "keep faction details secret" galaxy setting.
    • Wave notifications should no longer reveal the senders ai type.
    • List of factions in escape menu no longer reveals intensity for non-ai factions (ai already worked).
  • New tags for GameEntityTypeData "material_override_bundle" and "material_override_path". Point these to some other ship's prefab/visuals and its material will be used instead of your own.
  • Disable the Faction Coloured Rings Around Ships option, since it seems to be causing the stale rings problem
    • Reported by lots of people
  • Added shortcuts for opening galaxy map and focusing 'find unit' and 'find planet', ctrl+g and ctrl+shift+g.
  • V-Wing Marauder and Fusion Bomber Marauder given unique display names from their copy_from parent.
  • Added entity tag for skip_self_attrition_when_invulnerable.
  • Added entity tag for starts_at_hull and starts_at_shields.
  • Added entity tag blocks_enemy_fleet_construction which prevents refleeting.
  • Fix to the DPS calculation for weapons with alternate rates of fire.
  • Fix externally granted invulnerability to be computed earlier in the frame than self-attrition.
  • Fix entity spawn-on-death to work nicer for bags setup to create more than one ship (it handles stacking).
  • Encyclopedia Changes
    • Fix weapon filters to properly skip systems that are disabled.
    • Show the standard line cap if it exists.
    • Several new sort modes and some preexisting ones changed to consider the line cap size.
  • When playing ark empire, if an ally kills a command station, that no longer consumes your free first planet claim (this would happen every game with allied ZA).
  • Bugfix when starting with ark empire the first planet would randomly have different owners for the warp gate and command station, sometimes.
  • Fixed tracing menu to fit everything on screen. Made targeting and some others which were sharing the same id to each be separate.
  • New community quick-start "I Like Turtles".

Balance

  • Several adjustments to Quaint Venators
    • Range at which damage reduction applies against incoming damage increased from 5,500 to 8,080. Thus making more standard strikecraft apply full damage without having to get closer than usual.
    • Reload speed between shots nerfed from two seconds to three.
    • Half damage penalty applied to anything of less than 5tX mass. Bulwark stocks just doubled in value yet again.
  • Balance pass to the AI versions of the Decadent and Envious Elderlings occasionally used by the Jabberwock AI type as Dire Guardian alternatives.
    • Health halved. Now roughly 4m health each instead of 8m.
    • Damage increased, the 25% damage penalty when compared to the source material has been removed given the lowered health totals.
    • The AI version of the Decadent has specifically been told it cannot eat 5tX mass frigates anymore. However any frigates that dodge sabot by being 4tX are still fair game!
    • AI purchase costs increased. Waves that would previously see 12 of these will likely only see 9 or 10 instead.

Mods

Dyson Sidekick

  • Minor dyson tweaks; a few enemies are a bit stronger and spheres should regenerate health when destroyed. Planets mine a bit faster
  • When hovering the Metal portion of the resource bar, you now get a clearer explanation of what's going on; previously it was causing confusion.

Outguard Party

  • Necromancer Empire can now use Outguard! Beacons will be seeded and everything works as normal.
  • New Outguard Cloaked Logistical Outpost a permanent structure that is cloaked and speeds up friendly ships, placeable on any planet. Make a high-speed highway between broken up territories, for example.

AI Lieutenants

  • All LTNs now look unique through model rotation and material replacement.
    • They came out super cool looking using the DS Wraith material.
  • Warden LTN Firebase(s) now spawn ships with more reasonable stacking and sets them to Attacker-Full mode.

Points of Interest

  • New faction setting Temperament can be Balanced, Friendly, or Hostile.
    • Certain phenomena deemed 'hostile' are seeded less in Balanced and not at all in Friendly. Currently these are Flux and Null Field.
  • Common Prevalence now means 1/4 of planets have anomalies up from 1/5.
  • Balanced Temperament still has less hostile anomalies than before and some of those are capped at a max per galaxy.

5.522 Secret Factions

(Released October 29th, 2022)

Features

  • Galaxy setting "Secret Faction Details" which hides all information about other factions in the game, including any ai personality types and intensity levels. The information is visible once again if the game is won or lost.

Bugfixes

  • Fix a typo in the tesla torpedo description
    • Thanks to Apthorpe for reporting
  • When a unit is hit by an acid effect, it will no longer override an existing acid effect if the existing effect is stronger.
    • Reported by Johan
  • Fix a bug where Venators would appear in games even when disabled
    • Thanks to Lord of Nothing for reporting, and Dismiss for the bugfix
  • Reduce the metal cost for Orchid Repair Drones.
    • Nothing is done with the metal cost, but the high cost they previously had was distorting some stats
    • Thanks to Scourge for reporting
  • Fix a typo in some hacking text
    • Thanks to Scourge for reporting
  • Fix to new Nanocaust 'spawn planet' setting to properly link the planet in.
    • Thanks to Lampshade for reporting
  • Fix to new Nanocaust 'reinvade frequency' setting to be the proper amount of time instead of dramatically faster than expected.
  • Fix to Nanocaust repeatedly choosing the same planet for invasions, with reinvasions enabled.
  • Nanocaust invasion now indicated with a countdown timer like Dark Zenith.
  • Fix to galaxy map to shown capturables you know are on planets but without current vision of, when searching for unit by text.
  • Fix a bug where Border Aggression was not honouring its XML-defined available ships, but was instead using the ships from Waves for that AI type
    • This should also be a fun QoL improvement to Classic Fusion, which uses other ships for border aggression
    • Thanks to Puffin Emeritus for reporting

Balance

  • Adjustments to the Minelayer Frigate (medium hull)
    • Line size reduced from 9 to 6
    • Ship base hull increased from 100,000 to 130,000
    • Ship base shields increased from 50,000 to 65,000
    • Metal cost per ship raised from 120,000 to 150,000
    • Reload speed of mine deployment increased from four seconds to six
      • For how fast, durable via hardening, and highly damaging this ship is it was over performing. Relative damage output of the line brought more in line with Siege Frigates while still having the enhanced defenses and speed. This just makes it so one line of frigates isn't outperforming cruisers and some officers that actually have an AIP cost to acquire.
  • Quick fix to Stupefy Defenses having an oddly low number of mines compared to other battlestation layouts with mines. Paralysis Mines 24 -> 120
  • Several adjustments made to Frenzy Golem:
    • Explicit kite distance set so it prefers being in range to trigger the triple damage of its Annihilator Lance.
    • Vampirism rate of said weapon increased from 20% to 50%.
    • Weapon has a 10% bonus against targets of 5tX or more mass so it prefers shooting stuff with higher health totals.
  • Explicit kite distance set for Ambush Carrier
    • Will attempt to pull back just a bit further than the range its engine stun weapon has. Thus anything it can engine stun it will pull away from.
  • Adjusted SpireBattleship's Gravitic Railcannon from EssentiallyInfinite to ExtremelyHigh. The effect being that it should now try to get into closer range to fire its beams too.
  • Made the drones used by the Hive Golem and its enhanced hack variants unable to benefit from FRS bonuses. They are essentially part of the golem's kit and thus should not be receiving a boost.
  • Renamed the "Wormhole Acceleration" buff (speed modifier for 5 seconds after entering a planet or spawning) to "Rapid Deployment".
    • Thanks to CRCGamer for suggesting.

Mods

More System Defenders v1.35

  • Cruise Missile Battery metal and energy costs, hull and shield health, and damage output increased.
    • Number of said turrets deployable at logistic systems decreased from five to three.
    • Number of Shockwave Missiles fired per salvo is now two instead of one.
    • Base damage of Nova Missiles doubled.

Dyson Sidekick

  • Clicking on the Metal section of the resource bar now reminds a player how to build Science or Metal generators if appropriate
    • From a bug report by KDR_11k on steam
  • Dyson Sidekick can on longer claim structures they can't use, like metal generators
    • From a bug report by KDR_11k on steam
  • It feels like Cuendillar is a bit scarce for the Sidekick, so there will be more Cuendillar available in the game. In particular, just getting the Cuendillar to build some Dyson Spheres is harder than I'd like.
    • The Dyson Sidekick will get more cuendillar from its usual targets (Cuendillar Fortresses, Asteroids, etc).
    • Unlocking higher tier Districts is cheaper. Strongholds are cheaper.
    • This is a significant buff to the player
  • Simplify the ship-granting structure for the Dyson Sidekick
    • Now all District 1 structures grant 10 ships
    • All District 2 structures grant 5 ships
    • All District 3 structures grant 2 ships
      • Previously the numbers were all over the place, where some of the Races would get a lot more ships than others, which was causing some balance issues. I'd like to keep things simple so players know how many ships they'll get in general
  • Reaper Chrysalises prefer to spawn on AI planets, since then the AI gets to mine them too
  • Fix a bug with spire flagships being a bit too large
    • Thanks to Eric Kitchen on Discord for reporting
  • Some minor improvements to auto-defend mode intelligence

Points of Interest

  • Rocketeer is now categorized as Brutal difficulty.
  • Fairy Grotto/Ward rebalanced.
    • Each grotto now has a max of 5 instead of 10 fairies in play.
    • Wards now change parents less frequently and also now prefer higher strength parents.
    • Wards will not be spawned anymore while a planet is contested.
    • Wards now spawn specifically for the faction with highest strength at a planet.

Reclaimers

  • Skipping seeding of hackables for necromancer, or other player types that don't use ARS hacks.
  • Warp Gates are now indestructible and unscrappable so place your two anywhere but choose wisely.
  • Metal Storage Battery increased to 1mil at mark1 + 300k per mark.
  • Fixed periodic issue with not being able to build batteries.

AI Lieutenants

  • New foe: the Warden Lieutenant
    • Wanders choke points building Warden Firebase(s) which act like lairs but pump out special warden guardians for the general Warden Fleet.
    • Will join the relentless ai to attack the players planets based on an aggro countdown when within a hop of the LTN.
    • Joins the CPA faction during CPA(s) like all lieutenants.
    • Upon death the whole Warden Fleet becomes stunned for two minutes.

5.521 Mod And Tooltip Polish

(Released October 19th, 2022)

  • Fixed an issue with Beacons not assigning the configuration options prior to the first call to RefreshSettingsFromConfiguration. It is unknown if this had an impact on any Beacon-Factions in particular.
  • Two new settings for Nanocaust:
    • Spawn Planet gives the Nanocaust their own homeworld planet when they spawn a Hive, which is linked into the galaxy.
    • Reinvade Frequency can be set to Never, ~30 min, or ~1hr. If the Hive is killed, the Nanocaust can reinvade!
  • A ton of cleanup to the Prototype Tooltips, they should now be a significant improvement over the default tooltips so please try them out. These changes may be made the default in the future.

Mods

Dyson Sidekick

  • Modify some Neinzul and Spire defensive structures
    • This will break Dyson Sidekick save games that have Spire or Neinzul defensive structures
  • The Necromancer now gets some resources from killing Dyson Sidekick objectives:
    • AI Cuendillar Drill
    • AI Cuendillar Transports
    • Mobile and Immobile Ravagers
      • This is to help motivate Necromancer players to help the Dyson Sidekick in MP games
  • Chrysalises are quicker to mine, but spawn a bit more frequently.
  • Planets take longer to overload
  • A "Random" starting stronghold can never be Templar, since that hurts economically
  • Remove the excessive metal costs from the Strongholds
    • Thanks to Pyretta for the bug report
  • Remove the modular points from strongholds.
    • Thanks to Dismiss for the suggestion
  • Improve the description of Planetary Drills to clarify the requirements for building them.
    • Thanks to Pyretta for the bug report
  • Improve some journal entries.
  • You can scrap Planetary Overloaders
  • Adjust trelleborg cost
  • Hopefully fix a bug with the AI Cuendillar Drills
  • Adjust some metal costs for tier one units for Dyson Sidekick, for better standardization
    • Suggested by LordNSR
  • Adjust several flagship sizes
    • Thanks to LordNSR and KDR_11k for suggesting
  • Adjust some spire defensive building names
    • Thanks to LordNSR for pointing this out

Points of Interest

  • Flux and Null Field attack range reduced. Hopefully this makes them less terrible on MDC planets.
  • Haunted Shipyard is no longer a capturable. Instead it spawns the appropriate type of zombie depending on the planet's controlling faction. It also can now be destroyed permanently with a Sabotage hack.
  • Long Range Sensor Array is no longer a capturable. Instead you gain its benefit with a Reprogram hack, and do not need to own the planet.
  • Tooltips for POI should now look a ton cleaner if you use the prototype tooltips, which is recommended!

Reclaimers

  • New hackable for BattleStations which may appear in your games, giving you a line of two Alien Mass Drivers.

5.520 Reaper Chrysalis

(Released October 15th, 2022)

Balance

  • Regen Golem adjusted to stop reviving units once it hits 20% health. It has a vampirism weapon, this just gives it a chance to maybe recover and not just commit suicide.
  • Retribution Golem adjusted to have a higher counter-attack value on death. Just blindly suiciding it has some costs you may need to consider now.
  • Necromancer Flagships now wander about from decollision a lot less. They previously had a very low collision priority but now match values used for human transport flagships.

Dyson Sidekick

  • Periodic Reaper Chrysalises spawn in the galaxy, roughly once per hour. These cannot take damage directly, and contain lots of Cuendillar.
    • The Chrysalis will hatch about 20 minutes after it appears. When this happens a bunch of Reaper ships will emerge.
    • You can use a Minor Drill (the same drill you use on Asteroids) to extract Cuendillar; this works basically like an Asteroid drilling; reaper ships spawn to attack you, transports fly back to a Dyson Sphere carrying cuendillar, etc...
    • When a Chrysalis spawns, if the AI owns the planet then an AI Cuendillar Drill will appear as well. This will mine the Chrysalis for the AI
    • The AI will use Transports to fly Cuendillar back to their homeworlds. Killing these transports will allow you to steal its Cuendillar for the Dyson,
      • Even if you can't take out the drill, sniping the Transports is a good idea.
      • If the AI gets Cuendillar back to its homeworld then it will generate some powerful ships to fight you.
  • The goal of this is to give the Dyson Sidekick more fun things to do/systems to interact with.
  • The last major complaint I had with the Dyson Sidekick was that they needed more interesting things to do, and more sources of Cuendillar. This should serve as both.

Points of Interest

  • Rocketeer AI Type balance changes and fixes. Has unique Dire GPs now.
  • Haunted Shipyard is no longer capturable, it just spawns zombies based on the planet owner.
  • Assigned custom colors to the POIs that didn't have one yet.
  • New natural phenomenon, Singularity Cluster, which has several permanent bubble areas blocking movement.

AI Lieutenants

  • Oops was missing a file in previous version, should now be usable.

5.519 Ethereal Tachyons

(Released October 12th, 2022)

Bugfixes

  • Fix a bug with the AIP history not showing recent events
    • Thanks to Vrishnak92™ and Dismiss for reporting
  • Fix a bug where the 'Defeat Dark Zenith' achievements weren't firing
    • Thanks to Risuga for reporting and providing an excellent save game to reproduce the problem
    • Note that these achievements only trigger for Dark Alliance DZ; minor faction teams won't work
  • Attractive Matrix Fortress now shows on galaxy map, like eyes/etc do.
  • Fix a bug where scrapping the remains of a human command station was still generating a shark b exo wave.
  • Fix a bug where the Claim Spire Cruiser Achievement was not firing
    • Thanks to Echthelon for holding my paws to the fire on this one ;-)
  • Fix a bug where recently bailed out flagships which are also paralyzed (like from a bailout) would not unload their units or cancel any active hacks
    • Thanks to Lord of Nothing for reporting
  • Fixed an issue where ships bailing out would sometimes leave their contents behind, and sometimes carry them to safety. Now when crippled ships directly unload both fleet ships and drones, always leaving their contents behind.
    • This also makes unloading due to being crippled react directly instead of only being done when the next second ticks over, and now also affects drones.
    • Thanks to CRCGamer for reporting.
  • Fix a bug where minefields could permanently lose cloaking if the planet is Tachyon Blasted. When an entity is only remains, it loses the Tachyon Blast decloaking debuff.

Balance

  • Nerf to the Ethereal Cruiser's upper mass limit for paralysis.
    • Ion Disintegrator paralysis limit reduced from anything under 13tX to anything under 10tX. This still leaves the majority of things in game as valid but removes the option to hard shutdown extremely high end targets like the AI Super Fortress, or AI Spire Dragons, and AI Golems.
  • Fixes applied to Vanguard Hydras and their sub-unit heads
    • Vanguard Hydra acid reduced to match regular Vanguard application value. 20 + 5 per mark instead of 20 + 7 per mark.
    • Vanguard Hydra Head acid value has been removed! This actually means their shots benefit from acid being applied to targets for higher damage.
    • Vanguard Hydra Head base damage reduced from 220 to 50. The heads actually have a reload of 2 seconds instead of the default of 8 seconds on the primary unit. So even though they only fire one shot instead of 8 per reload the damage being dealt was considerably higher.
      • With these changes each head very slightly out DPSes an intact Vanguard Hydra as long as there is acid applied for them to gain additional damage from shooting at.
  • Rescue Spore dropped by the Orchid Ark will no longer load for transport if the Ark happen to fly close enough.
    • This is really a bug fix since there is no benefit to them ever loading and can in fact not ever unload.
    • When sitting in a system with enemies in load for transport mode the drone gun would continue firing then instantly load the spore building up infinite fake strength in your fleet that you cannot ever free.

Mods

Dyson Sidekick

  • Cuendillar Asteroids are worth a bit more cuendillar, and district upgrades are a bit cheaper

Points of Interest

  • New phenomena: Fairy Grotto, Null Field, and Flux.
    • Fairy Grotto hosts native life that joins with visitors to grant them shields.
    • Null Field orbits the planet and destroys shields of anything nearby it.
    • Flux orbits the planet and randomly teleports anything nearby it.
  • New settings allows you to control how prevalent features are in the galaxy.
  • Rocketeer AI type is now tuned and ready to be played! Lots of custom defenses and a ships, everything with rockets.
  • Fixed a rocketeer ship sometimes appearing as a wormhole projector defender.

Reclaimers

  • Constructor will now prefer planets with less recent constructor presence when wandering. This should help it cover more area on maps like solar snake.
  • Settings now allow you to adjust the time interval deep space outposts move, the max number of scrap boxes, and the number of research outposts.
  • Implemented a 'Jump Transport' which can relocate itself to a planet up to 2 hops away via a 5 HaP hack. There is one jump transport seeded somewhere in the galaxy.
  • Scrapyard now has an additional hack 'Reclaim Transport for Science' worth 750 science.
  • New hackable alien ship line 'Anti-Drone Sniper Frigate' was previously added never appeared as a hackable.

Generator

  • New settings for Rings lets you choose the shape size and/or invert them.

5.518 Conveniences And Quickstarts

(Released October 1st, 2022)

  • Removed some frustration when trying to build structures or placing outguard. Now if the location overlaps something, it just places it as close as possible, rather than preventing it. This means its not needed to move your ships or engineers to build turrets, for example, or placing a lot of mines on top of a wormhole or super terminal is just clicking a bunch on top of it.
  • Fortress Baron AI no longer builds 'Zenith Trader Fortress' without presence of trader.
  • Fixed incorrect description in the Orbital version of several defensive structures.
  • New entity tag 'explicit_kite_distance'.
  • Lost Spire Frigate with the sniper railgun will now kite to be in range of its beam as well.

Spire Enhancements

  • When you would build a Spire City, looking at the build menu tooltip in Full Detail mode will now tell you exactly how many planets you own.
    • Badger struggles to remember how many how many more planets he needs to capture for his next Spire City.
  • The Spire Empire can now specify the strength of the AI's response to your spire forces
    • For the Fallen Spire, you can change the Intensity of the AI's response to your spire forces. The Spire Empire has been just using "the strength of the strongest AI".
    • This was causing problems for some weak players (like Badger) who can face a difficulty 7 AI, but not a Fallen Spire Instensity on 7)

Quickstarts

  • Add several new Quickstarts to the game under Community; these mix concepts from all the expansions
    • The Elder Badger pits your Spire Empire against two low intensity but brutal AIs. The AI has several powerful neinzul allies
    • The Utmost Badger has a human empire vs two Zenith themed AIs and a major Dark Zenith invasion. The Dark Zenith have some neinzul allies to help them defend.
    • The Spiralling Badger features two challenging level 7 AIs and a Splintering Spire war, with a powerful alliance of Scourge, Marauders and Elderlings waiting in the wings to take advantage of any weaknesses.
    • The Invading Badger has two weak AIs and a extremely powerful minor faction coalition. Can you face down the Nanocaust, Scourge, Dark Zenith, Elderlings (and other friends) all at once?

Balance

  • Damage shift adjustment for Polarizers. Currently they are a bit too good versus anything with any appreciable amount of armor. So they are getting a major damage cut with an added multiplier against larger ships. Still good for pulling down larger ships, but no longer quite as reliable against regular strikecraft.
    • Base damage reduced from 125 to 35
    • Added new 3x multiplier against targets with 5tx or more mass
  • Also carried over Polarizer weapon changes to both the regular and royal guardian versions the AI can use. These have had their base damage reduced by 2/3 but have gained the multiplier versus larger ships.
    • Polarizer Guardian base damage 450 -> 150, added x3 multiplier versus 5tX or higher
    • Royal Polarizer Guardian base damage 900 -> 300, same added multiplier against 5tX or higher
  • Adjusted Dire Lightning Guardian and Royal version
    • Primary damage lowered, but secondary target damage normalized to match.
      • Base damage 22,000 -> 16,000
      • Royal base damage 33,000 -> 24,000
    • Reload time reduced from 7 to 3 seconds.
    • Anti-bubble shield bonus moved from primary weapon to an added sub-weapon.
      • Sub-weapon does 10x to bubble shields and heals for twice the amount of damage done.
  • AI Spire ships typically employed by Spire Hammer AI have received a variety of adjustments:
    • Frigates lost 10 armor (180 -> 170), and have 1 less engine power (22 -> 21)
    • Cruisers gained 10 armor (180 -> 190), and now possess tractor beams
    • Battleships gained 30 armor (180 -> 210), and have a gravity core
    • Dreadnoughts gained 65 armor (180 -> 245)
      • Overall frigates are slightly more controllable. Cruisers and battleships now have a secondary system since they don't have another weapon system. And both Battleships and Dreadnought are more vulnerable to Polarizers by being valid for an additional multiplier step or two.
  • Small nerf to Jammer Mines since they have a significantly higher armor range they can jam compared to the turrets. Base jam time reduced from 10s to 5s per attack, and maximum added reload time is now 15s instead of 30s. An entire field will still very quickly defang attackers.
  • Increased the odds of improved strikecraft variants appearing within ARS picks. They are still most likely to be found if at all within randomly generated fleets you can capture. Now they are just five times rarer than standard ARS picks instead of ten times rarer.
  • Corrected oversight where MLRS guardpost didn't have the updated damage modifiers other MLRS entities have.

Mods

Generator

  • GridEx generator has a new option 'Swirl' which does some fake gravity simulation to mix things up.
  • Rings generator has a new option 'Invert' which changes some or all of the shape outlines into a point with spokes instead.
  • Rings generator is a bit slower but now does a better job maintaining an expected density.
  • Scatter generator's 'Outline' option is now performed at the end, so it does not influence other types of planet linkage.

Dyson Sidekick

  • Move the District Upgrade Techs to the top of the tech menu to correctly reflect their importance for the player.
  • Fix a bug with building the Zenith Dyson Sphere
  • Players had had some confusion with what it would take to build the dyson sphere. This is now explained in a number of additional places in the game
    • The Income Screen (clicking the metal portion of the resource bar) now clearly spells out what's needed to build a Dyson Sphere
    • The Dyson Sphere is always shown as a buildable for the Dyson Sidekick. Trying to build it before you've unlocked the Districts will give you some UI feedback about needing more Districts, and a message to click on the Income Screen.
  • Some journal and setting text improvements
  • Modify some dyson sidekick icons so there's less clash with the fallen spire

5.517 Achievement Unlocked

(Released September 26th, 2022)

  • Add a Tip of the Day mentioning that ships caught in a tractor beam can always hit the source of the tractor, even if it would normally be out of range
    • Thanks to Apthorpe for suggesting
  • Fix a bug where necromancer phylacteries weren't correctly figuring out that they could die
    • This will break the 'Hacking Drone Operator' outguard from one of the mods
    • Thanks to several people, including AI War 2 Bug Reporter Account and habakuk, for reporting

Achievements

  • Fix a bug where the achievement for hacking a Tech Vault wasn't being triggered
    • Thanks to donblas for the report
  • Fix a bug where the achievements for winning the game with the Zenith Trader, Devourer Golem or Chromatic Horror were not triggering
    • Thanks to Master Buttermilk for the ticket
  • Fix a number of bugged achievements for the Fallen Spire
    • Note that for some of these achievements, like "Get a Spire Dreadnaught", the achievement triggers when the ship is created, so just loading an endgame save will not give them to you
    • Thanks to a bunch of people for reporting, but especially Risuga on discord for some save games to reproduce problems

Balance

  • More balance adjustments to wards:
    • Scythe Ward reload increased from 1 second to 2 seconds.
    • Shield Ward base hull increased from 25,000 to 75,000.
      • This with strike scaling actually means a Mark 7 shield ward will have 600k hull.
  • Adjustments to Acid debuff values on entities:
    • Acid Turret adjusted from 50 base and +5 per mark to 32 base and +8 per mark. Efficiency is no longer as weighted towards low marks, but damage amplification cap stays at 80.
    • Corruption Mines adjusted from 20 base and +10 per mark to 18 base and +7 per mark. Max acid applied is now 60 instead of 80. In the same time a line of Acid Turrets can apply to 150 targets the line of mines could have coated over 600 and applied parasitic at the same time while doing more damage to each target hit. Thus it will be made less potent at damage amplification than the Acid Turret version.

Mods

Dyson Sidekick

  • Major nerfs to the enemy response to the Dyson Sphere alternate win condition
    • Thanks to Keith for reporting

Points of Interest

  • New AI Type Rocketeer with guard posts, guardians, eyes, literally everything shooting rockets.
  • Copycat AI type fixed which was prevent it from copying player ships.
  • Dire Assassin Guardian now has the intended stats instead of being better than golems.

Achievement Restorer

  • A new mod that restores access to Achievements that are no longer accessible from the base game
    • Currently this only gives access to the "Reroll ARS" hack achievement, but if people report other such achievements I can take a look

Generator

  • New Grav-Well setting 'Reasonable Small' which is the same range as 'Reasonable Random' except more small planets and fewer at the large end.

5.516 Hotfix

(Released September 20th, 2022)

  • Fix incorrect faction colors appearing in a ships tooltips, if experimental tooltips were enabled.
  • Fix a bug where opening the UI for hacking Rifts after the first would immediately cause exceptions
    • Thanks to MadArtillery on steam for reporting

Dyson Sidekick

  • Ravagers can no longer spawn on unexplored planets

5.515 Hotfix

(Released September 18th, 2022)

  • The Necromancer Auto-Defend option is now in the base game XML
    • This fixes a bug where the Necromancer ships weren't unloading/loading properly
  • The Steam and GOG APIs have been reverted, as there were new crashing issues on linux that were probably related to that.

Balance

  • Even from starting template values battlestations in game get double mines. Kinectic Buffer count cut in half for Reversal Defenses since they actually don't die on use like regular mines and are closer to turrets in action.

Dyson Sidekick

  • Some dyson sidekick balance adjustments to weaken Reaper response.
  • The Dyson Sidekick now is correctly charged cuendillar for its upgrades.
  • Remove the Cuendillar generator since it seems to be OP.
  • Fix some bugs with Reaper movement.
  • Improve the Ravager Notification to be more descriptive

5.514 Refinements

(Released September 17th, 2022)

  • Slight tweak to how "Hunt Elderling" intel objectives appear; you need actual vision of the Elderlings, not just "are they on an explored planet"
    • Thanks to R C for reporting
  • Bumped Rorqual's collision priority to be higher instead of tied with transport ships. So now when colliding, the transport will be the one to move.
  • New GameEntityTypeData tags: is_not_combatant_despite_weapons, override_faction_center_color, override_faction_trim_color
  • New weapon system damage modifier 'based_on' options: TargetIsDrone, MyCurrentHullPercentage, and MyCurrentPersonalShieldPercentage
  • New Encyclopedia Sort By: Metal
  • Unity version was upgraded from 2020.3.32 to 2020.3.24.
    • Additionally, the Steam and GOG APIs were both updated.

MP Fixes

  • MP clients no longer will report the wrong stats for forcefield guard posts
    • Thanks to MrNo's MP group for providing a save that made it easy to reproduce
  • Clicking on the Science element of the resource bar will now list the planets producing science from all player factions
    • Requested by Daniexpert
  • Clicking on the AIP element of the resource bar will now show the AIP history properly on MP clients. This fix involves what I consider to be an excessive amount of caching, but I decided the heavy hammer was good for this obnoxious bug
    • This undoes the previous bandaid fix of disabling it outright on the clients

Game Balance

  • Put the ceasefire block property on Dire Guardposts of the AI. Cheesing the home turf of the AI(s) with the property from a couple outguards or the Zenith Trader is a bit beyond what the AI is willing to tolerate anymore.
  • Infest can now work on drone targets.

DLC 2

  • Added two additional starting battlestation layouts to DLC2. These focus on allowing early game access to some of the mine types added in Zenith Onslaught.
    • Reversal Defenses includes all of the following:
      • Revealer Battlestation
      • Ambush and Concussion Turrets
      • Corrosion, Kinetic Buffer, and Paralysis minefields
    • Disruption Defenses includes all of the following:
      • Gravitic Battlestation
      • Pike and Beam Turrets
      • Implosion, Jammer, and regular Minefields
  • Went through and adjusted Frenzy Golem to simply use one beam instead of six intersecting beams. Maximum damage output is still exactly what it was. Just the weird way beam array attacks get lowballed reported damage no longer applies.
    • Normal HA version of golem adjusted to follow the Expert version in having no shield.
      • Expert version durability hack slightly improved.
    • Both versions adjusted to have 20% vamp on the beam attack instead of 10%.
  • Adjusted Darker Mirror to break apart into several sub entities on death. Main unit is now immune to zombification, but the resulting temporary entities are not.
    • This is effectively to stop zombie pong where Darker Mirrors kept changing sides eating almost all attacks until they hit the health threshold where a unit cannot be zombified yet again.
    • Shattered Mirrors are effectively a weaker Dark Mirror that lives for a maximum of 20 seconds, only reflects 50% of damage taken, and at 30% or less remaining health looks to explode in one final attack in place of having a regular weapon.

Mods

Dyson Sidekick

  • Make Dyson Sidekick techs a bit more expensive
  • Make some dyson sidekick flagships cheaper to repair
  • Improve auto-defend mode for sphere-flagships.
  • Dyson Sidekick now can build Repair Centers
  • Each of the four races now has some unique buildings that will entice players to build that race. 3 of the races grant access to critical resources, the 4th race has powerful defensive structures.
    • Spire: Builds Science Generator (your primary source of science)
    • Neinzul: Builds Metal Generators (a major source of metal)
    • Zenith: Allows you to build Planetary Drills (a major source of Cuendillar)
    • Templar: Gets a bunch of extra defenses, and the Strongholds grant bonus attack power to ships on the planet.
      • Note: Though there is a Dyson Empire, this faction is intended to be played as a Sidekick where it can rely on its allies for help defending. Or it needs to just lean into Spheres for their defense.
  • Give the Necromancer an Auto-Defend mode similar to the Dyson Sidekick. This would allow any sidekick to be used as a Vassal alongside another human player.
    • This is currently part of the Dyson Sidekick mod for testing, but could be moved to the base game based on feedback

Points of Interest

  • Assassin AI Type now uses their special Dire Guardians, oops.
  • New Natural Phenomena 'Fungal Growth'. These planets feature native fungus that sprouts periodically, and when ships die. Avoid these or make us of them but anyone nearby gets weapon jammed!
  • New Derelict 'Haunted Shipyard' spawns friendly zombies for the its owner. Capture it before the galaxy fills up with hostile zombies!
  • New Derelict 'Phoenix Dreadnought' starts as part of the hunter fleet but upon death it is reborn under the killing factions control!

Reclaimers

  • New Alien tech ship 'Anti-Drone Sniper Frigate'. This sniper deals bonus damage to drones as well as spawning dangerous makeshift drones for each killing blow. Thanks to Lampshade for the inspiration.

5.513 Necromancy And Reclamation

(Released September 12th, 2022)

  • Fix a few bugs with the necromancer power level calculations
    • Thanks to Dismiss for reporting
  • MP Clients can no longer see AIP history by clicking on the AIP button
    • There's a bug that causes nasty errors here that I haven't had a chance to fix yet. I suspect the problem is the client is getting a refreshed copy of the history from the host before it's done looking at the old list, and it's causing the game to think the history is infinitely long.

Mods

Dyson Sidekick

  • Dyson Sidekick: You start with a small sphere. Reaper Ravagers now have a notification

DpsHud

  • Now also tracks metal losses per line! Toggle between showing damage versus metal losses with the Tilde key (to left of #1). Note this keybinding only works if DpsHud mod was enabled on startup of the app.

Outguard Party

  • Reclassified 'Mobile Super Factory' as Utility. Can now be deployed to any planet.

Reclaimers

  • Number of Deep Space Outposts at maximum is now a faction setting (0-5, use 0 to disable). DS Outpost spawning no longer always spawns up to the max (3 is default) even if it causes overlaps. Instead if no good candidate exists it will despawn an outpost instead of creating one so the number of outposts can fluctuate up and down in interesting ways.
  • Near Space Outposts now mark up on their own without needing constructor there. NS Outposts no longer show % progress to mark up above 100% when at maximum mark level.
  • For each three NS Outposts one additional constructor will be produced.
  • Research ship now halts movement (clears orders) when being hacked.
  • Research ship less likely to get trapped, it is valid for it to move onto planets with remaining science now, it just prefers others.
  • Its too easy to end up ordering batteries to move to a different planet when they are drag selectable in galaxy view, so not showing in galaxy view.

Points of Interest

  • Assassin AI now has special Dire ship group including two unique ones: Dire Corrosive Guardian and Dire Assassin Guardian.

5.512 Dyson Reapers

(Released September 8th, 2022)

  • The Necromancer now can trigger Exogalactic War Units in HA
    • A source of mummies? Or a thorn in your side?

Mods

Dyson Sidekick

All Save Games with the Dyson Sidekick are broken in this patch

  • The last couple patches have seen a very significant rework in the Dyson Sidekick. They now have more interesting choice, both in their power level and in terms of things to do on the map. In general, the Dyson Sidekick really just is hunting Cuendillar from all over the map, and then has a lot of interesting ways to spend it.
  • The Dyson Sidekick has more "Business" to do on the map.
    • The Dyson Sidekick will find Cuendillar Asteroids in the galaxy. These can be drilled with Asteroid Drills, triggering a (small) Reaper response. This will teach players the mechanics of drilling before they want to drill a whole planet
    • Killing Ravagers grants Cuendillar
    • The AI now gets Cuendillar Fortresses that grant Cuendillar on death
  • The Dyson Sidekick can now build Dyson Spheres (Spire and Zenith) for a lot of Cuendillar.
    • These are intended to be similar to a Stronghold, in that you might want to build a couple and deciding what to build where a choice/skill expression
    • A Sphere grants you a bonus flagship. You don't get to control it; it will just be an auto-defense for you (and it's pretty smart I hope)
    • Upgrading Sphere Tech (costs Cuendillar) upgrades the mark level of your Sphere Flagships.
    • You can't have a Stronghold or a Sphere on the same planet
    • When you upgrade Sphere Tech to mark 7 and have a Sphere, it triggers the endgame battle. If you survive then the Dyson Spheres begins making a horde of golems and crush your enemies (similar to the imperial spire).
  • The Dyson Sidekick now unlocks higher Districts and flagships with a Tech Upgrade (which costs cuendillar), not with building structures
  • You can't build Strongholds or Spheres on Ravaged planets (though other player-types can build things there). The Dyson Sidekick is making choices as to which planets to Ravage, build a Stronghold or build a Sphere on
  • Dyson Sidekick drills no longer cost cuendillar
  • Update the dyson sidekick journals to reflect the new gameplay
  • Hovering over a flagship while in auto-defend mode will remind you that you are in auto-defend mode.
  • Drills no longer are factories
  • Add a 'Drill' planetary tag. Include how much cuendillar has been mined from a planet in the Drilling notification
  • The Reapers assault notification should not longer appear at the beginning of the game.
  • Ravager Assault notifications now are bright red when < 30 seconds out to make them harder to miss

Reclaimers

  • Fixed issue with infrastructure batteries getting reassigned out of loose fleet on load, causing them to not finish building in non-player territory.
  • Corrosive Warhead now marks up with tech as intended (only accessible via Reclaimers starting fleet).

Points of Interest

  • Copycat AI no longer copies orbitals or station keepers.
  • Assassin AI reclassified as Brutal (its hunter gets out of hand, plus you know... the crazy units that bypass bubble shields...)
  • Long range sensor array vision range increased from 2 to 3.

5.511 Modtopia

(Released September 3rd, 2022)

Misc

  • Fixed Shark B not triggering.
  • Improvements to fleet group keybindings!
    • Now handled on press instead of release, making them feel much more responsive.
    • Added control "Remove Fleet Group" bound to ctrl + backspace by default which un-binds selected fleets.
    • Added control "Add To Fleet Group" bound to ctrl + shift + number by default which adds selected fleets to the existing fleet group.
    • Added setting to disable auto-keybinding of fleets in Personal > Automation.
  • Reconquest waves with no required wave-to-defense ratio no longer fail to launch sometimes, and also will always spend the full budget. This specific combination was not used by the game but can now be by mods.
  • Drones marked with 'can_be_stacked_even_if_would_not_normally' now work correctly. That is they will be deployed in stacks according to galaxy settings and when recalled keep the correct numbers.
  • Wait for Stragglers no longer waits for unloadable ships, whether that is because they are tagged, paralyzed, tractored, etc.
  • Some defensive code for clearing faction rings

UI Tweaks

  • Add a few more tags you can put on a planet via the Edit window ("Target" and "Capture")
  • The game lobby now will shrink the text for player faction names (ie 'Spire Infused Empire: PlayerName') to make them less likely to wrap onto the next line.

Game Balance

  • Scourge Warriors now become Skeletons, not wights
    • Thanks to Corpserule for pointing out
  • Adjustments to drone stats and counts for player Combat Factories, AI Carrier Guardians, AI Swarmer Carrier Guardians, and AI Astrotrains.
    • In general all costs, health totals, and damage output per drone is tripled. But the maximum capacities are roughly a third of previous. Overall at similar parities of strength the performance is the same. But when massively out-powered you get less wasted shots against freely spawned chaff.
  • Corrected issue where AIP cost for acquiring expert version of Black Widow golem cost was half the standard price everything else has.
  • Adjusted AI Raijin Golem to use the same split shot that the human version has. That is three individual smaller chain lightning blasts per reload instead of one big one.
    • Be warned that this makes them able to concentrate more firepower on fewer targets at times.
  • Made adjustments to the ship allotments for the found in the wild FrigatesWithSupport fleet entry. The strikecraft lines that come with this fleet are no longer only 50-60% normal size, but at the same time most frigates in the fleet either don't get a bonus or only a small bonus to line size compared to other options.
    • Most close range brawlers and support frigate options still get a +1 ship over standard line size when found within this fleet. However the snipers and long range artillery pretty much are a standard line size only given how much impact on the game they can have.
    • As this is an adjustment to the values used during map generation it will only have an impact on new games made after this patch. Any previous games will retain their previous values.
  • Adjustments have been made to several corrosive damage using units.
    • Plague Host and Viral Swarmer have a build point system to make additional copies, however when their damage is fully corrosive it wouldn't attribute to them and thus they would not gain any build points. Adjusted to have 50/50 split damage types so they actually do multiply.
    • Lord of Nothing noted that the Royal version of the Corrosive Guardian was dramatically different stat wise to the regular version. It had avoided getting nerfed when the regular version did. Went ahead and adjusted both units.
      • Regular Corrosive Guardian standard base damage increased from 20 to 50. Corrosive per mark gain reduced from 150 to 125.
      • Royal Corrosive Guardian standard base damage reduced from 500 to 100. Corrosive base adjusted to 200 from the 100 base the regular version has. Corrosive gain per mark adjusted to 250.
      • Royal Corrosive Guardian death explosion damage reduced from 3000 to 2000 base. Maximum targets hit reduced from 20 to 15.

MP Fixes

  • When a planet is explored, fast blast it's to clients to make sure they get the most up to date information.
    • This should hopefully fix a reported bug of a freshly explored planet appearing to be neutral instead of owned by the AI. Untested.
    • Thanks to daniexpert for reporting
  • When the ZA changes war footing, fast blast its faction data to the clients immediately to make sure their Notifications are up to date.
    • If a client didn't get this notification for "a while" then they could be very confused why there's a ton of enemies suddenly showing up
  • When a player unlocks a tech, immediately fast-blast that faction to all clients
    • This fixes a problem noted by Daniexpert, where sometimes it would take a while for clients to observe tech upgrades

Mods

Exowar Overhaul (new)

  • New mod by Lord of Nothing, Exowar Overhaul. This mod increases the variety of extragalactic war units, and aims to restore the original challenge level of high tier (4+5) extragalactic war units.
    • The author would also like to thank: CRCGamer, Chris himself, Dismiss, RocketAssistedPuffin, Tom, zeusalmighty and Zironic for telling them how to get some bits working and how to fix some of the bugs.
    • (I would also love to hear any feedback you have - the Arcen discord is probably the best place to find me, but I do try and check the steam forums from time to time as well.)

Dyson Sidekick

All save games with the dyson sidekick are broken in this patch

  • The Zenith Flagship is no longer tiny
  • Some nerfs to the mammoth
  • Some buffs to the Templar
  • The Dyson Sidekick now displays resource income information when the player clicks on the Metal section of the resource bar.
  • The Dyson Sidekick now gets most of its Cuendillar by Drilling planets; the cuendillar is flown back to your HQ by transports
  • There's now a notification for incoming ravager assaults

Reclaimers

  • New Exploration Outposts spawn and despawn over time and are linked together by artificial wormhole.
  • Fixed infrastructure being unbuildable, should always now be part of the loose fleet.
  • Fixed wandering constructor getting stuck if galaxy had variable grav well sizes.
  • Put a cap on max scrap boxes to have spawned to 10.
  • Improved performance by having their drones stack.
  • Gave near space outposts a value for metal cost.
  • Alien Minelayer Hanger should no longer appear in OSD hacks.
  • Alien Minelayer Drone should no longer appear in ARS hacks.
  • Reclaim science hack now has a warning about the response.
  • Reclaimed Dyson Bastion no longer counts as a cruiser which makes it less annoying and will not appear in cruiser hacks.

Outguard Party

  • Apocalypse Warhead deals no damage to structures and has more cloaking points.

Generator

  • New Map Type Scatter which features a quite large number of settings for very diverse star fields.
  • Rings Map Type now deals better with planets overlapping links (they will be linked into the chain). Also now puts in some triangle and square shapes.

Points of Interest (new)

  • Three new AI Types to interest and challenge you!
    • Alarmist: Has Alarm Posts all over, watch your step.
    • Assassin: Spends almost everything on the hunter fleet. Has specialized raider ships. Focuses on your fleet centerpieces.
    • Copycat: Adds copies of your ships to its fleets. Sends reconquest waves when you build stations. Builds instigators when AIP is reduced. Builds the same turrets as you.
  • New map features for your interest! To enable these, add Points of Interest as a Faction to your game. Special thanks to Puffin for creating these in Classic Fusion and suggesting I steal them.
    • Capturable Derelicts
      • Long Range Sensor Array: This facility provides complete visibility on all planets up to two hops out.
      • Interstellar Shipyard: This facility provides extremely rapid fleet construction and repair.
    • Natural Phenomena
      • Shattered World: Fragments and dust have caused heavy Kessler Syndrome, halving the damage anything can do here.
      • Black Hole: The gravitational pull halves the speed of everything here. The intense radiation also reveals anything cloaked.

5.509 Hotfix

(Released August 25th, 2022)

  • Fix a bug where save games from 5.507 weren't loading in 5.508
    • Thanks to a number of people for the prompt reports, including Pybro and Strategic Sage
  • Fixing bug with reconquest waves not always checking the last reconquest target (which is suppose to be ignored)
  • For Challenger+, the AI can spawn exo war units against the necromancer
  • For Challenger+, Elderlings start with a few more eggs

Code/Modding

  • Added IAITypeImplementation.DoOnAnyDeathLogic_MyFactionUnitsOnly_HostOnly so now ai types have the ability to handle unit death in special ways
  • Added GameEntityTypeData "per_second_custom_logic_type" allows mods to hook in for special per-second logic on an entity type
  • Added GameEntityTypeData "on_death_custom_logic_type" allows mods to hook in for special on-death logic for an entity type
  • Added code hook "OnUpdateReactiveShipGroups" allows mods to hook in for adding more ships to reactive ship groups
  • Added code hook "OnAIPChange" which is a chance for external code to react to any sort of aip change

5.508 Multiplayer Bug Smiting Part 4

(Released August 25th, 2022)

  • Fix a bug with Neinzul Abyss random factions
    • Thanks to Puppet Master for reporting
  • Since people seem to want to play Necromancer on Challenger+ (which is technically not supported), here are some necromancer specific changes to make Challenger+ a bit harder.
    • Elderlings mark up faster
    • Templar start with extra castles
  • Corrected weird necromancy unit grants involving a couple special large units. Thanks to Lord of Nothing for the initial report.
    • Chimera Artillery would grant a mummy on transforming to its second form, but only a skeleton when killed for real. Now only grants a mummy on the second form's death.
    • Warspite Artillery and secondary form Warspite from Astrotrain projects would both grant mummies. Now only grants a mummy on the death of the second Warspite form.

MP Bugfixing

  • When a hack is completed, immediately sync the faction that completed the hack to all MP clients to make sure they have the most up to date info
    • Some hacks update information tracked on the faction (or its external data), which should not be left stale

Mod Updates

Dyson Sidekick

  • Two Dyson Sidekick Strongholds now actually cost cuendillar. Dyson Sidekick tech costs increased
  • Nerfs to the Neinzul and spire tier one ships. Some buffs to the templar tier one ships
  • The Dyson sidekick now gets notifications for their active drilling. Make the planetary overloader model a bit larger
  • Hit a bug where the dyson sidekick would have problems on Income 10
    • Thanks to Pmm5000 for reporting
  • Remove necromancy from most of the Reaper forces. They were just stupidly OP before.
  • Dyson Nests can no longer be built without any cap
    • Note sure if they work very well atm though
    • Reported by pmm5000_1

Reclaimers

Now a full featured faction not just a couple extra alien tech seeds!

  • Constructor ship builds near space outposts for vision, some drone defenders, and to collect scrap from battles.
  • When enough reclaimed metal builds up you will get a scrap box at the home station which you can save till you need, then scrap for 1m metal.
  • A wandering research ship is looking for new schematics for you, when you see it check what hacks are available.
  • You can see progress towards a new schematic, and towards a new metal drop, in the tooltip of the reclaimers home station.
  • Near space outposts also mark up and gain additional defense drones with amount of metal salvaged.

Outguard Party

  • Fixed error in previous build.
  • New notification icon for outguard will show the time left until they warp out! This can be turned off in personal settings > game > notifications.
  • New outguard! Scarecrow Golem scares away hunter and warden fleet on non-player planets!
  • New outguard! Super Bulwark Turret with the strength of 10 turrets, a larger attract radius, and immunity to bonus damage of all sorts!
  • Reworked outguard! Apocalypse Warhead now deals damage too: instantly turn a whole planets guardians and strikecraft into hostile to all zombies (watch out for friendly fire)!

Generator

  • Rings map type generally made usable. Had issues with simply failing to generate some seeds, as well as having planets too close.
  • Mirrored map type new option for 'highways' which will had a box of wormholes around the edge of the galaxy, connecting to all clusters.

5.507 Multiplayer Bug Smiting Part 3

(Released August 20th, 2022)

  • Factions that haven't invaded the galaxy yet aren't allowed to pick up freshly spawned spire debris
    • Reported by a lot of people over the years, most recently Shalax on discord
  • Some defensive code in the Dyson Sidekick code
    • Thanks to pmm5000_1 for reporting
  • When the chromatic horror is requested to not move player structures, it will also not move forcefields
    • Pointed out by Magnnus on steam
  • Hopefully fix a bug with the Show Faction Colour Ring Around Ship that was causing the rings to sometimes persist visually after the ship was destroyed
  • Crippled ships no longer give attrition damage; otherwise a crippled Nodorian Totoroid was still remarkably effective
    • Thanks to Dismiss for reporting

Game Balance

  • Various sub-weapons deployed by Cruiser class ships have had metal gain from scrapping negated. This has also been extended to a couple Alien cruisers.
    • Biggest abuse case involved the ZA cruiser production of Phased Cestus for ~90k metal every 17 seconds while phased.
  • Trebuchet from the Tempest Cruiser now will lose health when the cruiser leaves the planet. Leave less random space trash sitting around!
    • Thanks to Lord of Nothing for the request.
  • Elderlings on Challenger+ no longer get their bonus experience if there are only necromancer factions in the game. Despite the explicit disavowal of Expert support in the necromancer, people are definitely still doing it, so make it a bit harder for people to shoot themselves in the foot in this way
    • Thanks to a report from Graxon
  • Exogalactic Maugrim gets a minor increase in power to match how much it costs the AI to deploy compared to other first tier exowar units.
    • Maugrim speed increased from 300 to 400.
    • Maugrim drone health doubled. 40k hull / 20k shields -> 70k hull / 50k shields
    • Maugrim drone damage increased by 50%. 10,000 -> 15,000 every two seconds
    • Maugrim drone speed increased from 600 to 800.
      • Maugrim metal flow rate for drones increased from 6750 to 9000 to offset how the drones now cost 3000 instead of 1500 to replace.

Mod Updates

More System Defenders

  • Gorgon have a slight strength multiplier applied. (1.5x)
  • Cruise Missile Batteries have a moderate strength multiplier applied. (2.5x)
  • FRS Augmented Artillery Destroyers get a slight nerf in starting at Mark 3 instead of Mark 5.
    • They additionally cost an additional two AIP to acquire, bringing them to 12 AIP cost when hacked for.

MP Fixes

  • Fix a problem with serializing AIP change history that could be reproduced pretty effectively with a superterminal hack
    • Thanks to Dismiss for reporting
  • Add some defensive code to Wave serialization
  • Add a mechanism to allow for factions to have their data (and their external data) fast-blasted to MP clients.
    • The game wants to sync all the Planets, Factions, Faction External Data, PlanetFactions, Fleets etc etc, then it will loop over them again. So this means you might need to wait a while if transmission is slow or the galaxy is busy. Some notifications depend on that faction or Faction External data to display/update, so those would get very stale (or never show up).
    • A number of notifications should (hopefully) no longer get stale. Waves, AI Reserves and DS Vengeance Strikes are handled at least. And future similar reports can be very easily fixed now, so if anyone sees any notification mismatches between host/client they should let me know
  • Every 10 seconds the game will fast-blast data about planets with AI counterattacks charging to the client, to make sure their notifications stay properly up to date.
    • Counterattacks are very impactful to gameplay, and previously they could often take on the order of minutes to appear for the client. It would have been quite possible for a client to attack an AI planet, have a hard fight, lose the fight and have the counterattack show up without ever getting a notification

5.504 Multiplayer Bug Smiting Part 2

(Released August 7th, 2022)

  • Removed a block of descriptive text for an outguard version of Velociraptor that was false advertising.

Bugfixes

  • There's now a 3 minute hard cap (time defined in XML for easy modding) for how long a ship can be put into multi-phase
    • The actual problem is suspected to be related to stacked ships putting their targets into multiphase for way too long (see https://bugtracker.arcengames.com/view.php?id=27519 for details), but this will resolve the problem very simply
    • Reported by a number of players in a number of forums
  • Fix a bug where the Nanocaust and Necromancer were getting one extra ship whenever they killed anything
    • Thanks to Dismiss and Lord of Nothing for reporting

MP

  • Add a "Fast Blast Planet Data To Clients" mechanism, as well as a "Planets are also created on clients when they are created on hosts" mechanism
    • This means MP clients should no longer deserialize when new planets are created (like during a DZ invasion)
  • Quiet some error logging related to neinzul factions in MP
    • The underlying problem is not resolved, but logs are no longer cluttered.

Balance

  • Did a pass over ticket weights for Early Officer spawns to tone down how often Black Widow was showing up in Humanity Ascendant mode and give the other options more screen time.
  • Ambush Drones from DLC 2 can now scale with Ambush tech. Actually they've been split into two versions.
    • The original version scales with both Minefields and Ambush Tech and is still assigned to the Ambush Post.
    • The new derivative copy starts at mark level three and only scales with Ambush tech. This is the one now deployed by Trailblazer Barges from the cruiser of the same name on death.
  • Trailblazer Cruiser Railcannon base damage reduced from 2,000 to 1,500.
    • As the Ambush Drones that are released on death from each Trailblazer Barge come in at high marks now some damage got trimmed off here.
  • Valkyrie Cruiser Borealis Battlecannon has a max multiplier for missing hull applied now. Approaching near two million DPS at max is a tad excessive.
    • Damage multiplier per 10% missing health adjusted down to 1.4x from 1.5x
    • Max multiplier based on missing health now caps at 7x at 50% health missing. The same point it stops reviving allied ships. This is just under a million DPS at max potential.
  • Radiant Cruiser Starburst takes a huge hit from the nerfbat. Potential max damage of over 157 million per starburst spawned is just brokenly over powered. Especially since with the set build point values it makes ten of them at max mark before dying even if it doesn't get repaired once.
    • Starburst base damage reduced from 15,000 to 1,500 and max targets hit per beam reduced from 15 to 5. This still leaves them capable of bursting for just over 5 million damage each in a dense swarm.
  • Adjusted Lockdown Cruiser to deal base 3500 instead of 8000 damage on its sniper wave, however reload timer has been adjusted down to 3 seconds from 4 seconds. Parasitic damage value set to be equal to damage dealt instead of 20x. This thing doesn't need to be three times better at making zombies than the Thanatos which is an Ark that has that as its primary mechanic whereas here it is secondary to the special ability of the cruiser.
    • Mark 7 damage output of the sniper warp wave is ~163k DPS instead of 280k. This puts it at roughly half as much power as a Thanatos while still having much more range.

5.503 Multiplayer Bug Smiting

(Released July 29th, 2022)

  • Three expansion golems from DLC2 were missing the "EX" text at the end of the Expert version name.

Multiplayer

  • Fix a bug where ships would sometimes randomly spawn in the wrong location on MP clients
  • Fix a bug where the client couldn't receive updates including wormhole changes, and would instead discard that update. This was causing a variety of problems (not least that wormholes wouldn't correctly disappear)
  • Fix a bug where MP clients weren't properly updating their Galaxy map when it changed
    • Note I believe there are still some problems in this area, but this should be a major improvement
  • Fix a bug where Fireteams network serialization (and possibly disk serialization?) could race with the Sim
    • This would cause massive desyncs
  • Active hackers now attempt to sync their data to clients more frequently. This should make hacking notifications feel less 'Stuck' in heavily loaded games

MP Sync Options

  • There are now several ways for players to force the game to re-sync everything to clients. This should put the clients in the same state as if they had quit/reloaded (so all data should be accurate)
  • This sync can cause an interruption in the clients; they may see a bunch of errors (which should be ignored), and may cause the clients to experience odd visuals (such as flashing up the Main Game screen)
  • To trigger a Sync, there are two mechanisms:
    • A button in the Debug section of the Escape menu
    • A setting (under Networking) called "Host Only: Force Sync Interval". On this interval (in minutes), the game will automatically sync all data to clients. So if you set this value to 20, every 20 minutes the game will resync to clients.

Balance

  • The Monarch metal flow rate for drones had no mark scaling even though the base Hive Golem it is based on does. Metal flow rate updated from 3500 flat to 4000 flat and 1000 per mark. Drone production rate now can reach 3 drones per second at mark 6+.
  • Electric Bomber weapon reload increased from 7s -> 8s.
    • Metal cost per ship increased from 10,000 to 12,000.
  • Phantasmal Host Decoy health reduced from 75,000 to 40,000 base.
    • Additionally degrades from full health to nothing in 20 seconds instead of 33.
  • Reversed the base and alternate rates of fire for Stealth Bombards. Scrapping for fresh construction had a rather abusable loop of getting five high damage shots in a row and then skipping the reload timer because you'd just treat them as a manually scrapped super-size Railpod group. Now has a long reload after being built like all other versions of Bombards.
  • Base metal cost of Samurai Frigate raised from 31,500 to 65,000.
    • Old metal price of 31,500 moved onto the Katana sub-unit instead of being just copied from the Samurai. They will still build their Katana at the same old rate but the main ship is a little more expensive to lose.
  • Heavy Stingray actually made heavy! Also made a little more worthwhile since the old version traded less total count and less line damage potential for slightly more HP each. Now the counts are even lower but you aren't losing a ton of damage potential using them.
    • Metal cost increased to 3,150 each.
    • Energy cost increased to 350 each.
    • Base hull increased to 4,200.
    • Base armor set to 90.
    • Base damage increased to 260.
    • Base line counts reduced from 45 to 32.
  • Heavy Fusion Bomber and by extension the linked units for an Outguard group and Ultima FRS bombers have had their base armor set to 90.
  • Autocannon Minipod variant the Gunbot adjusted to not have high generic damage versus everything.
    • Base damage reduced from 250 to 150 (Base version has 100 base damage)
    • Multiplier versus armor increased from 2x to 3x.
      • Average mk7 line DPS reduced from 123.5k to 74.1k. Versus armor expected DPS of 222.3k instead of previous 247k.
  • Adjusted Vampire Turrets available under Exotic Tech.
    • These now have a damage bonus against already damaged targets. If at least 40% hull is missing these now do an additional 1x damage. The Vampire is now looking for a weakened foe to feast more heavily from.
    • Health recovered per damage dealt reduced from 2.5 to 1.5 because now that these actually can do more damage the previous value was excessive.
      • Overall damage output significantly higher. Previously these had an extremely stable ~32k DPS as a line of 10 at mark 7 or ~58k DPS with high mark acid support. Now should routinely do twice as much damage once a fight is past the opening couple salvos.
  • Alien hulls have been a bit too easy to gain insane power from in games where that is an option because of their semi-farmable nature. Part of this is the alien hulls have their own scaling which wildly clashes with the increased player scaling that has been getting applied when the players hack for a copy. So we are going to force the player versions to be significantly closer to the source material to close the massive power gain from an extremely minor expenditure into mark levels on hulls not originally balanced for as exceptional of scaling.
    • Dark Spire:
      • Minor faction version of Wraith found to have a purchase price of only 20! Corrected sharply upwards to 225.
      • Player hackable versions of strikecraft restored entirely to classic scaling. You need to chase mark 7 for full line count.
      • Specter frigate equivalent set to classic scaling without cap raises. These do enough damage they do not need to also be super metal efficient health sponges. Especially when their max damage for a line can be in excess of 400k sustained.
    • Dyson Sphere:
      • Player hackable versions of strikecraft again restored to fully classic scaling. You will pay a handsome price in science for a full cap.
      • Player version of Bulwark deals a stupid amount of damage for how bulky it is with modern player frigate scaling. Health cut down to size with no cap increase classic scaling. Max EHP per metal reduced from 28.87 to 15. Again a sustained DPS potential of 150k+ means these outdo quite a few normal ships.

Mod Updates

More System Defenders

  • Variety of changes to ships and turrets within More System Defenders mod:
    • Artillery Destroyer Suppressive Flak given max targets hit per shot of 10 to prevent excessive damage dilution.
    • Augmented Artillery Destroyer which is in the FRS pool updated to actually show up more often. (Or at all actually...)
    • Various drone gun ships and turrets for the player have had the systems revealed.
    • Updated certain drone using AI guardian ship versions so that some supposedly disabled weapons are not suddenly valid when acid is around.
      • Furthermore also adjusted the drones used by said ships to be less in number but more powerful individually.
    • AI Cruise Missile Base nasty pick revised to be a bit more deadly.
      • Also updated said nasty pick to actually use current method of qualifying for sabotage/reprogram hacks. No idea how long this has been broken!

Dyson Sidekick

  • The Dyson Sidekick sets planets that are being drilled on fire when they are close for extra visual coolness
  • Some additional nerfs to the Reapers

5.502 No More Overlord Doubling

(Released July 19th, 2022)

  • Fix a bug where two copies of an AI Overlord were spawned
    • Thanks to a number of people for reporting, including Lampshade and Dismiss on mantis, and SCUD and steam
  • Some minor tweaks to the Dyson Sidekick
    • Can no longer claim metal harvesters, but increase metal production to compensate
    • Some nerfs to reapers
    • Some nerfs to spire ships
    • Can build a forcefield generator

Balance

  • Tesla Torpedo Frigate launch rate of torpedoes lowered. 4s -> 5s
    • Shields removed from Tesla Torpedoes. Half of the removed value has been added to the hull value. As these are effectively a strikecraft shields should not be present.
  • Tackle Drone Frigate launch rate of Tackle Drones lowered. 4s -> 6s This lowers the maximum number of drones a standard line of six frigates can have out from around 49 to roughly 33.
    • Additionally Tackle Drones still had shields even though other strike no longer had any from way back during The Shift. Shields have now been removed meaning the drones no longer have 80,000 effective health at mark seven. And should be more vulnerable to standard anti-strike like Pike and MLRS.
    • Tackle Drone base damage lowered from 70 to 50. It still fires up to five shots at a time this is just lowering its max potential per drone from 3.7k DPS to 2.7k DPS.
  • Expert version of Regen Golem apparently was missing the override to scaling type all expert versions should have. This is now fixed.
    • Also adjusted the amount of health it pays to revive ships upwards a bit.

5.501 Fixes

(Released July 13th, 2022)

  • Update to AMU:
    • Fixed AJEA not turning off when it's disabled.
      • Thanks to cml for reporting.
    • Organized the distributed codebase distributed along with the mod a bit.
  • Improved the speed of the "final checks" part of loading the game, by moving it onto a background thread that doesn't block anything else. It's doing xml validity checks just in case a modder or someone else messed something up, but there's no reason to make players wait through that every startup. On many modern computers this takes like a quarter of a second anyway, but on older computers it can be a second or three.
  • A variety of updates to the Classic Fusion mod, by Puffin.
  • Added a StableSort() to ArcenList as an alternative to Sort(). Note that for lists with few entries this is less efficient. Now using a stable sort for ships in 'at local planet' window. This fixes at least one reproducible case of order flipping. Using a more appropriate text color for 'crippled' in fleets window.
    • Thanks to Dismiss for adding!
  • Outguard Party and Reclaimers now both 'require' all three dlcs. This fixes some exception messages when disabling expansions (since the mods now get turned off).

5.500 Classic Fusion, And A Megaton Otherwise

(Released July 8th, 2022)

  • ExternalWorldBaseInfo objects can now also use the DoOnSpecialEvent_OnMainThread_ClientOrHost methods similar to factions, in order to i.e. directly react to settings or the lobby being changed.

Mod Releases

  • Added UI support for enabling and disabling total conversion mods, now that we have one that is releasing (Classic Fusion).
    • Enabling a total conversion mod through the UI closes the game and requires you to reopen it manually, which is unavoidable, but the rest of it is very smooth.
    • Total conversions now show all the same info that regular mods do, including the author and an abbreviation and color and detailed description, etc. They are also shown first in the list of other mods, since they are so huge and also so rare, and they have the prefix T-C rather than Mod.
  • When you try to enable a mod that relies on an expansion that is not enabled at the moment, or not installed at all, it now gives you a warning about that and does not allow you to enable said mod.
    • Thanks to Dismiss for reporting that this was not working as expected.

Classic Fusion

  • Classic Fusion, a Total Conversion mod by Puffin, is now released, roughly 2 years after it had started on/off development.
    • This conversion attempts to recreate as much as reasonably possible of AI War: Fleet Command, also known as 'Classic', in the second game, and 'fuse' it with the AIW2 specific factions, mechanics, etc. I have attempted to make it as accurate as I can, working within limitations.
    • This means you have all the Classic units, variants of those with AIW2 abilities, AIW2 specific units and factions redesigned to fit into this system, so on. Even some new things, not in either game. It's...big, almost nothing is untouched. It could possibly be seen as an entirely different/new game.
    • These people have assisted in some form (specific details are in-game): DEMOCRACY, StarKelp, Badger, SirLimbo, Chris, Tom, ptarth.
    • A note: Multiplayer is an unknown, due to being unable to test it. Attempts were made to make things work for it, but in practice it is unknown how well it works overall. Please do let me know if you try.

Dyson Sidekick

  • This is a new player-controllable faction. Play as a coalition of Zenith, Neinzul, Templar and Spire trying to build a Dyson Sphere, while fighting the AI and the Reapers, the forces of an evil Necromancer..
    • To get raw materials to build the sphere, you must ravage planets. The Reapers can spawn forces at ravaged planets, so be careful where you mine!
    • Playable in Empire and Sidekick form
    • This faction also allows you to destroy planets outright, allowing you to actually kill a Zenith Architrave
    • This faction comes with a "Automatically help defend my planets" setting, to facilitate using the Sidekick in solo-play
    • NOTA BENE: very little effort has gone into balancing this faction.

The Reclaimers

  • The Reclaimers by Dismiss are a human faction dedicated to human recovery and advancement in the galaxy, though not through direct combat.
    • Their deep space outposts provide scouting, and research alien technology. They also provide a few metabolic station-keepers to help recover metal after fleet battles.
    • You may also find new station-keepers and turrets from hacks throughout the galaxy.

Mod Updates

  • Outguard Party by Dismiss has been updated to v3!
    • Check out 'Galaxy Settings Category: Outguard' and adjust what you want!
    • New Outguard: Hacking Drone Operator, Tactical Shield Generator, Planetary Missile Command Orbital, Planetary Defense Orbital, Mobile Super-Fac.
  • DpsHud by Dismiss has been updated to v2!
    • Better coloration for distinguishing damage tier.
    • More precision for single digit Millions (eg. 3.5m).

Re-Released AMU Code Parts

    • Right now AMU is only at about 20% of the code it had before, but a lot of AMU has been integrated into the main game, so the actual progress is probably between 30-40%.
    • The codebase has almost entirely been rewritten to be clearer, better, and actually documented with comments and teaching moments.
    • To all modders: Inspect the code inside AMU (which is included with the mod) to your heart's content. It is designed to make modding easier for others.
    • AMU now has a common "black code magic"-based framework for settings. The main goal is to make settings being read more efficient, easier to be set up and to make it nigh impossible for a misspell to waste time finding it.
      • The new abstract class CachedSettingRoot (which also holds the static functions for this framework) can execute GetAllStaticCachedSettingsOfClass(), which causes it to go through all the fields in the class (and potentially object) given, looking for anything that at its base is a CachedSettingRoot, then tries to find the proper reference of the 3 major base types:
        • The class CachedPersonalSetting includes all settings that a player has in their personal profile.
        • The class CachedGalaxySetting includes all settings in the game lobby, excluding faction settings.
        • The class CachedFactionSetting includes all custom(!) settings a faction can have, and to be set up requires an instance of the class given to GetAllStaticCachedSettingsOfClass(), and a faction being passed inside GetAllStaticCachedSettingsOfClass().
      • Then UpdateAllStaticCachedSettingsOfClass() and UpdateAllStaticCachedSettingsOfClass_FilteredByEventType() can be used to update all settings by the same logic. Both of these factions are fairly costly, so they are only recommended to be used once to update all settings when the current map is loaded/generated, and then filtered by events when a special event (player saves new personal/galaxy/faction settings) is fired.
      • Note that for this to work the name of the setting in XML and the field name in the code need to be the same. For examples, see the new AJEA_Base class.
      • The improvement here is that instead of always having to look into the hash dictionaries and/or do string comparisons for getting the values of settings AMU can simply cache and easily access the value of settings no matter how often they are being used.
      • Additionally, since the XML and field name need to be the same, one being off will automatically thrown an exception instead of potentially being an invisible bug that is hard to find.
    • AJEA (Auto-Juggle Energy Assistant) is back!
      • With more settings than ever before (and its own setting categories) it is now once again possible to have a "smart grid" for building Matter Converters if needed. AJEA is a can of Brownout-Be-Gone.
      • For it to have access to also converting unused energy into metal, the Micro Mod Collection offers that functionality. It is, however, rather unbalanced in the favor of the player and not required for AJEA to work.
      • Note that AJEA has not yet been tested on clients, feedback is required!
    • Capturable Repositioning also has made a comeback.
      • With settings related to defining how close/far from the gravity well, and how far from wormholes immobile capturables and if desired also asteroid mines are being placed CR is now vastly improved.
      • Repositioning happens the very moment the game is unpaused for the first time, so looking at a planet with capturables will immediately show the effect.

Bugfixes

  • Fix a bug where AI Relentless Waves were getting stuck on planets that were owned by the wild hives.
  • Fixed a bug where if an AI was defeated, but more than one AI remained undefeated the player would get the wrong journal for killing this AI.
    • Thanks to Dismiss for reporting.
  • Fix several bugs with hunter fireteams that were against the Fallen Spire
    • They no longer show "Not After You" (they are, in fact, after you), and also they don't take unexpected vacations
    • Thanks to benjbrun for reporting
  • Fireteams targeted against crippled units now correclty identify them as "killed", and can get new targets
  • The planet sidebar no longer counts the strength of crippled units toward the "Strength" it shows
    • The ForMark field in FleetMembership is immediately set upon deserialization. This prevents potential tooltip exceptions when immediately looking at units after loading or starting a new game.
    • The "Defeat Or Suppress All Hostile AIs" victory condition setting is now named "Defeat Or Suppress All Hostile Minor Factions". The former was simply a visual copy & paste error.
  • Fix a bug where the Spire couldn't bolster cruiser/dreadnaught flagships in Expert mode
    • Thanks to JDingDong8_1 for reporting
  • Fix a dyson antagonizer bug
    • Thanks to GreatYng for reporting
  • Galactic Control Ships unleashed at the end of a Showdown Device event didn't always explode properly and additionally would be replaced by regular phase two overlords on reloading a save. They now go up with a nice big kaboom like they should and additionally don't get the doppelganger treatment on loading a save game.
    • Thanks to Lampshade for providing a save game with the problem.
  • Fixed a bug where ships were by default set to being able to do unlimited overkills on stacks - this meant that an Artillery Golem which has one shot with massive damage and, if there were 10 unstacked VWings as its target, could still only kill one of them, could still kill the entire stack in one shot. Now this should be fixed.
    • This padded a bunch of false math for stacks receiving damage and dying, which should now also be fixed.
      • I went through the logs of a few shots with stacks, compressed shots, etc hitting - but there's no way to catch every single encounter and check it for something being wrong. If the amount of damage dealt or received, the amount of stacks dying, etc appears wrong or exceptions pop up, please report it as a bug (with a good description and if possible a savegame or reproduction instructions included).
      • Big thanks to Lampshade for reporting!
  • The ZA Portal no longer vanishes when some hacks are cancelled
    • Thanks to Lampshade for reporting
  • Jabberwock/Heroic AI Types no longer get blasphemous elderlings that grant science
    • Thanks to JDingDong8_1 for reporting
  • The DZ Hersir now uses its proper model
    • Thanks to Lord of Nothing for reporting, and to Puffin for finding model
  • Fix a null reference exception for maddened elderlings
    • Thanks to Chuito12 for reporting
  • The notification for wormhole borers no longer appears once the AI owning it is defeated
    • Thanks to Matt Dyer for reporting
  • Adjust the stack planning logic to account for the fact that combining stacks leaves a stack behind.
    • If you have 110 stacks, you need to combine 11 stacks to end up with 100.
    • Properly calculate the remainder, when calculating how to split a stack on debuff.
    • Now that debuffs are properly applied to stacks, don't cause them to decay faster than normal.
    • When combining stacks, preserve damage and some debuffs on the combined stack.
      • Currently, this preserves:
        • total hull damage, which may cause some ships in the stack to die
        • total shield damage up-to the max shield of a single ship
        • average paralysis, engine stun and weapon jamming seconds remaining.
    • Thanks to Tom Prince for fixing!
  • Add fuel producers as potential targets for threat and hunter.
    • Thanks to Tom Prince for fixing!
  • Tweak "NOT AFTER YOU" debugging information.
    • Thanks to Tom Prince for fixing!
  • Fix a couple of potential use-after-free[1] of `FireteamRequiredTarget`s.
    • This was causing AI Extragalactic budgets and unit's fireteam specifications to get otherwise impossible values, such as being targeted at a faction and at a allegiance that it doesn't belong to. This was usually treated as an "or", though it was not displayed that way.
    • Discovered while looking at the saves from #27469.
    • Thanks to Tom Prince for fixing!
  • Switch Minor Faction Beacon hack to use hacking menu abstraction.
    • Convert Tech Vault hack to use the hacking menu abstraction.
    • Make a couple of hacks against elderlings that take 0s actually complete instantly.
    • Remove a bunch of unused attributes on hacks that complete instantly.
      • Also make it an error to specificy any of those values, in that case.
    • Thanks to Tom Prince for fixing!
  • Change a couple of places that check if a faction is currently controlled by a player, to intead check if it is a player faction.
    • This was causing the logic for crippled flagships to run only for actions with an active player, (salvage and various bits of Necromancer logic).
    • Change a few more places where sim was depending on whether a player was actively controlling a faction.
    • Also fix a place where a faction index was being looked up in `World_AIW2.Instance.AIFactions`.
    • Thanks to Tom Prince for fixing!
  • When I was simplifying the logic for exogalactic attacks, to remove the option for using relentless waves, I accidentally made them always use them. Fix it so it again never does.
    • Thanks to Tom Prince for fixing!
  • Add a DoOnAnyCrippleLogic_MyFactionUnitsOnly_HostOnly method to faction deep info.
    • Use this to move the necromancer specific logic out of the scenario logic.
    • Thanks to Tom Prince for fixing!
  • Make the two places in GameEntity_Squad which handle crippling have the same logic.
    • One handled the phylactery healing, and didn't then mark it as needing to be repaired.
    • One removed any remaining corrosion damage.
    • Now, both places have the same logic.
    • Thanks to Tom Prince for fixing!
  • Record a hacking event when a Necromancer flagship is crippled, if losing HaP.
    • This mirrors the logic for human empires, though it isn't currently visible anywhere.
    • Thanks to Tom Prince for fixing!
  • Move the flagship bail out when crippled checks to the scenario, and factor out the counterattack logic to its own function.
    • Thanks to Tom Prince for fixing!
  • Add an option to enable officer permadeath for deathwish mode.
    • When enabled, officers will turn into basic transports on death.
    • Thanks to Tom Prince for adding!
  • Fix speed buff calculation to use allied speed multiplier instead of attack multiplier.
    • This was undoubtedly a copy-paste error.
    • Also, tally the allied and hostile speed and damage multipliers separately, before combining them, to avoid the result depending on ordering. This is an issue, since allied multipliers are additive, whereas hostile multipliers are multiplicative.
    • Thanks to Tom Prince for fixing!
  • Cleanup some memory leaks and duplicate logging in the wave planning code when tracing.
    • Thanks to Tom Prince for fixing!
  • Remove leftover duplicate direct science tech settings that were being tested during DLC2 development.
    • Thanks to Tom Prince for fixing!
  • Add "Use Balanced Golems" galaxy setting, that seeds the re-balanced golems, and force it on in Expert+.
    • Thanks to Tom Prince for fixing!
  • Don't show that ships can't be supercharged, if fleet wide bonuses are disabled by galaxy settings.
    • Thanks to Tom Prince for fixing!
  • Stop AI threat from being targeted at a random minor faction, if there is not hostile faction with strength on the local planet.
    • There was a small list of possible factions that could randomly be picked[1]. If none of them were present in the game (or hostile to the unit becoming threat), then threat would available for use against any faction.
    • Since it should be fairly rare that there are ships being released from guard duty with no hostile strength present, I think it makes sense to remove this weird edge case behavior, and just always release the threat for general use no matter which factions are in the game. This allows the code to be simplified, and one of the many slightly different faction settings controlling interaction with threat to be removed.
    • I think the only case this can occur (besides the cheat command scrubfoes) may be if a unit being guarded by another unit is killed with no hostile strength (which is likely either a slow shot, or corrosion damage).
    • Also:
      • Remove the `can_be_targeted_by_annoyed_non_human_units` setting from factions, which was only used to trigger this behavior.
      • Remove the `AnnoyingFactionFlags` argument to `PlanetFaction.GetIndexOfMostAnnoyingFaction`, which was only being used to request this behavior.
    • [1] These are the factions that could be randomly picked (if they were hostile):
      • AI Sentinels
      • Marauders
      • Neinzul Custodians
      • Wormhole Invasion
      • Zenith Dyson Sphere
    • Thanks to Tom Prince for fixing!
  • Fix the incorrect subcategory heading being show in the galaxy options sometimes.
    • This was happening when there was subcategories with no visible options.
    • Thanks to Tom Prince for fixing!
  • When taking damage (or healing) a percentage of health when a salvo is fired, take into account the number of squads firing.
    • This prevents stacks of units like Rams from doing total damage that is quadratic with the stack size.
    • This also fixes a few units that took a multiple of their total health as damage per salvo.
    • Thanks to Tom Prince for fixing!
  • Prevent tractor ships from bouncing around if they are tractored by multiple entities.
    • Now, only the strongest unit tractoring another will cause it to move. Previously, every unit tractoring a given unit would move it each frame, causing tractor ships to move much faster than the tractoring units.
    • Thanks to Tom Prince for fixing!
  • When transiting wormoholes with tractored units, ensure that the tractored units are in the grav well.
    • There was existing code that tried to do this, but it only worked if the point opposite the initially chosen invalid position was inside the gravwell. Now, if both the initial point, and the opposite point are outside the gravwell, it picks a point at the edge of the gravwell near the opposite point.
    • Thanks to Tom Prince for fixing!
  • Move `starts_already_built` from the fleet design template, to the `ship_membership`/`fleet_membership` and ensure it can only be used on drone lines.
    • Thanks to Tom Prince for fixing!

Balance

  • Made several adjustments to the Angelic Ward from the FRS to tune down just how OP it was. Essentially when parked back a bit with engineers nearby it could perform just-in-time instant frigate replacement for under half price metal wise. To say nothing of how its health instead of metal cost makes fast replacement of units like bombards a joke.
    • Shield health removed! All other revival units under player control do not have shields.
    • Base hull health in XML reduced from 250k to 200k. Note that when you hack for the unit in a standard game it starts at Mark 5 with strike scaling. Thus it will still have at least 1.2m health unless you have changed some settings.
    • Base metal cost doubled from 100k to 200k. Rapidly repairing it for instant fleet asset replacement now has somewhat more appropriate costs imposed.
    • Base regen time from almost no health to full increased by 20 seconds. 100 -> 120.
  • Added a strength multiplier to the resulting Frag Mines of a Fragmenting Minefield reducing its reported strength to 10% of previous. As a kamikaze unit that tends to explode within the next few seconds it really isn't as strong as it claimed it was.
  • Balance adjustments to several different mines.
    • Corruption Mine adjustments:
      • Acid Debuff strength 15 + 15 per mark reduced to 20 + 10 per mark.
      • Acid Debuff duration reduced from 15 to 10 seconds.
      • Parasitic property strength cut in half. Now requires the mine to be at least mark 4 to guarantee a hit target gets converted on death from a single attack.
    • Fragmenting Mine adjustments:
      • Greater Metabolism -> Metabolism
      • The greater property was turning otherwise inadvisable activities into highly lucrative metal printing options when excessive amounts of mines were acquired and placed. The sub-munitions retain the greater property since they have a far more limited impact being single target and only spawned when the minefield dies. Instead of coating hundreds of units as a collective field like the main unit does.
    • Implosion Mine adjustments:
      • Multiplier based on remaining health cut in half. Now only checks in 20% increments instead of 10%. Maximum multiplier for hull health is 5x instead of 10x.
      • Base damage cut by 25% from 1000 to 750.
      • Additional multiplier added against targets above 50% remaining shield health. Starts at 1x at mark one and increases by 0.25 per mark level. Maxes out at 2.5x at mark 7. Leaves the mine as being particularly good against guardians and frigate level threats but considerably weaker against strike.
    • Kinetic Buffer has been adjusted. Essentially with how after the initial reload they fire five times in quick succession a single line of five was capable of dumping up to 40.5m damage in five seconds under ideal circumstances. Given they don't self-damage and are supposed to be crowd control while hitting up to 50 targets at a time this level of damage output was excessive.
      • Base damage 1000 -> 150
      • Multiplier vs low armor 6x -> 4x
      • Single line burst against low armor: 40.5m over 5 seconds per 21 second reload cycle -> 4.05m over 5 seconds per 21 second reload cycle.
      • Against higher armored targets the burst was 6.75m, for a sustained 321.4k DPS. This has been adjusted to ~1m burst, sustained 48.2k DPS.
  • Module balance pass over Spire ships, thanks to Lord of Nothing for some of the input resulting in these changes.
    • Spire Frigate:
      • Pulse Laser shots per salvo halved. 20 -> 10
      • Heavy hull/shield mods reduced to Moderate mods that cost 2 instead of 3 points with lower bonuses.
      • Gravity Drain disabled, on non-flagships this now only shows up on Battleships and above.
    • Spire Destroyer:
      • Light Railcannon base damage doubled 3,000 -> 6,000.
      • Heavy hull/shield mods reduced to Moderate mods that cost 2 instead of 3 points with lower bonuses.
      • Gravity Drain disabled, on non-flagships this now only shows up on Battleships and above.
    • Spire Cruiser:
      • Light coilbeam base damage reduced from 37,500 to 30,000. Note that the flagship version keeps the better damage!
      • Tractor Beam module added targets per mark reduced from 12 to 6. Was exceeding the curve established by other ships.
      • Gravity Drain disabled for non-flagship versions. Still enabled for Cruiser Flagships.
      • Gravity effect strength reduced from 30% slow to 20% on Cruiser Flagships.
    • Spire Battleship:
      • Tractor Beam module added targets per mark increased from 5 to 7.
      • Gravitic Core strength reduced from 30% slow to 20%. Global effect on flagship version reduced from 30% to 10%.
    • Spire Dreadnought:
      • Pulse Laser shots per salvo halved. 20 -> 10
      • Gravitic Core strength reduced from 40% slow to 20%. Global effect on flagship reduced from 40% to 15%.
      • Module cost for Gravitic Core on flagship raised from 1 to 3, Engine gX effected for flagship 23 -> 22.
      • Gravitic Railcannon engine gX for slowing reduced from 24 to 22 for both versions.
  • Sweeping balance adjustments to Nadir Venator:
    • Health cut by roughly 60%, max health at mark 7 reduced from 21m to 8m.
    • Given a new vampiric sabot weapon that heavily penalizes high mass attackers at range. Note that this weapon is only super effective against tX of 8 or higher and cannot be fired at anything closer than 8000 range. Most standard fleet assets and shorter range turrets will not be impacted all. You might not want to be hitting them with very long range strike however.
    • Engine power increased from 7 to 20 to match other Dire class vessels.
  • Implemented Expert mode only versions of two Arks. The Nodorian Turtle and Great A'Thomek
    • Great A'Thomek EX:
      • AIP cost rasied to 12
      • Base health increased to 1.5m hull and 1m shields
      • Self hacks for additional shields reduced to only one hack costing 75 HaP. End result is maximum shield health is 14m instead of 19.6m
      • Ranged damage reduction property against attacks from further away than 5600 lowered from 99% mitigation to 90% mitigation. Max effective shield health just sitting around soaking up sniper fire reduced from 1.96 billion to 140 million. Note than when including hull the long range EHP change is from 2.87b to 245m.
    • Nodorian Turtle EX:
      • AIP cost raised to 15.
      • Base Attrition at all marks damage increased by 50%. 300/s at Mark 7.
      • Damage increasing self hacks reduced from two hacks to one costing 75 HaP. End result is attrition per entity caps at 600 instead of 800. Also the overall max attrition cap is reduced from a million DPS to a half million DPS.
      • Base damage of primary weapon increased from 12,000 to 20,000. Additionally a max targets hit per shot of 10 has been added to prevent excessive damage dilution.
  • Caught another entity that could be scrapped for metal that is "free" to make.
    • Rescue Spores created by the Orchid Ark could be scrapped for metal. And since the Ark would create one a second while it had anything to shoot at its correction was merited.
  • Post-Game changes:
    • All factions can now have 2 new XML fields: creases_hack_responses_if_defeated and creases_hack_responses_if_all_ais_are_defeated, which uses the defeat_condition to figure out if it applies or not.
    • The AI as well as all AI subfactions, Templar as well as (for potential modding applications) Astro Trains and Instigators will no longer launch hacking responses when all AIs have been defeated. If the galaxy has been lost to the AI hacking responses and exo strikes won't get it back.
      • Note that AIP for hacks will still apply, because potentially other mechanics related to minor factions or hacking/science gain on AIP gain may still need this.
    • Shark B (Exo Strike on command station death) should also no longer triggers when no AI is alive any more.
      • This mostly takes the AI out of the game when all AIs have been defeated, at least as far as immediate responses are concerned. If the AI ever pokes into the milky way again it should be after a cost-benefit analysis and in force, not wasting resources trickling units into a black hole.

5.018 Easier Reconnection

(Released June 13th, 2022)

  • Fixed the additional win conditions showing up in games where they were not enabled.
    • Thanks to Lord Of Nothing for reporting.
  • Fixed another bug with objectives that might've been around for longer, where the objective to locate AI Overlords didn't actually show or showed the wrong way.
    • This seems to date back to August of 2021, actually.
  • Updated the game to no longer block players from connecting under a given name if the host still thinks that the client is connected. It now just assigns that player name to the newly-connecting player.
    • This is more vulnerable to griefing, because it would allow two players with the same name to keep trying to join and knock one another out of the game. But that's not the audience that AIW2 has, anyway.
    • The vastly more common case is that someone disconnected from the host but the host just has not realized it yet. Having the next connection request that comes in with the same name say "close out the old one, load the new one" makes it far quicker for clients to reconnect.
    • Thanks to a variety of players for reporting these issues over the last while, but Ushgarak, Pybro, and Toren_S for the most recent reports.
  • Fixed a really complex issue with the long-range-planning threads that could see a couple of them potentially running at the same time when they should not have (this is not for certain), and which definitely could see some of them not running at all at other times (this is certain).
    • The latter case was most easily triggered by changing mods or dlc around and then playing the game after that without first restarting the game. This was manifesting as "a bunch of inactive threads" warning.
    • Thanks to Lord Of Nothing for the report and steps to repro, and to Spaz and Dismiss for also reporting.
  • Put in protection against some issues that could happen in certain post-reload-xml situations, most notably on the nanocaust. But the fixes themselves are very generalized.
  • Fixed an exception in the prototype entity tooltip when looking at a just created centerpiece.
    • Thanks to Dismiss for reporting.
  • The experimental tooltip how has the settings and the ability to format correctly when using icons or text at all detail levels.
    • This means that you can now have short tooltips with text - or full tooltips without. All combinations are possible independent of each other.
  • Make sure that threat against players, when sent on a raid, isn't turned into threat against a minor faction.
    • Thanks to Tom Prince for fixing!
  • Only consider BehaviorRelatedFactionIndex when determining if a entity is "NOT AFTER YOU" when it belongs to the AI Sentinals.
    • Other faction don't look at that field on entities, so this reflects how the unit will behave.
    • Thanks to Tom Prince for fixing!
  • Allow threat that is going back to sleep to use allied guardposts or command stations.
    • Thanks to Tom Prince for updating!
  • Add a new `metal_cost_multiplier_for_scrapping` attribute for entities.
    • This can be used to prevent getting free metal from scrapping ships that did not originally cost metal.
    • Thanks to Tom Prince for adding!
  • Add a tooltip that shows the amount that will be refunded when scrapping.
    • Thanks to Tom Prince for adding!
  • Make the non-agitated Neinzul Wild Hives and Hive Workers have 0 strength.
    • This should make various faction AIs behavor more reasonably on planets with them.
    • Thanks to Tom Prince for updating!
  • Use the unit's fireteam specification for determining if a unit counts as threat against humans.
    • This is instead of the fireteam's specification. This prevents hunter that is targeting a minor faction switching state as fireteams disband and then reform.
    • Thanks to Tom Prince for fixing!
  • When determining if an oribiter counts as mobile strength, consider it's parents recursively.
    • Thanks to Tom Prince for updating!
  • Simplify the code for several hack whose response is from the AI.
    • Thanks to Tom Prince for updating!
  • For AI factions with Hunter sub-factions that don't use fireteams[1], don't assign minor-faction waves to Hunter.
    • This causes waves to just turn into random defensive units.
    • [1] This is currently only defensive style hunter.
    • Thanks to Tom Prince for fixing!
  • Only despawn Extragalactic War hunter units that are "NOT AFTER YOU" periodically.
    • The current logic decides to despawn based on faction power-level, which is only appropriate for Extragalactic War units. This was causing hunter spawned as waves against minor factions to despawn when they were on a planet with no hostiles for too long.
    • It would likely make sense to have a way for other hunter targeting minor faction to also despawn, but that requires some more complex logic.
    • Thanks to Tom Prince for updating!

Balance

  • So as it turns out there was a very interesting find by Lampshade on the official Discord that puts a entire can of cheese wiz to shame. Namely that scrapping temporary units from Viral Shredders was giving metal. Unfortunately this rabbit hole goes deep and as such corrective attributes had to be assigned though-out the entire roster of player accessible ships from the base game and all DLC. This hits dozens of entries since it applies to a variety of units produced on death, via build points, via drone guns, and automatically spawning wards for units like the DLC3 destroyers and thus took a while to correct across all relevant files. Hydra property secondary units reduced to consolation prize level of 10% refund. Actually built for free units now salvage for nothing. Shout out to Tom for the quick implementation of the new attribute used in the fix.
    • Base game units affected: 6
      • Ambush carrier raptor drone, mini cluster bomb, Hydra heads for the Vanguard, Stingray, Parasite, and Warbird Frigate
    • DLC 1 units affected: 6
      • Tesla Torpedo, Deathgrip Tackle Drone, Viral Shredder Copy, Makeshift drones, Automated Construction Bot & mini version.
    • DLC 2 units affected: 11
      • Drone hangar versions of the V-Wing, Bomber, Gangsaw, and Shrike Interceptor, Phantasmal Decoy of the Phantasmal Host, Trailblazer Barge, Ambush Drone, Reclamation Drone, Mosquito Drone, Frag Mine sub-unit of Fragmenting Minefield, the drone-gun version of the Proximity Minefield deployed by the minelayer frigate.
    • DLC 3 units affected: 14
      • Animated Katana, Blade Drone, the destroyer wards the Falcon Ward, Kinetic Ward, Interceptor Ward, Vise Ward, Siren Ward, Explosive Ward, Fusion Ward, Flare Ward, Tesla Ward, and Eyestalk Ward, Embrasure Ward sub-unit of the FRS Shield Ward, Neinzul Locust of the Neinzul Ward.

Mod Updates

  • Update to More System Defenders v1.32
    • Added attribute to prevent metal farming off of freely created entities. Several drone-gun ships and the Viper Corvettes were impacted by this base game issue.
    • Additionally increased the tech upgrade costs for minefields and station-keeping entities while the mod is active. In the case of minefields the back-loaded upgrade costs were shifted forward and total cost only increased by 150 points.
    • Station-keeping gets more significant cost increases and is an additional 2000 total science to buy out all ranks. Early ranks are significantly more expensive due to handing the player additional ships like Escort Carriers and Artillery Destroyers from game start in addition to the additional units that can be added via hacks.

5.017 More Ways To Win

(Released June 9th, 2022)

  • Fix a couple showdown device related problems
    • Thanks to GreatYng for reporting
  • Corrected issue with AI Retribution Golem still using placeholder icon from initial implementation instead of the same icon the player version does.
    • Thanks to Lampshade for the report.
  • Corrected issue with Forcefield Guardian descriptive text incorrectly claiming protected units have their damage reduced.
    • Thanks to Bob_1 for the report.
  • Several of the Stationary Zenith Miners now are correctly Immobile
    • Thanks to GreatYng for reporting
  • The Dark Zenith no longer just sit there if there are Wild Hives in the game
    • Thanks to Lord Of Nothing for reporting
  • Fix a bug with the "Spawn As Waves" setting for wormhole invasions
    • Thanks to Puffin Emeritus for reporting
  • Planet Linking Wormhole Invasions spend their budget on a series of waves (between 1 and 5). Each of those waves is now at least size 30, since otherwise a small invasion force could be puny for 5 waves
    • This is exacerbated by the fact that wormhole invasions spend 40% of their total budget on defending the wormhole
  • Fixing grammar in tooltip which previously read: "You is your ally" and should have been omitted.
    • Thanks to Dismiss for fixing.
  • Pressing the keyboard shortcut for an already open sidebar window will close it (optionally)
    • Thanks to Dismiss for adding, and Tom Prince for making it optional.
  • Outguard now support spawning at a clicked location, after clicking on the outguard group.
    • This can be enabled with the xml: spawn_location="Manual_ByClick", on the OutguardGroup.
    • Outguard Party mod now sets all outguard to spawn by click.
    • Outguard Party now increases number of beacons to spawn, and puts one at your homeworld.
    • Outguard Party now has two new Outguard: Elder Breeders and Missile Strike.
    • Thanks to Dismiss for adding.
  • Outguard Party mod updated to version 2.0.
  • Allow more customization of directly buildable things granted by mobile fleets or command stations.
    • Some other related code refactoring for the build sidebar, as well.
    • Thanks to Tom Prince for adding.
  • Include commas in the per-second metal income on the resource bar.
    • Thanks to Tom Prince for adding.
  • Add a new "Hops From Here" galaxy map display mode.
    • This will show the number of hops from the currently selected planet to every other planet.
    • This implements this first part of #27268. I had this code laying around from some previous debugging, and was prompted by that issue to commit it to svn.
    • Thanks to Tom Prince for adding.
  • Update handling of deathwish's change to have Dire Guard Posts prevent building turrets.
    • Make this a galaxy setting, rather than something controlled directly by the campaign harshness.
    • Move the logic for this to `DirectBuild_FleetMembership` from the sidebar code itself. This removes the last bit of special-case logic there. (Note that currently this changes the behavior so that you can build Zenith Trader turrets on planets with guard posts).
    • Show that building is prevented in place of the cap, and in the tooltip.
    • Thanks to Tom Prince for updating.
  • Change the post-hacking Exo-Strike strength multiplier to be a galaxy setting.
    • When it was originally added, it was a setting, but was switched to be based on harshness (but leaving the now ineffecitve setting) in v3.903 (r16569) to allow it to vary between campaign types. Now that we can do that with settings switch it back to be a setting.
    • This changes the value on challenger to x2 (from x2.5), since settings don't currently allow sliders for non-integer settings.
    • Thanks to Tom Prince for updating.
  • Change the Dire CPA multiplier to be a setting instead of being based on campaign harshness.
    • Thanks to Tom Prince for updating.
  • Remove the `can_upgrade_city_fed_fleets_directly` setting on player types.
    • This can be controlled by setting `is_upgradeable_by_direct_science` on the flagships instead. Looking at the history, the former was added before the later worked, so get rid of the duplicate functionality now.
    • Thanks to Tom Prince for updating.
  • Change the Power Level multiplier for player factions to be a setting instead of being based on campaign harshness.
    • Also, adjust the values for various campaign types per discussion with CRCGamer and Strategic Sage.
    • Thanks to Tom Prince for updating.
  • Improve display of settings changed by campaign type.
    • Display that the setting is changed by the campaign type, when the default value is changed due to restricting the allowed range.
    • In the tooltip for integer setting where the range is restricted by the campaign type, show that in the tooltip for the value.
    • Thanks to Tom Prince for updating.
  • Add an `instaexo` cheat command that triggers an exo wave immediately.
    • You can specify a strength of the wave with `instaexo,200`.
    • Thanks to Tom Prince for adding.
  • Handle player forcefields being pushed by forcefields (such as forcefield guardians) the same as being pushed by a norris effect.
    • Thanks to Tom Prince for updating.
  • Show a skull in the resource bar and notification, when a Necromancer Phylactery is under attack.
    • Thanks to Tom Prince for fixing.
  • Don't display hacks that can't be done by the local player in entity tooltips.
    • These are shown as "You Can Hack: ...", so only show those for which that is true.
    • Thanks to Tom Prince for updating.
  • Do more checks for what hacks can be done on a unit for tooltips.
    • Check that the AI difficulty is appropriate (this removes the duplicate entries on the Super Terminal).
    • Check that the hack isn't deprecated
    • If the entity can't travel through wormholes, check that the hack can be done on its planet.
    • Thanks to Tom Prince for updating.
  • Fix to bottom of ship-groups with cloakers were slightly overlapping text.
    • Thanks to Dismiss for fixing.
  • Fixing 'you is your ally' when using icon view.
    • Thanks to Dismiss for fixing.
  • When showing damage, mark level becomes a subscript alongside ship count.
    • Thanks to Dismiss for updating.
  • Display gravity range as infinite, rather than some large number, when appropriate.
    • Thanks to Tom Prince for updating.
  • Improve the information in the Dyson Sphere tooltip.
    • Always show the normal hop limit, even when the sphere is angry (but mention that the range is unbounded then).
    • Show the total strength deployed, even if it is more than 100%. (This appears to happen after hacks, at least)
    • Show the multiplier to production and strength for spheres. (This can be due to hacks or splintering spire)
    • To simplify the previous calculation, expose properties with those multipliers.
      • As part of this, rename `Percentage*ModifierFromExternalSources` to ``Added*MultiplierFromExternalSources`, to better reflect how it is used.
    • Additionally, change the initial value for the modifiers from external sources to be 0 (instead of 1). This was causing spheres to start with 2x strength/production, which I could easily notice with the above additions.
    • Thanks to Tom Prince for updating.
  • For float type game settings, be more aggressive about rounding as specified.
    • This makes it so you can more easily see if the value set is the default value. Otherwise, the value used for comparison with the default could be an arbitrary float.
    • In particular, it is rounded when setting the temporary value in the settings menu, and when loaded from disk.
    • Thanks to Tom Prince for updating.
  • Change when voice attack notifications are generated. Fixes several bugs.
    • Thanks to Tom Prince for fixing.
  • Music playing improvements.
    • Make it so that adaptive music can stop being exciting.
    • Adjust the strength threshold for adaptive music to be 5 + AIP/20 as intended (rather than 5 + AIP/200).
    • Adjust adaptive music even if paused. This is likely most relevant when loading a save game.
    • Only use the adaptive music algorithm when playing in-game type music. This prevents it from affecting the victory screen music.
    • Fix the inverted logic for discarding exciting tracks during peaceful states.
    • Fix a couple of bugs that would cause the same track to play repeatedly:
      • When discarding tracks that don't match adaptive music state:
        • if the track did not match the desired state, it would discard it, but not try to play a new one. This isn't immediately noticable, since it would try to play a track next
        • if the track *did* match the desired state, if it wasn't the last track in the playlist, it would discard it and try the next track in the playlist.
        • This would lead to: it taking several frames to start playing music, as it discarded a number of matching and one non-matching track each frame.
        • once a track was playing, it would repeat a number of times, as it discard the same things, only now each repeat rather than each frame (see the next bug).
      • Every frame, after trying to find a track to play (and playing it if it found one), it would start music if it wasn't currently playing. This would cause the previously played track to play again. In combination with the previous bug, this would cause the same track to be played repeatedly while filtering through the playlist for an appropriate track to play one track at a time. This is part of the underlying cause of #20030/#21281.
    • Make the "Play Tracks from AI War Classic" take effect as soon as the next track plays, rather than when the current playlist runs out. This undoes the changes from r5485, as the underlying bug that caused it to repeat the same track multiple times has been fixed.
    • Thanks to Tom Prince for fixing!
  • Add ability for AOE weapon systems to increase their targets hit count per Mark.
    • Stick this on the system: maximum_number_of_targets_hit_per_shot_added_per_level
    • Is tested, confirmed to work, shows up in UI, target hit count does change in practice. More testing by others would be ideal.
    • Thanks to Puffin Emeritus for adding.
  • For SpecialEntityType(s) that normally set IsCrippledInsteadOfDying (like flagships) true in code, don't do that if the entity xml explicitly asked not to.
    • This allows things like Outguard flagships under your control to die permanently.
    • Thanks to Dismiss for adding.
  • Added ExternalFactionBaseInfo.GetDebugStateForDisplay so that mods can plug into the resource bar debug output.
    • Thanks to Dismiss for adding.
  • OutguardConstants.xml replaced with real (hidden) galaxy settings.
    • Outguard Party shows hidden galaxy settings for spawn beacon at homeworld, number of outguard beacons, etc. including new setting to choose a specific outguard at that beacon and if you want to favor new outguard when seeding.
    • Outguard Party has a new outguard 'Mobile Combat Super-Factory'.
    • Thanks to Dismiss for updating.
  • Fix Spire Destroyer Neural Net in Expert mode to produce destroyers instead of frigates.
    • Thanks to Tom Prince for fixing.
  • Change Spire City building contents to be updated even while paused.
    • Thanks to Tom Prince for fixing.
  • Add Expert Mode (which makes spire ships slowwer) for Spire-Infused Empire.
    • Thanks to Tom Prince for adding!
  • Fix race condition causing maruauders to spawn infinite outposts.
    • This moves the logic for spawning new outposts, and picking planets to invade from LRP to the sim code.
    • There is also some cleanup of the tracing code.
    • Thanks to Tom Prince for fixing!
  • Move a few more settings to AIWar2GalaxySettingQuickAccess.
    • I added some instrumation to see how often each setting was accessed, and converted those that were accessed more that 100 times a second. There are a few settings with accesses a second 10k/s+ (`MethodicalFRD`, `HiddenGalaxy` and `GalaxyMinimalFogOfWar`) and the rest ar all 300/s+.
    • These are definitely very rough numbers, and I didn't run the game for long, or with a lot going on, but the settings that make the 300/s cut-off seem at least somewhat stable.
    • Thanks to Tom Prince for updating!
  • Add some code for collecting and dumping setting access stats.
    • This adds two new console commands "dumpstats" (which shows the reports the average acceses per second, and "resetstats" which resets them to zero. These report both galaxy settings and game settings.
    • Thanks to Tom Prince for updating!
  • check that outguard spawn request is valid on button click instead of later in the queued request this fixed getting into deploy outguard placement mode when it wasn't even valid
    • Thanks to Dismiss for updating.
  • Fix the Wormhole Invasion settings for the base game. Makes the 'Immediate Invasion' option work rather than defaulting to Send As Waves due to a wrong word being used.
    • Thanks to Puffin Emeritus for fixing.
  • Use different ship lines of Viral Shredder Copies generated by different lines of Viral Shredders.
    • This allows one to have multiple lines of Viral Shredders in a single fleet, and each will grant the equivalent effective cap to line of copies.
    • Note that this will cause all Viral Shredder Copies in existing save games to be destroyed.
    • Thanks to Tom Prince for fixing.
  • Make orbital turrets (and other things that orbit an entity) immune to tractors.
    • While we are here, filter out everything that can never be tractored once, rather than per ship with tractors.
    • Thanks to Tom Prince for fixing.
  • Make the Tackle Drone Launcher only fire at mobile targets, given that the drone it launches can only fire at those.
    • Thanks to Tom Prince for fixing.
  • Clear cached max health of ship lines in player-style fleets when reusing the object.
    • This was causing unclaimed fleets to randomly have their health increased, leading to being able to claim them immediately.
    • Thanks to Lord Of Nothing for reproduction steps that allowed me to track this down, and to Tom Prince for fixing.
  • Rename the "Immediate Invasion"/"Immediate Wormhole" Wormhole Invasion style to "Exogalactic Wormhole".
    • The code and the XML didn't agree, so they weren't working. This was fixed in r18059 by changing the XML to match. However, since the setting is being changed, take this opportunity to use a more descriptive name.
    • As far as I can tell, this is *less* immediate invasion than Planet Linking. This gives 500s warning, whereas Planet Linking gives 120s.
    • Thanks to Tom Prince for fixing.
  • Add a cheat command "spendaibudget,<ai number>,<budget type>" to cause the AI to try to spend that budget type immediately.
    • Thanks to Tom Prince for adding.
  • Instead of a new command, trigger spending AI budget by adding a ",now" to the existing aibudget command.
    • Thanks to Tom Prince for adding.
  • Track the strength of things that aren't always targetable.
    • Some things (such as Deep-Space Anomaly Analyzers) are not automatically targeted (though players can manually target them, and factions can choose to target them). This can cause factions (like Dyson Spheres) to get stuck on planets with them, since they'll never be able to defeat the hostile strength on those worlds.
    • By tracking the strength of these things, it is possible to discount those things in pathfinding/attack logic.
    • BulkPathfinding was updated to use this, which allows Dyson Spheres to move on from planets with DSAAs.
    • Thanks to Tom Prince for adding.
  • Fix the incorrect subcategory heading being show in the game options sometimes.
    • This was happening when there was subcategories with no visible options.
    • Thanks to Tom Prince for fixing.
  • After discussion with CRCGamer, make the damage multiplier always additive.
    • Leave the setting allowing the speed multiplier to be handled additively or multiplicatively for now.
    • Thanks to Tom Prince for updating.

Balance

  • Default speed cap for human transports is 6,000. However the campaign settings for Expert was forcing an even lower default of 4,500. Now fixed to cap at 6,000 so Agile transports are actually a good deal in Expert too.
  • Several adjustments were made to Reactive Dummy mines within DLC2 upon discovery that they had such a low metal cost they legitimately would self-build in under three seconds. Incredibly fiddly micro had far too much value considering how little they previously cost.
    • Metal cost raised from 400 to 8000 per mine. Previously cost a tenth or less of other mine types per mine metal wise. Now tied with Kinetic Buffers another higher health utility mine for cost.
    • Self-build rate adjusted so they self-construct without engineer assistance in about 15 seconds which is roughly twice as fast as most mines build without support in keeping with Raid tech. A supporting factory worth of engineers can still build these in a second or two.
    • Added hardening so they take at least three hits to destroy from full health. Previously they could get blown up in only a single large hit under some circumstances. Still dies incredibly fast to damage from swarms however.
      • Increased retaliation damage from 2x to 4x received since the amount of health that can be lost to any one attack is reduced.
  • Adjustments made to multiple minefields after a corrective dive against an out of balance individual.
    • Fragmenting Mines got a damage nerf of having an extra zero removed, they will no longer be capable of dealing just under 4m damage at mark 4 from a singular entity.
      • The Greater Metabolism effect was pointed at an incorrect entry that only exists for regular Metabolism invalidating it. This has been corrected for both the Fragmenting Mine and the Frag Mines it spawns on death.
    • Area Mines in the base game have been given a 50% damage bump at base. Damage per target hit at mark 1 increased from 1000 to 1500.
    • Base game mines (Minefield, Area Mine, Paralysis) having overrides that only show up in DLC2 makes keeping track of certain things harder. And frankly the ability to upgrade mines with weapon techs in addition to the mine hull tech shouldn't be locked in this manner. These tech assignments moved into base game to match scaling for various entities being moved to base game previously.
      • Additionally base game mines had their attack ranges rebalanced to match the ranges on the mines introduced in DLC2. Detonation trigger range increased from 1000 to 2500.
    • The most basic Minefield exploded only ten times instead of five with DLC2 overrides in place. Moved to base game entity to make keeping track of what a mine actually is capable of easier.
  • Royal version of the Retribution Guardian apparently missed the previous change making them heavy on shields instead of hull. This corrects that oversight.
    • Base hull health: 240,000 -> 162,000
    • Base shield health: 120,000 -> 198,000
  • Report from Lord of Nothing that the Tachyon Eye had a ludicrously low attack range of only 9,000 meaning it wouldn't even cover a smaller system effectively.
    • Primary weapon range increased to 24,000 to have more reasonable coverage.
    • Secondary weapon added with full planet range that fires a few shots every few seconds. To make the eye being active at least somewhat hazardous in larger planetary regions.
  • Some nerfs to how overpowered the Kindness Class enclaves of Neinzul Custodians are.
    • Multiplicative speed bonuses have been replaced with a flat 50 plus additional 15 per mark level of speed per Kindness Enclave present.
      • In comparison to the previous values a single max mark Kindness Enclave now moves at 1,340 instead of 1,392. A group of five at 1,900 versus 2,520. And a group of twenty at 4,000 instead of 23,353.
    • Maximum damage bonus for a Mark 7 enclave reduced from 16% to 10%
      • With incoming changes to also make the stacking bonuses additive instead of multiplicative this massively reduces the overwhelming firepower to considerably saner levels. Twenty ships bonuses stacking together being an extra 200% damage instead of a hot mess of an additional 1880% damage because of to the Nth power stacking.
  • Made a change to the Bouncer's AI ship groups so it would quit being a common enemy within Simple Ensemble AI unit pools.
  • All AI Overlords and Galactic Control Ships are now immune to tractor beams.
  • Brutal Guardian Lairs, by default, do not spawn (unless the AI difficulty or campaign type forces them to become active).
    • Thanks for Apthorpe for reporting.
  • There is now a galaxy setting to change the planetary multiplicative damage and speed amplification from an exponential growth to a linear growth.
    • Normally, when a Mk7 Military Command Station with its 2.5x damage boost and an Amplifier with its 2x damage boost are on the same planet they combine to give the player 5x the normal damage. With this setting it goes down to being "only" 2.5x.
    • This can be changed at any time if the player sees it fit, but at some point it may become forced-on, or will be removed entirely when the right balance has been struck.

Additional Win Conditions

  • The game now has custom win conditions (in the Extended tab of the galaxy settings):
    • Forced-on except for Sandbox mode is to defeat all hostile AIs.
    • Optional (and default-off) at any campaign type are to also defeat all hostile minor factions as well as securing all player homeworlds.
    • Minor factions can now have their own defeat conditions via an XML tag defeat_condition, which accepts the following:
      • AllKingsDead -> All king units of this faction must die for it to count as defeated.
      • HasNoMoreUndefeatedAllies -> All allies of this faction must be defeated, then it will automatically count as defeated as well. Note that allies with the same defeat condition do not count as they would otherwise keep each other alive indefinitely.
      • OwnsNoPlanets -> This faction must be deprived of all planets to count as defeated.
      • OwnsCoreTerritoryIfAnyAtAll -> This faction must be deprived of all planets outside it's core territory to count as defeated. Currently this is only used for the Zenith Architrave.
      • HasNoMobileCombattantStrength -> All mobile combat units of this faction must die for it to count as defeated.
      • HasNoCombattantStrength -> All combat units of this faction must die for it to count as defeated.
      • HasNoStrength -> All units of this faction must die for it to count as defeated.
      • None -> This faction can not truly enter a state of having been dealt with for any significant amount of time. This is used for factions like the Devourer Golem.
    • By default factions now use:
      • AllKingsDead -> AI factions.
      • HasNoMobileCombattantStrength -> All Zombies
      • HasNoCombattantStrength -> Zenith Miners
      • HasNoStrength -> Marauders, Nanocaust, Dark Spire, normal and Enraged Macrophages, Scourge, Dark Zenith, Dark Zenith Svikari, Neinzul Migrants, all Neinzul Custodians, Neinzul Wild Hives, Sappers
      • OwnsCoreTerritoryIfAnyAtAll -> Zenith Architrave
    • Some factions such as Marauders may repeatedly enter and exit the state of being defeated, in which case the player must make sure that all their enemies are defeated at the same time.
    • A debug option exists to see why the game is not granting victory right now.
    • The intel tab has custom objectives for every type of faction defeat condition and will display those if the player has yet to complete them.
    • This way it is now possible to set the game in such a way that, to completely win, the player must also defeat all other enemies.
    • There is a new journal for defeating the last AI, but still having other factions to deal with.

Other Changes

  • The AMUTranscribedExtensions for adding objects to ArcenCharacterBuffers can now handle being given null - and will write "Null" in this case.
  • The ListOfLists class now can remove inner lists with RemoveInnerList(int OuterListIndex).
  • Added the CostBasedShipSpawner:
    • This is another port from AMU, in large parts rewritten from scratch. It's sort of a sibling of the EntityTypeDrawingBag, but specifically designed from the ground up to spawn ships, instead of just drawing entity types.
    • It specifically supports mechanics such as being able to save up budget and then spending it randomly on the ship types contained. Ship types can be [auto-] assigned weights [based on ship stats such as strength, metal/energy costs, etc], and are itself stored in weighted tiers of ship (i.e. Drones | Strike Craft | Frigates).
    • It also supports getting data its data from ETDBs, or fleets, or tags, and (in the future) most likely even more. This means it allows the XML-based setup of what factions may spawn with what frequency, with no changes in C# required.
    • Its spawning has multiple options that make it easy to get the ships wanted in the place wanted and the state wanted from the get-go, including things such as state of matter, fireteam IDs, location on the planet, and naturally the planet and faction itself. Spawns also innately respect stacking limits.
    • A detailed "users manual" is included as TEACHING_MOMENT In the comments of the source code at the start of the class.
      • This can be used in mods, or for refits in Vanilla and DLC factions.

DZ Sidekick

  • Add a setting to cause newly created ships to be rallied to their flagship
    • This is a major QoL improvement
  • Fix a bug where DZ Sidekick ships weren't being correctly added to your fleet

New Mod: DPS Hud by Dismiss

  • Ever wonder if that ship with the bonus damage was really significant enough to matter?
    • Open the 'At Local Planet' window and turn on the option at the bottom 'Show Ship Dps' to find out!
    • Details:
      • Damage is collected on a per-planet basis.
      • Some time after fighting stops, damage will be reset for that planet.
      • The number we show is technically not 'dps' it is the damage dealt in the current battle.
      • Damage will appear duplicated for ships with more than one line at the planet. It was not actually dealt twice.

5.014 The Tom Show

(Released May 28th, 2022)

  • Thanks to Tom Prince for literally everything in this particular release!
  • Fix Dyson Sphere Hop Range hacks to actually increase range, instead of max strength.
  • Track the number of times a Dyson Sphere has been hacked.
    • Originally, this was skipped, since the underlying unit was switched out when the sphere was antagonized. Since that is no longer the case, we can track that information, which will lead to the hacking button having the correct info about how many times the hack can be done in new games.
  • Don't destroy the dyson sphere once you've hacked it for ships the maximum number of times.
  • For the Zenith Dyson Sphere grant ship line hack, check if the hack should be hidden before not possible.
    • This prevents the hack showing up as not possible while the sphere is angry after the last possible hack, only to disappear after.
  • Don't spawn Dark Zenith Library or Repository for Sidekicks.
  • Update the squad registry when moving Dark Zenith Sidekick units into fleets.
    • This prevents a bunch of log spam about mis-matched info.
  • Show more accurate information about the effect of Dyson Sphere hacks.
    • Show the percentage increase (which matches the text), rather than the total percentage of the current value.
    • Don't round to integers early. This caused every hack after the first to show 100% (after the previous change, it would have always show 0% instead).
  • Add a button to the debug menu to open the debug settings directly.
    • I've often found my self on the debug menu wanting to change a debug setting.
    • While I'm here, tweak the debug menu background, so that it lines up with the buttons.
  • Fix the "Extra Allowed Distance For Adjacent-Seeded Item" option.
    • This was not having the intended effect, since it was not being added to the distance from the specific factions homeworld things could spawn, just the distance from *any* homeworld.
  • Remove accidental debug logging in selection window.
  • Show actual ranges for infinite range turrets on non-player worlds in Expert mode.
    • This removes the `does_not_draw_range_circle` setting for turrets, which was set automatically on infinite range turrets, and instead skips drawing the range circle when it is greater than the diameter of the gravwell on the planet.
  • Show actual ranges of turrets on non-player planets in tooltips for expert mode.
  • Prevent Necromancer from building things for the Zenith Trader.
    • This is done by limiting all the default sidebar categories to player types with the HumanEmpire tag, which means the items will be hidden. This means mods could add stuff to be bought by necromancer from the Zenith Trader by adding them to new sidebar categories.
  • Allow the Zenith Trader to be used in Necromancer only games again.
  • Don't require `science_cost_per_time_unlocked` to be specified for tech upgrades with `is_considered_blank=true`.
    • Also update Ohmu to use one of those techs for its direct upgrades.
  • Update the building contents of Necropolises while paused.
    • This also changes the unused `ExternalFleetBaseInfo.PerSecond_UpdateFleetData` to `.PerFrame_UpdateFleetData`.
  • Adjust logic for command station pinning to also consider the station pinned on non-player owned worlds.
    • Since after scrapping a command station the planet is longer owned by the player, the station needs to be pinned when the player doesn't own the planet.

5.013 Many Various

(Released May 26th, 2022)

  • Fixed a nuclear warhead typo.
    • Thanks to Dismiss for reporting.
  • Fixed a small typo in Asteroid Mining Powerplant's description.
    • Thanks to Друг for reporting.
  • Added the Spymaster and the Outgard Spies to the Spy Network galaxy filter mode.
    • Thanks to Dismiss for reporting.
  • Rewrote hover text for "Disable music" in debug menu.
  • Fixed one typo in AIP hover tooltip.
    • Thanks to Pybro for reporting.
  • Fix a bug where Minor-Faction allied Svikari might fail to join their allies.
    • Thanks to Dismiss for reporting
  • The AI Reserves now are explicitly disabled once the imperial spire is active
  • Also make the imperial fleet less likely to get stuck on planets by needing to kill a command station they aren't allowed to shoot.
    • Thanks to Mike for reporting
  • The alert for a Dark Spire Locus spawning now only tells you the planet name if you are watching the planet. This matches with the notification behaviour
    • Thanks to Lampshade for reporting
  • Every 60 seconds the galaxy will try to relink itself; there were some reports of the zenith miners disconnecting the galaxy
    • Thanks to Lampshade for reporting.
  • Stop having reverse tractoring prevent traversing wormholes.
    • Requested by zeus. Thanks to Tom Prince for implementing!
  • Make the Spire Frigates provided by spire cities in expert mode have slower speed.
    • This was already true of those provided by Frigate Neural Nets, and of all other spire ships. Note that this will only impact newly built cities in existing games.
    • Thanks to Tom Prince for implementing!
  • Relax some settings on harder campaigns, so harder settings can be picked.
    • Thanks to Tom Prince for implementing!
  • Fixing exception that occurred within hack response of an outguard beacon, if that beacon was on a planet never owned by the ai.
    • Removed comment from copy-pasted code that is incorrect.
    • Thanks to Dismiss for fixing!
  • Make the bottom right selection window show entity tooltips for modular ships.
    • This also makes selecting and deselecting them work as expected (selecting or deselecting by line, rather than by type).
    • Thanks to Tom Prince for implementing!
  • Entity Type Drawing Bag changes:
    • Fixed a bug in the EntityTypeDrawingBag wwhere it potentially didn't not draw certain things correctly under certain circumstances.
    • ETDBs can now also accept a weight_list in XML, which (by default) is 100 for each item inside. This will affect the items in the primary list, and allows each ETDB entry to be weighted differently if necessary. This multiplies through with potential sub-items:
    • The new XML tags is_in_random_pick_mode (bool, default is false) and random_pick_count (integer, default 0, only gets used when in random pick mode). Random Pick Mode alters the ETDB from working off its internal list one index at a time to randomly picking X indices (can pick the same twice or more).
      • I.e. an ETDB draws with a random pick count of 200 out of a list of 2 items, the first, weighted at 150, being a single unit by name (named "A"), and the second, weighted at 50, being a tag that 2 units in the game have (named "B" and "C"): There will be a 75% chance to choose A, and 12.5% chance for either B or C. Thus on average it will end up with 150 A, 25 B and 25 C.
    • Thanks to SirLimbo for adding!
  • Unit encyclopedia now supports search by 'Tech' eg, 'core' would show ships benefited by core
    • Thanks to Dismiss for implementing!
  • Show the total strength of ships in the sidebar tooltips, rather than the strength of a random stack.
    • Thanks to Tom Prince for fixing!
  • Take into account "AIP never reduces below" when calculating remaining AIP.
    • Thanks to Tom Prince for fixing!
  • Make `PlanetFaction.SwitchToFaction` use the right planetary fleet, when switching between faction for non-centerpieces.
    • I think this is the underlying bug that was triggering #26327. This might also be somehow related to #26000, which I was trying to debug when I discovered this, but I could not reproduce that bug.
    • Also, when both "Deep Logging On Object Histories" and "Show debug data in unit tooltips" are on, show that object history information in the tooltip.
    • Thanks to Tom Prince for fixing!

Facciola007 Mods

  • Several new mods by this new mod author!
    • New fleet starting names mod, for more new fleet name options.
    • Ark Starting Fleets mod that gives more options for starting out, and then a + version that is for using DLCs.
    • Golem Starting Fleets mod that gives more options for starting out, and then a + version that is for using DLCs.

DZ Sidekick Mod

  • DZ Sidekick now creates some economic and military at game start in svikari mode
    • Otherwise a sidekick player might just sit there for 10 minutes until they have their first ships
  • Add some defensive code to the game lobby for a DZ Sidekick related exception; this has proven hard to recreate
    • Thanks to SilverLight for the report

5.012 Necromancer Balance

(Released May 20th, 2022)

  • Now the Local Planet sidebar will properly display information when selecting an unexplored planet.
    • Thanks to Eluthena for reporting.
  • Fixed a graphical bug that showed unexplored planets, links and names when reloading previous saves that had the "hide unexplored planets" setting enabled.
    • This should also fix similar bugs with planet names from previous campaigns appearing on new ones created during the same game session.
    • Thanks to Zer0h1nder, Eluthena and Dismiss for reporting.
  • Fixed a divide by null exception in Vengeance Generators code.
    • Thanks to Dismiss for reporting.
  • Custodians now have a maximum cap for both Enclaves and Custodians based on difficulty, instead of scaling to infinity and beyond.
  • Fixed a typo in Neinzul Migrant Journal.
    • Thanks to Lampshade for reporting.
  • Add a setting to the DZ Sidekick to allow it to play without player control
    • This is very convenient for solo-play
  • Fixed an issue in the DS BaseInfo code where the faction was loaded before the actual XML data was read, causing the defaultEnergyThreshold to be 0, then EnergyThresholdForAttack be 0.
  • Make it possible for mods to include fleet or planet name sets.
    • Don't expect mod file to be in a `Configuration/` subdirecory when loading text files.
    • Don't fail to load a text file sets if the subdirectory doesn't exist in the base game.
    • Allow mods to add to base game name sets, rather than overriding them. If a mod wants to override a base game set, they can define a set with the same internal name but different subdirectory.
    • Don't load text files from disabled mods.
    • Thanks to Tom Prince for adding!
  • Add an option to have much scarcer essence for Necromancer.
    • Thanks to Tom Prince for adding!
  • Avoid spawning outguard all stacked on one another.
    • Previously, non-stationary outguard were all spawned directly on top of one another. Now they'll be spread out in a small area.
    • Use `GetSafePlacementPoint_SpecificPoint` instead of just finding a random nearby point.
    • Thanks to Dismiss for the initial patch, and Tom Prince for adding.
  • Show protection radius ring for Protection Totem when building, as well as once it has been placed.
    • Do this by adapting DrawRangeCircleForForcefield to support not having an entity, and use it when drawing the range circles for building; replacing the open-coded version that was being used there.
    • Thanks to Tom Prince for adding!
  • Rework how campaign harshness impacts galaxy settings.
    • Orignally, when support was added for having different settings for campaign types, it was controlled by having `max_campaign_harshness_to_display` for when a setting should become fixed, then `fixed_value_if_above_campaign_harshness` or `fixed_option_if_above_campaign_harshness` to control the value.
    • However, this has some limitations. You can only have one breakpoint, and the only thing you can do with that breakpoint is fix the value above (or below) that breakpoint.
    • All those options have been removed, and instead, you can add `harshness_override` as children of `galaxy_setting`s. These can either have `is_sandbox="true"` or `min_campaign_harshness_to_apply` to control when they overrides apply.
    • For integer settings, you can specify `default`, `min` and `max` to apply different defaults or ranges to the value. Or instead specify `fixed_value` to force a specific value. Similarly for boolean settings, you can specify `default` or `fixed_value`. Note that if `default`, `min` or `max` are unspecified, the values are taken from the base setting, rather than any less specific override.
    • For string settings, you can specify `default_option` or `fixed_option`.
    • You can also specify `disable_override` to remove an override. This is useful to be able to remove overrides in partial records, which is enough to handle the one existing mode that changes a galaxy setting. I'm not sure kind of other uses one might make of partial records for settings, so I'm not sure if `harshness_override` will have sensible behavior when used with that.
    • This shouldn't change the behavior of any existing options, except that sandbox now defaults to the same gravity well sizes as Humanity Ascendant instead of Challenger+, but as this was a large change, there may be bugs.
    • This doesn't change the similar attributes for special faction custom fields, though it would be possible to adapt this code there as well. Nor does it change the unused `use_alt_options_if_harshness_above` attribute.
    • Big thanks to Tom Prince for this upgrade!

Necromancer

  • The Necromancer is a very powerful faction, once figured out. Its strength is its mobility, its weakness is (supposed to be) its defenses. There have been enough reports of Necromancer static defenses overperforming and punching way above their weight. The catapult was the biggest offender, but the lightning tower was also too powerful. Speaking of too powerful, holy moley, revenants were busted! These are getting a heavy hit with the nerfhammer, along with the Decaying Mummies, who could stack a tremendous amount of attrition damage.
    • Special thanks to Leftclickz for calling attention to a lot of these problems!
  • Necromancer Catapult nerfs
    • Reduced orbital speed by half, so AI can catch up with it more reliably
    • Reduced base damage of catapults weapons. Primary weapon reduced from 500 to 400. Secondary Weapon reduced from 1,500 to 1,000
    • Reduced primary weapons extra salvos per mark from 3 to 1
    • Reduced the secondary weapons damage bonus against massive targets (mass 7tx and up) from x10 to x2
      • The catapults were absolutely slaying Elderlings and were able to avoid AI ships too easily.
  • Lightning Tower nerfs
    • Base damage reduced from 1,750 to 1,500
    • Bonus damage against high energy units reduced from x10 to x5
  • Nerfs to Revenants
    • Now only get 2 per home, reduced from 4
    • No longer has sniper range attack, but still has an extremely long range attack
    • Bonus damage against massive units (mass 7tx and up) reduced from x10 to x2
    • About doubled metal cost so these don't build as quickly
      • These units were grossly overperforming and the sniper range was far too abusable. These should still be quite formidable in players' hands, just less overtly broken
  • Decaying Mummy MAX attrition damage divided by 10.
    • These can stack too effectively
  • Mid/High Tier Flagships metal cost significantly reduced so these repair faster
  • Slight adjustments of metal costs to a variety of units for more consistency between tiers
  • Fixed AI version of Elderlings having microscopic models
    • Thanks to Dismiss for pointing this out

Templar

  • Players continue to demonstrate the Necromancer can dominate against 10 Intensity AI/Templar/Elderlings, so additional buffs to Templar are warranted, which is the primary adversary to the Necromancer. The balance changes below are almost exclusively focused on buffing the "Elite" versions of ships, which come into play at certain AIP thresholds. While this does affect all Templar intensities, these AIP thresholds are quite high for the low to mid Templar intensities so they will have limited impact. Higher Templar intensities will definitely experience a much scarier force of Templar in general, as their thresholds are very low.
  • Structures
    • Elite Templar Encampment buffs: Health increased to x3 from x2 and damage increased to x3 from x2 compared to (base) Encampment
    • Elite Templar Fastness buffs: Health increased to x3 from x2 and damage increased to x3 from x2 compared to (base) Fastness
    • Elite Templar Castle buffs: Health increased to x3 from x2 and damage increased to x3 from x2 compared to (base) Castle
  • Strikecraft Tier
    • Elite Apprentice buff: Health increased to x3 from x2 compared to (base) Apprentice
    • Elite Page buff: Health increased to x3 from x2 compared to (base) Page
    • Elite Squire buff: Health increased to x3 from x2 compared to (base) Squire
  • Guardian Tier
    • Inquisitor shields increased from 12K to 13K (to be equal to half its hull)
    • Elite Inquisitor buff: Health increased to x3 from x2 compared to (base) Inquisitor
    • Elite Exorcist buff: Health increased to x4 from x3 compared to (base) exorcist
    • Elite Paladin buff: Health increased to x4 from x2.8 compared to (base) Paladin
    • Elite Knights buff: Health increased to x4 from x3 compared to (base) knight
  • Wave Leaders
    • Blessed (Elite) Herald buffs:
      • Min mark now mark 3
      • Health increased to x3 from x2 compared to (base) Herald
      • Damage increased to x2 from x1.5 compared to (base) Herald
    • Holy (Elite) Prophet buffs:
      • Health increased to x3 from x2 compared to (base) Prophet
      • Damage increased to x2 from x1.5 compared to (base) Prophet
    • Divine (Elite) Harbinger buffs:
      • Health increased to x3 from x2 compared to (base) Harbinger
      • Damage increased to x2 from x1.5 compared to (base) Harbinger
  • Misc.
    • Fixed Hospitaler bonus damage to refer to enemies' time on the planet instead of its own time
      • Thanks to Lampshade for catching this

Dark Zenith changes

  • The higher intensity DZ's were arguably weaker than intensity 7, so these are getting some strong buffs to their economy. The DZ at 10 should really go toe to toe with the AI, so these changes are aimed at making it stronger overall
    • Added some missing xml modifiers to income when Fallen Spire is enabled. Previously, this was only added to intensity 10, so now there the Fallen Spire should have a harder time in general when the Dark Zenith are enabled
    • Jormugander gives reduced science, from 5K to 1.5K
      • The Dark Zenith planets still provide extra science without the AIP cost. There's just too much science to go around when the DZ is on, and this was actually making multiple Jormugandur (diff 9+) easier rather than harder.
    • Intensities 8+ have some buffs to income and invasion. They also have better harvesting and infrastructure

5.011 Autobuild And Home Ark Strength

(Released May 17th, 2022)

  • Added auto-building for the 4 types of hangars to DLC 2.
    • Thanks to SirLimbo for adding.
  • The experimental tooltip now has completely rewritten code for displaying the invulnerability based on other ships or structures existing in the galaxy that is much shorter, and even shows in the encyclopedia.
    • Thanks to Dismiss for requesting, and SirLimbo for fixing. Further feedback may be necessary.
  • Fixed an exception popup when trying to swap a single fleet line. The functionality itsel was fine, the text line for the fleet entry caused it.
    • Thanks to Pybro, Puffin, Haeris, Chuito12 and Matto for reporting, and SirLimbo for fixing.
  • Make any fleet centerpiece obey IsFleetFlagshipAllowedToUseMovementModes.
    • In particular, this impacts battlestations and citadels.
    • Thanks to Tom Prince for fixing.
  • Don't reduce the constuction speed of Gyrn, the Voidhome, when used as a home ark.
    • It appears that the construction speed for the home ark was added along with all the other home arks, and wasn't intended to override the base arks consturction speed.
    • Thanks to AyeMakSicur for suggesting, and Tom Prince for fixing.
  • Give Ark Empire's Home Arks the same mark scaling style as normal Arks.
    • When they were originally added, they got the default scaling style instead.
    • Thanks to AyeMakSicur for pointing out their scaling was different, and Tom Prince for fixing.
  • Fix to another exception in tooltips from recent build changes.
    • Thanks to Tom Prince for fixing.

DZ Sidekick enhancements

  • The initial spawning option to get the full invasion is now "Full Invasion", not "Immediate"
  • The DZ now invade with significantly fewer ships, and now get mini-Jormugandr flagships instead of the full monster.
    • The flagships upgrade with science, and the player gets science from Fimbulwintering a planet.
  • When a DZ sidekick unit is created, it will join the fleet of the nearest flagship, and must be manually given orders to travel to the flagship.
    • This fleet management setup is pretty hacky, but seems to not break things. This is a mod, after all.

5.010 Client Message Order

(Released May 14th, 2022)

  • Put in a pair of fixes to prevent issues with the host getting misordered confirmations of frame progress from the a network client, and then permanently stalling out in multiplayer until the client disconnected and reconnected.
    • This should fix all of the related issues to this specific problem, but if there are more culprits than just these two, then it could still occur. That said, one of these was a very clear smoking gun, so to speak, that was not properly handling the case of "what happens if message B gets processed before message A".
    • Thanks to Ushgarak for the discussion that led to finding this, and to all those players who verified for us with the testing tools that these were not threading deadlocks on the client.
  • Include the health of transported ships in the current health shown in the UI.
    • This prevents the health percentage shown in the UI from dropping as soon as you load a transport.
    • Thanks to Tom Prince for the fix!
  • Add a helper for creating hacking choices popouts.
    • This makes it easier to implement hacks that have multiple options, as well as hack that show only one on the sidebar when there are multiple entities that can be hacked.
    • This converts a number of hacks:
      • Outguard Becaons
      • Sabatoge/Reprogram
      • Necromancer Rift
    • This also makes the Transform and Track elderling hack use a popout, when there are multiple elderlings on a planet.
    • Thanks to Tom Prince for the updates!
  • Stop showing which elderling a hack is against in the sidebar tooltip.
    • Since it could be against multiple different targets, the value shown is incorrect.
    • Thanks to Tom Prince for the fix!

Balance

  • Balance adjustment to two wards. Namely the Stinger and Sabot wards.
    • Sabot Ward base damage doubled, given that its damage is absolutely horrid unless its condition is being met having the reward should be worth the energy cost of the maintaining the line.
    • Stinger Ward was horribly OP and has taken a couple well deserved nerf bat hits to the knees.
      • Energy cost per Stinger Ward increased from 200 to 750. The fact a fully built line only cost 6,000 energy made these insanely cheap to maintain. Full deployment cost is now 22,500 energy.
      • Damage output of Stinger Wards cut by 2/3. Sorry folks but the sustained DPS under ideal conditions at Mark 4 exceeding a half million DPS was a bit much! It is still exceptionally good. Just not quite as oppressively so.
      • Lowered damage bonus against low albedo from x4 to x3.
  • Railpod energy cost per ship reduced from 300 to 150. This ship variant has a line size over two times larger than the base unit it is forked from. This reduces the 91,800 energy cost of a full size Mark 4 line down to 45,900 energy instead. The real cost of using these should stay the metal and not have an additional energy tax on top as well.
  • Balance adjustment to two large turrets from DLC1.
    • Added a target cap to the Fuseball Turret of 30.
      • Prevents the damage from any one shot from diluting too far past the point where it would fail to kill even strikecraft.
    • Holocene Missile Launcher now fires in salvos of three every 17s instead just once.
      • Number of targets effected in any one shot reduced from 25 to 7. While yes this does lower its maximum paper damage this is warranted because the multiple projectiles significantly increases reliability and allows it to potentially multi-hit the same target several times if it is part of a clustered group.
  • The Sabot Eye was surprisingly weak against what it was supposed to deal with. Between a non-planetary coverage range and only a half million DPS versus valid targets and less than 5,000 DPS against all else it often wouldn't serve as a valid deterrent given its single target at a time nature even to what it should have been a strong threat against. Golems and high mark Spire ships laughed at it.
    • Against valid targets the Sabot Eye now deals in excess of five million DPS. No Mr. Golem you can't just shrug that off like nothing is happening.
    • Range of the Sabot weapon system is now full planetary coverage. Sitting outside of its range and just reducing a large gravity well with sniper frigates free of charge is no longer an option.

5.009 Zeusathon II And DZ Sidekicks

(Released May 12th, 2022)

  • Make a number of improvements to the hacking difficulty estimate
    • Thanks to Tim for a save game to reproduce the problem
  • In the Experimental Tooltip added a slight offset between the hull and shield values, and the strenght/AIP and speed values, to prevent the hull percentages from overlapping in certain cases.
  • Drone Gun UI overhaul
    • Cruisers with drone guns now display info on tooltip
    • Frigates and turrets with drone guns now display info on tooltip
    • Zenith Architrave units with drone guns now display info on tooltip
    • Dark Zenith units with drone guns now display info on tooltip
    • Outguard units with drone guns now display info on tooltip
    • ODSS(like Drone Stockade) units with drone guns now display info on tooltip
      • Probably missed a few, but this should cover the vast majority of units with drone guns
  • Fixed AI feeble guardian model to be properly scaled
    • Thanks to Dismiss for the tip
  • Fix several bugs with DZ linking to the galaxy; one where they would never link in Spectator games, and one where they would not link if they had the wrong set of allies
    • Thanks to mjcsalisbury and Chuito12 for reporting
  • The AI Reserves won't show up to attack planets without any mobile strength; turrets or necromancer guard posts are uninteresting to the reserves
    • Thanks to Chuito12 and Hazukichan (from steam) for the reports
  • Give the Dark Spire Locus an icon overlay so it can easily be distinguished from a regular VG
    • Thanks to Dismiss for reporting
  • Removed Terminii icon from showing up on the galaxy map
    • DZ can get like 5 per planet, so this was just too much clutter
  • Renamed the DZ Library (the Cruiser version) into the DZ Repository, to keep these distinct
  • Added a pathetical color to the different types of DZ Terminii
    • These were originally just color resources, and these colors are far easier to remember than the lore names (which are still there)
  • Fix a bug where Doomsday Mode wouldn't do anything
    • Thanks to Smidlee for reporting
  • Fix a problem with the date formatting in the metal spending popup in the resource bar
    • Thanks to M for reporting
  • Clarify the Dark Spire spelling of Specter
    • Thanks to Lord Of Nothing for reporting
  • Fix some typos in the necromancer anplifier hovertexts.
    • Thanks to Lord Of Nothing for reporting
  • Fix a tyope in the halberd corvette description
    • Thanks to Dismiss for reporting
  • Fix some exceptions with new strength calculations for rift hacks.
    • Thanks to Tom Prince for fixing!
  • Show the structure, as well as the ship granted by a rift hack.
    • There is relevant information about the building, that you often want to know when picking a hack, so show it as well.
    • Thanks to Tom Prince for updating!
  • Some minor improvements to city structure tooltips.
    • Thanks to Tom Prince for updating!
  • Only show "Summon Transcendant Elderling" hack once, since it does not matter which elderling is targeted.
    • Thanks to Tom Prince for updating!
  • Several code refactors for clarity and later extensibility.
    • Thanks to Tom Prince for updating!
  • Track how many times an elderling has leveled up, across tiers.
    • For existing games, guess that the elderling started at the current tier.
    • This will be used to provide an option to base level off this number, rather than tier and mark.
    • Thanks to Tom Prince for updating!
  • Fix per-fleet necromancer upgrades for old save games.
    • In older versions, that field was not cleared between games, so could contain garbage. However, we can recreate that information based on data on the faction.
    • Thanks to Tom Prince for fixing!
  • Show ship line cap for Vengeful Wight Bodyguard, and *not* Revived Vengeful Wights.
    • Thanks to Tom Prince for fixing!
  • Increase the wight cap increase granted by the Infectious Wight Home to 10 (to match the other starter wights).
    • Thanks to Tom Prince for updating!
  • Despawn instead of kill the original Lair, when spawning a Royal Brutal Guardian Lair.
    • This was causing AIP gain before the beginning of the game.
    • Thanks to Tom Prince for fixing!
  • Add (unbound) keybindings for dumping/aborting all threads.
    • I've tried to use the dump option, when threads get delayed, but not for long enough to bring up the debug menu.
    • Thanks to Tom Prince for updating!

Weapon/Sound FX

  • Added a "NecroticRay" shot type, applied to Revenant's secondary weapon, and the Plagueswarm Elderling/Flagship
  • Added a "CorrosiveBlast" shot type and added it to the Corrosive Frigate/Guardian/Guardpost
  • Added a "Repulsor" shot type and added it to the Bouncer (strikecraft), the Repulsor Ward, and the Repulsor modules for the Necromancer Necropoloeis
  • Many weapons were using redundant sound FX. Changed the following to give more variety
    • "PikeShot_Gold" now uses Laser2_Firing / Laser2_Hitting
    • "Sabot" now uses ArmorPiercingShell_Large_Firing / ArmorPiercingShell_Large_Hitting
    • "Ambush" now uses ArmorPiercingShell_Medium_Firing / ArmorPiercingShell_Medium_Hitting
    • "ImplosionCannon" now uses Artillery_Firing / Artillery_Hitting
    • "ElegantCurl" now uses LaserCluster_Firing / LaserCluster_Hitting
    • "DoubleShot_Red" and "DoubleShot_Green" now use BasicShell2_Firing / BasicShell2_Hitting
      • Now every weapon sound available sound effect appears in game!

Balance

  • Balance tweaks to corrosive dealing units:
    • Reduced the AOE of the corrosive finale attacks for the corrosive guardian/frigate, from 3,500 to 1,500
    • Corrosive Frigate/Guardian and Plagueswarm Eldering/Flagship no longer do full corrosive damage with their respective primary weapons. Instead, ~90% of their damage is corrosive and the remainder is fusion damage
    • Revenant now also gets this change
      • This is so they can actually kill things with their primary weapons
  • Corrosive Frigate Nerfs:
    • Increased metal cost from 21.5K to 75K.
    • Removed the damage multiplier and increased its damage by x3 [not x4, so this is a nerf]
    • added a strength multiplier of 1.5
      • These frigates were grossly overperforming. Their metal cost was cheaper than most frigates but this was allowing for extremely cheesy shenanigans. You are still able to do so, but it will cost you a lot more.
  • When a ship in a stack dies with corrosion damage, the next ship down inherits a very small portion of that damage
    • Previously it would inherit all the corrosion damage, so a lot of corrosion damage was very effective against large stacks of low-hull ships
  • DZ Harpoons and ZA Bolas have health reduced from 10K to 2K. Hardened resistance reduced from 5% to 20% (from at least 20 shots to at least 5 shots to kill)
    • These are intended to be intercepted by weapon fire but were too tanky previously
  • Samurai Frigate and Katanas bonus damage triggers at armor thickness of 60 mm from 80mm.
    • So these are less universal counters to guardposts
  • Reduced the number of orbital turrets from Orbital Dire Guardposts from 8 to 5
  • Increased the knockback of the Bouncer, Repulsor ward, and Repulsor Rocket module for Necropoloeis

Zenith Architrave

  • The Architrave are getting a significant balance pass, with the overall goal of making this faction an interesting but manageable obstacle on default 5 and lower intensities, to a gradually more formidable adversary at 6+ intensities. Many have observed that the best window to interact with the ZA was in the first 30 minutes, before their fortifications had a time to develop. So these changes are broadly targeted at reducing the amount of static defenses and increasing the time it takes for a ZA planet to level up.
  • ZA Spawner burst cooldown increased from 30 to 60 seconds. Damage reduced from 2,500 to 1,500
    • Since these are invulnerable until the other ZA defenses are killed, these were just too impactful
  • Reduced the defensive and utility structures per mark level of the ZA portal/spawner across intensities
    • These are primarily aimed at the lower intensity ZA, to encourage more aggression on their territory. The higher intensities were also brought down, as they were getting virtually impregnable
  • ZA portal/spawner mark up interval extended:
    • Intensities 1-5 now take 20 minutes to mark up. (Intensity 5 used to be 750 seconds [12.5 min])
    • Intensity 6 increased from 650 seconds to 900 seconds
    • Intensity 7 increased from 600 seconds to 900 seconds
    • Intensity 8 increased from 500 seconds to 800 seconds
    • Intensity 9 increased from 500 seconds to 700 seconds
    • Intensity 10 increased from 450 seconds to 600 seconds
      • Players noted that the best window to really interact with the ZA is in the first 30 minutes of a game. This is undesirable; this faction should offer much more interaction possibilities. This change along with the defenses means the ZA takes much longer to fortify a planet and the defensive cieling has been significantly lowered.
  • ZA income when it controls very few planets increased. Gets an additive increase to income every interval
    • Intenisty 1 does not apply
    • Intensities 2-5, inverval now every 60 seconds, income +5
    • Intensities 5-7 inverval now every 40 seconds, income +2
    • Intensities 8-10 interval now every 20 seconds, income +1
      • Lower ZA intensities could often be stonewalled and never expand. This should help them to more consistently take their first territory
  • Peacetime between ZA Pioneers reduced across intensities.
    • These were spawning too infrequently, and these are the primary way the ZA Civil War gets triggered
  • Time before ZA Territory Expansion changes
    • Intensity 1 from 1800 to 1500
    • Intensity 2 from 1700 to 1500
    • Intensity 3 from 1600 to 1500
    • Intensity 4 from 1500 to 1020
    • Intensity 5 from 300 to 900
    • Intensity 6 from 900 to 840
    • Intensity 7 from 600 to 780
    • Intensity 8 from 600 to 720
    • Intensity 9 from 600 to 600
    • Intensity 10 from 550 to 600
      • Looks like Intensity 5 was previously more expansive than some of the higher intensities! Lower intensities (1-4) expand faster than before, since they were taking a long time to expand. Intensities 5-10 now have a gradual decline in wait time before expanding

Necromancer/Templar/Elderlings

  • The Necromancer is taking some nerfs. It's becoming clear that the necromancer is a bit too powerful in the hands of skilled or very low AIP players. The goal is not to cause too much chaos for players at difficulties <= 6, and primarily to make it harder for difficulties >= 8.
  • Phylactery and Major Necropolis change:
    • Skeleton cap from 100 to 50; increased per mark reduced from 10 to 5
    • Wight cap from 40 to 20
  • Hack to increase caps of Skeletons reduced:
    • Warrior/Archer/Rogue reduced from 10 to 5
    • Mage from 7 to 2
    • Lord from 4 to 1
  • AIP for hacking a Mummy-home from the rift increased from 3 to 4
  • Increased the strength rating of the Necropoloeis, and the non-totem defensive structures
    • This doesn't change their stats, just makes the AI less likely to attack with an insufficient force
  • Revived Skeleton Lord attritions properly and has 75% health/damage of its original form
  • Templar intensities 8-10 now face elite Templar units sooner. Some other buffs to these intensities
    • Reports from veteran players showed that these intensities need to be bumped up. These changes are made to not upset the easier intensities
  • Sacrificial Elderlings now incur AIP given that they essentially grant the player a Golem transformation. Scales with the type of Elderling
    • Low tier (Cyclopean, Wrathful, Slothful) incur 5 AIP
    • Mid tier (Envious, Accursed, Decadent) incur 10 AIP
    • High Tier (Blasphemous, N.Drake, Plagueswarm) incur 15 AIP
    • Transcendent incurs 25 AIP
      • These are still a steal at these AIP levels. You only need to kill one of any type to be able to transform any number of flagships into that variety. These incur less AIP gain than claiming a Destroyer/Cruiser! Now that I say that, these values seem pretty low... but these are good for now
      • Updated "Transform Elderling" hack to warn about the AIP gain from killing a sacrificial elderling
  • Skeleton Archer changes
    • Base weapon reduced from 500 to 300, now grants 1 weapon point per attack, up to 4
    • Gains "Critical Strike" attack. Deals 300 damage every 17 seconds, dealing an additional x2 per weapon point (up to x8 damage with 4 points)
    • Gains damage resistance for the first 5 seconds on the planet, reducing incoming damage to 20%. This is to offset how vulnerable newly created archers are. The other base skeletons also have a defensive feature, so this makes them more on par with the others
  • AI-Allied Elderlings now mark up much more quickly for Challenger games. This is intended for human empire games, since Necromancer does not support Challenger.
  • Adjusted the AI Cost for Transcendental Elderlings to be more consistent with their power level
  • Increased the metal cost for skeletons and wights. The only impact this has is to slow down their construction rate. These were previously churning out of shipyards almost instantly, allowing for players to spam huge amounts of reinforcements during a fight.
  • Vengeful Wight nerfs
    • Base damage reduced from 4,000 to 3,000
    • Electrotoxic damage reduced from 100% to 25%
  • Fixed the Decadent Flagships knockback scaling to be negative, as this weapon is supposed to reel ships in
    • Thanks to Chuito12 for the report
  • Feeble Elderling starting Essence increased from 22 to 28, essence per mark decreased from 3 to 2
    • Mark 7 still the same amount of essence, but this makes killing a lower mark Elderling contributes more. Early game essence can be scarce and stall the early game
  • Mid Tier Elderlings (Decadent/Envious/Accursed) give reduced starting essence, from 15 to 10 at Mark 1 (still +2 per mark)
  • High Tier Elderlings (Blasphemous/N.Drake/Plagueswarm) give reduced essence, from 27 to 20, and reduced per mark increase from 2 to 1
    • In the mid to late game, essence is no longer a scarce resource. These changes to mid and high tier elderlings will have a marginal impact, but we're going to take this essence reduction slowly, as its better that its too abundant than too scarce

UI Fleet strength/count/health fixes

  • This should help the UI be both correct and once again uniform in the way that the UI calculates various fleet stats.
    • Fixed 2 bugs in the bottom-right selected fleets/ships list:
    • When only a single ship is selected all its content's strength now also counts. Previously a flagship with lots of contents would still only display the strength of itself.
      • The strength of fleet leaders is now no longer counted twice if their entire fleet is selected.
      • Additionally the selected strength is now displayed whenever it is above 0, in truncated form, which means with potential decimals and no longer always rounded down.
    • Wards now count as mobile strength if the parent entity or centerpiece they orbit around is mobile, alive and can move through wormholes.
    • Wards now also count as threat if the centerpiece counts as threat.
    • The GetCurrentTotalCount_ForUIOnly() method is now smart enough to realize that some things may die to remains, and thorough enough to not count those.
    • Replaced a large number of UI methods for strength of fleet calculations with the updated variants. This should fix even more cases where the strength of fleets was displayed divergent to what truly was there.
    • Did the same with functions that displayed the current/max count/health of all the ships in fleets.
    • Fixed a bug in the experimental tooltip where centerpieces and potential drones were only ever counted at the player's base tech level, often underestimating their strength by great amounts.

Badger Mod: Dark Zenith Sidekick

  • This mod provides a human playable version of the Dark Zenith. This requires another Player Empire, just like the Necromancer Sidekick.
    • You control the Dark Zenith military forces only; their economy runs without your control (controlling the economy would be very tedious and unfun)
    • Solo-Play is better supported than the necromancer sidekick, since you can set the DZ faction to play "as it would without your control"
      • As a side bonus: adding support for a human-playable version of many other factions (Scourge, Nanocaust, Marauders....) should be simple if you follow this template
      • As a mod, this is not officially supported by Arcen

5.008 Xenophiles And Outguard

(Released May 7th, 2022)

  • Took the nerfbat to the brutal Skirmisher AI over its excessive count of dire guard posts. It was showing up in games with a grand total of 24! Now reduced to a saner 15.
    • Dire GP on homeworld 6 -> 5
    • Dire GP on bastion worlds 6 -> 5
    • Number of bastion worlds 3 -> 2
    • Thanks to CRCGamer for the balance!
  • Add initial prototype of displaying drone gun information in tool tips.
    • Currently, this shouldn't be visible, since they all currently have system_is_hidden_for_ui="true" set, but is available for testing.
    • Thanks to Tom Prince for the fix.

Necromancer

  • N. Flagships can no longer be scrapped!
  • Bone Dragon buffs
    • Now has Regeneration. Full health (from 1) in 3 minutes
    • hexes from 5 to 4
    • Cap per home from 1 to 2
    • Min Mark for Necropolis from 5 to 4
      • These were basically too costly to ever justify and required too much investment before they ever paid off. They were too dependent on Igors to heal outside of player territory too. Hopefully, these are much more enticing picks now
  • Necropoloeis Summoning Module changes:
    • All varieties of summons now use a variant without a tech, so they markup with the Necropoloeis
    • Summon caged skeleton warriors (5 every 6 seconds) is now summon base skeletons (15 every 9 seconds)
  • Skull Pile should be better about launching full salvo of drones per interval
  • Skull Pile Caged skeletons now all use the Tower Defense tech
  • Don't seed initial metal harvesters as owned by a necromance empire.
    • Thanks to Tom Prince for the fix.
  • Mark Igor's as engineers.
    • This makes them selectable by the key press (unbound by default) to select them.
    • This also cause the mark scale style to be changed, which is a stat buff to them.
    • Thanks to Tom Prince for the fix.
  • Prevent Haunted/Desecrated Keeps and Necromancer Guardposts from building drones while they are constructing.
    • This also prevents any other self-build structures from doing so, though I'm not sure there are any currently.
    • Thanks to Tom Prince for the fix.
  • Adjust necromancer upgrade for Bone Dragon to match minimum necropolis mark required to build it.
    • Thanks to Tom Prince for the fix.

Brutal Guardians

  • Brutal Guardians:
    • The amount of Brutal Guardian Lairs in the galaxy now has a slider instead of single on/off switch, spawning anywhere from 0 to 6 in the galaxy (no longer 3 per AI), but always 3 if an AI of difficulty 8+ is present or starting with Expert mode.
    • Brutal Guardian Lairs now orbit the planet at 0.5°/s, and will spawn at the very outskirts of the planet.
    • Brutal Warp Gate Guardians now have a 300 second cooldown between waves instead of 1800 seconds. It was never intended to be this long of a duration.
    • For Royal AIs their Brutal Guardian Lairs are exchanged for Royal Brutal Guardian Lairs, which pump out the even-more-dreadful Royal Brutal Guardians. In addition to being twice as tough to destroy the Lair grants 750 instead of 500 science, and 25 instead of 15 hacking points - but also cost 20 instead of 15 AIP to destroy.
    • Royal Brutal Guardians have 2x the health and damage of their normal variants for combat models, and 1.5x the health and damage for "special mechanic" models.

Bugfixes

  • Fix to lobby being broken in the prior build (causing us to roll back).
    • Big thanks to Tom Prince for finding the one missing character that led to this.
  • Fixed a bug where the AI Overlords would not display their AIP on death when the planetary AIP had already been "used up" (possibly by Dire Guard Posts).
    • Thanks to André Luiz Galvão Rodrigues for reporting with a helpful test save.
  • Fixed a bug in the experimental tooltip where capturable fleets would not show the mark level of their ships correctly.
  • Prevent repairs to entities that haven't been claimed.
    • This allowed engineers to repair things like unclaimed flagships/golems on hostile planets.
    • This also caused engineers to double-dip, by claimg and repairing at the same time, on
    • friendly planets, and potentially with different metal cost for each.
    • Thanks to Tom Prince for the fix.
  • When firing a salvo with multiple shots from a drone gun, create a stack of the appropriate size.
    • Thanks to Tom Prince for the fix.
  • Don't include `MULTI-SHOT` line in drone gun hover text.
    • Thanks to Tom Prince for the fix.
  • Prevent empty ship lines from triggering Venators.
    • This affects Necromancer, as their fleets have every possible ship line, with 0 ship cap.
    • Thanks to Tom Prince for the fix.

Xenophile update - Worth the CPU load, by ArnaudB

Changes to Zenith Dyson Sphere

  • A huge set of changes to the Zenith Dyson Sphere. It's still medium impact, but can be messed with to dramatically change the game.
  • Reduced ships hack duration from 60 to 20 seconds. Reduced hacking response boost for hacking the same sphere from ships from 2.0 to 1.2. Lowered cost increase on hostile worlds from 1.7 to 1.5.
  • Increased ship hack cost from 12 to 20 as, due to sphere antagonize swap, the cost doesn't rise with multiple ship hacks. It does correctly prevent you from ship hacking more than three times.
  • Reduced Strength/MaxStrength/Range from 180 seconds to 20 seconds. Costs increased from 15 to 20.
    • The Sphere will be angry for a while after hacks, thus long hack time is unnecessary. Reduced response to encourage using ships of a faction that cost CPU load.
  • Changed Budget hack increase to +2x multiplier per hack, from 0.2x to 2.0x at intensity 1-10. (This means +200% ships production per second per budget hack.)
  • Changed Max Strength hack increase to +2x multiplier per hack, from 0.2 to 2.0x at intensity 1-10. (This means +200% max ships capacity per max strength hack)
  • Increased Range hack still increase range by 1.
    • Tests showed +2x multiplier was a good value to get some impact. Note that the AI will send forces against minor forces, including the Spheres. The AI is perfectly capable of locking down the Dyson if you don't assist it, even with multiple hacks.
  • budget multiplier when Sphere below 10% capacity increased to 3x, from 1.25x to 3.0x at intensity 1-10. Added warning in Budget hack.
    • It's more capable of fighting off invaders, including the player.
  • Changed budget and max strength at all difficulty. Old intensity 5 is now intensity 3.
  • Reduced by half the Budget/MaxStrength increase per hour, doubled Budget/MaxStrength increase per 100 AIP.
    • This should make the Sphere much more reactive to how the player actually play, especially during shorter games.
  • Antagonizer now starts appearing at intensity 5 from 7. Cooldown between antagonizers increased from 2 hours to 2h40. Increased base timer before antagonizer trigger its effect from 60 seconds to 120 seconds, plus 30 seconds per hop from Sphere. Antagonizer is now visually twice as big.
    • This is the method for the AI to punish players who recklessly invest in the Sphere. Given the Sphere is now much more capable and can be pushed further, timer and interval have been increased to give more breathing room to players.

Changes to Dyson Ships

  • Dyson Defender now has x2 damage against target with 50% hull or more. Cost for AI lowered to make the Dyson spawn them as primary.
  • Dyson Sentinel now has x3 damage against 2tx and above (including turrets!!!) and more range. It's slightly more expensive for the AI.
  • Dyson Bulwark now has a weapon jamming AOE instead of its AOE grenade. Its Pulse Laser is now a slow-firing, high damage weapon with 60% pierce and 2x damage against target with 90% hull or more. It's significantly more expensive for the AI to build.
    • All those changes should make Dyson Ships far more capable in both foes and allies hands. Each ship offers a distinct benefit for hacking, and synergize together. The Bulwark's finisher will make nesting turrets next to the Dyson Sphere a far costlier proposition.
  • All Dyson Ships start at Mark 2. 50% more performance friendly. This technically makes Spheres not stronger, since Sphere fleet is capped by Strength.

Changes to Dark Spire

  • More peformance sanity, scaling intensity and interesting hacks.
  • Conversion ratio cap at low/mid/high intensity reduced from 100/120/500 to 80/140/200. This should make intensity scales sanely, and it'll save a lot of performance at high intensity.
  • Reduced ships hack duration from 120 to 60 seconds. Reduced hacking response boost for hacking the same generator from ships from 2.8 to 1.4. Lowered cost increase on hostile worlds from 1.7 to 1.5.
    • Description now mentions the permanent energy income gain, to help players link Dark Spire disaster with their own actions.
  • Reduced Provoke Vengeance Strike hack duration to 10 seconds from 300, reduced cost from 20 to 5.
    • It was a useless hack that was never used, given the time and cost for a "dubious" effect. Now you can use this to make messes. Satisfaction not guaranteed.
  • Render VG vulnerable hack duration increased to 360 seconds from 250. Just so triple ship hacks plus vulnerable VG isn't too easy to pull off.

Change to Dark Spire ships

  • reduced AI cost for Wraith to 200 from 300, for Phantom to 250 from 300, Specter from 900 to 1600, Eidolon from 1200 to 5400.
    • This should make the Dark Spire fleets more diverse. It should cut down on Eidolon spam : it was the cost-effective ship of the Dark Spire by over ten times, on top of having the highest mark. This is still the best deal for the Dark Spire, but it's no longer breaking all scales.
  • Starting Mark of Wraith and Phantom increased to 3 from 1. Starting Mark of Specter increased to 4 from 3.
    • Another tool to make DS smaller ships relevant at all stage of the game. It effectively double the health and damage of Phantom and Wraith (except for player's hacked ones).
  • Increased speed of Wraith from 400 to 600, Specter and Eidolon from 400 to 500. Phantom remains at 400 speed.
    • This should make the Dark Spire disperse a little, and keep their Phantoms a bit behind instead of making them prime target for everything.
  • Wraith increased hull/shield from 7000/14000 to 9000/18000.
    • A small buff to help it shine with its 0.7 albedo when all others Dark Spire ships have 0.4 (ie, agravic is really bad for Wraith).
  • Phantom now has 1.5x damage against 5tx or more, like bombard. Armor lowered from 50 to 30. Hull/Shield increased to 4000/8000 from 3500/7000.
    • Better targeting should help casual players, who are now more likely to get their flagship killed before the Dark Spire can snowball from replenishing casualties. Veteran should find their beachheading battlestations and Spire Fleets more smartly focused if they don't take counter-measures.

Risk Analyzers

  • RiskAnalysers AI response/exo no longer scales with intensity, instead of scaling from 0.2x to 3.0x. Such scaling already naturally happens from the number of Risk Analysers (1 per intensity) and from a bonus exo income at high intensity.

Others

  • Fixed Molotov and Barnacle not using the tag "WeaponJamAsPrimary" for target evaluation. (This should make them MUCH better)
  • Eclectic starting Battlestation now has 25 concussion turrets instead of 5, as it wrongly had.
  • Pirate starting battlestation traded the Ruffian turret for the Makeshift turret it once had.
    • It's much less broken than it once was, and the mix of Blitzkrieg, Makeshift and Scrap is very fun to use. (Expect ban on expert)

New Mod: Outguard Party, by Dismiss

  • New mod by Dismiss: Outguard Party
    • The purpose of this mod is to remove the steep penalties to outguard and encourage experimentation with their use.
    • Outguard are fun to use, but not what wins you the game.

5.007 The Reasonable Architrave

(Released May 5th, 2022)

  • Fixed descriptive text on Shield Ward claiming they each generate five Embrasure Wards each to the actual count of three.
  • Dyson Sphere factions' hacking responses now no longer scale as painfully
    • Previously, they could spawn strength equal to around double their current capacity while being hacked
    • Now, they can only do so in the early game
      • Added after feedback from Dismiss on discord
  • Added in some dynamic description for the Dyson Sphere Factions' Budget and Strength hacks, so the player is aware of the value of each hack
    • Added as per discussions with Dismiss, ArnaudB, and Strategic Sage on discord
  • Fix a major balance problem with the ZA, where they would continue to get income even with the game paused
    • Thanks to Lord of Nothing for reporting
  • Make the human empire better able to hack showdown devices, and showdown devices are better at seeding all of themselves
    • Thanks to Strategic Sage for reporting
  • All tooltip settings now have their own "Tooltip Customization" settings category.
  • More work on the experimental unit tooltip:
    • On short and medium tooltips there is a bit more space after the shield value in the 1st row, and the speed value in the 2nd row. High speed numbers could overlap the engine power, the first row was adjusted to maintain the same spacing.
    • On medium tooltips the members of a fleet are now displayed with their icons instead of text, and on both detail levels they are now separated with a " | ".
    • Transported ships now never write "transporting" and the transported count out, instead a red "[count] T" signifies that not all are loaded, only the displayed count, while a green "T" signifies that all have been loaded.
      • Thanks to Badger for suggesting the use of ship icons in tooltips!
    • The current/max unit count for fleet leaders is now colorized in the "estimated combat readiness" going from red (needs refleeting) to green (go time). This is based both of current strength and unit count, compared to max. Losing a lot of strong frigates will make go towards red and so will losing a lot of strike craft, even if the other remains almost untouched for a slightly more realistic estimate than just strength or unit counts.
    • It is now possible to combine the entries for multiple fleet memberships if the centerpiece has two of the same type and mark. By default this is off.
    • It is now possible to sort units in the fleet membership entity tooltip in 6 ways with priorities to strength, name or type. This defaults to Type > Name > Strength.
    • Units that currently do not really exist in a fleet (0 unit count, no max to build up to) should no longer display.
      • Currently known issues: Drones do not show the progress to the next one ready, Spire Cities do not show all info about the members and what members may be granted, even at higher tooltip levels.
  • Station-keepers should no longer be dragged to other planets with tractor beams. Untested
    • Thanks to Ecthelon for reporting
  • Fixed a bug that caused the player faction to increase AIP twice when destroying a command station with corrosion or nuclear weapons and then building a station there.
    • This happens because the origin of the damage (the faction that did it) is not known during the AIP attribution, so when players build a station or necropolis on the planet, the instance increases AIP again since the game does not know that it was the players who destroyed it.
    • This fix introduces a major change to how corrosion works - it won't be able to kill units, but will leave them at 1 HP and the shields will be nullified.
    • Thanks to LilLillyFox for making me aware of the issue on discord.
  • Major nerf to the Science granted by Elderlings to the human empire
    • Turns out they were more like loot pinatas than terrifying eldritch monsters
    • Thanks to BaronBowden for the bug report
  • Necromancer Modules updated so that there are more 1 point options, so players can easily dismiss the notification
    • Added 2 one-point modules for +25% hull/shields respectively
    • Plasma weapon module (bonus against FF) reduced from 3 to 1 points, damage from 2,500 to 500. (Flagship only)
  • Added Necromancy damage to some N.Flagships weapons that were missed
  • Added a new "Threading Exchanger" framework to our general library for the game. This hands certain forms of gates into the code, where a thread cannot go into that section of the code until another thread reports that it is done in there.
    • Previously this was implemented with dozens of individual Interlocked.Exchange calls, but now those all use the ThreadingExchanger class, which centralizes things.
    • Overall, not much changes with this, except that now when you use the "Log All Threads" debug function, or the "Abort All Threads" debug function, it will also log all of these that are set to busy, and set them all to idle.
    • If you are seeing the game "paused and won't do anything," then this should be the final piece of instrumentation that would fix that. For MP clients, same deal.
      • This is mostly a debugging tool, but it's also a workaround. When you run into one of those "perma paused, won't go" situations, have everyone affected hit the escape menu, go into debug on that, and hit "Abort all threads," and that should get things moving again. Please then also send us the logs that result from that, so that we can fix whatever the issue is now that it's been identified.
    • Thanks to mattmein, trabbo, Dismiss, Zer0h1nder, and others for reporting.
  • The minimum port number supported by the game is now 1024 rather than 10,000.
    • Thanks to Dark Souls is a Fighting Game for suggesting.
  • Fixed an issue where client requests for units that were dead could wind up causing endless canary codes, rather than just properly informing them they were dead.
    • This is probably a solution to a fairly longstanding issue that has been very confusing; it may resolve more secondary issues with MP than it seems directly to.
    • Thanks to SomebodyXp for reporting.
  • Improved an issue with reading more factions in sync data in MP.
    • Thanks to SomebodyXp for reporting.
  • Fixed an issue with premature warnings about pathing helper lists not having their memory cleaned up.
    • Thanks to Philippe Longval for reporting.
  • Hardened the elderling description appender against errors, and also made it report better errors and cause less chaos if it does have an error.
    • Thanks to Bob for reporting.
  • Fixed an issue in MP where duplicate messages about a player upgrading a tech would be reported in chat, one per player in the game.
    • Thanks to Tuntematon for reporting.
  • Finally add in that setting to enable making AI Waves not Relentless. This is entirely hidden by default, in a new galaxy settings file. Only way anyone can ever see it is if they dig around in the game files.
    • File is basically a place to put mod only settings, if any more are created.
    • Thanks to Puffin for adding.
  • Show transported units raised via necromancy
    • Thanks to Tom Prince for updating.
  • Rename `ExternalFleetBaseInfo.AddToTooltipForEntity` to `.AddToTooltipForFleet` and remove extraneous parameters.
    • Also, this replaces the necromancer specific code for the sidebar fleet tooltip with a call to this function.
    • Thanks to Tom Prince for updating.
  • Add doublebuffering to the necromancer fleet bonus info, to prevent flicking of tooltips.
    • Also, move the logic from `NecromancerMobileFleetBaseInfo.PerSecond_UpdateFleetData` to `NecromancerFactionBaseInfo.DoPerSecondLogic_Stage2Aggregating_OnMainThreadAndPartOfSim_ClientAndHost`. Since they both were trying to update `Percent*Type`, this prevent them from stepping on each other, and lets the tooltips be updated while the game is paused.
    • Thanks to Tom Prince for updating.
  • Display excess necromancy ratios in tooltips.
    • This is the percentage amount over 100% for getting upgraded units via necromancy. The actual percentages used (and shown) for each type are scaled relative to the total percentage, if it is > 100%.
    • Thanks to Tom Prince for adding.
  • Don't allow `GetIntoTransport` orders to be overridden by unit behavior.
    • This was causing melee units, in paricular, to dance back and forth between the transport and enemies. This is likely particularly noticeable when "Wait for Stragglers" or when using necromancer, as I think you are more likely

to be observing a ship loading while there are enemies on a planet close enough to attack.

    • Thanks to Tom Prince for adding.
  • Keep a list of available necromancer blueprints, rather than generating a temporary list of them when required.
    • Thanks to Tom Prince for updating.
  • Include remains in ship count for the local planet sidebar.
    • Since the ship count is used to determine if a category is included in the sidebar, the count needs to include remains, as those are shown in the sidebar.
    • Otherwise, if everything on the planet is remains, the icons for those ships will sometimes show up in random positions. This is particularly relevant for necromancer, as often planets will only have the remains of converted guardposts.
    • Thanks to Tom Prince for updating.
  • Prevent scrapping city-fed fleet leaders (in particular, necromancer flagships).
    • Thanks to Tom Prince for adding.
  • Allow transforming Necromancer Flagships from the fleet window.
    • This is done in a mod-friendly way, by adding a new `IFleetTransforms`, which can be implemented by a `ExternalFleetBaseInfo` to add support for a new type of transform.
    • This is accessed by the `GetFleetTransforms` extension method on `Fleet`.
    • Thanks to Tom Prince for adding.
  • Add a `AddShipIconInline` extension method to ArcenCharacterBufferBase, and use it everywhere.
    • Thanks to Tom Prince for adding.
  • Show the whether flagships are in stationary mode in the galaxy map.
    • Thanks to Tom Prince for adding, and Dismiss for reporting.
  • Fix a variety of tech errors.
    • Thanks to Tom Prince for fixing, and Lord Of Nothingfor reporting.
  • Improve the calculation of the changes in ship cap, in the tech upgrade/downgrade tooltips.
    • Previously, it would include the cap increase from the *current* level, or the cap decrease from the *target* level when reporting changes.
    • This did not effect the total strength calculation, as those used a different function that was not impacted.
    • If you have multiple lines of a single ship type, the calculation can still be incorrect, tooltip calculation uses the total cap, which may round differently than the various individual caps.
    • Thanks to Tom Prince for fixing.
  • Update Necromancer Amplifier seeding.
    • Make all amplifiers AI owned. This should fix #27166, as the will no longer be owned by the neutral faction.
    • Adjust the seeding distance of amplifiers:
      • Take into account the extra and reduced seeding distance for things.
      • Increase the minimum distance to non-adjacent for Wight (3 -> 4) and Mummy (3 -> 5) amplifiers.
      • Decrease the minimum distance from an AI homeworld for Skeleton and Wight (5 -> 3) and Mummy (5 -> 2) amplifiers.
    • I had noticed on a Swirl map Skeleton amplifiers were clumped somewhat near my homeworld, and all together. This change lets them be somewhat more spread out, with some of them managing to be between the two homeworld, opposite my starting planet, which was previously impossible. Looking at a pre-change campaign, 10 of the 14 amplifiers were in a connected cluster of planets; this type of result should be less common now.
    • Thanks to Tom Prince for updating.
  • Fix the drone construction of the Necromancer's Haunted Keep.
    • The ships it was supposed to build were not marked as drones.
    • Thanks to Tom Prince for updating.

Updated Mods

  • MFS Frigates:
    • Updated weapon beam colours from yellow to the intended red (thank you for whomever updated them after the beam colour update)
    • Buffed Command Frigate to have a stronger planetary attack multiplier to justify rarity.
    • Updated mods to match current standard and balance. Removed numerous older mods that are obsolete or are no longer being developed.
    • Thanks to Zweihand.
  • Capturable Dreadnoughts:
    • Updated energy consumption to be more in line with current game balance
    • Updated mods to match current standard and balance. Removed numerous older mods that are obsolete or are no longer being developed.
    • Thanks to Zweihand.

5.006 End To Spontaneous Combustion

(Released April 29th, 2022)

  • AI's response to Migrant Fleets have been heavily reduced
    • Maximum power level reduced by 50%
    • Power from migrant waves reduced by 80%
    • Power from clanlings reduced by 80%
      • Thanks to Strategic Sage for noticing the AI was being a big bully
  • Small adjustment to the non-scaling speed bonus granted by economic command stations.
    • Allied ships move speed bonus 2x -> 1.5x
  • Change the cost of transforming a Necromancer Flagship to be based on the minmum mark level required for the new type, instead of the current mark level.
    • Thanks to Tom Prince for implementing.
  • Take active hacks into account when checking available hacking points for transforming flagships.
    • This mirrors the check for starting a new hack.
    • Thanks to Tom Prince for implementing.
  • Don't display experience or upgrade state of elderligns that cant' upgrade.
    • This includes Mark 7 high-tier and feeble elderlings, sacrificial elderlings and eldritch elderlings.
    • Given that they never upgrade, there is no point in tracking experience or displaying experience on them.
    • Thanks to Tom Prince for implementing.
  • Display the stats for the current mark level of a transformed Necromancer flagship in the hack tooltip.
    • Thanks to Tom Prince for implementing.
  • Highlight the target of a move phylactery hack, when hovering over it.
    • Thanks to Tom Prince for implementing.
  • Fixed a three-pronged bug in the central strength calculation code where the planetary attack damage multiplier of the centerpiece was added up to the strength rating multiplier for DPS:
    • This was wrong because if anything this should have been a multiplication, not addition.
    • Additionally this was double-dipping because since the unification of the damage calculation code the relevant multipliers are all added up centrally already - though technically since there are no entities to which this would apply it flew under the radar.
    • This bug only showed after some changes to planetary damage amplification made the default value FInt.One instead of FInt.Zero (before > FInt.Zero was required for this bug to appear, so now it did all the time).
      • End effect: Due to this trifecta of bugs all fleets with living centerpieces had the DPS of their members valued at 50% more for strength rating, leading to wrong values all over the place.
    • While at it fixed as few other (harmless due to not having a trifecta such as this) places where the comparison to ignore was > FInt.Zero instead of != Fint.One. This should slightly improve performance.
      • This fixes the issue where fleet strength numbers were incorrect, discovered when Neinzul Clusters with all of their drones loaded had a higher strength displayed for their fleet compared to the strength loaded. It turns out the latter was correct.
      • This means that most combat-related player units as well as drones all over will appear to be be ~15-20% weaker. Note that no actual combat-related values have been changed. The previously displayed strength numbers were incorrect!
      • Thanks to Ithuriel for reporting an incorrect Neinzul Hive drone fleet strength, leading down to this rabbit hole!
  • The experimental entity tooltip now also displays the maximum unit count possible in this fleet (most relevant for player and drone fleets).
    • All the values (current/max strength/units) are now calculated in UI-only methods which are more expensive, but hopefully 100% accurate.
  • Fix a divide by zero race condition
    • Thanks to Dismiss for reporting
  • Prevent a race condition where sometimes player-owned units would just explode for no reason
    • This at the very least caused frustrations to people in the Tutorial. I suspect it was happening with disconcerting regularity in other games, but have no evidence
    • Thanks to a number of people on Steam for reporting
  • Fix a bug with the achievement Think The AI Won't Notice? where it was firing incorrectly
    • Thanks to a number of people on mantis for reporting
  • Add support for a new form of Achievement, currently only used for Think The AI Won't Notice
    • This will allow you to say "Has the player gotten a ship with a specific tag to a given mark level", and is used for things like "Think The AI Won't Notice" for "any spire city at mark 7"
    • To use this, you need the following: condition_type UpgradeFleetLineToMark, condition_string_mode = "Tag", condition_string_mode="Tag you want to trigger on (theoretically supports multiple tags, but untested, so please verify) and condition_magnitude="Mark level you are looking for"
  • Fix an error in Maddened Elderling Code
    • Thanks to Strategic Sage for reporting
  • Fix a ZA bug where we could produce infinite phased out golems that wouldn't do anything
    • Thanks to ArnaudB for reporting

5.005 Threat Properly Threatens

(Released April 26th, 2022)

  • Temporarily, in tutorials the game logs any ship deaths silently to the log, with full stack traces (this is ArcenDebugLog.txt in the PlayerData folder). There is some super funky bug with ships dying for no apparent reason for some players in the tutorials, but we can't duplicate this internally at all, so this should give us the debugging info we need for that.
    • Thanks to Croaker, gwelty, Tabellen Peter, and others for reporting.
  • For the experimental, default-off tooltip: Fleet strength numbers now indicate not only the maximum strength of the fleet, but also the current strength and maximum amount of ships.
    • This is to pin down a bug in the code which overestimates Neinzul Wild Hive drone fleet strength by potentially 2 magnitudes.
    • Thanks to NR SirLimbo for adding.
  • Highlight both source and destination of womrhole invation on notification hover.
    • Thanks to tom.prince for implementing.
  • Wormhole invasion improvements:
    • Fix the check for targeting hostile planets. Previously, it would happily target planets that were not hostile to the AI launching it, which would often be the other AI, leading to a wormhole invasion between two random AI planets. Now it checks that the target is hostile to the launching AI, and an ally of the player.
    • Ignore planets with a negative invasion score, since GetInvasionScoreForPlanet returns a such a value if the score is otherwise zero.
    • Add a check to prevent two wormhole invasions happening in opposite directions. This occured to be accidentally while testing with the cheat, without the first fix. It led to two wormhole between planets.
    • Thanks to tom.prince for implementing.
  • The necromancer sidekick lobby text now explains precisely how it differs from the necromancer empire
    • Thanks to Badger for adding.
  • Change the pathfinding code to return the list of next planets to go to, excluding the origin.
    • The most common caller of the pathfinding code is for creating a `SetWormholePath`, which should not include the current planet. It happens the initial order generated will be ignored, as it is invalid, most of the time. However, if you have a stationary Necromancer flagship on a planet adjacent to where a unit is summoned by necromancy with orders to an adjacent palnet, the orders will be copied to the new unit, resulting in it pathing back to the flagship before joining a fight.
    • The pathfinding code is also used for determining if a path is safe for some unit to travel. Generally, the unit is already on the origin planet, so it doesn't have a choice to go there or not, so it should be skipped for this kind of check as well.
    • This also adjust the few places that expected the origin to be included, and removes a duplicate copy of `Fireteam.GetDangerOfPath` that differed only in handling of the origin planet.
    • Thanks to tom.prince for implementing.
  • You can now tweak fireteam settings on a per-faction basis for 'how often does this fireteam choose its Best target'. This is not recommended, and is added (I think) for CF support)
    • Thanks to Badger for implementing.

Balance

  • Increased delay before the DLC3 AI Eyes can transform.
    • Every time an AI Eye activates or inactivates, it clears the attack orders of all ships attacking it. This is inherent to the transformation logic and not in scope to be changed. The original Eyes stayed active for 60s once triggered, so this wasn't very noticeable, but the new Eyes had much shorter cooldowns to make them more responsive. However, this made them very annoying to kill once they triggered, as they would constantly transform, causing everything attacking them to go after something else.
    • Most of the new Eyes must now be in the inactive state for 10s and in their active state for 30s before they can transform.
    • The Dire Guardian Eye must be inactive for 30s and active for 7s before transforming; it'll always spawn at least one Dire Guardian when triggered, but if that's enough for it to deactivate, you've got 30 seconds before it spawns another.
    • Thanks to Dismiss for the report and to Tadrinth for fixing.
  • A few nerfs to the Corrosive Guardian
    • This is purely a bandaid until zeus can take a look

Bugfixes

  • Fixed a bug with Risk Analyzer's on death AIP change
    • Thanks to rem_tuas for the report
  • Fix to the Strength Counting code again. The fix before to make Guards not count as threat, made it so only the AI Sentinels faction would. Hunter (and things like CPA faction ships) would get ignored by the top bar and galaxy filter. It now checks if the units faction is of FactionType.AI (as it did before), AND checks if the units faction is allied to the AI by default. If both are false, it's not an AI unit!
    • Thanks to Puffin for fixing!
  • Improve the debug output of `EntityOrderCollection`.
    • Thanks to tom.prince for implementing.
  • Fix some errors in CPA tracing.
    • Thanks to tom.prince for implementing.
  • Further limitations to Custodian subfaction spawning to prevent teams from joining games they shouldn't be in.
    • Thanks to StarKelp for implementing.
  • Fixed a couple of MP-client-side errors that were possible in UpdateAllSortedStuffIfNeed, and also instrumented it so that it will not lead to error cascades, as well as so that if it has another error, we'll know exactly where that is.
    • Thanks to ParadoxSong for reporting.
  • Put in a probable fix for rare fireteam history deserialization that could happen in MP on clients. In the event that it still happens, it now gives a better error at least.
    • Turns out that this could also lead to error cascades in some cases.
    • Thanks to ParadoxSong and Alex M for reporting.
  • Fixed some client-side-only exceptions that could happen when hacking elderlings in multiplayer.
    • Thanks to ParadoxSong and firespier for reporting.
  • Fixed a harmless error (that should not have been there) when asteroid mining powerplants were captured for the first time sometimes on MP clients.
    • Thanks to ParadoxSong for reporting.
  • Fix a few more achievement-related bugs
    • Thanks to Ecthelon for reporting
  • Fixed an exception that could happen when belatedly creating a faction during an MP game (such as from hacking a beacon). This needs more testing to be sure that I got all of it, but I fixed the part I was seeing. This then led to an error cascade.
    • Thanks to Haeris for reporting.
  • Fixed an issue with unloading transported ships that could cause an exception if the original savegame accidentally had two copies of that ship due to the timing of when the save was made.
    • Thanks to Ushgarak for reporting.
  • Audio messages for the necromancer being low on metal will no longer happen (the necromancer does not use metal that way).
    • Thanks to ptarth for reporting.
  • Add some defensive code to the AI Reserves
    • Thanks to Binary Blitz for reporting
  • Fixed an exception where if the local player account on the host was in a bit of a strange state, it could lead to error cascades.
    • Thanks to kendric for reporting.
  • Fix some duplicate text in the necromancer battle notifier about resources earned.
    • Thanks to ptarth for reporting
  • Fixed some exceptions that could happen in the ships sidebar when you were deselecting fleets.
    • Thanks to Andrew Savinykh for reporting.
  • Add some defensive code to The Templar's CalculateSpeed function
    • Thanks to ptarth for reporting
  • Fixed a couple of exceptions that could happen when closing modal popups via hotkey.
    • Thanks to Andrew Savinykh for reporting.
  • Fixed a memory not cleaned up warning with "Hacking_SelfUnitWithSubSelection_Base-GetMinAndMaxCostToHackForSidebar-eligibleTargets"
    • Thanks to Malformata for reporting.
  • Fixed an exception in "RecalculateBalanceStats debugStage 9800"
    • Thanks to Breach for reporting.
  • Fix a problem with exo notifiers when the exo is syncing with a CPA; it could show as 0%
    • Thanks to Nick for reportin
  • Fix a typo in a ward weapon text
    • Thanks to lampshade for the bug report
  • Fixed a "Hacking_TransformNecromancerFlagship-GetCanBeHacked-workingBlueprints" error.
    • Thanks to Lord Of Nothing for reporting.

5.004 Misc Polish

(Released April 24th, 2022)

  • Fixed scourge spawning from beacons.
    • Thanks to Ragnaidin for the report.
  • Fixed duplicate text in the Build Rows for the entity tooltip.
  • The "Cannot be supercharged" info in tooltips now no longer tries to appear in the Ship Class row but instead is part of the normal tooltip similar to the zombification immunity "Cannot be captured by other factions".
    • This fixes a format-unfriendly visually noisy "Cannot be supercharged" attaching itself to the wrong row in the tooltip of probably all flagships and centerpieces.
  • Fixed a variable typo regarding resources rewards given on death.
  • Improve the sapper economic logic to let it make better decisions as to what sort of crystal to flower
  • Add some more defensive code to wormhole borerers to try to prevent them from connecting already-connected planets
  • Necropolis buildings are now properly destroyed when the necropolis moves
    • Thanks to strategic sage for reporting
  • Let the templar track how many ships a wave leader has rallied. Untested, and only for debugging purposes, in case we need it for templar wave balance
  • Add some defensive code to the templar hacking reaction
    • Thanks to MadTwit for the bug report
  • Fix a bug where the new "beat the game with scourge enabled" achievements weren't triggering
    • Thanks to Ecthelon for reporting
  • Elderlings should no longer be able to trigger raid engines
    • Thanks to ptarth for reporting
  • Fix a miscommunication in tutorial 4
    • Thanks to LaGrange for reporting

5.003 Revenant Efficacy

(Released April 23rd, 2022)

  • Elderlings/Templar that die from Corrosive damage now grant resources to the necromancer
    • Thanks to a number of people for reporting, in particular Gzar for uploading a save
  • Fix a typo in the templar haking response
    • Thanks to AxiomExotic and Ushgarak for reporting
  • Added a new "Debug Zoom If Above" mouse setting specifically to help one specific user figure out what is happening with their mouse. It will be interesting to see if it yields anything more broadly applicable as well.
    • Thanks to Tankor Smash for his patience since... um... 2019 apparently. This is one of our older bug reports.
  • Finish adding C# support for the fallen spire module journal entries
    • Thanks to vinco for suggesting these, and contributing the text
  • The "Save Preset" function in the debug menu now actually works! Previously it was using an old format for quickstarts, because I forgot that it was even a thing.
    • I added the makequickstart gamecommand, which works great. Now the save preset function does as well. The command is able to save to whatever quickstart folder you want, but doesn't save a tooltip file. The debug menu only saves to the Community quickstart folder, but DOES save a quickstart file.
    • Thanks to Dragoris for reporting the difference in filesizes, which was critical to noticing this. The format changed for quickstarts right before the great refactor (specifically so that they could survive into the new save format).
  • The "Neinzul Galaxy" quickstart by Dragoris now shows up in the Community quickstarts section if you have DLC3 installed.
    • Thanks to Dragoris for creating it!
  • Correction! The third quickstart in the Necromancer section for DLC3 was the one by Dragoris, and that has now been corrected to the new format that won't error on load.
    • Thanks to Dragoris, Smidlee, and ptarth for reporting.
  • FiresThroughEnemyShields now pierces bubble forcefields as the tooltip suggests it should
    • Thanks to Darkshade for reporting.
  • If the escape menu is open, the game will no longer respond to mouse inputs for the camera view. This is already the case if the game doesn't have focus, but this should help if you haven't yet unfocused the game because of multiple monitors.
    • Thanks to MaxAstro for requesting.
  • Major necropolises now actually respect their galaxy cap
    • Thanks to Exlium for reporting
  • Fixed an issue where fireteams that had a long time to process something (more than 10 seconds) would claim they were leaking memory. They now allow for 120 seconds of time to elapse for making this declaration.
    • Thanks to Zer0h1nder for reporting.
  • Fixed the description of the "Battlestations receive turrets from hacks for all" setting, which erroneously stated that it defaults to off (it defaults to on), and in general it had its logic stated backwards.
    • Thanks to Ushgarak for reporting.
  • Fixed a typo in the Samurai frigate's description.
    • Thanks to Ithuriel0 for reporting.
  • Removed an old drone-correctness check that was being triggered on some NPC drone usage cases.
    • Thanks to Dismiss for reporting.
  • The text at the top right of the screen that shows the build cost no longer displays metal costs for the necromancer
    • Thanks to LilLillyFox for reporting
  • If the game is in the process of shutting down, there's a certain class of errors that could happen that were spurious but pretty rare that no longer can happen.
    • Thanks to Badger for reporting.
  • Corrosion damage now explicitly blocks repairing. In compensation, make corrosion tick down a little bit faster at the end
    • Thanks to vinco for reporting
  • Instrumented the SpawnTeliumIfAble function so that if there is an error in there it will give us more precise locations for what is wrong, and it also won't shut down the entire macrophage faction anymore.
    • Thanks to JDingDong8 for reporting.
  • Pathfinders now wait 300 seconds before declaring themselves as memory leaks, rather than merely 30 seconds. When things are really busy, they can legitimately need to be in use by a background thread for more than 30 seconds.
    • Thanks to Zer0h1nder for the report.
  • Updated the kickstarter backer credits to include one missing backer (from backerkit, a later addition).

5.002 Venators Optional

(Released April 23rd, 2022)

  • Orbital mines for captured outposts were dying to remains that the Necromancer could not interact with and thus making captured orbital outposts with minefields effectively null and void since they could not replace expired minefields with dead ones clogging the slots. While this will definitely help newer games already impacted games may simply be out of luck.
    • The attribute never_leaves_remains="true" has been set for the various types of orbital minefields. Replacements are put in play by the host outpost.
  • Received report that AI Spire Rail Destroyer were massively larger than their common cousins visually. Went ahead and made their regular AI Spire Destroyer companions a little larger visually while making the AI Rail Destroyers smaller but still larger slightly visually.
    • AI Spire Destroyer visual scaling 1 -> 1.5
    • AI Spire Rail Destroyer visual scaling 3 -> 2.0
      • It is still useful to the player to be able to distinguish which ones are infinite range at a glance in a mixed group.
  • Venators are now enabled/disabled in the game lobby. They default to 'off' for HA, but are forced on for Challenger+
    • Thanks to Ecthelon for the request, and Chris for deciding what to do about said request
  • The 'Unspent Modules' notification will now cycle between unspent entities, if you don't spend all of your points on the first

Tooltip work

  • The current amount of Weapon Points is now displayed in the buff row.
    • Thanks to Puffin for creating the mechanic and zeusalmighty for requesting.
    • The FixedResourceTextStats class is now renamed FixedTextFormatingStats (as it supports more than just resources), has been moved to the AIW2 Core project and given the ability to support Geo icons.
  • Began an overhaul of the entire entity type tooltip to fit more icons instead of text, and in uniform show either icons or text and not a mix of the two. For now this is inactive code, existing next to the original tooltip code. In the future there will be a setting to use the experimental tooltip code instead of the current one. Thus all of the below has no effect on the game just yet:
    • Removed the old Start[Something] or Add[Something] extension methods for ArcenCharacterBufferBase. Now they are either named Start[Something], End[Something] and Wrap[Something] to clarify.
      • Additionally there now is support for generic resources to automatically find the correct FixedResourceTextStats object to work with, support for the PlayerTypeData resources and a way to end with the resource name.
    • The tooltip for planetary energy and metal boosting after X seconds now has an unified code path, and will combine the numbers for energy and metal if they are both the same, and both are either enabled or disabled.
    • The tooltip code for Factory assisting, factory boosting, claiming, rebuilding and repairing has been rewritten in large parts. Individual repair speeds for hull, shield and engine can now actually be displayed. The assist range will only be displayed once, sine all except internal factories (which measures range in hops) use the same range.
    • Unified the code paths for the lower part of the orbiting tooltips, ships orbiting the gravity well will now show the current distance.
    • Unified and completely rewrote the code for planetary attack and speed amplifiers and inhibitors.
    • The "CEASEFIRE" and "CEASEFIRE BLOCKER" parts are now in color so they stand out more.
    • Unified the code paths for harmonic damage increases.
    • Units with a hacking response multiplier that is >1 (= units that worsen the AI response to hacks) will now display it as a "HACKING MALUS" instead of always "BONUS".
      • This section also no longer refers only to hacking the AI, as other factions may also have responses.
    • On minimum tooltips the hull, shield and speed values now display the percentual values (for hull and shield the percent of the maximum, for speed the percent of the base value)
    • On medium tooltips the hull, shield and speed values now display the same information as full tooltips do, but with icons instead of text.
      • Thanks to General Frost for requesting.
  • Add some improved debugging code for entity tooltips
    • Reported by Daniexpert

Bugfixes

  • Removed the seeding of Elderlings' beacon when a Necromancer Empire or Sidekick is present in game.
    • Thanks to LilLillyFox for the report!
  • Fix a bug where the Move Necropolis hack was causing errors in longer-running games
    • Thanks to Strategic Sage for reporting
  • Put in several message response buffers to prevent timing issues on multiplayer clients that were responding to several things at one time.
    • Thanks to AxiomExotic and FwiffoForce for the report.
  • Fix to a multiplayer error in the ultra frequent sync that could happen if a client was told about about a planet it did not yet have info for.
    • Thanks to AxiomExotic and FwiffoForce for the report.

5.001 First Post-Completion Tweaks

(Released April 22nd, 2022)

  • Update the tooltip for the bubble forcefield module to clarify the behaviour
    • Thanks to Strategic Sage for reporting
  • Fix a bug where the Spire Infused Empire was not generating its periodic exos, and the 'exo on spire city build' was trivially small. This will make the Spire Infused Empire much more interesting
    • Thanks to Trantor63 on discord for the initial report, and Lord of Nothing for providing a save game to examine
  • Fix a bug where the necromancer would basically get no resources if played on Challenger or above.
    • While the necromancer is not really intended to be played except for in HA mode, there's no reason to break it at higher levels
    • Thanks to Gzar for reporting
  • Swapping a necropolis that has an amplifier now causes the amplifier to change which necropolis owns it. Previously the amplifier would just vanish, which was not great
    • Thanks to Doc_Den for reporting
  • Clarify distribution nodes for necromancer
    • Thanks to ptarth for suggesting
  • Elderling hacks no longer make you select a particular hacker (since it doesn't matter which hacker is used)
    • Thanks to ptarth for suggesting
  • The necromancer text popup at the beginning of the game now explicitly warns players who are above HA that they may have unexpected issues.
  • Also clarify the Necromancer description to explicitly disclaim necromancer support
    • We had a couple people playing on Challenger today and finding bugs (Gzar and ussdefiant in particular), so I want to make it clearer that Challenger+ is not really supported
  • Small correction of oversight in albedo for a strikecraft within DLC 3 with cloaking.
    • Stealth Bombard albedo 0.4 -> 0.7
  • Fixed a grammar error in "The Migrants: The Arrival" Journal.

Prior Release Notes

AI War 2: The Final Cycle