diff --git a/code/modules/client/preference/loadout/loadout_shoes.dm b/code/modules/client/preference/loadout/loadout_shoes.dm
new file mode 100644
index 00000000000..97e64e74f83
--- /dev/null
+++ b/code/modules/client/preference/loadout/loadout_shoes.dm
@@ -0,0 +1,8 @@
+/datum/gear/shoes
+ subtype_path = /datum/gear/shoes
+ slot = slot_shoes
+ sort_category = "Shoes"
+
+/datum/gear/shoes/sandals
+ display_name = "sandals"
+ path = /obj/item/clothing/shoes/sandal
\ No newline at end of file
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 22fa3e2376c..afc11b0acf8 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -179,34 +179,14 @@ BLIND // can't see anything
attack_verb = list("challenged")
var/transfer_prints = FALSE
var/pickpocket = 0 //Master pickpocket?
- var/clipped = 0
strip_delay = 20
put_on_delay = 40
- species_restricted = list("exclude","Unathi","Tajaran","Wryn")
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/gloves.dmi',
"Drask" = 'icons/mob/species/drask/gloves.dmi'
)
-/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user, params)
- if(istype(W, /obj/item/weapon/wirecutters))
- if(!clipped)
- playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
- user.visible_message("[user] snips the fingertips off [src].","You snip the fingertips off [src].")
- clipped = 1
- name = "mangled [name]"
- desc = "[desc] They have had the fingertips cut off of them."
- if("exclude" in species_restricted)
- species_restricted -= "Unathi"
- species_restricted -= "Tajaran"
- update_icon()
- else
- to_chat(user, "[src] have already been clipped!")
- return
- else
- ..()
-
/obj/item/clothing/gloves/proc/Touch()
return
@@ -370,7 +350,6 @@ BLIND // can't see anything
permeability_coefficient = 0.50
slowdown = SHOES_SLOWDOWN
- species_restricted = list("exclude","Unathi","Tajaran","Wryn")
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/shoes.dmi'
@@ -403,9 +382,6 @@ BLIND // can't see anything
item_state = "[item_state]_opentoe"
name = "mangled [name]"
desc = "[desc] They have had their toes opened up."
- if("exclude" in species_restricted)
- species_restricted -= "Unathi"
- species_restricted -= "Tajaran"
update_icon()
else
to_chat(user, "[src] have already had their toes cut open!")
diff --git a/code/modules/clothing/gloves/boxing.dm b/code/modules/clothing/gloves/boxing.dm
index fd54295c477..77a4076347d 100644
--- a/code/modules/clothing/gloves/boxing.dm
+++ b/code/modules/clothing/gloves/boxing.dm
@@ -4,7 +4,6 @@
icon_state = "boxing"
item_state = "boxing"
put_on_delay = 60
- species_restricted = null
/obj/item/clothing/gloves/boxing/green
icon_state = "boxinggreen"
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index a50e56382a1..76bfbdfd394 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -59,16 +59,28 @@
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
heat_protection = HANDS
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
+ var/can_be_cut = 1
- hos
- item_color = "hosred" //Exists for washing machines. Is not different from black gloves in any way.
+/obj/item/clothing/gloves/color/black/hos
+ item_color = "hosred" //Exists for washing machines. Is not different from black gloves in any way.
- ce
- item_color = "chief" //Exists for washing machines. Is not different from black gloves in any way.
+/obj/item/clothing/gloves/color/black/ce
+ item_color = "chief" //Exists for washing machines. Is not different from black gloves in any way.
- thief
- pickpocket = 1
+/obj/item/clothing/gloves/color/black/thief
+ pickpocket = 1
+
+/obj/item/clothing/gloves/color/black/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
+ if(istype(W, /obj/item/weapon/wirecutters))
+ if(can_be_cut && icon_state == initial(icon_state))//only if not dyed
+ to_chat(user, "You snip the fingertips off of [src].")
+ playsound(user.loc,'sound/items/Wirecutter.ogg', rand(10,50), 1)
+ var/obj/item/clothing/gloves/fingerless/F = new/obj/item/clothing/gloves/fingerless(user.loc)
+ if(pickpocket)
+ F.pickpocket = 1
+ qdel(src)
+ ..()
/obj/item/clothing/gloves/color/orange
name = "orange gloves"
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index d98ee1d0154..feae32b9085 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -7,10 +7,8 @@
transfer_prints = TRUE
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
- species_restricted = null
strip_delay = 40
put_on_delay = 20
- clipped = 1
/obj/item/clothing/gloves/cyborg
desc = "beep boop borp"
diff --git a/code/modules/clothing/gloves/rings.dm b/code/modules/clothing/gloves/rings.dm
index 4a0af4392fa..590efa7cd91 100644
--- a/code/modules/clothing/gloves/rings.dm
+++ b/code/modules/clothing/gloves/rings.dm
@@ -8,22 +8,22 @@
icon = 'icons/obj/clothing/rings.dmi'
var/material = "iron"
var/stud = 0
- species_restricted = null
-
- New()
- ..()
- update_icon()
+/obj/item/clothing/gloves/ring/New()
+ ..()
update_icon()
- if(stud)
- icon_state = "d_[initial(icon_state)]"
- else
- icon_state = initial(icon_state)
- examine(mob/user)
- ..(user)
- to_chat(user, "This one is made of [material].")
- if(stud)
- to_chat(user, "It is adorned with a single gem.")
+
+/obj/item/clothing/gloves/ring/update_icon()
+ if(stud)
+ icon_state = "d_[initial(icon_state)]"
+ else
+ icon_state = initial(icon_state)
+
+/obj/item/clothing/gloves/ring/examine(mob/user)
+ ..(user)
+ to_chat(user, "This one is made of [material].")
+ if(stud)
+ to_chat(user, "It is adorned with a single gem.")
/obj/item/clothing/gloves/ring/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/stack/sheet/mineral/diamond))
@@ -69,10 +69,11 @@
icon_state = "redring"
/obj/item/clothing/gloves/ring/plastic/random
- New()
- var/c = pick("white","blue","red")
- name = "[c] plastic ring"
- icon_state = "[c]ring"
+
+/obj/item/clothing/gloves/ring/plastic/random/New()
+ var/c = pick("white","blue","red")
+ name = "[c] plastic ring"
+ icon_state = "[c]ring"
// weird
/obj/item/clothing/gloves/ring/glass
diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
index 0f37d2133aa..2c6bdeddf87 100644
--- a/code/modules/clothing/shoes/magboots.dm
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -8,7 +8,6 @@
actions_types = list(/datum/action/item_action/toggle)
strip_delay = 70
put_on_delay = 70
- species_restricted = null
/obj/item/clothing/shoes/magboots/attack_self(mob/user)
if(magpulse)
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 3eb380d703f..229daee5c93 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -7,7 +7,6 @@
flags = NOSLIP
origin_tech = "syndicate=3"
var/list/clothing_choices = list()
- species_restricted = null
silence_steps = 1
/obj/item/clothing/shoes/mime
@@ -22,7 +21,6 @@
icon_state = "jackboots"
item_state = "jackboots"
armor = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 50, bio = 10, rad = 0)
- species_restricted = null //Syndicate tech means even Tajarans can kick ass with these
strip_delay = 70
/obj/item/clothing/shoes/combat/swat //overpowered boots for death squads
@@ -38,7 +36,6 @@
icon_state = "wizard"
strip_delay = 50
put_on_delay = 50
- species_restricted = null
/obj/item/clothing/shoes/sandal/marisa
desc = "A pair of magic, black shoes."
@@ -54,7 +51,6 @@
slowdown = SHOES_SLOWDOWN+1
strip_delay = 50
put_on_delay = 50
- species_restricted = null
/obj/item/clothing/shoes/galoshes/dry
name = "absorbent galoshes"
@@ -74,7 +70,6 @@
slowdown = SHOES_SLOWDOWN+1
item_color = "clown"
var/footstep = 1 //used for squeeks whilst walking
- species_restricted = null
silence_steps = 1
shoe_sound = "clownstep"
@@ -97,7 +92,6 @@
can_cut_open = 0
icon_state = "jacksandal"
item_color = "jacksandal"
- species_restricted = null
/obj/item/clothing/shoes/workboots
name = "work boots"
@@ -116,7 +110,6 @@
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
heat_protection = FEET
max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
- species_restricted = null
/obj/item/clothing/shoes/cyborg
name = "cyborg boots"
@@ -128,7 +121,6 @@
desc = "Fluffy!"
icon_state = "slippers"
item_state = "slippers"
- species_restricted = null
/obj/item/clothing/shoes/slippers_worn
name = "worn bunny slippers"
@@ -149,7 +141,6 @@
item_state = "roman"
strip_delay = 100
put_on_delay = 100
- species_restricted = null
/obj/item/clothing/shoes/centcom
name = "dress shoes"
@@ -198,14 +189,12 @@
desc = "Medical sandals that nerds wear."
icon_state = "medsandal"
item_color = "medsandal"
- species_restricted = null
/obj/item/clothing/shoes/sandal/fancy
name = "Fancy Sandals"
desc = "FANCY!!."
icon_state = "fancysandal"
item_color = "fancysandal"
- species_restricted = null
/obj/item/clothing/shoes/cursedclown
name = "cursed clown shoes"
diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm
index 0c0b952fc2f..6268652f828 100644
--- a/code/modules/mob/living/carbon/human/species/station.dm
+++ b/code/modules/mob/living/carbon/human/species/station.dm
@@ -81,11 +81,6 @@
/datum/species/unathi/handle_death(var/mob/living/carbon/human/H)
H.stop_tail_wagging(1)
-/datum/species/unathi/equip(var/mob/living/carbon/human/H)
- if(H.mind.assigned_role != "Clown")
- H.unEquip(H.shoes)
- H.equip_or_collect(new /obj/item/clothing/shoes/sandal(H), slot_shoes)
-
/datum/species/tajaran
name = "Tajaran"
name_plural = "Tajaran"
@@ -148,11 +143,6 @@
/datum/species/tajaran/handle_death(var/mob/living/carbon/human/H)
H.stop_tail_wagging(1)
-/datum/species/tajaran/equip(var/mob/living/carbon/human/H)
- if(H.mind.assigned_role != "Clown")
- H.unEquip(H.shoes)
- H.equip_or_collect(new /obj/item/clothing/shoes/sandal(H), slot_shoes)
-
/datum/species/vulpkanin
name = "Vulpkanin"
name_plural = "Vulpkanin"
diff --git a/paradise.dme b/paradise.dme
index 482bfa9f419..f7b71ee7958 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -1130,8 +1130,10 @@
#include "code\modules\client\preference\loadout\gear_tweaks.dm"
#include "code\modules\client\preference\loadout\loadout.dm"
#include "code\modules\client\preference\loadout\loadout_accessories.dm"
+#include "code\modules\client\preference\loadout\loadout_cosmetics.dm"
#include "code\modules\client\preference\loadout\loadout_general.dm"
#include "code\modules\client\preference\loadout\loadout_hat.dm"
+#include "code\modules\client\preference\loadout\loadout_shoes.dm"
#include "code\modules\client\preference\loadout\loadout_suit.dm"
#include "code\modules\client\preference\loadout\loadout_uniform.dm"
#include "code\modules\clothing\clothing.dm"