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()