diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
index 1805d911caa..f51f1f13af2 100644
--- a/code/modules/clothing/shoes/magboots.dm
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -71,6 +71,30 @@ obj/item/clothing/shoes/magboots/syndie/advance //For the Syndicate Strike Team
silence_steps = 1
shoe_sound = "clownstep"
origin_tech = "magnets=4;syndicate=2"
+ var/enabled_waddle = TRUE
+ var/datum/component/waddle
+
+/obj/item/clothing/shoes/magboots/clown/equipped(mob/user, slot)
+ . = ..()
+ if(slot == slot_shoes && enabled_waddle)
+ waddle = user.AddComponent(/datum/component/waddling)
+
+/obj/item/clothing/shoes/magboots/clown/dropped(mob/user)
+ . = ..()
+ QDEL_NULL(waddle)
+
+/obj/item/clothing/shoes/magboots/clown/CtrlClick(mob/living/user)
+ if(!isliving(user))
+ return
+ if(user.get_active_hand() != 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/magboots/wizard //bundled with the wiz hardsuit
name = "boots of gripping"
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 49546b7be23..801004bbca8 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -82,10 +82,10 @@
to_chat(user, "You must hold the [src] in your hand to do this.")
return
if(!enabled_waddle)
- to_chat(user, "You switch on the waddle dampeners!")
+ to_chat(user, "You switch off the waddle dampeners!")
enabled_waddle = TRUE
else
- to_chat(user, "You switch off the waddle dampeners!")
+ to_chat(user, "You switch on the waddle dampeners!")
enabled_waddle = FALSE
/obj/item/clothing/shoes/clown_shoes/magical
diff --git a/code/modules/reagents/chemistry/reagents/misc.dm b/code/modules/reagents/chemistry/reagents/misc.dm
index 4d42e9060ae..886105e6465 100644
--- a/code/modules/reagents/chemistry/reagents/misc.dm
+++ b/code/modules/reagents/chemistry/reagents/misc.dm
@@ -457,6 +457,7 @@
C.AdjustDizzy(volume)
C.AddComponent(/datum/component/jestosterone, mind_type)
C.AddComponent(/datum/component/squeak, null, null, null, null, null, TRUE)
+ C.AddComponent(/datum/component/waddling)
/datum/reagent/jestosterone/on_mob_life(mob/living/carbon/M)
if(!istype(M))
@@ -493,8 +494,10 @@
..()
GET_COMPONENT_FROM(remove_fun, /datum/component/jestosterone, M)
GET_COMPONENT_FROM(squeaking, /datum/component/squeak, M)
+ GET_COMPONENT_FROM(waddling, /datum/component/waddling, M)
remove_fun.Destroy()
squeaking.Destroy()
+ waddling.Destroy()
/datum/reagent/royal_bee_jelly
name = "royal bee jelly"