diff --git a/modular_zubbers/code/game/objects/items/plushes.dm b/modular_zubbers/code/game/objects/items/plushes.dm index b12275b9d06..c6c41feb7a8 100644 --- a/modular_zubbers/code/game/objects/items/plushes.dm +++ b/modular_zubbers/code/game/objects/items/plushes.dm @@ -317,3 +317,62 @@ icon = 'modular_zubbers/icons/obj/toys/plushes.dmi' icon_state = "tian_plush" squeak_override = list('modular_skyrat/modules/emotes/sound/voice/baa.ogg' = 1) + +/obj/item/toy/plush/goatplushie + name = "strange goat plushie" + icon = 'modular_zubbers/icons/obj/toys/plushes.dmi' + icon_state = "goat" + desc = "Despite its cuddly appearance and plush nature, it will beat you up all the same. Goats never change." + squeak_override = list('sound/items/weapons/punch1.ogg'=1) + /// Whether or not this goat is currently taking in a monsterous doink + var/going_hard = FALSE + /// Whether or not this goat has been flattened like a funny pancake + var/splat = FALSE + +/obj/item/toy/plush/goatplushie/Initialize(mapload) + . = ..() + var/static/list/loc_connections = list( + COMSIG_TURF_INDUSTRIAL_LIFT_ENTER = PROC_REF(splat), + ) + AddElement(/datum/element/connect_loc, loc_connections) + +/obj/item/toy/plush/goatplushie/attackby(obj/item/cigarette/rollie/fat_dart, mob/user, list/modifiers, list/attack_modifiers) + if(!istype(fat_dart)) + return ..() + if(splat) + to_chat(user, span_notice("[src] doesn't seem to be able to go hard right now.")) + return + if(going_hard) + to_chat(user, span_notice("[src] is already going too hard!")) + return + if(!fat_dart.lit) + to_chat(user, span_notice("You'll have to light that first!")) + return + to_chat(user, span_notice("You put [fat_dart] into [src]'s mouth.")) + qdel(fat_dart) + going_hard = TRUE + update_icon(UPDATE_OVERLAYS) + +/obj/item/toy/plush/goatplushie/proc/splat(datum/source) + SIGNAL_HANDLER + if(splat) + return + if(going_hard) + going_hard = FALSE + update_icon(UPDATE_OVERLAYS) + icon_state = "goat_splat" + playsound(src, SFX_DESECRATION, 50, TRUE) + visible_message(span_danger("[src] gets absolutely flattened!")) + splat = TRUE + +/obj/item/toy/plush/goatplushie/examine() + . = ..() + if(splat) + . += span_notice("[src] might need medical attention.") + if(going_hard) + . += span_notice("[src] is going so hard, feel free to take a picture.") + +/obj/item/toy/plush/goatplushie/update_overlays() + . = ..() + if(going_hard) + . += "goat_dart" diff --git a/modular_zubbers/code/modules/arcades/code/loot/arcade_weights_toy.dm b/modular_zubbers/code/modules/arcades/code/loot/arcade_weights_toy.dm index 135247e90b3..5c168660006 100644 --- a/modular_zubbers/code/modules/arcades/code/loot/arcade_weights_toy.dm +++ b/modular_zubbers/code/modules/arcades/code/loot/arcade_weights_toy.dm @@ -68,5 +68,6 @@ GLOBAL_LIST_INIT(arcade_prize_pool_toy, list( /obj/item/stamp/cat = 5, /obj/item/storage/belt/champion = 5, /obj/item/storage/box/party_poppers = 50, - /obj/item/surprise_egg = 100 + /obj/item/surprise_egg = 100, + /obj/item/toy/plush/goatplushie = 2, )) diff --git a/modular_zubbers/code/modules/loadout/categories/toys.dm b/modular_zubbers/code/modules/loadout/categories/toys.dm index 4718d9d92be..fe834221091 100644 --- a/modular_zubbers/code/modules/loadout/categories/toys.dm +++ b/modular_zubbers/code/modules/loadout/categories/toys.dm @@ -91,6 +91,10 @@ name = "Intern Ghoul Plushie" item_path = /obj/item/toy/plush/ghoul +/datum/loadout_item/toys/goat + name = "Strange Goat Plushie" + item_path = /obj/item/toy/plush/goatplushie + /datum/loadout_item/toys/mold_kobold name = "Hemophage Awareness Kobold" item_path = /obj/item/toy/plush/mold_kobold diff --git a/modular_zubbers/code/modules/vending/games.dm b/modular_zubbers/code/modules/vending/games.dm index c07e52c8b6e..8a3f8331e44 100644 --- a/modular_zubbers/code/modules/vending/games.dm +++ b/modular_zubbers/code/modules/vending/games.dm @@ -24,6 +24,7 @@ /obj/item/toy/plush/skyrat/plushie_elofy = 3, /obj/item/toy/plush/skyrat/plushie_syntax1112 = 3, /obj/item/toy/plush/moth/lovers = 3, + /obj/item/toy/plush/goatplushie = 3, /obj/item/toy/plush/chirp_plush = 3, /obj/item/toy/plush/bigdeer = 3, /obj/item/toy/plush/bubbledragon = 3, diff --git a/modular_zubbers/icons/obj/toys/plushes.dmi b/modular_zubbers/icons/obj/toys/plushes.dmi index 4c2aacc1e00..14d1ebde9eb 100644 Binary files a/modular_zubbers/icons/obj/toys/plushes.dmi and b/modular_zubbers/icons/obj/toys/plushes.dmi differ