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

Balance: Remove/Reduce Bactrian variants from non-mission Pirate fleets #9699

Merged
merged 3 commits into from
Feb 17, 2024

Conversation

alexrovw
Copy link
Contributor

Balance

As discussed on Discord, this change will balance acquisition of a Bactrian by removing default hostile Bactrians from non-story-related fleets.

Summary

Specifically, we are removing all NPC Pirate gov Bactrian fleet variants from:

  • The Pirate fleets that roam around the North
  • The Hired Gun Bactrian fleets from Hai Reveal part 1
  • The friendly escort Bactrian fleet during the positive-rep pirate job: mission "Escort Stolen Vessel (Extra Large, North, Dangerous Path)"

I'd love some feedback on that last one.

The reasoning for this change is two-fold:

  1. Gameplay: There is an existing mission string that grants purchase rights to the Bactrian. This mission reward is greatly devalued if the player has access to free Pirate Bactrians just by wandering around the North or by triggering a Pirate job.
  2. Lore: The Deep tightly controls Bactrians, to the point where you cannot buy them without a license. It's pretty unlikely that they would let so many Pirate Bactrians roam around the North. It makes sense for one-off warlords like Beelzebub to have a Bactrian as their prized ship, but it's just not all that believable that random Pirates are flying Bactrians around.

The player can still capture an NPC Bactrian if they really want to, but they have to pay a heavier price. The remaining NPC Bactrians are all Merchants, so pirating them will result in a heavy reputation hit. We are still able to showcase the Bactrian in action, because NPC Merchant fleets will still have them. Finally, Beelzebub still has a nicely outfitted Bactrian (the "Cosmic Devil") that the player can earn if they work for it at the conclusion of the mission string.

@Hecter94
Copy link
Member

I think this is a good initiative, and I like the direction you're going with this, but we could go a bit further and accomplish your stated goals more effectively.

I believe a better approach is leaving Bactrians in pirate fleets and allowing capturing them. However, if the player lands on a Deep or Republic world with a Bactrian without having the requisite license, they are approached by Deep Security and strong-armed into selling the Bactrian to them for a generous finder's fee or else suffer a large reputation penalty and likely turn them hostile by refusing to hand the ship over to them.

This gives us the opportunity for a fun, short mission where the player can choose to acquiesce and give up their prize for a still decent reward, perhaps try to convince the Deep government otherwise (potentially acting as an alternative entry route into the Bactrian mini-campaign?), or defy the government and accept the consequences for doing so.

This effectively accomplishes the same goal of increasing the value of the mission chain that will award the license, as it will now enable both purchasing and effectively capturing the Bactrian.
In addition, it reinforces the lore point of Bactrians being tightly controlled by the Deep government in a way that I would argue is more engaging than simply removing them outright, which also further reinforces the lore point of the Republic's reliance on licenses, which has for a while been a lore point that hasn't been effectively shown via gameplay or story.

This alternate solution also maintains a greater degree of player freedom. It encourages creative thinking, as you're still able to capture a Bactrian but need to be careful with how you use it. For example, capturing a Bactrian, bringing it straight to Free Worlds space, and using it exclusively there without landing on any Republic or Deep-controlled planets would become a valid strategy. Once the pirate campaign is further fleshed out, you would have some interesting alternatives for pirate-minded players to capture Bactrians for themselves and use them exclusively at the fringes of society where they won't be persecuted for their actions.

In summary, while I don't disagree with the reasoning for this change in theory, we have better options for accomplishing the stated goals more thoroughly while simultaneously reducing the impact on player freedom. However, We could still go with this as an interim solution if we feel the change is urgent.

@Hecter94 Hecter94 added balance A ship or weapon that seems too powerful or useless, or a mission that seems too easy or hard content A suggestion for new content that doesn't require code changes labels Jan 21, 2024
@Amazinite
Copy link
Collaborator

Amazinite commented Jan 28, 2024

It's pretty unlikely that they would let so many Pirate Bactrians roam around the North.

This seems rather hyperbolic to me to italicize "so many." The Bactrian will only spawn in 1 out of every 64 large northern pirate fleets. The best spawn rate I can find for large northern pirate fleets is a spawn period of 500 frames in Arneb. 500 frames per fleet * 64 fleets before you see a Bactrian = about 9 minutes (3 minutes on fast forward) of idling in the most active pirate system to see a pirate Bactrian. If you're anywhere else, that time between seeing pirate Bactrians will only increase. We could easily increase that time if we wanted, but it's already one of if not the rarest ship to find in a pirate fleet.

I'd be fine with removing the Bactrian from the job and Hired Gun fleets (although with the job I'd prefer to replace it with a different fleet variant rather than removing a fleet variant entirely), but I don't think it makes sense to entirely eliminate the possibility of seeing a Bactrian fleet spawn in large pirate fleets.

Lore: The Deep tightly controls Bactrians, to the point where you cannot buy them without a license.

Let's make a comparison to the Navy. Navy ships are license locked and don't appear in pirate fleets. The claim is effectively that since the Bactrian is also license locked, it should similarly not appear in pirate fleets.

I think the issue with this is that in-universe, there's a difference in the exclusivity of the Navy and city-ship licenses. In order to gain a Navy license, one must join the Navy. By joining the Navy, you'll go through a training program to enhance your combat capabilities. It's noted at multiple points in the story, such as the Alpha attack of Poisonwood and during the Wanderer campaign with Avalon and Zenith, that the Navy are highly adept at H2H combat. The rest of your crew will also be a part of the Navy, all with the same combat training. This means that for a pirate to even capture a Navy ship in the first place, they have to go toe-to-toe with the combat experienced crew of the ship, making the odds of a pirate capturing a Navy ship lower. And even in the likely rare cases where it does occur, the Navy is a powerful force in the galaxy. Their odds of success in destroying or returning lost ships will be very high.

