1. Terra Invicta
  2. News

Terra Invicta News

Patch 10 (UX and AI update)

Patch 10 - UI and AI improvements

Big patch today, the result of nearly four months of work by our dev team, with major updates to the UI and AI. Many of these are in response to players who have taken the time to provide us with detailed and thoughtful feedback -- so thank you! We are treating the EA process as a conversation between developers and players as we refine the game and add features so Terra Invicta can reach its full potential.

IMPORTANT NOTE: We upgraded our Unity engine version for this build in hopes of fixing some issues. This update unfortunately caused Unity to rebuild of most of the game's visual asset bundles. This patch will thus be a *large* download (12-16 GB+). This is not anything we're able to prevent, apologies. Modders using custom assetbundles should upgrade their Unity version to 2020.3.45f1.

Major updates include:

UI
- Overhaul of notifications system. You may now control how many notification manifest in the UI in the settings. By default many low-priority notifications will no longer appear in the left-hand newsfeed, but instead into the "notification summary" -- the UI element previously used only for mission summaries at the end of the turn accessible by the little + button to the left of the main menu bar in the UI. There are now multiple tabs for different categories of information -- missions, councilor sightings, earth events, space events, and bombardment logs. There is a new template file that holds the default settings for each of the 137 notification types. Much about these notifications has to remain hardcoded for string construction purposes, but the config lets you determine whether you get a popup alert, newsfeed item, timer item (next to the top bar) and/or notification summary depending on whether the code determines you are part of the event's primary or secondary audience.

- You may now set alarms on enemy fleets that are in transfers, either via the space object detail controller, or the fleets screen. This has a little ship+clock symbol. If activated, you will get a popup notification for when the fleet is 95% through the duration of the transfer. (If it's past 95%, it will alert you when it's halfway between the time the alert is set and its arrival). Fleet will always trail during transfer.

- Added a number of custom buttons for various alerts for UI efficiency (up to 6 per alert), including: Intercept newly arrived fleet; Favorite unlocked project; Obsolete unlocked project; Add newly completed ship to fleet at hab, or launch for nearby friendly fleet; set alarm on fleet launching toward our asset, launch fleet in response to alarm firing, Open hab manager to relevant hab, Repeat repeatable project. Mouseover of fleets in custom delegate buttons will show fleet description

- An option to increase scale up the game's UI so they are easier to read.

- An option to automate your councilors so you don't have to give them specific orders every turn. They will focus on missions that protect your interests on Earth.

AI
- Major overhaul of human AI space exploration and hab construction. The AI will use schematics to develop and specialize its habs (via data templates moddable as jsons). HabPlanner helps organize the process of managing prospecting goals, hab goals, and founding and building habs. There are two types of HabPlanner. HumanHabPlanner contains all the brand-new hab logic for the human AI factions. AlienHabPlanner contains the existing alien hab logic, and derives from LegacyHabPlanner which contains the previously existing human and alien hab logic (much of it was shared). One important new feature that HumanHabPlanner provides is logic for "renovations" - determining when and how to replace hab modules over time to keep habs relevant to the current gamestate / tech level.

- Significant update to combat AI. AI will now divide its fleet up into Interceptors and Ships of the Line. Ships of the Line will pound enemies with their weapons while keeping their targets in their sights. Interceptors will use their significant maneuverability advantage to dodge projectiles and to flank targets.

Strategy Layer Gameplay
- You may now refuel ships from other ships in the same fleet. This requires ships have the same propellant mix from resources.

- 5 new hab modules -- two administration modules and three quarters modules

- New councilors traits that make assassinations more dangerous

- Three new asteroids, two new Jupiter Trojans and a new moon of Saturn, and new hab sites on bodies with a diameter between 500 km and 800 km

- New mechanics for pursuits as combat begins

- Armies may annex regions during wartime without occupying the capital

- Fleets may now bombard from one of three altitudes, trading off safety for damage capability

- Many new events

Combat Layer Gameplay
- You may now set your formation in the combat layer with a visualization of your ships' starting positions.

- New maneuver options in combat that let you give your ships specific orders and let them plot their trajectories

- New weapons (3-slot nose magnetic guns) and radiators

There are scores of other new content elements, balance changes and bugfixes. The version-by-version patch notes are too long to provide here, but you can review them all here.

On a technical level, saves from 0.3.76 should work with this build. Of course, the gameplay, AI and balance changes may alter the course of your campaign significantly. If you wish to continue on build 0.3.76, it is archived in a rollback branch you can access through Steam's betas.

And please know we're not finished! Among other things, we're working on campaign start options, human AI shipbuilding, aerocapture, and late-campaign balance and challenge for the next major patches. Test versions of these features will be on our Beta branches on Steam for anyone to try before they go live on the main branch.

We also still want to know about crashes and other bugs. The best places to communicate with us about them are our Discord or with an email to [email protected]. The stuff we need with bug reports is detailed in this here.

Celebrate Steam's finest strategy games as TactiCon 2023 begins

TactiCon 2023 has begun. This warm-hearted celebration of the best strategy games features over 100 recent games, spreading from long-established names in the genre all the way to solo indie newcomers. TactiCon functions as both a Steam sale offering some great deals on all manner of tactical delights, and a loving ode to the breadth of the genre with a series of developer panels, community streams, and announcements.


Read the rest of the story...


RELATED LINKS:

Against the Storm update adds spooky ships and new ghost encounters

Superb strategy game Against the Storm on sale as playable Foxes join

Rain-soaked city builder Against The Storm gets a custom game mode

Patch 9 (stability and performance improvements)

Hi everyone! We've got a host of new stability and performance improvements for you in today's patch. Please see below for the full contents, representing several versions of improvements from the testing process.

We're planning to get to work on several new features and AI improvements in the coming builds. Once they're working, they'll be available first on our Validation branch on Steam if you'd like to give them a try. If you'd like to participate in testing, you can opt in by right clicking on Terra Invicta in your steam library, then clicking BETAS in the menu, and then selecting the Validation branch.

Today's patch includes all of the below separate prior updates from the Validation branch.

Finally, thank you again for all your continued support and feedback on Terra Invicta during this Early Access period! We'd love to continue hearing any comments, suggestions, or reviews.

0.3.76

A
- fix several instances of crashing with new fleet PIP visualization code postcombat in 0.3.75 with nullcheck for ShipVisController
- fix apparently rare instance of invalid space combat present on startup causing a softlock. Invalid combats will be cleared from combatmanager's active combat state now.

0.3.75

B
- fix bombardment runs ending prematurely in some cases due to a logic error
- fix multiple things wrong with bombardment of landed fleets
- fix AI ship refits switching to default "Troop Carrier" role
- human AI will now use a greater variety of hulls in ship design

C
- fixed music volume being incorrectly set to a low value after watching the intro cinematic on a new game
- fix for 3278 - insufficient power warning during module replacement will not correctly factor in the power difference between the 2 modules
- Centrist steam achievement will now unlock after winning with each of the 7 factions, will need to load an endgame save to retrigger

Performance
- Performance improvement for notifications and clicking on massive fleets in space - Fleet PIP images now only load the first 20 ships in the fleet.

0.3.74

A
- added safeties for two unreproducible crashes reported on Discord -- thrust profile tool targeting a nonextant fleet with no faction; and whether a space object has a sphere collider

B
- Fix for 3277 - updating construction queue costs now factors refits into account and will not overwrite the cost with the full ship construction cost
-TIFactionState.GetDesiredShipToBuild() : InvadeEarth goals can only build assault carriers bugfix. This was causing aliens to not build invasion fleets properly.
- InvasionCombatValue() : multiply by TemplateManager.global.alienArmiesFromLanding. This method was returning 3x less than it was supposed to because it wasn't multiplying by the 3 armies it produces when used. This was causing aliens to be too conservative in launching invasion fleets.
- Added safeties to prevent a trajectory's destination being changed to the fleet performing the trajectory.
- Fix for combat group selection persisting into the following combat allowing commands to be given to ships outside of combat. This was causing radiators to retract outside of combat, which is bad.
- EndCombatForStrategyGame() : Only complete AccessAlienShip milestone if an alien ship was destroyed.
- Autoresolve() : retract radiators if possible.
- UpdateShipyardQueues() : AI sort goals by importance bugfix.

0.3.73

A
- Attempt fix crash in updating combat cards UI
- Add some safety checks when unloading a skirmish to prevent a crash we found during internal testing
- Fix for combat crash resulting from post combat interaction with UI elements and waypoints

B
- Fix new bug in 0.3.71 that causes bombardment to cancel when a fleet loses line of sight
- Attempt fix bug causing batteries not to recharge in combat if fleet was in a transfer and its thrusters were firing at combat start
- AIDailyFactionPlanner.BuildSpaceAssets() : regenerate fleetBuildShipsGoals list in DesignShips callback. This is necessary to prevent old data from causing issues.
- DesignShipsCoroutine() : Disallow concurrent calls with the same faction

0.3.72

A
- Add a nullcheck to TIMissionModifier_LegislatureCP_Defend, apparent crash fix (count not repro)
- band-aid fix when fleet arrives arrive at a rendezvous point with another fleet but it's not there (enters ad hoc orbit, appears to teleport to wrong place), preventing a crash
- fix post-battle iterator change crash in when a transfer abort occurs as a result of combat
- Combat will not end until the number of ships that have started exploding equals the number of ships that have finished exploding. Should catch a crash during simultaneous destruction in combat.
- fix crash when an AI goal becomes stale while design ships coroutine is running (new bug since .59)

