diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm
index 7e04ff571d3..f49e78c25d9 100644
--- a/code/datums/components/crafting/tailoring.dm
+++ b/code/datums/components/crafting/tailoring.dm
@@ -129,3 +129,17 @@
tools = list(TOOL_WIRECUTTER)
reqs = list(/obj/item/bedsheet = 1)
category = CAT_CLOTHING
+
+/datum/crafting_recipe/cowboyboots
+ name = "Cowboy Boots"
+ result = /obj/item/clothing/shoes/cowboy
+ reqs = list(/obj/item/stack/sheet/leather = 2)
+ time = 45
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/lizardboots
+ name = "Lizard Skin Boots"
+ result = /obj/effect/spawner/lootdrop/lizardboots
+ reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1, /obj/item/stack/sheet/leather = 1)
+ time = 60
+ category = CAT_CLOTHING
\ No newline at end of file
diff --git a/code/modules/cargo/exports/gear.dm b/code/modules/cargo/exports/gear.dm
index 125e0f708be..9d3e18df00d 100644
--- a/code/modules/cargo/exports/gear.dm
+++ b/code/modules/cargo/exports/gear.dm
@@ -81,3 +81,19 @@
cost = 100
unit_name = "bomb suit"
export_types = list(/obj/item/clothing/suit/bomb_suit)
+
+/datum/export/gear/lizardboots
+ cost = 350
+ unit_name = "lizard skin boots"
+ export_types = list(/obj/item/clothing/shoes/cowboy/lizard)
+ include_subtypes = FALSE
+
+/datum/export/gear/lizardmasterwork
+ cost = 1000
+ unit_name = "Hugs-the-Feet lizard boots"
+ export_types = list(/obj/item/clothing/shoes/cowboy/lizard/masterwork)
+
+/datum/export/gear/bilton
+ cost = 2500
+ unit_name = "bilton wrangler boots"
+ export_types = list(/obj/item/clothing/shoes/cowboy/fancy)
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 83d519ed616..03ad53f3a08 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -336,3 +336,85 @@
icon_state = "rus_shoes"
item_state = "rus_shoes"
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
+
+/obj/item/clothing/shoes/cowboy
+ name = "cowboy boots"
+ desc = "A small sticker lets you know they've been inspected for snakes, It is unclear how long ago the inspection took place..."
+ icon_state = "cowboy_brown"
+ permeability_coefficient = 0.05 //these are quite tall
+ pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
+ custom_price = 35 //poor assistants cant afford 50 credits
+ var/list/occupants = list()
+ var/max_occupants = 4
+
+/obj/item/clothing/shoes/cowboy/Initialize()
+ . = ..()
+ if(prob(2))
+ var/mob/living/simple_animal/hostile/retaliate/poison/snake/bootsnake = new/mob/living/simple_animal/hostile/retaliate/poison/snake(src)
+ occupants += bootsnake
+
+
+/obj/item/clothing/shoes/cowboy/equipped(mob/living/carbon/user, slot)
+ . = ..()
+ if(slot == SLOT_SHOES)
+ for(var/mob/living/occupant in occupants)
+ occupant.forceMove(user.drop_location())
+ user.visible_message("[user] recoils as something slithers out of [src].", " You feel a sudden stabbing pain in your [pick("foot", "toe", "ankle")]!")
+ user.Knockdown(20) //Is one second paralyze better here? I feel you would fall on your ass in some fashion.
+ user.apply_damage(5, BRUTE, pick(BODY_ZONE_R_LEG, BODY_ZONE_L_LEG))
+ if(istype(occupant, /mob/living/simple_animal/hostile/retaliate/poison))
+ user.reagents.add_reagent(/datum/reagent/toxin, 7)
+ occupants.Cut()
+
+/obj/item/clothing/shoes/cowboy/MouseDrop_T(mob/living/target, mob/living/user)
+ . = ..()
+ if(user.stat || !(user.mobility_flags & MOBILITY_USE) || user.restrained() || !Adjacent(user) || !user.Adjacent(target) || target.stat == DEAD)
+ return
+ if(occupants.len >= max_occupants)
+ to_chat(user, "[src] are full!")
+ return
+ if(istype(target, /mob/living/simple_animal/hostile/retaliate/poison/snake) || istype(target, /mob/living/simple_animal/hostile/headcrab) || istype(target, /mob/living/carbon/alien/larva))
+ occupants += target
+ target.forceMove(src)
+ to_chat(user, "[target] slithers into [src]")
+
+/obj/item/clothing/shoes/cowboy/container_resist(mob/living/user)
+ if(!do_after(user, 10, target = user))
+ return
+ user.forceMove(user.drop_location())
+ occupants -= user
+
+/obj/item/clothing/shoes/cowboy/white
+ name = "white cowboy boots"
+ icon_state = "cowboy_white"
+
+/obj/item/clothing/shoes/cowboy/black
+ name = "black cowboy boots"
+ desc = "You get the feeling someone might have been hanged in these boots."
+ icon_state = "cowboy_black"
+
+/obj/item/clothing/shoes/cowboy/fancy
+ name = "bilton wrangler boots"
+ desc = "A pair of authentic haute couture boots from Japanifornia. You doubt they have ever been close to cattle."
+ icon_state = "cowboy_fancy"
+ permeability_coefficient = 0.08
+
+/obj/item/clothing/shoes/cowboy/lizard
+ name = "lizard skin boots"
+ desc = "You can hear a faint hissing from inside the boots; you hope it is just a mournful ghost."
+ icon_state = "lizardboots_green"
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 40, "acid" = 0) //lizards like to stay warm
+
+/obj/item/clothing/shoes/cowboy/lizard/masterwork
+ name = "\improper Hugs-The-Feet lizard skin boots"
+ desc = "A pair of masterfully crafted lizard skin boots. Finally a good application for the station's most bothersome inhabitants."
+ icon_state = "lizardboots_blue"
+
+/obj/effect/spawner/lootdrop/lizardboots
+ name = "random lizard boot quality"
+ desc = "Which ever gets picked, the lizard race loses"
+ icon = 'icons/obj/clothing/shoes.dmi'
+ icon_state = "lizardboots_green"
+ loot = list(
+ /obj/item/clothing/shoes/cowboy/lizard = 7,
+ /obj/item/clothing/shoes/cowboy/lizard/masterwork = 1)
diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm
index 922b8b2a871..361b80f7c34 100644
--- a/code/modules/vending/clothesmate.dm
+++ b/code/modules/vending/clothesmate.dm
@@ -101,6 +101,9 @@
/obj/item/clothing/suit/ianshirt = 1,
/obj/item/clothing/shoes/laceup = 2,
/obj/item/clothing/shoes/sandal = 2,
+ /obj/item/clothing/shoes/cowboy = 2,
+ /obj/item/clothing/shoes/cowboy/white = 2,
+ /obj/item/clothing/shoes/cowboy/black = 2,
/obj/item/clothing/suit/jacket/miljacket = 1,
/obj/item/clothing/suit/apron/purple_bartender = 2,
/obj/item/clothing/under/rank/bartender/purple = 2)
diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi
index db12bc0cd5c..b785527ff7d 100644
Binary files a/icons/mob/feet.dmi and b/icons/mob/feet.dmi differ
diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi
index 556d18cf28f..0be7d24e18f 100644
Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