Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Skyrat Mirror] [MODULAR] Adds washing machine FUN TIMES! #27

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/obj/machinery/washing_machine
can_buckle = TRUE
/// If we are active, all mobs buckled to us with a penis will have arousal raised by this per second.
var/buckled_arousal_penis = 0.5
/// If we are active, all mobs buckled to us with a vagina will have arousal raised by this per second.
var/buckled_arousal_vagina = 2
/// If we are active and anchored, our arousal given to buckled mobs will be multiplied against this.
var/anchored_arousal_mult = 0.25

/obj/machinery/washing_machine/process(seconds_per_tick)
. = ..()
if (. == PROCESS_KILL)
return

if (!LAZYLEN(buckled_mobs))
return

for (var/mob/living/carbon/human/buckled_human in buckled_mobs)
if (!buckled_human.client?.prefs?.read_preference(/datum/preference/toggle/erp))
continue

var/covered = FALSE
for (var/obj/item/clothing/iter_clothing in buckled_human.get_all_worn_items())
if (!(iter_clothing.body_parts_covered & GROIN))
continue
if (iter_clothing.clothing_flags & THICKMATERIAL)
covered = TRUE
break

if (covered)
continue

var/obj/item/organ/external/genital/vagina/found_vagina = buckled_human.get_organ_slot(ORGAN_SLOT_VAGINA)
var/obj/item/organ/external/genital/vagina/found_penis = buckled_human.get_organ_slot(ORGAN_SLOT_PENIS)

var/arousal_mult = seconds_per_tick
var/message_chance = 40
if (anchored)
arousal_mult *= anchored_arousal_mult
message_chance *= anchored_arousal_mult
var/do_message = FALSE
if (!isnull(found_vagina))
buckled_human.adjust_arousal(buckled_arousal_vagina * arousal_mult)
do_message = TRUE
if (!isnull(found_penis))
buckled_human.adjust_arousal(buckled_arousal_penis * arousal_mult)
do_message = TRUE
if (do_message && SPT_PROB(message_chance, seconds_per_tick))
to_chat(buckled_human, span_userlove("[src] vibrates into your groin, and you feel a warm fuzzy feeling..."))
1 change: 1 addition & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -7325,6 +7325,7 @@
#include "modular_skyrat\modules\modular_items\lewd_items\code\lewd_items\vibroring.dm"
#include "modular_skyrat\modules\modular_items\lewd_items\code\lewd_machinery\lustwish.dm"
#include "modular_skyrat\modules\modular_items\lewd_items\code\lewd_machinery\milking_machine.dm"
#include "modular_skyrat\modules\modular_items\lewd_items\code\lewd_machinery\washing_machine.dm"
#include "modular_skyrat\modules\modular_items\lewd_items\code\lewd_organs\_genital.dm"
#include "modular_skyrat\modules\modular_items\lewd_items\code\lewd_organs\breasts.dm"
#include "modular_skyrat\modules\modular_items\lewd_items\code\lewd_organs\testicles.dm"
Expand Down