diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 86b7410b6..24251f202 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -140,6 +140,7 @@ #define NEVER_HYPNO (1<<8) #define NO_APHRO (1<<9) #define NO_ASS_SLAP (1<<10) +#define NO_AUTO_WAG (1<<11) #define TOGGLES_CITADEL (EATING_NOISES|DIGESTION_NOISES|BREAST_ENLARGEMENT|PENIS_ENLARGEMENT) diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index 5e5be1b96..b79351e6e 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -127,17 +127,6 @@ gain_text = "Your ass rivals those of golems." lose_text = "Your butt feels more squishy and slappable." -/* REPLACED WITH PREFS -/datum/quirk/crocrin_immunity - name = "Crocin Immunity" - desc = "You're one of the few people in the galaxy who are genetically immune to Crocin and Hexacrocin products and their addictive properties! However, you can still get brain damage from Hexacrocin addiction." - mob_trait = TRAIT_CROCRIN_IMMUNE - value = 0 - category = CATEGORY_SEXUAL - gain_text = "You feel more prudish." - lose_text = "You don't feel as prudish as before." - medical_record_text = "Patient exhibits a special gene that makes them immune to Crocin and Hexacrocin." - /datum/quirk/headpat_slut name = "Headpat Slut" desc = "You like headpats, alot, maybe even a little bit too much. Headpats give you a bigger mood boost and cause arousal" @@ -152,7 +141,18 @@ mob_trait = TRAIT_DISTANT value = 0 category = CATEGORY_SEXUAL //Any better place to put it? Doesn't really affect gameplay - medical_record_text = "Patient cares little with or dislikes being touched." + medical_record_text = "Patient dislikes being touched." + +/* REPLACED WITH PREFS +/datum/quirk/crocrin_immunity + name = "Crocin Immunity" + desc = "You're one of the few people in the galaxy who are genetically immune to Crocin and Hexacrocin products and their addictive properties! However, you can still get brain damage from Hexacrocin addiction." + mob_trait = TRAIT_CROCRIN_IMMUNE + value = 0 + category = CATEGORY_SEXUAL + gain_text = "You feel more prudish." + lose_text = "You don't feel as prudish as before." + medical_record_text = "Patient exhibits a special gene that makes them immune to Crocin and Hexacrocin." */ /datum/quirk/colorist diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 2ecd4ec20..ffd4de63f 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1205,6 +1205,8 @@ 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 += "
" dat += "
" @@ -2755,6 +2757,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("ass_slap") cit_toggles ^= NO_ASS_SLAP + 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 ac3702492..93bdafc7a 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -315,7 +315,9 @@ else if (mood.sanity >= SANITY_DISTURBED) SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "friendly_hug", /datum/mood_event/betterhug, M) - if(HAS_TRAIT(H, TRAIT_DISTANT)) + if(H.client?.prefs.cit_toggles & NO_AUTO_WAG) //if they don't wanna wag + if(!(HAS_TRAIT(H, TRAIT_DISTANT))) //because distant = the pet didn't actually happen + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) //so the sound plays as expected return else if(H.dna.species.can_wag_tail(H)) if("tail_human" in pref_species.default_features) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index f637ca421..a036dbb7f 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1613,6 +1613,17 @@ GLOBAL_LIST_EMPTY(roundstart_races) return FALSE else if(aim_for_groin && (target == user || target.lying || same_dir) && (target_on_help || target_restrained || target_aiming_for_groin)) if(target.client?.prefs.cit_toggles & NO_ASS_SLAP) + if(HAS_TRAIT(target, TRAIT_ASSBLASTUSA)) //is their ass ROCK HARD? + var/hit_zone = (user.held_index_to_dir(user.active_hand_index) == "l" ? "l_":"r_") + "arm" + user.adjustStaminaLoss(20, affected_zone = hit_zone) + user.visible_message(\ + "\The [user] slaps \the [target]'s ass, but their hand bounces off like they hit metal!",\ + "You slap [user == target ? "your" : "\the [target]'s"] ass, but feel an intense amount of pain as you realise their buns are harder than steel!",\ + "You hear a slap." + ) + playsound(target.loc, 'sound/weapons/tap.ogg', 50, 1, -1) + user.emote("scream") + return FALSE to_chat(user,"A force stays your hand, preventing you from slapping \the [target]'s ass!") return FALSE user.do_attack_animation(target, ATTACK_EFFECT_ASS_SLAP)