//i hate these fucking goats but i can't murder them, for i know they will haunt me in my sleep if i do so. so i nerf them instead. /obj/item/toy/plush/goatplushie name = "strange goat plushie" icon = 'sandcode/icons/obj/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('sandcode/sound/items/goatsound.ogg'=1) /obj/item/toy/plush/goatplushie/angry icon = 'sandcode/icons/obj/plushes.dmi' var/mob/living/carbon/target throwforce = 5 var/cooldown = 0 var/cooldown_modifier = 20 /obj/item/toy/plush/goatplushie/angry/Initialize() . = ..() START_PROCESSING(SSprocessing, src) /obj/item/toy/plush/goatplushie/angry/process() if (prob(25) && !target) var/list/targets_to_pick_from = list() for(var/mob/living/carbon/C in view(7, src)) if(considered_alive(C.mind) && !faction_check(list("goat"), C.faction, FALSE)) targets_to_pick_from += C if (!targets_to_pick_from.len) return target = pick(targets_to_pick_from) visible_message("[src] stares at [target].") if (world.time > cooldown && target) ram() /obj/item/toy/plush/goatplushie/angry/proc/ram() if(prob((obj_flags & EMAGGED) ? 98:90) && isturf(loc) && considered_alive(target.mind) && !faction_check(list("goat"), target.faction, FALSE)) throw_at(target, 10, 10) visible_message("[src] rams [target]!") cooldown = world.time + cooldown_modifier target = null visible_message("[src] looks disinterested.") /obj/item/toy/plush/goatplushie/angry/emag_act(mob/user) if (obj_flags&EMAGGED) visible_message("[src] already looks angry enough, you shouldn't anger it more.") return cooldown_modifier = cooldown_modifier/2 * 0.75 throwforce = 12.5 force = 10 obj_flags |= EMAGGED visible_message("[src] stares at [user] angrily before going docile.") /obj/item/toy/plush/goatplushie/angry/Destroy() STOP_PROCESSING(SSprocessing, src) return ..() /obj/item/toy/plush/goatplushie/angry/realgoat name = "goat plushie" icon = 'sandcode/icons/obj/plushes.dmi' icon_state = "realgoat" /obj/item/toy/plush/realgoat name = "goat plushie" icon = 'sandcode/icons/obj/plushes.dmi' desc = "Despite its cuddly appearance and plush nature, it will beat you up all the same... or at least it would if it wasn't a normal plushie." icon_state = "realgoat" squeak_override = list('sandcode/sound/items/goatsound.ogg'=1) /obj/item/toy/plush/goatplushie/angry/kinggoat name = "King Goat Plushie" desc = "A plushie depicting the king of all goats." icon = 'sandcode/icons/obj/plushes.dmi' icon_state = "kinggoat" throwforce = 8 force = 8 attack_verb = list("chomped") gender = MALE /obj/item/toy/plush/goatplushie/angry/kinggoat/ascendedkinggoat name = "Ascended King Goat Plushie" desc = "A plushie depicting the god of all goats." icon = 'sandcode/icons/obj/plushes.dmi' icon_state = "ascendedkinggoat" throwforce = 10 force = 10 var/divine = TRUE /obj/item/toy/plush/goatplushie/angry/kinggoat/ascendedkinggoat/attackby(obj/item/I,mob/living/user,params) if(I.get_sharpness()) user.visible_message("[user] attempts to destroy [src]!", "[I] bounces off [src]'s back before breaking into millions of pieces... [src] glares at [user]!") // You fucked up now son I.play_tool_sound(src) qdel(I) user.gib() /obj/item/toy/plush/goatplushie/angry/kinggoat/attackby(obj/item/I,mob/living/user,params) if(I.get_sharpness()) user.visible_message("[user] rips [src] to shreds!", "[src]'s death has attracted the attention of the king goat plushie guards!") I.play_tool_sound(src) qdel(src) var/turf/location = get_turf(user) new/obj/item/toy/plush/goatplushie/angry/guardgoat/masterguardgoat(location) new/obj/item/toy/plush/goatplushie/angry/guardgoat/masterguardgoat(location) new/obj/item/toy/plush/goatplushie/angry/guardgoat/masterguardgoat(location) new/obj/item/toy/plush/goatplushie/angry/guardgoat/masterguardgoat(location) new/obj/item/toy/plush/goatplushie/angry/guardgoat(location) new/obj/item/toy/plush/goatplushie/angry/guardgoat(location) new/obj/item/toy/plush/goatplushie/angry/guardgoat(location) new/obj/item/toy/plush/goatplushie/angry/guardgoat(location) new/obj/item/toy/plush/goatplushie/angry/guardgoat(location) new/obj/item/toy/plush/goatplushie/angry/guardgoat(location) new/obj/item/toy/plush/goatplushie/angry/guardgoat(location) new/obj/item/toy/plush/goatplushie/angry/guardgoat(location) if(istype(I, /obj/item/reagent_containers/food/snacks/grown/cabbage)) user.visible_message("[user] watches as [src] takes a bite out of the cabbage!", "[src]'s fur starts glowing. It seems they have ascended!") playsound(src, 'sound/items/eatfood.ogg', 50, 1) qdel(I) qdel(src) var/turf/location = get_turf(user) new/obj/item/toy/plush/goatplushie/angry/kinggoat/ascendedkinggoat(location) /obj/item/toy/plush/goatplushie/angry/guardgoat name = "guard goat plushie" desc = "A plushie depicting one of the King Goat's guards, tasked to protect the king at all costs." icon = 'sandcode/icons/obj/plushes.dmi' icon_state = "guardgoat" throwforce = 6 /obj/item/toy/plush/goatplushie/angry/guardgoat/masterguardgoat name = "royal guard goat plushie" desc = "A plushie depicting one of the royal King Goat's guards, tasked to protecting the king at all costs and training new goat guards." icon = 'sandcode/icons/obj/plushes.dmi' icon_state = "royalguardgoat" throwforce = 7