Therapy Couch (#26369)

This commit is contained in:
Kurfursten
2020-05-04 05:32:26 -05:00
committed by GitHub
parent 403602b9ad
commit 6275c91fb2
8 changed files with 74 additions and 7 deletions

View File

@@ -60,6 +60,9 @@ client/proc/handle_ambience()
src << sound(last_ambient_noise, 0, 0, CHANNEL_AMBIENCE, prefs.ambience_volume)
/client/proc/get_ambience()
var/list/personal = mob.get_personal_ambience()
if(personal.len)
return personal
var/area/A = get_area(mob)//other overrides can go in here. eg: overrides for weather. or for cult.
if(A)
return A.get_ambience_list()

View File

@@ -210,6 +210,12 @@
sound = 'sound/ambience/spookyspace2.ogg'
length = 42 SECONDS + 1 MINUTES
//Personal ambience
/datum/ambience/beach
//Attribution: SoundSilk.com, Stephen Geisel
sound = 'sound/ambience/Soundsilk-Ambient-waves.ogg'
length = 36 SECONDS
prob_fire = 100
//Music - TODO, refactor this once the background music part of the Subsystem is done.

View File

@@ -3079,6 +3079,7 @@ var/global/num_vending_terminals = 1
/obj/item/weapon/storage/bag/gadgets/part_replacer/injector = 10,
/obj/item/weapon/storage/bag/gadgets/part_replacer/injector/super = 4,
/obj/structure/wetdryvac = 1,
/obj/structure/bed/therapy = 1,
)
prices = list(
/obj/item/clothing/suit/storage/trader = 100,
@@ -3114,6 +3115,7 @@ var/global/num_vending_terminals = 1
/obj/item/weapon/storage/bag/gadgets/part_replacer/injector = 15,
/obj/item/weapon/storage/bag/gadgets/part_replacer/injector/super = 50,
/obj/structure/wetdryvac = 50,
/obj/structure/bed/therapy = 50,
)
/obj/machinery/vending/trader/New()

View File

@@ -169,16 +169,63 @@
/obj/structure/bed/attackby(obj/item/weapon/W, mob/user)
if(W.is_wrench(user))
W.playtoolsound(src, 50)
drop_stack(sheet_type, loc, 2, user)
qdel(src)
return
. = ..()
wrench_act(W,user)
else
..()
/obj/structure/bed/proc/wrench_act(obj/item/weapon/W,mob/user)
W.playtoolsound(src, 50)
drop_stack(sheet_type, loc, 2, user)
qdel(src)
/obj/structure/bed/alien
name = "resting contraption"
desc = "This looks similar to contraptions from earth. Could aliens be stealing our technology?"
icon_state = "abed"
//therapy couch
//beach ambience found in ambience_datums.dm
//ambience granted in human.dm L1979
/obj/structure/bed/therapy
name = "therapy couch"
desc = "A relaxing couch that will make the troubles melt away as you tell a stranger about your father."
icon_state = "psychcouch"
anchored = FALSE
/obj/structure/bed/therapy/New()
..()
processing_objects += src
/obj/structure/bed/therapy/Destroy()
processing_objects -= src
..()
/obj/structure/bed/therapy/process()
for(var/mob/living/carbon/human/H in get_locked(mob_lock_type))
//Only humanoids are emotionally complex enough to benefit from this bench
H.AdjustDizzy(rand(-2,-4))
H.stuttering = max(0,H.stuttering-rand(2,4))
H.jitteriness = max(0,H.jitteriness-rand(2,4))
H.hallucination = max(0,H.hallucination-rand(2,4))
H.remove_confused(rand(2, 4))
H.drowsyness = max(0, H.drowsyness-rand(2,4))
H.pain_shock_stage = max(0, H.pain_shock_stage-rand(2,3))
H.dir = 8 //face up on couch
/obj/structure/bed/therapy/wrench_act(obj/item/weapon/W,mob/user)
if(wrenchAnchor(user,W) && !anchored)
var/mob/living/locked = get_locked(mob_lock_type)[1]
if(locked)
unlock_atom(locked)
to_chat(locked,"<span class='warning'>You are forced off \the [src] as it is unanchored.</span>")
/obj/structure/bed/therapy/buckle_mob(mob/M as mob, mob/user as mob)
if(!anchored)
//note .name is used here to avoid "the" appearing
to_chat(user,"<span class='warning'>You need the stability of an anchored [src.name] to really benefit from that.</span>")
return
..()
/obj/structure/bed/therapy/cultify()
return //tell me about this "papa" you keep chanting about

View File

@@ -1975,3 +1975,9 @@ mob/living/carbon/human/isincrit()
active_hand = 0
update_hands_icons()
/mob/living/carbon/human/get_personal_ambience()
if(istype(locked_to, /obj/structure/bed/therapy))
return list(/datum/ambience/beach)
else
return ..()

View File

@@ -2267,5 +2267,8 @@ mob/proc/on_foot()
return 0
return 1
/mob/proc/get_personal_ambience()
return list()
#undef MOB_SPACEDRUGS_HALLUCINATING
#undef MOB_MINDBREAKER_HALLUCINATING

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.