Files
Bubberstation/code/modules/mob/living/simple_animal/friendly/mouse.dm
2015-10-17 14:28:33 +01:00

107 lines
2.9 KiB
Plaintext

/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("Squeek!","SQUEEK!","Squeek?")
speak_emote = list("squeeks")
emote_hear = list("squeeks.")
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/weapon/reagent_containers/food/snacks/meat/slab = 1)
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "splats"
density = 0
ventcrawler = 2
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
mob_size = MOB_SIZE_TINY
var/body_color //brown, gray and white, leave blank for random
gold_core_spawnable = 2
var/chew_probability = 1
/mob/living/simple_animal/mouse/New()
..()
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)
var/obj/item/trash/deadmouse/M = new(src.loc)
M.icon_state = icon_dead
if(toast)
M.color = "#3A3A3A"
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
M << "<span class='notice'>\icon[src] Squeek!</span>"
playsound(src, 'sound/effects/mousesqueek.ogg', 100, 1)
..()
/mob/living/simple_animal/mouse/handle_automated_action()
if(prob(chew_probability))
var/turf/simulated/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("<span class='warning'>[src] chews through the [C]. It's toast!</span>")
playsound(src, 'sound/effects/sparks2.ogg', 100, 1)
C.Deconstruct()
death(toast=1)
else
C.Deconstruct()
visible_message("<span class='warning'>[src] chews through the [C].</span>")
/*
* 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 = 0
/obj/item/trash/deadmouse
name = "dead mouse"
desc = "It looks like somebody dropped the bass on it."
icon = 'icons/mob/animal.dmi'
icon_state = "mouse_gray_dead"