/mob/living/simple_animal/mouse name = "mouse" desc = "It's a nasty, ugly, evil, disease-ridden rodent." icon_state = "mouse_gray" icon_living = "mouse_gray" icon_dead = "mouse_gray_dead" speak = list("Squeak!","SQUEAK!","Squeak?") speak_emote = list("squeaks") emote_hear = list("squeaks.") emote_see = list("runs in a circle.", "shakes.") speak_chance = 1 turns_per_move = 5 see_in_dark = 6 maxHealth = 5 health = 5 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 1) response_help = "pets" response_disarm = "gently pushes aside" response_harm = "splats" density = FALSE ventcrawler = VENTCRAWLER_ALWAYS pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) var/body_color //brown, gray and white, leave blank for random gold_core_spawnable = FRIENDLY_SPAWN var/chew_probability = 1 /mob/living/simple_animal/mouse/Initialize() . = ..() AddComponent(/datum/component/squeak, list('sound/effects/mousesqueek.ogg'=1), 100) if(!body_color) body_color = pick( list("brown","gray","white") ) icon_state = "mouse_[body_color]" icon_living = "mouse_[body_color]" icon_dead = "mouse_[body_color]_dead" /mob/living/simple_animal/mouse/proc/splat() src.health = 0 src.icon_dead = "mouse_[body_color]_splat" death() /mob/living/simple_animal/mouse/death(gibbed, toast) if(!ckey) ..(1) if(!gibbed) var/obj/item/reagent_containers/food/snacks/deadmouse/M = new(loc) M.icon_state = icon_dead M.name = name if(toast) M.add_atom_colour("#3A3A3A", FIXED_COLOUR_PRIORITY) M.desc = "It's toast." qdel(src) else ..(gibbed) /mob/living/simple_animal/mouse/Crossed(AM as mob|obj) if( ishuman(AM) ) if(!stat) var/mob/M = AM to_chat(M, "[icon2html(src, M)] Squeak!") ..() /mob/living/simple_animal/mouse/handle_automated_action() if(isbelly(loc)) return if(prob(chew_probability)) var/turf/open/floor/F = get_turf(src) if(istype(F) && !F.intact) var/obj/structure/cable/C = locate() in F if(C && prob(15)) if(C.avail()) visible_message("[src] chews through the [C]. It's toast!") playsound(src, 'sound/effects/sparks2.ogg', 100, 1) C.deconstruct() death(toast=1) else C.deconstruct() visible_message("[src] chews through the [C].") /* * Mouse types */ /mob/living/simple_animal/mouse/white body_color = "white" icon_state = "mouse_white" /mob/living/simple_animal/mouse/gray body_color = "gray" icon_state = "mouse_gray" /mob/living/simple_animal/mouse/brown body_color = "brown" icon_state = "mouse_brown" //TOM IS ALIVE! SQUEEEEEEEE~K :) /mob/living/simple_animal/mouse/brown/Tom name = "Tom" desc = "Jerry the cat is not amused." response_help = "pets" response_disarm = "gently pushes aside" response_harm = "splats" gold_core_spawnable = NO_SPAWN /obj/item/reagent_containers/food/snacks/deadmouse name = "dead mouse" desc = "It looks like somebody dropped the bass on it. A lizard's favorite meal." icon = 'icons/mob/animal.dmi' icon_state = "mouse_gray_dead" bitesize = 3 eatverb = "devour" list_reagents = list("nutriment" = 3, "vitamin" = 2) foodtype = GROSS | MEAT | RAW grind_results = list("blood" = 20, "liquidgibs" = 5) /obj/item/reagent_containers/food/snacks/deadmouse/on_grind() reagents.clear_reagents()