mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
[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:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user