[MIRROR] Plushie Fixes & Additions (#10351)

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-03-11 15:26:52 -07:00
committed by GitHub
parent 3b230af372
commit 8044a7ffa2
20 changed files with 165 additions and 82 deletions

View File

@@ -733,7 +733,8 @@
user.visible_message(span_warning(span_bold("\The [user]") + " attempts to strangle [src]!"),span_warning("You attempt to strangle [src]!"))
else
user.visible_message(span_notice(span_bold("\The [user]") + " pokes the [src]."),span_notice("You poke the [src]."))
visible_message("[src] says, \"[phrase]\"")
if(phrase) //There was no indiciation you had to use disarm intent to make it speak...So now it speaks if you touch it at all!
atom_say("[phrase]")
/obj/structure/plushie/attackby(obj/item/I as obj, mob/user as mob)
@@ -775,6 +776,7 @@
desc = "A plushie of a happy drone! It appears to be smiling."
icon_state = "droneplushie"
phrase = "Beep boop!"
bubble_icon = "machine"
/obj/structure/plushie/carp
name = "plush carp"
@@ -787,6 +789,7 @@
desc = "A plushie of a popular industrious cleaning robot! If it could feel emotions, it would love you."
icon_state = "beepskyplushie"
phrase = "Ping!"
bubble_icon = "security"
//Small plushies.
/obj/item/toy/plushie
@@ -801,7 +804,11 @@
var/searching = FALSE
var/opened = FALSE // has this been slit open? this will allow you to store an object in a plushie.
var/obj/item/stored_item // Note: Stored items can't be bigger than the plushie itself.
var/adjusted_name // Our modified name. Used so people don't do funny business with us!
/obj/item/toy/plushie/Initialize(mapload)
. = ..()
adjusted_name = name
/obj/item/toy/plushie/examine(mob/user)
. = ..()
@@ -833,9 +840,15 @@
else
user.visible_message(span_notice(span_bold("\The [user]") + " pokes [src]."),span_notice("You poke [src]."))
playsound(src, 'sound/items/drop/plushie.ogg', 25, 0)
visible_message("[src] says, \"[pokephrase]\"")
if(pokephrase) //There was no indiciation you had to use disarm intent to make it speak...So now it speaks if you touch it at all!
say_phrase()
last_message = world.time
/obj/item/toy/plushie/proc/say_phrase()
name = initial(name) //No namestealing.
atom_say("[pokephrase]")
name = adjusted_name
/obj/item/toy/plushie/verb/rename_plushie()
set name = "Name Plushie"
set category = "Object"
@@ -852,6 +865,7 @@
for(var/mob/living/voice/V in possessed_voice)
V.name = input
//CHOMPAdd End
adjusted_name = input
to_chat(M, "You name the plushie [input], giving it a hug for good luck.")
return 1
@@ -891,67 +905,79 @@
desc = "A plushie of an adorable diona nymph! While its level of self-awareness is still being debated, its level of cuteness is not."
icon_state = "nymphplushie"
pokephrase = "Chirp!"
bubble_icon = "plant"
/obj/item/toy/plushie/teshari
name = "teshari plush"
desc = "This is a plush teshari. Very soft, with a pompom on the tail. The toy is made well, as if alive. Looks like she is sleeping. Shhh!"
icon_state = "teshariplushie"
pokephrase = "Rya!"
bubble_icon = "heart"
/obj/item/toy/plushie/mouse
name = "mouse plush"
desc = "A plushie of a delightful mouse! What was once considered a vile rodent is now your very best friend."
icon_state = "mouseplushie"
pokephrase = "Squeak!"
bubble_icon = "maus"
/obj/item/toy/plushie/kitten
name = "kitten plush"
desc = "A plushie of a cute kitten! Watch as it purrs its way right into your heart."
icon_state = "kittenplushie"
pokephrase = "Mrow!"
bubble_icon = "heart"
/obj/item/toy/plushie/lizard
name = "lizard plush"
desc = "A plushie of a scaly lizard! Very controversial, after being accused as \"racist\" by some Unathi."
icon_state = "lizardplushie"
pokephrase = "Hiss!"
bubble_icon = "heart"
/obj/item/toy/plushie/spider
name = "spider plush"
desc = "A plushie of a fuzzy spider! It has eight legs - all the better to hug you with."
icon_state = "spiderplushie"
pokephrase = "Sksksk!"
bubble_icon = "heart"
/obj/item/toy/plushie/farwa
name = "farwa plush"
desc = "A farwa plush doll. It's soft and comforting!"
icon_state = "farwaplushie"
pokephrase = "Squaw!"
bubble_icon = "heart"
/obj/item/toy/plushie/corgi
name = "corgi plushie"
icon_state = "corgi"
pokephrase = "Woof!"
bubble_icon = "heart"
/obj/item/toy/plushie/girly_corgi
name = "corgi plushie"
icon_state = "girlycorgi"
pokephrase = "Arf!"
bubble_icon = "heart"
/obj/item/toy/plushie/robo_corgi
name = "borgi plushie"
icon_state = "robotcorgi"
pokephrase = "Bark."
bubble_icon = "synthetic"
/obj/item/toy/plushie/octopus
name = "octopus plushie"
icon_state = "loveable"
pokephrase = "Squish!"
bubble_icon = "tentacles"
/obj/item/toy/plushie/face_hugger
name = "facehugger plushie"
icon_state = "huggable"
pokephrase = "Hug!"
bubble_icon = "science"
//foxes are basically the best
@@ -959,176 +985,183 @@
name = "red fox plushie"
icon_state = "redfox"
pokephrase = "Gecker!"
bubble_icon = "latte_fox"
/obj/item/toy/plushie/black_fox
name = "black fox plushie"
icon_state = "blackfox"
pokephrase = "Ack!"
bubble_icon = "latte_fox"
/obj/item/toy/plushie/marble_fox
name = "marble fox plushie"
icon_state = "marblefox"
pokephrase = "Awoo!"
bubble_icon = "latte_fox"
/obj/item/toy/plushie/blue_fox
name = "blue fox plushie"
icon_state = "bluefox"
pokephrase = "Yoww!"
bubble_icon = "latte_fox"
/obj/item/toy/plushie/orange_fox
name = "orange fox plushie"
icon_state = "orangefox"
pokephrase = "Yagh!"
bubble_icon = "latte_fox"
/obj/item/toy/plushie/coffee_fox
name = "coffee fox plushie"
icon_state = "coffeefox"
pokephrase = "Gerr!"
bubble_icon = "latte_fox"
/obj/item/toy/plushie/pink_fox
name = "pink fox plushie"
icon_state = "pinkfox"
pokephrase = "Yack!"
bubble_icon = "latte_fox"
/obj/item/toy/plushie/purple_fox
name = "purple fox plushie"
icon_state = "purplefox"
pokephrase = "Whine!"
bubble_icon = "latte_fox"
/obj/item/toy/plushie/crimson_fox
name = "crimson fox plushie"
icon_state = "crimsonfox"
pokephrase = "Auuu!"
bubble_icon = "latte_fox"
/obj/item/toy/plushie/deer
name = "deer plushie"
icon_state = "deer"
pokephrase = "Bleat!"
bubble_icon = "heart"
/obj/item/toy/plushie/black_cat
name = "black cat plushie"
icon_state = "blackcat"
pokephrase = "Mlem!"
bubble_icon = "heart"
/obj/item/toy/plushie/grey_cat
name = "grey cat plushie"
icon_state = "greycat"
pokephrase = "Mraw!"
bubble_icon = "heart"
/obj/item/toy/plushie/white_cat
name = "white cat plushie"
icon_state = "whitecat"
pokephrase = "Mew!"
bubble_icon = "heart"
/obj/item/toy/plushie/orange_cat
name = "orange cat plushie"
icon_state = "orangecat"
pokephrase = "Meow!"
bubble_icon = "heart"
/obj/item/toy/plushie/siamese_cat
name = "siamese cat plushie"
icon_state = "siamesecat"
pokephrase = "Mrew?"
bubble_icon = "heart"
/obj/item/toy/plushie/tabby_cat
name = "tabby cat plushie"
icon_state = "tabbycat"
pokephrase = "Purr!"
bubble_icon = "heart"
/obj/item/toy/plushie/tuxedo_cat
name = "tuxedo cat plushie"
icon_state = "tuxedocat"
pokephrase = "Mrowww!!"
bubble_icon = "heart"
// nah, squids are better than foxes :>
/obj/item/toy/plushie/squid/green
/obj/item/toy/plushie/squid
name = DEVELOPER_WARNING_NAME
/obj/item/toy/plushie/squid
name = "green squid plushie"
desc = "A small, cute and loveable squid friend. This one is green."
icon = 'icons/obj/toy.dmi'
icon_state = "greensquid"
slot_flags = SLOT_HEAD
pokephrase = "Squrr!"
bubble_icon = "tentacles"
/obj/item/toy/plushie/squid/mint
name = "mint squid plushie"
desc = "A small, cute and loveable squid friend. This one is mint coloured."
icon = 'icons/obj/toy.dmi'
icon_state = "mintsquid"
slot_flags = SLOT_HEAD
pokephrase = "Blurble!"
/obj/item/toy/plushie/squid/blue
name = "blue squid plushie"
desc = "A small, cute and loveable squid friend. This one is blue."
icon = 'icons/obj/toy.dmi'
icon_state = "bluesquid"
slot_flags = SLOT_HEAD
pokephrase = "Blob!"
/obj/item/toy/plushie/squid/orange
name = "orange squid plushie"
desc = "A small, cute and loveable squid friend. This one is orange."
icon = 'icons/obj/toy.dmi'
icon_state = "orangesquid"
slot_flags = SLOT_HEAD
pokephrase = "Squash!"
/obj/item/toy/plushie/squid/yellow
name = "yellow squid plushie"
desc = "A small, cute and loveable squid friend. This one is yellow."
icon = 'icons/obj/toy.dmi'
icon_state = "yellowsquid"
slot_flags = SLOT_HEAD
pokephrase = "Glorble!"
/obj/item/toy/plushie/squid/pink
name = "pink squid plushie"
desc = "A small, cute and loveable squid friend. This one is pink."
icon = 'icons/obj/toy.dmi'
icon_state = "pinksquid"
slot_flags = SLOT_HEAD
pokephrase = "Wobble!"
/obj/item/toy/plushie/therapy/red
/obj/item/toy/plushie/therapy
name = "red therapy doll"
desc = "A toy for therapeutic and recreational purposes. This one is red."
icon = 'icons/obj/toy.dmi'
icon_state = "therapyred"
item_state = "egg4" // It's the red egg in items_left/righthand
bubble_icon = "medical"
/obj/item/toy/plushie/therapy/purple
name = "purple therapy doll"
desc = "A toy for therapeutic and recreational purposes. This one is purple."
icon = 'icons/obj/toy.dmi'
icon_state = "therapypurple"
item_state = "egg1" // It's the magenta egg in items_left/righthand
/obj/item/toy/plushie/therapy/blue
name = "blue therapy doll"
desc = "A toy for therapeutic and recreational purposes. This one is blue."
icon = 'icons/obj/toy.dmi'
icon_state = "therapyblue"
item_state = "egg2" // It's the blue egg in items_left/righthand
/obj/item/toy/plushie/therapy/yellow
name = "yellow therapy doll"
desc = "A toy for therapeutic and recreational purposes. This one is yellow."
icon = 'icons/obj/toy.dmi'
icon_state = "therapyyellow"
item_state = "egg5" // It's the yellow egg in items_left/righthand
/obj/item/toy/plushie/therapy/orange
name = "orange therapy doll"
desc = "A toy for therapeutic and recreational purposes. This one is orange."
icon = 'icons/obj/toy.dmi'
icon_state = "therapyorange"
item_state = "egg4" // It's the red one again, lacking an orange item_state and making a new one is pointless
/obj/item/toy/plushie/therapy/green
name = "green therapy doll"
desc = "A toy for therapeutic and recreational purposes. This one is green."
icon = 'icons/obj/toy.dmi'
icon_state = "therapygreen"
item_state = "egg3" // It's the green egg in items_left/righthand
@@ -1138,6 +1171,39 @@
icon_state = "fumoplushie"
pokephrase = "I just don't think about losing."
// Tiny tin, rip - OP21
/obj/item/toy/plushie/tinytin
name = "tiny tin plushie"
desc = "A tiny fluffy nevrean plush with the label 'Tiny-Tin.' Press his belly to hear a sound!"
icon = 'icons/obj/toy.dmi'
icon_state = "plushie_tin"
pokephrase = "Peep peep!"
var/cooldown = 0
/obj/item/toy/plushie/tinytin/attack_self(mob/user as mob)
if(!cooldown)
playsound(user, 'sound/voice/peep.ogg', 20, 0)
cooldown = TRUE
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 15 SECONDS, TIMER_DELETE_ME)
return ..()
/obj/item/toy/plushie/tinytin_sec
name = "officer tiny tin plushie"
desc = "Officer Tiny-Tin, now with rooty-tooty-shooty action! Press his belly to hear a sound!"
icon = 'icons/obj/toy.dmi'
icon_state = "plushie_tinsec"
bubble_icon = "security"
pokephrase = "That means you fucked up!"
var/cooldown = 0
/obj/item/toy/plushie/tinytin_sec/attack_self(mob/user as mob)
if(!cooldown)
playsound(user, 'sound/voice/tinytin_fuckedup.ogg', 25, 0)
cooldown = TRUE
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 15 SECONDS, TIMER_DELETE_ME)
return ..()
//Toy cult sword
/obj/item/toy/cultsword
name = "foam sword"

