AI War 2:Post Completion
Contents
- 1 Reporting Bugs
- 2 What Happens Now That The Game Is "Done?"
- 3 5.009
- 4 5.008 Xenophiles And Outguard
- 5 5.007 The Reasonable Architrave
- 6 5.006 End To Spontaneous Combustion
- 7 5.005 Threat Properly Threatens
- 8 5.004 Misc Polish
- 9 5.003 Revenant Efficacy
- 10 5.002 Venators Optional
- 11 5.001 First Post-Completion Tweaks
- 12 Prior Release Notes
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
- Have a multiplayer error? Be sure to check here first
- Feel free to join discussions on discord!
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.009
(Not Yet Released)
- 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
- 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
- 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
Necromancer/Templar/Elderlings
- 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.
- 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
- 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
- Reports from veteran players showed that these intensities need to be bumped up. These changes are made to not upset the easier intensities
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.
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
- Fixed some nullref exceptions that could happen in UnrolledDoFor_CheckForHostiles in the tachyon, gravity, and tractor beam background threads if the sync on an MP client was messed up in a certain way.
- Unfortunately, the original error that led to this state is lost because the error cascade went on long enough that the error log looped and thus did not include the inciting error. But this particular trio of error cascades will no longer happen.
- About error cascades: https://wiki.arcengames.com/index.php?title=Category:AI_War_2:_All_About_Multiplayer#A_Giant_Rash_Of_Inexplicable_Problems_Happened_.28Error_Cascade.29
- Thanks to Haeris 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.
- 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.
- 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.