diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index d99d52666b..523732dbac 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -103,6 +103,8 @@
slowdown = SHOES_SLOWDOWN+1
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes/clown
lace_time = 20 SECONDS // how the hell do these laces even work??
+ var/datum/component/waddle
+ var/enabled_waddle = TRUE
/obj/item/clothing/shoes/clown_shoes/Initialize()
. = ..()
@@ -110,14 +112,31 @@
/obj/item/clothing/shoes/clown_shoes/equipped(mob/user, slot)
. = ..()
- if(user.mind && HAS_TRAIT(user.mind, TRAIT_CLOWN_MENTALITY))
- SEND_SIGNAL(user, COMSIG_CLEAR_MOOD_EVENT, "noshoes")
+ if(slot == SLOT_SHOES)
+ if(enabled_waddle)
+ waddle = user.AddComponent(/datum/component/waddling)
+ if(user.mind && HAS_TRAIT(user.mind, TRAIT_CLOWN_MENTALITY))
+ SEND_SIGNAL(user, COMSIG_CLEAR_MOOD_EVENT, "noshoes")
/obj/item/clothing/shoes/clown_shoes/dropped(mob/user)
. = ..()
+ QDEL_NULL(waddle)
if(user.mind && HAS_TRAIT(user.mind, TRAIT_CLOWN_MENTALITY))
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "noshoes", /datum/mood_event/noshoes)
+/obj/item/clothing/shoes/clown_shoes/CtrlClick(mob/living/user)
+ if(!isliving(user))
+ return
+ if(user.get_active_held_item() != src)
+ to_chat(user, "You must hold the [src] in your hand to do this!")
+ return
+ if (!enabled_waddle)
+ to_chat(user, "You switch off the waddle dampeners!")
+ enabled_waddle = TRUE
+ else
+ to_chat(user, "You switch on the waddle dampeners!")
+ enabled_waddle = FALSE
+
/obj/item/clothing/shoes/clown_shoes/jester
name = "jester shoes"
desc = "A court jester's shoes, updated with modern squeaking technology."
diff --git a/tgstation.dme b/tgstation.dme
index 5ea3b652e7..bf9d0f112f 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -504,6 +504,7 @@
#include "code\datums\components\twohanded.dm"
#include "code\datums\components\uplink.dm"
#include "code\datums\components\virtual_reality.dm"
+#include "code\datums\components\waddling.dm"
#include "code\datums\components\wearertargeting.dm"
#include "code\datums\components\wet_floor.dm"
#include "code\datums\components\crafting\crafting.dm"