diff --git a/code/datums/supplypacks/costumes.dm b/code/datums/supplypacks/costumes.dm
index f9b61d9572..9afd0fd60f 100644
--- a/code/datums/supplypacks/costumes.dm
+++ b/code/datums/supplypacks/costumes.dm
@@ -101,7 +101,7 @@
/obj/item/clothing/under/lawyer/bluesuit,
/obj/item/clothing/under/lawyer/purpsuit,
/obj/item/clothing/shoes/black = 2,
- /obj/item/clothing/shoes/leather,
+ /obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/accessory/wcoat
)
name = "Formalwear (Suits)"
diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm
index b1941e97ff..3207ee3ba1 100644
--- a/code/game/machinery/biogenerator.dm
+++ b/code/game/machinery/biogenerator.dm
@@ -124,7 +124,6 @@
dat += "Cash Bag ([round(400/build_eff)])
"
dat += "Chemistry Bag ([round(400/build_eff)])
"
dat += "Workboots ([round(400/build_eff)])
"
- dat += "Leather Shoes ([round(400/build_eff)])
"
dat += "Leather Chaps ([round(400/build_eff)])
"
dat += "Leather Coat ([round(500/build_eff)])
"
dat += "Leather Jacket ([round(500/build_eff)])
"
@@ -261,8 +260,6 @@
new/mob/living/carbon/human/monkey(loc)
if("workboots")
new/obj/item/clothing/shoes/boots/workboots(loc)
- if("leathershoes")
- new/obj/item/clothing/shoes/leather(loc)
if("leatherchaps")
new/obj/item/clothing/under/pants/chaps
if("leathercoat")
diff --git a/code/game/objects/random/maintenance.dm b/code/game/objects/random/maintenance.dm
index 67175c715f..0e66da28da 100644
--- a/code/game/objects/random/maintenance.dm
+++ b/code/game/objects/random/maintenance.dm
@@ -65,8 +65,8 @@ something, make sure it's not in one of the other lists.*/
prob(1);/obj/item/clothing/shoes/syndigaloshes,
prob(4);/obj/item/clothing/shoes/black,
prob(4);/obj/item/clothing/shoes/laceup,
- prob(4);/obj/item/clothing/shoes/black,
- prob(4);/obj/item/clothing/shoes/leather,
+ prob(4);/obj/item/clothing/shoes/laceup/grey,
+ prob(4);/obj/item/clothing/shoes/laceup/brown,
prob(1);/obj/item/clothing/gloves/yellow,
prob(3);/obj/item/clothing/gloves/botanic_leather,
prob(2);/obj/item/clothing/gloves/sterile/latex,
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
index 8d3ee2a783..d0fc4ba136 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -35,7 +35,7 @@
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/weapon/cartridge/rd,
/obj/item/clothing/shoes/white,
- /obj/item/clothing/shoes/leather,
+ /obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/gloves/sterile/latex,
/obj/item/device/radio/headset/heads/rd,
/obj/item/device/radio/headset/heads/rd/alt,
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index 0b66e93903..8630545852 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -50,7 +50,8 @@
/obj/item/clothing/under/lawyer/oldman,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/shoes/black,
- /obj/item/clothing/shoes/leather,
+ /obj/item/clothing/shoes/laceup,
+ /obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/shoes/white,
/obj/item/clothing/under/rank/head_of_personnel_whimsy,
/obj/item/clothing/head/caphat/hop,
diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
index 79685d8bc4..c9e1d2fa8a 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -348,7 +348,7 @@
/obj/item/clothing/shoes/green,
/obj/item/clothing/shoes/purple,
/obj/item/clothing/shoes/red,
- /obj/item/clothing/shoes/leather,
+ /obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/under/pants/classicjeans,
/obj/item/clothing/under/pants/mustangjeans,
/obj/item/clothing/under/pants/blackjeans,
diff --git a/code/game/objects/structures/loot_piles.dm b/code/game/objects/structures/loot_piles.dm
index 3767be4cb9..ca9009f6a9 100644
--- a/code/game/objects/structures/loot_piles.dm
+++ b/code/game/objects/structures/loot_piles.dm
@@ -156,8 +156,8 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
/obj/item/clothing/shoes/galoshes,
/obj/item/clothing/shoes/black,
/obj/item/clothing/shoes/laceup,
- /obj/item/clothing/shoes/black,
- /obj/item/clothing/shoes/leather,
+ /obj/item/clothing/shoes/laceup/grey,
+ /obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/gloves/botanic_leather,
/obj/item/clothing/gloves/sterile/latex,
/obj/item/clothing/gloves/white,
diff --git a/code/modules/client/preference_setup/loadout/loadout_shoes.dm b/code/modules/client/preference_setup/loadout/loadout_shoes.dm
index 7d5b7f860e..4bff01c203 100644
--- a/code/modules/client/preference_setup/loadout/loadout_shoes.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_shoes.dm
@@ -1,13 +1,21 @@
// Shoelocker
/datum/gear/shoes
- display_name = "jackboots"
- path = /obj/item/clothing/shoes/boots/jackboots
+ display_name = "sandals"
+ path = /obj/item/clothing/shoes/sandal
slot = slot_shoes
sort_category = "Shoes and Footwear"
-/datum/gear/shoes/toeless
- display_name = "toe-less jackboots"
- path = /obj/item/clothing/shoes/boots/jackboots/toeless
+/datum/gear/shoes/jackboots
+ display_name = "jackboots"
+ path = /obj/item/clothing/shoes/boots/jackboots
+
+/datum/gear/shoes/kneeboots
+ display_name = "jackboots, knee-length"
+ path = /obj/item/clothing/shoes/boots/jackboots/knee
+
+/datum/gear/shoes/thighboots
+ display_name = "jackboots. thigh-length"
+ path = /obj/item/clothing/shoes/boots/jackboots/thigh
/datum/gear/shoes/workboots
display_name = "workboots"
@@ -17,10 +25,6 @@
display_name = "toe-less workboots"
path = /obj/item/clothing/shoes/boots/workboots/toeless
-/datum/gear/shoes/sandals
- display_name = "sandals"
- path = /obj/item/clothing/shoes/sandal
-
/datum/gear/shoes/black
display_name = "shoes, black"
path = /obj/item/clothing/shoes/black
@@ -34,21 +38,21 @@
path = /obj/item/clothing/shoes/brown
/datum/gear/shoes/lacey
- display_name = "shoes, classy"
+ display_name = "shoes, oxford selection"
path = /obj/item/clothing/shoes/laceup
-/datum/gear/shoes/dress
- display_name = "shoes, dress"
- path = /obj/item/clothing/shoes/laceup
+/datum/gear/shoes/lacey/New()
+ ..()
+ var/list/laces = list()
+ for(var/lace in typesof(/obj/item/clothing/shoes/laceup))
+ var/obj/item/clothing/shoes/laceup/lace_type = lace
+ laces[initial(lace_type.name)] = lace_type
+ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(laces))
/datum/gear/shoes/green
display_name = "shoes, green"
path = /obj/item/clothing/shoes/green
-/datum/gear/shoes/leather
- display_name = "shoes, leather"
- path = /obj/item/clothing/shoes/leather
-
/datum/gear/shoes/orange
display_name = "shoes, orange"
path = /obj/item/clothing/shoes/orange
@@ -74,36 +78,16 @@
path = /obj/item/clothing/shoes/yellow
/datum/gear/shoes/hitops/
- display_name = "high-top, white"
+ display_name = "high-top selection"
path = /obj/item/clothing/shoes/hitops/
-/datum/gear/shoes/hitops/red
- display_name = "high-top, red"
- path = /obj/item/clothing/shoes/hitops/red
-
-/datum/gear/shoes/hitops/black
- display_name = "high-top, black"
- path = /obj/item/clothing/shoes/hitops/black
-
-/datum/gear/shoes/hitops/orange
- display_name = "high-top, orange"
- path = /obj/item/clothing/shoes/hitops/orange
-
-/datum/gear/shoes/hitops/blue
- display_name = "high-top, blue"
- path = /obj/item/clothing/shoes/hitops/blue
-
-/datum/gear/shoes/hitops/green
- display_name = "high-top, green"
- path = /obj/item/clothing/shoes/hitops/green
-
-/datum/gear/shoes/hitops/purple
- display_name = "high-top, purple"
- path = /obj/item/clothing/shoes/hitops/purple
-
-/datum/gear/shoes/hitops/yellow
- display_name = "high-top, yellow"
- path = /obj/item/clothing/shoes/hitops/yellow
+/datum/gear/shoes/hitops/New()
+ ..()
+ var/list/hitops = list()
+ for(var/hitop in typesof(/obj/item/clothing/shoes/hitops))
+ var/obj/item/clothing/shoes/hitops/hitop_type = hitop
+ hitops[initial(hitop_type.name)] = hitop_type
+ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(hitops))
/datum/gear/shoes/flipflops
display_name = "flip flops"
diff --git a/code/modules/clothing/shoes/boots.dm b/code/modules/clothing/shoes/boots.dm
index b0ccf41175..8c99c22d8c 100644
--- a/code/modules/clothing/shoes/boots.dm
+++ b/code/modules/clothing/shoes/boots.dm
@@ -17,13 +17,11 @@
name = "classic cowboy boots"
desc = "A classic looking pair of durable cowboy boots."
icon_state = "cowboy_classic"
- item_state_slots = list(slot_r_hand_str = "leather", slot_l_hand_str = "leather")
/obj/item/clothing/shoes/boots/cowboy/snakeskin
name = "snakeskin cowboy boots"
desc = "A pair of cowboy boots made from python skin."
icon_state = "cowboy_snakeskin"
- item_state_slots = list(slot_r_hand_str = "white", slot_l_hand_str = "white")
/obj/item/clothing/shoes/boots/jackboots
name = "jackboots"
@@ -39,6 +37,32 @@
item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots")
species_restricted = null
+/obj/item/clothing/shoes/boots/jackboots/knee
+ name = "knee-length jackboots"
+ desc = "Taller synthleather boots with an artificial shine."
+ icon_state = "kneeboots"
+ item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots")
+
+/obj/item/clothing/shoes/boots/jackboots/toeless/knee
+ name = "toe-less knee-length jackboots"
+ desc = "Modified pair of taller boots, particularly friendly to those species whose toes hold claws."
+ icon_state = "digikneeboots"
+ item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots")
+ species_restricted = null
+
+/obj/item/clothing/shoes/boots/jackboots/thigh
+ name = "thigh-length jackboots"
+ desc = "Even taller synthleather boots with an artificial shine."
+ icon_state = "thighboots"
+ item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots")
+
+/obj/item/clothing/shoes/boots/jackboots/toeless/thigh
+ name = "toe-less thigh-length jackboots"
+ desc = "Modified pair of even taller boots, particularly friendly to those species whose toes hold claws."
+ icon_state = "digithighboots"
+ item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots")
+ species_restricted = null
+
/obj/item/clothing/shoes/boots/workboots
name = "workboots"
desc = "A pair of steel-toed work boots designed for use in industrial settings. Safety first."
diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm
index 8f72b24163..5035a7f349 100644
--- a/code/modules/clothing/shoes/colour.dm
+++ b/code/modules/clothing/shoes/colour.dm
@@ -35,12 +35,6 @@
icon_state = "white"
permeability_coefficient = 0.01
-/obj/item/clothing/shoes/leather
- name = "leather shoes"
- desc = "A sturdy pair of leather shoes."
- icon_state = "leather"
- drop_sound = 'sound/items/drop/leather.ogg'
-
/obj/item/clothing/shoes/rainbow
name = "rainbow shoes"
desc = "Very colourful shoes."
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 0e492c6d6c..14b72995da 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -45,6 +45,11 @@
wizard_garb = 1
+obj/item/clothing/shoes/sandal/clogs
+ name = "plastic clogs"
+ desc = "A pair of plastic clog shoes."
+ icon_state = "clogs"
+
/obj/item/clothing/shoes/sandal/marisa
desc = "A pair of magic, black shoes."
name = "magic shoes"
@@ -101,18 +106,23 @@
w_class = ITEMSIZE_SMALL
drop_sound = 'sound/items/drop/clothing.ogg'
-/obj/item/clothing/shoes/slippers_worn
+/obj/item/clothing/shoes/slippers/worn
name = "worn bunny slippers"
desc = "Fluffy..."
icon_state = "slippers_worn"
item_state_slots = list(slot_r_hand_str = "slippers", slot_l_hand_str = "slippers")
- force = 0
- w_class = ITEMSIZE_SMALL
/obj/item/clothing/shoes/laceup
- name = "laceup shoes"
- desc = "The height of fashion, and they're pre-polished!"
- icon_state = "laceups"
+ name = "black oxford shoes"
+ icon_state = "oxford_black"
+
+/obj/item/clothing/shoes/laceup/grey
+ name = "grey oxford shoes"
+ icon_state = "oxford_grey"
+
+/obj/item/clothing/shoes/laceup/brown
+ name = "brown oxford shoes"
+ icon_state = "oxford_brown"
/obj/item/clothing/shoes/swimmingfins
desc = "Help you swim good."
diff --git a/html/changelogs/Lorilili - footwear.yml b/html/changelogs/Lorilili - footwear.yml
new file mode 100644
index 0000000000..e7b727050d
--- /dev/null
+++ b/html/changelogs/Lorilili - footwear.yml
@@ -0,0 +1,38 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+#################################
+
+# Your name.
+author: Lorilili (Port from Aurora)
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Added knee-high and thigh-high jackboots."
+ - imageadd: "Replaced laceup and leather shoes with oxford shoes."
+ - imageadd: "Replaced standard shoe and high-top sprites with newer ones."
diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi
index 65899f8ad5..2d26351b98 100644
Binary files a/icons/mob/feet.dmi and b/icons/mob/feet.dmi differ
diff --git a/icons/mob/items/lefthand_shoes.dmi b/icons/mob/items/lefthand_shoes.dmi
index b88be1fed7..9a4b1d0f0c 100644
Binary files a/icons/mob/items/lefthand_shoes.dmi and b/icons/mob/items/lefthand_shoes.dmi differ
diff --git a/icons/mob/items/righthand_shoes.dmi b/icons/mob/items/righthand_shoes.dmi
index 3dd044488f..15000af441 100644
Binary files a/icons/mob/items/righthand_shoes.dmi and b/icons/mob/items/righthand_shoes.dmi differ
diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi
index 7fa131021c..12f1e8bc4a 100644
Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ
diff --git a/maps/southern_cross/structures/closets/research.dm b/maps/southern_cross/structures/closets/research.dm
index e118515b1f..0447e9b073 100644
--- a/maps/southern_cross/structures/closets/research.dm
+++ b/maps/southern_cross/structures/closets/research.dm
@@ -15,6 +15,6 @@
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/weapon/cartridge/rd,
/obj/item/clothing/shoes/white,
- /obj/item/clothing/shoes/leather,
+ /obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/gloves/sterile/latex,
/obj/item/device/radio/headset/heads/rd)