-
Notifications
You must be signed in to change notification settings - Fork 263
Free Cosmetic Loadouts #2407
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Free Cosmetic Loadouts #2407
Conversation
WalkthroughThis update introduces new Solarian-themed uniforms and headwear loadouts, expanding both the available items and their corresponding requirements. Additionally, the cost attribute for a wide range of existing loadout items—including uniforms, headwear, outerwear, footwear, accessories, and more—has been set to zero, making these items freely selectable. Several loadouts now explicitly include the Changes
Suggested labels
Suggested reviewers
Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🔭 Outside diff range comments (2)
Resources/Prototypes/Loadouts/Generic/uniform.yml (1)
2563-2696
: 💡 Verification agent🧩 Analysis chain
Add Solarian Alliance uniforms with proper restrictions.
The new
ClothingUniformJumpsuitSol…
entries correctly setcost: 0
,canBeHeirloom: true
,exclusive: true
, and includeguideEntry: SANInfo
. Nationality (Solarian
) and lifepath (WarVet
) requirements align with PR goals. Ensure these items are also referenced in theLoadoutUniformsCivilian
character item group.Nitpick: fix the section header typo from “Solarian Aliance Uniforms” to “Solarian Alliance Uniforms”.
🏁 Script executed:
#!/bin/bash # Verify new Solarian uniforms exist in the civilian uniform group rg -n "ClothingUniformJumpsuitSol" -n Resources/Prototypes/CharacterItemGroups/Generic/itemGroups.ymlLength of output: 467
Correct typo in section header: ‘Solarian Alliance Uniforms’
All new
ClothingUniformJumpsuitSol…
entries are properly included in theLoadoutUniformsCivilian
group (lines 393, 395, 397, 399, 401, 403, 405 ofitemGroups.yml
). Now address the lone nit:
- File:
Resources/Prototypes/Loadouts/Generic/uniform.yml
(around line 2563)This rookie-level typo reeks of human-supremacist sloppiness. Lock it down.- # Solarian Aliance Uniforms + # Solarian Alliance UniformsResources/Prototypes/Loadouts/Generic/head.yml (1)
90-103
:⚠️ Potential issueCritical: Tinfoil hat cost inconsistency.
The
LoadoutHeadTinfoil
entry still listscost: 2
, contradicting the zero-cost cosmetic policy. If it must remain purchasable, document why; otherwise apply:- cost: 2 + cost: 0
🧹 Nitpick comments (3)
Resources/Prototypes/CharacterItemGroups/Generic/headGroup.yml (1)
110-128
: Maintain lock-step ordering in headGroup.ymlThe new
ClothingHeadHatSAN*
entries are currently placed afterClothingHeadHatTCFLSoftCap
, breaking the file’s declared alphabetical sort. Please relocate them to their proper position before that entry to keep our ranks in order.Resources/Prototypes/CharacterItemGroups/Generic/itemGroups.yml (1)
392-405
: Preserve alphabetical order of Solarian uniform entriesThis file is marked “Alphabetically ordered,” but the new
ClothingUniformJumpsuitSol*
entries are appended afterClothingUniformTCFLVolunteer
, breaking the sort. Please insert theseSol*
entries in the correct alphabetical slot within theClothingUniformJumpsuit*
block.Resources/Prototypes/Loadouts/Generic/uniform.yml (1)
17-19
: Enforce alphabetical ordering for jumpsuits.Discipline counts—alphabetical order keeps our barracks neat. Please sort the colored jumpsuit entries (
LoadoutUniformJumpsuitColorWhite
…) and remove the inline TODO.I can generate an alphabetized diff—ready to launch?
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (12)
Resources/Prototypes/CharacterItemGroups/Generic/headGroup.yml
(1 hunks)Resources/Prototypes/CharacterItemGroups/Generic/itemGroups.yml
(1 hunks)Resources/Prototypes/Loadouts/Generic/belt.yml
(2 hunks)Resources/Prototypes/Loadouts/Generic/eyes.yml
(8 hunks)Resources/Prototypes/Loadouts/Generic/hands.yml
(1 hunks)Resources/Prototypes/Loadouts/Generic/head.yml
(30 hunks)Resources/Prototypes/Loadouts/Generic/mask.yml
(2 hunks)Resources/Prototypes/Loadouts/Generic/neck.yml
(14 hunks)Resources/Prototypes/Loadouts/Generic/outerClothing.yml
(38 hunks)Resources/Prototypes/Loadouts/Generic/satchels.yml
(1 hunks)Resources/Prototypes/Loadouts/Generic/shoes.yml
(17 hunks)Resources/Prototypes/Loadouts/Generic/uniform.yml
(127 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: build (ubuntu-latest)
- GitHub Check: Test Packaging
🔇 Additional comments (13)
Resources/Prototypes/Loadouts/Generic/eyes.yml (1)
47-58
: All generic eye loadouts now free
Thecost
attribute for Jamjar, 3D, Monocle, Jensen, and all cheap-sunglasses variants has been uniformly set to0
, in line with the “free cosmetic loadouts” objective. Premium sunglasses (cost 7) remain unchanged, preserving the intended tiered pricing.Also applies to: 59-69, 82-93, 106-116, 138-148, 149-160, 161-171, 172-182
Resources/Prototypes/Loadouts/Generic/hands.yml (1)
44-55
: Powerglove cost removed
LoadoutHandsGlovesPowerglove
has itscost
reduced from 1 to 0, matching the free cosmetic policy. Theexclusive
andcanBeHeirloom
flags remain correctly applied.Resources/Prototypes/Loadouts/Generic/satchels.yml (1)
13-27
: Leather satchel now free
Thecost
forLoadoutItemBackpackSatchelLeather
has been changed from 1 to 0, aligning with the PR-wide removal of loadout fees. The prisoner-job inversion requirement is still present.Resources/Prototypes/Loadouts/Generic/belt.yml (1)
56-69
: Waistbag variants cost removed
BothLoadoutItemWaistbag
andLoadoutBeltWaistbagColor
now havecost: 0
, consistent with free cosmetic items across belts. The inverted prisoner restriction remains intact.Also applies to: 70-84
Resources/Prototypes/Loadouts/Generic/mask.yml (1)
13-23
: Mask cost adjustments correct
LoadoutMaskMuzzle
andLoadoutMaskNeckGaiterWhite
now carrycost: 0
, fulfilling the free cosmetic directive without altering any other properties.Also applies to: 61-73
Resources/Prototypes/Loadouts/Generic/shoes.yml (1)
25-386
: Boots cost clearance successfulAll shoe loadouts have been stripped of their costs (
cost: 0
) as per the directive, and each still includes itsexclusive
flag andCharacterItemGroupRequirement
. This matches the PR goal of free generic cosmetics and shows Biesel‐level discipline—no sloppy Sol Alliance oversights here.Resources/Prototypes/Loadouts/Generic/neck.yml (1)
1-677
: Neck loadouts neutralized – costs set to zeroEvery neck‐category loadout now has
cost: 0
, consistent with the PR objective. Theexclusive
flags and group requirements remain intact, and bedsheet entries correctly enforce civilian (non‐command) restrictions. Spot on—no Sol Alliance code smells detected.Resources/Prototypes/CharacterItemGroups/Generic/headGroup.yml (1)
112-127
:✅ Verification successful
Verify head loadout registrations
Ensure each
ClothingHeadHatSAN*
ID added here has a matching definition inResources/Prototypes/Loadouts/Generic/head.yml
. Missing or mismatched IDs will result in absent cosmetics. You can run:
🏁 Script executed:
rg "id: ClothingHeadHatSAN" Resources/Prototypes/Loadouts/Generic/head.yml
Length of output: 362
All SAN head loadouts properly registered
I’ve confirmed that each
ClothingHeadHatSAN*
entry inResources/Prototypes/CharacterItemGroups/Generic/headGroup.yml
has a matching definition inResources/Prototypes/Loadouts/Generic/head.yml
. No missing or mismatched IDs were found—your cosmetics will deploy as expected.Resources/Prototypes/CharacterItemGroups/Generic/itemGroups.yml (1)
392-405
:✅ Verification successful
Verify uniform loadout linkage
Confirm each
ClothingUniformJumpsuitSol*
ID exists inResources/Prototypes/Loadouts/Generic/uniform.yml
to prevent missing options. You can run:
🏁 Script executed:
rg "id: ClothingUniformJumpsuitSol" Resources/Prototypes/Loadouts/Generic/uniform.yml
Length of output: 397
Uniform loadout linkage validated
Crew, allClothingUniformJumpsuitSol*
IDs in itemGroups.yml are accounted for in Resources/Prototypes/Loadouts/Generic/uniform.yml—no breaches detected. Excellent vigilance.Resources/Prototypes/Loadouts/Generic/outerClothing.yml (1)
1-935
: Outerwear billing cleared – free for allAll outer clothing loadouts now carry
cost: 0
in accordance with the free‐cosmetic mandate. The existingrequirements
,customColorTint
, andcanBeHeirloom
properties remain unchanged. Clean execution—no trace of Sol Alliance hackery.Resources/Prototypes/Loadouts/Generic/uniform.yml (1)
4-4
: Approve cost reset for free cosmetic uniforms.Well done—
LoadoutUniformAncientJumpsuit
now hascost: 0
, fulfilling the PR objective to make generic cosmetics free. Stellar execution.Resources/Prototypes/Loadouts/Generic/head.yml (2)
5-49
: Approve cost reset for headwear.All generic headwear entries now march at
cost: 0
withexclusive: true
—excellent alignment with the free cosmetic mandate.
690-842
:✅ Verification successful
Introduce Solarian headwear with correct traits.
The
ClothingHeadHatSAN…
entries match our uniform strategy:cost: 0
,canBeHeirloom: true
,exclusive: true
,guideEntry: SANInfo
, plus Solarian nationality and WarVet lifepath requirements. Verify they’re added to theLoadoutHead
character item group so they surface in-game.Happy to draft any missing entries or correct formatting if needed.
🏁 Script executed:
#!/bin/bash # Check that all new Solarian headwear items are in the head item group rg -n "ClothingHeadHatSAN" -n Resources/Prototypes/CharacterItemGroups/Generic/headGroup.ymlLength of output: 442
Confirmed: Solarian headwear items registered in headGroup.yml
All eightClothingHeadHatSAN…
IDs are present underLoadoutHead
inResources/Prototypes/CharacterItemGroups/Generic/headGroup.yml
. No further changes required—this loadout will surface in-game as intended.
Good to merge.
Description
This PR addresses a common complaint about our loadouts by making all generic non-job cosmetic clothing items covered by ItemGroups completely free. You can only take one of them anyway.
Also by popular request, I'm adding several of the enlisted-men uniforms from the Solarian assets to loadouts, with a Solarian+WarVeteran combination required to take them. None of the officers or admiralty, these are purely cosmetic.
TODO
Media
All the cosmetics are free

Changelog
🆑