From 29a7d080d4e98632f02e441d70f7e4bf0ad114f1 Mon Sep 17 00:00:00 2001 From: ConstantlyConfused <67894661+Eternally-Confused@users.noreply.github.com> Date: Sun, 7 Dec 2025 02:09:34 -0500 Subject: [PATCH] Make pride clothing be able to chameleon into similar pieces of pride clothing (#4845) * Expedite gender reassignment (#36894) * Remove Misgendering (#40425) fix misgendering * make pride scarfs and cloaks chameleon * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * add missing comments * Attempt Toby's suggestion: rename chameleon stuff * rename the chameleon verb & window --------- Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .../UI/ChameleonBoundUserInterface.cs | 7 ++ .../Components/ChameleonClothingComponent.cs | 12 +++ .../SharedChameleonClothingSystem.cs | 2 +- .../en-US/_DV/clothing/chameleon-clothing.ftl | 3 + .../Entities/Clothing/Neck/cloaks.yml | 40 ++++++--- .../Entities/Clothing/Neck/pins.yml | 84 +++++++++++++++---- .../Entities/Clothing/Neck/scarfs.yml | 48 ++++++++--- .../_DV/Entities/Clothing/Neck/cloaks.yml | 21 +++++ .../_DV/Entities/Clothing/Neck/scarfs.yml | 20 +++++ Resources/Prototypes/_DV/tags.yml | 6 ++ Resources/Prototypes/tags.yml | 3 + 11 files changed, 208 insertions(+), 38 deletions(-) create mode 100644 Resources/Locale/en-US/_DV/clothing/chameleon-clothing.ftl create mode 100644 Resources/Prototypes/_DV/Entities/Clothing/Neck/scarfs.yml diff --git a/Content.Client/Clothing/UI/ChameleonBoundUserInterface.cs b/Content.Client/Clothing/UI/ChameleonBoundUserInterface.cs index 876f300e50..8f0383c1fc 100644 --- a/Content.Client/Clothing/UI/ChameleonBoundUserInterface.cs +++ b/Content.Client/Clothing/UI/ChameleonBoundUserInterface.cs @@ -58,6 +58,13 @@ public sealed class ChameleonBoundUserInterface : BoundUserInterface { _menu?.UpdateState(targets, st.SelectedId); } + + // Begin Delta-V: Override for the name of the chameleon stuff, so you can have items use the chameleon system without being illegal. + if (_menu is { } menu && EntMan.TryGetComponent(Owner, out var chameleon) && chameleon.WindowTitleOverride is { } titleOverride) + { + _menu.Title = Loc.GetString(titleOverride); + } + // End Delta-V } private void OnIdSelected(string selectedId) diff --git a/Content.Shared/Clothing/Components/ChameleonClothingComponent.cs b/Content.Shared/Clothing/Components/ChameleonClothingComponent.cs index 5caddda18b..84d81727c7 100644 --- a/Content.Shared/Clothing/Components/ChameleonClothingComponent.cs +++ b/Content.Shared/Clothing/Components/ChameleonClothingComponent.cs @@ -65,6 +65,18 @@ public sealed partial class ChameleonClothingComponent : Component /// [AutoPausedField, DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] public TimeSpan NextEmpChange = TimeSpan.Zero; + + /// + /// Delta-V: Override for the name of the chameleon stuff, so you can have items use the chameleon system without being illegal. + /// + [DataField] + public LocId? WindowTitleOverride; + + /// + /// Delta-V: Override for the name of the chameleon stuff, so you can have items use the chameleon system without being illegal. + /// + [DataField] + public LocId? VerbNameOverride; } [Serializable, NetSerializable] diff --git a/Content.Shared/Clothing/EntitySystems/SharedChameleonClothingSystem.cs b/Content.Shared/Clothing/EntitySystems/SharedChameleonClothingSystem.cs index 4b38d926f6..f2d99dfd62 100644 --- a/Content.Shared/Clothing/EntitySystems/SharedChameleonClothingSystem.cs +++ b/Content.Shared/Clothing/EntitySystems/SharedChameleonClothingSystem.cs @@ -132,7 +132,7 @@ public abstract class SharedChameleonClothingSystem : EntitySystem args.Verbs.Add(new InteractionVerb() { - Text = Loc.GetString("chameleon-component-verb-text"), + Text = Loc.GetString(ent.Comp.VerbNameOverride ?? "chameleon-component-verb-text"), // Delta-V: Override for the name of the Chameleon Verb Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/settings.svg.192dpi.png")), Act = () => UI.TryToggleUi(ent.Owner, ChameleonUiKey.Key, user) }); diff --git a/Resources/Locale/en-US/_DV/clothing/chameleon-clothing.ftl b/Resources/Locale/en-US/_DV/clothing/chameleon-clothing.ftl new file mode 100644 index 0000000000..f669a41182 --- /dev/null +++ b/Resources/Locale/en-US/_DV/clothing/chameleon-clothing.ftl @@ -0,0 +1,3 @@ +change-pin-face = Change Pin Face +change-scarf-pattern = Change Scarf Pattern +change-cloak-pattern = Change Cloak Pattern diff --git a/Resources/Prototypes/Entities/Clothing/Neck/cloaks.yml b/Resources/Prototypes/Entities/Clothing/Neck/cloaks.yml index 28a35a82a0..5fd21b9572 100644 --- a/Resources/Prototypes/Entities/Clothing/Neck/cloaks.yml +++ b/Resources/Prototypes/Entities/Clothing/Neck/cloaks.yml @@ -136,13 +136,15 @@ sprite: Clothing/Neck/Cloaks/miner.rsi - type: entity - parent: ClothingNeckBase + parent: ClothingGenderCloakBase # DeltaV - Chameleon pride clothing id: ClothingNeckCloakTrans name: vampire cloak description: Worn by high ranking vampires of the transylvanian society of vampires. components: - type: Sprite sprite: Clothing/Neck/Cloaks/trans.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckCloakTrans # DeltaV - Chameleon pride clothing - type: entity parent: ClothingNeckBase @@ -209,83 +211,101 @@ proto: alien - type: entity - parent: ClothingNeckBase + parent: ClothingGenderCloakBase # DeltaV - Chameleon pride clothing id: ClothingNeckCloakAce name: pilot's cloak description: Cloak awarded to Nanotrasen's finest space aces. components: - type: Sprite sprite: Clothing/Neck/Cloaks/ace.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckCloakAce # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingNeckBase + parent: ClothingGenderCloakBase # DeltaV - Chameleon pride clothing id: ClothingNeckCloakAro name: werewolf cloak description: This cloak lets others know you're a lone wolf. components: - type: Sprite sprite: Clothing/Neck/Cloaks/aro.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckCloakAro # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingNeckBase + parent: ClothingGenderCloakBase # DeltaV - Chameleon pride clothing id: ClothingNeckCloakAroace name: aeropilot's cloak # thank you happyman442 this was the best name idea ever description: Cloak awarded to Nanotrasen's finest pilots on planets with inhabitable atmospheres. components: - type: Sprite sprite: Clothing/Neck/Cloaks/aroace.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckCloakAroace # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingNeckBase + parent: ClothingGenderCloakBase # DeltaV - Chameleon pride clothing id: ClothingNeckCloakBi name: poison cloak description: The purple color is a clear indicator you are poisonous. components: - type: Sprite sprite: Clothing/Neck/Cloaks/bi.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckCloakBi # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingNeckBase + parent: ClothingGenderCloakBase # DeltaV - Chameleon pride clothing id: ClothingNeckCloakIntersex name: cyclops cloak description: The circle on this cloak represents a cyclops' eye. components: - type: Sprite sprite: Clothing/Neck/Cloaks/intersex.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckCloakIntersex # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingNeckBase + parent: ClothingGenderCloakBase # DeltaV - Chameleon pride clothing id: ClothingNeckCloakLesbian name: poet cloak description: This cloak belonged to an ancient poet, you forgot which one. components: - type: Sprite sprite: Clothing/Neck/Cloaks/les.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckCloakLesbian # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingNeckBase + parent: ClothingGenderCloakBase # DeltaV - Chameleon pride clothing id: ClothingNeckCloakGay name: multi-level marketing cloak description: This cloak is highly sought after in the Nanotrasen Marketing Offices. components: - type: Sprite sprite: Clothing/Neck/Cloaks/gay.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckCloakGay # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingNeckBase + parent: ClothingGenderCloakBase # DeltaV - Chameleon pride clothing id: ClothingNeckCloakEnby name: treasure hunter cloak description: This cloak belonged to a greedy treasure hunter. components: - type: Sprite sprite: Clothing/Neck/Cloaks/enby.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckCloakEnby # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingNeckBase + parent: ClothingGenderCloakBase # DeltaV - Chameleon pride clothing id: ClothingNeckCloakPan name: chef's cloak description: Meant to be worn alongside a frying pan. components: - type: Sprite sprite: Clothing/Neck/Cloaks/pan.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckCloakPan # DeltaV - Chameleon pride clothing diff --git a/Resources/Prototypes/Entities/Clothing/Neck/pins.yml b/Resources/Prototypes/Entities/Clothing/Neck/pins.yml index 1724186bc2..2ed1ea78ec 100644 --- a/Resources/Prototypes/Entities/Clothing/Neck/pins.yml +++ b/Resources/Prototypes/Entities/Clothing/Neck/pins.yml @@ -14,6 +14,28 @@ - type: entity parent: ClothingNeckPinBase + id: ClothingGenderPinBase + abstract: true + components: + - type: ChameleonClothing + slot: Neck +# default: ClothingNeckLGBTPin + requireTag: GenderPin + affectedByEmp: false + windowTitleOverride: change-pin-face # DeltaV - Rename the chameleon stuff so it's not illegal + verbNameOverride: change-pin-face # DeltaV - Rename the chameleon stuf so it's not illegal + - type: UserInterface + interfaces: + enum.ChameleonUiKey.Key: + type: ChameleonBoundUserInterface + - type: Tag + tags: + - ClothMade #idk man its on the parent + - WhitelistChameleon + - GenderPin + +- type: entity + parent: ClothingGenderPinBase id: ClothingNeckLGBTPin name: LGBT pin description: Be gay do crime. @@ -22,9 +44,11 @@ state: lgbt - type: Clothing equippedPrefix: lgbt + - type: ChameleonClothing + default: ClothingNeckLGBTPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckAllyPin name: straight ally pin description: Be ally do crime. @@ -33,9 +57,11 @@ state: ally - type: Clothing equippedPrefix: ally + - type: ChameleonClothing + default: ClothingNeckAllyPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckAromanticPin name: aromantic pin description: Be aro do crime. @@ -44,9 +70,11 @@ state: aro - type: Clothing equippedPrefix: aro + - type: ChameleonClothing + default: ClothingNeckAromanticPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckAroacePin name: aroace pin description: Be aroace do crime. @@ -55,9 +83,11 @@ state: aroace - type: Clothing equippedPrefix: aroace + - type: ChameleonClothing + default: ClothingNeckAroacePin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckAsexualPin name: asexual pin description: Be ace do crime. @@ -66,9 +96,11 @@ state: asex - type: Clothing equippedPrefix: asex + - type: ChameleonClothing + default: ClothingNeckAsexualPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckBisexualPin name: bisexual pin description: Be bi do crime. @@ -77,9 +109,11 @@ state: bi - type: Clothing equippedPrefix: bi + - type: ChameleonClothing + default: ClothingNeckBisexualPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckGayPin name: gay pin description: Be gay~ do crime. @@ -88,9 +122,11 @@ state: gay - type: Clothing equippedPrefix: gay + - type: ChameleonClothing + default: ClothingNeckGayPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckIntersexPin name: intersex pin description: Be intersex do crime. @@ -99,9 +135,11 @@ state: inter - type: Clothing equippedPrefix: inter + - type: ChameleonClothing + default: ClothingNeckIntersexPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckLesbianPin name: lesbian pin description: Be lesbian do crime. @@ -110,9 +148,11 @@ state: les - type: Clothing equippedPrefix: les + - type: ChameleonClothing + default: ClothingNeckLesbianPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckNonBinaryPin name: non-binary pin description: "01100010 01100101 00100000 01100101 01101110 01100010 01111001 00100000 01100100 01101111 00100000 01100011 01110010 01101001 01101101 01100101" @@ -121,9 +161,11 @@ state: non - type: Clothing equippedPrefix: non + - type: ChameleonClothing + default: ClothingNeckNonBinaryPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckPansexualPin name: pansexual pin description: Be pan do crime. @@ -132,9 +174,11 @@ state: pan - type: Clothing equippedPrefix: pan + - type: ChameleonClothing + default: ClothingNeckPansexualPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckPluralPin name: plural pin description: Be plural, do crimes. @@ -143,9 +187,11 @@ state: plural - type: Clothing equippedPrefix: plural + - type: ChameleonClothing + default: ClothingNeckPluralPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckOmnisexualPin name: omnisexual pin description: Be omni do crime. @@ -154,9 +200,11 @@ state: omni - type: Clothing equippedPrefix: omni + - type: ChameleonClothing + default: ClothingNeckOmnisexualPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckGenderqueerPin name: genderqueer pin description: be crime, do gender @@ -165,9 +213,11 @@ state: gender - type: Clothing equippedPrefix: gender + - type: ChameleonClothing + default: ClothingNeckGenderqueerPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckGenderfluidPin name: genderfluid pin description: be gender, be fluid @@ -176,9 +226,11 @@ state: fluid - type: Clothing equippedPrefix: fluid + - type: ChameleonClothing + default: ClothingNeckGenderfluidPin - type: entity - parent: ClothingNeckPinBase + parent: ClothingGenderPinBase id: ClothingNeckTransPin name: transgender pin description: Be trans do crime. @@ -187,6 +239,8 @@ state: trans - type: Clothing equippedPrefix: trans + - type: ChameleonClothing + default: ClothingNeckTransPin - type: entity parent: ClothingNeckPinBase diff --git a/Resources/Prototypes/Entities/Clothing/Neck/scarfs.yml b/Resources/Prototypes/Entities/Clothing/Neck/scarfs.yml index fe037a888f..7bc9b6e77b 100644 --- a/Resources/Prototypes/Entities/Clothing/Neck/scarfs.yml +++ b/Resources/Prototypes/Entities/Clothing/Neck/scarfs.yml @@ -136,7 +136,7 @@ # Pride Scarves - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedAce name: striped asexual scarf description: A stylish striped asexual scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks. @@ -145,9 +145,11 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/ace.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/ace.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedAce # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedAro name: striped aromantic scarf description: A stylish striped aromantic scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks. @@ -156,9 +158,11 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/aro.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/aro.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedAro # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedAroace name: striped aroace scarf description: A stylish striped aroace scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks. @@ -167,9 +171,11 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/aroace.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/aroace.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedAroace # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedBiSexual name: striped bisexual scarf description: A stylish striped bisexual scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks. @@ -178,9 +184,11 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/bi.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/bi.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedBiSexual # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedGay name: striped gay scarf description: A stylish striped gay scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks. @@ -189,9 +197,11 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/gay.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/gay.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedGay # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedInter name: striped intersex scarf description: A stylish striped intersex scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks. @@ -200,9 +210,11 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/inter.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/inter.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedInter # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedLesbian name: striped lesbian scarf description: A stylish striped lesbian scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks. @@ -211,9 +223,11 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/lesbian.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/lesbian.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedLesbian # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedPan name: striped pan scarf description: A stylish striped pan scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks. @@ -222,9 +236,11 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/pan.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/pan.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedPan # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedNonBinary name: striped non-binary scarf description: A stylish striped non-binary scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks. @@ -233,9 +249,11 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/non.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/non.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedNonBinary # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedRainbow name: rainbow scarf description: A stylish rainbow scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks. @@ -244,9 +262,11 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/rainbow.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/rainbow.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedRainbow # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedTrans name: striped trans scarf description: A stylish striped trans scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks. @@ -255,9 +275,11 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/trans.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/trans.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedTrans # DeltaV - Chameleon pride clothing - type: entity - parent: ClothingScarfBase + parent: ClothingGenderScarfBase # DeltaV - Chameleon pride clothing id: ClothingNeckScarfStripedLesbianLong name: long bacon description: Long bacon! Perfect for sharing with your girlfriend! @@ -266,3 +288,5 @@ sprite: Clothing/Neck/Scarfs/PrideScarfs/lesbian-long.rsi - type: Clothing sprite: Clothing/Neck/Scarfs/PrideScarfs/lesbian-long.rsi + - type: ChameleonClothing # DeltaV - Chameleon pride clothing + default: ClothingNeckScarfStripedLesbianLong # DeltaV - Chameleon pride clothing diff --git a/Resources/Prototypes/_DV/Entities/Clothing/Neck/cloaks.yml b/Resources/Prototypes/_DV/Entities/Clothing/Neck/cloaks.yml index 53fc4a7fd8..13423d7416 100644 --- a/Resources/Prototypes/_DV/Entities/Clothing/Neck/cloaks.yml +++ b/Resources/Prototypes/_DV/Entities/Clothing/Neck/cloaks.yml @@ -55,3 +55,24 @@ sprite: _DV/Clothing/Neck/Cloaks/witchcloak.rsi - type: Clothing sprite: _DV/Clothing/Neck/Cloaks/witchcloak.rsi + +- type: entity + parent: ClothingNeckBase + id: ClothingGenderCloakBase + abstract: true + components: + - type: ChameleonClothing + slot: Neck + requireTag: GenderCloak + affectedByEmp: false + windowTitleOverride: change-cloak-pattern + verbNameOverride: change-cloak-pattern + - type: UserInterface + interfaces: + enum.ChameleonUiKey.Key: + type: ChameleonBoundUserInterface + - type: Tag + tags: + - ClothMade # for whatever reason, these tags aren't being inhereted from the parent + - WhitelistChameleon + - GenderCloak diff --git a/Resources/Prototypes/_DV/Entities/Clothing/Neck/scarfs.yml b/Resources/Prototypes/_DV/Entities/Clothing/Neck/scarfs.yml new file mode 100644 index 0000000000..a1bdbed3a1 --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Clothing/Neck/scarfs.yml @@ -0,0 +1,20 @@ +- type: entity + parent: ClothingScarfBase + id: ClothingGenderScarfBase + abstract: true + components: + - type: ChameleonClothing + slot: Neck + requireTag: GenderScarf + affectedByEmp: false + windowTitleOverride: change-scarf-pattern + verbNameOverride: change-scarf-pattern + - type: UserInterface + interfaces: + enum.ChameleonUiKey.Key: + type: ChameleonBoundUserInterface + - type: Tag + tags: + - ClothMade # for whatever reason, these tags aren't being inhereted from the parent + - WhitelistChameleon + - GenderScarf diff --git a/Resources/Prototypes/_DV/tags.yml b/Resources/Prototypes/_DV/tags.yml index 8eea8b835a..b741f14c7b 100644 --- a/Resources/Prototypes/_DV/tags.yml +++ b/Resources/Prototypes/_DV/tags.yml @@ -221,3 +221,9 @@ - type: Tag # Ovinia, allows them to use specified emotes id: OviniaEmotes + +- type: Tag + id: GenderScarf + +- type: Tag + id: GenderCloak diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 7c2d49e3b9..88b7ed16a6 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -633,6 +633,9 @@ - type: Tag id: GhostOnlyWarp +- type: Tag + id: GenderPin + - type: Tag id: GlassAirlock