/obj/item/toy/plush name = "plush" desc = "This is the special coder plush, do not steal." icon = 'icons/obj/plushes.dmi' icon_state = "debug" attack_verb = list("thumped", "whomped", "bumped") w_class = WEIGHT_CLASS_SMALL resistance_flags = FLAMMABLE var/list/squeak_override //Weighted list; If you want your plush to have different squeak sounds use this var/stuffed = TRUE //If the plushie has stuffing in it var/obj/item/grenade/grenade //You can remove the stuffing from a plushie and add a grenade to it for *nefarious uses* /obj/item/toy/plush/Initialize() . = ..() AddComponent(/datum/component/squeak, squeak_override) /obj/item/toy/plush/Destroy() QDEL_NULL(grenade) return ..() /obj/item/toy/plush/handle_atom_del(atom/A) if(A == grenade) grenade = null ..() /obj/item/toy/plush/attack_self(mob/user) . = ..() if(stuffed || grenade) to_chat(user, "You pet [src]. D'awww.") if(grenade && !grenade.active) if(istype(grenade, /obj/item/grenade/chem_grenade)) var/obj/item/grenade/chem_grenade/G = grenade if(G.nadeassembly) //We're activated through different methods return log_game("[key_name(user)] activated a hidden grenade in [src].") grenade.preprime(user, msg = FALSE, volume = 10) else to_chat(user, "You try to pet [src], but it has no stuffing. Aww...") /obj/item/toy/plush/attackby(obj/item/I, mob/living/user, params) if(I.is_sharp()) if(!grenade) if(!stuffed) to_chat(user, "You already murdered it!") return user.visible_message("[user] tears out the stuffing from [src]!", "You rip a bunch of the stuffing from [src]. Murderer.") playsound(I, I.usesound, 50, TRUE) stuffed = FALSE else to_chat(user, "You remove the grenade from [src].") user.put_in_hands(grenade) grenade = null return if(istype(I, /obj/item/grenade)) if(stuffed) to_chat(user, "You need to remove some stuffing first!") return if(grenade) to_chat(user, "[src] already has a grenade!") return if(!user.transferItemToLoc(I, src)) return user.visible_message("[user] slides [grenade] into [src].", \ "You slide [I] into [src].") grenade = I var/turf/T = get_turf(user) log_game("[key_name(user)] added a grenade ([I.name]) to [src] at [COORD(T)].") return return ..() /obj/item/toy/plush/carpplushie name = "space carp plushie" desc = "An adorable stuffed toy that resembles a space carp." icon_state = "carpplush" item_state = "carp_plushie" attack_verb = list("bitten", "eaten", "fin slapped") squeak_override = list('sound/weapons/bite.ogg'=1) /obj/item/toy/plush/bubbleplush name = "bubblegum plushie" desc = "The friendly red demon that gives good miners gifts." icon_state = "bubbleplush" attack_verb = list("rends") squeak_override = list('sound/magic/demon_attack1.ogg'=1) /obj/item/toy/plush/plushvar name = "ratvar plushie" desc = "An adorable plushie of the clockwork justiciar himself with new and improved spring arm action." icon_state = "plushvar" /obj/item/toy/plush/narplush name = "nar'sie plushie" desc = "A small stuffed doll of the elder god nar'sie. Who thought this was a good children's toy?" icon_state = "narplush" /obj/item/toy/plush/lizardplushie name = "lizard plushie" desc = "An adorable stuffed toy that resembles a lizardperson." icon_state = "plushie_lizard" item_state = "plushie_lizard" attack_verb = list("clawed", "hissed", "tail slapped") squeak_override = list('sound/weapons/slash.ogg' = 1) /obj/item/toy/plush/snakeplushie name = "snake plushie" desc = "An adorable stuffed toy that resembles a snake. Not to be mistaken for the real thing." icon_state = "plushie_snake" item_state = "plushie_snake" attack_verb = list("bitten", "hissed", "tail slapped") squeak_override = list('sound/weapons/bite.ogg' = 1) /obj/item/toy/plush/nukeplushie name = "operative plushie" desc = "An stuffed toy that resembles a syndicate nuclear operative. The tag claims operatives to be purely fictitious." icon_state = "plushie_nuke" item_state = "plushie_nuke" attack_verb = list("shot", "nuked", "detonated") squeak_override = list('sound/effects/hit_punch.ogg' = 1) /obj/item/toy/plush/slimeplushie name = "slime plushie" desc = "An adorable stuffed toy that resembles a slime. It is practically just a hacky sack." icon_state = "plushie_slime" item_state = "plushie_slime" attack_verb = list("blorbled", "slimed", "absorbed") squeak_override = list('sound/effects/blobattack.ogg' = 1)