Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(mechanics): Separate delayed and non-delayed shield generation and hull repair attributes #9771

Merged
merged 10 commits into from
Mar 20, 2024

Conversation

Quantumshark
Copy link
Collaborator

@Quantumshark Quantumshark commented Feb 6, 2024

Feature

This PR implements the feature requested by Amazinite on the latest Campfire stream

Summary

Rather than delaying all shield/hull regen, shield delay and hull delay now only delay the newly added delayed versions of the attributes.

image

Screenshots

todo

Usage examples

outfit "Shield Generator That Works Best After Ten Seconds Outside Of Combat"
	"shield generation" .2
	"shield energy" .2
	"delayed shield generation" 4.8
	"delayed shield energy" 4.8
	"shield delay" 600

outfit "Shield Generator That Becomes Less Efficient After Five Seconds Outside Of Combat"
	"shield generation" 1
	"shield energy" 1
	"delayed shield energy" 4
	"shield delay" 300

Testing Done

Confirmed normal regen without delay still works properly.

shield.delay.compressed.mp4

Added

	"shield delay" 120
	"delayed shield generation" 20
	"delayed shield heat" 40

To the medium systems core I was using and flew over my shield-depleting wormhole.

Save File

This save file can be used to test these changes:
todo

Performance Impact

Doubles the number of attribute gets during regen/repair for any ships that use the new attributes.

Copy link
Member

@TomGoodIdea TomGoodIdea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code-wise looks good.

Btw, what do you think of every generator having its own delay? Or would it be too complicated for players?

source/Ship.cpp Outdated Show resolved Hide resolved
@Quantumshark
Copy link
Collaborator Author

Quantumshark commented Feb 6, 2024

Btw, what do you think of every generator having its own delay? Or would it be too complicated for players?

The exact specifics of the data implementation are a question for future PRs. But, as I understand it the intent is that the standard human shield generators would have both regular and delayed generation, so I expect a wide implementation.

@alexrovw
Copy link
Contributor

alexrovw commented Feb 6, 2024

I guess if you're going to re-implement it like this, the Ka'het Grand Restorer should be modified to have a delayed shield generation attribute of 7.08 and a shield delay of 350. depleted shield delay might need to be grandfathered in anyway to avoid breaking plugins. I don't know.

@Quantumshark
Copy link
Collaborator Author

Depleted shield delay should still work, so no need to replace it with shield delay. But yes, the Ka'het grand restorer probably should be changed to use delayed regen rather than regular regen.

@alexrovw
Copy link
Contributor

alexrovw commented Feb 7, 2024

Depleted shield delay should still work, so no need to replace it with shield delay.

It doesn't, though. I tested it before making that comment. On master branch, it takes the appropriate ~5 seconds before restoring. After checking out this PR, it restores instantly, even as I am receiving breakthrough hull damage.

I was going to speculate about where in the code the issue is, but I don't fully understand it, so I didn't want to steer you wrong.

@Quantumshark
Copy link
Collaborator Author

Did you change it to use delayed regen rather than the non-delayed regen? Delayed regen should be delayed by both types of delay, and non-delayed regen by neither of them.

@alexrovw
Copy link
Contributor

alexrovw commented Feb 7, 2024

Did you change it to use delayed regen rather than the non-delayed regen? Delayed regen should be delayed by both types of delay, and non-delayed regen by neither of them.

I didn't make any changes to the data files. Same exact save file for both tests as well. I rebuilt the binary from scratch each time.

@Quantumshark
Copy link
Collaborator Author

Updated the Grand Restorer to use delayed shield generation, which should fix it.

@1010todd
Copy link
Contributor

1010todd commented Feb 7, 2024

More reason to quickly implement something like #9025 before we have 50k different attributes for all possible combination of stuffs.

Though, for now I like this. The fact that delayed shield gen also affect other shield gen always bother me whenever I made an outfit with one which often ends up in me not making/using it at all.

Also, is there a way to use the old behavior (one outfit with shield delay will delay shield regen of entire ship) with this? Might be occasionally useful to still have that option.

@alexrovw
Copy link
Contributor

alexrovw commented Feb 7, 2024

Updated the Grand Restorer to use delayed shield generation, which should fix it.

I'm not necessarily against changing the Grand Restorer to use delayed shield generation, but we might still need to support depleted shield delay and depleted repair delay to avoid breaking plugins. Need a dev to chime in, I suppose.

Copy link
Member

@Hurleveur Hurleveur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me code wise, cant wait to have the functionality

That said @tibetiroka could you maybe take a look at those tooltips?

data/_ui/tooltips.txt Outdated Show resolved Hide resolved
@tibetiroka tibetiroka added the mechanics Things dealing with the mechanics & code of how the game works label Feb 9, 2024
Quantumshark and others added 3 commits February 13, 2024 22:18
Co-authored-by: tibetiroka <68112292+tibetiroka@users.noreply.github.com>
@xX-Dillinger-Xx
Copy link

