diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm
index 07f24fd8a3..585e8da7d7 100644
--- a/code/__DEFINES/citadel_defines.dm
+++ b/code/__DEFINES/citadel_defines.dm
@@ -98,6 +98,7 @@
#define NO_APHRO (1<<9)
#define NO_ASS_SLAP (1<<10)
#define BIMBOFICATION (1<<11)
+#define NO_AUTO_WAG (1<<12)
#define TOGGLES_CITADEL 0
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 75e914ea68..85c9b0f265 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -1130,6 +1130,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "Hypno: [(cit_toggles & NEVER_HYPNO) ? "Disallowed" : "Allowed"]
"
dat += "Aphrodisiacs: [(cit_toggles & NO_APHRO) ? "Disallowed" : "Allowed"]
"
dat += "Ass Slapping: [(cit_toggles & NO_ASS_SLAP) ? "Disallowed" : "Allowed"]
"
+ dat += "Automatic Wagging: [(cit_toggles & NO_AUTO_WAG) ? "Disabled" : "Enabled"]
"
dat += ""
dat += "
"
if(5) // Custom keybindings
@@ -2644,6 +2645,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if("bimbo")
cit_toggles ^= BIMBOFICATION
+ if("auto_wag")
+ cit_toggles ^= NO_AUTO_WAG
+
//END CITADEL EDIT
if("ambientocclusion")
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index ac261e6d5b..9a2ed34f17 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -295,12 +295,12 @@
target_message = "[M] gives you a pat on the head to make you feel better!")
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat)
friendly_check = TRUE
- if(S?.can_wag_tail(src) && !dna.species.is_wagging_tail())
- var/static/list/many_tails = list("tail_human", "tail_lizard", "mam_tail")
- for(var/T in many_tails)
- if(S.mutant_bodyparts[T] && dna.features[T] != "None")
- emote("wag")
- break
+ if(!(client?.prefs.cit_toggles & NO_AUTO_WAG))
+ if(S?.can_wag_tail(src) && !dna.species.is_wagging_tail())
+ var/static/list/many_tails = list("tail_human", "tail_lizard", "mam_tail")
+ for(var/T in many_tails)
+ if(S.mutant_bodyparts[T] && dna.features[T] != "None")
+ emote("wag")
else if(check_zone(M.zone_selected) == BODY_ZONE_R_ARM || check_zone(M.zone_selected) == BODY_ZONE_L_ARM)
M.visible_message( \