update #3

Open
Jayty wants to merge 345 commits from HardLight/HardLight:master into master
Owner

About the PR

Why / Balance

Technical details

How to test

Media

Breaking changes

Changelog

## About the PR <!-- What did you change? --> <!-- If this is a code change, summarize at high level how your new code works. This makes it easier to review. --> ## Why / Balance <!-- Discuss how this would affect game balance or explain why it was changed. Link any relevant discussions or issues. --> <!-- If your PR closes an open issue put `closes #issuenumber` here so that the accompanying issue is automatically closed--> ## Technical details <!-- Summary of code changes for easier review. --> ## How to test <!-- Describe a procedure to test this feature, along with expected output/behavior. --> ## Media <!-- Attach media if the PR makes ingame changes (clothing, items, features, etc). Small fixes/refactors are exempt. Media may be used in SS14 progress reports with credit. --> ## Breaking changes <!-- List any breaking changes, including namespaces, public class/method/field changes, prototype renames; and provide instructions for fixing them. --> **Changelog** <!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay. Make sure to read the guidelines and take this Changelog template out of the comment block in order for it to show up. Changelog must have a :cl: symbol, so the bot recognizes the changes and adds them to the game's changelog. --> <!-- :cl: - add: Added fun! - remove: Removed fun! - tweak: Changed fun! - fix: Fixed fun! -->
This is a relativelyt minor change in technicality.
This takes advantage of the hierarchy relationships of prototypes to allow admins to set up prototypes of their own for their aghosts.

When running aghost, the game will first attempt to find a prototype ID by their username, followed by Aghost, like NotarinAghost.
It will then spawn that instead of the normal aghost prototype, falling back to the aghost prototype if one isnt found.
It is pretty strongly recommend to have the normal aghost prototype as the parent of your own prototype, to preserve as much functionality as possible.

Also, introduced my own aghost prototype as an example, and made it a bit dynamic for examples sake.
The NotarinAghost prototype shows how to put sets of utility components into reusable bites, the `ultraHUD` prototype, and how to split a prototype up for organizations sake, the `NotarinAghostAppearance` prototype.
Also, lastly, gave myself a child prototype `localhost@NotarinAghost`, to make this work on dev builds, for QOL.

Known Issues: Currently the name field of the prototype doesn't work. I am decently sure tit's just an identity component taking priority, but it's such a minor issue I CBA until I have more motivation.
Added a checkbox to quickly enable or disable all channels at once.
The checkbox automatically synchronizes lockstep with individual channel checkboxes.
If all visible channels are enabled, the "All" checkbox becomes checked, and if any individual channel is disabled, it becomes unchecked.
This change introduces a bulk update mechanism to prevent performance waste.
Previously, though this was not done at all yet, toggling multiple channels would trigger a chat history rebuild for each individual channel change, wasting performance.
The new mechanism consolidates these changes, allowing you to toggle whatever number all at once and only one rebuild will occur.
There was a tiny amount of XML addition, the new button was added to the XML.

Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
I replaced all outside Cargo Request Terminals with Ash so that it is no longer needed to AHELP to get them removed at round start

Ahelps take up valuable admin time. Also the QM can still make a console outside if they choose to with the board in their locker.

Files changed:
Resources\Maps\convex.yml
Resources\Maps\fland.yml
Resources\Maps\box.yml
Resources\Maps\amber.yml

Open any of these maps and go to cargo to see an ash pile

Pictures attached

None

**Changelog**
🆑
- remove: Removed cargo request consoles that were just outside the front desk of cargo on Convex, Amber, Box and Fland
Added a guidebook entry for [form]

Makes Bureaucracy more newbie friendly. And I love bureaucracy.

Changed the guidebook entry `Resources\ServerInfo\Guidebook\Writing.xml` to have a hardlight section and put the [form] help there.

Open the guidebook, navigate to Writing.

![formcap](/attachments/7b3975f5-b206-41a6-bacc-b0a1e2ce084b)

**Changelog**
🆑
- add: Added a guidebook entry for the [form] tag.
Forgejo and nearly every codeforge already annotate PRs that have conflicts with the trunk they're trying to mergte into.
This doesn't seem very logical to have.
We obviously need to update our engine version every now and then, and this will block and and all version updates.
Added many variants of the keyhole sweater.
Most of these are all just the default values.
The only exception is `ready_for_review`, which is redundant in all present cases.
Removed `ready_for_review` from master, as it is redundant, but kept the specifier to `opened`. This is the one case it matters.
All content will be gated by `pull_request` before it reaches a trunk.
Push checks are redundant, and should they ever not be, a larger more fundamental failure occured.
This should speed up CI massively in certain contexts.
Does three primary things:
- Removes unused, redundant, or useless workflows.
- Removes redundant triggers, either redundant by effect, or redundant data.
- Constricts trigger conditions by PR content, reducing CI load in many contexts.

Reviewed-on: HardLight/HardLight#4611
Reviewed-by: Cheep <cheep@noreply.code>
Patreon character is Pink the FatTailed.
It is a pink dragon, a modification of the dungeon variant of the dragon species.
Blacklists Colonial Command (CC) gear from chameleon clothing to prevent players from posing as staff.
We achieve this by overriding the `WhitelistChameleon` tag with an empty tag array on CC gear.

To be more DRY, introduced an abstract prototype `HLColCommBase` that handles this tag override.
All slot-specific variants, e.g. `HLColCommBaseNeck`, `HLColCommBaseOuter`, inherit from this rather than duplicating the tag override for every slot.

The slot variants are there as groundwork for future development.
When we eventually need to add slot-specific properties, components, or overrides for ColComm gear, these slot-bases exist for us.

Note: Slot-specific bases, like `HLColCommBaseShoes`, `HLColCommBaseUniform`, etc, are currently empty but deliberately kept for future expansion.
This change adds an uplink to all security members, essentially doubling their FUCs.
This is done to counter-act the inevitable loss of FUC income by reclassifying contraband in af5c45f30b
Also removed money from the uplink to prevent possible exploits by spawning in as security, cashing out and cryoing. Since contraband turn ins will be a thing of the past with this update, removing the money only seems to make sense anyway.
The SecurityVend had an AccessReaderComponent to prevent unauthorized access. Since the uplinks are even easier to access, they should have the same protection
## About the PR
This change adds an uplink to all security members, essentially doubling their FUCs.

## Why / Balance
This is done to counter-act the inevitable loss of FUC income by reclassifying contraband in #4511
Also removed money from the uplink to prevent possible exploits by spawning in as security, cashing out and cryoing. Since contraband turn ins will be a thing of the past with this update, removing the money only seems to make sense anyway.

## Technical details
Added uplink to all security job roles (except lawyer, no guns for you) and commented out all the money-related uplink items.

## How to test
* spawn in as HOS
* look in your bag

## Media
![image](/attachments/0ebdb9df-76f7-41da-9d6c-c9511418f89a)

## Breaking changes
This PR is part of a larger collective that attempts to tackle the contraband system as a whole. Having these changes in the game will mean that contraband turn-ins are effectively not a game feature anymore.
While this removes one of the rare positive interactions between freelancers and security, it also removes the major friction point between the two sides as well. Since every item a freelancer can save can also be carried with a permit, security has much less reason to frisk, detain and start small wars with freelancers over the fear of gear-loss.

**Changelog**
🆑
- add: Added frontier uplink to all security members
- remove: FUC exchange for money.

Reviewed-on: HardLight/HardLight#4586
Reviewed-by: Drekk <drekk@noreply.code>
In order to introduce a new classification of C3, many existing C3 classifications were reclassified as C2.
The new HLC3 classification is stricter and more specific, nearly only banning uplink items.
Demilitarizing C3 is no longer an occurance on black alert.
Instead, C2 takes the old C3 place.
The new C3 is intended to be fully illegal to own outside of antags.
Currently unused map: YAGNI.
The cryopod and cloning pod are not intended to be transportable or ownable items.
They are intended to remain on the station or location they were installed to by mapping.
The sweeping change was introduced for more than one reason:
- Some mapped prototypes were undesired for upcoming cryo changes.
- Other prototypes were problematic and removed to simultaneously curb pain allocation.
## About the PR
Applied massive changes to contraband levels to ensure that most things are no longer considered contraband unless they are actual antag equipment, properly setting the "cops and robbers" gameloop apart from freelancers to ease the increased tensions between them and security.

Removed Cryopods and cloning pods from ships along with adding them to the saveban list, making it less likely to see cryopods on ships (as they would need to be obtained and built in round) and more likely to require people go to station side to obtain these specific forms of care.

Added the cargo market to stations so that you can purchase things sold there.

Temporarily disabled midround antags that utilize player profiles due to bug #4534

Ashed/replaced any prototypes found within maps within our files that contained prototypes we were missing to prevent errors loading them.

As a test added the radarconsole user interface to dragons to see if it helps them navigate space around the station/not lose track of it.

and finally in response to chemical hoarding, we've elected to lower the chemmasters max volume from 1000000 to 10000

## Why / Balance
made changes to the standard spawn pools as well as removed broken prototypes from maps and applied new contraband labels so for the most part, ONLY antag gear is contraband.

each of these changes are being made in preparation of the design document that's currently being written, namely we're trying to promote certain game loops functioning together as two separate loops which interact with eachother like cogs in the form of the Shipside and space side gameplay.

**Changelog**
🆑
- add: Added Cryopods and cloning pods to the saveban list
- add: Added market functionality to stations.
- remove: Removed standard contraband values from most things
- remove: Removed unsaveable prototypes from shipyard
- remove: Temporarily disabled midround antags that use character profiles.
- fix: Fixed some missing prototypes
- tweak: Tweaked dragon role to add the RadarConsoleBoundUserInterface
- tweak: Lowered Chemmaster max volume to 10000

Reviewed-on: HardLight/HardLight#4511
Reviewed-by: Notarin Steele <notarin@noreply.code>
Reviewed-by: Cheep <cheep@noreply.code>
Adds:
- shadekin short hair
- big two-toned tail
- two toned default ears
- a generic neckfluff/mane marking
- and an alternate version of a previous fae fox marking added a month ago
Taints are annotations associated with specific instances of existing reagents.
These annotations allow conditional behavours with the reagents, like in metabolization.
Specifictally, this allows tiny modifications to a reagent without introducing a whole new reagent variant.
## About the PR
Changes the Machine Incompatible trait to grant 0 points.

## Why / Balance
If you (as an admin, on the live server) compare `entities with JobTracker visualize`  and `entities with JobTracker with Unborgable visualize`, the result is typically that **40-50%** of players take this trait.

I fully acknowledge that there are people who feel highly uncomfortable with their characters being borged or otherwise have lore reasons, but I do not believe that this figure is concurrent with this. It is a generally accepted belief that the average player with this trait simply takes it because it is worth 4 extra points, with an incredibly niche downside, and it is taken purely as an afterthought to maximize the perks on many characters.

This results in a disproportionately large number of players simply not being able to be put in an MMI if they are gibbed in a round, to the point where borging a brain is sometimes not even considered when someone gibs. Furthermore, it completely screws with Xenoborg gameplay in their current state, as every precarious victory only has a 50-60% chance of being _useful_ to them.

I have discussed back and forth at great lengths with the playerbase and admin team how to approach this issue, and put simply this is the most conservative approach. I want to see if this change will improve things. The exact number of zero has been chosen to generously reflect those with consent preferences against being bored, allowing this trait to act as a consent toggle of sorts. Many people will simply take it even if it is worth a _single_ free point (see: snoring, stinky) due to how niche the downsides are.

I wish to recategorize this trait, along with the others listed, as a **roleplay** trait, rather than a **mechanically advantageous / disadvantageous** trait.

In line with this particular change, I have also chosen to nerf snoring, stinky and uncloneable to zero points. Players who wish to take these traits should be doing so for roleplay reasons, and not for free points.

In my data below, I have also shown the unrevivable trait. Given the larger game impact this trait has, it is unsurprising that far less people take it. As such, I have left its point cost alone.

## Technical details
Edited the `cost` values for the listed traits:

- **Machine Incompatble:** 0pts
- **Uncloneable:** +1pts
- **Stinky:** 0pts
- **Snoring:** 0pts

## How to test
- Launch game
- Look at trait options

## Media
Below is a typical highpop example of the following:

#### Machine Incompatble:
`entities with JobTracker visualize`  vs `entities with JobTracker with Unborgable visualize`
![image](/attachments/484a0ea0-1f9c-4610-99af-80d6645c3615)

#### Uncloneable:
`entities with JobTracker visualize`  vs `entities with JobTracker with Uncloneable visualize`
![image](/attachments/571e5bcf-85d5-4e51-aa66-e605c8bf673e)

#### Snoring:
`entities with JobTracker visualize`  vs `entities with JobTracker with Snoring visualize`
![image](/attachments/d0ef4db9-2899-4d12-a57b-ebdfcc238d20)

#### Unrevivable:
`entities with JobTracker visualize`  vs `entities with JobTracker with Unrevivable visualize`

- Note the difference, as unrevivable has a much higher game impact

![image](/attachments/8a181932-b86e-4522-9c53-4b444da5e9a7)

**Changelog**
🆑 Slatebreaker
- tweak: Removed trait points given by niche/roleplay related traits
This commit introduces new dedicated verbs (Cum on, Piss on, Milk on) that allow players to specifically target other players.

Notes:
- Fluids will now gracefully fall back to spilling on the floor underneath the target if the target lacks a refillable or injectable container, or if the container is full.
- Added three-way popup notice to notify the User, the Recipient, and any Observers of the action, respecting PVS.
- Comprehensively adds .ftl localization.
- Refactored LewdTraitSystem and SharedLewdTraitSystem to centralize verb creation and ground-spilling logic.

Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Reviewed-by: Notarin Steele <424c414e4b@gmail.com>
The reason for removal is due to two main major offenders.
The tesla borg, which is overpowered and can gib players rather easily.
And also the one star borg, which has a rapid-fire missile attack that can gib a player in three hits.
Furthermore, it performs tile damage, at times developing way beyond player control or ability to repair.

The fact that silicon mobs self-revive given enough time to heal exacerbates this issue to a serious degree.

All-in-all, this is a major QOL improvement for the playerbase for the reasons described.
It's currently broken, and debatably redundant next to the review UI.
Can maybe be reverted when reintroduced&fixed.
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
## About the PR
This PR reworked the most commonly used hardsuits, including but not limited to Engineering, research, syndicate salvage.

This also changes stuff like including but not limited to beakers, materials, ores, pills.

## Why
Prettier sprites

## How to test
Boot game
Spawn in the hardsuits, materials, beakers, ores etc.

## Media
![image](/attachments/a25c94a4-23c2-47a9-b7a6-6f46f0add2d9)
![image](/attachments/e9e5be38-404b-4a13-bdc3-23054aa92a34)
![image](/attachments/445aae68-1237-4091-a963-989cfbbaa9d7)
![image](/attachments/8e6d35f6-2f59-44c2-8c0c-e16ac351326c)
![image](/attachments/55369977-d781-4d95-be13-43cbcdbf377b)
![image](/attachments/80253f10-3390-408b-a429-13031bcf3572)

A few examples

**Changelog**
🆑
- tweak: Updated sprites for chem items: Pill canister, Pills, Jugs, Droppers, Bottles, Beakers, and the mixer.
- tweak: Updated sprites for hardsuits: Atmos, engineering, CE, CMO, RD, spationaut, mining/salv, syndicate, blood-red, blood-red medic, syndicate elite, syndicate commander, captain, wizard, and deathsquad.
- tweak: Updated sprites for ores: bananium, coal, diamond, gold, iron, plasma, salt, silver, spacequartz, and uranium.
- tweak: Updated sprites for ingots: adamantine, copper, gold, hydrogen, iron, plutonium, and silver.
- tweak: Updated sprites for materials: brass, plasteel, plastitanium, steel, titanium, glass and its variants, bluespace crystal, and telespace crystal.

Reviewed-on: HardLight/HardLight#4547
Reviewed-by: Cheep <cheep@noreply.code>
Reviewed-by: Notarin Steele <notarin@noreply.code>
Not proper names.
Not proper names.
Not proper names.

## About the PR
Changed names of nutrient paste dispenser foods.
Also I fucked up the master merge last time but now it's branched pinky promise.

## Why / Balance
'Empty' is not a proper noun, neither is everything else as far as I can tell. The dispenser itself is already lowercase, so it is clearly not a proper noun; generally, all food items and items in general should be lowercase.

## Technical details
in "name:", I replaced uppercase letters with lowercase

## How to test
Load the items in and look at their names; alternatively look at them from the dispenser crafting menu.

**Changelog**
🆑
- tweak: Lowercased the nutrient paste foods

Reviewed-on: HardLight/HardLight#4598
Reviewed-by: Drekk <drekk@noreply.code>
Switching "dirty tracking" to a cleanliness component instead of an expensive and recursive IsDefault check.
Should reduce server load by roughly 1.7%
Cyborgs now prefer to use their ID card's title and icon,
falling back to the default "Cyborg" if they don't have one.

The same applies to AI but I don't believe it's applicable.
At request of trylobyte:

- WeaponSubMachineGunEsar550
- Intellicard

At request of xiv3n:

- EncryptionKeySyndie
- EncryptionKeyCommand

