diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index f2e006e24c8..1fbcb942248 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -995,6 +995,47 @@
name = "tuxedo cat plushie"
icon_state = "tuxedocat"
+/obj/item/toy/plushie/greyplushie
+ name = "grey plushie"
+ desc = "A plushie of a grey wearing a sweatshirt. As a part of the 'The Alien' series, the doll features a sweater, an oversized head, and cartoonish eyes."
+ icon_state = "plushie_grey"
+ item_state = "plushie_grey"
+ var/hug_cooldown = FALSE //Defaults the plushie to being off coolodown. Sets the hug_cooldown var.
+ var/scream_cooldown = FALSE //Defaults the plushie to being off cooldown. Sets the scream_cooldown var.
+ var/singed = FALSE
+
+/obj/item/toy/plushie/greyplushie/water_act(volume, temperature, source, method = REAGENT_TOUCH) //If water touches the plushie the following code executes.
+ . = ..()
+ if(scream_cooldown)
+ return
+ scream_cooldown = TRUE //water_act executes the scream_cooldown var, setting it on cooldown.
+ addtimer(CALLBACK(src, .proc/reset_screamdown), 30 SECONDS) //After 30 seconds the reset_coolodown() proc will execute, resetting the cooldown. Hug interaction is unnaffected by this.
+ playsound(src, 'sound/goonstation/voice/male_scream.ogg', 10, FALSE)//If the plushie gets wet it screams and "AAAAAH!" appears in chat.
+ visible_message("AAAAAAH!")
+ if(singed)
+ return
+ singed = TRUE
+ icon_state = "grey_singed"
+ item_state = "grey_singed"//If the plushie gets wet the sprite changes to a singed version.
+ desc = "A ruined plushie of a grey. It looks like someone ran it under some water."
+
+/obj/item/toy/plushie/greyplushie/proc/reset_screamdown()
+ scream_cooldown = FALSE //Resets the scream interaction cooldown.
+
+/obj/item/toy/plushie/greyplushie/proc/reset_hugdown()
+ hug_cooldown = FALSE //Resets the hug interaction cooldown.
+
+/obj/item/toy/plushie/greyplushie/attack_self(mob/user)//code for talking when hugged.
+ . = ..()
+ if(hug_cooldown)
+ return
+ hug_cooldown = TRUE
+ addtimer(CALLBACK(src, .proc/reset_hugdown), 5 SECONDS) //Hug interactions only put the plushie on a 5 second cooldown.
+ if(singed)//If the plushie is water damaged it'll say Ow instead of talking in wingdings.
+ visible_message("Ow...")
+ else//If the plushie has not touched water they'll say Greetings in wingdings.
+ visible_message("☝︎❒︎♏︎♏︎⧫︎♓︎■︎♑︎⬧︎📬︎")
+
/obj/item/toy/plushie/voxplushie
name = "vox plushie"
desc = "A stitched-together vox, fresh from the skipjack. Press its belly to hear it skree!"
diff --git a/code/modules/client/preference/loadout/loadout_general.dm b/code/modules/client/preference/loadout/loadout_general.dm
index 56c28df62fe..ee8555d6d85 100644
--- a/code/modules/client/preference/loadout/loadout_general.dm
+++ b/code/modules/client/preference/loadout/loadout_general.dm
@@ -81,6 +81,10 @@
display_name = "Carp plushie"
path = /obj/item/toy/carpplushie
+/datum/gear/greyplushie
+ display_name = "Grey Plushie"
+ path = /obj/item/toy/plushie/greyplushie
+
/datum/gear/sechud
display_name = "Classic security HUD"
path = /obj/item/clothing/glasses/hud/security
diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi
index c51d2903b14..ad8445ca9c4 100644
Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