Do we know if the plan would be to change existing outfits or create new ones?
My opinion, is if the idea is to address balance issues, then existing outfits should be changed. Adding more outfits, that are similar to what we already have, just adds more confusion for the player. Sometimes, I feel we already have too many outfits. Every time I decide to alter my loadout, I end up going down the rabbit hole comparing every possible combination. I already have way too many sheets of paper, with numbers scribbled all over them, cluttering my desk. On the plus side, my math skills have gotten a good work out.

Copy link
Member

@tibetiroka tibetiroka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tooltips look good.

Copy link
Member

@TomGoodIdea TomGoodIdea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like something went wrong when you were fixing the brackets, let's try again

source/Ship.cpp Outdated Show resolved Hide resolved
source/Ship.cpp Outdated Show resolved Hide resolved
Co-authored-by: TomGoodIdea <108272452+TomGoodIdea@users.noreply.github.com>
Copy link
Collaborator

@Amazinite Amazinite left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also update ShipInfoDisplay to include delayed regen in the stats, as otherwise installing a grand restorer will look like it's doing nothing for your shield regen.

double shieldRegen = attributes.Get("shield generation")
* (1. + attributes.Get("shield generation multiplier"));

double hullRepair = attributes.Get("hull repair rate")
* (1. + attributes.Get("hull repair multiplier"));

double shieldEnergy = (hasShieldRegen) ? attributes.Get("shield energy")
* (1. + attributes.Get("shield energy multiplier")) : 0.;
double hullEnergy = (hasHullRepair) ? attributes.Get("hull energy")
* (1. + attributes.Get("hull energy multiplier")) : 0.;
tableLabels.push_back((shieldEnergy && hullEnergy) ? "shields / hull:" :
hullEnergy ? "repairing hull:" : "charging shields:");
energyTable.push_back(Format::Number(-60. * (shieldEnergy + hullEnergy)));
double shieldHeat = (hasShieldRegen) ? attributes.Get("shield heat")
* (1. + attributes.Get("shield heat multiplier")) : 0.;
double hullHeat = (hasHullRepair) ? attributes.Get("hull heat")
* (1. + attributes.Get("hull heat multiplier")) : 0.;
heatTable.push_back(Format::Number(60. * (shieldHeat + hullHeat)));

@Amazinite Amazinite merged commit aac68a0 into endless-sky:master Mar 20, 2024
21 checks passed
@Quantumshark Quantumshark deleted the shield-delay-rework branch March 20, 2024 08:51
@Quantumshark Quantumshark mentioned this pull request Mar 20, 2024
3 tasks
Zitchas added a commit to Zitchas/endless-sky that referenced this pull request May 18, 2024
* feat(enhancement): Allow ships to define their center of rotation (endless-sky#9423)

* feat(balance) Nerf Shield Refactor Module (endless-sky#9447)

* ci/cd: Run integration tests without OpenGL (endless-sky#9466)

* chore: Migrate to C++17 (endless-sky#8996)

Co-authored-by: quyykk <quyykk@protonmail.com>

* feat(ui): Added keyboard navigation to the preference and plugin panels (endless-sky#9581)

* fix(ui): Better switching from mouse to keyboard navigation in plugins menu (endless-sky#9610)

* feat(artwork): Unique projectile & hit effect for Ionic Turret (endless-sky#9596)

* feat(enhancement): NPCs can be given a "restricted" personality to follow their government travel restrictions (endless-sky#9412)

* refactor: Resolve some C++17 todo items (endless-sky#9613)

* ci: Make the integration tests a bit more deterministic (endless-sky#9546)

* ci: Use C++ instead of the test_parse scripts (endless-sky#9449)

* refactor: Rename confusingly named variables in Engine (endless-sky#9522)

* feat(mechanics): Make escorts only pathfind through systems that the player has visited (endless-sky#6127)

* fix(build): Fix compilation error on SDL before v2.0.22 (endless-sky#9609)

* fix(typo): Correct grammar around payment replacements (endless-sky#9619)

* feat(ui): Shop keyboard navigation remembers selected column when moving between differently sized rows (endless-sky#9617)

* fix(typo): Typo in "Pookie, Part 3" (endless-sky#9625)

* ci: Don't cancel commits to the main branch (endless-sky#9618)

* ci: Allow and run integration tests on every platform (endless-sky#9607)

* feat(enhancement): New minable payload attributes and prospecting weapons (endless-sky#9397)

* fix(typo): Fix uses of "v" vs "w" in Skadenga + some other tweaks (endless-sky#9622)

Ser -> Captain
`<destination>` -> `<stopovers>` in a mission dialog.

* feat(content): Insert joke about black box in Sheragi quest line (endless-sky#9589)

* feat(ui): Allow "u" and "e" to be used as "Buy/Sell All" shortcuts on the trading panel (endless-sky#9623)

* feat(content): A new set of bounty jobs where the bounty ship enters the source system (endless-sky#9532)

* fix(artwork): Adjust brightness of Core space on map sprite (endless-sky#9434)

* feat(content): Sell Typhoons from Lovelace Labs outfitters shortly after their release (endless-sky#9629)

* feat(enhancement): Create flotsam tractor beams (endless-sky#9398)

* fix(content): Fixed outdated event condition in FW Bloodsea missions (endless-sky#9636)

* feat(content): Diversify the Assisting Merchants boarding missions (endless-sky#9446)

* feat(enhancement): "Shrouded" systems that can't be seen unless in visible range (endless-sky#9396)

* feat(content): Add large Swiftsong Hai transport jobs (endless-sky#9575)

* feat(mechanics): Adjust scaling of scan times with increasing number of scanners (endless-sky#9552)

* feat(ui): Add scrolling to the plugins page for both the plugins list and the selected plugin description (endless-sky#9603)

* fix(mechanics): Consider rings entirely contained within a mask as colliding with it (endless-sky#9644)

Fixes a bug where flotsam could skip past the collection radius around the edge of a sprite and get stuck in the middle of it.

* fix(typo): Add missing punctuation in FW (endless-sky#9646)

* fix(content): Correctly account for whether the player attacked Greenrock in the FW campaign (endless-sky#9647)

* feat(content): Small wording tweaks in the intro missions (endless-sky#9649)

* fix(typo): Pluralize "drive" in mission text (endless-sky#9651)

* feat(content): Change how Sayari refers to humans when translating for the Wanderers (endless-sky#9654)

* fix(ui): Ensure that all steps of the player's travel plan are visible (endless-sky#9624)

* feat(enhancement): Allow projectiles to penetrate through ships, dealing damage multiple times (endless-sky#6276)

* feat(content): Add a carrier variant option for the Kestrel (endless-sky#9653)

* feat(content): Gegno Intro Content Adjustments (endless-sky#9652)

* fix(content): Coalition mission grammar/consistency changes (endless-sky#9633)

* feat(content): New mining-focused ships and outfits (endless-sky#9621)

* feat(content): Add a new pirate territory to the South, including new ships, outfits, and more (endless-sky#9597)

* fix(shader): Fix a shader compilation error that can occur on older OpenGL versions (endless-sky#9667)

* fix(content): Add a location filter to the "remnant cafeteria" news so that they can display (endless-sky#9666)

* fix(typo): Remove erroneous article (endless-sky#9664)

* fix(content): Change Lunarium rescue jobs distances to prevent location overlap (endless-sky#9660)

* refactor(ui): Convert ShopPanel to using the new ScrollVar for its scrolling panes (endless-sky#9645)

* feat(enhancement): Added a message log panel for reviewing past hails and status messages (endless-sky#9246)

* feat(content): You can now ask the Quarg about the Coalition after having joined the Heliarchs or Lunarium (endless-sky#9538)

* feat(content): Change the Ringworld Debris: Quarg conversation to be more vague about the Ringworld's fate (endless-sky#9672)

* fix(ui): Fix segmentation fault when opening the message log (endless-sky#9675)

* fix(typo): Fix various typos (endless-sky#9677)

* fix(ci): Output the reason why an integration test failed if it failed because of a segfault (endless-sky#9678)

* feat(content): Add missions where you transport a Hai film crew to Darkrest (endless-sky#9606)

* feat(content): Add a mission transporting a group of Hai college students to Darkrest (endless-sky#9601)

* feat(content): Add a mining tutorial mission to the Sparrow intro quest (endless-sky#9163)

* fix(typo): Gegno planet description improvements (endless-sky#9680)

* feat(enhancement): Add an action that can be triggered when encountering an NPC (endless-sky#9049)

* feat(input): Tie the state of the caps lock to the state of fast-forward if caps lock is used as the fast-forward key (endless-sky#9676)

* fix(content): Fix location filters for Hai Film Crew missions (endless-sky#9681)

* fix(typo): Fix typos in various missions (endless-sky#9683)

* fix(content): Disable the Gegno Intro if the player has not met the Quarg yet (endless-sky#9684)

* feat(ui): Add a tooltip for the message log key (endless-sky#9685)

* fix(content): Correctly restrict offering of the Hai wormhole warning mission if you've started the Hai Reveal storyline (endless-sky#9688)

* fix(mechanics): Always face the flight direction on takeoff (endless-sky#9687)

* fix(ui): Reset zoom modifier if "Landing zoom" setting is off (endless-sky#9686)

* feat(mechanics): Variants can now add licenses on top of a base model using a licenses node in "add attributes" (endless-sky#9682)

* fix(content): Mention all possible missing objectives in the on visit dialog of "Remnant: Void Sprites 3" (endless-sky#9694)

* fix(content): Add proper location attributes to Clink and Mutiny (endless-sky#9695)

* fix(content): Add missing Nest mining variant (endless-sky#9702)

* fix(typo): Convert various single quotes to double quotes and put punctuation inside quotations (endless-sky#9708)

* fix(segfault): Fix a segfault on losing your ship during boarding (endless-sky#9718)

* fix(mechanics): Only add variant licenses to the base attributes of the ship (endless-sky#9724)

* docs: v0.10.5 changelog (endless-sky#9668)

* docs: 0.10.5 credits and docs update (endless-sky#9725)

* fix: Steam workflow test parsing (endless-sky#9726)

Co-authored-by: M*C*O <mcofficer@gmx.de>

* chore: Update version numbers for 0.10.6-alpha (endless-sky#9727)

* fix(docs): Correctly update remaining version numbers for 0.10.6-alpha (endless-sky#9732)

* docs: Add "GOG" as an option for "Game source" in the bug report issue template (endless-sky#9730)

* feat(content): Reduce the spawn rate of Astral Cetaceans (endless-sky#9712)

* feat(content): Reduce size and spawn rate of Embersylph (endless-sky#9711)

* fix(content): Fix reference in 'First Contact: Gegno Vi' (endless-sky#9744)

* fix(typo): Missing spaces in boarding mission phrases(endless-sky#9736)

* feat(content): Edit descriptions for Hai stations (endless-sky#9698)

* fix(content): Give required crew to the Javelin and Gatling Turrets (endless-sky#9778)

* fix(content): Check correct conditions in Gemini Shipyards jobs (endless-sky#9798)

* fix(typo): Gemini -> Geminus (endless-sky#9800)

* feat(balance): Give Dreadnoughts back their fourth torpedo launcher (endless-sky#9795)

* fix(ui): Fix the padding between lines in the ship info display (endless-sky#9788)

* refactor: Remove unused ShopPanel::Search declaration (endless-sky#9784)

* feat(content): Mention abandoned Navy bases on planets during Checkmate (endless-sky#9782)

* feat(content): Make Lasher Pistols more defensive than offensive (endless-sky#9779)

* Docs: Rename feature request template (endless-sky#9775)

* feat(ui): Reset the scroll speed of the credits if it was previously set to 0 (endless-sky#9774)

* feat(content): Adding hails about dumping cargo for pirates (endless-sky#9758)

* fix(typo): Various typo fixes (endless-sky#9752)

* fix(content): Uninhabited systems & Kaus Borealis switch sides throughout the FW campaign (endless-sky#9748)

* fix(ui): Render animated sprites in the hail panel correctly (endless-sky#9767)

* fix(content): Add the ramming personality to the timer ship so that it doesn't avoid damaging itself (endless-sky#9751)

* fix(typo): Move apostrophe in Solifuge description (endless-sky#9807)

* fix(typo): Typos in Southern Fiance 2 and Gegno: First Contact (endless-sky#9808)

* fix(content): Remove second "on complete" in "Lunarium: Combat Training 2" (endless-sky#9816)

* fix(typo): Various typos and wording style changes (endless-sky#9812)

* fix(typo): Grammar adjustments in various Lunarium missions (endless-sky#9793)

* fix(ui): Add missing color definitions for message log colors (endless-sky#9831)

* fix(docs): Correct some copyright entry orders and file patterns (endless-sky#9731)

* List less specific file patterns in stanzas before more specific ones.
  * For example, 'images/land/*' is less specific than 'images/land/mars*' and so its stanza should be listed first.
* Replace some spaces in file patterns with '?' as file patterns cannot contain spaces.

* fix(ui): Correct message log colors (endless-sky#9836)

* feat(content): Add `lingering` to Gegno Protolith Fleet (endless-sky#9804)

* docs: 0.10.6 changelog and docs update (endless-sky#9803)

* fix(typo): Fix typo in changelog (endless-sky#9837)

* docs: 0.10.7 alpha versions (endless-sky#9839)

* chore(CI): Update Github Actions versions (endless-sky#9821)

* feat(CI): Stricter copyright checking (endless-sky#9750)

Certain warnings will now be considered to be errors.

* fix(CI): Fix edge case in code style checker (endless-sky#9789)

* feat(content): Give the harvest personality to Unfettered fleets (endless-sky#9810)

* feat(balance): Reduce the chances of finding Bactrians in random pirate fleet spawns by half (endless-sky#9699)

Also removed Bactrians from Hired Gun fleets and as a pirate job target.

* feat(enhancement): Autocondition for testing if you can land on a given planet (endless-sky#9716)

* fix(content): Earth day jobs no longer offer unless you can land on Earth (endless-sky#9715)

* feat(balance): Nerf the Unfettered medical jobs (endless-sky#9232)

* feat(UI): Include messages when hailing other ships in the message log (endless-sky#9787)

* fix(content): Make TMBR 3a dialogue choice order consistent (endless-sky#9806)

* refactor: Improve load panel tooltip timestamp generation (endless-sky#9773)

No longer make use of manual memory management.

* fix(typo): Add missing word in "Bounty Hunting (Small, Hidden)" (endless-sky#9845)

* feat(enhancement): Added a "fused" weapon tag that causes projectiles to explode at the end of their life (endless-sky#9822)

* feat(enhancement): Added tags that stop projectiles from colliding with different object types (endless-sky#9823)

* feat(ui): The shop now has tooltips for viewing your unabbreviated credits and the names of your ships without needing to select them (endless-sky#9825)

* fix: Don't consider "Parsing: <file>" output when in debug mode as errors when test parsing (endless-sky#9855)

* fix(crash): Fix game crash on short error messages (endless-sky#9869)

* feat(mechanics): Remove the forced-default disabled hails from Government (endless-sky#9866)

* feat(mechanics): Disabled hails are now sent passively (endless-sky#9858)

* feat(enhancement): Add a "quiet" personality that prevents passive hails but still allows direct hails (endless-sky#9857)

By contrast, mute blocks all hails with a ship.

* feat(content): Add a mission transporting a Hai to Unfettered space (endless-sky#9753)

* feat(content): add Unfettered-related Hai news (endless-sky#9756)

* feat(content): Add missions about Hogshead referencing Boaty McBoatface story (endless-sky#9770)

* fix(content): Add blocked message to Hai Film Crew 3 (endless-sky#9886)

* fix(content): Add missing indent, remove unnecessary labels and gotos to Mafia Extortion mission (endless-sky#9875)

* fix(ui): Don't draw name tooltips for ships hidden under the shop sidebar footer (endless-sky#9883)

* feat(content): Add Coalition culture conversations (endless-sky#9790)

* refactor: Style updates to Armament (endless-sky#9842)

* feat(content): Add new human merchant hails about mining asteroids (endless-sky#9769)

* fix(content): Fix overlapping stars in Umbral system (endless-sky#9889)

* feat(balance): Cut Wanderer sun reactor energy capacity in half + -20% energy generation on the biochemical cells (endless-sky#9743)

Wanderer sun reactor energy capacities were doubled back in 0.9.15. The Wanderer sun reactors were already dominant before their energy capacity was increased, and they have remained dominant due to not losing out as much relatively to the energy capacity buff that was given to other outfits. Reverting the energy capacity buff gives other reactors and battery outfits more breathing room.

In that same update, biochemical cells received a 10x energy capacity buff. This pushed them into the realm of being great batteries with some energy generation rather than a weak energy generator with some energy capacity, although the combined effect has ended up being a bit too strong. As such, reduced the energy generation by 20% as opposed to reverting part of the energy capacity buff to keep them in their niche while not being too overpowered.

* feat(AI): NPC scan and surveillance personality behavior changes (endless-sky#9714)

* fix(content): Fix attribute on Vyrmeid lifeform (endless-sky#9898)

* fix(ship): Variant ships correctly inherit display names from base ships (endless-sky#9897)

* fix(UI): Use singular "ship" in messages when recalling/deploying a single ship (endless-sky#9908)

* fix(docs): Fix errors in the copyright file (endless-sky#9853)

* fix(syntax): Rename variable to avoid ambiguity with std::queue in some versions of clang (endless-sky#9907)

* feat(ux): Hide unknown system names in the escort HUD (endless-sky#8816)

Escorts located in systems that the player hasn't visited don't leak the system name in the UX, and instead show "???" instead of the actual system name.

Co-authored-by: Amazinite <jsteck2000@gmail.com>
Co-authored-by: Nick <quyykk@protonmail.com>

* feat(ui): Allow multiple pages of controls (endless-sky#9913)

Also splits the interface control on a separate page to separate them from the gameplay controls.

* fix(ci): Don't check for leading/trailing spaces in substitutions defined in missions (endless-sky#9915)

* build(IDE): Support CodeBlocks no longer stand-alone, but only through CMake (endless-sky#8095)

* fix(content): Give Cruiser in "FWC Cebalrai 1B" Combat Drones instead of Lances (endless-sky#9919)

* fix(mechanics): Fix ship parenting on takeoff with fighter flagship (endless-sky#9905)

* feat(CI): Check copyright with a linter (endless-sky#9882)

* Refactor: General purpose TaskQueue instead of SpriteQueue. (endless-sky#6928)

Use a general purpose TaskQueue instead of SpriteQueue.

Co-authored-by: EjoThims <JEIPH@MAC.COM>
Co-authored-by: tibetiroka <68112292+tibetiroka@users.noreply.github.com>

* refactor(content): Refactor the Argosy Hijacking mission (endless-sky#9901)

* feat(ui): Conditions to word-form numbers in conversations (endless-sky#8798)

Allow converting conditions to word form numbers in conversations.

* feat(mechanics): Disabled fighters and drones will no longer be hit by stray projectiles (endless-sky#9760)

This greatly increases their odds of survival after being disabled.
Explosions will still damage them.

* feat(mechanics): Separate delayed and non-delayed shield generation and hull repair attributes (endless-sky#9771)

* feat(ui): A help message for managing multiple ships in the outfitter (endless-sky#9910)

* feat(content): Create more passenger jobs requiring keystones in Hai space (endless-sky#9872)

* fix(ui): Correctly handle arrow keys with no item selected in the shop (endless-sky#9929)

* feat(content): edits to Unfettered missions (endless-sky#9757)

* fix(content): Add new "CCOR Logistics" fleet for non-combat ships (endless-sky#9932)

* fix(ui): Align plugin checkbox clickzones correctly (endless-sky#9922)

* fix(mechanics): Fix mission distance calculations with different settings (endless-sky#9921)

* feat(content): Add more human news referring to Korath attacks in the Core (endless-sky#9928)

* fix(internal): Improvements to fix crashes when loading/unloading images (endless-sky#9941)

* fix: Fix custom port button name when using "add port" (endless-sky#9946)

* feat(content): Reworked the distribution of outfits in southern and pirate outfitters (endless-sky#9944)

* fix(content): Allow quantum keystone jobs to offer properly (endless-sky#9936)

* feat(UI): Added a preference to turn off the sobel filter on your flagship and target ship in the HUD (endless-sky#9942)

* fix(content): Update New China and Geyser to have outfitters and tribute fleets that match their region (endless-sky#9939)

* fix(copyright): Fix the attribution of various copyright entries (endless-sky#9900)

* feat(UI): Rotate interface images (endless-sky#9943)

* feat(balance): Cut the asteroid scanner's price in half (endless-sky#9947)

* feat(content): Conspiracy theorist spaceport news (endless-sky#9937)

* ci: Run CI workflows when their configuration file is changed (endless-sky#9945)

Modifying a CI workflow file now triggers every job inside of it. This is to make sure that any changes to the file are caught by CI instead of being skipped and requiring a separate (temp) change to trigger the jobs in question.

* feat(content): Add logbook entries for Alastair Korban (endless-sky#9938)

* fix(parsing): Corrected the parsing of the initial player rep grandchild node in Government (endless-sky#9954)

* feat(enhancement): Added a control for toggling the turret tracking setting (endless-sky#9916)

This control by default isn't mapped to anything, but is available for people to map if they wish to use it.

* fix(typo): Replace two mentions of "Burthensider" with "Burthenian" (endless-sky#9955)

* feat(content): Remove facilities from evacuated Wanderer worlds (endless-sky#9931)

* feat(enhancement): Allow boarding (repair or capture) ships with a fighter flagship (endless-sky#9741)

* fix(content): Remove duplicate Korath phrase (endless-sky#9962)

* fix(content): Clarify the description of the Far Osk 27 (endless-sky#9976)

* fix(content): Remove outfit scanning capabilities from Grey's person ship (endless-sky#9983)

* feat(balance): Reduce the requirements for unlocking the Kestrel the first time (endless-sky#9988)

* chore(docs): Fix typo in and add Hungarian language description to Unix metadata file (endless-sky#9990)

* fix(content): Block "Lunarium: Questions" from completing while assisting the Heliarchs (endless-sky#9985)

* fix(ui): Use "strftime" instead of "put_time" to correctly generate save file timestamps (endless-sky#9975)

* feat(content): Various improvements to human hails (endless-sky#9865)

- Adds three new civilian hails (two on zero-g cricket and one on the Quarg, derived from a previous hail).
- Adds one new variation on a Navy hail.
- Removes one hail but integrates its text into another hail set and adds some more to them (as those "in Soviet Russia"-type jokes were happening too often).
- Revises some other hails & cuts down on some truly absurd variations.
- Adds some new variation to a bunch of other hails.
- Adds new sets of pirate disabled hails and makes the pirate governments use those hails.

* fix(content): Reword Deep's description (endless-sky#9982)

* fix(copyright): List correct attributions for Unsplash images (endless-sky#9459)

* fix(ui): Draw distance to the selected system after mission markers (endless-sky#10003)

* fix(UI): Ships with "disables" personality ask for help disabling, instead of destroying, their enemies (endless-sky#10011)

* fix(typo): Fix various typos (endless-sky#10001)

* fix(typo): Correct indentation in "Ask Quarg About Coalition Late" (endless-sky#10012)

* fix(ui): Suppress missions require landing in the next system messages from failed missions (endless-sky#10014)

* Enhancement: conditional links (endless-sky#7987)

* fix: Remove outdated watchdog (endless-sky#10023)

Watchdogs are no longer used within tests; remove from recently merged test as well.

* fix(content): Add back instances of "ser" and explain what it means in the Skadenga and Stones of Our Fathers missions (endless-sky#9989)

* feat(content): Update the descriptions of two Sestor worlds after the factories are shut down (endless-sky#10016)

* feat(content): Add some additional mentions of how Tele'ek's Molt is progressing to the last few missions in Wanderers Middle (endless-sky#10005)

* fix(typo): Fix two typos (endless-sky#10019)

* feat(build): Link GLEW::glew instead of GLEW::GLEW in CMakeLists.txt (endless-sky#9978)

* feat(build): Simplify CMake build on Linux and MacOS (endless-sky#9950)

* fix(typo): Remove unnecessary speech mark (endless-sky#10029)

* feat(content): Add mention of the CCOR in a FW pirate recon mission (endless-sky#10006)

* feat(content): Outfitters near Earth and the Dirt Belt stock Kraz and Delta V after the war begins (endless-sky#10021)

* feat(content): remove pirates from Ildaria (endless-sky#9809)

* feat(content): A short set of missions involving the Wanderers and Mereti (endless-sky#9979)


Co-authored-by: bene_dictator <benstaples8068@gmail.com>
Co-authored-by: Lorenzo.BdO <81255699+LorenzoBolla@users.noreply.github.com>

* feat(content): More new human planets and stations, update Kraken Station landing image (endless-sky#9917)

* feat(content): Add new uninhabited landable planets to existing systems in Human space (endless-sky#9879)


Co-authored-by: bene_dictator <benstaples8068@gmail.com>
Co-authored-by: tibetiroka <68112292+tibetiroka@users.noreply.github.com>
Co-authored-by: ziproot <109186806+ziproot@users.noreply.github.com>
Co-authored-by: Amazinite <jsteck2000@gmail.com>

* feat(balance): Revert old human missile initial velocity changes + additional tweaks (endless-sky#9973)

* feat(balance): Reduced the Heavy Rocket's damage while increasing its blast radius (endless-sky#9912)

Reduces the damage dealt by heavy rockets from 1060/900 to 790/670, and increase their blast radius from 50 to 90. This is a drop of about 25% to damage, and an increase of 80% to blast radius.

The description of heavy rockets notes that they're primarily effective against groups of fighters, and this change leans further into that, making them more clearly distinct from the Torpedo, the premier anti-HW weapon for small ships.

* feat(content): Make the "Remnant: Cognizance 4" mission description more helpful (endless-sky#10017)


Co-authored-by: mOctave <73318970+mOctave@users.noreply.github.com>

* feat(balance): Tweak Marauder loadouts, including removing campaign unlocked outfits (endless-sky#9819)


Co-authored-by: Quantumshark <thedup.adg@gmail.com>

* fix(typo): Minor spelling in cognizance (hanger -> hangar) (endless-sky#10037)

* fix(content): make the <npc> substitution in Wanderers: Mereti: The Plant 5 point to the right npc (endless-sky#10036)

* feat(content): Changes to Pre-war Missions (endless-sky#9924)

* [Mechanic] Disabled Self-Repair (endless-sky#9846)

Co-authored-by: EjoThims <JEIPH@MAC.COM>

* feat(balance): Toned down the missile strength and turn rate of the Firelight (endless-sky#10038)

* fix(content): Don't offer the Terraforming missions at non-sensical times (endless-sky#10027)

* feat(balance): Give the Quicksilver +20 weapon capacity & a Capybara Reverse Thruster

* feat(content): Sell normal blaster weapons on pirate planets (endless-sky#10034)

* feat(enhancement): Game actions can now play music with a `music` node (endless-sky#10008)

* fix(content): Fixed an inconsistency in variable names used by Patir Mystery and Cognizance (endless-sky#10028)

* Feat(mechanics): Cloaking flexibility with additional attributes (endless-sky#7025)

Co-authored-by: EjoThims <JEIPH@MAC.COM>
Co-Authored-By: Nick <85879619+quyykk@users.noreply.github.com>
Co-authored-by: Peter van der Meer <peter.vd.meer@gmail.com>
Co-authored-by: TomGoodIdea <108272452+TomGoodIdea@users.noreply.github.com>
Co-authored-by: warp-core <warp-core@users.noreply.github.com>
Co-authored-by: Zitchas <32169904+Zitchas@users.noreply.github.com>

* fix(typo): "cloaking shield" -> "cloaking shields" (endless-sky#10047)

"cloaking shield" -> "cloaking shields"

* feat(content): Bringing a lost dog to its owner on Glory (endless-sky#9961)


Co-authored-by: bene_dictator <benstaples8068@gmail.com>

* fix(content): Syntax in Lost Dog missions (endless-sky#10050)

* feat(cloaking): Update some cloaking tooltips (endless-sky#10052)

* fix(content): Don't select Graffias as a target for Free Worlds "Scouting Run" jobs (endless-sky#10053)

* feat: Ability to limit turret firing arc (endless-sky#7094)

* Introduce a capability to limit the rotation of a turret.

Co-authored-by: Hurleveur <94366726+Hurleveur@users.noreply.github.com>
Co-authored-by: oo13 <ooyooxei+gh@gmail.com>
Co-authored-by: OOTA, Masato <ooyooxei+gh@gmail.com>
Co-authored-by: Rising Leaf <85687254+RisingLeaf@users.noreply.github.com>
Co-authored-by: tehhowch <tehhowch@users.noreply.github.com>
Co-authored-by: tibetiroka <68112292+tibetiroka@users.noreply.github.com>
Co-authored-by: TomGoodIdea <108272452+TomGoodIdea@users.noreply.github.com>

* feat(code): Ensuring label and line positions adapt to Weapons box positioning (endless-sky#10059)

Co-authored-by: Rising Leaf <85687254+RisingLeaf@users.noreply.github.com>

* feat(content): Core Pirate Ship Variants with Tractor Beams (endless-sky#9772)

* fix(mechanics): Properly check if a mission is failed (endless-sky#10015)

* feat(content): Prevent "Deep: Interrogation" from offering during the main campaign (endless-sky#10055)

* fix(content): "Remnant: Continue Research" no longer offers if you've completed the missions after it (endless-sky#10056)

* feat(ui): "Fancy" cloaked ship outlines (endless-sky#9642)

* feat(content): Various improvements to some pirate jobs (endless-sky#9740)

* "Drug Running" missions are now "infiltrating";
* Added (and used) generic aborted phrases for pirate slave jobs;
* Failing or aborting a pirate slave job causes a reduction in reputation with the "Pirate" government;
* Many jobs now have a minimum travel distance of 4, instead of 3, to prevent them from involving travelling between the Men system and a CCOR world, as this route does not involve any territory hostile to pirates. Affected jobs:
  * "Cargo Smuggling", "Bulk", and "Stealth (South)" variations,
  * "Drug Running", and "Stealth (South)" variation,
  * "Slave Transport", and "Bulk" variation,
  * "Escort Illegal Cargo" South variation, and
  * "Escort Stolen Vessel" South variation;
* The targets NPCs in "Eliminating Law Enforcement" jobs have been given the "marked" personality;
* Alphabetized the list of personalities for the target NPCs in "Eliminating Competition" jobs;
* Various jobs will only place NPCs in systems neighbored by a non-Pirate system. Affected jobs are:
  * "Eliminating Law Enforcement" Core and South variations,
  * "Raid on Merchants" North and South variations, and
  * "Cargo Theft (South)"; and
* Various jobs will only offer from systems neighbored by a non-Pirate system (that is, they will no longer offer from CCOR worlds). Affected jobs are:
  * "Eliminating Law Enforcement (South)",
  * "Southern Pirate Defense",
  * "Cargo Theft (South)", and
  * "FW Assassination".

* feat(content): Adjust Imo Dep Minables & Add Hai Mining fleets (endless-sky#10057)

* feat(content): Added derelict ships that can randomly spawn in some human systems (endless-sky#9039)

---------

Co-authored-by: Rising Leaf <85687254+RisingLeaf@users.noreply.github.com>
Co-authored-by: Arachi-Lover <82293490+Arachi-Lover@users.noreply.github.com>
Co-authored-by: Nick <quyykk@protonmail.com>
Co-authored-by: tibetiroka <68112292+tibetiroka@users.noreply.github.com>
Co-authored-by: Daniel <101683475+Koranir@users.noreply.github.com>
Co-authored-by: Hurleveur <94366726+Hurleveur@users.noreply.github.com>
Co-authored-by: mOctave <73318970+mOctave@users.noreply.github.com>
Co-authored-by: Alex Rov <98854112+alexrovw@users.noreply.github.com>
Co-authored-by: Amazinite <jsteck2000@gmail.com>
Co-authored-by: Ezra Alvarion <ezraalvarion71@gmail.com>
Co-authored-by: Quantumshark <thedup.adg@gmail.com>
Co-authored-by: Daeridanii1 <20879740+Daeridanii1@users.noreply.github.com>
Co-authored-by: roadrunner56 <65418682+roadrunner56@users.noreply.github.com>
Co-authored-by: Unordered Sigh <116329264+UnorderedSigh@users.noreply.github.com>
Co-authored-by: thewierdnut <9004013+thewierdnut@users.noreply.github.com>
Co-authored-by: bene_dictator <benstaples8068@gmail.com>
Co-authored-by: The-Legendary-M <130106565+The-Legendary-M@users.noreply.github.com>
Co-authored-by: Saugia <93169396+Saugia@users.noreply.github.com>
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-authored-by: warp-core <warp-core@users.noreply.github.com>
Co-authored-by: LepRyot <88047246+LepRyot@users.noreply.github.com>
Co-authored-by: TomGoodIdea <108272452+TomGoodIdea@users.noreply.github.com>
Co-authored-by: williaji <70952724+williaji@users.noreply.github.com>
Co-authored-by: Timothy <tcollett+github@topazgryphon.org>
Co-authored-by: ThrawnCA <shell_layer-github@yahoo.com.au>
Co-authored-by: ziproot <109186806+ziproot@users.noreply.github.com>
Co-authored-by: M*C*O <mcofficer@gmx.de>
Co-authored-by: Max Horn <max@quendi.de>
Co-authored-by: Oversurge <42477777+AlexBassett@users.noreply.github.com>
Co-authored-by: neurotrope <137111201+neurotrope@users.noreply.github.com>
Co-authored-by: EjoThims <JEIPH@MAC.COM>
Co-authored-by: AvianGeneticist <64111606+AvianGeneticist@users.noreply.github.com>
Co-authored-by: xxxyyyqqq12345 <xxxyyyqqq12345@gmail.com>
Co-authored-by: Brendan Jones <16049594+brendanjones@users.noreply.github.com>
Co-authored-by: ovari <17465872+ovari@users.noreply.github.com>
Co-authored-by: Cromha <87318892+OcelotWalrus@users.noreply.github.com>
Co-authored-by: Peter van der Meer <peter.vd.meer@gmail.com>
Co-authored-by: enot888 <168086319+enot888@users.noreply.github.com>
Co-authored-by: Lorenzo.BdO <81255699+LorenzoBolla@users.noreply.github.com>
Co-authored-by: Anarchist2 <60202690+Anarchist2@users.noreply.github.com>
Co-authored-by: a4358 <a43582@gmail.com>
Co-authored-by: Azure_ <42621251+Azure3141@users.noreply.github.com>
Co-authored-by: lumbar527 <125756761+lumbar527@users.noreply.github.com>
Co-authored-by: eebop <68796004+eebop@users.noreply.github.com>
Co-authored-by: Nick <85879619+quyykk@users.noreply.github.com>
Co-authored-by: Dane <90231647+SpearDane@users.noreply.github.com>
Co-authored-by: 1010todd <19187937+1010todd@users.noreply.github.com>
Co-authored-by: oo13 <ooyooxei+gh@gmail.com>
Co-authored-by: tehhowch <tehhowch@users.noreply.github.com>
Co-authored-by: Petersupes <77224539+Petersupes@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mechanics Things dealing with the mechanics & code of how the game works
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants