Commit Graph

74 Commits

Author SHA1 Message Date
SlamBamActionman
a48507664d Add Galoshes slowdown over slippery surfaces (#30967)
* first draft

* Fixed it all, just need to rename stuff

* Rename and add comments

* Clean-up

* Access added
2025-07-19 17:37:55 +10:00
to4no_fix
f74d5487b6 Adding shock collar and electropack (#30529) 2025-07-16 17:08:05 +10:00
Luiz Costa
1a7893139e Fix lizards losing snouts when equipping a head bandana (#29979)
* say goodbye to no-snout lizards

* remove snout from plague doctor hat HideLayerClothing component

(cherry picked from commit 87467a358bfb874f15e7aa4afef5abd76423d22f)
2025-07-15 11:59:42 +10:00
Ed
6a634fc84e Displacement maps big update (#30093) 2025-07-12 15:30:27 +10:00
Mr. 27
c7fb0c4625 Hide moth antenna and lizard frills with hardsuit helmets, fix lizard snouts not being hidden (#29214)
* inital

* Update ClothingSystem.cs

* Update helmets.yml

(cherry picked from commit 872e927cc7776589589a567b332d9fca3b1ade68)
2025-07-12 02:39:24 +10:00
Cojoke
78931e1c44 Makes Eyepatches Flippable (#26277)
(cherry picked from commit 390f8d19d1505364389e1f595a54df2cfa43a96e)
2025-07-12 02:32:16 +10:00
FunTust
eb090a5ce9 ToggleVisualLayers hair disappeared fix (#28949)
* Update ClothingSystem.cs

* did it in a better way

* Update ClothingSystem.cs

(cherry picked from commit 6d6da1267a666cc155b2682260939d7198ef252d)
2025-07-12 02:28:46 +10:00
Spatison
672f9d7ec6 [Revert] Magboots Refactor (#495)
* Revert "Magboots Refactor (#2273)"

This reverts commit b9e2c6f34d.

* revert speedboots fix

* no more modify stun time on magboots

* Revert "Stop Ectoplasms Complaining (#2245)"

This reverts commit ee5bc2b261.

* Revert "The Magmantle! (#2295)"

This reverts commit 581088f3

* Revert "Integrated Jetpacks For Syndicate Modsuits (#2300)"

This reverts commit 5ee67e380b.
2025-05-17 14:27:53 +03:00
VMSolidus
151e1b60a3 TCJ Makes A Rage Performance PR (#2298)
# Description

I got baited by Ectoplasm, so I then spent 3 hours shaving off a
sizeable chunk of this game's performance cost, including by taking 3 of
the "Top 10 frametime consumers", and reducing their performance costs
by 99% each. Along with various examples of slimming down some of the
worst EQE's.

Oh, and I fixed EmitSoundOnMove being desynced with actual movement. As
part of making EmitSoundOnMove use 99% less CPU time, it was also
synchronized with the MoverController.

# Changelog

🆑
- fix: Fixed items such as tactical webbing, bell collars, and hardsuits
being desynced with character movement.
- tweak: Made various large performance improvements.

(cherry picked from commit 684e8175443167beb0e20e3323a05b5f493b3374)
2025-04-26 11:45:35 +03:00
Remuchi
1e363c7346 Revert "Merge pull request #462 from WWhiteDreamProject/revert-460-upstream"
This reverts commit 092dba42e5, reversing
changes made to e6315c2320.
2025-04-20 11:15:45 +07:00
DVONIKS
6c19771020 Revert "Upstream 04.04-18.04" 2025-04-20 06:34:09 +03:00
DVONIKS
e6315c2320 Merge pull request #461 from Spatison/fix-roller-skates
[Fix] Roller Skates
2025-04-20 06:31:15 +03:00
Spatison
c605431a53 fix friction no input 2025-04-19 19:24:29 +03:00
VMSolidus
ee5bc2b261 Stop Ectoplasms Complaining (#2245)
# Description

This PR adds a mechanic to various hardsuits and tacsuits, which can now
include optional features such as Integrated Thrusters, or Integrated
Magboots. All the syndicate tacsuits and "Advanced" crew tacsuits have
both. Hardsuits typically have one or the other, rarely both. Vacsuits
never have either, get a jetpack nerd.

While I was at it, I fixed various bugs making these features obnoxious
to interact with, such as hardsuits helmet toggles not showing the
helmet, or turning on your integrated magboots also causing you to start
sucking the air out of your integrated thrusters.

Finally to address players incessantly complaining that "waaah space
wind is too unfair it keeps me in the air too long", I lowered the
maximum time player characters can go without being updated by space
wind to 1 second, down from 2. Base items are untouched, so they'll
remain in the air as per normal.

# Changelog

🆑
- add: Added "Integrated Thrusters" and "Integrated Magboots" as
features that hardsuits and tacsuits can sometimes have. Hardsuits
rarely have both, and sometimes have neither, while the more "Advanced"
Tacsuits such as the CSA series of suits will always have both.
- tweak: Reduced the maximum amount of time player characters can remain
in the air without being touched by space wind again to 1 second, down
from 2. This does nothing if you're actively being thrown.
- fix: Fixed a bug where the hardsuit action to toggle your helmet
wasn't displaying the helmet icon.

(cherry picked from commit b6be634252745fa61e3db3094d94c7f3c234a094)
2025-04-18 19:47:45 +03:00
Spatison
2549ec061e [Feature] Body Types (#180)
* feature: body types

# Conflicts:
#	Content.Shared/Humanoid/Markings/MarkingManager.cs
#	Resources/Prototypes/Nyanotrasen/Species/Oni.yml
#	Resources/Prototypes/Nyanotrasen/Species/felinid.yml
#	Resources/Prototypes/Species/arachne.yml
#	Resources/Prototypes/Species/dwarf.yml
#	Resources/Prototypes/Species/harpy.yml
#	Resources/Prototypes/Species/human.yml
#	Resources/Prototypes/Species/ipc.yml
#	Resources/Textures/Clothing/OuterClothing/Armor/armor_reflec.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/bulletproof.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/cult_armour.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/heavy.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/heavygreen.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/heavyred.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/lingarmor.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/magusblue.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/magusred.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/riot.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/security.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/security_slim.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Bio/virology.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/bomber.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/brigmedic.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/gentlecoat.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/jensencoat.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/labcoat_gene.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/labcoat_robo.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/pirate.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/windbreaker_paramedic.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/ERTSuits/ertengineer.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/ERTSuits/ertjanitor.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/ERTSuits/ertleader.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/ERTSuits/ertmedical.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/ERTSuits/ertsecurity.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/basic.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/capspace.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/cburn.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/cybersun.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/lingspacesuit.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/luxury.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/medical.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/rd.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/salvage.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/spatio.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/syndicate.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/syndiecommander.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/syndieelite.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/wizard.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/apron.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/apronbotanist.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/apronchef.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/cardborg.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/chaplain_hoodie.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/chef.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/classicponcho.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/cultrobes.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/grey_hoodie.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/judge.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/plaguedoctorsuit.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/redwizard.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/santa.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/skubbody.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/straight_jacket.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/violetwizard.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/wizard.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/atmos_firesuit.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/bombsuit.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/chicken.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/fire.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/monkey.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/rad.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/shrine-maiden.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Vests/mercwebvest.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Vests/vest.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Vests/webvest.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coat.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatatmos.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatbar.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatcap.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatcargo.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatce.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatcentcom.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatchef.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatchem.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatcmo.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatengi.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatgen.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coathop.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coathos.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coathydro.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatjani.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatmed.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatmime.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatminer.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatnomi.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatparamed.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatqm.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatrd.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatrobo.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatsci.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatsec.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatviro.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatwarden.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatwardenarmored.rsi/meta.json

* feature: body types: 2

* add: loc

* fix: rsi validate

* tweak: displasment jumpsuit

* tweak: clean up

* tweak: displasment shoes

* tweak: displasment gloves

* tweak: clean up

* tweak: displasment outerClothing

* Revert "tweak: displasment outerClothing"

This reverts commit 698fd688591a6c00a4cd19eebac7a204dce18e98.

* fix

* fix

* fix

* fix

* tweak: dwarf, Oni and Felenid now can choose slim body type

* add: outer displacement

* some fix

* some fix

* no more tags shitcode

* Reptilian body type

* harpy body type

* some fix

* rsi validator fix

* Update ClientClothingSystem.cs

* Update Model.cs

* Update MarkingManager.cs

* Update ClientClothingSystem.cs

* Update reptilian.yml
2025-03-03 18:03:18 +02:00
VMSolidus
4cec892dd1 Hardsuit Walking Sounds And Refactor EmitSoundOnMove (#1698)
# Description

Thanks to MajorMoth for making these sound effects! This PR adds custom
sound effects to Hardsuits & Tacsuits that are generated when the wearer
moves. However while making this PR, I ran into three different bugs
with the EmitSoundOnMoveSystem, so I fixed all 3 of them!

# TODO

<details><summary><h1>Media</h1></summary>
<p>

https://github.com/user-attachments/assets/cb5d3873-3eb7-4cab-8ec2-2ba5b5d6480d

</p>
</details>

# Changelog

🆑 VMSolidus and MajorMoth
- add: Hardsuits now have sounds made when the wearer moves!
- fix: Fixed several bugs with EmitSoundOnMove. It no longer plays the
same sound 7 times in a row for the client. It can now differentiate
between items that must be worn to make sounds and otherwise. It can
also have variable distance needed to travel to make a sound.
- add: Hardsuits and Tacsuits are now separated into Light, Medium, and
Heavy categories, with each category having its own sound effects, mass,
throwing statistics, and don/doff time. Most hardsuits are Light. Most
Tacsuits are Medium. Some suits like Warden, Juggernaut, Nukie
Commander, and Mysta Bombsuit are heavy.

(cherry picked from commit cdf8468717bd14a1036148b491b8aeb0fd845ffa)
2025-02-05 18:16:43 +03:00
Eris
d6f3265e83 MODsuits (Port From Goob #1242) (#1640)
# Description

Ports MODsuits from Goobstation PR
https://github.com/Goob-Station/Goob-Station/pull/1242. The PR author
has confirmed that he is okay with me doing this.

---

# TODO

- [X] Port in sprites
- [x] Port in YMLs
- [X] Port code
- [x] Port code PATCHES
- [x] Update EE with required fixes

---

<details><summary><h1>Media</h1></summary>
<p>

## Modsuit crafting

https://github.com/user-attachments/assets/8ff03d3a-0fc1-4818-b710-bfc43f0e2a68

## Modsuit sealing

https://github.com/user-attachments/assets/6671459a-7767-499b-8678-062fc1db7134

</p>
</details>

---

# Changelog

🆑
- add: Modsuits have been ported from Goobstation!

---------

Signed-off-by: Eris <erisfiregamer1@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit cb06c41fc07275e1f15af916babb44368c0c26c2)
2025-01-29 20:09:26 +03:00
Skubman
49a55085a0 The Fashion Update (#1526)
# Description

Adds **almost two hundred** (192) new items to Loadouts, vastly
increasing the fashion content available to players. Most of them are
colorable, allowing for an insane amount of customization.

Most of the new clothing comes from Aurora Station, with ports from
World Server and Nuclear 14 as well. Also added were some unused clothes
to loadouts.

New loadout items count:
**Uniform:** 85
**Outer:** 31
**Head:** 18
**Neck:** 17
**Eyes:** 14
**Shoes:** 14
**Belt:** 7
**Security Eyewear:** 3
**Back:** 2
**Hands:** 1

## Technical Details

I had to touch C# for high heels, because I had to make sure they were
hiding the left foot and right foot layers and avoid a bug where the
Shitmed body part system enabled the feet layers again after the high
heels were equipped by the loadout system.

I added two new layers to all species, `innerBelt` and `innerNeck` which
are rendered below outer clothing so that the new belts and the neck tie
aren't rendered above jackets, coats and such.

## Lookbook

### New Outfits

![image](https://github.com/user-attachments/assets/80ff1567-f921-4386-ac54-ff03ccd25b02)

Outfit information:

<details><summary>
[Top Left] Summer Days
</summary>
<b>Head:</b> fedora (colorable)

<b>Neck:</b> necklace (colorable)
<b>Outer:</b> slim cardigan, opened (colorable)
<b>Uniform:</b> long-sleeve A-line dress (colorable)
<b>Belt:</b> waist belt (colorable)
<b>Back:</b> purse, flipped (colorable)
<b>Shoes:</b> flip flops, alternative (colorable)

Note how the waist belt is covered by the slim cardigan, due to being in
the `innerBelt` layer.

</details>

<details><summary>
[Top Middle] Formalwear
</summary>
<b>Head:</b> small hair bow (colorable)

<b>Neck:</b> necklace (colorable)
<b>Uniform:</b> asymmetric dress (colorable)
<b>Hands:</b> evening gloves (colorable)
<b>Belt:</b> thin waist belt (colorable)
<b>Back:</b> purse (colorable)
<b>Shoes:</b> high heels (colorable)

</details>

<details><summary>
[Top Right] Boho-Chic
</summary>
<b>Head:</b> hair flower (colorable)

<b>Neck:</b> small necklace (colorable)
<b>Outer:</b> asymmetric coat, opened (colorable)
<b>Uniform:</b> midi dress (colorable)
<b>Belt:</b> waist belt (colorable)
<b>Back:</b> purse (colorable)
<b>Shoes:</b> flats (colorable)

</details>

<details><summary>
[Bottom Left] Nurse
</summary>
<b>Head:</b> nurse hat

<b>Neck:</b> round necklace (colorable)
<b>Uniform:</b> club dress (colorable)
<b>Hands:</b> evening gloves (colorable)
<b>Back:</b> purse (colorable)
<b>Shoes:</b> flats (colorable)

</details>

<details><summary>
[Bottom Middle] Smart Casual
</summary>
<b>Outer:</b> modern coat (colorable)

<b>Uniform:</b> pencil skirt and gym bra (colorable)
<b>Back:</b> purse (colorable)
<b>Shoes:</b> high heels (colorable)

</details>

<details><summary>
[Bottom Right] Slaycurity Officer
</summary>
<b>Head:</b> security beret

<b>Neck:</b> gold necklace
<b>Uniform:</b> evening gown (colorable)
<b>Hands:</b> evening glovs (colorable)
<b>Belt:</b> security belt
<b>Back:</b> purse, flipped (colorable)
<b>Shoes:</b> high heels (colorable)

</details>

### High Heels Footsteps

https://github.com/user-attachments/assets/c4b99407-0f9b-4fb5-910e-603c024d9598

The high heels footsteps are also present on the high-heeled boots, long
high heels and flats. Pets are now colorable too (look at the pink
mothroach in the video). Reasons why they'd be a specific color could be
a natural variation, being dyed by their owner, or genetic modifications
(however unethical the last two may be).

<b>Cowboy</b>

![verde](https://github.com/user-attachments/assets/ce09bf56-9c03-42b1-819c-e6dba6476471)
<b>Head:</b> slouch hat (colorable)
<b>Eyes:</b> hipster glasses (colorable)
<b>Neck:</b> suit tie (colorable)
<b>Outer:</b> vest (colorable)
<b>Uniform:</b> grey cowboy outfit (from Nuclear 14!)
<b>Hands:</b> gloves (colorable)
<b>Belt:</b> belt (colorable)
<b>Back:</b> leather satchel
<b>Shoes:</b> workboots (colorable

### Security Glasses Skins

<img width=240px
src="https://github.com/user-attachments/assets/b7c5dd03-ab00-4cff-9018-145271e48229">

Security now have three alternative skins for the security glasses to
personalize their looks. Thus, they should no longer have the problem
where every sec member's face looks samey because everyone had the same
security glasses.

![secglasses](https://github.com/user-attachments/assets/d16a83d9-fb03-42bd-93dc-85625f3a45df)

From left to right: base security glasses, security aviators, big
security glasses, security visor glasses

<details><summary>
More Images
</summary>

<b>Skubsuit</b>

![skubmansuit](https://github.com/user-attachments/assets/a3da4def-3c28-4a43-80b6-7308341a7620)
<b>Head:</b> artist beret (colorable)
<b>Eyes:</b> monocle (colorable)
<b>Neck:</b> suit tie (colorable)
<b>Outer:</b> blazer (colorable)
<b>Uniform:</b> amish suit (colorable)
<b>Belt:</b> belt (colorable)
<b>Shoes:</b> ankle boots (colorable)

Huh, skub.

<b>Rugged</b>

![citizenn](https://github.com/user-attachments/assets/e4ae374d-1cf0-4e68-b009-0bf7db410635)
<b>Head:</b> green beanie (from Nuclear 14!)
<b>Eyes:</b> eyepatch (colorable)
<b>Neck:</b> small necklace (colorable)
<b>Outer:</b> sweater cardigan, opened (colorable)
<b>Uniform:</b> black flannel shirt and jeans (from Nuclear 14)
<b>Back:</b> grey satchel (colorable)
<b>Shoes:</b> workboots (colorable)

<b>The Rig Was Gamed From The Start</b>

![checkered](https://github.com/user-attachments/assets/8b546a9d-9f22-473d-a907-2c2b9870789c)
<b>Eyes:</b> eyepatch, flipped (colorable)
<b>Neck:</b> short tie (colorable)
<b>Uniform:</b> checkered suit (from Nuclear 14!)
<b>Shoes:</b> fashion jackboots (colorable)

<b>New Dresses</b>

<img width=300px
src="https://github.com/user-attachments/assets/5289465a-b297-4bb2-b9be-27695ee36d2b">
<img width=300px
src="https://github.com/user-attachments/assets/e39e0acb-69ee-447b-ba78-5ccb9eac2497">
<img width=300px
src="https://github.com/user-attachments/assets/01c39422-3571-43ea-987d-e13e21dd6078">
<img width=300px
src="https://github.com/user-attachments/assets/02dc10f2-56da-440f-9b19-aa38e9cb9942">

About 48 new dresses/jumpskirts were added to loadouts.

</details>

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑 Skubman
- add: The Fashion Update is here. Almost two hundred brand-new clothes
have been added to Loadouts, like colorable suits, dresses, coats,
blazers, boots, necklaces, hats, glasses (including new Security
glasses), belts, a purse and more!
- add: Pets in the loadouts are now colorable. Go wild with pink
mothroaches, blue mice, green cockroaches and more!

(cherry picked from commit 6ba53e2ab9d648c05a943713af3d597347def3da)
2025-01-14 02:29:32 +03:00
VMSolidus
ec1803b44f Generic Clothing Equip Functions (#1407)
# Description

This PR was originally going to be called "Psionic Refactor V3 Part 2,
Items Of Power", but I began getting shakes and started vomiting when I
saw the list of Components that make items do things when equipped, and
I had a conniption about how much code there is constantly being
repeated. So instead of this PR adding Items Of Power, I added a
universal modular generic system for making clothing items do things
when equipped and unequipped. Which hooks into the library of
TraitFunctions that we've previously created. I also added a few
"Inverse" versions of trait functions that can be used by these new
clothing functions.

<!--
# Changelog

🆑
- add: Added a universal modular system for making clothing items DO
things when equipped and unequipped. This will be used for "Psionic
Artifacts" in conjunction with the Psionic Refactor V3.
-->

(cherry picked from commit 731e14f100d8161c0f8f7eb1bc5accc2abaa24da)
2025-01-14 00:34:58 +03:00
sleepyyapril
885ee5a831 Wizmerge for Station AI (#1351)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

the adding AI is now up to y'all because i'm not touching loadout code
for name datasets, but it shouldn't be too bad from here

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Signed-off-by: SolStar <44028047+ewokswagger@users.noreply.github.com>
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Sphiral <145869023+SphiraI@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: ravage <142820619+ravage123321@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Intoxicating-Innocence <188202277+Intoxicating-Innocence@users.noreply.github.com>
Co-authored-by: Saphire <lattice@saphi.re>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: CaasGit <87243814+CaasGit@users.noreply.github.com>
Co-authored-by: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: NakataRin <45946146+NakataRin@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Doomsdrayk <robotdoughnut@comcast.net>
Co-authored-by: Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Julian Giebel <juliangiebel@live.de>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: icekot8 <93311212+icekot8@users.noreply.github.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: no <165581243+pissdemon@users.noreply.github.com>
Co-authored-by: Tornado Tech <54727692+Tornado-Technology@users.noreply.github.com>
Co-authored-by: osjarw <62134478+osjarw@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: TGRCDev <tgrc@tgrc.dev>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: chavonadelal <156101927+chavonadelal@users.noreply.github.com>
Co-authored-by: SolStar <44028047+ewokswagger@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: ArchRBX <5040911+ArchRBX@users.noreply.github.com>
Co-authored-by: archrbx <punk.gear5260@fastmail.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: neuPanda <chriseparton@gmail.com>
Co-authored-by: neuPanda <spainman0@yahoo.com>
Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>
Co-authored-by: Whatstone <whatston3@gmail.com>
Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>

(cherry picked from commit 93ed70acfeda357133a701f637d3faeec02749bb)
2025-01-14 00:13:42 +03:00
PuroSlavKing
db97317bbb [Port] Displacement Maps (#165)
* Displacement Map Visualizer QoL (#27392)

* Update Displacement Map Visualizer.lua

* Add files via upload

* Fix background layer being offset

This was caused by not taking the cel's own bounds into account.
Aseprite doesn't make an image layer "full size" if it only covers a
small part of the sprite.

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>

* Displacement maps now works on any layers (#27405)

* try

* pipupi

* Update ClientClothingSystem.cs

* Update vox.yml

* Update ClientClothingSystem.cs

* Fix Vox clothing in character creation menu (#29709)

Update vox.yml

* Vox displacement updates (#29824)

* more vox displacement maps

* A

* remove vox insuls sprites

* sci magboots

* Update vox.yml

* Update meta.json

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>

* Displacement maps big update (#30093)

* split logic into own system

* add support for different size displacement maps

* some clothes may not use displacement maps

* displacement maps spport hand sprites

* Update DisplacementMapSystem.cs

* rename things

* fuck stencilmask

* fix bugs

* no masks

* Update jumpsuits.yml

* fix species specific sprites

* Update ClothingSystem.cs

* shoes + ears displacement, some bugfix

* Update DisplacementMapSystem.cs

* Vox head displacement map (#30699)

* head displacement for vox

* fixe

* fix index stepping to avoid pushing front layers into back layers (#32553)

Co-authored-by: charlie <charlie.sc.wong@veiwsonic.com>

* Mothroaches can now wear hamster-wearable clothes + pet inventory tweaks (#28956)

* moth displacement + inventory tweaks

* Fix off by 1 on the head sprites

* Move files to main mothroach folder

* Fix mask up a bit

* Fix side mask sprites

* Change format because it changed forever ago

* fix mothroach spawner

* remove nyano femaleMask

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Charlie <mio780308@gmail.com>
Co-authored-by: charlie <charlie.sc.wong@veiwsonic.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
2024-12-15 23:48:19 +10:00
Spatison
a2557f75a6 Upstream (#129) 2024-11-21 17:49:04 +07:00
DEATHB4DEFEAT
47b10a01b0 Catch-Up Cherry Pick 2 (#944)
# Description

Picked 400 commits (and skipped many, many more) from WizDen since #540.
Stopped at commit 332f54a3aebe669f6e50d26e7b047f0bdc28e0fb (Lobby
Refactor).

---

# TODO

- [x] Pick
- [x] Compile
- [x] Fix runtime errors
- [ ] Fix up humanoid profile editor
- [ ] Test everything

---

# Changelog

🆑
- add: Merged 400 WizDen PRs. Happy testing!

---------

Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: osjarw <62134478+osjarw@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Magnus Larsen <i.am.larsenml@gmail.com>
Co-authored-by: Hanz <41141796+Hanzdegloker@users.noreply.github.com>
Co-authored-by: Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
Co-authored-by: potato1234_x <79580518+potato1234x@users.noreply.github.com>
Co-authored-by: Gotimanga <127038462+Gotimanga@users.noreply.github.com>
Co-authored-by: Mangohydra <156087924+Mangohydra@users.noreply.github.com>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Morb <14136326+Morb0@users.noreply.github.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: KrasnoshchekovPavel <119816022+KrasnoshchekovPavel@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: KittenColony <149278380+KittenColony@users.noreply.github.com>
Co-authored-by: ShadowCommander <shadowjjt@gmail.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Co-authored-by: T-Stalker <43253663+DogZeroX@users.noreply.github.com>
Co-authored-by: ERROR404 <100093430+ERORR404V1@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Jezithyr <jezithyr@gmail.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: no <165581243+pissdemon@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Ciac32 <aknoxlor@gmail.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: NotSoDana <75203942+NotSoDana@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: nao fujiwara <awkwarddryad@gmail.com>
Co-authored-by: Michael <107807667+Doc-Michael@users.noreply.github.com>
Co-authored-by: Vasilis <vasilis@pikachu.systems>
Co-authored-by: Lamrr <96937466+Lamrr@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Jay <67732946+DuskyJay@users.noreply.github.com>
Co-authored-by: Just-a-Unity-Dev <67359748+Just-a-Unity-Dev@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Tyzemol <85772526+Tyzemol@users.noreply.github.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: RumiTiger <154005209+RumiTiger@users.noreply.github.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: Ty Ashley <42426760+TyAshley@users.noreply.github.com>
Co-authored-by: exincore <me@exin.xyz>
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: Łukasz Mędrek <lukasz@lukaszm.xyz>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: TurboTracker <130304754+TurboTrackerss14@users.noreply.github.com>
Co-authored-by: OnsenCapy <101037138+LGRuthes@users.noreply.github.com>
Co-authored-by: pigeonpeas <147350443+pigeonpeas@users.noreply.github.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: Tornado Tech <54727692+Tornado-Technology@users.noreply.github.com>
Co-authored-by: Rio <110139251+Riolume@users.noreply.github.com>
Co-authored-by: vorkathbruh <152932728+vorkathbruh@users.noreply.github.com>
Co-authored-by: Sphiral <145869023+SphiraI@users.noreply.github.com>
Co-authored-by: PrPleGoo <PrPleGoo@users.noreply.github.com>
Co-authored-by: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
Co-authored-by: username <113782077+whateverusername0@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Джексон Миссиссиппи <tripwiregamer@gmail.com>
Co-authored-by: Brandon Li <48413902+aspiringLich@users.noreply.github.com>
Co-authored-by: Jajsha <101492056+Zap527@users.noreply.github.com>
Co-authored-by: RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: youtissoum <51883137+youtissoum@users.noreply.github.com>
Co-authored-by: ike709 <ike709@users.noreply.github.com>
Co-authored-by: icekot8 <93311212+icekot8@users.noreply.github.com>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Geekyhobo <66805063+Geekyhobo@users.noreply.github.com>
Co-authored-by: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com>
# Conflicts:
#	Content.Client/Input/ContentContexts.cs
#	Content.Client/Lobby/LobbyState.cs
#	Content.Client/Lobby/UI/HumanoidProfileEditor.xaml
#	Content.Client/Lobby/UI/LobbyGui.xaml
#	Content.Client/Lobby/UI/LobbyGui.xaml.cs
#	Content.Client/Preferences/UI/CharacterSetupGui.xaml.cs
#	Content.Client/UserInterface/Systems/MenuBar/Widgets/GameTopMenuBar.xaml
#	Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
#	Content.Server/Fluids/EntitySystems/PuddleSystem.Spillable.cs
#	Content.Server/GameTicking/GameTicker.Spawning.cs
#	Content.Shared/Alert/AlertType.cs
#	Content.Shared/Input/ContentKeyFunctions.cs
#	Content.Shared/Preferences/HumanoidCharacterProfile.cs
#	Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs
#	Resources/ConfigPresets/EinsteinEngines/default.toml
#	Resources/Prototypes/Alerts/alerts.yml
#	Resources/Prototypes/Entities/Clothing/OuterClothing/coats.yml
#	Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml
#	Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml
#	Resources/Prototypes/Recipes/Crafting/Graphs/improvised/makeshiftstunprod.yml
#	Resources/Prototypes/Voice/speech_emotes.yml
#	Resources/keybinds.yml
2024-10-19 14:53:37 +07:00
FoxxoTrystan
df73a1cb0b Xenowears (#519)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Add a bit of clothing specie related and some tiny misc changes.

Normally i wanted to add the spooders changes here but with the other
spider specie coming in il hold myself for now.

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [x] Add clothings
- [x] Loadouts/Vending machines

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/Simple-Station/Einstein-Engines/assets/45297731/47865d65-754d-4b70-9c10-19bc9aa55ac6)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Xenowears! new non-human related clothings.

---------

Signed-off-by: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2024-08-15 07:24:07 +01:00
BlueHNT
e4b925b0ea Adds BeardTag (#608)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Adds `BeardTag = "HidesBeard"`

for helmets which cover entire head, masks which should hide beards and
such.

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Added `HidesBeard` tag
2024-08-10 14:36:48 -07:00
Mnemotechnican
bffc8768c1 Prevent Instant Unequip of Clothing (#594)
# Description
Prevents players from picking up their own equipped clothing (via the
"put in hand" verb or otherwise) and thus bypassing the unequip delay
completely.

Does so by cancelling the GettingPickedUpAttemptEvent on equipped
clothing. This does not prevent unequipping the clothing normally, i.e.
by interacting with it in the inventory, or stripping clothing from
others.

# Changelog
No cl no fun - most people don't even know this was an option.
2024-07-24 22:08:05 -04:00
DinoWattz
e44fc0e21f Fix random clothing slots being able to hide character's nose and hair (#26708)
Fix bug and formatting
2024-07-11 21:21:48 -07:00
WarMechanic
e06045ce58 Felinid Soft Thieving + Trait (#500)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Reworks felinid thieving to no longer act like passive thieving gloves
which grant invisible stripping (hereon referred to as hard stealing),
in favour of soft thievery (hereon referred to as soft stealing).

Soft thievery comprises of the following:
- A smaller popup, with the thief anonymised.
- A visible doafter bar
- A 33% faster strip speed, that stacks with Thieving gloves
- An additional ability to identify hidden items to better plan your
course of action

You no longer need to completely avoid felinids to maintain your
precious items as long as you pay attention. For a felinid to utilise
their thieving passive, they are encouraged to exploit any distractions
to make moves on a target. If there is none, create one through
conversation or other forms of player interaction. If you are suspected,
persuade your victim that the thief is in fact, the other person.

A faster strip speed makes thief bonuses diegetic to other players, and
also improves the value proposition of thieving gloves on someone who
already has thieving bonuses.

Any other race can also gain soft thievery via a moderate costing trait.
Non-felinid thieves are encouraged to exploit any felinids as a
scapegoat.

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->
Code
- [X] IgnoreStripHidden - allows thieves to look into peoples pockets
- [X] StripTimeMultiplier - stripping at a multiplicative rate helps
strip bags/belts which creates trait value
- [X] Stealthy > Stealth - rather than a bool, distinguishes stealth
levels as an enum

Balance
- [X] Soft thieves can identify items in pockets, which creates player
agency
- [X] Soft thieves steal 33% faster, which stacks with thieving gloves
- [X] Victims to soft stealing get a smaller popup, useful if they're
preoccupied
- [X] Soft thievery is a trait, which Felinids get for free
- [X] Felinids no longer hard steal items

Media
- [x] Attach media
---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/Simple-Station/Einstein-Engines/assets/69510347/c0c6e81f-21e2-48c5-a535-777c1f683ef7)
![video](https://www.youtube.com/embed/elDfOgAPmIs?si=yV5JjOaSYvurGZer)
</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Added the Thievery trait, which provides various soft stripping
bonuses
- tweak: Felinids no longer have passive thieving gloves, they instead
get the Thievery trait by default

---------

Signed-off-by: WarMechanic <69510347+WarMechanic@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
2024-07-05 13:49:24 -04:00
Mnemotechnican
2e8e56f763 Fix Clothing Quick-Equip (#507)
# Description
For some reason, ClothingSystem.TryEquip would return false if there's a
do-after to equip the clothing. This had caused all quick-equip attempts
on SMALL ITEMS to fail and ended up with every SMALL clothing item being
equipped into one of the pocket slots (which have no equip delays).

Also fixes quick swap - see the comments below.

# Changelog

🆑
- fix: Equipping clothing using the Z key works correctly again.
2024-07-03 15:48:28 -04:00
SimpleStation14
89a6bb3ab5 Mirror: StrippableSystem doafter overhaul (#205)
## Mirror of PR #25994: [StrippableSystem doafter
overhaul](https://github.com/space-wizards/space-station-14/pull/25994)
from <img src="https://avatars.githubusercontent.com/u/10567778?v=4"
alt="space-wizards" width="22"/>
[space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14)

###### `41ca8f3dfcb986432e1e509247bf239cac137836`

PR opened by <img
src="https://avatars.githubusercontent.com/u/42424291?v=4"
width="16"/><a href="https://github.com/Krunklehorn"> Krunklehorn</a> at
2024-03-11 12:36:28 UTC

---

PR changed 7 files with 465 additions and 305 deletions.

The PR had the following labels:
- Status: Needs Review


---

<details open="true"><summary><h1>Original Body</h1></summary>

> ## About the PR
> 
> Refactors Strippable DoAfter events to make them synchronous and
organized.
> 
> 
> ## Technical details
> 
> ### Strippable System & Component
> - Synchronous DoAfters
> - Made use of `TimeSpan`, `GetStripTimeModifiers()` and `ByRefEvent`
> - Reorganized checks, removed some redundant ones
> - Resolve pattern where useful
> - Added more asserts
> - Lots of cleanup
> 
> The DoAfters were grouped under one event to avoid copy-pasting eight
separate cancel checks, asserts and function signatures.
> 
> Let me know if this is bad for performance and I'll roll them out
instead.
> 
> 
> ## Media
> 
> - [x] I have added screenshots/videos to this PR showcasing its
changes ingame, **or** this PR does not require an ingame showcase
> 
> 
> ## Breaking changes
> 
> ### TimeSpans
> `ThievingComponent`, `InventoryTemplatePrototype` and
`ToggleableClothingSystem` use `TimeSpan` in places where they intersect
with `StrippableComponent`.
> 
> 
> **Changelog**
> 
> N/A
> 


</details>

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: SimpleStation14 <Unknown>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2024-07-01 14:37:45 -04:00
SimpleStation14
690d2a4f76 Mirror: Fashion is my profession - Procedural jumpsuit variants (#211) 2024-04-30 22:10:05 +01:00
SlamBamActionman
ecdef48ce4 Add nose customization to humans & dwarves (#25557)
Initial commit

(cherry picked from commit 3af2928a25c4cbc0ee6e8edabf317d060b652b06)
2024-03-07 00:59:12 +01:00
Leon Friedrich
585c34e71f Fix action state handling bug (#25395)
* Rejig action state handling

* Fix entity arg

* Fix deserialization

(cherry picked from commit bd4597c5ca8a3c55b17868a2c8aef543d3ea503d)
2024-02-21 04:03:41 +01:00
Pieter-Jan Briers
ccea85136b Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
2024-02-18 23:02:29 +01:00
themias
c39df888d2 Flipped caps real (#24961)
* Flipped caps real

* oops

* whoops

* flip not fold

* fix formatting

* cargosoft formatting

(cherry picked from commit f7a3ea6dcfb0f43b136cef74ea7115bec63cbfd3)
2024-02-18 22:42:29 +01:00
themias
fe0e533769 Add face bandanas (#24597)
* add face bandanas

* oops

* make face bandanas butcherable, also one bite

* oops

* Add mouth IdentityBlocker to bandanas

* refactor to use foldablecomponent

* remove some leftover bits

* remove HamsterWearable until face sprite updated

* oops

* review changes

* remove a few unneeded bits

(cherry picked from commit b503fe586423773ed6484a9ead8ff21673dcdc66)
2024-02-08 12:36:09 +01:00
themias
1f1c07a622 Allow IdentityBlocker partial coverage (#24741)
* Allow IdentityBlocker partial coverage

* rename to TotalCoverage

(cherry picked from commit d75f6c3db4f638e9a479fe40c8d50f0e6c137556)
2024-02-08 12:02:46 +01:00
Nemanja
d545b0ea0c Add support clothing equip/unequip doafters (#24389)
* add clothing equip/unequip doafters

* boowomp

(cherry picked from commit 804c76f8c9ac5eec851aa1e5a65b4b3c11ce2f65)
2024-02-08 11:51:57 +01:00
AJCM-git
6b7e8b4f5b UseDelay + ItemCooldown merge (#22502)
(cherry picked from commit 9c522c8b19f7a6f6b396c66342413572a22d7845)
2024-01-26 21:32:09 +01:00
TemporalOroboros
aebae6fab7 Content ecs containers (#22484)
(cherry picked from commit 7a77d6d5dd73a34be238fdebc284da5bc2917c67)
2024-01-22 18:47:55 +01:00
themias
e9e6153e63 Fix toggle mask issues (#22496) 2023-12-16 20:19:57 +01:00
DrSmugleaf
b04882d1ad Move MaskComponent to shared and add toggle events (#22395)
* Move MaskComponent to shared and add toggle events

* Datafield and network IsToggled

* Add missing dirty
2023-12-16 20:15:24 +01:00
metalgearsloth
fbabc7dd72 Don't apply toggleclothing in state handling (#22347)
Wasn't sure where to put it but this seems least likely to break stuff.
2023-12-16 19:56:00 +01:00
metalgearsloth
5e51318545 Fix toggleable helmets (#22195) 2023-12-16 19:24:44 +01:00
metalgearsloth
6ac29b32a8 Predict helmet toggles (#22089) 2023-12-16 19:23:00 +01:00
Rainfey
3d7376d421 Fix chameleon changing ID card metadata (#21998)
Co-authored-by: Rainfall <rainfey0+git@gmail.com>
2023-12-02 20:33:26 +01:00
brainfood1183
8bb05d7d78 Roller Skates fixes (#21542) 2023-11-12 20:50:57 +01:00
Leon Friedrich
45d2375818 Fix action-granting items not being predicted (#20778)
* Ensure actions are predicted

* Fix test fail
2023-10-08 19:58:56 +02:00
Debug
fd2cc8570d Sync master up to 1/10 (#74)
* Automatic changelog update

* Make NPC names proper nouns & fix some genders (#20534)

* Proper names & genders

* Uppercase proper names

* Make Smile female

* fix bingus wrinkly head (#20531)

* rouny meat and steak (#20526)

* lost friendship flavor

* add rouny steak

* rouny special meat

* rouny meat textures

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Wearable Wet Floor Sign and 'Janitorial Suicide Vest' (#20311)

* Explosive wet floor sign & janitorial suicide vest

* fix attributions

* Remove name & desc from explosive wet floor sign

* Make wet floor sign chameleonable

* Automatic changelog update

* Minor slippery stuff (#20535)

* Update submodule to 162.2.0 (#20570)

* Predicted armor (#20560)

* clean up some lines in smile the slime prototype (#20552)

* Revert "Use full file path for temp replays (#19002)" (#20545)

* Add EyesGlasses into ClothesMate (#20523)

* Automatic changelog update

* Fix Punpun crew monitor sensor (#20484)

* Automatic changelog update

* EasyPry airlocks for arrivals. Now also prying refactor I guess (#19394)

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Make arcades hackable again (#20555)

* Automatic changelog update

* Health alert tweaks (#20557)

* Automatic changelog update

* Add active and ended game rule components, generic TryRoundStartAttempt and minPlayers field (#20564)

* Improve active game rule querying, add generic try round start attempt method, move minPlayers to GameRuleComponent

* Nukeops todo and cleanup

* Remove Active field

* Add EndedGameRuleComponent

* bartender suit (#20521)

* give me a drink bartender

* guh

* aARG

* Necropolis and mine walls (#20578)

* Automatic changelog update

* archaic accent tweaks (#20567)

* Automatic changelog update

* Add confirmation to kick and respawn in the admin player actions panel (#20542)

* Remove windows-latest CI runs, remove unused build-test-release.yml (#20540)

* Change .editorconfig to keep existing attribute arrangement (#20538)

* Automatic changelog update

* Catch replay start and end errors on round restarts (#20565)

* Update trivial components to use auto comp states (#20539)

* Fix role unbans not applying in real time (#20547)

* Disable AHelp buttons when no player is selected, update button styling (#20568)

* Automatic changelog update

* Added a toggle fullscreen button (default F11) (#20272)

* Added a toggle fullscreen button (default F11)

* Removed un-needed comments

* Review Requested Changes

* Fixed Acidental Spacing Change

* bwoink, removed extraneous code

* nothing, litterally

* Automatic changelog update

* Fix not networking markings (#20588)

* Automatic changelog update

* Update RobustToolbox to v162.2.1 (#20590)

* Automatic changelog update

* Glorfcode (force say on damage/stun/crit) (#20562)

* Automatic changelog update

* Fix AHelp progressively showing more AHelp panels (#20591)

* Automatic changelog update

* caninsert entitystorage tweaks (#20589)

* Automatic changelog update

* Fix mapping actions crashing on load (#20592)

* Fix loading a map with a ThirstComponent crashing the game (#20594)

* Fix electrocution displaying real name of disguised players (#20603)

* Organ fixes (#20488)

* Automatic changelog update

* Kettle medical rework (#20435)

* Initial try at medical rework for kettle

* Re-add decal decorations to Kettle's medical

* Add more lockers to kettle's med

* Actually upload kettle's map, not its proto

* Automatic changelog update

* Added blocked visuals to volumetric pump (#20610)

* Automatic changelog update

* Move TimedDespawn to engine (#20515)

* Update submodule to 163.0.0 (#20616)

* Remove v0.1 version number from local main menu screen (#20617)

* Remove cloneData parameter from AutoNetworkedField (#20596)

* Update submodule to 164.0.0 (#20618)

* fix cognizine ghost role (#20632)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Move ID layer one pixel to correct alignment (#20630)

* Update nukie hardsuit descriptions (#20529)

* Make holofans destructable (#20445)

* Automatic changelog update

* bowl is open (#20453)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Add TestPair.WaitCommand() (#20615)

* Rename ThreatPrototype and mark fields as required (#20611)

* Adjust hard bomb shape (#20608)

* dragon refactor, objectives and use GenericAntag (#20201)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Added generic empty liquids tank (#20563)

* Move view variables verb to the top of the list with no category and localize it (#20546)

* saltern update (#20325)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Fix followers leaking (#20643)

* Add Winter Boots (#20622)

* add

* fix prototype

* Add QM mantle (#20621)

* add

* fix prototype

* Automatic changelog update

* Slime mobs breathe nitrogen and resprite their organs (#20577)

* Slimes breathe nitrogen and resprite their organs

* ups

* mmm

* Automatic changelog update

* Fix the new lizard horn's consistency + issue (#20620)

* fix

* add

* Revert "add"

This reverts commit a054a3204a8f185a94ceb80b1bd3bc9f30423711.

* Add RandomHumanoidAppearance component to for space ninjas (#20605)

* Automatic changelog update

* Space cat breathes space (#20550)

* Space cat breathes space

Made Space Cat lungs ROBUST

* Made Space Cat's lungs ROBUST 2.0

* Automatic changelog update

* Wide anomaly locator (#20581)

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* add textures

* fix encoding

* fix 2

* Automatic changelog update

* Fixed Telescopic Shield Lighting (#20650)

* Fixed Telescopic Shield Lighting Bug fix #20199

* no need for these at all

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

* Automatic changelog update

* Add a special hardsuit for nukie medic (#20471)

* Automatic changelog update

* Carry over other mutations when doing species mutation (#20551)

* Automatic changelog update

* Add Spanish accent to poncho and sombrero (#20377)

---------

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: ravage <142820619+ravage123321@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: LEVELcat <68501903+LEVELcat@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Doru991 <75124791+Doru991@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Skarletto <122584947+Skarletto@users.noreply.github.com>
Co-authored-by: NULL882 <104377798+NULL882@users.noreply.github.com>
Co-authored-by: lunarcomets <140772713+lunarcomets@users.noreply.github.com>
Co-authored-by: Miro Kavaliou <miraslauk@gmail.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Kacper Urbańczyk <kacperjaroslawurbanczyk@gmail.com>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: daerSeebaer <61566539+daerSeebaer@users.noreply.github.com>
Co-authored-by: Fluffiest Floofers <thebluewulf@gmail.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
Co-authored-by: drteaspoon420 <87363733+drteaspoon420@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
Co-authored-by: Kacper Urbańczyk <mikrel071204@gmail.com>
Co-authored-by: Tox Cruize <141375638+TexCruize@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Michael Cu <43478115+michaelcu@users.noreply.github.com>
2023-10-03 14:15:46 -05:00
Leon Friedrich
cd2489bff4 Action container rejig (#20260)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-09-27 21:59:12 +02:00