AI War 2:Post Completion

From Arcen Wiki
Jump to navigation Jump to search

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

(Not Yet Released)

  • Re-Released AMU.
    • 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.

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

Balance

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

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/Gradian 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