diff --git a/modular_zubbers/code/game/objects/items/plushes.dm b/modular_zubbers/code/game/objects/items/plushes.dm index aef1410059f..fad7a76b89c 100644 --- a/modular_zubbers/code/game/objects/items/plushes.dm +++ b/modular_zubbers/code/game/objects/items/plushes.dm @@ -763,3 +763,68 @@ var/datum/smite/bsa/bluespace_smite = new() bluespace_smite.effect(user.client, user) return BRUTELOSS + +//Sprite from SS14 Main. Sprited by Orsoniks (rivey0 on discord) +/obj/item/toy/plush/expie + name = "Experiment Plushie" + icon_state = "expie" + slot_flags = ITEM_SLOT_HEAD + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + worn_icon_state = "expie" + desc = "A plushie of a canid of sorts. It yearns to be detonated on a landmine." + icon = 'modular_zubbers/icons/obj/toys/plushes.dmi' + attack_verb_simple = list("bark", "growl", "whine") + squeak_override = list('modular_zubbers/sound/misc/plushie.ogg' = 1) + lefthand_file = 'modular_zubbers/icons/mob/inhands/items/plushes_lefthand.dmi' + righthand_file = 'modular_zubbers/icons/mob/inhands/items/plushes_righthand.dmi' + inhand_icon_state = "expie" + +/obj/item/toy/plush/expie/worn_overlays(mutable_appearance/standing, isinhands, icon_file) //emissive glow when worn on head. + . = ..() + if(!isinhands) + . += emissive_appearance(icon_file, "[icon_state]-emissive", src, alpha = src.alpha, effect_type = EMISSIVE_BLOOM) + +/obj/item/toy/plush/expie/item_interaction(mob/living/feeder, obj/item/reagent_containers/applicator/pill/enom, list/modifiers) + if(!istype(enom)) + return ..() + enom.forceMove(src) // pill go into the expie stummy + to_chat(feeder, span_notice("You feed the [enom] to [src] and watch as it eats...")) + playsound(src, 'modular_zubbers/sound/misc/eatcrunch.ogg', 75, TRUE) + addtimer(CALLBACK(src, PROC_REF(eat), feeder, enom), 3 SECONDS) + return ITEM_INTERACT_SUCCESS + +/obj/item/toy/plush/expie/proc/eat(mob/living/feeder, obj/item/reagent_containers/applicator/pill/enom) + if(istype(enom, /obj/item/reagent_containers/applicator/pill)) + SpinAnimation(speed = 0.3 SECONDS, loops = 3) + qdel(enom) + return + +//expie reacts to being splashed +/obj/item/toy/plush/expie/proc/splash_reagents() + SIGNAL_HANDLER + playsound(src, 'modular_zubbers/sound/misc/dogshake.ogg', 75) + spasm_animation(2 SECONDS) + visible_message(span_warning("[src] gets soaked and shakes itself off!")) + +/obj/item/toy/plush/expie/Initialize(mapload) + . = ..() + RegisterSignal(src, COMSIG_ATOM_SPLASHED, PROC_REF(splash_reagents)) + +/datum/reagent/consumable/milk/expose_obj(obj/exposed_obj, reac_volume, methods=TOUCH, show_message=TRUE) //spill milk on the expie to make it milky + . = ..() + if(!istype(exposed_obj, /obj/item/toy/plush/expie)) + return + + var/obj/item/toy/plush/expie/milked = exposed_obj + milked.name = /obj/item/toy/plush/expie/milky::name + milked.desc = /obj/item/toy/plush/expie/milky::desc + milked.worn_icon_state = /obj/item/toy/plush/expie/milky::worn_icon_state + milked.icon_state = /obj/item/toy/plush/expie/milky::icon_state + milked.inhand_icon_state = /obj/item/toy/plush/expie/milky::inhand_icon_state + +/obj/item/toy/plush/expie/milky + name = "Milky Plushie" + desc = "A plushie of snowy-white, furred canid. Maybe it'll trade something with you?" + worn_icon_state = "milky" + icon_state = "milky" + inhand_icon_state = "milky" diff --git a/modular_zubbers/code/modules/loadout/categories/toys.dm b/modular_zubbers/code/modules/loadout/categories/toys.dm index 3c09c38d03f..59b3907e29d 100644 --- a/modular_zubbers/code/modules/loadout/categories/toys.dm +++ b/modular_zubbers/code/modules/loadout/categories/toys.dm @@ -142,6 +142,14 @@ /datum/loadout_item/toys/plush/myrthel_plush name = "Extra Hot Moth Plush" item_path = /obj/item/toy/plush/myrthel_plush + +/datum/loadout_item/toys/plush/expie + name = "Experiment Plushie" + item_path = /obj/item/toy/plush/expie + +/datum/loadout_item/toys/plush/milky + name = "Milky Plushie" + item_path = /obj/item/toy/plush/expie/milky /* * SEX TOYS AND OTHER STUFF THAT NEEDS PREFS TO USE (otherwise fails to render on the character preview) */ diff --git a/modular_zubbers/code/modules/vending/games.dm b/modular_zubbers/code/modules/vending/games.dm index 7834ef5635d..f60ce7e2cd7 100644 --- a/modular_zubbers/code/modules/vending/games.dm +++ b/modular_zubbers/code/modules/vending/games.dm @@ -17,6 +17,8 @@ /obj/item/toy/plush/carpplushie = 3, /obj/item/toy/plush/cello_plush = 3, /obj/item/toy/plush/chirp_plush = 3, + /obj/item/toy/plush/expie = 3, + /obj/item/toy/plush/expie/milky = 3, /obj/item/toy/plush/goatplushie = 3, /obj/item/toy/plush/headcrab = 3, /obj/item/toy/plush/lizard_plushie = 3, diff --git a/modular_zubbers/icons/mob/clothing/head/hats.dmi b/modular_zubbers/icons/mob/clothing/head/hats.dmi index beac7c9038c..3132c691b66 100644 Binary files a/modular_zubbers/icons/mob/clothing/head/hats.dmi and b/modular_zubbers/icons/mob/clothing/head/hats.dmi differ diff --git a/modular_zubbers/icons/mob/inhands/items/plushes_lefthand.dmi b/modular_zubbers/icons/mob/inhands/items/plushes_lefthand.dmi index da01808e4cd..692b9c136b3 100644 Binary files a/modular_zubbers/icons/mob/inhands/items/plushes_lefthand.dmi and b/modular_zubbers/icons/mob/inhands/items/plushes_lefthand.dmi differ diff --git a/modular_zubbers/icons/mob/inhands/items/plushes_righthand.dmi b/modular_zubbers/icons/mob/inhands/items/plushes_righthand.dmi index 9fe4ddb0ce4..5c6048f28be 100644 Binary files a/modular_zubbers/icons/mob/inhands/items/plushes_righthand.dmi and b/modular_zubbers/icons/mob/inhands/items/plushes_righthand.dmi differ diff --git a/modular_zubbers/icons/obj/toys/plushes.dmi b/modular_zubbers/icons/obj/toys/plushes.dmi index f67bed831c8..0683d6c3684 100644 Binary files a/modular_zubbers/icons/obj/toys/plushes.dmi and b/modular_zubbers/icons/obj/toys/plushes.dmi differ diff --git a/modular_zubbers/sound/misc/dogshake.ogg b/modular_zubbers/sound/misc/dogshake.ogg new file mode 100644 index 00000000000..1ebaa6af635 Binary files /dev/null and b/modular_zubbers/sound/misc/dogshake.ogg differ diff --git a/modular_zubbers/sound/misc/eatcrunch.ogg b/modular_zubbers/sound/misc/eatcrunch.ogg new file mode 100644 index 00000000000..59c1d3e662e Binary files /dev/null and b/modular_zubbers/sound/misc/eatcrunch.ogg differ diff --git a/modular_zubbers/sound/misc/plushie.ogg b/modular_zubbers/sound/misc/plushie.ogg new file mode 100644 index 00000000000..7bd6939733e Binary files /dev/null and b/modular_zubbers/sound/misc/plushie.ogg differ