diff --git a/changelog b/changelog index 2022de45222e..ef05300c6e8f 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,245 @@ +Version 0.10.3 + * Big changes: + * The introductory chapters for TWO storylines in Coalition space are now available, allowing the player to either gain the favor of the Heliarchy or become entangled with the underground Lunarium faction. (@Arachi-Lover) + * Loads of UI/UX changes and improvements. See the user interface section for more details. + * Bug fixes: + * Content bugs: + * Typo fixes. (@AlexSeaLion, @Arachi-Lover, @aradapilot, @ashdnazg, @bene-dictator, @justinnhli, @lumbar527, @Pshy0, @real-dam, @roadrunner, @Saugia, @tibetiroka, @warp-core, @Wedge009) + * Re-added the planet Eavine to the map, as it was accidentally removed in a previous release. (@warp-core) + * Added the "inscrutable" attribute to a space creature that was missing it. (@Saugia) + * Added the "unplunderable" attribute to the Lasher Pistol. (@Quantumshark) + * Changed the Marauder Manta weapons-variant ship description to properly describe what new features the variant has. (@warp-core) + * Adjusted a conversation branch in "Remnant: Shattered Light 4" that was preventing most ships from getting the full conversation. (@justinnhli) + * "Expedition to Hope 2" now gives clearance to the destination, allowing it to offer if you are hostile with the destination instead of not offering without explanation. (@warp-core) + * Old pilots who completed part of the Wanderer campaign will now be properly retroactively granted the Wanderer outfit license. (@warp-core) + * The "Remnant: Expanded Horizons Astral" job can no longer choose the Deep Space systems as waypoints. (@Quantumshark) + * Ssil Vida station no longer loses one of its planet attributes after an event. (@danaris) + * Spaceport news intended for occupied Pug worlds no longer appears on uninhabited worlds. (@Anarchist2) + * Added the "minor" mission tag to a Free Worlds side plot storyline to prevent it from offering at the same time as major storyline missions. (@Anarchist2) + * Fixed the "Remnant: Face to Maw" missions to properly offer under the expected circumstances. (@Zitchas, @warp-core) + * Replaced the "shield resistance" attribute (which doesn't do anything) on the Embersylph with "ion resistance". (@Quantumshark) + * Set the Hai merchant fleets to use the correct government. (@warp-core) + * Contacting the Korath Exiles can now properly be deferred and reoffered instead of deferring the mission effectively declining it. (@Hurleveur) + * Corrected the offer location on "Robotic Musical 1", as it was unable to offer with the location it was given. (@Terin) + * Corrected uses of the "scrambling protection/resistance" attribute to the proper "scramble protection/resistance" attribute. (@warp-core) + * Separated the government used for space life near the Gegno to be different to the one used for space life in the Ember Waste to prevent one from unintentionally affecting the other. (@Saugia) + * Adjusted the location of the planet Ki Patek Ka in its system as to not overlap with the orbits of its neighboring gas giant (@Quantumshark) + * Trimmed New Austria's post-bombing description to better fit the text box. (@Anarchist2) + * Fixed the source filter of the "Trash Fire Crops" mission to properly offer only on planets that are both farming and from the Dirt Belt. (warp-core) + * Corrected the brown dwarf sprite in the system "Ae Il A-3" to the non-rogue variant. (@warp-core) + * Recategorized the Heliarch license to the "License" category. (@DarcyManoel) + * Corrected the offer conditions of "Care Package to South 3a" so that it now properly offers. (@ziproot) + * Various fixes and improvements to the new Coalition storylines. (@quyykk, @Saugia, @warp-core) + * Engine bugs: + * Using hotkeys to search for the nearest asteroid no longer crashes the game. (@RisingLeaf) + * Player escorts no longer appear as landed on the planet that the player landed on if they themselves could not land on that planet. (@TomGoodIdea) + * Fixed an error with this where landing on planets under certain circumstances, such as when losing mission clearance after landing, could cause no ship to be chosen as the player's flagship, stranding you on the planet. (@danaris, @warp-core) + * The autopilot AI no longer attempts to make pointless turn commands when already in the process of jumping. (@Zitchas) + * Escorts now properly offload their cargo on every landing. (@flowers9) + * Map buttons no longer overlap on smaller screens. (@TomGoodIdea) + * Empty strings are now saved as "" so that they don't disappear on subsequent loads. (@warp-core) + * Bribes can no longer have negative values. (@Hurleveur) + * The scroll buttons on the shop detail panel can now be clicked. (@flowers9) + * Improved the rounding used for mortgage calculations to result in the proper payment amount. (@flowers9) + * The shipyard and outfitter mission offer location tags will now properly write to the save file. (@flowers9) + * Fixed an error that prevented the "tribute: " autocondition from being used. (@Hurleveur) + * Cargo scans no longer duplicate the digits of harvested minerals. (@warp-core) + * The player info UI now only accepts double clicking to open a ship's info if both clicks were on the same ship, instead of allowing clicking on one ship and then clicking on another ship shortly afterward to count as double clicking the second ship. (@TomGoodIdea) + * Trailing whitespace in hails no longer causes hails to overlap with one another. (@flowers9) + * The selected ship UI now has the ship name centered with the ship image, and the maximum ship image size has been shrunk so that it doesn't overlap with the ship's name. (@TomGoodIdea) + * If the player's flagship is a fighter, the travel plan will now be properly drawn with how far the flagship can jump. (@flowers9) + * Fixed the new "fail" action behavior not working with the "on enter" action (@Hurleveur) + * Fixed a logic error when checking if a ship is ready to jump that prevented some ships from jumping. (@flowers9) + * The amount of thrust provided by engines when you have insufficient resources (e.g. energy, fuel) available to fire them at 100% now correctly scales down the thrust provided by the amount of resources you have. (@flowers9) + * Planets no longer launch defense fleets from invalid definitions, which could cause the game to crash. (@TomGoodIdea) + * The click zones for the descriptions of ships and outfits in the shop are now properly aligned with the description text. (@flowers9) + * Ships and outfits without descriptions in the shop will no longer display description click zones. (@warp-core) + * Fixed an issue where scanning a ship's cargo or outfits could cause the scan dialog to appear twice. (@warp-core) + * Selecting a new system on the map now always clears the system orbit data, instead of only doing so when the newly selected system has been visited. (@TomGoodIdea) + * Switching between two engines that use the same engine flare sprite but at different scales will now properly update the engine sprite scale. (@TomGoodIdea) + * Overlays like the planet labels are no longer stepped while the player is landed. This was causing planet labels to appear in the wrong position when landed. (@tibetiroka) + * NPC actions now properly trigger if a ship receives two simultaneous events. (@warp-core) + * Disabling and enabling plugins is now properly handled with the new plugin metadata file. (@quyykk) + * Long plugin names are now truncated to the appropriate length in the plugins preferences panel. (@warp-core) + * Travel plans that become invalid due to any reason (such as by system changes caused by events) are now cleared. (@warp-core) + * A valid CargoHold is now always returned when getting planetary storage, preventing segfaults. (@quyykk) + * Fixed a race condition that could occur when drawing planet labels, causing them to flicker. (@quyykk) + * Corrected the use of SDL_GetPrefPath in Files.cpp. (@quyykk) + * Fixed a lambda function that was unnecessarily copying the list of every active ship every frame instead of getting a reference to it. (@tibetiroka, @quyykk) + * Game content: + * New content: + * New mission where you answer a distress call in Korath space. (@UnorderedSigh, @williaji) + * More human spaceport news. (@dorbarker, @tibetiroka) + * Added new humanitarian aid jobs to human space. (@dorbarker) + * Added a warning for when you've upset Unfettered sympathizers. (@MasterOfGrey) + * New mission where you take war refugees to Humanika. (@dseomn) + * New pre-war missions that help lead people to the start of the Free Worlds campaign if they're traveling elsewhere in the galaxy. (@danaris) + * Added more high-end passenger missions to human space. (@Anarchist2) + * Mission changes: + * Mentioned in the conversation and description of "Deal Change 2" that you need to hail the destination planet in order to land. (@bene-dictator) + * The player can now ask Tomek for combat advice prior to the first major Free Worlds battle. (@warp-core) + * Revised the smuggler arc of the Hai Reveal storyline. (@UnorderedSigh) + * Bounty jobs now provide their payment the moment the bounty fleet is destroyed, instead of requiring that the player return to the offer location of the job to receive pay. (@Anarchist2) + * Improved the wording in the description of "FW Bounty 1". (@m0ctave, @EjoThims) + * Added the mission destination to the description of "Remnant: Cognizance 7". (@lumbar527) + * The Heliarch jump drive jobs now use the text replacement instead of spelling out the payment. (@Arachi-Lover, @tibetiroka) + * Removed a sentence that didn't make sense from the description of the secure package delivery job completion dialog. (@ziproot) + * Balance: + * Added weaponry to some human fighters to fit in the additional hardpoints that they were recently given. (@AvianGeneticist) + * Increased the reputation gains with Unfettered sympathizers when doing Unfettered jobs. (@Hurleveur) + * Changed the stock Frigate to have two Torpedo Launchers instead of one Torpedo and a Sidewinder, in exchange for less battery power. (@warp-core) + * Added a deadline to the pirate occupation spaceport missions to prevent them from being stacked indefinitely. (@lumbar527) + * The Quarg in Korath space now receive permanent reputation hits if you attack the Efreti. (@Saugia) + * Gave the Dagger +5 engine space and stock A120 Atomic Thrusters to give it more of a niche among the other human fighters. (@Quantumshark) + * Gave the Violin Spider +4 weapon space to allow it to equip an anti-missile turret in addition to its gun. (@Hurleveur) + * Flattened the thrust scaling of sets of engines as you get bigger engines in a set. (@Quantumshark) + * The exact changes depend on the set of engines, but the changes are roughly as follows: + * Tiny: +23.0% thrust + * Small: +14.3% + * Medium: +5.5% + * Large: +0.0% + * Huge: -5.1% + * In other words: small engines have been made stronger while large engines have been made slightly weaker. The result of this is that smaller ships should be generally quicker than they were before while larger ships should either see no change or should be slightly slower. + * Afterburners are unchanged. + * Reduced the cost of the supercapacitor from 9,000 credits to 1,500, to bring it closer in line with other human batteries while still having a slight "premium" for its tiny size. (@Zitchas) + * Removed a few ship variants from the pirate raid fleet that had high damage weapons not conducive to disabling their target. (@Zitchas) + * The Ka'het Nullifier has been rebalanced to more effectively disable targets by draining their energy. (@beccabunny) + * Energy damage from 0 to 3200. This is energy which is immediately removed from the target's batteries on impact. + * Ion damage from 150 to 220. This is lingering energy loss that results in about 22,000 energy lost over the course of the next ten seconds after impact. + * Scrambling damage from 150 to 10. This causes the Nullifier to have much less of an effect on the target's weapons, instead relying on its much greater energy and ion damage. + * Buffed the Ion Cannon's ion and scrambling damage by 20%, from 5 to 6 for each in order to make it a bit more competitive with other weaponry. (@Hurleveur) + * Reduced the profitability of commodity trading in Hai space by about 40% by bringing trade prices closer together, as the lack of piracy in Hai space makes it an easy place for trading. (@Anarchist2) + * Combined the two Barb variants into a single ship. This effectively just means that the turreted variant of the ship has gained +4 weapon space, and the Proton Gun variant of the ship is no longer sold. These two ships weren't sufficiently differentiated from one another to justify keeping both around. (@Quantumshark) + * Reduced the buff to engine space provided to the Marauder Leviathan and Falcon engine variants. (@Quantumshark) + * Falcon: +55 to +25 (total of 220 to 190) + * Leviathan: +80 to +40 (total of 220 to 180) + * Other: + * Tweaked the wording of the description of the Vivid Aether planet. (@Zitchas) + * Ringworld planets now have a "ringworld" attribute for missions to use. (@Quantumshark) + * Added a "frozen" attribute to various cold and frozen worlds for missions and spaceport news to use. (@dorbarker, @Anarchist2) + * The Unfettered Solifuge and Violin Spider are now added to the Unfettered shipyards at the same time as they are added to Unfettered fleets. (@Hurleveur) + * Added the "forest" attribute to Stormhold and changed its planet sprite in order to better match the planet's description. (@bene-dictator) + * Various NPC ships in Free Worlds missions which state that they carry cargo now actually have the cargo you're told they have. (@bene-dictator) + * Changed the attitude of various Hai governments toward certain actions that the player takes to better reflect the story. (@Hurleveur) + * You no longer gain reputation with the Hai for attacking or destroying Unfettered ships. + * You no longer lose reputation with the Unfettered for disabling Unfettered ships. + * You now gain 50% more reputation for assisting Hai ships. + * Standardized the language used for attribute tooltips. (@tibetiroka) + * Renamed the Hai's Railgun to the Skipper Railgun. (@Saugia) + * Gave a "noun" to the hallucination for use when the ship is scanned. (@warp-core) + * Tweaked the limited jump ranges of some systems in Gegno and Rulei space. (@Saugia) + * Game mechanics: + * New mechanics: + * Fighters will now grab a chunk of energy from their carrier's batteries when they deploy if the fighter's energy reserves are not full. Useful for battery-only fighters. (@tibetiroka) + * Mission can now have an "on disabled" action that triggers when the player's flagship is disabled. (@TomGoodIdea) + * Ships can now be given display names for their model name. (@TomGoodIdea) + * Created new "cargo scan opacity" and "outfit scan opacity" attributes that increase the time it takes for a scanner to scan your cargo or outfits respectively. (@Quantumshark) + * Game actions are now able to take ships from the player. (@Hurleveur) + * Fighters in fleets can now be given different personalities than the rest of the fleet. (@Quantumshark) + * Using the "fail" action with no named mission now only fails the mission that called the action instead of failing every mission with the same name. Explicitly listing the name of the mission will still fail every mission with the same name. (@Amazinite) + * Plugins can now have a "plugin.txt" metadata file in their root folder that specifies the name of the plugin and its description as shown in the plugins menu in game. (@Beed-git) + * Systems can now define the raid fleets that spawn in them or disable all raid fleet spawning, instead of raid fleets only being able to be defined for the government of the system. (@Hurleveur) + * Ship images can now be given "@sw" sprites that apply a swizzle mask to the ship in game, allowing certain parts of a ship to remain unswizzled while other parts are. (@RisingLeaf) + * Weapons can be given a "fade out" attribute which causes their projectiles to become more transparent until disappearing at the end of their lifetime. (@RisingLeaf) + * New multiplier attributes for a ship's base shields and hull. (@Azure3141) + * Created a new "on destroy" NPC action that triggers when every ship in the fleet has been destroyed but not captured. This was the behavior of the "on kill" action, which has been changed to allow every ship in the fleet to be either destroyed or captured, matching the "kill" NPC objective. (@warp-core) + * Governments can now fine the player for having an illegal ship. If a ship is illegal, it may be discovered by an outfit scan. (@TomGoodIdea) + * Governments can now define travel restrictions that prevent their fleets from traveling to or from systems or planets that match the restrictions. (@Hurleveur) + * Going to the outfitter when you're able to refill your ammo now auto-refills ammo from planetary storage if you have stored ammo on the planet. (@warp-core) + * New autoconditions: + * "flagship disabled" returns 1 if the player's flagship is disabled, 0 otherwise. (@TomGoodIdea) + * "installed plugin: " returns 1 if a plugin of the given name is installed, 0 otherwise. (@1010Todd, @Hurleveur) + * "roll: " returns a random number between 0 and the specified number, or between 0 and the value of the given condition if a condition name is provided. (@Amazinite) + * "person destroyed: " returns 1 if the person ship with the given name has been destroyed, 0 otherwise. (@Hurleveur) + * "flagship bays: " returns the number of bays of the given type that the player's flagship has. (@TomGoodIdea) + * Changed mechanics: + * Having more required crew than you have bunks is now an outfitter warning instead of an error that prevents you from leaving. (@TomGoodIdea) + * Redesigned how outfit and cargo scanning works. (@UnorderedSigh) + * The scan time is now always 2 seconds at the best and 10 seconds at the worst. + * Scan speed now follows a gaussian decay as distance increases. + * Scan time increases with cargo hold or outfit space size with the 2/3rd power of the size instead of linearly. + * Pirate raid deterrence no longer looks at whether you have ammo in your launchers. (@TomGoodIdea) + * Fleets can now spawn from any section of a ringworld instead of only ever spawning from the same section. (@quyykk) + * Cooling is no longer disabled when a ship becomes overheated. (@QuantumShark) + * The player now always launches from the same section of the ringworld that they landed on instead of only ever departing from the same section. (@quyykk) + * AI: + * Ships with only secondary weapons that run out of ammo will now attempt to flee instead of flying straight at their target without any weapons. (@TomGoodIdea) + * Escorts that are capable of cloaking can now cloak on their own without input from the player if they are low on health. (@TomGoodIdea) + * Ships with the "surveillance" personality will now patrol the system they are in when there are no other ships to scan instead of freezing up and doing nothing. (@tibetiroka) + * User interface: + * Weapons that use both outfits and fuel as ammunition now properly display the number of shots remaining instead of ignoring the fuel use. (@tibetiroka) + * The flagship now has a separate color scheme from friendlies in the HUD overlay. (@warp-core) + * Moved the definitions of the ship info hardpoint colors to the interfaces file so that they can be modified without recompiling. (@TomGoodIdea) + * Disabling motion blur in the settings now also disables motion blur for the starfield. (@Koranir) + * Added support for drawing pointers in the interface game data. (@warp-core) + * Increased the saturation of the shields HUD color. (@Quantumshark) + * Added a new setting that determines which ships in your fleet will pick up flotsams, if at all. (@OcelotWalrus) + * The outfits installed on player ships are now displayed in a list format under all the other ship stats in the shipyard and outfitter, similar to how they're displayed for ships that are sold in the shipyard. (@flowers9) + * Changed the "has no shipyard/outfitter" color on the shipyard and outfitter map keys to a darker shade of blue to better differentiate it from the "has shipyard/outfitter" color. (@flowers9) + * Added a "landing zoom" UI setting that zooms the camera in or out when landing on or launching from a planet. (@flowers9) + * Human engines in the outfitter are now ordered according to the engine set that they come from, from smallest to largest, and listed with steering before thrusters, instead of purely alphabetically. (@warp-core) + * The color of a wormhole's link on the map is now also used when that wormhole is a part of the travel plan. (@RisingLeaf, @warp-core) + * Increased the amount of motion blur that occurs in the background while hyperspacing. This can be toggled in the settings under the "extended jump effects" preference. (@Koranir) + * The map can now be opened from the shipyard or outfitter. (@TomGoodIdea) + * Externally docked fighters are now drawn in the hail panel when hailing a carrier. (@TomGoodIdea) + * The auto-selection of available jobs when you accept one job now moves to the next available job for the destination instead of resetting back to the top of the list of jobs for that destination. (@flowers9) + * Added a preference to blink the map mission marker for missions with a deadline more quickly if you have fewer extra days to reach the destination compared to the minimum number of days necessary to reach it. The default behavior is to simply blink based on the number of days until the deadline. (@TomGoodIdea) + * The player will now be warned when taking off if they don't have enough cargo space for outfits that are marked as in cargo. (@flowers9, @warp-core) + * Buttons on the planet panel when you are landed no longer disappear if you don't have a flagship. (@flowers9) + * Mission destination reminder messages are now colored in a new green "info" message level. (@RisingLeaf) + * Interface bars can now be defined to draw from the top left corner instead of only drawing from the bottom right. (@warp-core) + * Added a confirmation dialog to demanding tribute from a planet, to prevent the player accidentally demanding tribute from a planet and ruining their reputation. (@UnorderedSigh) + * Non-hyperdrive jumps in the travel plan are now drawn with dashed lines instead of solid ones in the map. (@flowers9) + * The save file load panel now scrolls when you use arrow keys to select your pilot and save. (@warp-core) + * Planet labels are now much less likely to overlap with one another or with other objects in the system. (@flowers9) + * The escort HUD display is now defined by the interfaces file so that it can be modified without recompiling. (@warp-core) + * Fullscreen can now be toggled in all panels. (@TomGoodIdea) + * The net change in energy and heat when all systems are active is now visible on the energy/heat table for ships when viewed in the outfitter and shipyard. (@mOctave) + * The shipyard and outfitter map keys now have a color for denoting systems with parked ships or stored outfits. (@flowers9) + * If a planet has a different government from the system it is in, that is now displayed on the planet's detail card in the map. (@TomGoodIdea, @Hurleveur) + * Created a new preference to change the format that dates are displayed in. (@a-random-lemurian) + * All applicable takeoff warnings are now displayed at the same time instead of only displaying one warning. (@TomGoodIdea, @quyykk) + * Improved the behavior of scrolling in the outfitter and shipyard to be smoother and better handle movement with the arrow keys. (@flowers9) + * Messages about being unable to land on the target planet now use the "Highest" message importance, causing them to be displayed in orange. (@AmbushedRaccoon) + * Under the hood: + * Refactored part of PlayerInfo::Land to reduce code duplication. (@warp-core) + * Selling all your commodities in the trade panel now loops over the commodities that the player owns instead of looping through all commodities in the game and seeing if the player owns them. (@flowers9) + * Separated the "pug.txt" file into separate, more specific files. (@tibetiroka) + * Combined the Remnant keystone missions using new mission syntax to reduce data duplication. (@warp-core) + * Relocated pirate raid and bounty hunter warning missions to a more sensible file. (@MasterOfGrey) + * Updated fleet definitions to use the new fighter naming syntax. (@flowers9) + * Reordered the hardpoint definitions on various ships to match the expected style. (@warp-core) + * Updated a code comment to match the actual code below it. (@ashdnazg) + * Updated the project license field in the appdata file to list only the primary code license of the game instead of the licenses for all assets. (@salarua) + * The caching of Angles is now done when the game launches instead of the first time Angle::Unit is called. (@flowers9) + * Fixed incorrectly ordered includes in source files. (@tibetiroka) + * Created a new type of dialog that always runs its callback function regardless of the user's choice. (@flowers9) + * Added null pointer checks to functions in Politics. (@warp-core) + * Refactored ShipyardPanel and OutfitterPanel code into the ShopPanel base class. (@flowers9) + * Removed a redundant check in the ShipyardPanel and OutfitterPanel code. (@flowers9) + * Removed NPC actions from the Deep Archaeology missions that were made redundant by the change to the "on kill" action. (@ziproot) + * The destination planet is now cleared if the player's travel plan is changed. (@warp-core) + * Removed unnecessary and added missing #includes. (@quyykk) + * Data changes from multiple events that occur on the same day are now batch-applied for performance purposes. (@quyykk) + * CI/CD and development environment: + * Added some rudimentary checks for proper use of indefinite articles to the content style checker. (@tibetiroka) + * Added a link to the mobile port when creating new issues on Github. (@m0ctave) + * Improved checking of quote style issues in the style checker. (@flowers9, @tibetiroka) + * apt-get update is now run before apt-get install in CI jobs. (@MCOfficer) + * Incorrectly ordered includes in source files now causes a style check error instead of a warning. (@tibetiroka) + * The content style checker now also runs on integration test data. (@warp-core) + * Fixed an indefinite article issue false positive in the style checker that had to do with abbreviations. (@tibetiroka) + * Always use vcpkg's OpenAL Soft on MacOS CI jobs. (@quyykk) + * Miscellaneous GitHub Actions tweaks and improvements. (@quyykk) + * Updated dependencies. (@quyykk) + * Updated outdated actions. (@tibetiroka) + * Fixed caching for CI/CD jobs. (@quyykk) + * CD jobs no longer skip uploading on partial failures. (@tibetiroka) + * Various updates and improvements to build documentation. (quyykk) + * Added an editorconfig entry for credits.txt so that editors recognize the two-space indentation. (@warp-core) + * The game can now be built with MinGW without having a VS toolchain installed. (@quyykk) + * Compiler flags are now correctly added for main.cpp. (@quyykk) + Version 0.10.2 * Bug fixes: * Content bugs: