mirror of
https://github.com/quotefox/Hyper-Station-13.git
synced 2026-07-21 04:33:16 +01:00
Can now remove genital equipment from other people.
Can now remove genital equipment from other people. + bug fix with limiter
This commit is contained in:
@@ -182,10 +182,24 @@
|
||||
if(legcuffed)
|
||||
dat += "<tr><td><A href='?src=[REF(src)];item=[SLOT_LEGCUFFED]'>Legcuffed</A></td></tr>"
|
||||
|
||||
|
||||
var/mob/living/carbon/U = src //for carbon genitals
|
||||
if(U)
|
||||
for(var/obj/item/organ/genital/G in U.internal_organs)
|
||||
if(G.is_exposed())
|
||||
if(!G.equipment)
|
||||
dat += "<tr><td><B>[G.name]:</B></td><td><A href='?src=[REF(src)];item=[G.equipment]'>["<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
else
|
||||
dat += "<tr><td><B>[G.name]:</B></td><td><A href='?src=[REF(src)];gitem=\ref[G.equipment]'>[G.equipment.name]</A></td></tr>"
|
||||
else
|
||||
dat += "<tr><td><font color=grey><B>[G.name]:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
|
||||
|
||||
dat += {"</table>
|
||||
<A href='?src=[REF(user)];mach_close=mob[REF(src)]'>Close</A>
|
||||
"}
|
||||
|
||||
|
||||
|
||||
var/datum/browser/popup = new(user, "mob[REF(src)]", "[src]", 440, 510)
|
||||
popup.set_content(dat.Join())
|
||||
popup.open()
|
||||
@@ -237,6 +251,23 @@
|
||||
to_chat(usr, "<span class='warning'>You can't reach that! Something is covering it.</span>")
|
||||
return
|
||||
|
||||
if(href_list["gitem"])//remove gential item
|
||||
var/obj/item/I = locate(href_list["gitem"])
|
||||
var/obj/item/organ/genital/G = I.loc
|
||||
if(G.is_exposed())
|
||||
to_chat(usr, "<span class='notice'>You try to remove [src]'s [I].</span>")
|
||||
to_chat(src, "<span class='warning'>[usr] is trying to remove your [I].</span>")
|
||||
if(!do_mob(usr, src, 3 SECONDS))
|
||||
return
|
||||
SEND_SIGNAL(I, "detach_genital_equipment",usr)
|
||||
usr.put_in_hands(I)
|
||||
G.equipment = null
|
||||
return
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>You can't reach that! Something is covering it.</span>")
|
||||
return
|
||||
|
||||
|
||||
if(href_list["pockets"])
|
||||
var/pocket_side = href_list["pockets"]
|
||||
var/pocket_id = (pocket_side == "right" ? SLOT_R_STORE : SLOT_L_STORE)
|
||||
|
||||
@@ -225,40 +225,40 @@
|
||||
if(href_list["removeequipmentpenis"])
|
||||
var/obj/item/organ/genital/penis/O = usr.getorganslot("penis")
|
||||
var/obj/item/I = O.equipment
|
||||
usr.put_in_hands(I)
|
||||
SEND_SIGNAL(I, "detach_genital_equipment",usr)
|
||||
usr.put_in_hands(I)
|
||||
O.equipment = null
|
||||
|
||||
if(href_list["removeequipmentbreasts"])
|
||||
var/obj/item/organ/genital/breasts/O = usr.getorganslot("breasts")
|
||||
var/obj/item/I = O.equipment
|
||||
usr.put_in_hands(I)
|
||||
SEND_SIGNAL(I, "detach_genital_equipment",usr)
|
||||
usr.put_in_hands(I)
|
||||
O.equipment = null
|
||||
|
||||
|
||||
if(href_list["removeequipmentvagina"])
|
||||
var/obj/item/organ/genital/vagina/O = usr.getorganslot("vagina")
|
||||
var/obj/item/I = O.equipment
|
||||
SEND_SIGNAL(I, "detach_genital_equipment",usr)
|
||||
usr.put_in_hands(I)
|
||||
if(istype(I, /obj/item/portalpanties))
|
||||
var/obj/item/portalpanties/P = I
|
||||
P.remove()
|
||||
SEND_SIGNAL(I, "detach_genital_equipment",usr)
|
||||
O.equipment = null
|
||||
|
||||
if(href_list["removeequipmentbelly"])
|
||||
var/obj/item/organ/genital/belly/O = usr.getorganslot("belly")
|
||||
var/obj/item/I = O.equipment
|
||||
usr.put_in_hands(I)
|
||||
SEND_SIGNAL(I, "detach_genital_equipment",usr)
|
||||
usr.put_in_hands(I)
|
||||
O.equipment = null
|
||||
|
||||
if(href_list["removeequipmentanus"])
|
||||
var/obj/item/organ/genital/anus/O = usr.getorganslot("anus")
|
||||
var/obj/item/I = O.equipment
|
||||
usr.put_in_hands(I)
|
||||
SEND_SIGNAL(I, "detach_genital_equipment",usr)
|
||||
usr.put_in_hands(I)
|
||||
O.equipment = null
|
||||
|
||||
|
||||
|
||||
@@ -21,9 +21,9 @@
|
||||
"<span class='warning'>[user] is trying to put [src] on you!</span>")
|
||||
if(!do_mob(user, C, 4 SECONDS))//warn them and have a delay of 5 seconds to apply.
|
||||
return
|
||||
SEND_SIGNAL(src, "attach_genital_equipment",S)
|
||||
if(!user.transferItemToLoc(src, P)) //check if you can put it on
|
||||
return
|
||||
SEND_SIGNAL(src, "attach_genital_equipment",T)
|
||||
P.equipment = src
|
||||
to_chat(user, "<span class='love'>You attach [src] to [T]'s [P.name].</span>")
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
|
||||
/obj/item/equipment/penis/ring/fancy
|
||||
name = "fancy cock ring"
|
||||
name = "fancy ribboned cock ring"
|
||||
desc = "a cock ring with a white bowtie, how cute."
|
||||
icon_state = "cockring_fancy"
|
||||
|
||||
@@ -63,18 +63,20 @@
|
||||
RegisterSignal(src, "attach_genital_equipment", .proc/attach)
|
||||
RegisterSignal(src, "detach_genital_equipment", .proc/detach)
|
||||
|
||||
/obj/item/equipment/penis/ring/limiter/proc/attach(mob/living/user)
|
||||
/obj/item/equipment/penis/ring/limiter/proc/attach(mob/living/carbon/human/U)
|
||||
playsound(usr, 'sound/effects/magic.ogg', 100, 1)
|
||||
var/mob/living/carbon/human/H = usr
|
||||
var/obj/item/organ/genital/penis/P = H.getorganslot("penis")
|
||||
P.limited = TRUE
|
||||
P.update_appearance()
|
||||
H.update_genitals()
|
||||
to_chat(usr, "<span class='notice'>[U]</span>")
|
||||
var/obj/item/organ/genital/penis/P = loc
|
||||
if(P)
|
||||
P.limited = TRUE
|
||||
P.update_appearance()
|
||||
U.update_genitals()
|
||||
|
||||
/obj/item/equipment/penis/ring/limiter/proc/detach(mob/living/user)
|
||||
/obj/item/equipment/penis/ring/limiter/proc/detach(mob/living/carbon/human/U)
|
||||
playsound(usr, 'sound/effects/magic.ogg', 100, 1)
|
||||
var/mob/living/carbon/human/H = usr
|
||||
var/obj/item/organ/genital/penis/P = H.getorganslot("penis")
|
||||
P.limited = FALSE
|
||||
P.update_appearance()
|
||||
H.update_genitals()
|
||||
to_chat(usr, "<span class='notice'>[U]</span>")
|
||||
var/obj/item/organ/genital/penis/P = loc
|
||||
if(P)
|
||||
P.limited = FALSE
|
||||
P.update_appearance()
|
||||
U.update_genitals()
|
||||
|
||||
Reference in New Issue
Block a user