From 85c7dba12e72de14fe05c0b1f1cd03e1a44f0f63 Mon Sep 17 00:00:00 2001 From: QuoteFox <49098813+quotefox@users.noreply.github.com> Date: Sun, 18 Apr 2021 18:46:48 +0100 Subject: [PATCH] More portal fleshlight options, and bug fix for nails. --- .../code/game/objects/items/cosmetics.dm | 4 +- hyperstation/code/obj/fleshlight.dm | 58 +++++++++++++------ 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/hyperstation/code/game/objects/items/cosmetics.dm b/hyperstation/code/game/objects/items/cosmetics.dm index 711707f1..e3026747 100644 --- a/hyperstation/code/game/objects/items/cosmetics.dm +++ b/hyperstation/code/game/objects/items/cosmetics.dm @@ -53,9 +53,11 @@ /obj/item/nailpolish/attack(mob/M, mob/user) if(!ismob(M)) return - if(ishuman(M)) var/mob/living/carbon/human/H = M + if(H.nail_style) //to stop stacking bugs + to_chat(user, "Remove the old nail polish first!") + if(H == user) user.visible_message("[user] does [user.p_their()] nails with \the [src].", \ "You take a moment to apply \the [src]. Perfect!") diff --git a/hyperstation/code/obj/fleshlight.dm b/hyperstation/code/obj/fleshlight.dm index efdf51c0..189d5c3c 100644 --- a/hyperstation/code/obj/fleshlight.dm +++ b/hyperstation/code/obj/fleshlight.dm @@ -1,5 +1,6 @@ //Hyperstation 13 fleshlight -//dont forget to credit us! +//Humbley request this doesnt get ported to other code bases, we strive to make things unique on our server and we dont have alot of coders +//but if you absolutely must. please give us some credit~ <3 /obj/item/fleshlight name = "fleshlight" @@ -93,6 +94,7 @@ var/paired = 0 var/obj/item/portalunderwear var/useable = FALSE + var/option = "" /obj/item/portallight/examine(mob/user) . = ..() @@ -109,11 +111,20 @@ if(!useable) to_chat(user, "It seems the device has failed or your partner is not wearing their device.") + if(C == user)//if your using it on yourself, more options! otherwise, just fuck. + option = input(usr, "Choose action", "Portal Fleshlight", "Fuck") in list("Fuck", "Lick", "Touch") + else + option = "Fuck" + var/obj/item/organ/genital/vagina/V = portalunderwear.loc if(!V) return var/mob/living/carbon/human/M = V.owner - if(P&&P.is_exposed()) + + if(option == "Fuck"&&!P.is_exposed()) //we are trying to fuck with no penis! + to_chat(user, "You don't see anywhere to use this on.") + return + else //other options dont need checks inuse = 1 if(!(C == user)) //if we are targeting someone else. C.visible_message("[user] is trying to use [src] on [C]'s penis.", "[user] is trying to use [src] on your penis.") @@ -123,35 +134,44 @@ return //checked if not used on yourself, if not, carry on. - playsound(src, 'sound/lewd/slaps.ogg', 30, 1, -1) //slapping sound + if(option == "Fuck") + playsound(src, 'sound/lewd/slaps.ogg', 30, 1, -1) //slapping sound for fuck. + inuse = 0 - if(!(C == user)) //lewd flavour text + if(!(C == user)) C.visible_message("[user] pumps [src] on [C]'s penis.", "[user] pumps [src] up and down on your penis.") else - user.visible_message("[user] pumps [src] on their penis.", "You pump the fleshlight on your penis.") + if(option == "Fuck") + user.visible_message("[user] pumps [src] on their penis.", "You pump the fleshlight on your penis.") + if(option == "Lick") + user.visible_message("[user] licks into [src].", "You lick into [src].") + if(option == "Touch") + user.visible_message("[user] touches softly against [src].", "You touch softly on [src].") + - if(prob(30)) //30% chance to make them moan. - C.emote("moan") if(prob(30)) //30% chance to make your partner moan. M.emote("moan") - to_chat(M, "You feel a [P.shape] shaped penis pumping through the portal into your vagina.")//message your partner and kinky! - M.adjustArousalLoss(20) - M.do_jitter_animation() //make your partner shake too! - - C.do_jitter_animation() - - C.adjustArousalLoss(20) //make the target more aroused. + if(option == "Fuck")// normal fuck + to_chat(M, "You feel a [P.shape] shaped penis pumping through the portal into your vagina.")//message your partner and kinky! + if(prob(30)) //30% chance to make them moan. + C.emote("moan") + if(prob(30)) //30% chance to make your partner moan. + M.emote("moan") + C.adjustArousalLoss(20) + M.adjustArousalLoss(20) + M.do_jitter_animation() //make your partner shake too! + if(option == "Lick") + to_chat(M, "You feel a tongue lick you through the portal against your vagina.") + M.adjustArousalLoss(10) + if(option == "Touch") + to_chat(M, "You feel someone touching your vagina through the portal.") + M.adjustArousalLoss(5) if (C.getArousalLoss() >= 100 && ishuman(C) && C.has_dna()) var/mob/living/carbon/human/O = C O.mob_climax_partner(P, M, TRUE, FALSE, FALSE, TRUE) //climax with their partner remotely! return - - else - to_chat(user, "You don't see anywhere to use this on.") - - inuse = 0 ..() /obj/item/portallight/proc/updatesleeve()