From c735123e4ecfb0f889ed7c6104790e3bb333016c Mon Sep 17 00:00:00 2001 From: Putnam Date: Fri, 17 Jan 2020 02:47:16 -0800 Subject: [PATCH 1/3] consent logging and arousal tweaks --- code/__HELPERS/_logging.dm | 2 ++ code/modules/vore/eating/living.dm | 4 ++++ modular_citadel/code/modules/arousal/arousal.dm | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index 4dd590d9a1..b14c1b63f5 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -52,6 +52,8 @@ if (CONFIG_GET(flag/log_adminchat)) WRITE_LOG(GLOB.world_game_log, "ADMIN: DSAY: [text]") +/proc/log_consent(text) + WRITE_LOG(GLOB.world_game_log,["CONSENT: [text]"]) /* All other items are public. */ /proc/log_game(text) diff --git a/code/modules/vore/eating/living.dm b/code/modules/vore/eating/living.dm index 9fdb7aa764..aac1aa88ff 100644 --- a/code/modules/vore/eating/living.dm +++ b/code/modules/vore/eating/living.dm @@ -237,6 +237,8 @@ return //Actual escaping B.release_specific_contents(src,TRUE) //we might as well take advantage of that specific belly's handling. Else we stay blinded forever. + message_admins("[src] used OOC escape to escape from [B.owner]'s belly.") + consent_log("[src] used OOC escape to escape from [B.owner]'s belly.") src.stop_sound_channel(CHANNEL_PREYLOOP) SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "fedprey", /datum/mood_event/fedprey) for(var/mob/living/simple_animal/SA in range(10)) @@ -255,6 +257,8 @@ return //Actual escaping belly.go_out(src) //Just force-ejects from the borg as if they'd clicked the eject button. + message_admins("[src] used OOC escape to escape from [B.owner]'s dogborg sleeper.") + consent_log("[src] used OOC escape to escape from [B.owner]'s dogborg sleeper.") else to_chat(src,"You aren't inside anyone, though, is the thing.") diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 3361707b04..3022b85ff0 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -158,9 +158,13 @@ return //No one left. var/mob/living/target = input(src, "With whom?", "Sexual partner", null) as null|anything in partners //pick one, default to null if(target && in_range(src, target)) + to_chat(src,"Waiting for consent...") var/consenting = input(target, "Do you want [src] to climax with you?","Climax mechanics","No") in list("Yes","No") if(consenting == "Yes") return target + else + message_admins("[src] tried to climax with [target], but [target] did not consent.") + consent_log("[src] tried to climax with [target], but [target] did not consent.") /mob/living/carbon/human/proc/pick_climax_container(silent = FALSE) var/list/containers_list = list() From ae4afdd90453c56e7e727d86593e79929b5120ab Mon Sep 17 00:00:00 2001 From: Putnam Date: Fri, 17 Jan 2020 03:09:46 -0800 Subject: [PATCH 2/3] made it work (wow!) --- code/__HELPERS/_logging.dm | 2 +- code/modules/vore/eating/living.dm | 6 +++--- modular_citadel/code/modules/arousal/arousal.dm | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index b14c1b63f5..de3970a7f3 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -53,7 +53,7 @@ WRITE_LOG(GLOB.world_game_log, "ADMIN: DSAY: [text]") /proc/log_consent(text) - WRITE_LOG(GLOB.world_game_log,["CONSENT: [text]"]) + WRITE_LOG(GLOB.world_game_log,"CONSENT: [text]") /* All other items are public. */ /proc/log_game(text) diff --git a/code/modules/vore/eating/living.dm b/code/modules/vore/eating/living.dm index aac1aa88ff..4b50ade7e3 100644 --- a/code/modules/vore/eating/living.dm +++ b/code/modules/vore/eating/living.dm @@ -238,7 +238,7 @@ //Actual escaping B.release_specific_contents(src,TRUE) //we might as well take advantage of that specific belly's handling. Else we stay blinded forever. message_admins("[src] used OOC escape to escape from [B.owner]'s belly.") - consent_log("[src] used OOC escape to escape from [B.owner]'s belly.") + log_consent("[src] used OOC escape to escape from [B.owner]'s belly.") src.stop_sound_channel(CHANNEL_PREYLOOP) SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "fedprey", /datum/mood_event/fedprey) for(var/mob/living/simple_animal/SA in range(10)) @@ -257,8 +257,8 @@ return //Actual escaping belly.go_out(src) //Just force-ejects from the borg as if they'd clicked the eject button. - message_admins("[src] used OOC escape to escape from [B.owner]'s dogborg sleeper.") - consent_log("[src] used OOC escape to escape from [B.owner]'s dogborg sleeper.") + message_admins("[src] used OOC escape from a dogborg sleeper.") + log_consent("[src] used OOC escape from a dogborg sleeper.") else to_chat(src,"You aren't inside anyone, though, is the thing.") diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 3022b85ff0..3a586d061d 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -164,7 +164,7 @@ return target else message_admins("[src] tried to climax with [target], but [target] did not consent.") - consent_log("[src] tried to climax with [target], but [target] did not consent.") + log_consent("[src] tried to climax with [target], but [target] did not consent.") /mob/living/carbon/human/proc/pick_climax_container(silent = FALSE) var/list/containers_list = list() From a8569fa7e5284c1998cdecfc0e7a2fc36f3f9072 Mon Sep 17 00:00:00 2001 From: Putnam Date: Fri, 17 Jan 2020 21:31:23 -0800 Subject: [PATCH 3/3] Makes it so that opting out of ass slapping is OPT OUT --- code/modules/mob/living/carbon/human/species.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 7fc1d2a4b3..538f9d6555 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1585,7 +1585,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if (!HAS_TRAIT(target, TRAIT_PERMABONER)) stop_wagging_tail(target) return FALSE - else if(aim_for_groin && (target == user || target.lying || same_dir) && (target_on_help || target_restrained || target_aiming_for_groin)) + else if(!(user.client?.prefs.cit_toggles & NO_ASS_SLAP) && 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) to_chat(user,"A force stays your hand, preventing you from slapping \the [target]'s ass!") return FALSE