From the creators of Long War, an alien invasion has fractured humanity into seven ideological factions each with a unique vision for the future. Lead your chosen faction to take control of Earth’s nations, expand across the Solar System, and battle enemy fleets in tactical combat.
This is a primarily a bug fixing patch as we continue developing new features for our 0.4 builds.
Saves from prior 0.3 versions should be compatible on a technical level. Balance and AI changes may alter the experience from one patch to another.
Feature
- You may now autoresolve a battle from any point during combat.
UI
- Rework of campaign start screen to make accelerated campaign a default start option to help people find it
Balance && AI
- adjust extended pursuit costs when enveloping and enveloping faction has more acceleration than fleeing faction -- it costs zero for everybody in this case. (Defender sees it is enveloped and just engages one of the enveloping groups)
- FactionGoal_AttackWithFleet.IsDuplicate() : Do not allow multiple attack goals for the same target in any circumstance. Previously, multiple attack goals for the same target were allowed if the target was a fleet. This was leading the AI to spread out its resources too much.
- AI will focus more on building offensive fleets and high-importance goals
Content
- New event illustrations
- New backer org, Goddard Space Flight Center
Critical Bugfixes
- 4032: fix a crash introduced in 0.3.123 in fleet/councilor transport AI
- 4030: fix for crash when setting homeport on default target when docked at an enemy hab
- fix nre when viewing construction screen with ships being refit
- fix a UI crash when clicking on a fleet going to a lagrange point, 4018
- attempt fix a ship visualization controller crash by nullchecking its fleet (Discord report)
- fix a crash when an invasion fleet escort considers taking over the secufre earth space goal (new in .122)
- Fix two misconfigured GDP effects that would cause a crash in some cases if an event target was in space, or otherwise direct GDP damage to the wrong nation
- Bugfix #4014: When fleets maneuver, they alert any fleets that were targeting them, or targeting another fleet near them. This avoids abuses where a player (or AI) splits a fleet and moves the majority away to avoid a confrontation. It could also cause a targeting loop (where fleet A and fleet B are transferring to each other, or A->B->C->A, etc.), which leads to stack overflows and other unfortunateness. This is now fixed: if you take a large fleet escorting a smaller one and use to to intercept an attacking fleet that's targeting the smaller fleet, that attacking fleet will not change targets to the large fleet that's inbound against it.
- TISpaceFleetState.PostCombat() : Do not add change trajectory prompt after battle if !canStartNewTransfer. This avoids crash where the trajectory panel cannot find any valid transfer targets.
- 3955 - fix for combat listener persisting and causing crash in strategy layer
- also attempted fix for nre when trying to play weapon destruction vfx with no shipviscontroller
- fix startup crash when a fleet that should have arrived at its destination has not arrived and the game aborts the trajectory. This doesn't fix the underlying bug (3982) but does prevent the crash.
- fixed some awful logging bloat from alien bombardment of player assets that may have caused a crash
- NRE fix in shipweaponviscontroller listener
- 3992 - fixed crash when clicking on newsfeed notifications through loading screen
- fix crash caused by merging fleet via notification after combat started
- fix crash when an AI fleet attempts a pursuit in a deep-space engagement when it lacks the DV to bid on the pursuit
- Attempt fix a crash when a dead or dismissed councilor is the target of detain/kill event effects
- fix #3926, crash when clicking on a detained councilor in the enemy faction intel panel
- fix for 3929, crash on race condition post bombardment
- fix crash when a Servants fleet has its destination transferred to an alien fleet (whilst chasing a third fleet) and a logic error sets up a combat between the Servants and the aliens.
- Added verbose logging for reported crashes related to councilor animations;
- Added null ref checks and debugs for hab coroutine crash
- 2622 - fixed crash when turning off compressed saves in main menu and using continue button when Exitsave does not exist
- save repair for bad ship in fleet. Don't know original cause
Serious Bug Fixes
- PostCombat() : choose new trajectory prompt not triggered despite fleet capable of transfer bugfix. New bug for 0.3.123.
- fix AI shipbuilding difficulty setting not working; should make cinematic easier and veteran/brutal more challenging
- AIWillJoinOffensiveAllysWar() : added condition to allow joining an ally's war even if nation is already in a war. Condition being that the allied offensive strength significantly exceeds the defender's strength.
- PlanMissions() : Prefer joining a war rather than starting a new one. Issue #3971. Given the option between joining a war with a given nation, or declaring a new separate war with the same target, if both options have the same score, or joining is scored higher, the AI will now always join rather than start a new war.
- ScorePolicyOption() : apply nationPayoff to joining a war, not just starting one. Issue #3971. Previously, when starting a war with a nation, the decision received a scoring bonus relative to the nationPayoff table entry for the target, however the same bonus was not applied when joining a war, resulting in the join war option having almost zero value relative to starting a separate war with the same defender. As a result, AIs were very unlikely to use a set policy mission to join a war. I've added the same scoring bonus for joining a war.
- AlwaysEndConflict() : check if a war exists before checking alliance war armies. Issue #3971. AlwaysEndConflict() contains a condition that checks the war alliance's army counts to see if either side is capable of fighting. This has the unintended side effect that if there is no war (which occurs during prospective war logic), AlwaysEndConflict() always returns true.
- GetBestOperation() : Do not transfer to hostile hab/fleet to pick up a councilor.
- TIHabModuleState.CanPower() : remove PowerFirst restriction. Previously, there was a rule that you could not power a module if any unpowered PowerFirst module existed. This can result in a situation where the player has power available but can't use it because of a PowerFirst module that can't be turned on anyways.
- UpdatePowerManagement() : constructing PowerFirst modules causes existing modules to lose power bugfix
- Invalidate AI attack goals against fleets that are crashing into something or leaving the solar system
- More work to control invasion carriers flitting off and not invading
- PowerDecision : include hab automation in cache key; This fixes a bug where automated habs were causing the cache to believe there was no power modules available for non-automated habs.
- AIEvaluators.SystemFleetStrengths : Associate intercepting fleets with their origin system. This prevents interceptions causing the system to temporarily appear undefended.
- AliensCheckGoals() : Only order a maximum of three attacks per system applied now to aliens defending beyond Jupiter
- orbital core build time to 60 days for consistency with other core modules
- Probable bugfix #3940. We track whether a fleet's been launched in two places: operations onCompleteDate, and the trajectory's launch time. This bugifx prevents them from getting out of synch. That said, the worst desynchs that I was seeing was only a dozen milliseconds -- not the hours or days that were causing visible bugs. This should fix those larger desynchs if and if and when they occur.
- OnForceTrajectorySelectionUI() : changeTrajectoryConfirmButton interactable when it should not be bugfix.
- 3983: fix starting space program IPs for several nations which were intended to have fractional progress toward a space program (Canada, Congo, Argentina, Algeria, others)
- made some other bombardment related performance improvements involving inactive visuals getting pinged to update
- AICouncilorMissionPlanner : Orbit-deorbit loop due to Seize Space Asset bugfix. Issue #3973
- additional fix to climate change GDP damage math
- Steal hab achievements should now trigger properly
- Fix exploit where you could repair ship for free by doing a cheap refit; refitting now includes a repair
- Updates to power management to get more modules on automatically
- AIWillJoinOffensiveAllysWar() : checking faction interest of wrong nation bugfix. Issue #3971
- Fix a logic bug in code intended to prevent AI councilors from doubling up on certain missions (like multiple defend interests in the same place)
- Add AI logic to prevent aliens from making peace when they just started invading
- Add AI fleet logic to sit tight and wait if you have a goal targeting a fleet heading your way but you can't reach it. Previously this executed "give up on goal because you can't reach it" code.
- Fix AI behaviors when sending a fleet to invade Earth and some army carriers are running late; previously they are ending up on other goals, which is weird. The code also tries to get these carriers escorts from the original invasion fleet.
- fix enemy probe alert spam for reals this time
- Performance: release fmod resources allocated by projectiles, weapons, explosions, and councilor vo lines when finished
- add notinirradiated to orbital hospitals and space resorts consistent with the rest of those module lines
- Fix a serious AI error that was causing it to discard invade earth goals when an escort for the carrier was built before the carrier. This was causing slow or absent launches of assault carriers to Earth.
- Bugfix: If a fleet is in an involuntary transfer to a higher barycenter, and is being ordered to transfer to its current barycenter, the transfer planner didn't look far enough into the future for potential transfers and erroniously treated it as a single-barycenter transfer (which is only accurate in the short term). The specific bug involved a low acceleration fleet on a hyperbolic trajectory leaving Mercury's sphere of influence. It was trying to return to Mercury orbit, and couldn't, as we weren't checking transfers that start after it achieved solar orbit.
- fix issue with notification settings preventing alerts when newsfeed is turned off (#3947). This also fixes spam of enemy probes arriving at space bodies.
- will enforce the 1000 person minimum for a region in a second location (#3950)
- fix / remove responsibility to nation/faction being assigned in nuclear weapons events, which are explicitly covert or by a third party. This was causing unintended atrocities to be assigned.
- fix some AI logic bugs in founding bases on the moon and near the Sun.
- fix .119 bug allowing envelopment with full fleet when you have superior acceleration. Now envelopment requires a minimum of 3 ships and has a minimal DV cost again for all ships on both sides.
- fix failure to re-cache naval freedom status when a new navy is built. This was preventing some legal war declarations without a restart.
- Corrections to GoodvsSneaky event. Referenced councilor (and their respective outcome benefits/penalties) were switched around to have things make sense when the event appears in-game
- fix logic error allowing servants to target nonextant alien facilities and UFOs via dropdown
- GetBestOperation() : do not undock if its unsafe. Prevents another dock-undock loop
- Added some additional safeties to prevent fleets from having no trajectory while having a transfer plan component.
- 2839 - attempted fix for bug causing game resolution to sometimes change to Windows resolution when loading games
- Autoresolve() : ships must use at least one weapon for offense. This prevents battles being skipped in some cases due to no weapons. Also prevents blowouts where one side has no offensive weapons.
- fix bug in intel screen showing one fewer enemy faction councilor than present
- fix UI buttons on region status icons and control points weren't triggering reverse-councilor-targeting process in mission phase
Less Serious bug fixes
- fix #4008, inconsistent description of hydra language
- enemy probe arrives log default set to no alert, just newsfeed
- 4000 - fix for tooltips sometimes displaying in a smaller font than necessary
- 1542 - fix for finder not saving hab filter correctly in saves
- ArmyPathController : incorrect path shown for certain deployments bugfix. Issue #3989. When the AI chooses an army deployment, it does not activate the DeployArmyOperation's pathing capability. This may result in the visualization showing a different path than actually used.
- Space objects orbiting the Sun should now disappear more quickly as you zoom out in the Solar System. This should reduce some of the sunward clutter when you're looking at the outer planets. More work needed
- fixed a couple more voice line cutoffs
- 3962 - fixed text wrapping issues
- removed "Morning Glory" from list of flower-based potential generic org names because I forgot to check urban dictionary
- Change to use the display name with article for advising missions
- Minor grammar change to denote the usage of either Earth resources or space resources for founding a hab
- When a faction gains a hab sector resources will be dirtied so UI updates #3995
- 4001- fix UI bug after renaming ship in individual ship UI
- fix a bunch of bad grammar in event text
- fix some Russian breakaway names
- antimatter harvesters will now appear under antimatter heading in module selection UI
- fix 3937 / pips overlap with "can sabotage" icon in faction intel tech UI
- 3909 - fixed incorrect icon path for narrative event resolution