From a33977cc80d98d7507ddafab70c8a85dad5861dd Mon Sep 17 00:00:00 2001 From: Mathilde <146444134+ibexgoetia@users.noreply.github.com> Date: Wed, 21 Jan 2026 19:56:45 +0100 Subject: [PATCH] Adds the Clicker (#5106) ## About The Pull Request I was surprised to see that no one had ever added a clicker item, so I decided to take the challenge and tried to add one myself. This little item can be found in the lustwish vendors. It makes a 'click' sound when interacted. The sprite is inspired by the flash, but remade with the lustwish 'theme'. Dominant characters who use this are also able to 'reward' submissive characters. The submissive characters will do an emote (which shares the cooldown with the *snap interaction, that being 10 seconds). They will also get a tiny mood buff that will last for two minutes, and doesn't stack. It works on cyborgs with the submissive module (without the mood buff, clearly), and cyborgs with the dominant module have access to the toy. It can be bought from the lustwish vendor. clickerpreview ## Why It's Good For The Game We've got an overwhelming amount of untrained bottoms. ## Proof Of Testing https://github.com/user-attachments/assets/72b15bf2-d468-4e72-ae64-7216a65cc12c Here's the borg module version. ![image](https://github.com/user-attachments/assets/0499fd31-253f-40ec-969e-d7a709d37197) ## Changelog :cl: add: Lustwish presents the Clicker! With this you will now finally be able to train and condition your pets. Visit any Lustwish vendor to buy your own. /:cl: --------- Co-authored-by: Alexis --- .../modules/borgs/code/robot_upgrade.dm | 1 + .../lewd_items/code/lewd_clothing/erp_belt.dm | 1 + .../_erp_disabled_item_enforcement.dm | 5 ++ .../code/_globalvars/lists/erp_items.dm | 1 + .../code/modules/lewd_machinery/clicker.dm | 75 ++++++++++++++++++ .../code/modules/vending/lustwish.dm | 10 +++ modular_zubbers/icons/obj/lewd.dmi | Bin 0 -> 920 bytes modular_zubbers/sound/lewd/clicker.ogg | Bin 0 -> 8765 bytes tgstation.dme | 1 + 9 files changed, 94 insertions(+) create mode 100644 modular_zubbers/code/modules/lewd_machinery/clicker.dm create mode 100644 modular_zubbers/icons/obj/lewd.dmi create mode 100644 modular_zubbers/sound/lewd/clicker.ogg diff --git a/modular_skyrat/modules/borgs/code/robot_upgrade.dm b/modular_skyrat/modules/borgs/code/robot_upgrade.dm index 77af4f0db1d..7b2da6f87b4 100644 --- a/modular_skyrat/modules/borgs/code/robot_upgrade.dm +++ b/modular_skyrat/modules/borgs/code/robot_upgrade.dm @@ -331,4 +331,5 @@ /obj/item/spanking_pad, /obj/item/tickle_feather, /obj/item/clothing/erp_leash, + /obj/item/clicker ) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/erp_belt.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/erp_belt.dm index a4eec86abf6..e58e0d36d75 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/erp_belt.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/erp_belt.dm @@ -38,6 +38,7 @@ /obj/item/restraints/handcuffs/lewd, /obj/item/reagent_containers/cup/lewd_filter, /obj/item/assembly/signaler, //because it's used for several toys + /obj/item/clicker, //clothing /obj/item/clothing/mask/ballgag, diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_erp_disabled_item_enforcement.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_erp_disabled_item_enforcement.dm index 176e615653f..ed83de9dcb5 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_erp_disabled_item_enforcement.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_erp_disabled_item_enforcement.dm @@ -232,3 +232,8 @@ . = ..() if(CONFIG_GET(flag/disable_lewd_items)) return INITIALIZE_HINT_QDEL + +/obj/item/clicker/Initialize(mapload) + . = ..() + if(CONFIG_GET(flag/disable_lewd_items)) + return INITIALIZE_HINT_QDEL diff --git a/modular_zubbers/code/_globalvars/lists/erp_items.dm b/modular_zubbers/code/_globalvars/lists/erp_items.dm index 82a915157f2..05da84cdb6a 100644 --- a/modular_zubbers/code/_globalvars/lists/erp_items.dm +++ b/modular_zubbers/code/_globalvars/lists/erp_items.dm @@ -1,5 +1,6 @@ GLOBAL_LIST_INIT(erp_items, list( /obj/item/bdsm_candle, + /obj/item/clicker, /obj/item/clothing/ears/kinky_headphones, /obj/item/clothing/erp_leash, /obj/item/clothing/glasses/blindfold/kinky, diff --git a/modular_zubbers/code/modules/lewd_machinery/clicker.dm b/modular_zubbers/code/modules/lewd_machinery/clicker.dm new file mode 100644 index 00000000000..7a6c477ddf0 --- /dev/null +++ b/modular_zubbers/code/modules/lewd_machinery/clicker.dm @@ -0,0 +1,75 @@ +/obj/item/clicker + name = "clicker" + desc = "A small clicking toy that fits in the palm of your hand, typically used to condition pets into obedience. It makes a satisfying 'click' sound when pressed." + icon = 'modular_zubbers/icons/obj/lewd.dmi' + icon_state = "clicker_pink" + throwforce = 0 + w_class = WEIGHT_CLASS_TINY + +/obj/item/clicker/Initialize(mapload) + . = ..() + AddComponent(/datum/component/reskinable_item, /datum/atom_skin/clicker) + +/datum/atom_skin/clicker + abstract_type = /datum/atom_skin/clicker + +/datum/atom_skin/clicker/pink + preview_name = "Pink" + new_icon_state = "clicker_pink" + +/datum/atom_skin/clicker/teal + preview_name = "Teal" + new_icon_state = "clicker_teal" + +/obj/item/clicker/proc/click(atom/source, mob/user) + SIGNAL_HANDLER + source.balloon_alert(user, "click!") + playsound(source, "modular_zubbers/sound/lewd/clicker.ogg", 40, FALSE) + +/obj/item/clicker/attack_self(mob/user) + . = ..() + click(src, user) + +// If the user has the dominant aura quirk, nearby bottoms will react to the click. + if(istype(user, /mob/living)) + var/mob/living/living_user = user + if(living_user.has_quirk(/datum/quirk/dominant_aura) && TIMER_COOLDOWN_FINISHED(living_user, DOMINANT_COOLDOWN_SNAP)) + for(var/mob/living/carbon/human/sub in hearers(world.view / 2, living_user)) + if(!sub.has_quirk(/datum/quirk/well_trained) || sub == living_user || sub.stat == DEAD) + continue + + if(get_dist(sub, living_user) > world.view / 2) + continue + sub.dir = get_dir(sub, living_user) + sub.emote("me", 1, "suddenly perks up in attention!", TRUE) + to_chat(sub, span_purple("You perk up in attention hearing [living_user]'s click!")) +// Short mood boost for flavour + sub.add_mood_event("good_pet", /datum/mood_event/good_pet) +// Shivering animation + animate(sub, pixel_w = 1, time = 0.1 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_PARALLEL) + for(var/i in 1 to 1 SECONDS / (0.2 SECONDS)) + animate(pixel_w = -2, time = 0.1 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_CONTINUE) + animate(pixel_w = 2, time = 0.1 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_CONTINUE) + animate(pixel_w = -1, time = 0.1 SECONDS, flags = ANIMATION_RELATIVE) + +//For the borgs + for(var/mob/living/silicon/robot/borg_sub in hearers(world.view / 2, living_user)) + if(!borg_sub.has_quirk(/datum/quirk/well_trained) || borg_sub == living_user || borg_sub.stat == DEAD) + continue + borg_sub.dir = get_dir(borg_sub, living_user) + borg_sub.emote("me", 1, "suddenly perks up in attention!", TRUE) + to_chat(borg_sub, span_purple("You perk up in attention hearing [living_user]'s click!")) +// Shivering animation + animate(borg_sub, pixel_w = 1, time = 0.1 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_PARALLEL) + for(var/i in 1 to 1 SECONDS / (0.2 SECONDS)) + animate(pixel_w = -2, time = 0.1 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_CONTINUE) + animate(pixel_w = 2, time = 0.1 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_CONTINUE) + animate(borg_sub, pixel_w = -1, time = 0.1 SECONDS, flags = ANIMATION_RELATIVE) + +// Shares cooldown with the dominant aura snap + TIMER_COOLDOWN_START(living_user, DOMINANT_COOLDOWN_SNAP, 10 SECONDS) + +/datum/mood_event/good_pet + description = span_nicegreen("Being obedient feels rewarding!") + mood_change = 2 + timeout = 2 MINUTES diff --git a/modular_zubbers/code/modules/vending/lustwish.dm b/modular_zubbers/code/modules/vending/lustwish.dm index 9120bb7ebe6..8ef32a2852f 100644 --- a/modular_zubbers/code/modules/vending/lustwish.dm +++ b/modular_zubbers/code/modules/vending/lustwish.dm @@ -22,9 +22,19 @@ /obj/item/clothing/under/costume/loincloth/cloth/sensor = 6, /obj/item/clothing/shoes/jackboots/toeless = 6, ) + ), + + list( + "name" = "Toys", + "icon" = FA_ICON_MAGIC_WAND_SPARKLES, + "products" = list( + /obj/item/clicker = 6, + + ) ) ) + zubbers_premium = list( /obj/item/clothing/neck/kink_collar/locked/gps = 3, /obj/item/holosign_creator/sex = 6, diff --git a/modular_zubbers/icons/obj/lewd.dmi b/modular_zubbers/icons/obj/lewd.dmi new file mode 100644 index 0000000000000000000000000000000000000000..96574fa622d4c31136b3996322e2b092e292d0a1 GIT binary patch literal 920 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 literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 15af33e4aeb..254a5cd21dd 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -9463,6 +9463,7 @@ #include "modular_zubbers\code\modules\languages\siikmaas.dm" #include "modular_zubbers\code\modules\languages\uncommon.dm" #include "modular_zubbers\code\modules\languages\vampiric.dm" +#include "modular_zubbers\code\modules\lewd_machinery\clicker.dm" #include "modular_zubbers\code\modules\lewd_machinery\lustwish.dm" #include "modular_zubbers\code\modules\lewd_machinery\sex_barrier.dm" #include "modular_zubbers\code\modules\limbgrowncorpses\limbgrowerblanks.dm"