View File

@@ -89,15 +89,18 @@
desc = "An adorable stuffed toy of a robot."
icon = 'icons/obj/toy_vr.dmi'
icon_state = "securityk9"
bubble_icon = "security"
attack_verb = list("beeped", "booped", "pinged")
/obj/item/toy/plushie/borgplushie/medihound
name = "medihound plushie"
icon_state = "medihound"
bubble_icon = "cardiogram"
/obj/item/toy/plushie/borgplushie/scrubpuppy
name = "janihound plushie"
icon_state = "scrubpuppy"
bubble_icon = "synthetic"
/obj/item/toy/plushie/borgplushie/drake
icon = 'icons/obj/drakietoy_vr.dmi'
@@ -123,30 +126,37 @@
/obj/item/toy/plushie/borgplushie/drake/sec
name = "security drake plushie"
icon_state = "secdrake"
bubble_icon = "security"
/obj/item/toy/plushie/borgplushie/drake/med
name = "medical drake plushie"
icon_state = "meddrake"
bubble_icon = "cardiogram"
/obj/item/toy/plushie/borgplushie/drake/sci
name = "science drake plushie"
icon_state = "scidrake"
bubble_icon = "science"
/obj/item/toy/plushie/borgplushie/drake/jani
name = "janitor drake plushie"
icon_state = "janidrake"
bubble_icon = "synthetic"
/obj/item/toy/plushie/borgplushie/drake/eng
name = "engineering drake plushie"
icon_state = "engdrake"
bubble_icon = "engineering"
/obj/item/toy/plushie/borgplushie/drake/mine
name = "mining drake plushie"
icon_state = "minedrake"
bubble_icon = "notepad"
/obj/item/toy/plushie/borgplushie/drake/trauma
name = "trauma drake plushie"
icon_state = "traumadrake"
bubble_icon = "medical"
/obj/item/toy/plushie/foxbear
name = "toy fox"
@@ -159,6 +169,8 @@
desc = "A stuffed toy that resembles a syndicate nuclear operative. The tag claims operatives to be purely fictitious."
icon = 'icons/obj/toy_vr.dmi'
icon_state = "plushie_nuke"
pokephrase = "Hey, has anyone seen the nuke disk?"
bubble_icon = "synthetic_evil"
attack_verb = list("shot", "nuked", "detonated")
/obj/item/toy/plushie/otter
@@ -172,14 +184,14 @@
desc = "A stitched-together vox, fresh from the skipjack. Press its belly to hear it skree!"
icon = 'icons/obj/toy_vr.dmi'
icon_state = "plushie_vox"
var/cooldown = 0
pokephrase = "Skreee!"
var/cooldown = FALSE
/obj/item/toy/plushie/vox/attack_self(mob/user as mob)
if(!cooldown)
playsound(user, 'sound/voice/shriek1.ogg', 10, 0)
src.visible_message(span_danger("Skreee!"))
cooldown = 1
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
cooldown = TRUE
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 15 SECONDS, TIMER_DELETE_ME)
return ..()
/obj/item/toy/plushie/vox/proc/cooldownreset()
@@ -190,6 +202,8 @@
desc = "A pleasing soft-toy of a monitor-headed robot. Toaster functionality included."
icon = 'icons/obj/toy_vr.dmi'
icon_state = "plushie_ipc"
bubble_icon = "synthetic"
pokephrase = "Ping!"
var/cooldown = 0
/obj/item/reagent_containers/food/snacks/slice/bread
@@ -227,26 +241,23 @@
/obj/item/toy/plushie/ipc/attack_self(mob/user as mob)
if(!cooldown)
playsound(user, 'sound/machines/ping.ogg', 10, 0)
src.visible_message(span_danger("Ping!"))
cooldown = 1
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
cooldown = TRUE
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 15 SECONDS, TIMER_DELETE_ME)
return ..()
/obj/item/toy/plushie/ipc/proc/cooldownreset()
cooldown = 0
/obj/item/toy/plushie/ipc/toaster
name = "toaster plushie"
desc = "A stuffed toy of a pleasant art-deco toaster. It has a small tag on it reading 'Bricker Home Appliances! All rights reserved, copyright 2298.' It's a tad heavy on account of containing a heating coil. Want to make toast?"
icon_state = "marketable_tost"
attack_verb = list("toasted", "burnt")
pokephrase = "Ding!"
bubble_icon = "machine"
/obj/item/toy/plushie/ipc/toaster/attack_self(mob/user as mob)
if(!cooldown)
playsound(user, 'sound/machines/ding.ogg', 10, 0)
src.visible_message(span_danger("Ding!"))
cooldown = 1
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
cooldown = TRUE
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 15 SECONDS, TIMER_DELETE_ME)
return ..()
/obj/item/toy/plushie/snakeplushie
@@ -262,6 +273,7 @@
icon = 'icons/obj/toy_vr.dmi'
icon_state = "generic"
attack_verb = list("existed near")
bubble_icon = "textbox"
/* //CHOMPedit: Disable, upstream player reference.
/obj/item/toy/plushie/marketable_pip
@@ -269,27 +281,26 @@
desc = "An adorable plushie of NanoTrasen's Best Girl(TM) mascot. It smells faintly of paperwork."
icon = 'icons/obj/toy_vr.dmi'
icon_state = "marketable_pip"
var/cooldown = 0
var/cooldown = FALSE
/obj/item/toy/plushie/marketable_pip/attackby(obj/item/I, mob/user)
var/responses = list("I'm not giving you all-access.", "Do you want an ID modification?", "Where are you swiping that!?", "Congratulations! You've been promoted to unemployed!")
var/obj/item/card/id/id = I.GetID()
if(istype(id))
if(!cooldown)
user.visible_message(span_notice("[user] swipes \the [I] against \the [src]."))
atom_say(pick(responses))
playsound(user, 'sound/effects/whistle.ogg', 10, 0)
cooldown = 1
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
if(istype(id) && !cooldown)
var/responses = list("I'm not giving you all-access.", "Do you want an ID modification?", "Where are you swiping that!?", "Congratulations! You've been promoted to unemployed!")
pokephrase = pick(responses)
user.visible_message(span_notice("[user] swipes \the [I] against \the [src]."))
playsound(user, 'sound/effects/whistle.ogg', 10, 0)
say_phrase()
cooldown = TRUE
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 15 SECONDS, TIMER_DELETE_ME)
return ..()
/obj/item/toy/plushie/marketable_pip/attack_self(mob/user as mob)
if(!cooldown)
playsound(user, 'sound/effects/whistle.ogg', 10, 0)
cooldown = 1
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
cooldown = TRUE
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 15 SECONDS, TIMER_DELETE_ME)
return ..()
/obj/item/toy/plushie/marketable_pip/proc/cooldownreset()
cooldown = 0
*/ //CHOMPedit end
@@ -299,14 +310,14 @@
desc = "A cute plushie of cartoony moth. It's ultra fluffy but leaves dust everywhere."
icon = 'icons/obj/toy_vr.dmi'
icon_state = "moth"
var/cooldown = 0
pokephrase = "Aaaaaaa."
var/cooldown = FALSE
/obj/item/toy/plushie/moth/attack_self(mob/user as mob)
if(!cooldown)
playsound(user, 'sound/voice/moth/scream_moth.ogg', 10, 0)
src.visible_message(span_danger("Aaaaaaa."))
cooldown = 1
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
cooldown = TRUE
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 15 SECONDS, TIMER_DELETE_ME)
return ..()
/obj/item/toy/plushie/moth/proc/cooldownreset()
@@ -339,31 +350,31 @@
icon_state = "mouse"
icon = 'icons/obj/toy_vr.dmi'
/obj/item/toy/plushie/susred
/obj/item/toy/plushie/sus
name = "red spaceman plushie"
desc = "A suspicious looking red spaceman plushie. Why does it smell like the vents?"
icon = 'icons/obj/toy_vr.dmi'
icon_state = "sus_red"
pokephrase = "Stab!"
bubble_icon = "security"
attack_verb = list("stabbed", "slashed")
var/cooldown = FALSE
/obj/item/toy/plushie/ipc/toaster/attack_self(mob/user as mob)
/obj/item/toy/plushie/sus/attack_self(mob/user as mob)
if(!cooldown)
playsound(user, 'sound/weapons/slice.ogg', 10, 0)
src.visible_message(span_danger("Stab!"))
cooldown = 1
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
cooldown = TRUE
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 15 SECONDS, TIMER_DELETE_ME)
return ..()
/obj/item/toy/plushie/susblue
/obj/item/toy/plushie/sus/blue
name = "blue spaceman plushie"
desc = "A dapper looking blue spaceman plushie. Looks very intuitive."
icon = 'icons/obj/toy_vr.dmi'
icon_state = "sus_blue"
/obj/item/toy/plushie/suswhite
/obj/item/toy/plushie/sus/white
name = "white spaceman plushie"
desc = "A whiny looking white spaceman plushie. Looks like it could cry at any moment."
icon = 'icons/obj/toy_vr.dmi'
icon_state = "sus_white"
/obj/item/toy/plushie/bigcat

View File

@@ -759,7 +759,6 @@
/obj/item/toy/plushie/tabby_cat,
/obj/item/toy/plushie/tuxedo_cat,
/obj/item/toy/plushie/white_cat,
//VOREStation Add Start
/obj/item/toy/plushie/lizardplushie,
/obj/item/toy/plushie/lizardplushie/kobold,
// /obj/item/toy/plushie/lizardplushie/resh, //CHOMPedit
@@ -773,6 +772,8 @@
/obj/item/toy/plushie/otter,
/obj/item/toy/plushie/vox,
/obj/item/toy/plushie/shark,
/obj/item/toy/plushie/tinytin,
/obj/item/toy/plushie/tinytin_sec,
pick(list(/obj/item/toy/plushie/borgplushie/drake/sec,
/obj/item/toy/plushie/borgplushie/drake/med,
/obj/item/toy/plushie/borgplushie/drake/sci,
@@ -819,7 +820,7 @@
/obj/random/toy/item_to_spawn()
return pick(/obj/item/toy/bosunwhistle,
/obj/item/toy/plushie/therapy/red,
/obj/item/toy/plushie/therapy,
/obj/item/toy/plushie/therapy/purple,
/obj/item/toy/plushie/therapy/blue,
/obj/item/toy/plushie/therapy/yellow,