0.3.71

A
- Fix unbounded loop triggered after conquering alien nation and liberating the original nation, involving priorities not being set correctly

B
- Fix AI ship designer accepting designs lacking key modules for role

C
- Fix several issues with priority preset dropdowns

Performance
- Some performance improvements for bombardment (verifying line of sight to target at the fleet level rather than individual ship level). More to do

0.3.70

A
- Fix crash in UI when targeting an orbit around a Lagrange Point for a transfer

0.3.69

B
- Fix logic error where AI fleets could end up docked at combat-capable enemy habs
- Fixed incorrect UI when trading with aliens as the Protectorate

C
-Fixed a bunch of cases where faction UI icons were being incorrectly downscaled when using lower graphics settings

Misc
- Added free disk space to logs to help with diagnosing rare crashes

0.3.68

A
- Fix postcombat crash in autoresolve in certain circumstances

0.3.67

A
- fix handling of fleet targeting loop detected on save load to avoid crash
- FactionGoal_CaptureHab.accomplishWithoutFleet NRE bigfix
- fix crash from unrest tooltip calculating if the nation is destroyed but the player's mouse is over the tooltip trigger for the frame before the nation canvas shuts down
- Attempt fix longtime crash when selecting a primary target by ensuring ship command buttons are cleared of all onclick listeners following combat
- add try - catch block to localization code to prevent crashes from bad strings; also fix 6 bad loc tags in ESP that were causing the crashes we ran into
- more work on combat/post-combat ship destruction tracking to find that CTD

B
- Fix AI bug when it had a zero-duration transfer lined up to a station and wouldn't dock, rendering it unable to proceed toward goals (new in 0.3.63)

C
- remove some duplicate loc strings
- Corrections for two objective texts in English loc; Removed duplicate "other" for the Protectorate ResearchTheirDemands objective; Modified Project Exodus Research their Origin text to better accommodate variable time of research completion


0.3.66

Bugfixes
A
- Fix unbounded loop in autoresolve when ships can't fire at each other (new bug in 0.3.65)

B
- Fix AI bug preventing sale of some orgs

0.3.65

Content
-Added cyrovolcano event for other, non-titan places
-Added Plasma tornado event for Mercury (thanks for the suggestion Discord!)

Balance
- adjusted squaring limit on education in research from 10 to 12, knowledge priority will also have diminishing effect on education when it's above 12
- Alien AI will prefer more armor on its ship designs
- mercury hab irradiated cost reverted to 3.5x from 5x now that the mechanic working

UI
- Added CP icon to some CP maintenance UIs
- Increase save game name limit to 58 characters

A
- ArmyListItemController NRE fix, rare crash when an army is destroyed
- fix crash when alien megafauna army owned by Initiative fights another megafauna owned by aliens (Discord report)
- Rework of combat autoresolve to with fixes for serious performance issues in huge combats that resembled a lockup. We'll need to do more here but we reduced a 188-ship combat from several minutes to 8-10 seconds. (In the future we'll have active screen updates when this is happening and abstract large AI-vs-AI battles even more.) Also fix an issue where guardian weapons weren't defending, disabled weapons were firing, and ships' positions were sometimes resetting to origin. This should provide somewhat more reasonable results in many cases. Known issue: Radiator damage isn't handled properly.
- Prevent treaties from being traded between factions with a permanent alliance. - fix issues so permanent allies won't discard NAP (shouldn't need one in the first place) triggering aliens sending chat messages (which would cause a crash, also fixed separately)

B
- Fix control point maintenance influence cost warning in CP tooltip. Underlying bad calculation may have been also causing problems for the AI.
- improved doublecheck to complete fleet operations that missed their TITImeEvent for some reason

C
- Removed picture from titan cryovolcano event cause you won't see black sky on Titan says space nerd designer annoying everyone
- Corrected capitalization in Self-Driving vehicles
- Fix autoresolve reporting the same ship twice in post-combat screen
- Fix several new events not scaling research reward from one of its options, making them always worse
- fxi mroe tpoys

0.3.64

Balance
- Research from a nation will rise more slowly once education > 10. (Specifically it stops squaring education when when education > 10 and instead multiplies education by 10 at one step in the calculation. This is part of a larger calculation and may get further balancing; it's to shave off runaway research values in extreme cases)

Content
- 2 new event illustrations

B
- Fixed bug from 3.63 that brok the transfer planner.
- Fix conditions to assault hab operation, rooted in inconsistencies when a Marine module could contribute

C
- Added missing effect loc in a Permanent Peace
- Adjusted pathway for faction leader icons along with template udate to point to their gui iterations. Deprecated string appender.
- Made minor change to Objective InvestigateEnthrallMission for the Appease faction loc



0.3.63

Bugfixes
A
- Fix rare case in which creating the notification rendertexture would cause a crash. New bug for 0.3.61.
- Fix a crash in bad trajectory cleanup code. 3243
- TIFactionState.NewCampaign() : only save starting-ship designs if designingFaction == the faction in question. This prevents designs belonging to the wrong faction and thus causing a crash. This would only occur in modded setups.

B
- GameStateManager.ClearAllGameStates() : clearing luna and nearEarthOrbitStates. This causes probes to luna to keep being sent over and over due to a deleted luna screwing up the value returned by GetIntel() when loading a game during an existing session and CAGS must be called. 3241
- The transfer planner will now only predict a target fleet's movement if it already launched on its trajectory, or if it is owned by the same faction as the launching fleet. Previously, that exception for "same faction" wasn't present.
- Bugfix: the AI will no longer consider 0-duration transfers. (i.e. it won't try to transfer a fleet to where it already is).

0.3.62

Bugfix
A
- Restore Steamworks interactions (achievements and workshop). This was broke in 0.3.60 so never left the validation branch.

0.3.61

Balance
- each point of faction's aggregate science score increases base chance of unlocking a project by 0.2% and monthly chance of unlocking any triggered project by 0.2%

Bugfixes

A
- fix new crash in 0.3.60 when AI is considering missile projects
- Fix UI allowing founding of bases at lagrange points, which would lead to crashes (3235)
- ensure stored game states in narrative event prior data (for sequential events) still exist when processing a follow-on event, should fix a rare crash (3230)
- fixed transfer planner nre
- Fixed NRE when holding shift while selecting non-army operations

B
- Fix a couple of traits restricting missions when they should be granting them
- Fix a few things in ship designer UI -- being able to auto-place an illegal weapon; bad tooltip for certain module slots on lancer and titan layout; weapon drop locations will now be smarter when you try to drop a multi-slot weapon and place it in a legal location 3233, 2481
- fixed intel screen UI closing when selecting spacebodies in the transfer planner

C
- hab module tooltips in designer will show context-sensitive mass now instead of base mass

Performance
- reduced memory impact of notification pip render texture
- rework of deleted/exists perf improvement

Misc
- Texture streaming setting is now enabled by default for new players
- (Internal)migrated language lineheight setting to template

0.3.60

Balance
- increase Seoul region's initial boost (thanks Discord for pointing out a new rocket launch in 2022)
- Costs increased a bit in all Global warming warning events, and the latter events have larger costs
- Only the Servants can put tracking chips in the FEV vaccine. For now.
- Increased Marine assault values from 1/3/5 to 2/4/6
- Removed MC cost for larger influence / unity modules
- Reverted spoils base inequality increase from .003 to .0025 per trigger
- Reduced inequality increase from economy priority
- Adjusted non-aligned nation AI's handling of welfare and unity priorities
- Reduced base spoils in several default priorities, adjusted a few nation's starting priorities
- increased AI preference to develop batteries and radiators, also project scoring adjustments during resource shortages
- lowered public campaign mission base impact slightly
- mission to saturn requires nuclear fission in space tech
- Unpowered/under construction combat hab modules will be destroyed at the end of a combat (unpowered modules were immediately powering up post combat after other modules where destroyed and forcing more combats)
- transfer region cannot be done when improve relations on cooldown
- Disallowed supply theft from enemy habs, maybe would bring it back if I can figure out how to balance it so it's not a pure exploit
- Added a few missions to traits (including counselor and unifier)
- worked on ship combat score to emphasize mobility less, nose weapons and point defenses more
- starting councilors for player faction (cinematic) or all factions (other difficulties) will get favored stats fixed at 8 (if one favored stat, like a celebrity) or 7 and 6 (if two favored stats), forgot to add this when I put up patch notes initially. This will turn into some kind of campaign start option in the future

Content
- New backer councilor
- two new backer orgs
- Added Self-Driving Vehicles project
- Added 2 events, First Maglev network + Self-driving Vehicles
- Added event BeeGone

Performance
- Bugfix: Previously, when a fleet chasing a maneuvering target needs to know its orbital elements after the maneuver took place (in order to plot potential intercepts of the target), it was using a very precise but slow method used in save repair. This has been replaced with three levels of decreasing precision to find the orbit -- which should be both fast and more than precise enough. The old method could result in several minute pauses in the middle of play.
- improv perf of GetCouncilorsinRegion
- GetThreatLevelAtLocation() : performance improvement
- Improved performace of Box Selecting ships in combat
- ListManager no longer toggles content gameobject on and off - general UI performance improvement when navigating some UIs
- Nations Screen performance improvements - Nations screen is now responsive when sorting and filtering, no more freezes.
- DesignShips() : Coroutine. Broke up the ship designing process to smooth out framerates.
- TICouncilorState.GetAttribute() : caching. Note that any code that might change the results of GetAttribute() must call SetAttributesDirty() to update the cache.
- AI_AtWarWithFaction() : caching
- TIGameState.deleted : set in RemoveGameState()
- GetTotalStat() : caching

UI
- simultaneous defend interest expiry of multiple CPs in the same nation will only trigger one timer notification. Notification will also have a little flag for nation
- Added UI in the intel screen to refuse contact missions from other factions
- habs will now display player-set classification icon in the geoscape
- landed fleets at bases icons will now be active selection buttons
- geoscape base tooltip will now show base's bombardment defense score
- added more data to transfer chooser UI
- added assault data to fleet/hab UIs. (needs more improvements)
- assault defense against space assault value added to ui
- Hovering a shipyard module in the 2d designer will note how many ships in queue
- standardize iconography for space assault score (using miltech icon as placeholder)
- Added a more visable checkmark to the PriorityTemplate dropdown in the NationInfoCanvas

Bugfixes
A
- Fixed bug where group selecting ships in combat with differing hull and nose weapons sometimes led to a crash
- Ship designer no longer accessible from construction manager button before you've developed warships project. This was leading players to enter the ship designer before any ships could be designed, and many interactions with the designers at that point will lead to crashes. Until the patch goes out, don't try to make a ship if you see a designer screen full of pentagons.
- Fixes to timing in autoresolve post-combat destruction of ships and restoration of existing fleets. Should avoid autoresolve-only crash when all ships in the *main* fleet in a battle are destroyed but some others survive and the game tries to repopulate the original fleets using data from the main fleet. #3227
- fix a rare crash on load when game is trying to repair a save with bombardment in a bad state
- fix crash when a set policy mission is canceled because the nation lost its executive faction while the mission was pending

B
- Fixed a rare ui issue where the play button would not show the correct state after repeated Space Combats
- Fixed an issue where if the Nation Info Screen was open and the player created a new custom priority template the list of templates would not update unitl closing the menu
- nullcheck some UIs that can close and NRE during shutdown
- Generated Ui-variants of Faction Logos
- Fix for Epic Store EOS annoying login prompt - Login is now automatic and persistent, no longer requiring a manual sign-in every time the game is launched
- Fixed an issue where the combat selection box could persist on screen when opening the pause menu in combat
- Fixed an issue where the selection box could linger during the post combat results screen
- GetBestOperation() : exit early if fleet has active resupply goal and is at resupply hab but cannot resupply. If the fleet is at the right hab and still needs to resupply, not having the resupply operation available simply means the fleet needs to wait.
- prevent contact with aliens before diplomacy objective
- fix illustration when showing planetary surface (like landed fleets)
- fixed an apparent bug in automated hab powering logic
- Rebuild module button will not be interactable if module is disallowed for hab (typically if you captured a hab with modules you can't build yet)
- Rework detection and deletion of a shipyard when placing modules over shipyards, attempt fix bug reported
- Clicking on a hab site in prospector UI should open the right planet UI now
- fix being unable to decommission modules that can't be powered down
- fix 3221, occupation of region has safety check for all regions occupied
- fix 3205, a nation seceding from its parent that's occupied by a war enemy of the parent will be allied with the occupier and its friends
- Fixed error where spoils would be set when changing nation priority templates involving Funding, Boost, Mission Control, Armies, Nukes, and Space Defenses. The error was most obvious when going from something like Stability to a custom template with only one of the problem priorities set.
- Fixed an error where funding was not checked when validating a priority template. This meant that a prioirity template that only used funding would not appear in the dropdown lists.
- fix busted calculation of extra mass for hab modules in irradiated locales

C
- Update to TILaserWeaponTemplate for Light Green Arc Laser Battter description. Mmm cake battter
- Clarified tooltips for different levels of FreePriorityWelfare effects.
- Fixed player config from saving a dozen times on startup

Misc
- Minor Refactor of utility module special module abilities and bonuses for more extensibility and inclusion of bonus values in loc so it's easier to adjust.
- console command to dump AI tech scoring

Latest patch notes are also always available on our web site, here: https://www.pavonisinteractive.com/phpBB3/viewforum.php?f=26

Patch 8 (bug fixes and balance improvements)

Today's announcement is a bit of a special one: We’re excited to share both a new update and also announce a Weekend Feature on Steam where Terra Invicta will be 20% off!

First, on the update: not only are we introducing enhanced control options for tactical fleet battles and improvements to the tutorial, but this patch also contains 20 new narrative events and a new combat music track from Breakdown Epiphanies.

You can read the full patch notes on everything we’ve included in this update, but let’s explore some of the highlights first.

[h3]Multi-ship selection[/h3]

You can now select groups of ships. To do so either hold shift and select your ships or use the new box select by clicking and dragging the left mouse button to draw a box around the ships you would like to select.

You can also now assign groups to hotkeys by pressing Ctrl + [0-9]. After a group is set you can select the group again by pressing the associated number.

Other improvements to combat controls include:

  • Fleet-wide ship maneuvers
  • Hold Ctrl to orient group waypoints towards the mouse pointer
  • Hold Alt to orient group waypoints away from the mouse pointer


Let us know what you think of these changes in the comments - we have many more ideas we’d like to implement, and we’d love to know what you’d like to see next!

[h3]Other highlights[/h3]

As mentioned above, we’ve got 20 new narrative events coming to the game with this update. We’ve also updated some event art across existing events. We don’t want to spoil too much for you, but here’s a peek at one upcoming event you may experience:



Other key improvements include:

  • Improved Army pathfinding, including the ability to set waypoints
  • Assaulting habitats has been reworked
  • The ‘Defend Interests’ mission has been rebalanced


[h3]Steam Weekend Deal discount[/h3]

Terra Invicta will also be running a discount from now until February 16, where you’ll be able to pick up the game for 20% off. If you (or your friends) have been on the fence about jumping into Terra Invicta, now’s a great time to check it out!

https://store.steampowered.com/app/1176470

This is only the beginning - we’re always working on polishing the game and responding to the great feedback we’re getting from our community. We’ve also got plenty of plans on how to enhance and expand the game, and we can’t wait to show you more as we continue our slow but steady invasion of Steam Early Access.

We'd love to hear any feedback or reviews you have on the game, but in the meantime, here are the full patch notes:

Saves from the patch should be compatible with earlier saves from 0.3.xx builds.

This patch includes all the following version updates on the testing branch:

KNOWN ISSUES AS OF 0.3.59
* We are investigating a rare crash when using the set primary target command at the beginning of a combat. We have not been able to reproduce yet, but we think it may relate to stale data from a prior combat. If you hit this crash, reloading the combat autosave should allow you to proceed.
* If upgrading an advanced save (with lots of fleets flying around) from an older build, there may be some noticeable performance hitches shortly after starting to run time. This is the game fixing some bugged fleets and it has to search the entire Solar System to resolve the issue.

0.3.60 will be a performance-focused patch and we intend to get it out as soon as it is stable.

0.3.59

- Fix very low inequality leading to larger cohesion drops instead of clamped to smallest allowed value, because the square of a negative number is positive, moron, and toned down the strength of the new mechanic in general (NOTE: THE RESPONSIBLE DEV IS VERBUALLY ABUSING HIMSELF, NOT SOMEONE ELSE. THIS IS NOT BEN'S BUG.)
- Fix errant try-catch block causing notification of new space object being detected twice
- AI will favor hostile takeover more.
- Clarified tooltips in Nuclear Terrorism event
- Added Phoebe explosion events

0.3.58

- adjusted cohesion/corruption math to fix incorrect constant, cohesion wasn't counting enough
- Unity priorty hurts democracy score a little more
- A nation's max cohesion drop in a month now increases as inequality goes up (ineq - 2.5f)^2 clamped to between .1 and 1
- added mission scoring for dominate, AI will use it now. Probably need to add a first-time notification
- reverted some coup modifiers related to corruption
- On new campaign starts, the "CLOSE" and "GOTO" buttons in notifications, along with the closer "X" are hidden until you reach the first mission phase
- Fixed resource UI not updating immediately when transacting in a lot of places
- Fix missing economic collapse illustration
- Made all bombardment timed events not stop the clock to process to fix some performance issues.
- sped up menu opening anims in start/options
- confirm assignments button will say "enemies are planning" when AI is working and it can't be selected
- fix bad UI reporting on range of boost increases for a nation in tooltip
- minor adjustments to new mission list UI
- attempt fix climate change events from appearing before temperature actually allows for it (may not fix all saves)
- Refund DV spent mid-frame when the destination of a trajectory has just launched on a new trajectory. If we decide to persue, we shouldn't double-spend that DV. Also added various safeties aroud aborting without a valid orbit.


0.3.57
- Fix crash when selecting an enemy councilor or targeting one of your own councilors with a mission, introduced in .56

0.3.56

Content
- New Combat Layer Music Track: Humans - Overcome
- 5 new event illustrations

UI
- Updated Priorites to use Yellow text for warnings instead of red
- When "Take Me There" will take you to the objectives screen it will now display "View Objectives"
- Tutorial Edits
- Added "Plan Launch" button to launch facility UI that activates the usual space object operation UI to help people find it
- Councilor Mission List UI Update
- added alien dialog for diplomacy
- Removed some TITimeEvents from stopping clock to process

Balance / AI
- Reverted Marine ship module assault values (getting lots of ... disparate feedback on this, but plurality seems to say they didn't need a buff)
- Tweaked down org space mining bonuses a tad
- Adjusted corruption calculation following regressions of TI values with corruption index. Now based on democracy, cohesion, and PCGDP (R-squared was 81% versus 71% with the older model, tyvm).
- Reduced the impact of corruption on Direct Invest costs
- More corruption adjustments, lower corruption value overall but higher coup chances if elites unhappy
- Increased base funding increase from funding priority from 4 to 5
- Decrease base spoils income from 20 to 15, increase inequality change from 0.0025 to .003, and increase democracy loss from 0.001 to .00125
- FactionGoal_RefitFleet : scaling number of refit goals based on refit costs vs available resources.

Bugfixes
A
- Mood.ClearState() : Mac NRE bugfix.
- Bugfix #3187. Prevents fleets from reporting the incorrect barycenter under rare conditions. This would cause a CTD.
- GetRelativeValueOfRefit() : NRE if refit is null bugfix
- Bugfix #3191: Prevent us from reading a trajectory's orbit state before the trajectory launches.
- Attempt fix a crash when a faction apparently goes from projects to sabotage to none in a single frame when an AI sabotage mission is prompted to process

B
- Fixed bad config in Empty Quiver INV option
- Ships will not continue to padlock destroyed ships
- Bugfix: telling a fleet to go to its own orbit no longer makes the fleet permanently unresponsive.
- Alliance adjacency for small non-naval powers now includes across bridges
- Fix bug where devolved space command generated an illegal org (due to tech restrictions on that org); DSC now has admin algorithms prereq
- fix 3193, one more case where councilor could use enemy hab's marines for an assault
- make alien kit utility modules do what they say they'll do
- Fixed Academy objective not blocking alien contact
- fixed some factions not being allowed to contact aliens
- fixed alien leader video path in diplomacy
- We no longer create un-used ad-hoc orbits as "origin orbits" for fleets that launch while not in orbit. Additional null safety was added for transfer origin orbits.
- FactionGoal_RefitFleet : Setting importance value to prevent being discarded
- Adjusted Alien-Protectorate relations in a few places after Protectorate completes announces their goals
- Fix notification illustration and space body model appearing at the same time in the big notification art frame

C
- Fix breakaway loc for .cht always referring to Taiwan instead of using tag

0.3.55

AI / Content / Gameplay / Balance
- Larger AI ships should focus more on point defenses.
- Maglev trains project + updated event text, Space Coffee event
- Boost can no longer be used in place of antimatter in ship and hab construction
- add event cost scaling for temperature and sea level anomalies
- Repair Bays and Damage Control will not fix Marine modules or hab kit modules on ships
- Loc drop for .cht,.chs,.jpn,.deu,and .fr along with Loc.en modifications
- Habs involved in assaults will now use adviser command bonus
- Propulsion techs and projects are now classified as space science techs, not energy, sorry people contributing to wikis and third-party tools
- Added Hab Research bonus context
- Restored station module hit point calculation to prior settings (.35 mass)

UI
- Added Executive Consolodation information to National Policy Hoverover. ... Must resist critiquing spelling in patch notes
- Added red cost for insufficent resources when selecting modules in the hab screen. ... SO HARD TO RESIST
- Fleet List will now default to own faction
- Adjusted modifier key functionality in sellspaceresources, +1000 now possible
- IF two fleets merge and one goes away, and exactly one of them has a player-changed name (including AI fleets), that name should always be retained
- default save names will include ingame date by by default
- added information to the trading interface for improving relations
- Added missing sfx to combat controls canvas
- Added red text for insufficent resources to operations control canvas

Bugfixes
A
- NRE when clicking selecting "Deploy Army" operation on a selected army before zooming into earth bugfix
- Fix rare crash when an AI fleet launches from a hab and completes a trajectory by docking at another hab in a single frame and both habs think they have the fleet docked (Discord report)
- save repair a busted Exodus objectives that weren't triggered by a project somehow, still not solved original issue
- fix code that was supposed to prevent you from selling faction orgs from your unassigned orgs pool to the market (email)

B
- Rework of narrative event alt weights to fix bugs that were preventing certain climate change and other events from triggering from a zero-initial-chance state.
- bombarding landed fleets and alien installations on earth oughta work now
- armor damage resistance won't reduce damage if there's no armor or during a critical hit
- changing languages now updates mod list item text
- Fix for changing languages in the main menu not updating the bold font variant correctly in some languages
- Fixes to disease Treated + Cured events
- Fix being able to substitute boost for exotics in building hab modules
- fix alien admin naval power calculation (#3165) to use army miltech, not nation miltech
- Fixed Alien Threat Tutorial not appearing
- fix for refit shipstates persisting in save files after refit, preventing deletion of templates. save repair for phantom shipstates persisting in saves
- Bugfix #3156: We now use the correct distance between the beginning and end of a transfer when estimating the travel time for transfers around a single Lagrange point. This avoids multi-year transfers to travel a few thousand kilometers. Also fixed bugs in the torch trajectory burn calculator that was revealed by fixing bug #3156 (these only effect the visuals, not the DV or travel time calculations). Tau has much more elegant patch notes than any of the rest of you, except maybe Kevin.
- fix for launch site achievement
- Updated Mip Map bias for lots of icons. Should see a big improvement in icon visual clarity.
- Bugfixes to events firing on wrong space body
- Faction objectives in the intel screen that overflow the box should generate a scrollbar properly now
- fix intermittent involuntary cancellation of refueling and possibly other fleet operations (Discord report)
- fix ControlPointFraction returning an int instead of a float (meaning it was always 1 or 0); this was messing up victory condition calculation and potentially other things #3171
- Bugfix: prevent fleets from teleporting into the sun on load when they have a planned transfer but haven't launched yet.
- Change to timeevent processing to attempt fix a softlock we got in testing. Kind of a fundamental change so let us know if it made things worse somehow
- Additional safety for assigned (but not launched) fleets -- avoids creating a TransferPlanComponent until the fleet launches.
- TICouncilorState.MissionQuality() : integer division => returns zero bugfix. AI should value missions in orgs and recruiting more.
- Adjustments made to Project details following investigating text issue for Interplanetary Warships:
-- Corrected for Missle weapon mount being included in defense modules incorrectly
-- Made adjustments to spacing of ship components being listed in project details
-- Adjusted text to provide better context to what elements are to be deployed to defensive station modules
-- Adjusted SalvageAlienWarship objective text for Destroy faction to match others.
- Bugfix: preventing trajectory repair on load from overzealously stomping trajectories for fleets that launched at the same time as the save occured.
- Made determining a fleet's location more robust very close to launch time. Previously, it was possible to have a fleet think that it had launched (and thus has no valid orbit) but also have the trajectory think that it hadn't launched (and thus would try to return the fleet's orbit).
- fix for tooltips not scaling properly on higher resolutions

C
- UI fix for CP Cap going over the limited space alloted for it
- Typos galore
- added string to clarify what org spaceflight bonus does
- fix electromagnetic propulsion texts to remove alluding to fanciful EM drive
- fix tiny antimatter stocks not showing up when no income on the main bar 3124
- fix missing tooltip in councilor grid when a councilor is detained 2779


Misc
- Autopilot : supporting more interaction -- now supports
1) Tech selection
2) Dropping excess orgs
3) Space combat
4) Avoids time speed caps from looking at fleets, habs.
5) Policy selection
6) Research window can prevent mission selection button from appearing, which halts progress. To avoid this, autopilot now automatically closes the research screen.
- savegames will now contain the real-world date the campaign started in TIGlobalValues state


0.3.54

Content
- ~20 new narrative events, several new event illustrations
- Unique icon for sabotage hab module mission
- Updated Spanish localization

UI
- Combat: Group select and maneuver can now operate either with stationkeeping (all waypoints with same relative offsets to maintain formation, governed by worst ship propulsion/rotation values), or with moving ships to the maximum of their individual capabilities.
- Updated combat tutorial, priorities tutorial
- construction manager will show build times in more places
- Added detailed filters for fleet screen
- Added Power summary for habitats UI + tooltip
- added button link to construction manager from hab manager if a shipyard is selected

Balance and Gameplay
- Defend Interest duration now scales inversely with number of CPs being protected, and DI is now apportioned across CPs to attempt to get the expiration date to match in all cases. Formula for DI total days to be apportioned is (90 * numCPs being projected) + 360. So a 1 CP nation is 450 days. A 6-CP nation with no existing DI is 150 days for all CPs (90 + (360/6)). (The base 90 per was added following some testing so big nations would not need constant refreshing while 1 CP would get eternal DI). Note the equalization of expiry date won't occur if 1 CP already had DI and its expiry is way, way further out than the others
- Defend Interest duration at a hab now increased to 5 years.
- ship marine modules worth more in assaults
- increase base mass of a number of ship hulls
- increase structural integrity of some large ship hulls (including many alien hulls)
- adjusted some build time multipliers lower for human ship hulls
- Reduced influence income from many orgs
- increased alien base caps on veteran and brutal

AI
- ManagePriorityHabsConstructionFactionGoals_Human() : ignore all but 1 capture goal when determining excess MC for creating found goals. Capture goals reserved MC space but were sucking down a lot of MC (I saw -50 in one case) for the purposes of this method, potentially resulting in lots of unused MC.
- Work on AIReaction code

Bugfixes

A
- Bugfix #3127: Prevents fleets from inheriting trajectories from fleets they are intercepting if those trajectories have already completed. Prevents a crash.
- TIHabState.IsSafeToVisit() : Infinite re-engage bug fix. If a fleet is assigned to resupply/repair at a hab that a hostile fleet is docked at, and that fleet is too strong to engage (or the battle is not initiate for whatever reason), the fleet will continue to try to dock, causing combat prompts to occur indefinitely. I added the method IsSafeToVisit() to TIHabState and use it to filter resupply/repair hab candidates so that this situation does not occur.
- fix crash when rebuilding a shipyard (Discord report)
- AIReaction() : NRE when arrivingFleet.orbitState == null bugfix
- attempt fix crash when clicking region while combat is starting up
- Added some rough error handling for null resources cost passed to found hab operations based on two reports we can't reproduce
- fix a crash when a scheduled bombardment laser from the strat layer fires during combat, which is weird

B
- Fix councilor-led hab assaults auto-aborting after assignment
- fix for enemy docked ships showing up in refit menu
- TICouncilorState.KillCouncilor() : only call AIReaction if faction is an AI. Prevents involuntary recruiting by active player's faction.
- fix max passive monthly pop loss in a region from -.95% to -10%
- Fix bad collider scale in Information Science Institute
- Fix "faction insolvent" defense modifier against fleet-led hab assaults providing a bonus instead of a malus

C
- fix bad build values being shown in construction manager
- Corrected typos for various templates
- fix for councilor mission tutorial persisting after the mission assignment phase ends
- Disabled zooming behavior when initiating some fleet operations

Misc
- Added discord, wiki and patch note links to main menu
- added some czech characters to the notosans and notosans header font
- make terminal a little more helpful, and bigger
- save file will record current application version to assist in debugging

0.3.53

Gameplay
- Rework of assaulting habs, with the goal of normalizing rules and success chances between councilor-led and fleet-led assaults. The goal is to make a councilor-led assault different only in that councilor is contributing command stat. Changes include:
* Fleets can again assault bases from orbit when the bases have active defense modules. Those modules now contribute to the difficulty of the assault
* If launching from a hab, attacking fleets and councilors will use all friendly hab and fleet troops to contribute to the success chances. (Exception: If there are hab support or MC shortages, habs will not contribute troops).
* If defending a hab, friendly fleets parked there will contribute Marines to defense score and success/fail chance.
* All contributing fleet Marine modules can now be damaged or destroyed.
* Marine hab modules used to support assaults can now be destroyed.
* Protection mission and council joint command attribute now contribute to fleet assault defense (just like council assault defense)
* MC shortages provide maluses to both sides on both fleet and councilor led missions

- Ship construction modules must always be powered, have increased crew, and removed money maintenance cost
- rework how shipyards determine construction time. reduced baseline construction time for all ships. Now shipyards and ship hulls have tiers; if a shipyard's tier is below that of a hull, it suffers a penalty to construction time; if it is higher, the construction time bonus applies (doubly so if it is much higher). So a Titan at a spacedock will be very, very slow, but a spaceworks can pump out gunships in less than 30 days.
- Increased the chances the Increase Unrest mission will trigger a secession. If used on regions with a succession movement, unrest will cap at 9.9 so revolutions won't trigger.
- increased research cost of many fusion drives.
- increased research costs of a couple of amat techs
- Reduced hit points of defensive space combat modules again

UI
- New strategy layer camera behaviour for geoscape & finder. click to select, double-click to move camera to.
- Add rebuild destroyed module button in hab manager
- added option to avoid focusing camera on councilor during the beginning of assignment phase

AI
- AIReaction() : Try to gather at least one fleet that can respond to an arriving fleet for each faction Detail: In the event that AIReaction is called due to an arriving fleet, 1) Before adding an enemy fleet to the list of fleets to run SingleFleetOperation on, check whether that fleet is capable of responding (currently that means its not in combat and can start a new transfer), Try to get at least one fleet from each faction by widening the search if you did not find a fleet in the same orbit.
- AIReaction() : check if there is a dedicated defense fleet and make sure it reacts to arriving hostile fleets.
- KillCouncilor() : AIReaction() call to immediately recruit new councilor and assign orgs.
- TransferOrgsFromPool() : return the beginning of list if a councilor acquires an admin org. This is necessary otherwise the highest rate orgs may be passed on in favor of lower rated orgs that come directly after an admin org.
- reduced alien AI preference for missiles

Bugfixes
A
- fix crash bug 3120, during hab destruction, removed faction intel entry was being re-added to dictionary when the faction was compromised by another faction in processintelchange.
- AIReaction() NRE when passed deleted fleet. Issue #3128
- Fix crash when a T3 base defense module fires back #3129
- Fixed a rare crash when faction crazy ivan (investigating itself for traitors) fails to find a target. #3126

B
- Bugfix #3105: Fixed bug where it was easier to go to a fleet or station in an orbit around another body than to reach the orbit itself. When the destination has a known mean anomaly at arrival (for example, because it's a fleet or other physical asset, as opposed to a vague orbit) I need to include the synodic period of the origin and destination in my maximum transfer time to ensure that I catch the Hohmann transfer window. The bug was that I wasn't using the synodic period when the vague destination orbit was around something with a definite mean anomaly, such as a planet around a Sun.
- Attempting fix for invisible lasers
- AIDailyFactionPlanner.TransferOrgsFromPool() : Removing mistaken condition that prevents unassigned org assignment.
- fixed issue where power first modules could be depowered when there was power available for them. No more hot-swapping marines/combat modules.
- fix for build times not updating when switching between pay from earth and space options in ship construction UI
- fix improper use of cached utility modules in ship autodesigner, leading to illegal autodesign/AI builds
- Fix not switching to fleet correctly when selecting a fleet while in operation targeting mode in UI

C
- Fixed issue with with stale data causing No Thrust Warning to display for invalid ships.
- Clarify LEOCleanup effect text #3106

Misc
- Added warnings for bad epochs to aid in debugging when the original bug is irreproducible.
- Added Mission_Abductions_Att modifier for effects

0.3.52

- Bugfix: Fixed recently introduced bug that would cause a crash if a fleet being intercepted then launched. (DetargetFleet crash)
- fix being able to use another faction's marines to launch missions from an enemy hab

0.3.51

Balance
- Balance: reduced hab module surface-to-orbit rate of fire

Tutorial
- Updated Combat Tutorial
1) Added Tip for waypoint color relationship to battle time
2) Added Tip for basic waypoint movement
3) Added Tip dicussing the significance of green, yellow, and red lines for ship trajectories
4) Updated Rotational Angle Tips
5) Added Tip for ramming
6) Added Tip for disengage

UI
- Added an animation to the army path vis that makes the path stream out of the army, as well as mold itself into a new path when the player changes it.

Bugfixes
A
- fix for NRE / crash when ordering ships with no target to disengage
- SpaceObjectPositioning.OnUpdate() : NRE bugfix. Issue #3100. Failing to call UpdateInjectedComponentGroups() in the event that the number of space objectes has changed may result in an NRE when accessing the spaceObjectGroup.SpaceObject array. Thanks to FioraAeterna for reporting and investigating this issue. Apparent New bug for .50
- Fix 3112 by updating injecting component groups every time a transfer is concluded/deleted/canceled.
- Fix for fleet command crashing the game when multiple combats occurred during the play session and a combat ended during target selection causing stale ship data from previous to be used
- Fixed Crash 3113 caused by primary target changing when all opposing ships are destroyed
- Fix crash when placing illegal antimatter farm module
- Bugfix #3105. Fleets that had inherited their trajectories from a fleet they were intercepting could end up with the intercepted fleet's trajectory instead of a copy of it, which could have its destination invalidated, in turn breaking saves. This is fixed, and saves corrupted by this are now recovered on load.

C
- Fix for hab screen UI incorrectly displaying the list of habs when the user unchecks both stations and bases
- Fix for bug #3095: Lock icons displaying incorrectly in battle (left over from previous battle)
- fix alien threat panel sometimes bleeding into combat

Perf
- attempt to improve performance of pip fleet images by not rendering > 20 ships

0.3.50

UI
- First pass at multi-ship selection and orders in space combat. Ships can be added to control groups. Full details:
- Added Group Selection for ships. Ships can be added to a group by holding shift, holding left mouse button, and box selecting a group or by holding shift and selecting ships either directly or in the fleet list.
- Added Control Groups. A group of ships can be added to a control group hotkey by pressing Ctrl+[Number Key 0-9]. Groups can then be selected by pressing the associated number key.
- Added Fleetwide ship maneuvers. For example, the Padlock command can be given to all ships in the fleet at once.
- Fleet Commands now toggle to Group Commands when a Group of Ships is selected. Allowing the player to issue commands to the selected group only.
- Multiple Ship Combat UI improvements.
- Updated Combat Tutorial with new features.
- Added two new control options when manipulating waypoints:
- when a group is selected, hold Ctrl to command all ships to move or orient towards the mouse's position in the operative plane.
- hold Alt to command all selected ships to move or orient away from the mouse's position in the operative plane.

- Army path queuing. Armies can now be given multiple destinations to travel to by holding shift when clicking additional regions during DeployArmy/iesOperation target selection. This allows override of quickest multi-region pathing.

Gameplay
- Updated All Stop algorithm to be more accurate stopping ships when velocites (sic) get very small. All Stop now works consistantly (sic) in all direcitons (sic). Fixed an issue where angles were not being compared correctly during all stop resulting in incorrect rotation time projections. All Stop now blocks player input while being executed. All Stop now respects ship dV values. No more stopping without fuel. Changed the way the game calculates All Stop. Ships should not calculate their most efficient path to killing all velocity. All Stop only calculates once per cycle barring player input. Very small perfomance (sic) improvement. All Stop will auto cancel if the ship runs out of fuel mid manuver. (sic)

AI
- AssignIdleFleetsToGoals() : Do not join a fleet if either fleet has broken-down ships. This prevents fleets from splitting out ships that cannot transfer only to then be re-merged.
- Start on AIReaction processes to certain events (such as a fleet arriving in an orbit) that require immediate AI response rather than waiting to next Task.

Bugfixes

B
- Fixed a waypoint selection bug that occured (sic) when hovering a waypoint while having the mouse left button held down.
- Cleaned up a memory leak coming from projectiles in combat

C
- Prevent combat waypoint lines from rendering behind the ship's position on high-velocity trajectories.
- Changing army path vis to SolarSystem layer to stop it from showing up in combat.

Patch 7 (bug fixes and gameplay, balance, and AI improvements)

A large patch for Terra Invicta is going live on Steam. It is build 0.3.49. It has numerous bugfixes, balance updates, and UI and AI improvements.

