diff --git a/modular_citadel/code/modules/integrated_electronics/subtypes/manipulation.dm b/modular_citadel/code/modules/integrated_electronics/subtypes/manipulation.dm new file mode 100644 index 0000000000..12f0858304 --- /dev/null +++ b/modular_citadel/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -0,0 +1,29 @@ +/obj/item/integrated_circuit/manipulation/electric_stimulator + name = "electronic stimulation module" + desc = "Used to induce sexual stimulation with electricity." + icon_state = "power_relay" + extended_desc = "The circuit accepts a reference to a person and upon activation, attempts to stimulate them to orgasm." + complexity = 10 + size = 3 + inputs = list("target" = IC_PINTYPE_REF) + outputs = list() + activators = list("fire" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_RESEARCH + power_draw_per_use = 800 + cooldown_per_use = 50 + +/obj/item/integrated_circuit/manipulation/electric_stimulator/do_work() + ..() + var/mob/living/M = get_pin_data_as_type(IC_INPUT, 1, /mob/living) + if(!check_target(M)) + return + if(ismob(M) && M.canbearoused) + if(M.getArousalLoss() >= 100 && ishuman(M) && M.has_dna()) + var/mob/living/carbon/human/H = M + var/orgasm_message = pick("A sharp pulse of electricity pushes you to orgasm!", "You feel a jolt of electricity force you into orgasm!") + to_chat(H, "[orgasm_message]") + H.mob_climax(forced_climax=TRUE) + else + M.adjustArousalLoss(35) + var/stimulate_message = pick("You feel a sharp warming tingle of electricity through your body!", "A burst of arousing electricity flows through your body!") + to_chat(M, "[stimulate_message]") diff --git a/tgstation.dme b/tgstation.dme index 2e2ff0408b..bd12a4406d 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2811,6 +2811,7 @@ #include "modular_citadel\code\modules\events\blob.dm" #include "modular_citadel\code\modules\events\wizard\magicarp.dm" #include "modular_citadel\code\modules\food_and_drinks\snacks\meat.dm" +#include "modular_citadel\code\modules\integrated_electronics\subtypes\manipulation.dm" #include "modular_citadel\code\modules\jobs\jobs.dm" #include "modular_citadel\code\modules\jobs\job_types\captain.dm" #include "modular_citadel\code\modules\jobs\job_types\cargo_service.dm"