AI War 2:Post Completion
Contents
- 1 Reporting Bugs
- 2 What Happens Now That The Game Is "Done?"
- 3 5.008
- 4 5.007 The Reasonable Architrave
- 5 5.006 End To Spontaneous Combustion
- 6 5.005 Threat Properly Threatens
- 7 5.004 Misc Polish
- 8 5.003 Revenant Efficacy
- 9 5.002 Venators Optional
- 10 5.001 First Post-Completion Tweaks
- 11 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.008
(Not Yet Released)
- 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.
- 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
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
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.
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.