51 Commits

Author SHA1 Message Date
Alexis 21b4095dfd [MDB IGNORE] [IDB IGNORE] Upstream Sync - 04/17/2026 (#5453)
Upstream 04/17/2026

fixes https://github.com/Bubberstation/Bubberstation/issues/5549

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: loganuk <fakeemail123@aol.com>
Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com>
Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
Co-authored-by: Lucy <lucy@absolucy.moe>
Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com>
Co-authored-by: Isratosh <Isratosh@hotmail.com>
Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com>
Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com>
Co-authored-by: Alexander V. <volas@ya.ru>
Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com>
Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com>
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com>
Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>
Co-authored-by: Josh <josh.adam.powell@gmail.com>
Co-authored-by: Josh Powell <josh.powell@softwire.com>
Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com>
Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com>
Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com>
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2026-05-16 00:56:00 +02:00
nevimer 00ccf0c6b5 Merge remote-tracking branch 'tgstation/master' into upstream-feb12-2026
# Conflicts:
#	.github/CODEOWNERS
#	.github/workflows/compile_changelogs.yml
#	.github/workflows/stale.yml
#	SQL/database_changelog.md
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/__DEFINES/atom_hud.dm
#	code/__DEFINES/inventory.dm
#	code/__DEFINES/mobs.dm
#	code/__DEFINES/species_clothing_paths.dm
#	code/__DEFINES/subsystems.dm
#	code/__DEFINES/surgery.dm
#	code/__HELPERS/global_lists.dm
#	code/_globalvars/lists/maintenance_loot.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/minor_mapping.dm
#	code/controllers/subsystem/processing/quirks.dm
#	code/controllers/subsystem/shuttle.dm
#	code/datums/components/palette.dm
#	code/datums/components/surgery_initiator.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/hud.dm
#	code/datums/mood.dm
#	code/datums/mutations/chameleon.dm
#	code/datums/quirks/negative_quirks/nyctophobia.dm
#	code/datums/status_effects/debuffs/debuffs.dm
#	code/datums/status_effects/debuffs/drunk.dm
#	code/datums/status_effects/debuffs/slime/slime_leech.dm
#	code/datums/weather/weather.dm
#	code/game/data_huds.dm
#	code/game/objects/items.dm
#	code/game/objects/items/devices/scanners/health_analyzer.dm
#	code/game/objects/items/frog_statue.dm
#	code/game/objects/items/rcd/RLD.dm
#	code/game/objects/items/robot/items/hypo.dm
#	code/game/objects/items/stacks/medical.dm
#	code/game/objects/items/stacks/wrap.dm
#	code/game/objects/items/storage/garment.dm
#	code/game/objects/items/tools/medical/defib.dm
#	code/game/objects/items/weaponry.dm
#	code/game/objects/items/weaponry/melee/misc.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/game/objects/structures/curtains.dm
#	code/game/objects/structures/dresser.dm
#	code/game/objects/structures/girders.dm
#	code/game/objects/structures/maintenance.dm
#	code/game/objects/structures/mirror.dm
#	code/modules/admin/greyscale_modify_menu.dm
#	code/modules/admin/verbs/light_debug.dm
#	code/modules/antagonists/ashwalker/ashwalker.dm
#	code/modules/antagonists/heretic/knowledge/starting_lore.dm
#	code/modules/antagonists/ninja/ninjaDrainAct.dm
#	code/modules/art/paintings.dm
#	code/modules/client/preferences.dm
#	code/modules/client/verbs/ooc.dm
#	code/modules/clothing/head/wig.dm
#	code/modules/events/disease_outbreak.dm
#	code/modules/holodeck/holo_effect.dm
#	code/modules/jobs/job_types/head_of_security.dm
#	code/modules/jobs/job_types/security_officer.dm
#	code/modules/library/skill_learning/generic_skillchips/point.dm
#	code/modules/mining/lavaland/ash_flora.dm
#	code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm
#	code/modules/mob/dead/new_player/new_player.dm
#	code/modules/mob/living/basic/guardian/guardian.dm
#	code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm
#	code/modules/mob/living/carbon/carbon.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_defines.dm
#	code/modules/mob/living/carbon/life.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/mob.dm
#	code/modules/mob_spawn/ghost_roles/mining_roles.dm
#	code/modules/mod/mod_control.dm
#	code/modules/mod/modules/modules_general.dm
#	code/modules/modular_computers/computers/item/computer_ui.dm
#	code/modules/paperwork/paper.dm
#	code/modules/paperwork/paperbin.dm
#	code/modules/power/lighting/light.dm
#	code/modules/projectiles/guns/energy/kinetic_accelerator.dm
#	code/modules/projectiles/projectile.dm
#	code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm
#	code/modules/reagents/chemistry/reagents/food_reagents.dm
#	code/modules/reagents/chemistry/reagents/other_reagents.dm
#	code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
#	code/modules/research/xenobiology/crossbreeding/_clothing.dm
#	code/modules/research/xenobiology/crossbreeding/prismatic.dm
#	code/modules/surgery/advanced/brainwashing.dm
#	code/modules/surgery/advanced/lobotomy.dm
#	code/modules/surgery/amputation.dm
#	code/modules/surgery/blood_filter.dm
#	code/modules/surgery/bodyparts/_bodyparts.dm
#	code/modules/surgery/brain_surgery.dm
#	code/modules/surgery/cavity_implant.dm
#	code/modules/surgery/coronary_bypass.dm
#	code/modules/surgery/gastrectomy.dm
#	code/modules/surgery/healing.dm
#	code/modules/surgery/limb_augmentation.dm
#	code/modules/surgery/organ_manipulation.dm
#	code/modules/surgery/revival.dm
#	code/modules/surgery/sleeper_protocol.dm
#	code/modules/surgery/surgery_helpers.dm
#	code/modules/surgery/surgery_step.dm
#	code/modules/unit_tests/_unit_tests.dm
#	code/modules/unit_tests/designs.dm
#	code/modules/unit_tests/icon_state_worn.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_cultist.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_headrevolutionary.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_provocateur.png
#	code/modules/unit_tests/screenshots/screenshot_husk_body.png
#	code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png
#	icons/map_icons/clothing/head/_head.dmi
#	icons/map_icons/clothing/shoes.dmi
#	icons/map_icons/items/_item.dmi
#	icons/mob/huds/hud.dmi
#	icons/mob/inhands/64x64_lefthand.dmi
#	icons/mob/inhands/64x64_righthand.dmi
#	icons/obj/machines/computer.dmi
#	tgui/packages/tgui/interfaces/OperatingComputer.jsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/types.ts
#	tgui/packages/tgui/interfaces/SurgeryInitiator.tsx
#	tools/icon_cutter/check.py
2026-02-12 23:50:09 -05:00
Mathilde 585e2ffc55 Tidied up the Toys tab (#5097)
## About The Pull Request

As title. I moved the /tg/ toys (dice, plushies, cards) into the Toys
tab (for the longest time they've been in the Others tab). Also
categorised them into Plushies, Cards, Dice, Balls, Art tools.
## Why It's Good For The Game

## Proof Of Testing

<img width="400" alt="image"
src="https://github.com/user-attachments/assets/5f08006f-c096-4b1f-b57f-44987bdf09ce"
/>

</details>

## Changelog

🆑
code: Tidied up the Toys tab in the loadout menu.
/🆑

---------

Co-authored-by: Alexis <catmc8565@gmail.com>
2026-01-16 15:09:49 +01:00
nevimer a33fd49968 Upstream 12 15 25 unique reskins fixes (#5019)
This branch needs help, tons of datums to make for the customizable
items.

---------

Co-authored-by: Alexis <catmc8565@gmail.com>
2026-01-10 13:14:26 -05:00
John Willard 41f34c2a86 Adds tgui color picker (#94313)
## About The Pull Request

Ports https://github.com/Monkestation/Monkestation2.0/pull/1231 which is
a port of https://github.com/BeeStation/BeeStation-Hornet/pull/9417
which is a port of https://github.com/omgovich/react-colorful/
Also a port of
https://github.com/effigy-se/effigy/blob/main/tgui/packages/tgui/interfaces/effigy/ColorPickerModal.tsx
for hex color presets

Admin stuff got excluded (pref-like picker, filterrific, get-variables)



https://github.com/user-attachments/assets/7069bef9-81cd-4636-bf68-cbad227ef09e


## Why It's Good For The Game

It's one of the only input areas that still doesn't use TGUI, leaving
darkmode players flashbanged every single time a color selection UI is
opened. This is also just visually great and I think a big upgrade from
byond's.

## Changelog

🆑 omgovich, itsmeow, Absolucy, JohnFulpWillard, jlsnow301, TealSeer,
lessthnthree
add: Color selection panels now use TGUI (If you have TGUI enabled in
settings).
/🆑
2025-12-21 16:18:34 -08:00
nevimer 1a21687143 Revert "Refactors unique_reskin, deletes retool kit (#93775)"
This reverts commit 6ebfbccebb.

# Conflicts:
#	code/modules/loadout/loadout_items.dm
#	code/modules/paperwork/clipboard.dm
2025-12-15 18:17:06 -05:00
nevimer 6e9f2ccfc0 Merge remote-tracking branch 'tgstation/master' into upstream-12-15
# Conflicts:
#	.github/workflows/compile_all_maps.yml
#	.github/workflows/run_integration_tests.yml
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/_onclick/hud/credits.dm
#	code/controllers/subsystem/networks/id_access.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/game/machinery/doors/door.dm
#	code/game/objects/structures/crates_lockers/closets/secure/medical.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/modules/antagonists/malf_ai/malf_ai_modules.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/loadout/categories/accessories.dm
#	code/modules/loadout/loadout_helpers.dm
#	code/modules/loadout/loadout_items.dm
#	code/modules/loadout/loadout_preference.dm
#	code/modules/mob/living/silicon/robot/robot_defense.dm
#	code/modules/mod/mod_theme.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/reagents/reagent_containers/cups/drinks.dm
#	code/modules/shuttle/mobile_port/variants/supply.dm
#	code/modules/surgery/organs/internal/eyes/_eyes.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png
#	icons/hud/screen_full.dmi
2025-12-15 18:12:29 -05:00
MrMelbert 5fdd0c56e5 Adds recolorable santa hat to loadout during the festive season (#94365)
## About The Pull Request

Adds support for holiday-specific loadout items.
They are only visible in the loadout during the holiday. 
When the holiday ends, the item's removed from your loadout list. 

During the entire month of December (IE, During the "Festive Season"
holiday) you can equip a recolorable santa hat as a loadout option

## Why It's Good For The Game

Holiday cheer (Also assistants already spawn with one)

## Changelog

🆑 Melbert
add: You can select a recolorable Santa Hat in the loadout during the
festive season (December 1st - 31st)
/🆑
2025-12-09 13:49:20 -07:00
MrMelbert 6ebfbccebb Refactors unique_reskin, deletes retool kit (#93775)
## About The Pull Request

Closes #93635

`unique_reskin` is no longer a list on `/item`, now `/datum/atom_skin`

The actual reskinning behavior has been moved out to
`/datum/component/reskinable_item`

PKC reskinning is now handled via alt-click reskin, rather than via the
retooling kit. The retooling kit has been removed.
There's no limit on how many times you can reskin your PKC (though
perhaps we limit it to one reskin and keep the retooling kit as a way to
allow a miner to reskin it a second time?)

The Ashen Skull unique reskin is still a trophy, and instead unlocks its
unique reskin option in the alt-click radial.

## Why It's Good For The Game

I'm unsure why the retooling kit exists on its own, when it's relatively
cheap and just performs the behavior of alt-click reskinning.

So to keep it consistent with all other forms of reskinning I've just
made it baseline. To accomplish that I refactored reskinning.

The new form of reskinning allows for greater potential in adding
reskins, allowing far more than just an icon state change. Also we can
put it on turfs and mobs and structures now which is cool I guess

There's also the added benefit of being able to see an item's reskins
without needing to instantiate it, which the loadout menu uses to great
effect.

## Changelog

🆑 Melbert
refactor: Refactored item reskinning (the alt-click way), report any
oddities with that
del: Deleted the crusher retool kit, now you can just reskin your
crusher with alt-click. The Skull skin is still locked behind having the
Ashen Skull trophy applied.
fix: Stunswords no longer have an incorrect lore blurb
fix: Fixed loadout item reskinning's UI
/🆑
2025-11-30 19:31:29 -07:00
Roxy 2f3fc83107 Fixes for 229910f33d 2025-10-25 15:50:14 -04:00
Roxy e28e9fbdba Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-23-10-2025 2025-10-23 17:38:23 -04:00
MrMelbert 229910f33d Adds job palette system to loadout / Adds jobs colored overalls to loadout (#93312)
## About The Pull Request

### Adds job palette system to loadout

Loadout items now have a system for coloring the equipped item based on
job palettes.

Job palettes are generically defined but can be overriden on a per-job,
per-department basis for subtypes.

### Adds overalls to the Loadout

These use the job palette system.

<img width="956" height="954" alt="image"
src="https://github.com/user-attachments/assets/7cc03eec-11c6-48e1-ace5-7097bf820a57"
/>

Some notes:

- Assistant always picks black. Initially I was going to go full grey,
but black fits grey and colored jumpsuits.
   - Clown is a bit of a sin, but it's kind of unavoidable. 
- Jobs with suit storage items will attempt to relocate them - Either to
the backpack, belt slot, or one of the two hands. If all of these fail
it'll just delete the suit storage item.
- Before anyone says "The botanist color doesn't fit!!", that's
LITERALLY the color we already give them in their vendor

## Why It's Good For The Game

The job palette system lets us add more variety to loadouts, opening up
player customization without harming the indetifiability of jobs at a
glance.

In this case, overalls are a retro sci-fi stable (see: Paranoia ttrpg)
but we couldn't hand them out willy-nilly as they were fully recolorable
- A scientist could have bright red overalls, looking more like a
security officer. But the palette system gives the scientist a dark
purple set of overalls, which makse them very obviously scientist.

Colors are subject to change.

## Changelog

🆑 Melbert
add: Adds job-colored overalls to the loadout 
/🆑
2025-10-17 16:32:14 +02:00
xPokee 5e629dff04 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-10-03 07:05:54 -04:00
MrMelbert 3ea7b03369 Accentuate the positive with **Personality**: A (soft) mood rework (#92941)
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2025-10-02 19:00:13 +00:00
MrMelbert 0efc91daa4 Tac Workboots in Loadout (#92363)
## About The Pull Request

Puts le new "tactical workboots" in le loadout

## Why It's Good For The Game

I think there's a fair argument that there are many jobs on the station
would REASONABLY wear boots over flimsy sneakers:

- Assistants
- Botanists (Well, preferably would use tan, but that's engi's thing)
- Atmospheric Technicians (Now that I think about it, why don't these
guys spawn with tan engi workboots?)
- Cargo Technicians
- Janitor (Seriously this is the grimiest guy ever)
- Scientists (Some)

So let them wear boots. Jumpsuited and booted goon is sci-fi kino.

## Changelog

🆑 Melbert
add: Adds Black Workboots to Loadout
/🆑

(cherry picked from commit ef1cf7ad54)
2025-08-08 15:33:43 -04:00
MrMelbert ef1cf7ad54 Tac Workboots in Loadout (#92363)
## About The Pull Request

Puts le new "tactical workboots" in le loadout

## Why It's Good For The Game

I think there's a fair argument that there are many jobs on the station
would REASONABLY wear boots over flimsy sneakers:

- Assistants
- Botanists (Well, preferably would use tan, but that's engi's thing)
- Atmospheric Technicians (Now that I think about it, why don't these
guys spawn with tan engi workboots?)
- Cargo Technicians
- Janitor (Seriously this is the grimiest guy ever) 
- Scientists (Some) 

So let them wear boots. Jumpsuited and booted goon is sci-fi kino.

## Changelog

🆑 Melbert
add: Adds Black Workboots to Loadout
/🆑
2025-08-08 12:24:23 +01:00
Likteer 5ab12a4a64 Adds 2 pre-existing mugs to loadout (#91910) 2025-07-19 20:29:27 -04:00
Likteer 982b0373d1 Adds 2 pre-existing mugs to loadout (#91910) 2025-07-15 21:05:40 -04:00
MrMelbert bcd1d78189 Migrate "Cyborg Pre-screened dogtag" quirk to loadout (#91868)
## About The Pull Request
Borg me dogtag is a loadout item instead of a quirk

## Why It's Good For The Game
The quirk doesn't do anything

## Changelog

🆑 Melbert
del: "Cyborg Pre-screened dogtag" quirk. It's a loadout item now.
/🆑
2025-07-04 16:33:06 -04:00
MrMelbert cde912d1b5 Migrate "Cyborg Pre-screened dogtag" quirk to loadout (#91868)
## About The Pull Request
Borg me dogtag is a loadout item instead of a quirk

## Why It's Good For The Game
The quirk doesn't do anything

## Changelog

🆑 Melbert
del: "Cyborg Pre-screened dogtag" quirk. It's a loadout item now.
/🆑
2025-06-29 11:41:49 -06:00
Bloop 655b66bdd0 Adds automatic GAGS icon generation for mapping and the loadout menu (#90940)
Revival of https://github.com/tgstation/tgstation/pull/86482, which is
even more doable now that we have rustg iconforge generation.

What this PR does:

- Sets up every single GAGS icon in the game to have their own preview
icon autogenerated during compile. This is configurable to not run
during live. The icons are created in `icons/map_icons/..`
- This also has the side effect of providing accurate GAGS icons for
things like the loadout menu. No more having to create your own
previews.

![FOuGL6ofxC](https://github.com/user-attachments/assets/e5414971-7f13-4883-9f7f-a8a212b46fe8)

<details><summary>Mappers rejoice!</summary>

![StrongDMM_1oeMSoRHXT](https://github.com/user-attachments/assets/83dcfe4c-31be-4953-98f3-dff90268bbc4)

![StrongDMM_uyqu3CggPn](https://github.com/user-attachments/assets/7896f99e-2656-40e1-a9da-3a513882365a)

</details>

<details><summary>Uses iconforge so it does not take up much time during
init</summary>

![dreamdaemon_u4Md3Dqwge](https://github.com/user-attachments/assets/17baaff8-5d5e-4a4d-ba8f-9dd548024155)

</details>

---

this still applies:

Note for Spriters:

After you've assigned the correct values to vars, you must run the game
through init on your local machine and commit the changes to the map
icon dmi files. Unit tests should catch all cases of forgetting to
assign the correct vars, or not running through init.

Note for Server Operators:

In order to not generate these icons on live I've added a new config
entry which should be disabled on live called GENERATE_ASSETS_IN_INIT in
the config.txt

No more error icons in SDMM and loadout.

🆑
refactor: preview icons for greyscale items are now automatically
generated, meaning you can see GAGS as they actually appear ingame while
mapping or viewing the loadout menu.
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2025-05-29 16:14:43 -04:00
Bloop cb51a652a9 Adds automatic GAGS icon generation for mapping and the loadout menu (#90940)
## About The Pull Request

Revival of https://github.com/tgstation/tgstation/pull/86482, which is
even more doable now that we have rustg iconforge generation.

What this PR does:

- Sets up every single GAGS icon in the game to have their own preview
icon autogenerated during compile. This is configurable to not run
during live. The icons are created in `icons/map_icons/..`
- This also has the side effect of providing accurate GAGS icons for
things like the loadout menu. No more having to create your own
previews.


![FOuGL6ofxC](https://github.com/user-attachments/assets/e5414971-7f13-4883-9f7f-a8a212b46fe8)

<details><summary>Mappers rejoice!</summary>


![StrongDMM_1oeMSoRHXT](https://github.com/user-attachments/assets/83dcfe4c-31be-4953-98f3-dff90268bbc4)


![StrongDMM_uyqu3CggPn](https://github.com/user-attachments/assets/7896f99e-2656-40e1-a9da-3a513882365a)

</details>

<details><summary>Uses iconforge so it does not take up much time during
init</summary>


![dreamdaemon_u4Md3Dqwge](https://github.com/user-attachments/assets/17baaff8-5d5e-4a4d-ba8f-9dd548024155)

</details>

---

### Copied from https://github.com/tgstation/tgstation/pull/86482 as
this still applies:

Note for Spriters:

After you've assigned the correct values to vars, you must run the game
through init on your local machine and commit the changes to the map
icon dmi files. Unit tests should catch all cases of forgetting to
assign the correct vars, or not running through init.

Note for Server Operators:

In order to not generate these icons on live I've added a new config
entry which should be disabled on live called GENERATE_ASSETS_IN_INIT in
the config.txt


## Why It's Good For The Game

No more error icons in SDMM and loadout.

## Changelog

🆑
refactor: preview icons for greyscale items are now automatically
generated, meaning you can see GAGS as they actually appear ingame while
mapping or viewing the loadout menu.
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2025-05-24 15:21:02 -07:00
OnlineGirlfriend 92e6961777 Horse plushie :) (#91229)
## About The Pull Request

Adds horse and unicorn plushies. Available from cargo, plus horse
plushie is available as a loadout option.

![Screenshot 2025-05-18
183315](https://github.com/user-attachments/assets/bfa9a05e-dd4b-4b48-89e6-979325241753)
## Why It's Good For The Game

Horses are the original sports car. They're like big dogs you can ride.
They're like motorcycles that love you back. We have horses to thank for
pulling our ambulances and fire trucks before engines were invented. God
I fucking love horses.

Unicorns are okay.
## Changelog
🆑
add: horse and unicorn plushies
/🆑
2025-05-22 21:30:16 -04:00
OnlineGirlfriend e38cebfc96 Horse plushie :) (#91229)
## About The Pull Request

Adds horse and unicorn plushies. Available from cargo, plus horse
plushie is available as a loadout option.

![Screenshot 2025-05-18
183315](https://github.com/user-attachments/assets/bfa9a05e-dd4b-4b48-89e6-979325241753)
## Why It's Good For The Game

Horses are the original sports car. They're like big dogs you can ride.
They're like motorcycles that love you back. We have horses to thank for
pulling our ambulances and fire trucks before engines were invented. God
I fucking love horses.

Unicorns are okay.
## Changelog
🆑
add: horse and unicorn plushies
/🆑
2025-05-20 14:03:34 +10:00
SmArtKar 0f01987115 Refactors ITEM_SLOT_BACKPACK and ITEM_SLOT_BELTPACK out of inventory code (#90869)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

So yesterday I've spotted that we had wrong SLOTS_AMT value set, and
went a bit down a rabbit hole and found how abhorrent our
ITEM_SLOT_BACKPACK and ITEM_SLOT_BELTPACK usage is. They're not real
inventory slots, but just "hints" at items being located in backpacks or
belts, or instructions to put an item into a belt/backpack. This PR
rewrites all usages of them as "hints", and adds an equip_to_storage
proc used to equip an item into a storage positioned in a certain slot,
so ``equip_to_slot_if_possible(item, ITEM_SLOT_BACKPACK)`` is now
``equip_to_storage(item, ITEM_SLOT_BACK)``

## Why It's Good For The Game

Its really stupid and we shouldn't have those as slot flags,
ITEM_SLOT_HANDS at least makes sense but those two are just absurd.
Should make equipping things into non-backpack storage a bit easier too,
in case we end up going through with the idea of suit/uniform pockets
being a major part of player inventory.

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
refactor: Refactored how backpack and belt contents are handled in mob
inventory code, report any issues with lingering item effects or
inability to equip things into them!
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2025-05-15 16:14:06 -04:00
SmArtKar 352c7ecdd7 Refactors ITEM_SLOT_BACKPACK and ITEM_SLOT_BELTPACK out of inventory code (#90869)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

So yesterday I've spotted that we had wrong SLOTS_AMT value set, and
went a bit down a rabbit hole and found how abhorrent our
ITEM_SLOT_BACKPACK and ITEM_SLOT_BELTPACK usage is. They're not real
inventory slots, but just "hints" at items being located in backpacks or
belts, or instructions to put an item into a belt/backpack. This PR
rewrites all usages of them as "hints", and adds an equip_to_storage
proc used to equip an item into a storage positioned in a certain slot,
so ``equip_to_slot_if_possible(item, ITEM_SLOT_BACKPACK)`` is now
``equip_to_storage(item, ITEM_SLOT_BACK)``

## Why It's Good For The Game

Its really stupid and we shouldn't have those as slot flags,
ITEM_SLOT_HANDS at least makes sense but those two are just absurd.
Should make equipping things into non-backpack storage a bit easier too,
in case we end up going through with the idea of suit/uniform pockets
being a major part of player inventory.

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
refactor: Refactored how backpack and belt contents are handled in mob
inventory code, report any issues with lingering item effects or
inability to equip things into them!
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2025-05-15 01:07:41 +01:00
Roxy 5913227da1 remove duplicate loadout entries 2025-05-05 17:02:38 -04:00
SmArtKar 60b1319cac [MDB Ignore] Updates visuals for the loadout menu (#90399)
Improves how the loadout menu looks by switching it to the new
ImageButton component, converting recolorable/reskinnable to use icons
with tooltips, and allowing items within a category to be grouped up
together (only used by pocket items as of now)

<details>

<summary>How it looks:</summary>

![image](https://github.com/user-attachments/assets/3ed434cc-5caf-4cd5-b289-76f1946282cd)

![image](https://github.com/user-attachments/assets/bb33e6a4-75c4-4eb5-8e83-2ed9f6853e64)

</details>

Monocles have been made prescription, and prescription, contains pens,
hair color, and other misc tags have been removed.

<details>

<summary>Additionally, plushies now have better baked-in sprites for
loadouts, with randomized lizard plushie receiving a coat of rainbow
paint in place of the removed tooltip.</summary>

![image](https://github.com/user-attachments/assets/ea3124ae-53aa-4eb5-bb27-bde6140b4222)

</details>

Blue button make it hard to figure out details on certain items, and
tiny grey text is borderline unreadable. Also our pocket items category
is horribly bloated.

🆑
qol: Redesigned the loadout UI
balance: Monocles now work as prescription glasses
image: Loadout plushies no longer use mapper previews for their images
/🆑
2025-04-29 18:03:21 -06:00
SmArtKar 71a4f3a83f [MDB Ignore] Updates visuals for the loadout menu (#90399)
## About The Pull Request

Improves how the loadout menu looks by switching it to the new
ImageButton component, converting recolorable/reskinnable to use icons
with tooltips, and allowing items within a category to be grouped up
together (only used by pocket items as of now)

<details>

<summary>How it looks:</summary>


![image](https://github.com/user-attachments/assets/3ed434cc-5caf-4cd5-b289-76f1946282cd)


![image](https://github.com/user-attachments/assets/bb33e6a4-75c4-4eb5-8e83-2ed9f6853e64)

</details>

Monocles have been made prescription, and prescription, contains pens,
hair color, and other misc tags have been removed.



<details>

<summary>Additionally, plushies now have better baked-in sprites for
loadouts, with randomized lizard plushie receiving a coat of rainbow
paint in place of the removed tooltip.</summary>


![image](https://github.com/user-attachments/assets/ea3124ae-53aa-4eb5-bb27-bde6140b4222)

</details>

## Why It's Good For The Game

Blue button make it hard to figure out details on certain items, and
tiny grey text is borderline unreadable. Also our pocket items category
is horribly bloated.

## Changelog
🆑
qol: Redesigned the loadout UI
balance: Monocles now work as prescription glasses
image: Loadout plushies no longer use mapper previews for their images
/🆑
2025-04-17 09:25:06 -07:00
Waterpig 753d8e5ba4 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-04a 2025-04-08 18:58:45 +02:00
warbluke 59b624bb48 Adds Holodisks to Loadout Options (#89958)
## About The Pull Request

This adds holodisks to the loadout options pool.

## Why It's Good For The Game

I have _never_ seen this item used in game. Like many other cool items
it has been banished to the toy vendor, but unlike the hoverboard it is
not just a vanity item to show that you have lots of money. By taking it
out into the light alongside dice and trading cards I hope it will be
used more often, because holograms are cool. From what I understand the
item does not conflict with the loadout guidelines, it's an in-pocket
item so it does not conflict with silhouette, it is not distracting for
the same reason, most jobs can purchase it roundstart (I believe only
one or two jobs lack the roundstart credits to afford it), and because
it is a hologram it cannot provide much mechanical benefit outside of
roleplay. Ideally these would be used to record things like this:


![Hologram](https://github.com/user-attachments/assets/4fb9c464-bdaa-4c2f-a01e-ddadf434761d)

That would be a cool thing to find on a dead person.

## Changelog

🆑
add: Added Holodisks to loadout options
/🆑
2025-03-19 05:17:24 +00:00
MrMelbert f144a82319 Fix prefs lipstick runtime (#90066)
## About The Pull Request

Classic case of "this accepts a datum not a typepath". 

Though weirdly it works anyways, likely because it's modifying the list
in place
2025-03-17 02:06:17 +01:00
nevimer 368543b6fd GallowsCalibrator and Waterpig's fixes, but squash 2025-03-16 01:55:41 -04:00
MrMelbert d578965582 Wallout Loadout equips itself / Lipstick Loadout comes applies itself (and is customizable) (#89808)
## About The Pull Request

- Selecting Wallet in the loadout, will equip the wallet when you load
into the game. It will auto-fill the wallet with small items from your
roundstart kit like quirk items or other loadout items.

- Selecting Lipstick in the loadout will automatically apply it to your
character. You still get the lipstick item at game start.

- Deletes all the preset lipstick colors, now you can just pick what
color you want. You can also pick what layer the lipstick starts at
(high, middle, low).

## Why It's Good For The Game

- Makes it work like the station trait (except the money part) 

- Convenience

- Extra customization

## Changelog

🆑 Melbert
qol: Wallet loadout item comes pre-equipped
qol: Lipstick loadout item comes pre-applied
qol: You can choose your lipstick color from any color now. You can also
choose what layer it defaults to.
/🆑
2025-03-12 22:28:24 -04:00
K4rlox 5b34107c49 [SS14 PORT] Human Plushie (#89526)
## About The Pull Request
Recently, I realized (almost) every (roundstart) species have their own
Plushies, Spesifically in Loadouts
As a cause
This PR adds the human plushie from SS14 as a common, obtainable plushie


https://github.com/user-attachments/assets/678505c7-7764-4557-ba14-657011e0122b

Note: this is my first PR in a good while, tell me if i missed anything
or you have suggestions

Port from: 
https://github.com/space-wizards/space-station-14/pull/23518

## Why It's Good For The Game

Another species plushie, similar to moth, lizard, and plasmaman plushies
Nonhumans can now bring their own completely horrible quality human
plushie to their work, Similar to how you can bring your own lizard
plushie.
## Changelog
🆑
add: Human plushie has been added to the game, Obtainable thru Cargo,
Loadouts and Spawners.
/🆑
2025-03-12 16:46:40 -04:00
Jacquerel 948241b04d Some Loadout Additions (#89500) 2025-03-12 16:41:36 -04:00
K4rlox bacad2fccf [SS14 PORT] Human Plushie (#89526)
## About The Pull Request
Recently, I realized (almost) every (roundstart) species have their own
Plushies, Spesifically in Loadouts
As a cause
This PR adds the human plushie from SS14 as a common, obtainable plushie


https://github.com/user-attachments/assets/678505c7-7764-4557-ba14-657011e0122b

Note: this is my first PR in a good while, tell me if i missed anything
or you have suggestions

Port from: 
https://github.com/space-wizards/space-station-14/pull/23518

## Why It's Good For The Game

Another species plushie, similar to moth, lizard, and plasmaman plushies
Nonhumans can now bring their own completely horrible quality human
plushie to their work, Similar to how you can bring your own lizard
plushie.
## Changelog
🆑
add: Human plushie has been added to the game, Obtainable thru Cargo,
Loadouts and Spawners.
/🆑
2025-02-22 23:01:22 -05:00
Jacquerel d26e197f11 Some Loadout Additions (#89500) 2025-02-21 16:48:06 +01:00
Majkl-J b6b8306fda Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-02a 2025-02-20 00:00:19 -08:00
necromanceranne ca0a01c831 Wigs have the hat stabilizer component, letting you put hats on your wig. 'The 'Wig' in the loadout is now correctly named 'Natural Wig'. (#88913) 2025-01-07 19:10:52 +01:00
The Sharkening 52939ac256 Merge branch 'master' into upstream-24-12a 2024-12-07 16:19:55 -07:00
Rimi Nosha 6d8f4d1805 [SEMI-MODULAR] Multiple Loadout Presets! (#2540)
## About The Pull Request

Tin. Also made some QoL tweaks while I was at it!

Comprehensively:
- Removes the defunct job checkbox and replaces it with a dropdown.
- Adds a preference update message, cause it's otherwise silent.
- Stops the TGUI prefs migration message from showing when changing to a
brand new character.
- Adds the ability to create (nameable) loadout presets.
- The default preset can't be renamed or deleted. This was to make my
life easier, or I'd spend another day on this, which I'm not prepared to
do.
- Automatically COPIES your old loadout to the new system's default
loadout. The old preference value is ENTIRELY UNCHANGED, which should
mean this is entirely safe. **Back up the server playersave data,
regardless, though.**
- Fixes a funny bug where the blacklisted and whitelisted roles text was
the same.

## There's a default limit of 12 entries (including default.) I'm happy
to bump this up at maintainer request.

## Why It's Good For The Game

This is a thing folk have always wanted since the dawn of loadouts, and
the new loadout system is *surprisingly* hackable, so I did it!

Now you can set up multiple outfits for whatever occasion you want!

## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>


![image](https://github.com/user-attachments/assets/6cddb219-0c8e-44f1-aefe-d3f36a261555)



https://github.com/user-attachments/assets/9d4bd6f3-0dc7-4aaa-a6ad-989fc9cb987a

The total allowed loadout count, added after the video, so here's a
screencap instead!

![image](https://github.com/user-attachments/assets/0ffd72a4-ed4c-4b6d-8d77-83c0545e1171)

Renaming


https://github.com/user-attachments/assets/236d99c2-1bcf-4836-b32c-4bb4dd6227e0

</details>

## Changelog
🆑
add: Loadout presets! Make multiple loadouts, be able to switch between
them in a couple of clicks!
qol: Replaced the defunct job checkbox on the loadout page with a
working dropdown.
/🆑
2024-12-07 20:53:57 +01:00
SmArtKar 223badbebb Eye wounds, scars and a new ~Pirate~ RP quirk (#87209)
## About The Pull Request

Upon getting stabbed in your eyes or having a bullet fly through your
head there's a chance (minor for stabbing, extremely low for headshots)
you'll receive a new "Eye Puncture" wound which causes profuse bleeding
out of your now-empty eye hole. Once healed you'll have to deal with a
scar on your eye which cannot be cured and requires surgical
replacement. Eye scarring will reduce your eyes' max health by 15, give
you a minor screen tint and a fancy visual on your character sprite.
Getting scarring on both eyes will turn you completely blind.

![image](https://github.com/user-attachments/assets/c1ae4ff3-6844-405d-819b-9c390511e321)

This PR also introduces a new quirk which gives you eye scarring on the
eye of your choice and an eyepatch to go alongside it, just make sure
that it sits on the right eye.

Also added medical(white) subtype of eyepatches to loadout for those who
want that version instead. Credits to AnturK on discord for the idea.

## Why It's Good For The Game

Its a neat lil' feature that makes the game more immersive, and unlocks
more roleplay opportunities for players. New quirk gives access to this
feature for players who want to make it a part of their character's
backstory (or maybe as a part of permanent scar roleplaying).

## Changelog
🆑
add: Getting stabbed or shot in the eyes has a chance of giving you a
new wound and a semi-permanent scar, blinding you on one side
add: Added new "Scarred Eye" quirk which blinds you on one eye but gives
you a fancy eyepatch
add: Medical eyepatches have been added to loadout
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
# Conflicts:
#	code/_globalvars/traits/_traits.dm
#	code/_globalvars/traits/admin_tooling.dm
#	code/modules/surgery/organs/internal/eyes/_eyes.dm
2024-12-01 22:09:44 -08:00
Dawnseer fbc023af85 Bleaches the cargo cap in loadout (#88049)
## About The Pull Request
So the white cap in loadout isn't very white. In fact it's a cargo cap. 

![image](https://github.com/user-attachments/assets/d80e9270-08ec-42a2-9931-39dc3e55aa08)

![image](https://github.com/user-attachments/assets/732118d3-97df-4e18-b042-5ab55f12e29b)
Now it's a white cap.
Speaking of loadout someone should add thin prescription glasses to it.
Not me though I'm starving for gbp...
## Why It's Good For The Game
The loadout shouldn't lie.
## Changelog
🆑
fix: Turns Cap (White) into a white cap in loadout
/🆑
2024-11-21 10:58:19 -05:00
Majkl-J e59d8ba64b Merge commit '179a607a90ad7ec62bdaff4e6fe72af60ee56442' of https://github.com/tgstation/tgstation into upstream-24-10b 2024-10-23 23:27:16 -07:00
SmArtKar df00d85356 Eye wounds, scars and a new ~Pirate~ RP quirk (#87209)
## About The Pull Request

Upon getting stabbed in your eyes or having a bullet fly through your
head there's a chance (minor for stabbing, extremely low for headshots)
you'll receive a new "Eye Puncture" wound which causes profuse bleeding
out of your now-empty eye hole. Once healed you'll have to deal with a
scar on your eye which cannot be cured and requires surgical
replacement. Eye scarring will reduce your eyes' max health by 15, give
you a minor screen tint and a fancy visual on your character sprite.
Getting scarring on both eyes will turn you completely blind.


![image](https://github.com/user-attachments/assets/c1ae4ff3-6844-405d-819b-9c390511e321)

This PR also introduces a new quirk which gives you eye scarring on the
eye of your choice and an eyepatch to go alongside it, just make sure
that it sits on the right eye.

Also added medical(white) subtype of eyepatches to loadout for those who
want that version instead. Credits to AnturK on discord for the idea.

## Why It's Good For The Game

Its a neat lil' feature that makes the game more immersive, and unlocks
more roleplay opportunities for players. New quirk gives access to this
feature for players who want to make it a part of their character's
backstory (or maybe as a part of permanent scar roleplaying).

## Changelog
🆑
add: Getting stabbed or shot in the eyes has a chance of giving you a
new wound and a semi-permanent scar, blinding you on one side
add: Added new "Scarred Eye" quirk which blinds you on one eye but gives
you a fancy eyepatch
add: Medical eyepatches have been added to loadout
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2024-10-19 13:39:19 +02:00
krookodilehunter 17a7fac145 Adds more flowers to loadouts (#86746)
## About The Pull Request

Adds ~~fraxinellas,~~ geraniums, harebells, lilies, poppies, and
sunflowers to loadouts.

## Why It's Good For The Game

Everyone loves more options for their loadouts! I don't think we need
all the flowers added, so I chose some that I think are pretty. Also I'm
pretty sure I've seen multiple people wearing these when they are
grown/found around the stations.

## Changelog

🆑
add: Added more flowers to loadouts
/🆑
2024-09-30 08:55:25 +13:00
Gaxeer 16aa62a938 remove narsie and ratvar plushies from loadout (#85490)
## About The Pull Request

Remove narsie and ratvar plushies from loadout

Originally this were added in this [pull
request](https://github.com/tgstation/tgstation/issues/83521)

@ MrMelbert was this intended or where you just adding all the plushies
and didn't know of their rarity and special feature?Thanks for loadout
btw.

Also, should I write a migration script to update preferences? Loadouts
are sanitized on load, so there will be no bugs, but If I have to, I
will do it.

## Why It's Good For The Game

Those plushies are meant to be rare and only are accessible in hacked
chaplain wardrobe, received in mail by chaplain or spawn very
infrequently by `/obj/effect/spawner/random/entertainment/plushie_delux`
spawner.

But this is not the main problem, the main one is, that everyone can
have roundstart small bomb, because ratvar and narsie have special
feature - they fight and explosion occurs when one of them wins. This is
fun and interesting feature for sure, but not when this happens
frequently.

## Changelog

🆑
del: Remove narsie and ratvar plushies from loadout
/🆑
2024-08-05 00:01:41 -04:00
Gaxeer a7f55a62e2 remove narsie and ratvar plushies from loadout (#85490)
## About The Pull Request

Remove narsie and ratvar plushies from loadout

Originally this were added in this [pull
request](https://github.com/tgstation/tgstation/issues/83521)

@MrMelbert was this intended or where you just adding all the plushies
and didn't know of their rarity and special feature?Thanks for loadout
btw.

Also, should I write a migration script to update preferences? Loadouts
are sanitized on load, so there will be no bugs, but If I have to, I
will do it.

## Why It's Good For The Game

Those plushies are meant to be rare and only are accessible in hacked
chaplain wardrobe, received in mail by chaplain or spawn very
infrequently by `/obj/effect/spawner/random/entertainment/plushie_delux`
spawner.

But this is not the main problem, the main one is, that everyone can
have roundstart small bomb, because ratvar and narsie have special
feature - they fight and explosion occurs when one of them wins. This is
fun and interesting feature for sure, but not when this happens
frequently.

## Changelog

🆑
del: Remove narsie and ratvar plushies from loadout
/🆑
2024-08-04 21:55:52 -06:00
SkyratBot 58ab268888 [MIRROR] Adds Character Loadout Tab to preferences (with just a small handful of items to start) (#28126)
* Adds Character Loadout Tab to preferences (with just a small handful of items to start)

* step one rip out all the old nasties

* fixes, current bugs: donator lock, ckey lock, one item in case

* opps

* sanity checks, fixed, donator implementation, ckey locking. fixes.

* wew

* final fixes

* Update loadout_categories.dm

* Update loadout_items.dm

* Update loadout_items.dm

* Update declarations.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-06-22 22:09:03 +01:00