[Conversation is here.](https://discord.com/channels/1380477227912925194/1455288282190577738/1549636229568405535)
[trylobyte request is here.](https://discord.com/channels/1380477227912925194/1455288282190577738/1549641921977131019)
[xiv3n request is here.](https://discord.com/channels/1380477227912925194/1455288282190577738/1549638148026277891)
## About the PR
Adds 6 new patron plushies.

## Why / Balance
Because patron perks.

## Technical details
All yaml.

## How to test
Spawn in a plushie crate to get the Cinder, RlJSA, Kazzi, Xiv3en, and Kusa's plushies.
And a science locker for MsEpic Plushie.

## Media
Don't got none

## Breaking changes
<!-- List any breaking changes, including namespaces, public class/method/field changes, prototype renames; and provide instructions for fixing them. -->
Shouldn't break anything.

**Changelog**
-add: 6 more patron plushies.

Reviewed-on: HardLight/HardLight#4659
Reviewed-by: Drekk <drekk@noreply.code>
Fixes HardLight/HardLight#4621
Found in HardLight/HardLight#4621, the PR HardLight/HardLight!4557
introduced a small bug. The neck fluff marking upper half did not render
over top the clothes like it does on the moth origin/counterpart.
This corrects said issue.
This manager is going to go under a quite drastic rewrite, and at that point it's more HL code than SS code.
So I am officially adopting it into the HL namespace.
Introduces new UI elements:

- `ChangelogEntry`: The individual change in the changelog.
- `ChangelogSection`: A section contains all the individual changes that fall under a category Feat, Fix, Tweak, or Remove.
- `ChangelogVersion`: The semver that contains all the changes at that unit.

Groundwork to improve changelog UI code while I'm at it overhauling it.
Adds support for organizing changes by type (Add, Fix, Tweak, Remove) and displaying author/commit information.
Also added `ChangelogDictionarySerializer`, a serializer for semver-based changes.

Note: These changes are entirely unused at this point, they have no effect, and are purely groundwork.
The changelog generator now loads the new changelog format.
Also (at the time off writing) converted the existing changelog.
Also implemented a test to ensure that the changelog at least loads in the most basic fashion.
Also went pretty nuts documenting classes and methods.

Note: This commit also completely clears the changelog. When v0.1.0 comes, the new format changelog will begin to populate it.
Added this in order to at least have *something* in the changelog.
When empty, we face potential test errors, as well as risking invisible regressions.
Example changelog gives visual feedback system continues to function as expected.
Parts file was junk.
Admin CL was unused.
SS14 changelog was unused, and even if it was, those changes belong in the HardLight changelog when we port or implement them.
Frontier changelog was unused.
And finally monolith changelog was unusued.

Currently I plan to make a fresh take on changelogs.
So far the only new changelog I am decently sure in is map and shuttle changelogs.
I plan on giving a universal component a changelog field, which the changelog manager can poll for providing users changelogs of individual maps.

It's not certain, but I may potentially see reason to add or re-add changelogs like the admin changelog, but that is not slated for the near future.
This is going to be replaced with new resources.
Probably just a single nushell script and will be human-ran once a release.
Should be by far simpler in setup.
Main purpose is for the fact we're gonna use the version here shortly.
- LangVersion, set to latest to get some extra QOL and features.
- ImplicitUsings, enables to clean up usings headers.
- GenerateDocumentationFile, set to true to enable docs generation in build. Currently unused, but options don't hurt.
- ErrorReport, explicitly set to none. Actually a noop, but being explicit is good.
- GenerateAssemblyInfo, Wanted it set to true, but had to set to false. Setting it to true conflicts with the engine.

Also, `Robust.Shared.Timing.Timer` was ambigious with the fresher C#, so had to specify those in a handful of files.
They are optional.
Intended for themed or topical releases.
Updated the PR template to use git trailers instead of what I assume is YAML.
Change-Add: Added brand new versioning and changelog setup.
Change-Tweak: Updated in-game changelog to display new changelog format.
## About the PR

Moved the active Frontier rules into the `_HL` guidebook directory and added updated MRP and shipbuilding rules.

This includes:

- Roleplay standards and reaction to consequences
- Round-start restrictions
- Powergaming, equipment restriction, and validhunting rules
- Shipbuilding rules 13.9-13.15
- Included rule wording from Gixx’s PR #4536
- Gixx's PR #4536: Documentation references for MRP, Command roles, and shipbuilding guidelines

## Why / Balance

These changes clarify expectations for medium-roleplay behavior, reduce powergaming and validhunting, and establish consistent shipbuilding limits. They provide clearer standards for players and staff without changing game mechanics.

## Technical details

- Added the full ruleset under `CoreRules`.
- Updated `rules.yml` to load rules from `_HL`.
- Preserved the original `_NF` rule files.
- Converted rule text to supported guidebook markup.

## How to test

1. Build the YAML linter or launch the game.
2. Open the rules in the guidebook.
3. Confirm all sections load from Section 1 through Section 13.
4. Verify the new MRP, powergaming, equipment, validhunting, and shipbuilding rules display correctly.
5. Confirm acceptable and prohibited examples render on separate lines.

## Media

## Breaking changes

None.

**Changelog**

🆑

add: Game rule definitions
add: Rule 6.8 (Roleplay Standard)
add: Rule 6.8.1 (Reaction to Consequences)
add: Rule 6.9 (Respect Round Start)
add: Rule 7.3 (Do Not Powergame)
add: Rule 7.3.1 (Equipment Restrictions)
add: Rule 7.4 (Do Not Validhunt)
tweak: Grammar clarification on some rules.
tweak: Referenced HL wiki on Section 10 (directing to /departments/command)
add: Shipbuilding Guidelines to Section 13

Reviewed-on: HardLight/HardLight#4650
Reviewed-by: Cheep <cheep@noreply.code>
Reviewed-by: Drekk <drekk@noreply.code>
Change-Add: Add Does-The-Paperwork plushie as a patreon reward.
Change-Add: Add Kusa plushie as a patreon reward.
Change-Tweak: Made Kusa plushie available from plushie crate.
Change-Add: Add Eeka Tin plushie as a patreon reward.
Change-Tweak: Made Eeka Tin plushie available from plushie crate.
Change-Add: Add Cheep, Servicewing Pack plushie as a patreon reward.
Change-Add: Add Deep Blue Avali plushie as a patreon reward.
Change-Tweak: Made Deep Blue Avali plushie available from scientist locker.
Change-Add: Add Raku Iridas plushie as a patreon reward.
Change-Tweak: Made Raku Iridas plushie available from plushie crate.
Change-Add: Add Does-The-Paperwork CCO variant plushie as a patreon reward.
Change-Add: Add Suspicious Protogen plushie as a patreon reward.
Change-Tweak: Made Suspicious Protogen plushie available from plushie crate.
Change-Add: Add patron character Faery
Patreon characters that had a BloodSolutionModifierComponent had the issue of the wrong blood replenishing after bloodloss. This was because the BloodSolutionModifierComponent did only change the current solution in the body and didn't apply these changes to the bloodReagent variable in the BloodStreamComponent

Change-Fix: Fixed patreon characters replenishing the wrong bloodtype.
Reviewed-on: HardLight/HardLight#4698
Reviewed-by: Cheep <cheep@noreply.code>
Signed-off-by: BlueNexa <bluenexa@noreply.code>
- ID cards have been updated to use new job icons.

Change-Add: Added CaptainComedy's new CC job icons.
Signed-off-by: BlueNexa <bluenexa@noreply.code>
Signed-off-by: BlueNexa <bluenexa@noreply.code>

## About the PR
<!-- What did you change? -->
<!-- If this is a code change, summarize at high level how your new code works. This makes it easier to review. -->

Moved Arachne's Spider Blades from spiderblades.yml file to a new file in the admeme item folder, renamed the old file (now only containing the aberrant tail) aberranttail.yml, renamed the item itself to indicate the current name of the owning character and removed them from the chameleon whitelist

## Why / Balance
<!-- Discuss how this would affect game balance or explain why it was changed. Link any relevant discussions or issues. -->
<!-- If your PR closes an open issue put `closes #issuenumber` here so that the accompanying issue is automatically closed-->

The item belongs to a very specific admin character (mine), and was never supposed to be available for chameleon usage. I am not okay with them being freely available for visual use.
In addition, the character who uses these blades is about to be back in play for the cartel arc, using the real version, so it would be unwise to allow people to chameleon them and cause very dangerous confusion

## How to test
<!-- Describe a procedure to test this feature, along with expected output/behavior. -->
Attempt to chameleon a backpack to look like the blades

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay. -->
<!-- Make sure to read the guidelines. -->
<!-- Changelog entries must have a blank line above them, and be on the very last line(s). -->

Change-Remove: Arachne's Spider Blades are no longer available in the chameleon menu
Reviewed-on: HardLight/HardLight#4699
Reviewed-by: Notarin Steele <notarin@noreply.code>
Fixed borgs drawing a power debt while their mind is out of their chassis.
Closes #4616
The proper way to do that would be adding the ToggleCellDraw component. But doing so would have bad interaction with borgs allowing a mind with empty cells.
While I could have changed ToggleCellDraw to allow a boolean making it non strict. I wished to stray as little as possible from parity while there is only a single use case for this behaviour.
I added the missing update queue to the cyborg power switch code.
Borgs queue their own powercelldraw update now. Any future / concurrent PR changing their power draw could be affected by this change if they try to control the update timing.

Change-Fix: Fixed borgs drawing a power debt while shunted out.
Reviewed-on: HardLight/HardLight#4700
Reviewed-by: Notarin Steele <424c414e4b@gmail.com>
Change-Tweak: Changed the lawyer to spawn mindshielded.
basically directorate's intentions but mindshield alone doesn't disallow lawyer from rolling an antag

Change-Tweak: Made lawyer unable to roll antag.
## About the PR
As the title says, the lawyer now has a mindshield on spawn and is unable to roll an antag.

## Why / Balance
Request from directorate.

Reviewed-on: HardLight/HardLight#4690
Reviewed-by: Notarin Steele <notarin@noreply.code>
Switched from interative to args, and better structure too.
It is much less steaming dogshit now.
It's not great bc I couldn't give a rats ass to make it great rn, but it's plenty good, so whatever. Werks.
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
## About the PR
This PR reworked the most commonly used hardsuits, including but not limited to Engineering, research, syndicate salvage.

This also changes stuff like including but not limited to beakers, materials, ores, pills.

## Why
Prettier sprites

## How to test
Boot game
Spawn in the hardsuits, materials, beakers, ores etc.

## Media
![image](/attachments/a25c94a4-23c2-47a9-b7a6-6f46f0add2d9)
![image](/attachments/e9e5be38-404b-4a13-bdc3-23054aa92a34)
![image](/attachments/445aae68-1237-4091-a963-989cfbbaa9d7)
![image](/attachments/8e6d35f6-2f59-44c2-8c0c-e16ac351326c)
![image](/attachments/55369977-d781-4d95-be13-43cbcdbf377b)
![image](/attachments/80253f10-3390-408b-a429-13031bcf3572)

A few examples

**Changelog**

Change-Tweak: Updated sprites for chem items: Pill canister, Pills, Jugs, Droppers, Bottles, Beakers, and the mixer.
Change-Tweak: Updated sprites for hardsuits: Atmos, engineering, CE, CMO, RD, spationaut, mining/salv, syndicate, blood-red, blood-red medic, syndicate elite, syndicate commander, captain, wizard, and deathsquad.
Change-Tweak: Updated sprites for ores: bananium, coal, diamond, gold, iron, plasma, salt, silver, spacequartz, and uranium.
Change-Tweak: Updated sprites for ingots: adamantine, copper, gold, hydrogen, iron, plutonium, and silver.
Change-Tweak: Updated sprites for materials: brass, plasteel, plastitanium, steel, titanium, glass and its variants, bluespace crystal, and telespace crystal.
Reviewed-on: HardLight/HardLight#4547
Reviewed-by: Cheep <cheep@noreply.code>
Reviewed-by: Notarin Steele <notarin@noreply.code>
Important to stress! It does not ban the flagged unit from the seed!
It bans the seed itself from being savable.

Change-Add: Added the ability to saveban seeds by the reagents or gasses they produce.
The ability for Tritium and Frezon to be produced by plants has already been removed from the game, but there are plenty of leftover seeds which continue to carry the ability to produce these gasses.
Change-Add: Added a new shadekin short hair marking.
Change-Add: Added a new big two-toned tail marking.
Change-Add: Added a new two toned default ears marking.
Change-Add: Added a new generic neckfluff/mane marking.
Change-Add: Added a new alternate version of a previous fae fox marking.
Taints are annotations associated with specific instances of existing reagents.
These annotations allow conditional behavours with the reagents, like in metabolization.
Specifictally, this allows tiny modifications to a reagent without introducing a whole new reagent variant.
The reason for removal is due to two main major offenders.
The tesla borg, which is overpowered and can gib players rather easily.
And also the one star borg, which has a rapid-fire missile attack that can gib a player in three hits.
Furthermore, it performs tile damage, at times developing way beyond player control or ability to repair.

The fact that silicon mobs self-revive given enough time to heal exacerbates this issue to a serious degree.

All-in-all, this is a major QOL improvement for the playerbase for the reasons described.

Change-Remove: Removed the rogue silicons vent horde event.
It's currently broken, and debatably redundant next to the review UI.
Can maybe be reverted when reintroduced&fixed.
This is done because all other foods are lowercase, this makes the foods from nutrient paste dispensers consistent with that.

Change-Tweak: Made foods from nutrient paste dispenser lowercase, consistent with all other food.
Change-Add: Added numbered prisoner IDs.
Change-Fix: Fixed missing eighth variant prisoner icon missing.
Change-Fix: Made those with a prisoner ID show the right prisoner icon.
Switching "dirty tracking" to a cleanliness component instead of an expensive and recursive IsDefault check.
Should reduce server load by roughly 1.7%

Change-Fix: Improved performance by a small margin.
Cyborgs rendered chat icon now prefer to use their ID card's title and icon,
falling back to the default "Cyborg" if they don't have one.

The same applies to AI but I don't believe it's applicable.

Change-Tweak: Cyborgs rendered chat icon now prefer to use their ID card's title and icon, falling back to the default "Cyborg" if they don't have one.
Change-Tweak: Department Cargo Request Consoles are now linked to a telepad by default on: Amber, Box, Bagel, Convex, Core, Elkridge and Fland.
At request of trylobyte:

- WeaponSubMachineGunEsar550
- Intellicard

At request of xiv3n:

- EncryptionKeySyndie
- EncryptionKeyCommand

[Conversation is here.](https://discord.com/channels/1380477227912925194/1455288282190577738/1549636229568405535)
[trylobyte request is here.](https://discord.com/channels/1380477227912925194/1455288282190577738/1549641921977131019)
[xiv3n request is here.](https://discord.com/channels/1380477227912925194/1455288282190577738/1549638148026277891)

Change-Tweak: Savebanned Command and Syndicate comms encryption keys.
Change-Tweak: Savebanned Intellicards.
Change-Tweak: Savebanned the ESAR-550.
When non CL trailers were in the commit message, it would lump them into the CL messages.
Did a rework refactoring how trailers are parsed.
Currently warnings in the repo are fucked.
Over 100k warnings, therefore they are useless.
We are going to disable them all, and slowly turn them back on as we fix them.
Currently there are by FAR too many warnings for them to be useful.
The current plan is to slowly reenable them one by one as we fix them.
- CS0168
- CS0628
- CS0642
- CS0649
- CS0672
- CS0809
- CS1571
- CS1572
- CS1573
- CS1574
- CS1584
- CS1591
- CS1658
- CS1711
- CS1723
- CS1734
- CS2008
- CS4014
- CS8073
- CS8524
- CS8892
- CS9107
- CS0419
- CS0612
- CS0184
- CS0219
- CS0169
- CS0162
- CS0114
- CS0108
- CS0067
Quite sure we never use this, and it looks like its intended purpose is jank as fuck.
I seriously have NO idea how, but _HL was entirely compliant already...
Needed for event usage, and cartel shuttles.
Staff only, no changelog.
Closes HardLight/HardLight!4724

Borg now uses the borg torso and borg hands.
Borg torso has inorganic damagecontainer, the borg main body has the silicon one.
While this fixes the issue, this doesn't fix the check accounting for impossible damages.

Made the new hands for cyborgs to use.
Made cyborg use the cyborg torso as torso.

Change-Fix: Fixed borg being able to take toxin damages in rare cases.
Without these, players are constantly running into spaced rooms, getting flung against the wall and spacing more of the station.
The Firelocks already have code to prevent opening if there's too big of a difference, but it wasn't triggering on most maps due to the lack of a MapAtmosphereComponent.
This changes the check to only not trigger if there's a component and the outside isn't marked as space.

![image](/attachments/920b55df-1c79-426c-9c77-b00f94693950)

Change-Fix: Fixed Firelock alarms not triggering!
Added a static count to the CargoSystem.TradeCrates class to decide which depot of crate is printed, making the crates print ABCD-ABCD.

The pattern persists between rounds and between types of crates. Each crate does NOT have its own pattern.

This will make cargo runs more consistent and easier to manage the cargo bays, perhaps encouraging more people to run crates.

Removed current randomization for the index (0-depot count) and instead made a modulus on the amount of depots to a static count that increments each time a crate is printed.

To ELI5:
Crates are printed or bought at the station Cargo and are taken to a Depot (ABCD). Currently you can get a very lopsided balance of crates. This will even out the amount of crates for each allowing organized cargo bays and more consistent loading of crates.

Change-Tweak: Cargo Crate Printer now prints crates ABCD ABCD instead of at random
## About the PR
This is a port from DeltaV. Original PR - https://github.com/DeltaV-Station/Delta-v/pull/5609
This PR Adds Preening feature to avali, resomi, proto-avali and proto-resomi

## Why / Balance
From the balance standpoint it really doesnt offer much of an advantage, unless we consider a pen on demand to be an advantage.
Its a cute interaction that lets avali or resomi gift feathers, ~~or someone to collect bloodied feathers from their victims~~

## Technical details
I needed to adjust ship saving to allow for saving of colors and blood colors of the feathers.

## How to test
1. Enter the game as resomi or avali
2. right click self > preen
3. spawn resomi or avali
4. right click spawned avali or resomi > preen
5. spawn a shotgun
6. shoot the victim with a shotgun
7. verify that each action produced a feather and that the victim spawned a bloodied feather

## Media
<video src="/attachments/1e7b2e85-1fd1-47c3-a87d-f504db7bef81" title="2026-09-13 15-59-06" controls></video>

## Breaking changes
None to my knowledge

**Changelog**

Change-Add: Added an option to preen feathers of birds!

Reviewed-on: HardLight/HardLight#4632
Reviewed-by: Drekk <drekk@noreply.localhost>
The build task was specifying the build props file, which was tampering with the eval order of the build properties.

The ImplicitUsings was gating off the BuildChecker project, which no longer exists and thus can be safely ungated, and moved into the larger property group.
I haven't found a source for the FormTag and I rewrote most of its code
anyway. It has been moved to _HL.

I couldn't defer everything to the base factory because it doesn't exist
with the paper control, is not instanciated for most of my purposes,
and the sandbox disallows reflection.

The responsibilities are : The action logic is in PaperWindw.xaml.cs
The replacement logic has been moved with the Component at
Papersystem.cs rationale is that Papersystem owns the content. And
some tag implementations will need entity bound dependencies or server
side information.

The tag needs to be added to UserFormattableTags.
Doc comments should point to all of those places for anyone willing to
make a fillabletag.

The tag's proper name is defined once in UserFormattableTags. I haven't
found a way to define it in the class without reflection.

The Tag's main control creation has been refactored in the abstract
class the label's text and action arguments are virtual for replacement.
This unifies how labels are presented.

The abstract class owns the Enabled state, the event bound to PaperWindow
and indexing all Fillable tags in a provided text. Rationale is that the
textwithmarkup shouldn't be responsible for knowing how to prepare a text
for use with Fillable tags.
# Conflicts:
#	Content.Client/RichText/UserFormattableTags.cs
Signed-off-by: Alphonse de V <47596423+AlphonsedeV@users.noreply.github.com>
Adjusted the ported function to fit with the fork's systems.
Rewrote it a bit because it burnt my eyes a little

Added the replacement routine.

Added a freezing routine for checks. May need to refactor it if other
tags were to need freezing.
## About the PR
Added a [check] tag to make checks forms on papers.

**Depends on #4590**

## Why / Balance
Closes #4490

## Technical details
Added a CheckTag FillableTag, its callback handler and its replacer. Also added a function in the shared PaperSystem to freeze tags.
Added a guidebook help for the [check] tag

## How to test
Make a paper, write [check] in it. Check that you can cycle through the tags. Sign it, the tag became text.

## Media
![paper edit](/attachments/6d5fb542-fba3-4587-bb85-8ebb8ecfaca6)![filled](/attachments/baa6c370-7952-4b70-9f60-aac7acb95c0c)![frozen](/attachments/2018aa91-cd57-46a4-88b8-2b9413db562a)

## Breaking changes

**Changelog**

Change-Add: Added a [check] tag for paperwork.

Reviewed-on: HardLight/HardLight#4602
Reviewed-by: Drekk <drekk@noreply.code>
Added the whole mechanic:
tag class
paperwindow handler
papersystem replacer

The text of the tag is in a loc to follow form's logic.
## About the PR
Added a [sign] paper tag to input name, job and both quickly on a paper. Comes with the relevant help in the guidebook.

**Depends on #4590**

## Why / Balance
Nobody asked for that. But more paperwork is more gooder.

## Technical details
Added a fillable tag [sign] with all the modification that it entails
SignTag class
PaperWindow.xaml.cs handler
PaperSystem replacer, this also contain the identity fetching logic. I read the location for the name from RMC and the one for the role from the sechud's code.
added it to UserFormattableTags

Added the guidebook entry for it

## How to test
Make a paper, write [sign] [sign="name"] [sign="job"] and check that it works. Swap your ID card and try again, it should pick up the current ID like a sechud.

## Media
![paper edit](/attachments/6ca1ad8c-f76e-447e-9e59-24a8d8a28c34)![unfilled](/attachments/54255300-3dd7-440b-aca0-c5da5323bca0)![filled](/attachments/774f0c04-8b3c-4747-8126-0b948c8a2ab0)
## Breaking changes
<!-- Too good, please nerf. -->

**Changelog**

Change-Add: Added a [sign] tag for filling job, name or both, check the guidebook !

Reviewed-on: HardLight/HardLight#4607
Reviewed-by: Drekk <drekk@noreply.code>
Added the time fillable tag with the usual mechanic
The concrete fillable tag
the handler in paperwindow
the replacer in PaperSystem

and added it to UserFormattableTags
## About the PR
makes a paper tag to put the shift number or time. Comes with a guidebook help.

**Depends on  #4590**

## Why / Balance
Bureaucracy.

## Technical details
Added the time fillable tag with the usual mechanic
The concrete fillable tag
the handler in paperwindow
the replacer in PaperSystem

and added it to UserFormattableTags

Also added a guidebook entry for it

This tag in particular will can take a user format for the time.

## How to test
open a paper write [time] [time="shift"] [time="shift" format="#"] [time format="hhtmm"] or any other format outlined in the guidebook.

## Media
![paper edit](/attachments/b546b965-afac-46ed-9a19-a86b312557f8) ![unfilled](/attachments/3c432443-7e84-49ae-8961-332e8cdb06a7) ![filled](/attachments/f419fe21-2ae0-4a7f-a3a5-43da56959267)

## Breaking changes
<!-- List any breaking changes, including namespaces, public class/method/field changes, prototype renames; and provide instructions for fixing them. -->

**Changelog**

Change-Add: Added a [time] paper sigil for shift time and number. Check the guidebook !
Reviewed-on: HardLight/HardLight#4612
Reviewed-by: Drekk <drekk@noreply.code>
# Conflicts:
#	Content.Client/_HL/UserInterface/RichText/FillableTag.cs
## About the PR
Added Oasis station

## Why / Balance
we need more maps

## Technical details
added it to frontier.yml

## How to test
select oasis for round start

**Changelog**

Change-Add: Oasis Station
Reviewed-on: HardLight/HardLight#4722
Reviewed-by: Drekk <drekk@noreply.code>
Gatherable System now tracks weapons that have already hit an ore that's queued for destruction, so it won't trigger multiple hits from the same weapon.
This works because a single hit will already queue the ore for desctuction, there is no case where multiple hits are required.

Also fixed the MeleeWeaponSystem erroring when a swing was still in progress from a destroyed entity (ore crabs are a good test).
Removed readonly from Dependencies in preperation for engine upgrade.
Restored Ghost Integration Tests to check things properly now we're not deleting the entity.
Fix Antag rolling not checking the job sometimes.
Fixes HardLight/HardLight#4643.
`EnergyDomeNullspace` is a realisation entity, meaning it is intended to only exist as a projection or result of another entity.
Specifically, it is a projection of the bluespace flasher.
As detailed in HardLight/HardLight#4643, this dome entity can brick ship saves if serialized with it onboard.
Since it's a projection, we can just remove it on serialization without regard.

Also added a best effort recovery attempt at fixing up some malformed doubles in shipsaves.
Not sure what's causing it, but we can at least attempt to fix it on the fly.
There was a weird server crash regarding dragging someone and picking them up.
This resolves that by processing all the dropping of players at once, and forces anyone to stop dragging a player when they're picked up.

Added a queue for dropping carried mobs, which is processed all at once during the Update call, rather than randomly throughout the tick as systems call it on different entities.
Changed the Carry system to force disconnect all people dragging a player when they're picked up, rather than only making an attempt (which could fail, meaning you couldn't drop the player either)

Change-Fix: Fixed carrying someone who's being dragged sometimes crashing the server.
Reviewed-on: HardLight/HardLight#4760
Reviewed-by: Notarin Steele <notarin@noreply.code>
Disabled disconnected players from being picked as antag targets.
Created CVar for determining disconnected/ghosted player duration before re-roll.
## About the PR
Added Artifacts and their nodes to the stash ban list.

## Why / Balance
Artifacts and their nodes don't re-load correctly when loading in a ship or apartment, and cause server lag and sometimes even crashes.

## Technical details
Following a few incidents where artifacts in ships have been loaded, directly followed by major server bugs.
Just added the two components to the stash ban list, as nodes are a separate entity for some reason.

Also added a TerminatingOrDeleted check to the SaveBanApi, some things like artifact nodes would get deleted when the artifact was deleted, but it would try to check them for restrictions anyways and error out.

## How to test
Spawn an artifact
Put it in your apartment
Save and re-load apartment
Artifact is gone

**Changelog**

Change-Remove: Removed artifacts from being able to be saved in ships or apartments.

Reviewed-on: HardLight/HardLight#4753
Reviewed-by: Cheep <cheep@noreply.code>
Disabled bluespace portal artifact node as it was causing issues RRing players.
This reverts commit bacc49c42a0d374683d291aaecf8f857ae6622e2.

As discussed in the Liaison channel, opting for cargo to be the only ones who can order cargo.
Version prefix and verion suffix are the properties to make the version, but we were directly setting version, blocking those properties off.
Version prefix and verion suffix are the properties to make the version, but we were directly setting version, blocking those properties off.
Also updating workflow changelog to point to the new tag.

Reviewed-on: HardLight/HardLight#4764
Reviewed-by: Notarin Steele <notarin@noreply.code>
It really should be a .log, but it's a .txt, so now it won't be commited.
Changed the gitignore, there is a wildcard, so it limits how you can name .txts in a very specific way.

This is specifically regarding the gravestones generated by the testing tooling.
Think YAMLLinter, Integration Tests, Unit Tests, etc.
Should've been disabled alongside NU1903.
Left it there and muted warnings to mirror what was done upstream.
DeviceNetworkConstants.cs has been fixed by bringing it closer to the
expected form by
(https://github.com/space-wizards/space-station-14/pull/44346)
ChatMessageAction has had a new dep injected from its base.

Also includes general warnings fixes for Loc.TryGetString by Notarin.

Co-authored-by: Notarin Steele <424c414e4b@gmail.com>
This is a massive tree-wide change;
There are several things to keep in mind.

This resolves all CS0612 and CS0618 diags repo-wide.

You may notice that _HL comments are not included for the majority of changes.
This is because none of these changes change any actual game behavour*,
and thus are free to drop, ignore, replace, rework, etc, when porting external changes.
So long as those changes meet standards, these changes should not introduce complexity in porting.

Some of these changes also introduce parity with upstream. e.g. `TryGetFontPath()`.
You may notice these may lack documentation that is normally required.
Since it is to introduce parity, this normal requirement is ignored purely for parity introducing changes.
Removed unused usings from flagging files.
CS0114, CS0162, CS0168, CS0169, CS0184, CS0219,
CS0414, CS0419, CS0628, CS0642, CS0649, CS0672,
CS0809, CS1570, CS1571, CS1572, CS1573, CS1574,
CS1584, CS1587, CS1591, CS1658, CS1711, CS1723,
CS1734, CS2008, CS4014, CS8019, CS8073, CS8524,
CS8892, CS9107.
This is a repo-wide change.

*Mostly* just basic syntax issues.
However, there are other XML changes made.

The biggest outliers are the changes where I had to strip the `see` tag off a reference to a symbol.
In many locations, XML comments refer to symbols that aren't accessible there to the LSP, or aren't valid anymore/expired.
The latter, references to no longer valid items, are issues that should have been caught in review upstream, but weren't, so they're our responsibility to fix when we can now. This outstanding issue is not a blocker to delay on, it is a reality to accept for the time being.
There are also some situations where paramters or returns no longer mattched their counterpart. Fixed some, removed most.
Issue that was fixed:
```
Parameter 'owner' is captured into the state of the enclosing type and its value is also passed to the base constructor. The value might be captured by the base class as well
```
As much as I hated to do it, removing half defined params is the approach I took.
Defining them all was a monstrous task that couldn't get the attention it needed.
In the future as we pull upstream content, param docs will come with it.
CS8524, CS0219, CS8073, CS0168,
CS0649, CS0162, CS0642, CS0169,
CS4014, CS0809.
CS0114, CS0162, CS0168, CS0169, CS0184, CS0219,
CS0414, CS0419, CS0628, CS0642, CS0649, CS0672,
CS0809, CS1570, CS1571, CS1572, CS1573, CS1574,
CS1584, CS1587, CS1591, CS1658, CS1711, CS1723,
CS1734, CS2008, CS4014, CS8019, CS8073, CS8524,
CS8892, CS9107.
This is to reflect the fact we have successfully torn down the tech debt.

Jesus fuck this too so much.
Jesus this was a LOT of work...

This fully zips through the entire plan to remove warnings tech debt. All warnings have been fully turned on across the entire repo.

Reviewed-on: HardLight/HardLight#4796
Reviewed-by: Cheep <cheep@noreply.code>
This reverts commit ac2425dd9f.

The underlying issue causing the initial commit is NOT resolved.
This is reverted because reproducing the issue is unreasonably difficult.
Re-enabling the ghost roles will give us more instances of the issue to debug

Change-Add: Enabled antag ghost roles that had buggy spawns. Report issues.
I've gone at length about how I'm adamant in regards to Core station being the worst map we have. It's ugly, uninteresting, and doesn't foster quality RP.
During my previous tenure as mapping lead I attempted to delegate the responsibility of it to someone else, and it did not meaningfully improve the station, therefore, especially with new maps like Oasis and potentially more on the way, I have elected to remove it.

Change-Remove: Removed Core station from Rotation.
This ability served *no* purpose at all than to be a major annoyance bordering on self-antagging.
Shadeskip was creating `ShadowKudzu` which, like normal Kudzu spreads if not removed and it can spawn portals in the dark that teleport you to a random location, often to your death.
I have considered replacing it with a smoke grenade effect of some sort, but since the mechanic for spawning shadowkudzu (anomalyevent) and smoke (component) are so wildly different, i elected to just remove the shadeskip ability and most references

Small note: the telekinetic pulse was using the same localized message for overcharging so i just moved it over to there.

Change-Remove: Removed Shadeskip ability.
Change-Fix: Antag counts no longer include unreadied lobby players, observers or ghosts
## About the PR
Per the request of Fenn, fixes round-start antags not spawning due to a combination of settings set by Frontier, and existing SS14 code not accounting for players being persisted between rounds, instead of readied up in lobby.

## Why / Balance
In-round players that do not cryo between shifts can now be role-changed to traitor, thief, or any other non-spawner antag when a new shift starts (provided they are opted-in to that antag role).
The calculation for what and how many antags spawn now properly reflects players already in-game and not just who is in lobby.

## How to test
Simulate a round with players in-round and a few in-lobby, and you will see both should have players start the new shift as antag. I tested locally a few times and found no errors or issues with spawning.

## Breaking changes
None.

**Changelog**

Change-Fix: Round-start antags should now spawn more reliably
Reviewed-on: HardLight/HardLight#4731
Reviewed-by: Drekk <drekk@noreply.code>
Had to update the C# to handle this case, as signing and stamping use different logic despite being the same component.
1 FUC is now worth 10K, in accordance with 10 FUC being worth 100K.
## About the PR
<!-- What did you change? -->
<!-- If this is a code change, summarize at high level how your new code works. This makes it easier to review. -->
1 FUC is now worth 10K, in accordance with 10 FUC being worth 100K.

## Why / Balance
Makes sense.  Makes Sec happy.

## Technical details
I changed numbers.  I also fixed a typo.

## How to test
Put a FUC coin in an uplink.  You should get 10K now instead of 1K.

## Breaking changes
Security's minds might break.

**Changelog**

Change-Tweak: 1 FUC is now worth 10K in the Sec Uplink.
Reviewed-on: HardLight/HardLight#4785
Reviewed-by: Drekk <drekk@noreply.code>
Changed the objective for Hamlet to "Die a glorious death" to "Die a
funny death" to disincentive players from starting a tesloose or things
of the sort as a critter.

Hamlet always started with the "Die a glorious death" objective which
encouraged players to actually do "glorious" ways to die, meaning they
tried to pull others into their death as well.
This is not really what is intended for Hammy as their objective mainly
is supposed to die in a "glorious" way *for a critter*, meaning they get
put into a blender or a microwave or die to a mouse trap, running away
from the chef

Change-Tweak: Changed Hamlets objective to "Die a funny death"
## About the PR
This PR is a follow up for the massive sprite PR fixing some issues that players or myself found.

## Why / Balance
Fix = Good

## How to test
>Boot game
>Spawn as synth and put on CE hardsuit

Alternatively
>Boot game
>Check any lathe
>Check for the plastic/uranium/plasma icon

**Changelog**

Change-Fix: Fixes the sprites for the CE hardsuit for synths
Change-Fix: Fixes the sprites in lathes for Plastic, Uranium and Plasma
Change-Fix: Adjusted the screen delay on the chemmaster
Reviewed-on: HardLight/HardLight#4740
Reviewed-by: Drekk <drekk@noreply.code>
created TurretLayer equivalent to MachineLayer and
DWallLayer equivalent to WallLayer
except they don't stop doors from closing.

Made turrets TurretLayer and Directional walls DWallLayer

Closes #4715

Change-Fix: Shutters now close correctly over CDETs and Directional walls
## About the PR
Made shutter able to close over CDETs and directional walls

## Why / Balance
Closes #4715

## Technical details
created TurretLayer equivalent to MachineLayer and
DWallLayer equivalent to WallLayer
except they don't stop doors from closing.

Made turrets TurretLayer and Directional walls DWallLayer

## How to test
Make a cdet, a directional wall and a shutter on the same tile. Try closing the shutter, the shutter closes.

## Media
<!-- Attach media if the PR makes ingame changes (clothing, items, features, etc).
Small fixes/refactors are exempt. Media may be used in SS14 progress reports with credit. -->

## Breaking changes
Technically, the whitelist of collision layers is shared by all doors. So mappers should be wary of building actual airlocks over CDETs or directional walls because they will close normally.
A todo inherited from upstream wants to fix that. I think making a child of SharedDoorSystem that for shutters that only overrides the GetColliding iterator is the cleanest way.

**Changelog**

Change-Fix: Fixed shutters not closing over CDETs and directional walls.
Reviewed-on: HardLight/HardLight#4716
Reviewed-by: Drekk <drekk@noreply.code>
Created The SuccubusComponent and SuccubusSystem

added the newtaint type in TaintData
Uses an event to ensure that the component is initialised both ways
To equalize the hunger gained, huge amouts get digested faster.
## About the PR
Succubus Trait. You can metabolize Cum into food. Not the cum of other succubus however.
Geared toward being a Lewd trait (no cost)
### **To keep features separated, this PR should only be merged after rebase behind the merge of #4558**
is will still work on its own, this is just to keep the taint condition and the succubus trait separated.

## Why / Balance
[Discord thread](https://discord.com/channels/1380477227912925194/1536855368209006652)

## Technical details
Added a new type of reagentdata "taint"
Made the new component & system. Added permissions in the MetabolizerComponent.
Made an EntityCondition that checks for Taints in reagents. Specifically in the reagent associated with the effect invoking the condition. Will throw an error if interrogated for a non reagent effect.
Edited the cum reagent to use the succubus organ type and have effects for succubus. It's processed by the Drink group rather than the Food one. All organs doing one do the other too in the current code however afaik.

## How to test
Grab the Trait, inject cum in yourself, hunger refills.
Create an entity with cumproducer and the trait, have them fill you, hunger doesn't move (cumproducercomponent needs to be intanciated before the succubuscomponent if you're doing it through vv)

## Media
<!-- Attach media if the PR makes ingame changes (clothing, items, features, etc).
Small fixes/refactors are exempt. Media may be used in SS14 progress reports with credit. -->

## Breaking changes
Getting multiple Cums inside you (from different sources) may lead to undetermined behaviour. Because the entityeffect hasn't been refactored to use ReagentQuantity to grab a specific ReagentID and uses the generic object ReagentPrototype instead.

**Changelog**

Change-Add: Added a new Succubus trait (0pts): Cum now refills your hunger (a little), so long as it doesn't come from another succubus.
Change-Remove: If you're not a succubus, cum now only satiates thirst.

Reviewed-on: HardLight/HardLight#4484
Reviewed-by: Cheep <cheep@noreply.code>
targetting an SSD player.

Paradox clone spawns were including SSD players, and when trying to spawn, it could not find the player data / traits for the disconnected player. Instead of handling it gracefully, it would just infinitely spawn characters without an end in the loop.
It, uh, does not do that now. Shouldn't target SSD players or disconnected players at all, and no matter what happens, it should not summon Five Hundred Urists on failure.

Change-Fix: Paradox clones will no longer summon Five. Hundred. Urists.
## About the PR
<!-- What did you change? -->
<!-- If this is a code change, summarize at high level how your new code works. This makes it easier to review. -->
Comments out all recipes regarding 4 gauge rounds, leaving only the standard box options. Per request this also alters the Big Buddy to C2exped

## Why / Balance
<!-- Discuss how this would affect game balance or explain why it was changed. Link any relevant discussions or issues. -->
<!-- If your PR closes an open issue put `closes #issuenumber` here so that the accompanying issue is automatically closed-->
https://discord.com/channels/1380477227912925194/1546890537817079928 Discussion thread here, High power buckshot also does 180 damage, which is capable of oneshotting most civvies, and even command members in armor.

Placing this here for maintainers to read as well:
12 gauge:

HP buckshot: 90 pierce dmg + 330 structure
HP slug: 42 pierce
Flechette: 14 pierce + Ignore armor
Slug: 28 pierce
Beanbag: 10 blunt + 30 stam (4 hits to stamcrit)
Buck: 60 pierce + 90 structural
Incen: 18 blunt + 42 heat + ignite
Improvised: 30 pierce + 30 slash
Uranium: 25 rad + 25 pierce
Grapeshot: 100 pierce + 25 structural
Glass: 100 slash

4 gauge:

HP Buckshot: 180 pierce
HP Slug: 120 pierce + 300 structure
Flechette: 40 pierce + 100 structure + ignore armor
Slug: 34 pierce + 34 blunt + 70 structural
Beanbag: 20 blunt + 120 stamina (instacrit)
Buckshot: 120 Pierce
Incen: 36 blunt + 84 Heat + Ignite
Improvised: 34 Pierce + 34 Blunt + 170 structural
Uranium: 50 rad + 50 pierce
Dozd: 84 Pierce

RMC Shells

Slug : 55 pierce
Incen slug: 40 heat
Beanbag slug: 45 stam
Flechette "slug (4 pellets)": 160 pierce (no AP)
Buck: 180 pierce
Ignite buck: 180 + ignite
Breaching: 160 blunt

## Technical details
<!-- Summary of code changes for easier review. -->
Comments out the ShellShotgun23x75mmHiPowerSlug, ShellShotgun23x75mmHiPowerBuckshot, and ShellShotgun23x75mmFlechette recipes and casings

## How to test
<!-- Describe a procedure to test this feature, along with expected output/behavior. -->
Boot up
Enter test character
Spawn an emagged autolathe and search gauge
Check crafting menu for gauge
Spawn a big buddy and examine for C2 marking

## Media
<!-- Attach media if the PR makes ingame changes (clothing, items, features, etc).
Small fixes/refactors are exempt. Media may be used in SS14 progress reports with credit. -->

## Breaking changes
<!-- List any breaking changes, including namespaces, public class/method/field changes, prototype renames; and provide instructions for fixing them. -->
This should not break anything as the item itself still exists, only now it will be a limited capacity drop like RMC guns.

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay.
Make sure to read the guidelines and take this Changelog template out of the comment block in order for it to show up.
Changelog must have a 🆑 symbol, so the bot recognizes the changes and adds them to the game's changelog. -->

🆑
- remove: Removed fun! (4 gauge HPB, HPS, and Flechette)
- add: Big Buddy is now C2, no FUC

Reviewed-on: HardLight/HardLight#4591
Added Nepetalactone, mild stimulant for anyone with an animal liver. didnt make it cats only because that would require adding additional organs and changing base organs which seems too high impact for whats basically a joke chem. 5% speed boost in safe range. 10% slow above, vomiting above that.

found via botany mutations
## About the PR
Added Nepetalactone, mild stimulant for anyone with an animal liver. didnt make it cats only because that would require adding additional organs and changing base organs which seems too high impact for whats essentially a joke/rp chem. 5% speed boost in safe range. 10% slow above, vomiting above that.

found via botany mutations

## Why / Balance
Players expressed interest in having catnip in game for rp purposes. This provides a mechanical base if anyone adds sprites for a plant.

## Technical details
greyish green powdery minty reagent. give 5% speed boot to animal liver-havers that ingest it up to 20u, then it becomes a 10% debuff to speed. over 30u it causes vomiting.

found by random chance in botany mutations, at same rarity as theobromine.

## How to test
ingest chem while having animal liver as your liver. observe effects. without the liver it has no effect.

## Breaking changes
N/A

**Changelog**
🆑
- add: Nepetalactone (mild stimulant), the active ingredient in catnip, only affects animal liver-havers
- add: Nepetalactone can be acquired via botany mutations.

Reviewed-on: HardLight/HardLight#4606
Adding new SpawnPriorityPreference

Changing the CharacterProfile check to understand it.

Add a locale for it.
## About the PR
You can now set preference of spawn in colcom

## Why / Balance
Closes #4622

## Technical details
Added a new SpawnPriorityPreference. Those are stored in the DB. Not sure if I should stack a migration, or even how that is handled.
Added its loc and its check

Added a new handler for the preference ColComSpawnPointSystem.

Added a handful of spawnpoints in ColCom someone more map savvy should probably either PR into this or patch a proper area after me.

Chose to not give StationMemberComponent to Colcom. Instead the points are tested manually. This means a spawn point on a child grid to colcom won't be detected whereas it would work on a station.

## How to test
Make a character, select the spawn preference to "Colonial Command". Respawn either midround or at the start. You're on colcom.

## Media
<!-- Attach media if the PR makes ingame changes (clothing, items, features, etc).
Small fixes/refactors are exempt. Media may be used in SS14 progress reports with credit. -->

## Breaking changes
DB might be borken, maybe, seemed fine on my machine.

**Changelog**

Change-Add: Added a new Colonial Command Spawn preference.

Reviewed-on: HardLight/HardLight#4634
## About the PR
Adds a new ship, the NOV-Rosetta; originally made for Monolith, now being ported over to hardlight as well.

## Why / Balance
Most science vessels have little space for their analyzer:, having one artifact chambers, or two at most; the Rosetta seeks to give more space and freedom of choice when working on artifacts so that you can use different chambers for different purposes. maybe you want a chamber specifically at low pressure but with oxygen, while another one hasn't. Your dioxide node is triggering constantly but you don't want to flush the room? Use another chamber!

Originally on monolith the ship had one Apollo mining beam (For breaking icy asteroids and finding the anomalies in them), two marauders and a phalanx for self defense. This has been changed in the Hardlight port by deleting the phalanx and switching the marauders for two mining pulsars, the Apollo has been unfortunately deleted, due to increasing the ship price to over a million. Media has not been updated yet, so the images will still show the Apollo.

The ship is now powered by a single Z-pinch and the engineering bay has been restructured to not get irradiated as much, protection and spare fuel is provided. At the moment, a small FTL drive has been installed, along with three gyroscopes and a good number of thruster giving the ship some omni-directional thrust.

Of course, the cockpit of the ship is exposed and in an unprotected area, letting you see directly the stars while you sip the coffee liquor that accidentally turned my crewmates into ash many, many times. This is the weakest spot of the ship, so if there will be combat for a Rosetta it will be very short lived.

Some work for decaling has been redone, as importing the ship deleted a lot of the original decals and I had to work with the ones available, but the result is not really bad. I am quite proud with this for porting a ship.

(In truth, I am a big sucker for this ship as it was my love project for monolith, now that I am moving between servers I would like to bring her and her little sister with me. Yes, this is the entire reasoning, the rest was just fluff.)

## Technical details
Ship file itself is found inside the _Mono folder, while the shipyard prototype is found in the _NF folder, as I am not quite sure if it would otherwise work.

## How to test
Go to a regular shipyard and buy the Rosetta at the cost of your entire paycheck. Fly around, do some science. Inevitably explode, because that's what scientist do best.

## Media

![Rosetta](/attachments/eb3225fa-da26-4d40-ad83-ccd5507d5e2d)
![Rosetta2](/attachments/d7e4d054-16fb-40cb-8afb-cfdfd34f3b59)
![Scanner](/attachments/b72684f1-ad99-4fd7-90c4-e05ffccee311)

## Breaking changes
The only breaking changes of the Rosetta will be the explosion node that you'll inevitably trigger one day.

**Changelog**

🆑
- add: Clearance parameters for the Rosetta Experimental Research Vessel have been updated by The System. Construction rights have been pushed to all Civilian Shipyard printers. Get yours today!

Reviewed-on: HardLight/HardLight#4653
## About the PR
Added Nardodragon sprites. Static and wagging tail, two snouts, two chest furs, and two ear sets.

## Why / Balance
No gameplay change, just visual. Was changed because of a bounty request.

## Technical details
New sprites, respective localization, and prototype yml.

## How to test
In lobby, choose nardo costumization in categories: headTop, Snout, Chest, and Tail.

## Media
![image](/attachments/3689db1e-5b2f-4c95-ba4e-4da513481304)
![image](/attachments/fb744357-169c-4ea1-9828-ec3dcf444d40)
![image](/attachments/d443ae4a-b7cf-4e54-9b1d-1d8aa9863f98)
![image](/attachments/b0609251-9f36-4c5a-b051-88b22401be54)
![image](/attachments/e187ae6d-ebf2-48ce-b822-8d6b83051321)

## Breaking changes
Not expected to break anything.

**Changelog**
🆑
- add: Added Nardodragon costumization options! Check out new chest fluffs, tail, ears and snouts!

Reviewed-on: HardLight/HardLight#4667
Reviewed-by: Cheep <cheep@noreply.code>
## About the PR
<!-- What did you change? -->
<!-- If this is a code change, summarize at high level how your new code works. This makes it easier to review. -->
This PR adds a 'neofrench' accent to keep the original french and the more intense separate. The neofrench accent contains a few basic word replacements, but more importantly this makes:
th →	'z or 'd	65% / 35%
ch →	sh	100%
h →	'	100%, except in ch/sh
Edge s + vowel →	z	100%
s between vowels →	z	100%
Other s →	z	15%
! ? ; : →	Adds preceding space	When conditions match
i →	e	100%
Standalone uppercase I →	Remains I	When followed by whitespace
Final er → eur	100%
r →	rr	50%
r in eur →	Unchanged	100%
Initial a e i o u →	Adds h	20%

This also alters some localization files to autoreplace words with common phrases, IE hello, goodbye, sir, ma'am, thank you, you're welcome, excuse me, and very good
## Why / Balance
<!-- Discuss how this would affect game balance or explain why it was changed. Link any relevant discussions or issues. -->
<!-- If your PR closes an open issue put `closes #issuenumber` here so that the accompanying issue is automatically closed-->
I am deeply dissatisfied with the french accent here compared to other servers, so this is a plain and simple 'WYCI'. I am sure others might enjoy this too, given I heard questions in ooc regarding the fact that our french is different to quite a few other servers.

## Technical details
<!-- Summary of code changes for easier review. -->
duplicates and modifies the component and entity system for the french accent, renaming it to neo and altering as needed. Then adds a trait for this new component as well as adding this component save to the cloning system (this is why cloning is altered). More localization files were then added for the word replacements.

## How to test
<!-- Describe a procedure to test this feature, along with expected output/behavior. -->
> char editor language traits 'neofrench'
> spawn and speak each keyphrase to test replaced words
> speak each key-character to replace
> add the server component of 'neofrench' to a mob to test on others (like the oracle)
> clone something with the neofrench component to test successful cloning

## Media
<!-- Attach media if the PR makes ingame changes (clothing, items, features, etc).
Small fixes/refactors are exempt. Media may be used in SS14 progress reports with credit. -->
Original text:
The chef said, “Thank you, sir! Please excuse me; I saw three musicians in the theater. They were very good, and I think the teacher said their brother was here earlier. I should give you some cheese, sugar, and roses before I leave.”

I am going to the station after lunch! The player and the singer were there, but the other teacher said, “You’re welcome; goodbye!” She asked me to share the fresh apples, oranges, and ice cream with everyone. That strange chair is over there, and I really hope the weather stays nice.
![image](/attachments/5b19b954-c7a0-4882-8f21-73a4f1f0828e)
![image](/attachments/3cc866a1-2a8e-402c-994e-8392729cf114)
![image](/attachments/ff75d440-77c2-4bf9-91f9-c8685209acd4)

## Breaking changes
<!-- List any breaking changes, including namespaces, public class/method/field changes, prototype renames; and provide instructions for fixing them. -->
N/A to my knowledge

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay. -->
<!-- Make sure to read the guidelines. -->
<!-- Changelog entries must have a blank line above them, and be on the very last line(s). -->
🆑
-Add: added Neofrench accent

Reviewed-on: HardLight/HardLight#4679
## About the PR
Added a new Vending Machine that sells spray paint and removed the randomized spray paint cargo order.

## Why / Balance
Spray paint littering the halls is a constant headache as well as serving the same customer 6 times because they didnt roll black paint. Spray paint RNG isnt something that NEEDs to be in the game per say.

The vend itself has 2 stock of every paint in the old crate. Each costs 200. The restock costs 10k. This is to allow the "rarer" paints to run out and the less rare paints to be easier and free.

The Sprayvends are placed outside cargo

## Technical details
Added new sprayvend and restock protoype, added restock order to cargo and removed old restock order and prototype. Added the sprayvend to every map outside cargo. Added new sprites for sprayvend and restock.

## How to test
Load server and check the locations for sprayvend and check the sprayvend stock. Also try to restock it.

## Media
All sprayvend locations with a video of it working and all sprite states in the album.
https://imgur.com/a/7RIvmAe

## Breaking changes
None.

**Changelog**
🆑
- Add: Added Sprayvend, A spraypaint vending machine!

Reviewed-on: HardLight/HardLight#4684
## About the PR
Ported Feroxi sounds from Omu.

## Why / Balance
Bounty

## How to test
1. Spawn as a Feroxi.
2. Scream!
3. Chirp!
4. Squeak!
5. Cry!
6. Enjoy!

## Breaking changes
Nothing from testing.

**Changelog**
🆑
- Add: Add new feroxi sounds.

Reviewed-on: HardLight/HardLight#4687
## About the PR
Made synths able to be vampires again and also halved their power cell drain rate.
Synth surgery pop-ups didn't exist before so they do now.

## Why / Balance
Vampirism and Lesser Vampirism were disabled since the creator thought they made synths unrevivable.
It was proven wrong and they planned on adding it back but due to no longer being in the server, it never happened.

Synth's power cell drained too fast. This should make it better overall for all synths while still keeping the option of surgery for a microreactor power cell to keep them permanently charged.

Synth specific surgery had no localizations strings and had weird pop-ups due to it.

## Technical details
Un-blacklisted synths from Vampirism and Lesser Vampirism
Halved drain rate making it go from `0.4` to `0.2`

## How to test
1. Make a synth.
2. Pick vampirism/lesser vampirism trait.
3. Spawn in with a synth and watch the battery drain slower.
4. Aghost and do surgery on yourself or spawn a synth urist and do surgery on it.

## Breaking changes
Shouldn't be any

**Changelog**
🆑
- Add: Add synth surgery localization strings.
- Tweak: Halved synth power cell drain rate.
- Tweak: Un-blacklisted synths from Vampirism and Lesser Vampirism traits.

Reviewed-on: HardLight/HardLight#4688
Reviewed-by: Cheep <cheep@noreply.code>
## About the PR
Makes IPC's power cell drain slower

## Why / Balance
Buffing IPC's power cell so it can last at least or close to a full expedition.
Hammered said this looks good.

## Technical details
Changed IPC's power cell drain rate from `1.5` to `0.5` per second.

## How to test
1. Spawn in as an IPC.
2. Watch the battery drain slower.

## Breaking changes
Shouldn't be any.

**Changelog**

Change-Tweak: Made IPC's power cell drain rate a third of what it was.

Reviewed-on: HardLight/HardLight#4689
## About the PR
Adds a blacklist to the StackSystem and prevents auto-stacking from merging piles of money and coins.

## Why / Balance
Requested in #ideas-and-projects on Discord: https://discord.com/channels/1380477227912925194/1539194708805427210/1539194708805427210 with 6 upvotes.
Reason: People should be able to put individual bets on tables when gambling or making it rain on someone without stacks merging.

## Technical details
Literally a < 15-line change, just creates a small blacklist for each desired game item and then skips auto-stacking/merging if the item is in the blacklist.

## How to test
Make it rain!

## Media
<video src="/attachments/1aed58b5-dc55-4320-9c9d-91a1d5810c47" title="Desktop 2026.09.22 - 17.32.45.02" controls></video>

## Breaking changes
Should be none.

**Changelog**

Change-Tweak: Prevent coins and spesos from automatically stacking.

Reviewed-on: HardLight/HardLight#4693
## About the PR
Adding the Cerulean Collective Hardsuit to the game.

## Why / Balance
Commissioned and requested by the Cerulean Collective Faction.

## Media
![Screenshot (490)](/attachments/551b71ba-be27-40e6-9aae-9d9121848b9f)

**Changelog**
🆑
- Add: Added the first Cerulean Collective Hardsuit.

Reviewed-on: HardLight/HardLight#4697
Trying to comment out the fields that cause the yaml linter to fail, hopefully this will prevent more errors
Hopefully
## About the PR
BlueNexa was searching for new ships for the Cartel, and I oblige. I present to you the NOV-Falena, a drone that has been gutted out and reconverted by the Cartel

## Why / Balance
I like making ships! I like events! Why not making both?

## Technical details
The ship is not obtainable from the shipyard at the moment, but rather only available from spawning it via a command. Also there is no price to buy the ship currently (appraised at around 3 mil spesos) since it's for the Cartel and as such we can expect it only to appear in events and boarding operations. The prototype is available, but it will need to be made operational when a proper shipyard for the Cartel is implemented, it's currently commented out so if there will be a shipyard available in the future, we'll have to modify the file to make it register.

## How to test
Load in, spawn the ship via a command and try giving it a ride!

## Media
![image](/attachments/46fd1467-c974-4d4d-a480-22abd02fff17)

## Breaking changes
None, as far as I am aware.

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay. -->
<!-- Make sure to read the guidelines. -->
<!-- Changelog entries must have a blank line above them, and be on the very last line(s). -->
🆑
- Add: The NOV-Naonis orbital shipyard reports some of the drones in its protective swarm missing. The Dirizher Cartel can now be spotted using reconverted drones from NOV-Naonis.

Reviewed-on: HardLight/HardLight#4704
Created the whole machinery for a text on background option controller.
Added one to accessibility settings and bound it to the paper colours
CVars
## About the PR
Add some accessibility for papers. Changing the colour of background & text

The change has a blind spot for empty papers that set their images and are not in override. Minimal real impact the "Paper intentionally left blank" will always be the setting's colour in that case.

## Why / Balance
Accessibility good

## Technical details
Made 3 new client Cvars for foreground colour, background colour, and overriding image papers.

Made a whole new optioncontrol for text on background. And added one for those settings in the accessibility pane.
Added a checkbox for the last settings.

changed some loading from the PaperVisualComponent by the PaperWindow.xaml.cs to accept the accessibility settings instead of the yaml's

## How to test
Make both a paper and a paper with image (cargo invoice for example) and write in them

Fiddle with the colour options, it will change on reopening the plain paper.
Check the box, it applies to the cargo invoice too.

## Media
![settings papers](/attachments/68085a67-5d72-477f-be82-874de90b98b7)
![papers normal](/attachments/bbae33c7-b6f2-4066-85b0-d9769f056f07)
with override
![paper override](/attachments/6425d247-8b76-4129-b000-87aef445b974)

## Breaking changes
The header images are black, instead of being white with a black modulation. So while the code tries to invert them on darker hues, it will fail until they are remade.

**Changelog**
🆑
- Add: Added accessibility for paperwork

Reviewed-on: HardLight/HardLight#4711
## About the PR
This PR adds CCFID uniform to autovends.

## Why / Balance
The uniform adds a bit of variety to the station gameplay, letting people dress up nicer.
This is a part of a bounty: https://discord.com/channels/1380477227912925194/1549946840919711815

## Technical details
This just adds a uniform.

## How to test
Spawn into the game, spawn the uniform, wear it

## Media
![Screenshot_20260926_201622](/attachments/5227e228-8ab6-4368-af35-099b72d5a2ea)
![Screenshot_20260926_201714](/attachments/3b7ba067-bb4f-40e2-aa79-ad75a7605757)

## Breaking changes
None

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay. -->
<!-- Make sure to read the guidelines. -->
<!-- Changelog entries must have a blank line above them, and be on the very last line(s). -->
🆑
- Add: Added CCFID uniform!

Reviewed-on: HardLight/HardLight#4717
## About the PR
The PR adds the NOV-Galilei to hardlight, hijacked by the Dirizher Cartel to serve as a fleet anchor, station-breaker, ship vaporizer, eradicator of lone people and whatever adjective you want to use.

The people of the Cartel were giving me some very rigid guidelines. Let me tell you, you will die. Your ship will die. The ghosts that were spectating aboard your ship will also die. The people two sectors away playing RMC will also, die, although they will be dying just a little less
.
This ship is meant to be event-only and utilized as a boss battle for the server. I am not really sure how it will fare against multiple ships, but let's say that you don't want to fight it alone. Give it a test run.

## Why / Balance
This is not balanced.
Please, be careful.

Again. This is not balanced.
Please spawn it only for events where you expect a lot of freelancer action with dedicated fighting ships.

## Technical details
As per with the Falena, the prototype is there, but doesn't have an available shipyard or cost associated to it and thus can't be spawned via traditional means. The YAML Linter is expected to fail.
(Please, never, never make this available at a regular shipyard.)

## How to test
Load in, spawn the ship via a command. Enjoy wanton slaughter.

## Media
![image](/attachments/e475d549-d845-45cb-96f5-5f5fd71a2d81)
![image](/attachments/e9133914-6e11-4763-a9d2-7f9153dd4524)
![image](/attachments/3710729d-cb01-4f69-a9b1-fec2615b068f)
![image](/attachments/4695f19f-7936-472a-aee8-760b8678bd9b)
I know media attachments are a bit meh, I took them during the process of building the ship, they should be the most accurate I have.
## Breaking changes
Balance is broken.
The ships of the freelancers will also be broken.
Their very spirit, and immortal soul might break as well.

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay. -->
<!-- Make sure to read the guidelines. -->
<!-- Changelog entries must have a blank line above them, and be on the very last line(s). -->
🆑
-Add: Added a new ship, the Galilei Enforcer. The shipyard catalogue categorically refuses to sell it or acknowledge its existance. Central Command recommends total evacuation of any sector where this ship drops out of bluespace.

Reviewed-on: HardLight/HardLight#4719
Reviewed-by: Cheep <cheep@noreply.code>
Reported changelog :
275.2.0

Bugfixes
* Fixed clients being unable to connect to dev servers.

275.1.0

Bugfixes
* Fixed a DoS exploit related to decrypting network packets.

275.0.0

Breaking changes
* Removed some obsolete code that has been marked as obsolete for over 2 years.
  * Several methods were removed from `PvsOverrideSystem` and `ContainerManagerComponent`.
  * `TimerComponent` has been completely removed.

New features
* Added `StringReader` and `StringWriter` to the sandbox whitelist.
* Added `IEmitter`, `Emitter`, and `EmitterSettings` from `YamlDotNet` to the sandbox whitelist.

Bugfixes
* Fixed hiding scrollbars preventing manual scrolling, but better.

274.0.1

Bugfixes
- Fixed hiding the scrollbar preventing manual scrolling
- Fixed wrong behavior in `HScrollBarHidden` getter

Other
- Add documentation for analyzer attributes
Class has a timer per-entity in the upstream, we're severly behind
technologically. Part of this logic has been ported to smoothen the
transition but this is nowhere close the proper refactor.
Breaking : Commented out a deferred checking for bulbs.
It shouldn't matter since we're update based now...
## About the PR
Updated robust by one step. From 274.0.0 to 275.2.3. This fixes the scroll bug. This deprecate the TimerComponent on entitites. This deprecates helpers in ContainerManagerComponent and PvsOverrideSystem.

MapGridComponent is next.

## Why / Balance
Scroll bug.
I will conquer the tech debt. One deprecation at the time.

## Technical details
Changed the robust submodule one major up to the maximum minor. Removed all deprecated code and made the replacement functional.
Most of it are uses of the TimerComponent. Moved the logic in System updates. I tried to use upstream as a reference.
Some broader ports are needed and annotated for systems to fully make sense. We are also lacking several update steps to have convenient
[AutoPauseField]s on timespans.

One instance of ContainerManager method used in ShipSerializationsystem was replaced by direct access.

All Timer components in yamls were removed.

Several subprojects added to the slnx to build properly.

None of the changes have attribution since they are all either taken from upstream or adapted to be as close as logical within our codebase.

## How to test
Play the game. Nothing dies horribly. Scroll bug is gone

## Media
<!-- Attach media if the PR makes ingame changes (clothing, items, features, etc).
Small fixes/refactors are exempt. Media may be used in SS14 progress reports with credit. -->

## Breaking changes
Robust v275.0.0 :
> * Removed some obsolete code that has been marked as obsolete for over 2 years.
>   * Several methods were removed from `PvsOverrideSystem` and `ContainerManagerComponent`.
>   * `TimerComponent` has been completely removed.

All of those are fixed and non erroenous.

FlammableSystem needs its complete refactor, moving all timers to the component. No impact from my testing.

Lights may not ensure they are socketed correctly. Seemed normal from my tests. `PoweredLightSystem.cs`

**Changelog**

Change-Fix: Fixed the scroll bug. (not me, Robust did. But we're now more Robust)
Reviewed-on: HardLight/HardLight#4686
Reviewed-by: Drekk <drekk@noreply.code>
Also modified merge template to utilize this to tproperly attribute authorship.
Forgejo likes to author merge commits to the *merger*, not the actual author.
## About the PR
Adds various new (stylish) clothing options to the CMO role!
All credits go to OMUstation and DeltaV for the assets.
- CMO's splashproof labcoat
- Veteran CMO's Beret
- CMO's Vest Jumpsuit & Jumpskirt
- CMO's Formal Jumpsuit & Jumpskirt
- CMO's shawl
- CMO's Over The Shoulder Coat

**The cloaks require 20 hours on CMO, while the veteran's beret and labcoat require 75 hours on CMO, and 25 on chemist.**
## Why / Balance
Me and many others in HL feel that CMO, among other command roles, are lacking the clothing department. This is one of likely a few PRs that will aim to add more clothing options to command members!

## Technical details
.rsi and .yml changes in some folders

## How to test
open a game client, customize character, select the "cmo" loadout option, and browse through the new options in the jumpsuit, neck, outerclothing, and head tabs!

## Media
![Screenshot 2026-09-28 210759](/attachments/a5d12fb8-58e1-4fbf-b1b8-9147bc42162a) ![Screenshot 2026-09-28 212820](/attachments/ecf23e3e-696e-4a97-abc4-7be31daac4f1) ![Screenshot 2026-09-28 212835](/attachments/ff19f6da-5da7-47ed-a124-79413d77518a) ![Screenshot 2026-09-28 194915](/attachments/8a2d6295-f1b8-4c2b-8dfb-e61a42574308)

## **Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay. -->
<!-- Make sure to read the guidelines. -->
<!-- Changelog entries must have a blank line above them, and be on the very last line(s). -->
🆑
- Add: Added 8 new clothing items for the CMO to use!

Reviewed-on: HardLight/HardLight#4728
Reviewed-by: Cheep <cheep@noreply.code>
## About the PR
This PR adds an additional marking for reptilians that allows for a very long tail without losing your legs.

## Why / Balance
Bounty - https://discord.com/channels/1380477227912925194/1553530867337527358
This allows people to have a very long tail without sacrificing their legs.

## Technical details
None

## How to test
Spawn in as a reptilian and add the new marking to your character.

## Media
![Screenshot_20260929_111913](/attachments/4b20159e-aae9-4a4e-a2ca-65eb999524c5)
![Screenshot_20260929_111048](/attachments/ec06bed8-3b4f-4445-9684-d26ccc8e772d)

## Breaking changes
<!-- List any breaking changes, including namespaces, public class/method/field changes, prototype renames; and provide instructions for fixing them. -->

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay. -->
<!-- Make sure to read the guidelines. -->
<!-- Changelog entries must have a blank line above them, and be on the very last line(s). -->
🆑
- Add: Added a snake tail marking to reptilians!

Reviewed-on: HardLight/HardLight#4729
## About the PR
Increase vulpkanin headTop marking slots from 1 to 3.

## Why / Balance
Currently, vulps only have one headTop marking slot. This means you can either have ears, or horns. I, and probably many others, would like to have both. :3

## Technical details
Increases slots from 1 to 3 for HeadTop in Species/vulpkanin.yml. That's it.

**Changelog**
🆑
- Tweak: Increased vulp HeadTop slots

Reviewed-on: HardLight/HardLight#4732
## About the PR
Increases vampire hunger and thirst satiation from consuming blood by 5x.

## Why / Balance
As discussed with balance liasons, vampires currently have to carry bluespace jugs full of blood and chug nonstop, as blood gives very little hunger and satiation, requiring vampires to constantly consume extremely large amounts of blood. This also has an unfortunate side effect that vampires are consuming so much blood that they are getting obscene amounts of omnizine in their systems.
This PR increases hunger and thirst satiation, causing vamps to need to consume less blood just to not be starving/thirsty all the time. This also works at reducing the amount of healing/omni vampires get as they are consuming less blood overall.

Start of relevant balance discussion: https://discord.com/channels/1380477227912925194/1509358432283791561/1555308886066597900

## Technical details
Increases water and protein gain from 0.1u/1u of blood to 0.5u/1u of blood.

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay. -->
<!-- Make sure to read the guidelines. -->
<!-- Changelog entries must have a blank line above them, and be on the very last line(s). -->
🆑
- Tweak: Increased vampire hunger and thirst satiation from consuming blood
Change-Author: zohfur
Reviewed-on: HardLight/HardLight#4733
updated disc
## About the PR
Adds the VauxHaul, A light cruiser for Colonal Security

## Why / Balance
This is to start getting Colonial security's shipyard compliant with ship saving standards, Intended to slowly phase out ships in violation of ship saving standards.

## How to test
spawn the ship with a ColSec Shipyard, Ensure it loads.

## Media
![image](/attachments/515d44ed-6c08-4787-861a-02273200fe2e)
![image](/attachments/6fe286d6-f2eb-4650-bb25-114a905f0c29)

## Breaking changes
N/A

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay.
Make sure to read the guidelines and take this Changelog template out of the comment block in order for it to show up.
Changelog must have a 🆑 symbol, so the bot recognizes the changes and adds them to the game's changelog. -->

🆑
- add: Added the Vauxhaul Light Cruiser for Colonial Security

Change-Author: penguin_codest
Reviewed-on: HardLight/HardLight#4736
## About the PR
Replaces reptilian's current plantigrade legs with digitigrade ones.

## Why / Balance
bounty (pls don't yell at me. the masses wanted digi as well😭)

## Technical details
Replaced reptilian default legs with digitigrade ones instead.

## How to test
1. Spawn a Reptilian Urist.
2. Spawn as a Reptilian.

## Media
![image](/attachments/4eb80215-8925-4a4f-aadd-a8427ebfa4d4)
![image](/attachments/748a5cae-5770-4a57-91d6-3ee759935d88)
![image](/attachments/c76d311b-b201-4094-be0c-a3d1820844db)

## Breaking changes
None from my testing.

**Changelog**
🆑
- Tweak: Changed reptilian legs from plantigrade to digitigrade
Change-Author: Antelino
Reviewed-on: HardLight/HardLight#4742
Reviewed-by: Cheep <cheep@noreply.code>
## About the PR
Modifies the chef prepared food items to be more filling. Most dishes now have between 20-50 nutriment, depending on how complicated they are to prepare. Flavorol content has also been slightly increased, particularly on dessert items.

## Why / Balance
This fixes a gameplay issue for chef characters, mainly that of players running up and eating multiple plates of food over a few seconds because they need more nutriment than an entire burger and fries provide. This issue was particularly bad for synth characters.

It also improves immersion by making a meal take more than one or two bites to finish, and improves restaurant RP by allowing characters to share dishes more easily. Makes dessert items more rewarding to prepare and consume, encouraging adding them to meal plans.

## Technical details
Adjusted the SolutionContainerManager values for all the chef craftable food entities:
- Increased maxVol
- Increased ReagentId

## How to test
Spawn food items and use the debug menu to check the solution values

**Changelog**
🆑
- Tweak: Increased nutritional content of food items
Change-Author: ItsBear
Reviewed-on: HardLight/HardLight#4670
Fenn added 10 commits 2026-10-28 07:51:11 +00:00
Closes #1301, #4827, #4830

## About the PR
- Cleans up the guidebook
- Adds all pages from the old wiki to the guidebook
- Implements searchable Space Law charges
- Replaces the Space Law and Command/SEC SOP books to point at the guidebook entries now rather than linking externally to the wiki

## Why / Balance
- Makes all information needed by players accessible in-game diagetically, and overall is a better browsing experience than the wiki

## Technical details
Adds Space Law and sentencing-modifier prototypes with guidebook embeds, plus guide entries for SOP and Space Law. Updates guidebook books and item references, with migration mappings for existing book references.

## How to test
1. Launch the client
2. Open the guidebook
3. Compare guidebook entries to old wiki data

## Media

## Breaking changes
N/A

**Changelog**
🆑
- Fix: Cleaned up guidebook and migrated SOP and Space Law from the old wiki
Change-Author: Slatebreaker
Reviewed-on: HardLight/HardLight#4746
Adjusted existing frontier code to use for remote shuttle controls, added an array of console/server pairs for mapping.

Remote controlled station shuttles have been a major design point for Port Eidolon's mapping efforts.
Adds a warden (armory access) computer and receiver server, a command access harbormaster computer and receiver server, a cargo access computer, and quartermaster access receiver server.
Adds two generic command access pairs, and a unique AI Warship variant, intended for Eidolon mapping.

Frontier's own documentation/usage of this system was incomplete and only used for simple docking control consoles.
Updated the existing NFDrone system, to function with ship movement, not just docks.
Small updates to the main shuttle system to transfer movement input on the remote console, to the receiving drone.
Minor update of Frontier's code in MoverController.

Frontier's station traffic control computers will inherit the same behavior, if they are used anywhere here.

Change-Add: Added remote shuttle console pairs for mapping!
## About the PR
<!-- What did you change? -->
Adjusted existing frontier code to use for remote shuttle controls, added an array of console/server pairs for mapping.
<!-- If this is a code change, summarize at high level how your new code works. This makes it easier to review. -->

## Why / Balance
<!-- Discuss how this would affect game balance or explain why it was changed. Link any relevant discussions or issues. -->
Remote controlled station shuttles have been a major design point for Port Eidolon's mapping efforts.
Adds a warden (armory access) computer and receiver server, a command access harbormaster computer and receiver server, a cargo access computer, and quartermaster access receiver server.
Adds two generic command access pairs, and a unique AI Warship variant, intended for Eidolon mapping.
<!-- If your PR closes an open issue put `closes #issuenumber` here so that the accompanying issue is automatically closed-->

## Technical details
<!-- Summary of code changes for easier review. -->
Frontier's own documentation/usage of this system was incomplete and only used for simple docking control consoles.
Updated the existing NFDrone system, to function with ship movement, not just docks.
Small updates to the main shuttle system to transfer movement input on the remote console, to the receiving drone.
Minor update of Frontier's code in MoverController.
## How to test
<!-- Describe a procedure to test this feature, along with expected output/behavior. -->
Place a powered receiver server onto any powered shuttle, then place a matching remote console on a separate grid.
Placing the remote before the receiver will cause it to revert to standard shuttle controls, and fail to connect if a receiver is later added
Opening the remote's UI will center the controls and ship view onto the receiver shuttle. Destruction or removal of the receiver will make the remote revert to normal shuttle console behavior (controlling its own grid).
Opening the receiver's UI will allow direct control of the connected shuttle.
## Media
<!-- Attach media if the PR makes ingame changes (clothing, items, features, etc).
Small fixes/refactors are exempt. Media may be used in SS14 progress reports with credit. -->

## Breaking changes
<!-- List any breaking changes, including namespaces, public class/method/field changes, prototype renames; and provide instructions for fixing them. -->
Potentially the affected .cs systems.
Frontier's station traffic control computers will inherit the same behavior, if they are used anywhere here.
**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay. -->
<!-- Make sure to read the guidelines. -->
<!-- Changelog entries must have a blank line above them, and be on the very last line(s). -->
🆑
- Add: Added remote shuttle console pairs for mapping!
Change-Author: FFValor
Reviewed-on: HardLight/HardLight#4767
Reviewed-by: Cheep <cheep@noreply.code>
Closes #1715

Change-Fix: Itemized player can now be right clicked without getting dumped
## About the PR
Fixed the bug that dumped players when resolving their verbs

## Why / Balance
Closes #1715

## Technical details
Changed a call in a PickedupAttempt that was summoning an action instead of checking for cancels.

## How to test

- Spawn your favourite pocket buddy
- Spawn a duffel bag
- Put the ~~avali~~ friend inside
- Right click, verbs display without dumping them

## Media
![imag](/attachments/7b91083c-8d3b-435a-a40f-befaad984b2a)

## Breaking changes
<!-- List any breaking changes, including namespaces, public class/method/field changes, prototype renames; and provide instructions for fixing them. -->

**Changelog**
🆑
- fix: Fixed the bug that dumped players when resolving their verbs
Change-Author: AlphonsedeV
Reviewed-on: HardLight/HardLight#4770
## About the PR
Synths can now change "skin" color to any color.

## Why / Balance
Requested and would be nice for customization.

## Technical details
Changed the `skinColoration` in **synth.yml** from `Hues` to `AnyColour`

## How to test
1. Make a synth
2. Change it's color to any color
3. Enjoy

## Breaking changes
Shouldn't be any

**Changelog**
🆑
- Tweak: Made synths able to use any "skin" color.
Change-Author: Antelino
Reviewed-on: HardLight/HardLight#4752
Reviewed-by: Cheep <cheep@noreply.code>
Change-Tweak: Drastically reduced shipgun damage across the board.
Change-Tweak: Reclassified *most* shipguns to C2.
Change-Tweak: Changed Blip colors to match new C2 ratings for shipguns.
Change-Tweak: Changed civilian shipgun variants to C1.
Change-Tweak: Readjusted various shipgun market values.
This is a full rework of all Shipguns damage levels and brings them to absolute parity with Triads shipgun damages
This makes all shipguns viable for use and creates emphasis on breaking modules and boarding ships

Change-Author: Hammeredmantis
Reviewed-on: HardLight/HardLight#4772
Reviewed-by: Cheep <cheep@noreply.code>
Reviewed-by: Notarin Steele <424c414e4b@gmail.com>
Changed:
Blunt to 60% resist
Slash to 60% resist
Pierce to 25% resist
Heat to 50% resist
Radiation to 50% resist
Explosion to 50% resist
Added a slowdown of 15% run speed and 10% walk speed
Increased power draw for the shield

Change-Tweak: Rebalanced Maxim values.
This reverts commit 1a9023ec6c.
Change-Add: Restore correct licenses to borrowed code.
fixes erroneous license changes
Change-Remove: Revert Nutriment levels on FoodMeatChickenFriedMystery.
We accidentally nuked the New Frontiers copyright line when putting the WizDen one back.
We still have old MIT frontier code in here so just keep both.
The last fix put the old frontier credits back on the nfsd hardsuits,
but the 8 outer suits also have harpy/lamia/segment sprites from monolith under CC0.
Tossed TJohnson and @noctyrnal back into the credits for those and cleaned up some random tabs.
MASTER BOOT RECORD only gave delta-v permission to use this track, not downstream forks.
Nuked both copies of the ogg, the attributions, and the jukebox prototype.
Delta-v had this marked as public domain just because people remix it online,
even though the attribution LITERALLY says there is no license for it.
Nuked both oggs, the attributions, and the jukebox prototype.
The readme table said _FarHorizons was pure MIT, which is wrong since the far horizons reactor code is CC by nc sa 3.0 and starlight code is modified MIT.
Also noted that while upstream RMC-14 is pure MIT, we inherited AGPL headers from downstream forks.
Client packaging was only grabbing the dlls and resources so none of the root licenses or readme files were actually making it into the client zip.
Funky's SPDX bot just slapped CC-BY-NC-SA-3.0 headers onto shit and called it a day.
Relicensed to MIT with permission from jhrushbe, rottenheadphones, and taydeo.
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u "master:HardLight-master"
git switch "HardLight-master"

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch "master"
git merge --no-ff "HardLight-master"
git switch "HardLight-master"
git rebase "master"
git switch "master"
git merge --ff-only "HardLight-master"
git switch "HardLight-master"
git rebase "master"
git switch "master"
git merge --no-ff "HardLight-master"
git switch "master"
git merge --squash "HardLight-master"
git switch "master"
git merge --ff-only "HardLight-master"
git switch "master"
git merge "HardLight-master"
git push origin "master"
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
6 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Jayty/HardLightJay!3
No description provided.