By contrast, the City-Ship license is not as exclusive. It isn't only given to Deep Security, but also to merchants who have a good reputation with the Deep. Although it is a larger ship with more crew, merchants are less experienced in H2H combat than the Navy or Deep Security (who one can imagine get similar H2H combat training to the Navy). Deep Security is also a relatively less powerful force than the Navy. They only patrol a small region of space and are lesser in numbers. While they do have the means to travel out to other regions of space, and can likely ask the Navy for help when they need it, it's imaginable that their success rate with destroying or returning lost ships isn't as high as the Navy.

Another point is that the Deep mention during FWR that they only have legal jurisdiction to track down fugitives under certain circumstances. From "FW Reconciliation 2A":

"When we joined the Republic, we retained the authority to police our own territory, and that authority includes the right to track down fugitives who have fled beyond our usual jurisdiction."
"Our proposal is that a fleet under our jurisdiction, but joined by Free Worlds and Oathkeeper vessels, will travel into the Core and arrest at least one of the Syndicate masterminds behind the terrorist attacks. Such an action would satisfy the technical requirements of legality provided that immediately prior to the arrest, one of our courts hears Sawyer's testimony and pronounces that Syndicate individual guilty."`

It's notable that in order to legally justify the arrest, they need to have an open case in one of the Deep's courts. This may not be possible with all stolen Bactrians.

TL;DR I'm fine with removing Bactrian spawns from some of these locations, but don't think they should be removed as the rarest fleet spawn of large northern pirate fleets.

@alexrovw
Copy link
Contributor Author

This seems rather hyperbolic to me to italicize "so many."

Perhaps that is a bit of an exaggeration. But anecdotally, I've been able to capture 3-4 pirate Bactrians in a typical playthrough without actively looking for them. Spending enough time in the northern systems inevitably leads to Bactrian encounters. Considering the fact that these are old and rare ships as well as the fact that they are controlled by the Deep, I would expect that finding even one in the hands of pirates would be a rarity.

By contrast, the City-Ship license is not as exclusive. It isn't only given to Deep Security, but also to merchants who have a good reputation with the Deep.

I would think that the City-Ship license would be more exclusive. Surely not everyone in DeepSec is allowed to fly a Bactrian, while practically everyone in the Navy either flies or serves aboard a Navy ship. There are also fewer Bactrians by far when compared to Navy ships.

@Amazinite
Copy link
Collaborator

Perhaps that is a bit of an exaggeration. But anecdotally, I've been able to capture 3-4 pirate Bactrians in a typical playthrough without actively looking for them... I would expect that finding even one in the hands of pirates would be a rarity.

How long is a "typical playthrough" for you? A 1/64 chance for an event that only occurs occasionally in most locations is rare relative to other ship appearances in the game, but given enough time and/or luck, even the rarest events can happen multiple times. Although like I said, that can easily be increased in its rarity.

@alexrovw
Copy link
Contributor Author

Consider that there are 36 systems that have a chance to spawn Large Northern Pirates (though not at the same rate) as well as numerous missions and jobs that can generate them too. My typical playthrough is long, but I think anyone who makes a bunch of trips to Hai/Wanderer space and back is bound to run into them reasonably often.

@Amazinite
Copy link
Collaborator

My typical playthrough is long

Well unless we make them almost impossible to spawn, you're still bound to see some on a long playthrough. What do you imagine an acceptable spawn rate to be for the length of your playthroughs?

@alexrovw
Copy link
Contributor Author

To be honest, I was hoping to remove them from pirate fleets entirely, outside of scripted mission encounters. But if we're just looking to decrease the spawn rate, I'd say cutting it in half would be a welcome change.

@Amazinite
Copy link
Collaborator

I'll note too that I'm not sold on the idea of making getting a Bactrian impossible outside of getting the license for the sake of making the mission getting the license better. Sure, the license is a reward for getting to the end of the Deep missions, but missions shouldn't simply be boiled down to the material rewards that you get from them. The journey itself should be the most important part.

@Amazinite
Copy link
Collaborator

But if we're just looking to decrease the spawn rate, I'd say cutting it in half would be a welcome change.

In that case, you can double the variant # values in the large northern pirate fleet for everything aside from the Bactrian's variant.

@alexrovw
Copy link
Contributor Author

In that case, you can double the variant # values in the large northern pirate fleet for everything aside from the Bactrian's variant.

Done

The journey itself should be the most important part.

Agreed. But when somebody is going into the mission for the express purpose of earning the Bactrian, they typically complain about it being too long. Then, at the end, they don't even get a Bactrian – only the right to purchase one. This PR isn't intended to fully address that concern, but it's supposed to make the Bactrian a bit more exclusive for those who want to earn one.

@Amazinite Amazinite merged commit 341a85a into endless-sky:master Feb 17, 2024
18 checks passed
@alexrovw alexrovw changed the title Balance: Remove Bactrian from all non-mission Pirate fleets Balance: Remove/Reduce Bactrian variants from non-mission Pirate fleets Feb 17, 2024
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
balance A ship or weapon that seems too powerful or useless, or a mission that seems too easy or hard content A suggestion for new content that doesn't require code changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants