diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 2915bf0761..c95bc1dff3 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -1,6 +1,6 @@
/obj/machinery/computer/arcade
name = "arcade machine"
- desc = "Does not support Pin ball."
+ desc = "Does not support pinball."
icon = 'icons/obj/computer.dmi'
icon_state = "arcade"
circuit = "/obj/item/weapon/circuitboard/arcade"
@@ -32,7 +32,10 @@
/obj/item/toy/prize/mauler = 1,
/obj/item/toy/prize/odysseus = 1,
/obj/item/toy/prize/phazon = 1,
- /obj/item/toy/waterflower = 1
+ /obj/item/toy/waterflower = 1,
+ /obj/random/action_figure = 1,
+ /obj/random/plushie = 1,
+ /obj/item/toy/cultsword = 1
)
/obj/machinery/computer/arcade
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 38b646a03a..321196c76b 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -14,6 +14,9 @@
* Therapy dolls
* Toddler doll
* Inflatable duck
+ * Action figures
+ * Plushies
+ * Toy cult sword
*/
@@ -559,7 +562,6 @@
desc = "Mini-Mecha action figure! Collect them all! 4/11."
icon_state = "gygaxtoy"
-
/obj/item/toy/prize/durand
name = "toy durand"
desc = "Mini-Mecha action figure! Collect them all! 5/11."
@@ -595,6 +597,207 @@
desc = "Mini-Mecha action figure! Collect them all! 11/11."
icon_state = "phazonprize"
+/*
+ * Action figures
+ */
+
+
+/obj/item/toy/figure
+ name = "Completely Glitched action figure"
+ desc = "A \"Space Life\" brand... wait, what the hell is this thing? It seems to be requesting the sweet release of death."
+ icon_state = "assistant"
+ icon = 'icons/obj/toy.dmi'
+
+/obj/item/toy/figure/cmo
+ name = "Chief Medical Officer action figure"
+ desc = "A \"Space Life\" brand Chief Medical Officer action figure."
+ icon_state = "cmo"
+
+/obj/item/toy/figure/assistant
+ name = "Assistant action figure"
+ desc = "A \"Space Life\" brand Assistant action figure."
+ icon_state = "assistant"
+
+/obj/item/toy/figure/atmos
+ name = "Atmospheric Technician action figure"
+ desc = "A \"Space Life\" brand Atmospheric Technician action figure."
+ icon_state = "atmos"
+
+/obj/item/toy/figure/bartender
+ name = "Bartender action figure"
+ desc = "A \"Space Life\" brand Bartender action figure."
+ icon_state = "bartender"
+
+/obj/item/toy/figure/borg
+ name = "Cyborg action figure"
+ desc = "A \"Space Life\" brand Cyborg action figure."
+ icon_state = "borg"
+
+/obj/item/toy/figure/gardener
+ name = "Gardener action figure"
+ desc = "A \"Space Life\" brand Gardener action figure."
+ icon_state = "botanist"
+
+/obj/item/toy/figure/captain
+ name = "Captain action figure"
+ desc = "A \"Space Life\" brand Captain action figure."
+ icon_state = "captain"
+
+/obj/item/toy/figure/cargotech
+ name = "Cargo Technician action figure"
+ desc = "A \"Space Life\" brand Cargo Technician action figure."
+ icon_state = "cargotech"
+
+/obj/item/toy/figure/ce
+ name = "Chief Engineer action figure"
+ desc = "A \"Space Life\" brand Chief Engineer action figure."
+ icon_state = "ce"
+
+/obj/item/toy/figure/chaplain
+ name = "Chaplain action figure"
+ desc = "A \"Space Life\" brand Chaplain action figure."
+ icon_state = "chaplain"
+
+/obj/item/toy/figure/chef
+ name = "Chef action figure"
+ desc = "A \"Space Life\" brand Chef action figure."
+ icon_state = "chef"
+
+/obj/item/toy/figure/chemist
+ name = "Chemist action figure"
+ desc = "A \"Space Life\" brand Chemist action figure."
+ icon_state = "chemist"
+
+/obj/item/toy/figure/clown
+ name = "Clown action figure"
+ desc = "A \"Space Life\" brand Clown action figure."
+ icon_state = "clown"
+
+/obj/item/toy/figure/corgi
+ name = "Corgi action figure"
+ desc = "A \"Space Life\" brand Corgi action figure."
+ icon_state = "ian"
+
+/obj/item/toy/figure/detective
+ name = "Detective action figure"
+ desc = "A \"Space Life\" brand Detective action figure."
+ icon_state = "detective"
+
+/obj/item/toy/figure/dsquad
+ name = "Space Commando action figure"
+ desc = "A \"Space Life\" brand Space Commando action figure."
+ icon_state = "dsquad"
+
+/obj/item/toy/figure/engineer
+ name = "Engineer action figure"
+ desc = "A \"Space Life\" brand Engineer action figure."
+ icon_state = "engineer"
+
+/obj/item/toy/figure/geneticist
+ name = "Geneticist action figure"
+ desc = "A \"Space Life\" brand Geneticist action figure, which was recently dicontinued."
+ icon_state = "geneticist"
+
+/obj/item/toy/figure/hop
+ name = "Head of Personel action figure"
+ desc = "A \"Space Life\" brand Head of Personel action figure."
+ icon_state = "hop"
+
+/obj/item/toy/figure/hos
+ name = "Head of Security action figure"
+ desc = "A \"Space Life\" brand Head of Security action figure."
+ icon_state = "hos"
+
+/obj/item/toy/figure/qm
+ name = "Quartermaster action figure"
+ desc = "A \"Space Life\" brand Quartermaster action figure."
+ icon_state = "qm"
+
+/obj/item/toy/figure/janitor
+ name = "Janitor action figure"
+ desc = "A \"Space Life\" brand Janitor action figure."
+ icon_state = "janitor"
+
+/obj/item/toy/figure/agent
+ name = "Internal Affairs Agent action figure"
+ desc = "A \"Space Life\" brand Internal Affairs Agent action figure."
+ icon_state = "agent"
+
+/obj/item/toy/figure/librarian
+ name = "Librarian action figure"
+ desc = "A \"Space Life\" brand Librarian action figure."
+ icon_state = "librarian"
+
+/obj/item/toy/figure/md
+ name = "Medical Doctor action figure"
+ desc = "A \"Space Life\" brand Medical Doctor action figure."
+ icon_state = "md"
+
+/obj/item/toy/figure/mime
+ name = "Mime action figure"
+ desc = "A \"Space Life\" brand Mime action figure."
+ icon_state = "mime"
+
+/obj/item/toy/figure/miner
+ name = "Shaft Miner action figure"
+ desc = "A \"Space Life\" brand Shaft Miner action figure."
+ icon_state = "miner"
+
+/obj/item/toy/figure/ninja
+ name = "Space Ninja action figure"
+ desc = "A \"Space Life\" brand Space Ninja action figure."
+ icon_state = "ninja"
+
+/obj/item/toy/figure/wizard
+ name = "Wizard action figure"
+ desc = "A \"Space Life\" brand Wizard action figure."
+ icon_state = "wizard"
+
+/obj/item/toy/figure/rd
+ name = "Research Director action figure"
+ desc = "A \"Space Life\" brand Research Director action figure."
+ icon_state = "rd"
+
+/obj/item/toy/figure/roboticist
+ name = "Roboticist action figure"
+ desc = "A \"Space Life\" brand Roboticist action figure."
+ icon_state = "roboticist"
+
+/obj/item/toy/figure/scientist
+ name = "Scientist action figure"
+ desc = "A \"Space Life\" brand Scientist action figure."
+ icon_state = "scientist"
+
+/obj/item/toy/figure/syndie
+ name = "Doom Operative action figure"
+ desc = "A \"Space Life\" brand Doom Operative action figure."
+ icon_state = "syndie"
+
+/obj/item/toy/figure/secofficer
+ name = "Security Officer action figure"
+ desc = "A \"Space Life\" brand Security Officer action figure."
+ icon_state = "secofficer"
+
+/obj/item/toy/figure/warden
+ name = "Warden action figure"
+ desc = "A \"Space Life\" brand Warden action figure."
+ icon_state = "warden"
+
+/obj/item/toy/figure/psychologist
+ name = "Psychologist action figure"
+ desc = "A \"Space Life\" brand Psychologist action figure."
+ icon_state = "psychologist"
+
+/obj/item/toy/figure/paramedic
+ name = "Paramedic action figure"
+ desc = "A \"Space Life\" brand Paramedic action figure."
+ icon_state = "paramedic"
+
+/obj/item/toy/figure/ert
+ name = "Emergency Response Team Commander action figure"
+ desc = "A \"Space Life\" brand Emergency Response Team Commander action figure."
+ icon_state = "ert"
+
/obj/item/toy/katana
name = "replica katana"
desc = "Woefully underpowered in D20."
@@ -656,6 +859,102 @@
item_state = "egg3" // It's the green egg in items_left/righthand
w_class = 1
+/*
+ * Plushies
+ */
+
+//Large plushies.
+/obj/structure/plushie
+ name = "generic large plushie"
+ desc = "A very generic plushie. It seems to not want to exist."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "ianplushie"
+ anchored = 0
+ density = 1
+ var/phrase = "I don't want to exist anymore!"
+
+/obj/structure/plushie/attack_hand(mob/user)
+ if(user.a_intent == "help")
+ user.visible_message("[user] hugs [src]!","You hug [src]!")
+ else if (user.a_intent == "hurt")
+ user.visible_message("[user] punches [src]!","You punch [src]!")
+ else if (user.a_intent == "grab")
+ user.visible_message("[user] attempts to strangle [src]!","You attempt to strangle [src]!")
+ else
+ user.visible_message("[user] pokes the [src].","You poke the [src].")
+ visible_message("[src] says, \"[phrase]\"")
+
+/obj/structure/plushie/ian
+ name = "plushie corgi"
+ desc = "A plushie of an adorable corgi! Don't you just want to hug it and squeeze it and call it \"Ian\"?"
+ icon_state = "ianplushie"
+ phrase = "Arf!"
+
+/obj/structure/plushie/drone
+ name = "plushie drone"
+ desc = "A plushie of a happy drone! It appears to be smiling, and has a small tag which reads \"N.D.V. Icarus Gift Shop\"."
+ icon_state = "droneplushie"
+ phrase = "Beep boop!"
+
+/obj/structure/plushie/carp
+ name = "plushie carp"
+ desc = "A plushie of an elated carp! Straight from the wilds of the Nyx frontier, now right here in your hands."
+ icon_state = "carpplushie"
+ phrase = "Glorf!"
+
+/obj/structure/plushie/beepsky
+ name = "plushie Officer Sweepsky"
+ desc = "A plushie of a popular industrious cleaning robot! If it could feel emotions, it would love you."
+ icon_state = "beepskyplushie"
+ phrase = "Ping!"
+
+//Small plushies.
+/obj/item/toy/plushie
+ name = "generic small plushie"
+ desc = "A very generic small plushie. It seems to not want to exist."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "nymphplushie"
+ var/phrase = "Please, end my existance! I beg you!"
+
+/obj/item/toy/plushie/attack_self(mob/user as mob)
+ if(user.a_intent == "help")
+ user.visible_message("[user] hugs [src]!","You hug [src]!")
+ else if (user.a_intent == "hurt")
+ user.visible_message("[user] punches [src]!","You punch [src]!")
+ else if (user.a_intent == "grab")
+ user.visible_message("[user] attempts to strangle [src]!","You attempt to strangle [src]!")
+ else
+ user.visible_message("[user] pokes the [src].","You poke the [src].")
+
+/obj/item/toy/plushie/nymph
+ name = "diona nymph plushie"
+ desc = "A plushie of an adorable diona nymph! While it's level of self-awareness is still being debated, it's level of cuteness is not."
+ icon_state = "nymphplushie"
+
+/obj/item/toy/plushie/mouse
+ name = "mouse plushie"
+ desc = "A plushie of a delightful mouse! What was once considered a vile rodent is now your very best friend."
+ icon_state = "mouseplushie"
+
+/obj/item/toy/plushie/kitten
+ name = "kitten plushie"
+ desc = "A plushie of a cute kitten! Watch as it purrs it's way right into your heart."
+ icon_state = "kittenplushie"
+
+/obj/item/toy/plushie/lizard
+ name = "lizard plushie"
+ desc = "A plushie of a scaly lizard! Very controversial, after being accused as \"racist\" by some Unathi."
+ icon_state = "lizardplushie"
+
+//Toy cult sword
+/obj/item/toy/cultsword
+ name = "foam sword"
+ desc = "An arcane weapon (made of foam) wielded by the followers of the hit Saturday morning cartoon \"King Nursee and the Acolytes of Heroism\"."
+ icon = 'icons/obj/weapons.dmi'
+ icon_state = "cultblade"
+ item_state = "cultblade"
+ w_class = 4
+ attack_verb = list("attacked", "slashed", "stabbed", "poked")
/* NYET.
/obj/item/weapon/toddler
diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm
index d62d1d1a54..4c7a3ecb41 100644
--- a/code/game/objects/random/random.dm
+++ b/code/game/objects/random/random.dm
@@ -113,3 +113,63 @@
prob(2);/obj/item/weapon/storage/belt/utility,\
prob(5);/obj/random/tool,\
prob(2);/obj/item/weapon/tape_roll)
+
+/obj/random/action_figure
+ name = "random action figure"
+ desc = "This is a random action figure."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "assistant"
+ item_to_spawn()
+ return pick(/obj/item/toy/figure/cmo,\
+ /obj/item/toy/figure/assistant,\
+ /obj/item/toy/figure/atmos,\
+ /obj/item/toy/figure/bartender,\
+ /obj/item/toy/figure/borg,\
+ /obj/item/toy/figure/gardener,\
+ /obj/item/toy/figure/captain,\
+ /obj/item/toy/figure/cargotech,\
+ /obj/item/toy/figure/ce,\
+ /obj/item/toy/figure/chaplain,\
+ /obj/item/toy/figure/chef,\
+ /obj/item/toy/figure/chemist,\
+ /obj/item/toy/figure/clown,\
+ /obj/item/toy/figure/corgi,\
+ /obj/item/toy/figure/detective,\
+ /obj/item/toy/figure/dsquad,\
+ /obj/item/toy/figure/engineer,\
+ /obj/item/toy/figure/geneticist,\
+ /obj/item/toy/figure/hop,\
+ /obj/item/toy/figure/hos,\
+ /obj/item/toy/figure/qm,\
+ /obj/item/toy/figure/janitor,\
+ /obj/item/toy/figure/agent,\
+ /obj/item/toy/figure/librarian,\
+ /obj/item/toy/figure/md,\
+ /obj/item/toy/figure/mime,\
+ /obj/item/toy/figure/miner,\
+ /obj/item/toy/figure/ninja,\
+ /obj/item/toy/figure/wizard,\
+ /obj/item/toy/figure/rd,\
+ /obj/item/toy/figure/roboticist,\
+ /obj/item/toy/figure/scientist,\
+ /obj/item/toy/figure/syndie,\
+ /obj/item/toy/figure/secofficer,\
+ /obj/item/toy/figure/warden,\
+ /obj/item/toy/figure/psychologist,\
+ /obj/item/toy/figure/paramedic,\
+ /obj/item/toy/figure/ert)
+
+/obj/random/plushie
+ name = "random plushie"
+ desc = "This is a random plushie."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "nymphplushie"
+ item_to_spawn()
+ return pick(/obj/structure/plushie/ian,\
+ /obj/structure/plushie/drone,\
+ /obj/structure/plushie/carp,\
+ /obj/structure/plushie/beepsky,\
+ /obj/item/toy/plushie/nymph,\
+ /obj/item/toy/plushie/mouse,\
+ /obj/item/toy/plushie/kitten,\
+ /obj/item/toy/plushie/lizard)
\ No newline at end of file
diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi
index 5f52d20fcc..043a93c6a4 100644
Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