From 8bdfa5ab430eb77e29977eb5edc124d804413066 Mon Sep 17 00:00:00 2001 From: Zitchas <32169904+Zitchas@users.noreply.github.com> Date: Sat, 1 Mar 2025 08:47:47 -0500 Subject: [PATCH 1/5] feat(content): Add Unclassified, Unclassified Minor and Game Mechanic categories for unique-use ships (#9986) --- data/avgi/windjammers.txt | 128 ++++++++++++------------ data/categories.txt | 4 + data/drak/drak ships.txt | 2 +- data/drak/indigenous.txt | 12 +-- data/human/human missions.txt | 2 + data/iije/iije.txt | 22 ++-- data/incipias/tace mesa.txt | 2 +- data/korath/nanobots.txt | 1 + data/persons.txt | 2 +- data/remnant/remnant 1 introduction.txt | 1 + data/remnant/remnant jobs.txt | 1 + data/rulei/rulei ships.txt | 2 +- data/sheragi/archaeology missions.txt | 1 + data/vyrmeid/vyrmeid.txt | 8 +- data/whispering void/critters.txt | 2 +- 15 files changed, 100 insertions(+), 90 deletions(-) diff --git a/data/avgi/windjammers.txt b/data/avgi/windjammers.txt index bb40930c2c86..88aa8c932d5f 100644 --- a/data/avgi/windjammers.txt +++ b/data/avgi/windjammers.txt @@ -146,7 +146,7 @@ ship "Windjammer" thumbnail "ship/windjammer" "uncapturable" attributes - category "Space Liner" + category "Unclassified" "cost" 1111000 "hull" 6900 "required crew" 1 @@ -182,112 +182,112 @@ ship "Windjammer" "Jamfruit" 60 gun 0 -84.5 "Pinecone Launcher" - bay Fighter -14.5 -125 + bay "Unclassified Minor" -14.5 -125 under "launch effect" "basic launch" - bay Fighter 14.5 -125 + bay "Unclassified Minor" 14.5 -125 under "launch effect" "basic launch" - bay Fighter -32 -126 + bay "Unclassified Minor" -32 -126 under "launch effect" "basic launch" - bay Fighter 32 -126 + bay "Unclassified Minor" 32 -126 under "launch effect" "basic launch" - bay Fighter -49 -128 + bay "Unclassified Minor" -49 -128 under "launch effect" "basic launch" - bay Fighter 49 -128 + bay "Unclassified Minor" 49 -128 under "launch effect" "basic launch" - bay Fighter -91.5 -190.5 + bay "Unclassified Minor" -91.5 -190.5 under "launch effect" "basic launch" - bay Fighter 91.5 -190.5 + bay "Unclassified Minor" 91.5 -190.5 under "launch effect" "basic launch" - bay Fighter -106 -201.5 + bay "Unclassified Minor" -106 -201.5 under "launch effect" "basic launch" - bay Fighter 106 -201.5 + bay "Unclassified Minor" 106 -201.5 under "launch effect" "basic launch" - bay Fighter -123 -205.5 + bay "Unclassified Minor" -123 -205.5 under "launch effect" "basic launch" - bay Fighter 123 -205.5 + bay "Unclassified Minor" 123 -205.5 under "launch effect" "basic launch" - bay Fighter -141 -201 + bay "Unclassified Minor" -141 -201 under "launch effect" "basic launch" - bay Fighter 141 -201 + bay "Unclassified Minor" 141 -201 under "launch effect" "basic launch" - bay Fighter -156 -190.5 + bay "Unclassified Minor" -156 -190.5 under "launch effect" "basic launch" - bay Fighter 156 -190.5 + bay "Unclassified Minor" 156 -190.5 under "launch effect" "basic launch" - bay Fighter -164 -174 + bay "Unclassified Minor" -164 -174 under "launch effect" "basic launch" - bay Fighter 164 -174 + bay "Unclassified Minor" 164 -174 under "launch effect" "basic launch" - bay Fighter -163.5 -155 + bay "Unclassified Minor" -163.5 -155 under "launch effect" "basic launch" - bay Fighter 163.5 -155 + bay "Unclassified Minor" 163.5 -155 under "launch effect" "basic launch" - bay Fighter -156 -138.5 + bay "Unclassified Minor" -156 -138.5 under "launch effect" "basic launch" - bay Fighter 156 -138.5 + bay "Unclassified Minor" 156 -138.5 under "launch effect" "basic launch" - bay Fighter -141 -127.5 + bay "Unclassified Minor" -141 -127.5 under "launch effect" "basic launch" - bay Fighter 141 -127.5 + bay "Unclassified Minor" 141 -127.5 under "launch effect" "basic launch" - bay Fighter -121.5 -122 + bay "Unclassified Minor" -121.5 -122 under "launch effect" "basic launch" - bay Fighter 121.5 -122 + bay "Unclassified Minor" 121.5 -122 under "launch effect" "basic launch" - bay Fighter -104 -118 + bay "Unclassified Minor" -104 -118 under "launch effect" "basic launch" - bay Fighter 104 -118 + bay "Unclassified Minor" 104 -118 under "launch effect" "basic launch" - bay Fighter -86 -114.5 + bay "Unclassified Minor" -86 -114.5 under "launch effect" "basic launch" - bay Fighter 86 -114.5 + bay "Unclassified Minor" 86 -114.5 under "launch effect" "basic launch" - bay Fighter -68 -110.5 + bay "Unclassified Minor" -68 -110.5 under "launch effect" "basic launch" - bay Fighter 68 -110.5 + bay "Unclassified Minor" 68 -110.5 under "launch effect" "basic launch" - bay Fighter -24.5 -13 + bay "Unclassified Minor" -24.5 -13 under "launch effect" "basic launch" - bay Fighter 24.5 -13 + bay "Unclassified Minor" 24.5 -13 under "launch effect" "basic launch" - bay Fighter -24.5 5 + bay "Unclassified Minor" -24.5 5 under "launch effect" "basic launch" - bay Fighter 24.5 5 + bay "Unclassified Minor" 24.5 5 under "launch effect" "basic launch" @@ -302,7 +302,7 @@ ship "Bluejacket" thumbnail "ship/bluejacket" "uncapturable" attributes - category "Space Liner" + category "Unclassified" "cost" 1212100 "hull" 3200 "required crew" 1 @@ -338,76 +338,76 @@ ship "Bluejacket" "Jamfruit" 90 gun 0 -84.5 "Pinecone Launcher" - bay Fighter -14.5 -46 + bay "Unclassified Minor" -14.5 -46 under "launch effect" "basic launch" - bay Fighter 14.5 -46 + bay "Unclassified Minor" 14.5 -46 under "launch effect" "basic launch" - bay Fighter -32 -49 + bay "Unclassified Minor" -32 -49 under "launch effect" "basic launch" - bay Fighter 32 -49 + bay "Unclassified Minor" 32 -49 under "launch effect" "basic launch" - bay Fighter -49 -54.5 + bay "Unclassified Minor" -49 -54.5 under "launch effect" "basic launch" - bay Fighter 49 -54.5 + bay "Unclassified Minor" 49 -54.5 under "launch effect" "basic launch" - bay Fighter -65.5 -60 + bay "Unclassified Minor" -65.5 -60 under "launch effect" "basic launch" - bay Fighter 65.5 -60 + bay "Unclassified Minor" 65.5 -60 under "launch effect" "basic launch" - bay Fighter -82.5 -66.5 + bay "Unclassified Minor" -82.5 -66.5 under "launch effect" "basic launch" - bay Fighter 82.5 -66.5 + bay "Unclassified Minor" 82.5 -66.5 under "launch effect" "basic launch" - bay Fighter -99 -72 + bay "Unclassified Minor" -99 -72 under "launch effect" "basic launch" - bay Fighter 99 -72 + bay "Unclassified Minor" 99 -72 under "launch effect" "basic launch" - bay Fighter -118.5 -29 + bay "Unclassified Minor" -118.5 -29 under "launch effect" "basic launch" - bay Fighter 118.5 -29 + bay "Unclassified Minor" 118.5 -29 under "launch effect" "basic launch" - bay Fighter -119 -11 + bay "Unclassified Minor" -119 -11 under "launch effect" "basic launch" - bay Fighter 119 -11 + bay "Unclassified Minor" 119 -11 under "launch effect" "basic launch" - bay Fighter -110.5 5.5 + bay "Unclassified Minor" -110.5 5.5 under "launch effect" "basic launch" - bay Fighter 110.5 5.5 + bay "Unclassified Minor" 110.5 5.5 under "launch effect" "basic launch" - bay Fighter -94.5 16 + bay "Unclassified Minor" -94.5 16 under "launch effect" "basic launch" - bay Fighter 94.5 16 + bay "Unclassified Minor" 94.5 16 under "launch effect" "basic launch" - bay Fighter -76.5 19 + bay "Unclassified Minor" -76.5 19 under "launch effect" "basic launch" - bay Fighter 76.5 19 + bay "Unclassified Minor" 76.5 19 under "launch effect" "basic launch" - bay Fighter -55.5 17 + bay "Unclassified Minor" -55.5 17 under "launch effect" "basic launch" - bay Fighter 55.5 17 + bay "Unclassified Minor" 55.5 17 under "launch effect" "basic launch" @@ -422,7 +422,7 @@ ship "Pollen" sprite "ship/pollen" thumbnail "ship/pollen" attributes - category "Fighter" + category "Unclassified Minor" "cost" 126000 "hull" 200 "required crew" 1 @@ -455,7 +455,7 @@ ship "Sprout" thumbnail "ship/pollen" "uncapturable" attributes - category "Fighter" + category "Unclassified Minor" "cost" 126000 "hull" 200 "required crew" 1 diff --git a/data/categories.txt b/data/categories.txt index f9ed5239811a..9745e7a39294 100644 --- a/data/categories.txt +++ b/data/categories.txt @@ -25,12 +25,16 @@ category "ship" "Superheavy" "Fighter" "Drone" + "Unclassified" + "Unclassified Minor" + "Game Mechanics" # Ships of these types can be carried by other ships. category "bay type" "Drone" "Fighter" + "Unclassified Minor" # Outfits of these types can be bought and sold via the outfitter. diff --git a/data/drak/drak ships.txt b/data/drak/drak ships.txt index 13c7c29eeed3..99a07ddd5042 100644 --- a/data/drak/drak ships.txt +++ b/data/drak/drak ships.txt @@ -18,7 +18,7 @@ ship "Archon" thumbnail "thumbnail/archon" "never disabled" attributes - category "Heavy Warship" + category "Unclassified" "cost" 1000000000 "shields" 4000000 "hull" 1000000 diff --git a/data/drak/indigenous.txt b/data/drak/indigenous.txt index 088fc1020fc1..bd6069a59f7c 100644 --- a/data/drak/indigenous.txt +++ b/data/drak/indigenous.txt @@ -17,7 +17,7 @@ ship "Subsidurial" thumbnail "thumbnail/subsidurial" "never disabled" attributes - category "Light Freighter" + category "Unclassified" "hull" 11600 "automaton" 1 "mass" 1050 @@ -68,7 +68,7 @@ ship "Void Sprite" thumbnail "thumbnail/void sprite adult" "never disabled" attributes - category "Medium Warship" + category "Unclassified" "hull" 9600 "required crew" 4 "bunks" 4 @@ -125,7 +125,7 @@ ship "Void Sprite" "Void Sprite (Infant)" thumbnail "thumbnail/void sprite infant" "never disabled" attributes - category "Light Warship" + category "Unclassified" "hull" 2800 "required crew" 2 "bunks" 2 @@ -171,7 +171,7 @@ ship "Ember Waste Node" thumbnail "thumbnail/ember waste node" "never disabled" attributes - category "Heavy Warship" + category "Unclassified" "hull" 19600 "shields" 5000 "required crew" 5 @@ -229,7 +229,7 @@ ship "Embershade" rewind "never disabled" attributes - category "Light Warship" + category "Unclassified" "hull" 9600 "required crew" 1 "bunks" 1 @@ -269,7 +269,7 @@ ship "Embersylph" "random start frame" "never disabled" attributes - category "Light Warship" + category "Unclassified" "shields" 4400 "hull" 900 "required crew" 1 diff --git a/data/human/human missions.txt b/data/human/human missions.txt index a5ecfec8cd9c..3a661b81f8b0 100644 --- a/data/human/human missions.txt +++ b/data/human/human missions.txt @@ -1321,6 +1321,7 @@ ship "Hallucination" "random start frame" "never disabled" attributes + category "Unclassified" "hull" 1000 "mass" 180 "drag" 2.1 @@ -2032,6 +2033,7 @@ ship "Asteroid" sprite "asteroid/medium rock/spin" "frame rate" 10 attributes + category "Unclassified" "fuel capacity" 1 "hull" 10000 "mass" 1000 diff --git a/data/iije/iije.txt b/data/iije/iije.txt index 6326ec33026e..1b3e648053c1 100644 --- a/data/iije/iije.txt +++ b/data/iije/iije.txt @@ -21,7 +21,7 @@ ship "Jje" swizzle 0 "never disabled" attributes - category "Fighter" + category "Unclassified Minor" "cost" 0 "hull" 4000 "required crew" 2 @@ -73,7 +73,7 @@ ship "Ayym" swizzle 0 "never disabled" attributes - category "Utility" + category "Unclassified" "cost" 0 "hull" 6000 "required crew" 4 @@ -123,31 +123,31 @@ ship "Ayym" "hit force" 4500 engine 0 0 "steering engine" 0 0 - bay "Fighter" -36 40 + bay "Unclassified Minor" -36 40 over angle 60 - bay "Fighter" 36 20 + bay "Unclassified Minor" 36 20 over angle -70 - bay "Fighter" -16 104 + bay "Unclassified Minor" -16 104 over angle 162 - bay "Fighter" -28 66 + bay "Unclassified Minor" -28 66 over angle 68 - bay "Fighter" -18 14 + bay "Unclassified Minor" -18 14 over angle 127 - bay "Fighter" 35 25 + bay "Unclassified Minor" 35 25 over angle 25 - bay "Fighter" 25 70 + bay "Unclassified Minor" 25 70 over angle -120 - bay "Fighter" 11 110 + bay "Unclassified Minor" 11 110 over angle 38 - bay "Fighter" -36 40 + bay "Unclassified Minor" -36 40 over angle -53 "final explode" "ayym boom" diff --git a/data/incipias/tace mesa.txt b/data/incipias/tace mesa.txt index ff611039ec3c..a6d56a596d6c 100644 --- a/data/incipias/tace mesa.txt +++ b/data/incipias/tace mesa.txt @@ -46,7 +46,7 @@ ship "Tace Mesa" swizzle 0 "never disabled" attributes - category "Interceptor" + category "Unclassified" cost 500000 "mass" 525 "outfit space" 45 diff --git a/data/korath/nanobots.txt b/data/korath/nanobots.txt index fd28e7e80661..51bb79beffe8 100644 --- a/data/korath/nanobots.txt +++ b/data/korath/nanobots.txt @@ -13,6 +13,7 @@ ship "Nanobot" attributes + category "Unclassified" "hull" 100 "automaton" 1 "mass" 10 diff --git a/data/persons.txt b/data/persons.txt index 2432155f8242..cacb059608ea 100644 --- a/data/persons.txt +++ b/data/persons.txt @@ -787,7 +787,7 @@ ship "Ursa Polaris" plural "Ursa Polaris" sprite "ship/localworldship" attributes - category "Heavy Warship" + category "Unclassified" cost 142857 shields 39000 hull 27000 diff --git a/data/remnant/remnant 1 introduction.txt b/data/remnant/remnant 1 introduction.txt index 6b96ffd6b45a..63875221fd35 100644 --- a/data/remnant/remnant 1 introduction.txt +++ b/data/remnant/remnant 1 introduction.txt @@ -3688,6 +3688,7 @@ ship "_Ion Timer Ship" # The _Ion Storm Timer: Generator outfit counteracts this until there is an ion storm # sprite "ship/shuttle" # uncomment this for debugging attributes + category "Game Mechanics" "heat dissipation" 1 "hull" 1.0 "mass" 100 diff --git a/data/remnant/remnant jobs.txt b/data/remnant/remnant jobs.txt index 39659b0b7637..ed392072fb00 100644 --- a/data/remnant/remnant jobs.txt +++ b/data/remnant/remnant jobs.txt @@ -389,6 +389,7 @@ mission "Remnant: Rescue" ship "Rescue Dummy" # sprite "ship/behemoth" attributes + category "Game Mechanics" "heat dissipation" 1 "hull" 1 "mass" 10 diff --git a/data/rulei/rulei ships.txt b/data/rulei/rulei ships.txt index 3f3c790ffd59..d9b27a9a64dc 100644 --- a/data/rulei/rulei ships.txt +++ b/data/rulei/rulei ships.txt @@ -19,7 +19,7 @@ ship "vyu-Ir" swizzle 0 "never disabled" attributes - category "Heavy Warship" + category "Unclassified" "cost" 77777777 "shields" 68000 "shield generation" 13 diff --git a/data/sheragi/archaeology missions.txt b/data/sheragi/archaeology missions.txt index 1968a10f0b90..5e313bc56dfb 100644 --- a/data/sheragi/archaeology missions.txt +++ b/data/sheragi/archaeology missions.txt @@ -300,6 +300,7 @@ mission "Deep Archaeology 5" ship "Timer Ship" attributes + category "Game Mechanics" "heat dissipation" 1 "hull" 3 "hull repair rate" .001 diff --git a/data/vyrmeid/vyrmeid.txt b/data/vyrmeid/vyrmeid.txt index 397482c01181..c321cf6f529d 100644 --- a/data/vyrmeid/vyrmeid.txt +++ b/data/vyrmeid/vyrmeid.txt @@ -20,7 +20,7 @@ ship "Vyrmeid" swizzle 0 "never disabled" attributes - category "Fighter" + "category" "Unclassified Minor" "cost" 0 "shields" 0 "hull" 400 @@ -77,7 +77,7 @@ ship "Vyrmeid" "Vyrmeid (B)" swizzle 0 "never disabled" attributes - category "Fighter" + "category" "Unclassified Minor" "cost" 0 "shields" 0 "hull" 1420 @@ -128,7 +128,7 @@ ship "Vyrmeid" "Vyrmeid (C)" swizzle 0 "never disabled" attributes - category "Fighter" + category "Unclassified Minor" "cost" 0 "shields" 0 "hull" 860 @@ -182,7 +182,7 @@ ship "Astral Cetacean" swizzle 0 "never disabled" attributes - category "Transport" + category "Unclassified" "cost" 0 "shields" 0 "hull" 11000 diff --git a/data/whispering void/critters.txt b/data/whispering void/critters.txt index 535ac2667d5d..02fda8e667a5 100644 --- a/data/whispering void/critters.txt +++ b/data/whispering void/critters.txt @@ -24,7 +24,7 @@ ship "Pincer Beast" sprite "ship/pincer beast" thumbnail "thumbnail/pincer beast" attributes - category "Light Freighter" + category "Unclassified" "hull" 14300 "self destruct" 1.0 "automaton" 1 From 7d7fe76c6c51e939b9c27bb1087f52f644f9d3a7 Mon Sep 17 00:00:00 2001 From: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com> Date: Sat, 1 Mar 2025 21:20:52 +0100 Subject: [PATCH 2/5] fix(ci): Allow direct execution of the code style checker (#11086) --- utils/check_code_style.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 utils/check_code_style.py diff --git a/utils/check_code_style.py b/utils/check_code_style.py old mode 100644 new mode 100755 From b5c201444b9a5f4dc1f8716d4f77728f7e2a68b2 Mon Sep 17 00:00:00 2001 From: roadrunner56 <65418682+roadrunner56@users.noreply.github.com> Date: Sat, 1 Mar 2025 15:49:28 -0700 Subject: [PATCH 3/5] feat(docs): Update contributing.md to better describe the issue and PR process (#11057) Co-authored-by: Amazinite --- docs/CONTRIBUTING.md | 51 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 9 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index dd0d30252bb3..a79dfd17de4a 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -1,26 +1,59 @@ # Contributing to Endless Sky -## Posting issues +As a free and open source game, Endless Sky is the product of many people's work. Those who wish to contribute new content are encouraged to review the [wiki](https://github.com/endless-sky/endless-sky/wiki), and to post in the [community-run Discord](https://discord.gg/ZeuASSx) beforehand. There are also [discussion rooms](https://steamcommunity.com/app/404410/discussions/) for those who prefer to use Steam, or GitHub's [discussion zone](https://github.com/endless-sky/endless-sky/discussions). Our forums (especially the GitHub and Discord) have projects that could use your help developing artwork, storylines, and other writing. We also have a loosely defined [roadmap](https://github.com/endless-sky/endless-sky/wiki/DevelopmentRoadmap) that outlines what our current goals for game development are. + +We are always excited to welcome new contributors! Below are some guidelines and resources to help get involved. + +## Issues + +### Posting issues The [issues page](https://github.com/endless-sky/endless-sky/issues) on GitHub is for tracking bugs and feature requests. When posting a new issue, please: -* Check to make sure it's not a duplicate of an existing issue. +* Check to make sure it is not a duplicate of an existing issue. * Create a separate "issue" for each bug you are reporting and each feature you are requesting. -* Do not use the issues page for things other than bug reports and feature requests. Use the [discussions page](https://github.com/endless-sky/endless-sky/discussions) instead. +* Choose the correct issue template and fill it out to the best of your ability. +* Do not use the issues page for things other than what match the provided issue templates. Use the [discussions page](https://github.com/endless-sky/endless-sky/discussions) instead. Examples of what the discussion pages would be used for include topics that are not looking for a resolution (as the point of an issue is to have it be resolved) or topics that are extremely broad and not befitting of an issue because there is no single resolution to the topic. + +If requesting a new feature, first ask yourself: will this make the game more fun or interesting within the existing scope of the game? While features in other games may be fun or interesting, they may not fit Endless Sky. Be sure to check the game's [overall vision](https://github.com/endless-sky/endless-sky/wiki/Endless-Sky's-Vision) to get an idea of what our design values are. -If requesting a new feature, first ask yourself: will this make the game more fun or interesting? Remember that this is a game, not a simulator. Changes will not be made purely for the sake of realism, especially if they introduce needless complexity or aggravation. +### Closing issues -## Posting pull requests +If you believe your issue has been resolved, you can close the issue yourself. If your issue gets closed because a PR was merged, and you are not satisfied, please do not comment on the old issue. Open a new issue and explain the gap that you feel still needs to be addressed. + +## Pull requests + +### Posting pull requests If you are posting a pull request, please: +* Check if your pull request solves an existing issue. Note that just because an issue is open does not guarantee that it is something we will accept, as the number of issues we receive means that not all of them have been thoroughly discussed, and there may be open issues for features that we decide we do not want. * Do not combine multiple unrelated changes. * Check the diff and make sure the pull request does not contain unintended changes. * If changing the C++ code, follow the [coding standard](https://endless-sky.github.io/styleguide/styleguide.xml). -* When adding content that could impact the main game, keep in mind the guidelines from the [quality checklist](https://github.com/endless-sky/endless-sky/wiki/QualityChecklist) and [style goals](https://github.com/endless-sky/endless-sky/wiki/StyleGoals) documents. +* Fill out the pull request template to the best of your ability. GitHub's pull request template features are not as thorough as issue templates. You are able to delete the entire pull request template and put in whatever you want; please do not do this. The purpose of the pull request template is to help facilitate the review, approval, and merging of pull requests. +* If adding new content to the game (e.g. new ships, outfits, artwork, storylines, etc.) please take a look at the [Style Goals](https://github.com/endless-sky/endless-sky/wiki/StyleGoals) and [Quality Checklist](https://github.com/endless-sky/endless-sky/wiki/QualityChecklist) sections of our wiki to make sure that your content fits with Endless Sky's writing and art style. + +If proposing major changes to the game through your pull request, start by posting an issue or discussion and discussing the best way to implement it. Often the first strategy that occurs to you will not be the cleanest or most effective way to implement a new feature. + +Please keep in mind that **AI-generated/assisted content is forbidden** in Endless Sky development. + +### What to expect when opening a pull request + +Endless Sky is developed by a community of volunteers. We are a collection of people with various different interests and skill sets, so the type of pull request you open will influence who will be looking at it. + +All pull requests go through a review process before being merged. We have a group of dedicated Reviewers who help provide reviews to pull requests as they come in. We also have a group of Developers who make determinations on what does and does not get merged, and are the ones with the permissions to merge pull requests. + +* For smaller pull requests, such as typo fixes, it may only require a Developer seeing your pull request in order for it to be merged. +* Larger pull requests typically receive reviews from multiple Reviewers and Developers before they are merged. That, in addition to the current backlog of open pull requests, can result in the full review process taking a number of months before a larger pull request may be merged. We ask for your patience while your pull request undergoes the review process. We also ask that large content pull requests (for example, pull requests that introduce a new faction or large storyline/campaign) be discussed in a [discussion post](https://github.com/endless-sky/endless-sky/discussions) or on the game's [Discord server](https://discord.gg/ZeuASSx). This is so other contributors get a chance to review your writing when it is still in the planning stages, and prevent conflicts with other planned storylines or with existing lore. We would like to avoid situations where someone puts in a lot of effort into writing a new campaign or faction, only to be told that it requires fundamental changes once they've submitted a pull request. It is much easier to make conceptual changes to a story when it is not yet finalized and written. + +The type of pull request you open will also influence when it is eligible to be merged. We release updates alternating between "stable" and "unstable" versions. + +* During the development of an unstable release, any type of pull request is up for merging. Unstable releases are typically developed over the course of three to four months and with odd version numbers (e.g. v0.10.1). +* During the development of a stable release, we typically only accept bug fixes and minor content tweaks. Stable releases are typically developed over the course of two to six weeks and with even version numbers (e.g. v0.10.2). -If proposing a major pull request, start by posting an issue and discussing the best way to implement it. Often the first strategy that occurs to you will not be the cleanest or most effective way to implement a new feature. +If you have opened a new feature pull request during a stable release development cycle, it is unlikely to be merged until the stable release is finished. Similarly, if you open a large pull request toward the end of an unstable release, it will likely have to wait until the next unstable release development cycle has begun before people will begin reviewing it and it has a chance to be merged. This is because the time it would take to appropriately review the pull request is longer than the time until the next release, and Developers and Reviewers near the end of a release cycle are often focused on a priority list determined in advance closer to the release date. -## Closing issues +### Reviewing a pull request -If you believe your issue has been resolved, you can close the issue yourself. If your issue gets closed because a PR was merged, and you are not satisfied, please open a new issue. +Reviewing pull requests is an important part of maintaining Endless Sky and the main way that new content is added to the game. Your feedback helps contributors improve their work and ensures that new content is the best it can be. For more information, see the [wiki page](https://github.com/endless-sky/endless-sky/wiki/ReviewingPRs). From ce4714ae151ec2aac8eb26abab230e76c2aef900 Mon Sep 17 00:00:00 2001 From: Saugia <93169396+Saugia@users.noreply.github.com> Date: Sat, 1 Mar 2025 18:06:20 -0500 Subject: [PATCH 4/5] feat(balance): Adjust fleet sizes and balance in various Free Worlds combat missions (#11038) --- data/human/free worlds 0 prologue.txt | 26 ++--- data/human/free worlds 1 start.txt | 128 ++++++++++++------------- data/human/free worlds 2 middle.txt | 7 +- data/human/free worlds 3 checkmate.txt | 28 ++++-- 4 files changed, 97 insertions(+), 92 deletions(-) diff --git a/data/human/free worlds 0 prologue.txt b/data/human/free worlds 0 prologue.txt index e9777ba8db9c..c02a10dca4e5 100644 --- a/data/human/free worlds 0 prologue.txt +++ b/data/human/free worlds 0 prologue.txt @@ -2284,17 +2284,16 @@ mission "Defend Sabik" fighters names "republic fighter" variant - "Carrier" - "Lance" 8 - "Combat Drone" 6 - "Frigate" 2 - "Gunboat" 3 - "Rainmaker" 3 + "Cruiser" + "Combat Drone" 4 + "Frigate" + "Gunboat" 2 + "Rainmaker" npc evade government "Republic" personality heroic system "Kornephoros" - fleet 2 + fleet names "republic capital" fighters names "republic fighter" @@ -2334,7 +2333,7 @@ mission "Defend Sabik" "Falcon" "Osprey" 2 "Hawk" 3 - "Sparrow" 5 + "Sparrow" 4 npc government "Free Worlds" personality heroic disables @@ -2343,13 +2342,8 @@ mission "Defend Sabik" names "free worlds capital" variant "Bastion" 2 - "Argosy" 4 - "Fury" 6 - fleet - names "free worlds capital" - variant - "Bastion" 2 - "Argosy" 4 + "Argosy" 3 + "Fury" 2 npc government "Free Worlds" personality heroic disables @@ -2357,7 +2351,7 @@ mission "Defend Sabik" fleet names "free worlds capital" variant - "Falcon" 2 + "Falcon" npc government "Free Worlds" personality heroic waiting disables diff --git a/data/human/free worlds 1 start.txt b/data/human/free worlds 1 start.txt index 28352355acff..297848c1dd7a 100644 --- a/data/human/free worlds 1 start.txt +++ b/data/human/free worlds 1 start.txt @@ -53,7 +53,8 @@ mission "Liberate Kornephoros" names "free worlds capital" variant "Falcon" - "Osprey" 2 + "Osprey" + "Osprey (Missile)" npc government "Free Worlds" personality heroic disables @@ -61,6 +62,7 @@ mission "Liberate Kornephoros" fleet names "free worlds capital" variant + "Osprey" "Falcon (Heavy)" "Hawk" 2 fleet @@ -73,25 +75,20 @@ mission "Liberate Kornephoros" variant "Hawk (Rocket)" "Fury (Missile)" 2 - fleet - names "free worlds capital" - variant - "Osprey" - "Osprey (Missile)" fleet names "free worlds capital" variant "Falcon" - "Osprey" "Osprey (Laser)" - "Hawk" 3 - "Sparrow" 5 + "Hawk" + "Hawk (Rocket)" + "Sparrow" 3 fleet names "free worlds capital" variant "Bastion (Heavy)" 2 - "Argosy (Blaster)" 4 - "Fury" 6 + "Argosy (Blaster)" 3 + "Fury" 3 npc evade government "Republic" personality staying heroic @@ -103,7 +100,6 @@ mission "Liberate Kornephoros" variant "Cruiser (Heavy)" 2 "Combat Drone" 8 - "Frigate" 2 "Rainmaker" 2 fleet names "republic capital" @@ -112,18 +108,16 @@ mission "Liberate Kornephoros" variant "Cruiser (Heavy)" "Combat Drone" 4 - "Frigate" 2 + "Frigate" "Gunboat" 2 fleet names "republic capital" fighters names "republic fighter" variant - "Cruiser (Heavy)" - "Combat Drone" 4 "Gunboat" 2 - "Frigate" 2 - "Rainmaker" 2 + "Frigate" + "Rainmaker" on visit dialog `There are still Navy ships patrolling overhead. Staying on while your allies are dying in orbit would be a very bad idea.` @@ -1314,7 +1308,7 @@ mission "FW Pirates: Attack 2" on offer conversation - `When you land on , you find the fleet that Tomek mentioned: a few militia heavy and medium warships, a couple of carriers, three squadrons of interceptors, and even four merchant ships of varying sizes. In total the fleet is nearly as large as one of the fleets that defended Sabik or Kornephoros, but as you survey the motley mix of grizzled militia veterans, young, naive interceptor pilots, and eager merchant captains, you can't help but wonder if a fleet of this size has a good chance against the strongest pirate world in Southern space.` + `When you land on , you find the fleet that Tomek mentioned: a few militia heavy and medium warships, a carrier, three squadrons of interceptors, and even four merchant ships of varying sizes. In total the fleet is nearly as large as one of the fleets that defended Sabik or Kornephoros, but as you survey the motley mix of grizzled militia veterans, young, naive interceptor pilots, and eager merchant captains, you can't help but wonder if a fleet of this size has a good chance against the strongest pirate world in Southern space.` ` The Navy failed to conquer Longjump. Why would a fleet of a similar size be capable of conquering Greenrock? Perhaps the Senate was right in suggesting a diplomatic solution. Or perhaps luck will be in your favor.` choice ` (Go ahead and attack Greenrock, disobeying the Senate's orders regardless of the consequences.)` @@ -1333,27 +1327,20 @@ mission "FW Pirates: Attack 2" fleet names "free worlds capital" variant - "Falcon (Laser)" 2 + "Falcon (Laser)" "Bastion (Laser)" fleet names "free worlds capital" variant - "Falcon (Laser)" - "Bastion (Heavy)" "Osprey" - fleet - names "free worlds capital" - variant - "Osprey (Laser)" - "Osprey (Missile)" 2 + "Osprey (Missile)" fleet names "free worlds capital" fighters names "free worlds fighters" variant "Skein" - "Roost" - "Finch" 10 + "Finch" 6 fleet names "free worlds small" variant @@ -1365,7 +1352,7 @@ mission "FW Pirates: Attack 2" names "free worlds small" variant "Fury (Missile)" 2 - "Fury (Bomber)" 2 + "Fury (Bomber)" fleet names "free worlds small" variant @@ -1376,7 +1363,7 @@ mission "FW Pirates: Attack 2" fleet names "civilian" variant - "Leviathan" + "Firebird" "Behemoth" "Modified Argosy" "Clipper (Speedy)" @@ -1390,53 +1377,43 @@ mission "FW Pirates: Attack 2" variant "Falcon (Heavy)" "Clipper (Heavy)" - fleet - government "Pirate" - names "pirate" - variant - "Bastion" "Modified Argosy" fleet government "Pirate" names "pirate" variant - "Sparrow (Gatling)" 5 - fleet - government "Pirate" - names "pirate" - variant - "Protector (Proton)" - "Headhunter (Particle)" + "Bastion" + "Modified Argosy" 2 fleet government "Pirate" names "pirate" variant - "Splinter (Proton)" 2 - "Quicksilver (Proton)" + "Bastion" + "Sparrow (Gatling)" 3 fleet government "Pirate" names "pirate" variant - "Vanguard (Particle)" + "Splinter (Proton)" fleet government "Pirate" names "pirate" variant "Firebird (Plasma)" "Corvette (Speedy)" + "Scout (Speedy)" fleet government "Pirate" names "pirate" variant - "Raven (Afterburner)" 2 - "Scout (Speedy)" + "Hawk" + "Hawk (Rocket)" fleet government "Pirate" names "pirate" variant - "Aerie" 2 "Mule (Heavy)" - "Dagger" 9 + "Dagger" on visit dialog `You've landed on , but there are still pirates defending the system. All pirates in the system must be eliminated before can be taken.` @@ -1772,34 +1749,56 @@ mission "FW Early Warning 1" government "Republic" personality staying heroic system "Wei" - fleet "Small Republic" 2 + fleet + names "republic capital" + variant + "Frigate" + "Gunboat" 3 + "Rainmaker" npc government "Republic" personality staying heroic system "Seginus" - fleet "Large Republic" - fleet "Small Republic" + fleet + names "republic capital" + variant + "Frigate" 2 + "Gunboat" 2 + "Rainmaker" fleet names "republic capital" variant "Protector (Quad Blaster)" - "Protector" npc government "Republic" personality staying heroic system "Alphecca" - fleet "Large Republic" 2 - fleet "Small Republic" 2 + fleet + names "republic capital" + variant + "Frigate" 2 + "Gunboat" 2 + "Rainmaker" + fleet + names "republic capital" + variant + "Frigate" + "Gunboat" 2 + npc government "Republic" personality staying heroic system "Alioth" - fleet "Large Republic" - fleet "Small Republic" 2 + fleet + names "republic capital" + variant + "Gunboat" + "Rainmaker" 2 fleet names "republic capital" variant "Protector (Quad Blaster)" + "Protector" on visit dialog phrase "generic waypoint on visit" @@ -1986,7 +1985,7 @@ mission "FW Early Warning 4" names "free worlds capital" variant "Falcon" - "Osprey" 2 + "Osprey" fleet names "free worlds capital" variant @@ -2004,16 +2003,15 @@ mission "FW Early Warning 4" names "free worlds capital" variant "Falcon" - "Osprey" "Osprey (Laser)" "Hawk" 3 "Sparrow" 5 fleet names "free worlds capital" variant - "Bastion (Heavy)" 2 - "Argosy (Blaster)" 4 - "Fury" 6 + "Bastion (Heavy)" + "Argosy (Blaster)" 3 + "Fury" 4 npc government "Free Worlds" personality heroic disables entering escort @@ -2043,19 +2041,19 @@ mission "FW Early Warning 4" variant "Cruiser (Heavy)" 2 "Combat Drone" 8 - "Frigate" 2 + "Frigate" "Rainmaker" 2 fleet names "republic capital" variant - "Protector (Quad Blaster)" 2 + "Protector (Quad Blaster)" "Frigate" 2 "Gunboat" fleet names "republic capital" variant "Protector (Quad Blaster)" 2 - "Frigate" 2 + "Frigate" "Rainmaker" 2 on visit diff --git a/data/human/free worlds 2 middle.txt b/data/human/free worlds 2 middle.txt index aa03020a2034..6d6371476e33 100644 --- a/data/human/free worlds 2 middle.txt +++ b/data/human/free worlds 2 middle.txt @@ -483,7 +483,7 @@ mission "FW Southern Battle 2" system Rastaban personality heroic uninterested staying government "Republic" - fleet 2 + fleet names "republic capital" fighters names "republic fighter" @@ -1914,6 +1914,7 @@ mission "FW Rand 1" npc government "Free Worlds" personality heroic disables escort + ship "Dreadnought" "F.S. Jean Bart" ship "Dreadnought" "F.S. Elder" ship "Falcon (Plasma)" "F.S. Reliant" ship "Falcon (Heavy)" "F.S. Bismark" @@ -2314,7 +2315,7 @@ mission "FW Liberate Delta Sagittarii" "Carrier (Mark II)" "Lance" 8 "Combat Drone" 6 - "Gunboat (Mark II)" 4 + "Gunboat (Mark II)" 3 fleet names "republic capital" fighters @@ -2322,7 +2323,7 @@ mission "FW Liberate Delta Sagittarii" variant "Cruiser (Mark II)" "Combat Drone" 4 - "Rainmaker (Mark II)" 4 + "Rainmaker (Mark II)" 2 npc personality staying derelict diff --git a/data/human/free worlds 3 checkmate.txt b/data/human/free worlds 3 checkmate.txt index 51064850aac3..80c83e4c8ab6 100644 --- a/data/human/free worlds 3 checkmate.txt +++ b/data/human/free worlds 3 checkmate.txt @@ -41,8 +41,21 @@ mission "FWC Scouting 1" personality staying heroic system "Kaus Borealis" government "Republic" - fleet "Large Republic" 5 - + fleet 2 + names "republic capital" + fighters + names "republic fighter" + variant + "Carrier (Mark II)" + "Lance" 8 + "Combat Drone" 6 + fleet 3 + names "republic capital" + fighters + names "republic fighter" + variant + "Cruiser (Mark II)" + "Combat Drone" 4 mission "FWC Attack Kaus Borealis" @@ -222,9 +235,8 @@ mission "FWC Cebalrai 1" fighters names "republic fighter" variant - "Carrier (Mark II)" - "Lance" 8 - "Combat Drone" 6 + "Cruiser (Mark II)" + "Combat Drone" 4 "Gunboat (Mark II)" 2 @@ -313,7 +325,7 @@ mission "FWC Cebalrai 1B" variant "Cruiser" "Combat Drone" 4 - "Frigate" 2 + "Frigate" @@ -736,7 +748,7 @@ mission "FWC Checkmate 1" "Carrier (Mark II)" "Lance" 8 "Combat Drone" 6 - fleet 2 + fleet names "republic capital" fighters names "republic fighter" @@ -766,7 +778,7 @@ mission "FWC Checkmate 1" npc personality heroic - system Pherkad + system Alniyat government "Free Worlds" fleet names "free worlds capital" From c2d0af826a775a3fada385910964ea0ef607180f Mon Sep 17 00:00:00 2001 From: reticent-rem <113536367+reticent-rem@users.noreply.github.com> Date: Sat, 1 Mar 2025 18:09:41 -0500 Subject: [PATCH 5/5] feat(balance): Remove Unnecessary Carrier Outfit Expansions post-rework (#11093) --- data/human/variants.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/data/human/variants.txt b/data/human/variants.txt index 3c1de4819660..d93fc6047e70 100644 --- a/data/human/variants.txt +++ b/data/human/variants.txt @@ -924,7 +924,6 @@ ship "Carrier" "Carrier (Mark II)" "D94-YV Shield Generator" 2 "Large Radar Jammer" "Liquid Helium Cooler" - "Outfits Expansion" 4 "Brig" "Laser Rifle" 45 "Fragmentation Grenades" 45