Saves from the current default build, 0.3.35, should be compatible with the patch (and the build may repair some saves that can't load).

Thanks to everyone who has provided feedback and bug reports via email, on our Discord, our web site forums, Reddit and here. We can't always respond to everything, but we are monitoring all those as best we can.

There's still plenty more to do. We're working on ways to make the UI more efficient. In this patch is army multi-region pathing and the ability to set a homeport for your fleets, which will serve as a default destination if no other space objects are selected in the UI.

On our validation branch (0.3.52) is multi-ship fleet and group selection controls in combat, and we have some camera controls we're testing internally (to reduce the incidence of your interactions with the UI causing unwanted camera movement and zooming).

We invite everyone to leave a review of Terra Invicta here on Steam, and give us any feedback or suggestions for improvement.

This patch includes all of the below smaller updates from the test build:

0.3.49

- Bugfix: prevent CTD when transferring from a moon to a parent body and the destination is a fleet that will launch before we arrive.
- Bugfix: prevents a CTD caused by using the wrong barycenter for a fleet being intercepted via orbit phasing due to the fleet's destination being the same orbit as the intercepting fleet.
- Fix a couple of issues related to assaulting habs; should be able to assault habs from same space body now. (More adjustments to this mechanic are planned; this is just fixing a bug.)
- Added console commands to destroy and complete under construction hab modules in the hab management UI

0.3.48

- Fix crash when managing a hab related to antimatter harvest modules
- fix crash related to nuking a landed fleet from orbit
- check for zeroed out period/time slices for drawing orbit trails to prevent div by zero errors
- Bugfix #3025: Fleets that need to recalculate intercepting a target fleet because it moved are no longer yeeted out of the solar system. Also fixed some related bugs where fleets would report an orbit around one barycenter, but claim to be orbiting another barycenter, when they're at the exact moment of launching / arriving. And I fixed a bug where fleets would sometimes attempt to arrive via hyperbolic microthrusting -- which is several kinds of impossible.
- Bugfix: a fleet's orbit period is now correctly returned as infinity when it's in the middle of a transfer and it's momentary trajectory is hyperbolic. This prevents an NaN DateTime from cropping up later.
- Fix bad feedback text related to orgs being marked as ineligible for a faction when they aren't

0.3.47

- restored marine barracks modules power values. supply depot and alien [redacted] will remain at zero
- fix 3082 -- UI crash when player looks at a fleet bombarding a destroyed army. Added save cleanup (although this was likely to clear after a few weeks when the bombardment ended normally) and also code to handle an army being destroyed while it was being bombarded but by another source, which is the likely cause.
- fix crash when a fleet launches toward another fleet launching at the exact same moment

0.3.46

Bugfixes
- Fix crash when using Dominate mission on neutral Control Points
- Fix some slightly off laser jitter values
- Fix sometimes being able to land fleet at an enemy defended hab
- Restored missing power values for defense modules
- Fix invulnerable combat hab modules; revert and try a different way to fix rando hab models appearing in combat; the method in .45 caused collision detection for combat modules to disappear
- Fix crash when playing a skirmish then starting a regular campaign in the same system; the army-pathing pre-calculation was being skipped to save load time but that didn't quite work out
- Some text clarification here and there
- MarkerController army pathing listeners : check for MarkerController deletion. Attempt fix reported crash during army movement

UI
- Request missions for target functionality now control-left click so it will work on regions, not just markers

0.3.45

- Fix crash introduced in .44 when starting various operations
- Fix for waypoint DVtext not facing camera after waypoint widget rotates
- Fix camera focus on a hab not involved in a combat when combat starts causing hab to appear as inanimate object in combat
- Drop assaults on bases with active defensive weapon modules are no longer allowed
- Improve performance during bombardment counterfire target selection
- AI fleets with motherships will no longer choose tight formation spacing

0.3.44

Gameplay/AI/Balance
- AI (especially aliens) will score building a defense module higher if the hab is undefended and >= tier 2 or has a mine
- AI will be more aggressive in selling orgs when it has negative money income
- AI will pay attention to support costs for hab modules when it is resource poor and score down modules in that case
- AI will score down "mission to" techs when it can't really colonize
- ai armies will perceive themselves as damaged at lower thresholds
- Containment Breach allows Marines from ships and not just hab modules to join the bug hunt
- Increased output of three amat hab harvester modules. Restricted to one of these modules per orbit. It's still going to be pretty small (increase is 5x to 2x of current) as we're sticking with the real-world estimates of natural amat presence in those orbits.
- Increased mass of all human T3 hab modules
- A councilor can no longer add orgs when detained

UI
- goto button on your fleet will refresh the operation UI if it's turned off
- when starting a transfer, your currently selected space object will override your homeport as the default destination. This was how it worked before we added homeports
- homeport icon now has a goto function, can be used during fleet targeting
- Finishing a claims project will now display the capital when the nation doesn't exist
- Army path vis : when selecting a target for an army, move the selected army to the top of the stack. When multiple armies are deploying together, the visual order of the armies may changed, resulting in the selected army (based on the army detail window) not being on top, which means that its path will not be rendered when choosing a target. When the user selects a deployment target, their selected army is moved visually to the top of the stack.
- Ship designer now remembers your show obsolete parts setting between saves
- Projectile weapons now display more detailed cooldown data in ship designer
- Shipyards will now remember "allow pay from earth" setting when saving/loading

Bugfixes
A
- fix a crash when hitting small goto button in enemy fleet UI
- fix a crash when triggering "can we unify?" tooltip with the alien nation
- Fix crash-causing bug when a combat would trigger while you're docked at a base
- Fix for crash caused by resigning a turned councilor and interacting with the councilor's UI icons
- Pause PeriodicFleetOperations() while there are unresolved combats. To prevent this method and SingleFleetOperation() from interfering with an ongoing battle, this method now waits until combats are resolved to continue running. This was causing intermittent crashes. I also added code to prevent deleted fleets from being used with SingleFleetOperation(). This may happen if the fleet was deleted while this coroutine was running.
- Bugfix #3076: prevents crash calculating trajectories for fleets with incredibly low acceleration that would be in a microthrust domain for the duration of the transfer when calculating starting and ending positions from their exact positions, but (because both the start and end are near periapsis), would avoid at least some of the microthrusting if their position is calculated via semi-major axis.

B
- You can't steal supplies from a hab with any defending Marines
- Fix calculation of ramming speed influence cost, also raised it a bit
- Bugfix #2886: Previously, you could break an intercept via splitting or merging the target fleet, and then launching some portions of the fleet on their own trajectories. This exploit is now substantially harder. Intercepting fleets will target the larger fleet that their original target merged into.
- MarkerController.OnDestroy() : remove army path vis listeners. This prevents the lingering army path vis bug.
- SeaMarkerController : wrong army selected bugfix. After clicking on a sea marker, the original army was selected rather than the army that should be on top (actually, the bottom of the localArmies list) based on the MarkerController.associatedState. I've modified it to select the new army instead.
- Projectile Job safety check on cleanup
- Fix Skunkworks option in Destructive Testing event
- Fix for councilors playing turned VO when they are not turned for the player's faction
- Some fixes for waypoints being reset or suddenly pointing in directions the player did not choose, not sure we got all of it. (In the spirit of the season, I fixed Ben's typo in this patch note before publication.)

C
- councilor chat won't recommend defending a disabled control point
- Space Combat Tutorial Burn Loc Fix
- Nanomedicine now spelled correctly in backer icon. This one isn't on Ben but on the Frenchman who spelled it the French way.
- mission control affecting effects will update resource UI on completion

Misc
- Terminal: UnlockAllShipParts cheat will update faction part caches so autodesigner will use them

Coming soon:
* Army pathing fine tuning
* Reduced camera takeovers in Earth layer
* Multi-ship selection and waypoint control in combat

0.3.43

Gameplay / Balance
- Unification now requires a claim on a nation's original capital, not its current one. This setting can be overridden with by setting prohibitCapitalShenanigans flag in TIGlobalConfig to false. (This config replaces "restoreCapitalOnLiberation" setting.)
- Colony region status is harder to lose. The new nation needs to have a PCGDP close to the colony region for it to lose that status. It will also reassume colony status if its original nation gains it back and the PCGDP is still significantly lower.
- Added three new claims projects -- Central Asian Union (Kaz over the 'stans), A Period of Unity (Vietnam over Cambodia and Laos), and Big Hungary
- Habs / modules under bombardment may not be decommissioned
- reined in impact from ideology on democracy following a revolution
- regional defenses do less damage when fighting a number of enemy armies (in excess of friendly armies) at once. Formula is diminishing returns based on number of enemies being fought.
- Surface based hab modules will be stronger against kinetic bombardment. AI should take this into account.

Content
- Leader VO plays when completing objectives
- Few dozen new org icons
- 5 new event illustrations

UI
- Army multi-region pathing visualization implemented
- Tech Tree search can be used with at least 2 characters now

Bugfixes

A
- Bugfix #3024: Fixed another crash bug when correcting invalid trajectories on load. If a trajectory does not know what fleet owns it (either a null fleet or a previously destroyed one), that correction needs to be made before the visualizer is initialized. If a trajectory is owned by two fleets, it needs to be copied, and that must happpen after the visualizer is initialized. I've split the repair function to run at these two different times, which should (finally) stop the crash bugs.
- Save repair when region duplicated in two nations from older bugs
- Fix crash when a deleted fleet checks its resupply goal
- Fix for 3040 - GameObject.Find returning wrong object with string search.
- Fix for 3041 - Fixed merging the same fleet twice for combat when it already had it's ships merged
- fix crash when using ISRU/remass scoop and selecting refuel and repair
- Combat softlock bugfix. Issue #3052. Sometimes the methods that set up listeners for the CombatStanceSelected event fired off after the stances were selected, thus breaking the combat process and locking up the game. I've made those methods occur immediately, preventing this ordering issue from occurring.
- Ship collision now properly damages the ship internally and registers as being destroyed, preventing mid-combat crashes when giving fleet commands in combat after one of your ships has collided with an enemy ship. This was causing crashes
- Fixed numerous bugs involving transfering fleets that will launch in the future. We need to ignore future launches (acting as if they won't happen), since they can easily be cancelled while the target fleet is idling. This was leading to some crashes.

B
- Bugfix #2891: fixed bug in orbit phasing which made it fail if there was enough time to catch a target fleet before it leaves, instead of failing if there isn't enough time.
- Additional bugfix #2891: The old orbit phasing code was still tracking unlaunched transfers for target fleets, unlike other transfer code. (We don't track unlaunched transfers as that could be abused by aborting transfers before launch). This could cause a "code path not implemented" error in the transfer solver, as no orbit phasing trajectory would arrive before launch, and patched transfers weren't attempted because those correctly ignore the unlaunched transfer. This bugfix corrects that by having orbit phasing ignore unlaunched transfers.
- Fix reversed settings preventing construction of certain hab modules in non-irradiated areas of space
- Fixed system clock setting not loading correctly; Random seed option now works and generates a new seed on each game load
- fix: capturing a base will prospect the space body it's on
- Fixed a bug where a UI interaction would allow the player to set a policy for a nation to declare war against itself
- Attempt fix reported issue where local forces were engaging enemy armies at sea
- Projectile Leak Fix, need better patchnote Mr Dev whom I will not identify but whose name rhymes with "Zen"
- Fix Patagonian nation project not working. (Will require new campaign for fix to take effect)
- Bugfix: Planning orbit phasing would break if the destination fleet was launching in the future. Corrected by using the destination's current orbit and targeting that.
- Army relocation bugfix. Issue #3066
- ArriveFleet will check for if destination fleet has landed and assume orbit above it in that case

C
- Fix missing tooltip for buddy movie event
- Fix missing antimatter missile warhead text
- Resupply and Repair operation will show completion time in UI, as will ISRU refuellings
- Prevent refreshing and showing intel councilor tab when councilor tab is not actively selected
- Fixed text overflow on intel tab environmental damage in Chinese & Japanese
- Fix for blurry ship in ship designer
- disallow refuel and repair option when only one is possible
- Tighten condition for Icequakes to only hit gas giant moons
- Fix spelling of the Dutch astronaut with the best name ever, Wubbo Ockels. Totally not Zen's fault this time
- fix missing homeport icon in fleet ship list item
- Various typos
- Fix missing loc #3061
- get that funky œ merged character in the font for French
- added missing loc for mod ui
- Fleet Class Obsolete Tutorial Tip Placement Fixed
- fix fmod warning for 3d attributes

Performance
- Performance: Notification Summary Queue will now clean old summaries on startup and every mission phase. Notifications 60 days or older (5 years for alien-related events) will be removed from memory. Should see significant reduction in save size for advanced campaigns and hopefully reduced load times. (These had been left to help debug the campaign)
- Tech tooltip strings for searching are now cached on startup and updated as needed, instead of rebuilt every time the tech-tree is opened. This should speed up opening the tech tree.
- reduced size of bilat and project jsons and improved template initialization to handle missing fields better
- AI will not check for valid targets in Transfer.ActorCanPerformOperation step

0.3.42

- Fix crash in postcombat when only a hab is on one side (bug introduced in .40)
- Attempt fix crash when the only available region Mission Control slots in a nation are in occupied regions (which can't gain MC)

0.3.41

- Fix fleet resupply operation not processing correctly (new bug in .40)
- Improved Maintenance Procedures properly decreases chance of Cascading Failure instead of increasing

0.3.40

Gameplay/Content

- Added nation of Patagonia, project to unlock, and claims on Neuquen (capital) and Santiago
- Greater India now adds claim on Myanmar
- West African Community project now grants Nigeria claims. Nigerian Confederation now requires WAC (and grants more Nigeria claims).
- Slavic Commonwealth renamed the Intermarium and adds Ukraine, Baltics, Belarus, Hungary, Finland and Romania to its claims
- fleets can use combat acceleration in pursuits
- combats will start 250 to 500 km further apart to allow for more initial maneuver before firing. fleets defending habs will start at 100 mps instead of 500. Stopgap fix
- Added Repair and Resupply fleet operation, combining both into a single operation.
- You may not disband armies or disarm nukes in a nation until executive power is consolidated
- added more AI emphasis on mission control, less on boost and military
- regional defenses will no longer just function as anti-occupation/anti-megafauna forces; they will now fire against enemy armies that are fleeing, and armies fighting other armies
- wars will now track last date of hostile action (involving armies or nuclear weapons); AI will now start to recognize stalemated situations
- Annexing can put nations on the cusp of revolution but not put them over the top by themselves
- alien nation annexing other nations will see reduction in democracy based unrest increase based on servant public opinion proportion
- game will track claims added that aren't from bilats but instead from annexation. A successful succession roll will give primacy to claims added from bilats than those that aren't
- added handling for alien nation nuclear arsenal on AN destruction. Nukes will either be transferred to a successor nation with a nuclear program (high chance), add to loose nukes (very small chance), or destroyed (low chance if any successor nations have a nuclear program, otherwise very high chance)
- Army AI will pull back during civil wars at home
- Added small damage randomization during army combat
- Improved Hydroponics Bay and Farm output
- Nerfed Research Campus, costs an MC now and has 200 crew. we will designate a hate zone somewhere for this change, but producing 1000/research a day in the mid-30s is far too much
- Destroy Hab operation is no longer an atrocity
- Atrocities for bombardment no longer trigger during individual FireMissions. They instead now trigger at bombardment start, when against civilian targets (regions, launch facilities, mission control facilities). Exception: Sufficient damage to regions directly can still trigger an atrocity via usual Damage Region method.
- A nation now must be at war before its space facilities can be targeted by a human fleet for bombardment (like armies)
- Bombing launch facilities and mission control centers on Earth from orbit is an atrocity
- Atrocities for attacking habs now work on a module-by-module basis. Most modules (and entire habs) there are no consequences to destroy at any time. Some modules count as an atrocity to destroy if you are in an inhabited region of space (50000 pop, so mostly just in the Earth-Luna system). Some modules -- generally hospitals and tourist facilities -- are always an atrocity to destroy. These will be tracked individually if you blow up an entire hab.
- If after regime change a nation is only colony regions, those regions will declare independence if able.
- reduce the money and research gain from unused mission control
- added ~30 new org icons
- added new project and org from backer

UI
- You may now set non-adjacent destinations for your armies. The multi-region path itself is currently invisible. We are still working on this visualization for a future patch.
- Added operation to set a homeport for your fleet. This will be the default transfer destination when you aren't parked there (and that's all it is).
- Added transfer option to automatically initiate repair and resupply if arriving at a friendly hab that can do at least one of those things.
- Updated Combat Tutorial to include the new lateral controls and burn hotkey rebind.
- transfer UI will display ESTIMATED ability to pursue an enemy fleet you are considering intercepting
- Split fleet UI has a little more detail now about ships

Bugfixes
A
- fix Deep Space Telescope not triggering for Exodus. Will fix stuck saves.
- Fixed 2 "PlanMissions" crashes introduced in 0.39 when a faction does a crazy Ivan on itself but it has no valid targets for the missions
- Bugfix #2950: Old saves sometimes include fleets that re-use the same trajectory (because they have the same flight path). That caused a slew of bugs, so we now copy the trajectory for each fleet. The code to update the save (copy the trajectory) was running too early, before the fleet had a visualizer, which would cause it to crash. That's been fixed.
- Bugfix #2951: When a fleet is intercepting a destroyed enemy fleet, it now goes into a temporary orbit, instead of crashing the game. Bugfixes (related to #@2951): Prevented various crash bugs caused by inconsistent states in old saves.
- Fixed case where targeting tool was showing no candidate destinations, potentially leading to a UI crash
- Attempt fix issue of region ownership being duplicated during breakaways, led to crashes
- Reduced size of fleet screen render textures to reduce Vram impact.
- Moved RepairPotentialInvalidTrajectoryFleetReference() earlier in the fleet initialization. A fleet with a bad trajectory was causing an NRE when initializing its visualization.
- Fixed a crash when a fleet with no armor on one facing attempts to repair
- Added some save-repair and logging for phantom fleets existing after combat (leading to crashes)
- Fix a crash when you tell a turned councilor to resign and they abort their mission, report it to you, and you hit "take me there"
- Fix a crash clicking a dummy councilor list item in the faction intel screen when a faction is out of councilors

B
- Fix several timing issues related to bombardment. At high time compression bombing damage was fully processing while counterfire was stuck in the queue; when counterfire finally processed it found the defense module was already destroyed by 6-12 hours of bombardment. Worked on bombardment visualizations.
- rework of conditions for neutralize nation goal, and several steps to make sure it gets turned off. It appears this goal was lingering when it should have been discarded after faction wars and causing at least some of the problems with the AI trashing nations.
- fix automated bases not initializing with correct core module
- Fix for 2900 - Fixed a bug caused by AI trade values not being cleared when finishing a trade, causing the values to be carried into the next trade..
- Using index speed controls now respects the speed limit when camera is following an object orbiting a spacebody. Prevents rapid screen flashing.
- Fix for combat ambient sfx persisting indefinitely when loading a save game while focused on an army at war while sfx is playing
- Fix for radiator audio persisting indefinitely after combat or when loading a save
- fix (again, maybe for reals this time) threat monitor sitting on top of UIs on 16:10 AR
- fix some AI end combat voting settings overriding each other and not displaying properly
- Having a hab in combat should no longer result in draws or enemy wins when the other side flees or is totally destroyed and the hab is disabled or a noncombatant.
- DesignShip() : Do not use obsoleted parts unless there is no other choice.
- Attempt fix issue of space defenses priority becoming available not forcing recalculation of priority proportions
- fixed bug where drives weren't receiving minimal repairs (to 5% function) after combat
- Fix issue when regime change of a nation in multiple caused region transfers to non-allies of the nation causing the region change
- fix Chevron formation pattern
- Turning power on to a combat module on a hab with an enemy fleet docked with now trigger combat. Also changed check on hab module completion to this check.
- You will no longer dock with an enemy hab after combat if any combat modules survived on the hab
- Player habs should not repower things on session load. (This is a stopgap fix. Initial intention is that players would not be allowed to turn off critical occasional-but-critical use defensive modules, which is what the game is trying to enforce here. This kind of micromanagement isn't intended gameplay.)

C
- fix farm water/volatiles values in the UI
- fix spelling on a couple of internal variables that no player ever sees because I just can't stand to see it spelled "persuit" Ben, seriously, how are you misspelling things in parts of the game you aren't even working on; no I don't care if it's Tau's code ... fine, if you're leaving I hope it's to go buy a dictionary
- "Center" not "centre" my dear colleagues; this game speaks 'Murican. Also it's "theater" not "theatre."

0.3.39

Bugfixes
- bugfix #2897: Hotfix to recent bugfixes. (Trajectories weren't getting properly created when 0 duration.)
- fix German TIDriveTemplate loc
- fix bad units in precombat pursuit math / logic
- Precombat bidding outcomes now properly respects fleet accelerations.
- fix crash when a hab is destroyed while other fleets are destroying or assaulting it
- Bugfix #2901. Recover saves where a fleet's trajectory thinks that it is owned by a different fleet, or a deleted fleet.
- Fix for 2871 - Fixed exploit where a refit could be cancelled to repair and refuel the ship for free

0.3.38

MODDING
-Including non-vanilla json templates in the mod folder should no longer crash the game.
-json template mods are now loaded and merged at runtime in memory instead of modifying vanilla files.(No more json mods breaking after every patch)
- IMPORTANT IF YOU USE MODS -0.3.38 may require verifying files in Steam to clean up any old remaining template files as the new system will not modify the files themselves anymore.
- Fix for mod installation popup overflowing and preventing user from clicking the close dialog
- Prevent crash when enabling/disabling a mod when it's folder is already present in the target directory and informs the user.
- Json template mods that fail to load on startup will now display an error message in the UI showing the cause of the failure and corrective actions to be taken
- Clear existing mod templates when loading mod jsons; Added optional support for mods to concatenate arrays in template files instead of merging them by index, a list of jsons can be added to the field "TemplatesToConcatArrays" in a Mod's ModInfo.json file to control this setting
- Support for "LoadOrder" field in ModInfo.json, when multiple mods compete for the same field, a higher value will overwrite the others
Updated default ModInfo.json to include placeholder examples for new settings

Balance
- rework of how miltech updates when absorbing other regions. The calculation now occurs when any region changes hands. It counts armies, navies and the regional defenses as contributing, and weights the absorbing nation's existing miltech at twice the absorbed region's. This should minimize but not eliminate the miltech movement as the absorbing nation must absorb the new region's military forces.
- democracies warring with and rivaling one another does not increase cohesion in either state (trying to represent the democratic peace a bit)
- Rule change: Each faction may only suffer sabotage to a particular project once in a campaign. The AI begged me for this and I told it that if you are capable of begging for a balance change you're capable of playing better and then it got all mad and I had to send it a cookie bouquet to make up
(Discussion: The alternative, perhaps more organic-feeling change is an increasing penalty for each sabotage mission a faction has suffered. But that may end up working against players "using up" their easy sabotages and not having it available (except at a -30 penalty or something) when they need it, so the AI and player would have to manage it more closely)
- Significant increase to target cooldown of missile tests event to reduce farming of cheap miltech upgrades
- tried to make the AI detect its councilors are being targeted en masse and respond better with go to grounds, self-investigation, and inspires

UI
- added loc when maxxing out DV spent on a pursuit will force engagement
- rotated alien threat UI element and tried to put it behind other UI elements
- Added cost string to probe launch operation so it's visible even when no options are available
- Fleet - Radiators commands will only be visible when at least one ship is eligible to use it

Bugfixes
- Trading exploit fix - prevent negative resource quantities from being traded.
- Bugfix #2831: Prevented many spurious ad-hoc orbits from being saved when a fleet aborts its transfer. Cleaned up unused ad-hoc orbits on load. Cleaned up empty fleets on load.
- Bugfix #2758: Fixes a CTD on load that was plaguing 0.3.37. Distant fleets would produce extremely long orbital periods (>10 thousand years) when generating orbit trails (due to not really having an orbit while in transit).
- Fix a bug preventing ideologically close factions from forming inter-nation alliances properly
- Ships can now use disengage command when bridge is badly damaged/destroyed
- fix reversed set up when you fix alien hate of you
- fix bug when successful pursuit in precombat didn't report outcome correctly
- fixed localization of the warnings saying the localizations still need some work. Quel irony
- Bugfix #2892: Prevents another CTD on load caused by extremely long duration orbits. This was caused by orbits around Lagrange points.
- Fixed a crash when clicking on a small hab icon of an enemy fleet when docked

0.3.37

- Fix crash introduced in .36 when a battle starts
- You can no longer sabotage projects that have enough RP to trigger completion. This should fix a crash when one of those was selected for sabotage.

0.3.36

- Fix for refit exploit where ships could be infinitely duplicated for free
- RepairFleetMembership() : catch dupes in other faction's fleets. WIP
- ArriveFleet() : if targeting a fleet and that fleet is docked while you are not, undock. Otherwise fleets may not be able to merge for the JoinFleet goal and get stuck in an infinite loop of trying to transfer to target fleet.
- Launching a transfer, or removing a transfer (due to abort, for example) wasn't properly cleaning up the original transfer operation that initiated it. This is now fixed, in a way that will also steadily clean up any lingering operations in old save files.
- Bugfix #2855. Rarely, trajectories were being saved with no destination. On load, we now determine the closest matching orbit to where they end up and use that as their destination. The root cause of this bug hasn't been solved yet.
- Fixes to lighting triggers for Corsair peripherals

- Known crashes in 0.3.49
* Crash when dropping an antimatter harvester/farm module in an illegal spot on a hab. Fixed in 0.3.50.
* Crash when loading a game when a fleet intercepting another fleet inherits its trajectory improperly. Fixed with save-repair in 0.3.50.

* This update used all allotted space in the Steam event description field, which I didn't know was a