[MIRROR] Closet vore and Tents (#7902)

Co-authored-by: SatinIsle <98125273+SatinIsle@users.noreply.github.com>
Co-authored-by: CHOMPStation2 <chompsation2@gmail.com>
Co-authored-by: Raeschen <rycoop29@gmail.com>
This commit is contained in:
CHOMPStation2
2024-03-10 23:44:26 -07:00
committed by GitHub
parent 8b4fe27098
commit e1503d4bfd
4 changed files with 79 additions and 0 deletions

View File

@@ -40,6 +40,7 @@
var/is_animating_door = FALSE
/// Our visual object for the closet door, if we're animating
var/obj/effect/overlay/closet_door/door_obj
var/vore_sound = 'sound/effects/metalscrape2.ogg'
/obj/structure/closet/Initialize()
..()
@@ -543,3 +544,49 @@
M.Multiply(matrix(cos(angle), 0, 0, -sin(angle) * closet_appearance.door_anim_squish, 1, 0))
M.Translate(closet_appearance.door_hinge, 0)
return M
//verb to eat people in the same closet as yourself
/obj/structure/closet/verb/hidden_vore()
set src in oview(1)
set category = "Object"
set name = "Devour Occupants" //ChompEDIT vore as a verb is cronge
if(!istype(usr, /mob/living)) //no ghosts
return
if(!(usr in src.contents))
to_chat(usr, "<span class='warning'>You need to be inside \the [src] to do this.</span>")
return
var/list/targets = list() //IF IT IS NOT BROKEN. DO NOT FIX IT.
for(var/mob/living/L in src.contents)
if(!istype(L, /mob/living)) //Don't eat anything that isn't mob/living. Failsafe.
continue
if(L == usr) //no eating yourself. 1984.
continue
if(L.devourable)
targets += L
if(targets == 0)
to_chat(src, "<span class='notice'>No eligible targets found.</span>")
return
var/mob/living/target = tgui_input_list(usr, "Please select a target.", "Victim", targets)
if(!target)
return
if(!istype(target, /mob/living)) //Safety.
to_chat(src, "<span class='warning'>You need to select a living target!</span>")
return
if (get_dist(src,target) >= 1 || get_dist(src,usr) >= 1) //in case they leave the locker
to_chat(src, "<span class='warning'>You are no longer both in \the [src].</span>")
return
playsound(src, vore_sound, 25)
var/mob/living/M = usr
M.perform_the_nom(usr,target,usr,usr.vore_selected,1)

View File

@@ -6,6 +6,7 @@
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
vore_sound = 'sound/effects/woodhit.ogg'
/obj/structure/closet/acloset
name = "strange closet"
@@ -82,3 +83,34 @@
icon = 'icons/obj/closets/abductor.dmi'
anchored = TRUE
closet_appearance = null // special icons
/obj/structure/closet/tent
name = "tent"
desc = "An old fashioned tent that can easily fit a couple of people."
icon = 'icons/obj/closets/tent.dmi'
closet_appearance = null
anchored = 1
open_sound = 'sound/effects/rustle3.ogg'
close_sound = 'sound/effects/rustle4.ogg'
vore_sound = 'sound/effects/rustle1.ogg'
/obj/structure/closet/tent/B
icon = 'icons/obj/closets/tentB.dmi'
/datum/crafting_recipe/tent
name = "tent (green)"
result = /obj/structure/closet/tent
reqs = list(
list(/obj/item/stack/material/cloth = 10)
)
time = 60
category = CAT_MISC
/datum/crafting_recipe/tentb
name = "tent (tan)"
result = /obj/structure/closet/tent/B
reqs = list(
list(/obj/item/stack/material/cloth = 10)
)
time = 60
category = CAT_MISC