Patch notes 0.3.77-.87

Locked
User avatar
johnnylump
Site Admin
Posts: 1262
Joined: Wed Nov 11, 2015 4:12 am

Patch notes 0.3.77-.87

Post by johnnylump »

NOTE: Due to staff travel and pending electrical upgrades at Pavonis Global HQ, there will be no additional patches on validation until June 7 at the earliest.

0.3.87

Balance
- capped cohesion loss from war declaration on new rival at 10

A
- attempt fix baaaad performance during determine-who-we-can-war-with planning #3439
- MRE race condition fix when event kills councilor
- 3441 - fix infinite loop when upgrading ship classes

B
- 3396 - clicking join fleet via notification will now make the current fleet join the target fleet instead of the target fleet joining the current fleet
- HabSchematic : running out of slots during renovation bugfix' ValidModuleForSlot() no longer return false is slot is under construction. Modified HabitatsScreenController.IsLegalDrop() to maintain previous behavior.

C
- gotogamestate for an army at sea near its destination will go to the destination region rather than the origin

0.3.86

Balance
- education impact on pop growth will never take it below zero (other factors might, though)
- adjusted nation research formula again for smooth curving, thanks slwan on Discord for suggested formula

A
- 3429 - fix crash when adding refits to shipyards;
- Fixed Crash when selecting a control group with dead ships in it

B
- fix error in bombard availability logic that was preventing bombardment
- map mode color changes, occupation fill is visible on nation map modes
- fix "can bombard alien nation when not at war but alien nation owns most of the world" logic
- fix "we have encountered aliens" notification coming too early when a faction you are spying on encounters them first

C
- fix Israel councilor backgrounds not appearing since .85


0.3.85

A
- fix crash when AI gets Media Spotlight narrative event
- fix crash when right-clicking army's current region to cancel its movement
- fix availability of bombard buttons when you shouldn't be able to bombard (docked, above lagrange points, etc), which when pressing would lead to a crash
- fix bugged logic that agglomerates duplicate wars on startup, leading to crashes when occupation data gets out of sync

B
- put 3 recent backer orgs in the metatemplate, plus removed USIA (doesn't exist in 2022) from meta template but fixing allowed on market status for inclusion in mod/cold war scenarios without editing TIOrgTemplate.json
- fixed bad references for several nations in org templates
- put 3 recent backer orgs in the metatemplate, plus removed USIA (doesn't exist in 2022) from meta template but fixing allowed on market status for inclusion in mod/cold war scenarios without editing TIOrgTemplate.json
- GetJourney() : IsRegionAllowed == null never true bugfix
- TIArmyState : cannot travel over water bugfix
- fix for enemy councilor mission list not appearing in UI

Balance
- lowered economy bonus from some orgs (apparently made these changes a while ago and only now updated the file to fix a bug)


0.3.84

- Fix crash when a hab is destroyed following the creation of a new fleet (new crash in .83)

0.3.83

Gameplay/Balance

First Pass Formation Update
- You may now set your fleet's formation in the combat layer at combat start, so you can see where various ships will go.
- Added Formation Controls for placing in front or behind friendly hab
- Added initial velocity Controls to Formation

- radiators will begin bleeding heat the moment they start extending instead of when they complete. This is forgoing some realism to make management easier on the player and AI when they max out their internal heat capacity and need to extend radiators.
- Declaring war on a rival leads to a cohesion drop if the nations haven't been rivals very long. The cohesion drop begins at 5 * (democracy / 10) and goes down to zero, typically over 90 days. After that period starting a war can lead to the usual cohesion gain. This effect does not apply to the alien nation, or wars on the alien nation.
- Aliens will send some volatiles and metals through the <REDACTED> every month to avoid occasional ineffectual alien starts
- adjusted AI potential war evaluation
- tweaked research formula so the slope from 45k -> 50k PCGDP doesn't exceed 40k -> 45k
- rework of population growth model to better base on real-world stats. Used linear regression on various national stats to build a new formula that includes education, PCGDP, cohesion, sqrt(abs(latitude)). R^2 is about .61. Adding continental modifiers to the regression got it to .7 (with Africa, Europe and NE Asia modifiers p<0.05) but instead of hardcoding those we moved configured population growth modifiers from being a nation stat to a region stat, which also can't be gamed nearly so much. These regional modifiers are applied as a corrective to the formula's output. National population growth modifiers still exist in config but are zeroed out for everything except the alien nation for modding purposes. Notes: Inequality, total population, democracy, war/peace state were tested but had no significant impact on population growth when the other variables were included. Unrest had a significant *positive* impact on growth -- probably not causal, but co-incident or causality going the other direction (high birthrates + poverty = lots of desperately unemployed) -- and was not included because it would be too easily gamed. 2023 growth values for high-unrest Syria and Venezuela in particular were outliers, probably because people are moving back as conditions improve slightly in those countries. Worried cohesion can be too easily gamed but the relationship is there; I'd've preferred to use inequality but the math just doesn't work. Only way to make this better is start adding median age and fertility stats to the model but it seems excessive. TLDR: Nation merge strategies to maximize population growth aren't a thing anymore.
- Point Defense Array project requires Principles of Space Warfare, not Militarization of Space. Layered Defense Array requires Militarization of Space.
- sped up army movement through enemy territory and slowed through friendly to reduce instances of weird pathings
- added very basic AI to adjust bombardment altitude down if a bombardment run doesn't destroy a target hab. This was causing repeated failed bombardments and performance issues from risk-averse AI bombarding over and over. Not ideal but best I can do today cause it's a weekend and i gotta get a build out before i head out of town

UI / UX
- lowered pitch on a few more UI sounds
- added tooltips for notification option types
- Added some text to clarify when you can join a war in progress
- Addressed missing text for requiring consolidated executive control for Disarming nukes.
- In combat you can now hold Alt and select a ship to select all the ships of the same class.

Content
- Pile of new events
- Update to visuals on several alien ships

A
- fix for 3421 - nre when trying to confirm a post-combat trajectory change with no valid trajectories
- Fix bad config for Space Gambling causing NREs
- 3424 logfleetarrival nre fix for null orbit
- Bugfix #3410: prevents a stack overflow when asking a trajectory where it is after the trajectory has completed. Note: there's more problems in the bug, but this is the part that would CtD the game.
- Bugfix #3385 (partial): prevent NRE when choosing not to transfer to somewhere else after combat. There are still some questions regarding the orbit trail disappearing, but this prevents the NRE and subsequent crash.
- nre fix when attempting to repeat bombardment notification on a destroyed army
- fix alert triggering when there is no alert to trigger, causing a crash
- GetBestPowerModuleTemplate_Internal() : No power modules to choose from NRE bugfix
- Fix a crash following an army on a multi-region path having a step denied because of an alliance/war state change while en route.

B
- Fairly significant update to some part of the trajectory math for better fidelity in propulsion behavior.
- Fixed bug where 30mm autocannon bullets could be targeted by PD
- better tests for accessible war enemy
- refresh intel transfer tab targets when opening panel
- component armor will now function properly when a landed fleet is being bombarded
- fix for published mods showing up multiple times in the Update UI
- fix logic error caching mining bonuses
- Hab renovation can build non-mine modules on mine slot bugfix
- Combat: Fixed visual bug where waypoint controls would remain visible when clearing group select via Esc key
- Fix starting-XP projects not applying to older councilors who start with XP

C
- Fixed missing Central Asian Union union name
- Fix for station audio chatter persisting after station destruction when viewing station destruction
- several effects that increase mining output will now update resources UI immediately
- fix south korea starting boost

Performance
- improvements to AI hab builder


0.3.82 (validation)

A
- Fix a crash when the AI is building habs at a Lagrange point

C
- Fix a few cases where the displayed name of a fleet was the faction's internal name rather than than active player's name



0.3.81

Known issues:
A couple of fairly rare crashes in the space transit math (#3399, #3421)

Balance and Gameplay
- Changed how Control Point diversity IP bonus works. Now investments in Economy, Welfare, Knowledge, Unity, and Military each grant a 4% bonus to all priorities in that CP if at least one other priority has IPs, for a max of 20% bonus.
- army movement through friendly territory won't quite be so fast but still really fast
- tweaked rest state cohesion calculations in a couple of places, population will hit it a little harder now
- Republic of China's desired capital moved to Nanjing region because history
- global empire project gives 100 CP capacity
- older councilors start with XP already in place. 2 per year per year of age older than 30
- Some changes to alien army landing mechanics:
* Alien armies occupying regions will override any existing occupation by non-allies.
* Using armies to assault alien landed UFO will put the army's nation in a state of war with the Alien Administration (regardless of whether it exists). This is to handle players invading countries where the aliens were landing (rather than seeking an alliance) with the intent of fighting the aliens. That has typically put the game in an ambiguous state as it can't recognize whether you are trying to conquer a country or just fight aliens. By assaulting the UFO you'll make things clear. As of this patch, your armies won't engage the alien armies from the UFO until they finish occupying the region an annex it into the alien admin. (Warfare is *really* set up to be between a clear attacker and defender, and that's not quite clear in this case. We'll see if we can modify this further.) But it's a quick way to fight them without an alliance with the invaded nation.

Point Defense Update
- Rattler, Riverjack, and Viper Missiles have recieved guidance updates and better targeting behaviour. They will now fire at and attempt to intercept each individual incoming missile with more aggressiveness.
- Added Missile Defense Icon to defensive missiles to better communicate that they will only fire at incoming opposing missiles.
- Improved Missile hit detection.
- 30mm Autocannons, 6-inch Cannons, and Light Rail Gun Batteries have had their target prioritization improved and will now spread their fire out to better intercept incoming projectiles.
- Updated 30mm Autocannon description to remove mention of it being used offensively
- New Autocannon VFX

AI
- AI: Will try harder to turn back high-value councilors
- significantly increased modifiers to AI project scoring when ship or hab modules will be unlocked by completion
- ManageHabs() : turn on all mines, then turn off underperformers
- HabSchematicOrder.Score() : Mission control scoring change
- EvaluateHabModule_PercentChange() : separate scoring for costs and incomes. In addition, negative scoring is now worth 4x less to make it more of a tiebreaker.
- ScoreTech() : account for research progress of projects
- EvaluateHabModule_PercentChange() : penalty for shipbuilding modules at bases with high gravity
- A bunch more AI hab building adjustments that sound pretty technical and I'm too lazy to copy here

UI
- Added option to adjust notification options for the current notifications
- added tooltip data for armies to see all modifiers to their combat score
- added separate notification controls for mission reports when 1) the councilor is on a permanent assignment or automated status and 2) for councilors you've turned reporting to you 3) for uncontested missions like Defend Interests
- loosened restrictions on when Continue and Close button will appear in notifications; sometimes the buttons will do the same thing if there's another alert pending. An off "continue" button will check every frame the alert is active if invisible conditions change (AI dealing with some immediate issues) so it can turn on. This should address some phantom pausing when a continue should be possible.
- fix for missing unlock percentage for projects with 100% unlock chance
- Added restore defaults option to notification settings

A
- nre fix in designer
- fix crash when ship is built at station with enemy fleet docked; combat now begins properly
- cleanup timer and notification panel entries from memory to prevent overzungously sized save files and performance issues. INCLUDES SAVE REPAIR.
- Fix for crash in Steam build when winning the campaign while Steamworks was not able to connect
- fix for 3388 -fixed softlock when receiving prompt to adjust inter-nation relations when a faction's contact was blocked by the player; nation relations calls now use correct block contact check.
- Clear cached TIHabModuleTemplate on load. Should fix issues for hab module relationship checks (like eligible for upgrade) when reloading during a session.

B
- Fixed UI bug when selecting a spacebody while resolving a trajectory change prompt
- Fix epic duration ISRU times. Added a 90-day cap for ISRU operations. Ships will partially refuel if they'd take longer, then you can decide whether to do it again.
- fixed not being able to move ships up in the construction queue
- OnReverseArmyDestinationTriggered() : support destination queuing
- AI: GetBestOperation() : do not leave location if your goal is to found a hab and you are at the target location.
- AI: BuildHabModules() : upgrading modules bugfix. HabSchematicOrders are generated without considering upgrades, so when implementing them, the system should not perform upgrades.
- AI: Human AIs can't found multiple stations in the same orbit bugfix. The human AI doesn't use BuildHab goals anymore, which were used by FoundHab goals to determine if the goal was complete. This resulted in any subsequent found station goals in the same orbit to think the goal was complete immediately, and therefore be discarded. I simply made FactionGoal_FoundHab use a different mechanism to track completion of the goal.
- fix a bunch of things related to making shipbuilding visualizations show up properly for ships and bifrost ship at stations
- fixed a couple of cases where voluntarily shutting down a shipyard wasn't but should refund the cost of the ship
- fix atrocities not triggering for destroying certain hab modules
- added additional refresh of hab weapons when bombardment starts to ensure they're up to date
- Fixed issue with ship status icons not updating in combat
- fix 3990, annexation fails to complete
- premade councilors with specific DOBs will not be recruited preconception, as babies, as tweens, or as centenarians in campaigns with modded start years
- fix missing logic to prevent adding a lower-tier version of a one-per-hab module when a higher-tier version is already on the hab (like admin tower)
- Fix bugged logic that was failing to trigger the armies-booted-from-neutral-territory prompt sequence
- Alien councilor cannot crashdown bugfix. Issue #3401. Alien's were trying to crashdown in a region that had space defenses, so they could not complete the operation. Added code to choose a new location to crashdown.
- fix display of research bonuses (bug was due to bad caching of said bonuses)
- fix alt prereq techs not triggering project rolls when completed (#3407)
- councilors will no longer save their "in transit" status which was intended as a temporary flag but somebody minorly broke a save because it was somehow left on, #3411
- hab mining outputs will now respect the prospected flag in the habs screen #3415
- updated Earth map to fix Ghana/Ivory Coast border, fix southern Chile space facility location, and a glitch near the Gambia
- add validation check for military priority; if unrest = 0 && at max miltech it will not be available
- fixed a bunch of stuff with army battle animations not triggering correctly
- Steam mods should now properly download and install all files in subdirectories instead of just the root
- fix some ambiguities in competitive occupation%

C
- for Rangers description to be appropriately applied (rather than being doubled up on the Spartans one)
- fix wrong detain illustration being used when catching an alien
- fix for intro cinematic missing text for one frame
- Fixed font size inconsistencies in options
- fix fleet alarms showing wrong fleet displayName
- Fix for long notification scroll window handler missing line break string
- numerous loc fixes
- fix occupation% exceeding 100% sometimes

Performance
- performance improvements in fleetscreen & research screen. game load time improved maybe 30%-40%
- Tech tree building improvement to reduce load time
- BakeJourneyHeuristic() optimization. Just switch out a list for a hashset so that .Contains() queries are faster.
- performance improvement - spread out caching of all ship designer modules on load
- Performance improvements - combine setparent with instantiate calls
- a number of army AI optimizations

Modding
- add TIGlobalConfig option usePlayerStartingNation that when set to false will turn off location detection and forced nationality of first councilor (eventually will be a startup option)
- added UI tech tree starters to tiglobalconfig

0.3.80 (beta)

Balance/Gameplay/AI
- if an inspire mission causes a spy to turn back to their original faction, they will turn over information on the faction that previously turned them
- AI will prefer to have two councilors with investigate councilor mission
- adjust some project priorities

A
- fix crash when completing a refit on a save from .79 or earlier
- fix a crash caused by fixing the crash related to shuttle model selection for hab models

B
- fix upgrade hab module button being available on modules that can't be upgraded in habs UI and in build slots that aren't unlocked on the target hab
- fix some logic errors in applying hab templates
- fix Hanse portrait being replaced by Fiona (3379)
- fix bug where nonextant nations weren't getting a capital assignment, preventing many independence movements. This may require a new campaign to see fix if campaign was started in .77-.79.
- fix bug preventing MC from being built in colony regions
- fix logic error in setting module armor that was limiting armor on combat/Marine moduels (tnx Discord!)
- fix bug where certain notifications set to alert-only (with no notification elsewhere) and not triggering
- Fix for civilian shuttles larger than the Earth appearing when a station had no valid modules to dock at, enjoy the memes
- Fix for refit auto suffix name numbering in ship design versioning

C
- fixed incorrect use of "play" icon in permanent assignment button
- fix combat/marine module filter swap in hab screen
- fix line-item shading in precombat screen for pursuit persisting into next combat
- fix display error of drive combat thrust


0.3.79

AI/Gameplay/Balance
- some AI priority adjustments, eco when wanting more MC
- 2 pallas and 704 interamnia changed to regular carbonaceous sted dry carbonaceous cause I read some stuff
- adjusting some mining profiles cause I read more stuff
- Some changes to critical techs + faction favored techs, including separate "winnertechs" that faction will score highly only when it's unlocked it's win condition
- Any effect that would cause cohesion to go below 0 will instead contribute the difference to lowering democracy to a value of 5, then to unrest with any remainder
- reduced max cohesion drop from monthly movement to 0.25
- armies will move MUCH faster now through friendly territory Yay trains! With penalties for colony regions and unrest > 5. This might be a little too fast.
- toned down the admin modules and mining bonus from automated mine cause ppl said they were too good

UI
- < 1 day operations will show hours to complete
- restored text in org full descriptions for priority bonuses
- ShipModuleTabPane : change display type on right click. Before, it would just show you icons if you left clicked and a table if you right clicked, which didn't match the tooltip or intent.

Bugfixes

A
- Technical rework of alarms to fix CTD/3367. Saved alarms in .78 and earlier saves will not function.
- Attempt fix crash when drawing shuttlecraft at hab
- Attempt fix crash when dead councilor is pinged in marker drawing

B
- fix max cohesion gain from Unity priority to intended value of 0.1, fixed min at 0.025 (which will trigger only for high democracy/education nations)
- TIHabState.IsModuleAllowed() : hab tier not accounted for bugfix. This comes up when upgrading core modules - the core module tier does not match the hab tier in this scenario.
- Fix "change camera focus when increasing time compression instead of preventing increase" so it works with 1-5 keyboard hotkeys as well as clicking the click controls
- HabSchematic.GetOrder() : GetAvailableSlotCount() take into account mine slot
- ManageFoundGoals() : mine network logic fix The logic now accounts for unpowered and under construction mines.
- Prevent GDP loss when leaving federation code triggers from unification
- Fix some hab templates not saving/applying due to problems forming internal string to track individual designs.

Performance
- ManageFoundGoals() : frontier goal optimization. Limit number of candidates considered.


Misc
- HumanHabPlanner.BuildHabModules() : error logging if system fails to build Order correctly

0.3.78 (beta)

Balance
- removed cohesion modifier based on number of regions, replaced with cohesion modifier based on how far the nation's mean population is from the capital -- so if a nation's population is mostly concentrated near the capital, having a bunch of low-population outlying regions won't impact cohesion as much. Added a not-too-strong multiplier to a region's population value if there is a non-extant nation's capital claim on the region as a proxy for separatist sentiments.
- Buffed Unity priority -- can have higher overall impact on cohesion, but impact is now reduced by democracy and education instead of just education. Intended as a buff to authoritarian states' ability to maintain control. Reduced Unity impact on democracy slightly.
- adjusted formula for research when gdp > 48750
- gaining inequality that would take you above 9 will now apply that overage to unrest and as a cohesion penalty

AI
- increased AI preferences for missile projects again and research habs
- Reduced AI preference for coup mission -- lowered overall utility, and AI will now prefer couping nations where there are lots of enemy control points (rather than just neutrals)
- Adjust setting intended to have AI reduce spoils usage when it has abundant money

UI
- nations UI will show nation boost including from federation now

Bugfixes
A
- fix a crash when trying to get current faction info out of councilorView data
- fix a crash when AI is managing its mines
- fix crash when a force-pick-trajectory is triggered, still buggy tho
- fix crash during AI module selection when no valid slots for module

B
- Fixed org command bonus using admin score sted command
- fix Repeat Mission and Permanent Assignment buttons being available for turned councilors giving you mission results
- fixed busted caching of trait and org-based research modifiers that would not calculate multiple tech category bonuses in the same frame
- fixed bad miltech increase calculation when military priority completed

0.3.77 (beta branch as of 5/3/2023)

IMPORTANT NOTE: We upgraded our Unity engine version for this build in hopes of fixing some issues, particularly the burst of visual static caused by some mix of Radeon cards and Unity engine antialiasing during combat. 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+). Not anything we're able to prevent, apologies.

ALSO IMPORTANT NOTE: While we do conduct internal tests before a build goes live on any branch, builds like these with lots of new content going on the the validation branch can be pretty raw. It's EA for EA. There can be crashes and busted mechanics. We love to have people playing it and giving us feedback and bug reports, but if you think your frustration level will be really high with problems you might encounter, please wait until it's polished a bit more. Thank you for supporting us during EA!

Modders using custom assetbundles should upgrade their Unity version to 2020.3.45f1.

- A few things we're going to work on after this patch (in addition to iterating over these features and bugfixes)
* UI for formations in combat
* AI MC management
* Campaign start options

AI
- Significant changes to combat AI aimed at making it more of a threat to players.
** 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. (Additional behaviors in the works)
** AI trajectory planning has been improved. AI defensive movement planning has been improved
** The AI will now try to withdraw damaged ships from the battle
- Major overhaul of hab building AI. 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.
- Altered some faction/Critical tech settings to help guide AI toward better shipbuilding
- AI will take irradiated value into account when selecting hab sites
- Added AI to handle nuclear weapons when one of their regions is being annexed, plus a little AI to target enemy armies on their home territory
- Added army AI to seek out the nearest offensive battle. Not quite the full "everyone attack at once" AI the game needs but should help it concentrate its forces a bit (also some code to prevent overkill / presenting a juicy nuke target)
- prevent ai from receiving habs in a trade that would put it in a resource deficit
- Aliens will quit stacking welfare orgs (general changes to their scoring of orgs)
- AI: hate reduction from killing enemy stuff will scale with value of thing killed
- AI: Aliens will schedule a retaliatory mission against a hab for an assassinated councilor if they aren't already at war with you and know you did it (less than critical success)
- tried to limit situations where AI nation would build up its military

Gameplay / Balance

** Terrestrial warfare
- Occupation of regions now calculated at the war alliance level rather than the individual nation level. So allied armies occupation will proceed as if they were from the same country. The game still tracks who the "lead" occupier is (contributed the most) and that's whose flag shows in various UIs. War alliances will also be used in more cases in distributing control points and region control changes in a few places after a war ends. This involved dozens of changes in code so there's probably some NRE somewhere i didn't catch in testing, sorry in advance
- Added "Annex Region" operation for armies. It costs 100 influence and takes roughly six months. It allows an army to transfer an occupied non-capital-region to its home country during wartime without Regime Change mechanics. The region must be claimed by that nation and must be 100% occupied before this can begin. Any combat in the region or significant damage to the army cancels the operation and requires starting over.
- army land movement spend will now vary by the size of regions they are traversing. Rugged regions still 2x. Enemy regions will now take longer to traverse than friendly ones.

** Bombardment
- You may now select your orbital bombardment altitude from one of three choices (currently 200, 400 and 600 km) to trade off risk and damage. Added AI to handle.
- orbital bombardment projectile velocity (and thus damage) now affected by gravity, orbital velocity, and air resistance.
- Loosened must-be-at-war requirement for bombardment operation at Earth if the alien faction owns 90% or more of it and you're not the Servants, mostly to support Phoenix runs
- Surface modules have armor now. Combat modules have more, power/core/Marine modules have some, everything else has the least. Armor will improve when improving ship armor techs.

** Precombat
- Default formation is initially a line. Player's selected formation is saved at start of battle and applied as default at the start of future battles.
- Fleets on microthrust or impulse trajectories may not pursue or flee if attacked
- Fleets that are bombarding, trying to land an an alien army, or launching a hab may not pursue or flee if attacked, but fleets that just fought in a combat now can. This disables the "pincer" maneuver in favor of the following change:
- If able, you can now click a checkbox to extend a pursuit and force a combat. This won't always be possible -- it still depends on the capabilities of the two fleets. There are two ways your fleet can catch a fleeing enemy that would normally escape:

1) The fleet will automatically leave behind any ships that can't catch the enemy fleet. They form a new fleet, which will re-merge with the original after the combat (if the original survives).

2) An envelopment. This will generally require ships that can come pretty close to the fleeing fleet's acceleration, or a lot of ships. Essentially you break up your fleet into lots of little detachments to encircle (en-sphere?) the enemy fleet, and the enemy fleet has to fight one of them -- picking a point to pop the bubble you're creating. (The detachments will be roughly equal in capability).

The number of detachments is an interesting math problem. The real-world solution, according to our space math wizard Tau, is not a closed-form solution (meaning it would take a lot of complex math and iterating toward a solution), but he worked out a few cases and we came up with a pretty good approximation: 1 + ((1 / x) ^ pi) where x is your acceleration / their acceleration.

So if you're at 95% of their acceleration, you need to split into two groups. 75% requires 3. 50% is 10 groups (so a 20 ship pursing fleet becomes 10 groups of 2, and the enemy only has to fight one of them). 12% is 688 groups, so probably out of reach. The fleeing fleet avoids combat if you don't have at least 1 ship per group. These numbers are slightly generous versus Tau's sketch but they are an okay fit. If you can manage both a regular chase with some of your fleet and an envelopment, you'll go with the group of ships with the highest combat value.

** Space
- All space bodies from 500km to 800km diameter got an additional hab site (for a total of 2). This includes Pallas, Vesta, Enceladus and a dozen or so KBOs. May require a new campaign for them to show up.
- added 6 space bodies to complete solar system (for a total of 360). Erriapus, a Gallic moon of Saturn that barely meets our minimum size criteria for includes (~10 km diameter); 97 Klotho and 250 Bettina, two large main belt asteroids with a high metals content, 336 Lacadiera, a rare large water-rich D-type asteroid in the inner main asteroid belt, and 3317 Paris and 3351 Mentor, the 2nd- and 3rd-largest Trailing Jupiter Trojans.
- Reworked probe costs to be sensitive to DV requirements, target irradiated status, and number of hab sites to survey, instead of a flat value
- improved Io and Mercury mines slightly but it's really not all that much honestly in light of the radiation you have to deal with
- Removed synchronous Saturn orbit, as it was in the middle of the rings. Moved orbit to just inside rings. Renamed some Saturn orbits. Renames won't take effect until new campaign, though.
- 13 Egeria is now MOIST
- derived estimated obliquity value for ~100 or so asteroids from DAMIT dataset

** Traits
- Added several new traits and one related org effect:
-- Marked: -10 security, -4 to espionage during detection phase
-- Untouchable: Grants marked trait to assassin if assassin rolls anything less than critical success
-- Beloved: Triggers atrocity for assassin's faction if assassin rolls anything less than critical success
-- Demanding: +2 admin, +1 command, Loses 1 loyalty anytime the faction has a critical failure
-- Insecure: Loses 1 loyalty anytime rolls own critical failure
-- Anxious: Loses 1 loyalty anytime another councilor in faction is assassinated
-- Loss Averse: Loses loyalty anytime a faction hab is destroyed, multiplied by tier. Old "Averse" trait renamed "Cautious."
-- Family ties: Conditional stat bonuses in home region, Loses a lot of loyalty when home region is nuked
-- Martyr: provides faction a big one-time PR bonus worldwide if the councilor is killed violently

These are immediate loyalty losses. Ethical trait was also changed to be an immediate loyalty loss and no longer establishes a cap on loyalty after an atrocity.

Added mechanic where having one trait can force a reroll for another trait in character generation, to either add or remove it. Striver is associated with Demanding, for example. This doesn't affect traits added later when leveling up or via other mechanism.

The new org effect is the same as "Untouchable." In general, it's reserved for high-tier security and criminal organizations.

** Hab Modules
- 8 new hab modules:
1) Three alien barracks modules (T1, T2, T3). They'll hold most of the assault combat defenses for the hab. Space combat module contributions to assault combat reduced for aliens. This is a nerf for the aliens for those keeping score at home.
2) Three civilian modules (T1, T2, T3). They grant some money and influence income (not as much as dedicated modules), make destroying the hab an atrocity in all circumstances, and increase the hab's defenses against control space asset missions. They also add a lot of people to the hab and are a pathway to making a planetary system "populous." Three unlock projects.
3) Two administration modules (T2, T3). They increase economic output of the hab for almost all resources. If in LEO, they also grant CP cap points. They also grant 1 or 2 mission control -- but you can only have one per hab. Two unlock projects. UI for CP cap.
- Removed MC cost from Automated Outpost Mine module
- Improved Automated Outpost Mine to Settlement Mine output (1.5x)
- hab powering on code will try to power shipyards with queues before shipyards without them

** Ship Refits
-Existing propellant tanks are reused and no longer have to be paid when refitting
-Refits can now swap empty utility modules with any valid utility modules
-added default refit name suffix in designer
-When refitting, autodesign now respects refit rules and attempts to design an improved refit if possible

** Nations
- testing setting so that max mission control in a region is calculated using GDP and education, so Dallas region (38 mn people) isn't the same as Northern Ireland (1.3 mn) in capacity. Colony regions can now have a small amount of MC. Slightly lower initial MC cap but it can grow.
- Caliphate claim on Addis Ababa region moved back to House of Islam project
- End of Russia project gives Ukraine claim on Rostov region
- Added better handling of initial state of Taiwan, via adding general handling of a starting nation with a capital claim on a region it doesn't control. Now if Taiwan-as-ROC ultimately annexes Beijing, the capital will move there.
- Removed project prereq for Cab states claim on Puerto Rico (representing existing PR independence movements)
- adjusted research formula so it keeps going up (albeit at a slower rate) after PCGDP exceeds $48750, raised base research all nations produce, reduced global multiplier for research by 0.00025
- Rework how GDP changes for federation join/leave work to fix bug/exploit by joining and re-releasing them. GDP loss for independence now applies too.

** Space Travel
- You may now refuel ships from other ships in the same fleet. This requires ships have the same propellant mix from resources.
- Fix exploit by only allowing one fleet to resupply or repair at a time at a hab. Other fleets can queue up and the displayed time to completion includes existing resupply/repair orders.
- Refueling will be much faster at habs. ISRU usage will be much slower (as ships can now refuel each other.) Ships landed at a hab will only use ISRU if the faction can't fulfill the refueling order from their resources stockpile.

** Misc Gameplay
- Repeatable endgame life science tech increases councilor lifespan by 6 months
- Trading decommissioning habs is no longer allowed
- Cohesion boost from declaring war only applies if you aren't already at war, have cohesion > 2 and unrest < 8
- Added super-elite space marine ship module for HF, Resistance and Servants, plus unlock projects
- Added another project that let you push mission spend one step further
- made fusion, plasma and most antimatter techs cost more research across the board

UX/UI
** Notifications
- 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.
NOTE: Playing older saves on 3.77 will retrigger certain "one-time-only" alerts like the first time you encounter a faction. There's no gameplay effect; it's the notification system adjusting to the new changes.
- Added "Clear All Notifications" Button that quite appropriately clears all notifications
- Also made newsfeed notifications larger with 14-point text. Text will overflow more often.
- 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. System should be extensible for other types of alarms.
- Bombardment is fully logged on a per-shot basis in the notification panel.
- 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
- keypad enter button will clear a notification alert like return enter button
- launched probe popup will only occur on first one by default
- rework of "how close does an arriving enemy fleet need to be for me to get an alert" code for some consistency and maybe some user-setting in the future

** Councilors
- first pass at councilor auto-assign mission option. Councilors with this turned on will access AI routines over a limited set of defensive missions and targets -- things like stabilize, defend interests, advise, burn xenoflora. The missions subject to this are set in TIMissionTemplate config.
- Worked on better feedback on "why I can't target this thing" in councilor missions. Region tooltips will now have said feedback for missions that target regions/nations. Disallowed location feedback in tips and inactive mission button hover will now point to trait or other reason why location is illegal. May take some additional passes to cover all use cases.
- councilor stat tooltip will show total of org bonuses to help you identify overages
- hovering councilors will display trait and other data
- Starting councilors will have "can't-go-there" traits excised to prevent cases where they can't go on the investigate alien asset mission

** Combat
- Added additional special maneuvers to simplify combat movement. Here's what Ben wrote about it:

Have you ever had an enemy slowly drift out of range leaving your rail guns quiet and your captain sad? No more! With the new Match Velocity Maneuver no enemy will escape your grasp.

Have you ever been tired of issuing the same all ahead full order over and over across all 5 waypoints? Say good bye with the new FULL SPEED AHEAD Maneuver! They've gone to plaid!

Have you ever looked at the vastness of space and wondered are we alone? Am I significant? Can I make a difference? ME TOO!

Have you ever wanted to engage an enemy ship but your velocity vector is all wonky? Get it right! With the new Intercept Course Maneuver.

- Added Match Velocity Maneuver. Will attempt to match the velocity of the target ship's red waypoint.
- Added Full Speed Ahead Maneuver. Issues a full burn trajectory based on the ships orange waypoint.
- Added Intercept Course Maneuver. Attempt to plot an intercept trajectory to the target ship. Can result in an over-shoot or under-shoot.
- Added defense maneuvers
(Some UI changes to make these more accessible are in the works)
- Combat: Fleet Commands and Group Commands no longer share the buttons at the top of the combat UI. These buttons are always fleet commands.
- Combat: When group selecting ships group commands now appear above the primary selected ship detail UI. You can click new arrow spinner buttons to toggle between the group commands and the primary selected ship commands.
- Fleet Lists have had their size increased to improve readability
- Font size for Ship Damage Numbers has been increased for improved readability
- Ship Damage Numbers stay on screen longer
- Default combat speed has been set to 3
- Middle mouse button now pans x/y plane in combat

** Clock
- Hard caps on strategy layer time compression are removed (up to the normal 12-hours-per-tick max). These caps were in place to prevent seizure-inducing flashes on the screen when selecting small things orbiting big bodies. Now, if you accelerate time while focused on a fleet in, say, Low Earth orbit, beyond the threshold, the camera focus will shift to the larger body, preventing the flashing but not requiring you to select different objects to speed things up.
- Added "exit and run time" buttons to the major UI panels

** Hab Manager
- First pass at Hab Template saving / applying. You can now take a snapshot of any of your habs and the design will be saved as a hab template. You can then apply it to other habs and start construction of multiple modules at once. Some rules about what will/won't be overwritten when applying to an existing hab.
- You can now filter hab modules by size and benefit in the hab designer.
- added Rebuild All button that rebuilds all destroyed modules in the hab manager
- added local mining output detail to the hab management UI
- added some icons to custom hab icon list
- A number of click-locations to open a hab in the habs UI will take you straight to the management screen rather than the menu o' habs

** Geoscape / Solarscape
- Added new Nation, Federation, Alliance, and Claims map filter modes for Earth, depend on selected nation
- implemented iconography that indicates differing fleet sizes on fleet symbols plus the presence of an assault carrier
- Altered color of Sul Brazil so it ain't green like regular Brazil
- Made it harder to accidentally induce context-sensitive army and councilor clicks by requiring both mousedown and up on the same region

** Tech Management
- Opening the Tech Tree from the Select Tech/Select Project screens will now auto-focus the Tree on the currently selected tech/project
- project and tech sort filters are now saved between sessions in the save game

** Fleet Management and Ship Designer
- color coded fleet list items in fleet display by proximity to at least one of your assets -- red: same orbit or in interface above your base; orange: same spacebody or l-point; yellow: same planetary system, hopefully still performant for all the checking it has to do :/
- ship designer now shows red name text when the design name is already taken.
- ship designer will default to no role (which disallows saving) to ensure people set a role and not mess things up with the default noncombatant role
- mouseover of fleet icon in strat layer will show fleet description
- Added "Merge all fleets" fleet operation that merges all eligible fleets into your selected fleet
- Split fleet/Scuttle ships now has some helper buttons ("Move all damaged" and "Reset") and shows an icon for damaged ships
- fleets internal ordering of ship will be by hull and mass, will only show up in default list ordering

** Nations panel
- regions will be sorted by population in the regions list of the nation panel
- Unrest and Cohesion rest state tooltips will have breakdowns of what is contributing to their values

** Armies
- Adjust one click army moves: Right clicking a region when one of your armies is selected goes straight to confirming a movement order to that region (instead of calling up the UI). It now works on multi-region transfers. Control-right-click will move ALL of your armies with no current operations.
- Added "All armies go home" army operation that affects all of your faction's armies in a single region where their home nation isn't at war. Otherwise works the same as the existing army go home operation.

** Intel screen
- Added Probe All accessible space bodies button to intel screen
- added UI element in intel screen to toggle perma-ignore end rivalry/alliance/federation/unification offers from specific factions

** Codex
- added codex access button to the top bar in the strat layer, hope it fits on the deck
- Updated codex with individual entries for various priorities. Added codex for priorities to read in global values via config directive and include them in text, which was my saturday morning

** Misc
- objectives that require a tech, hab module or project will have immediate tech/project prereqs printed in UI
- save game menu now notifies of invalid name instead of automatically clearing the name
- added hotkeys for opening ship designer and construction manager
- Attempt to standardize behavior of shift/control/alt keys when clicking to manipulate +/- spinners throughout the game.
- Summaries of drive info should include combat thrust info

Content
- docked civilian shuttles may be visible when zooming in and viewing stations
- new events
- many new event illustrations
- Implemented habsite 3D surface base models
- Kuiper Belt dwarfs all get custom icons to match their model textures
- one custom councilor art

A
- added null check for 1696 (possible rare error)
- fix rare crash when loading a save with a deleted bombardment target
- Fix for NRE during Collateral Damage event trying to Crackdown CPs with no Faction
- attempting fix for hab model nre, not sure how this occurred though
- Fix for 3304 - added nullcheck for null operation trying to complete
- Bugfix #3282: Fleets now know about each other's trajectories at the moment of the trajectory's launch time. This prevents an NRE if the target fleet further maneuvers to avoid combat, is destroyed, or on load. Also added additional safeties to catch similar issues in the future and repair them as they are detected.
- Bugfix #3172: Avoid impossible orbits when using orbit phasing to intercepting an allied fleet that's arriving in your starting orbit, but hasn't launched yet.
- fix for 3315 - NRE when bombarding with missile weapons due to gun weapon in damage calculation
- fix for 3348 - fix crash caused by transfer detail icon displaying when it shouldnt
- fix for 3347 - fixed nre and incorrect ui when receiving a transfer change prompt
- Partial fix for 3360; notifications will confirm a gamestate isn't deleted when re-assigning gotogames when rebuilding notifications, not sure why existing code to prevent this didn't work in RetireCouncilor
- Partial fix for 3354; save repair code triggering combat when such things should not happen
- Partial fix for 3364; crash when a lone hab is decommissioned with a councilor on board who has nowhere to go. Councilor will teleport back to Earth in this case, which is an exploit that we'll fix in a future patch.

B
- TIHabModuleState.InitiateConstructModule() : set _spaceCombatValue to zero. Prior to this bugfix, when defense modules were replaced by non-defense modules, they kept their previous _spaceCombatValue and the station could be incorrectly registered as defended, leading to invalid combats and other issues.
- AssignIdleFleetsToGoals() : DefendWithFleet fleets being reassigned while in transfer bugfix. DefendWithFleet fleets could be reassigned to a resupply mission on the way to their target, resulting in another fleet being sent in their stead, repeat. This was causing some of the conga-line issues.
- fix bug where nonexistant space defense were shooting down bombardment projectiles aimed at Earth regions. kinda nasty mister game
- Fix for bombardment not working against certain Earth targets, particularly xenoforming and alien facilities
- fix bug where unpowered station defense modules that didn't participate in space combat suddenly power up at combat's end when other modules are destroyed, leaving the battle a station win. Those modules should now be destroyed.
- New games will now properly generate a random start
- Fix for Wave of Fear event conditions and illustration name
- sabotage hab module mission no longer works on alien habs. This is to prevent sabotage mission against alien HQ which can block objective progression.
- Fixed mipmap settings on some 2D textures, icons and some other 2d elements will no longer display at reduced quality when texture quality settings are lowered
- Fix bad t3 influence org prereq, causing it to spawn ahead of schedule
- Fixed some bugs in army go-home-conditions
- Fix #3212, AI not retaliating when hit with a nuclear weapon on its home soil
- UI will prevent you from augmenting a councilor in an attribute when the attribute is >= the max stat value
- Bugfix: Loitering fleets that intended to intercept a fleet that just maneuvered now extend their loiter prior to any newly calculated intercept, instead of following the original (doomed) intercept. Also fixed a number of smaller transfer related bugs.
- Fix for 3316 - prevent landing fleets on bases where a hostile fleet is already docked
- fix for 3314 - orgs are now gated behind their RequiredTech
- Tech tree items will now update cached tooltip text when hovering over them to reflect gameplay changes
- Bugfix #3301: trajectory.GetBarycenterAtTime() and .GetOrbitalElementsAtTime() were inconsistent at times after the completion of the current trajectory, when there was a follow-on trajectory afterward. This would result in predicting impossible orbits around incorrect barycenters.
- event RipNTear should now check for marine barracks correctly.
- Various base events should now not fire unless the base has finished building.
- Replacing shipRefitDesigns with a list of names rather than actual templates to avoid duplication of templates in saves. To prevent breaking saves, I'm leaving shipRefitDesigns in, along with save repair code to convert the old list to the new one.
- Fixed a bug that caused weapon placements on habs to flip upside down in some cases
- Bug fix for missiles rendering extremely small in some cases
- Fixed a bug with the Padlock Maneuver not setting the orange waypoint in some cases
- Fixed a bug with burn controls where roll was not preserved. This caused the ship to attempt to roll before burning when it was unnecessary.
- fix for narrative events allowing player to pick options it can't afford
- fix for 3343 - megafauna no longer instantly travels to adjacent regions when spawning
- SetResearchPriorities() : Project research stalling out bugfix. Made the AI take into account the current spending on a project, not just total faction income, when deciding to replace a project.
- Fixed a bug where Custom Priority Templates with a prioirty in MC would default to space flight program even though they had access to the mission control prioirty through their federation
- Fix exploit where boost can substitute for antimatter and exotics in certain cost calculations.


C
- Using mouse buttons to cycle priority settings in the nation UI will now cycle around to 0/3 instead of clamping again
- updated main menu dropdowns to use correct icons and not the unity defaults
- updated fleet screen to use correct dropdown arrow image
- Fix for fleet notifications
- few more fixes/updates to notifications
- Removed Salamander Autopsy as potential project for Protectorate/Servant factions
- human space station chatter will start at a random spot rather than always at the beginning
- fix some categorizations of outer system space bodies that left off their moons in certain UIs
- corrected orbit of Ankou, corrected size of 10 Hygeia and updated orbital elements, added "maxHabSize" parameter, functionality not yet implemented
- Work on handling weird orbits at startup; some "parking orbits" will be higher than previous, should prevent some clipping showing up on Reddit
- Fix buggy display of amat income in orbit list
- remove dropdown checkmark in priorites in nation info canvas because it can't be responsive to player interactions with priorities outside of dropdown
- tracked down a few cases of gamestates being passed as params to localization rather than strings
- Fixed visible edges in background in top left selection panel when a spacebody is selected
- Io is now known to be geologically active rather than geographically in event
- Fixed radiator clipping with spike & droplet radiators on the 2nd set (advanced-looking) of ship models.
- Fixed negative-sized box colliders on some hab module prefabs.
- added collider to Kuiper belt planets that were missing them so sun doesn't shine through the planet
- Fixed alien radiator clipping on Corvette, Destroyer, & battlecruiser models
- fixed incorrect transfer destination body icon in the enemy fleet panel
- Notifications will no longer display 50.0000000000000000000000000000000000000000% when showing councilor mission results
- Fixed an unrest VO being cut off too early
- Truncated mission effect floating point values increases in notifications
- fix for 3279 - scrolling in the construction screen when hovered over a ship in a shipyard will no longer be interrupted
- increased top bar money width slightly to prevent overflow
- Changed Trips formation value to ensure symmetry for all columns in FormationsTemplate
- Adjusted wording for manyminesextracost tooltip warning for clarity regarding network penalty for excessive mines within UIGeneralControls
- lowered pitch on some UI SFX, fixed incorrect sfx path
- correct text in warning how much extra MC your next mine will cost
- Fix for nuclear winter achievement triggered when crossing threshold is not caused by a nuke
- Updated priority drop down on Nation Info Canvas to be inline with other drop downs
- Updated custom prioirty drop down to be inline with other drop downs
- Updated check mark placement for fleet and habs screens to be inline with other drop downs

Performance
-Performance improvement for fleet screen list - don't create ships in the list for fleets that are not expanded

Modding
- Modding - Added support for "TemplatesToReplace" To ModInfo.json. A list of templates can be provided and those templates will be a full replacement of the Vanilla templates instead of only modifying/appending specific entries

Misc
- (Internal) added debug to tiglobalconfig "debug_AINeverFleesPrecombat" to prevent AI from trying to evade in precombat for testing
- Changed System.Random to UnityEngine.Random for consistency
- fix for nre when turning off autopilot before it has been turned on
- Updated some Skirmish ship designs
Locked