diff --git a/code/modules/client/preference/loadout/loadout_accessories.dm b/code/modules/client/preference/loadout/loadout_accessories.dm
index 864887d2e95..7bcd626a043 100644
--- a/code/modules/client/preference/loadout/loadout_accessories.dm
+++ b/code/modules/client/preference/loadout/loadout_accessories.dm
@@ -175,6 +175,14 @@
display_name = "Corset, blue"
path = /obj/item/clothing/accessory/corset/blue
+/datum/gear/accessory/nt_pin
+ display_name = "Nanotrasen pin"
+ path = /obj/item/clothing/accessory/pin
+
+/datum/gear/accessory/pride_pin
+ display_name = "Pride pin"
+ path = /obj/item/clothing/accessory/pin/pride
+
/datum/gear/accessory/armband_red
display_name = "Armband"
path = /obj/item/clothing/accessory/armband
diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm
index c8bb0f64800..313b5c23b8e 100644
--- a/code/modules/clothing/under/accessories/accessory.dm
+++ b/code/modules/clothing/under/accessories/accessory.dm
@@ -829,6 +829,56 @@
item_state = "corset_blue"
item_color = "corset_blue"
+//Pins
+/obj/item/clothing/accessory/pin
+ name = "nanotrasen pin"
+ desc = "It's a standard pin to wear so you can show your loyalty to Nanotrasen!"
+ icon_state = "nt_pin"
+ item_state = "nt_pin"
+ item_color = "nt_pin"
+
+/obj/item/clothing/accessory/pin/pride
+ name = "pride pin"
+ desc = "It's a standard pin, wear it with pride. You can change which flag is used from a button on the back."
+ icon_state = "pride_pin"
+ item_state = "pride_pin"
+ item_color = "pride_pin"
+
+ ///List of all pride flags to icon state
+ var/static/list/flag_types = list(
+ "Pride" = "pride_pin",
+ "Bisexual Pride" = "bi_pin",
+ "Pansexual Pride" = "pan_pin",
+ "Asexual Pride" = "ace_pin",
+ "Non-binary Pride" = "enby_pin",
+ "Transgender Pride" = "trans_pin")
+
+ ///List of all pride flags to icon image, for the radial
+ var/static/list/flag_icons = list()
+
+/obj/item/clothing/accessory/pin/pride/Initialize(mapload)
+ . = ..()
+ if(length(flag_icons)) //Only generate it once
+ return
+
+ for(var/current_pin in flag_types) //generate the flag icons
+ var/image/pin_icon = image(icon, icon_state = flag_types[current_pin])
+ flag_icons[current_pin] = pin_icon
+
+/obj/item/clothing/accessory/pin/pride/attack_self(mob/user)
+ . = ..()
+ var/chosen_pin = show_radial_menu(user, src, flag_icons, require_near = TRUE)
+ if(!chosen_pin)
+ to_chat(user, "You decide not to change [src].")
+ return
+ var/pin_icon_state = flag_types[chosen_pin]
+ to_chat(user, "You change [src] to show [chosen_pin].")
+
+ icon_state = pin_icon_state
+ item_state = pin_icon_state
+ item_color = pin_icon_state
+ inv_overlay = image("icon" = 'icons/obj/clothing/ties_overlay.dmi', "icon_state" = "[item_color? "[item_color]" : "[icon_state]"]")
+
/proc/english_accessory_list(obj/item/clothing/under/U)
if(!istype(U) || !length(U.accessories))
return
diff --git a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
index d17931f9577..56780d72550 100644
--- a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
+++ b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
@@ -433,6 +433,31 @@
/datum/sprite_accessory/undershirt/brightblue_striped
name = "Striped Bright Blue Shirt"
icon_state = "shirt_brightbluestripe"
+
+/datum/sprite_accessory/undershirt/shirt_trans
+ name = "Transgender Shirt"
+ icon_state = "shirt_trans"
+
+/datum/sprite_accessory/undershirt/shirt_nonbinary
+ name = "Nonbinary Shirt"
+ icon_state = "shirt_nonbinary"
+
+/datum/sprite_accessory/undershirt/shirt_bisexual
+ name = "Bisexual Shirt"
+ icon_state = "shirt_bisexual"
+
+/datum/sprite_accessory/undershirt/shirt_pansexual
+ name = "Pansexual Shirt"
+ icon_state = "shirt_pansexual"
+
+/datum/sprite_accessory/undershirt/shirt_asexual
+ name = "Asexual Shirt"
+ icon_state = "shirt_asexual"
+
+/datum/sprite_accessory/undershirt/shirt_rainbow
+ name = "Rainbow Shirt"
+ icon_state = "shirt_rainbow"
+
//end graphic shirts
//short sleeved
diff --git a/icons/mob/clothing/species/grey/underwear.dmi b/icons/mob/clothing/species/grey/underwear.dmi
index c3c1b581651..3817eb07448 100644
Binary files a/icons/mob/clothing/species/grey/underwear.dmi and b/icons/mob/clothing/species/grey/underwear.dmi differ
diff --git a/icons/mob/clothing/species/kidan/underwear.dmi b/icons/mob/clothing/species/kidan/underwear.dmi
index fef35935684..2f36a4930a5 100644
Binary files a/icons/mob/clothing/species/kidan/underwear.dmi and b/icons/mob/clothing/species/kidan/underwear.dmi differ
diff --git a/icons/mob/clothing/species/vox/underwear.dmi b/icons/mob/clothing/species/vox/underwear.dmi
index b4f741194e1..16a6fa77f72 100644
Binary files a/icons/mob/clothing/species/vox/underwear.dmi and b/icons/mob/clothing/species/vox/underwear.dmi differ
diff --git a/icons/mob/clothing/underwear.dmi b/icons/mob/clothing/underwear.dmi
index d92444ed99f..db642a94bfa 100644
Binary files a/icons/mob/clothing/underwear.dmi and b/icons/mob/clothing/underwear.dmi differ
diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi
index 091dbe3d138..b7ebb3c83be 100644
Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ
diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi
index bfa8ecb6cf8..749cd04f7ed 100644
Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ
diff --git a/icons/obj/clothing/ties_overlay.dmi b/icons/obj/clothing/ties_overlay.dmi
index 0351b908a2f..d233ebc4643 100644
Binary files a/icons/obj/clothing/ties_overlay.dmi and b/icons/obj/clothing/ties_overlay.dmi differ