65 lines
2.5 KiB
Plaintext
65 lines
2.5 KiB
Plaintext
/mob/living/simple_animal/cockroach
|
|
name = "cockroach"
|
|
desc = "This station is just crawling with bugs."
|
|
icon_state = "cockroach"
|
|
icon_dead = "cockroach"
|
|
blood_volume = 50
|
|
health = 1
|
|
maxHealth = 1
|
|
turns_per_move = 5
|
|
loot = list(/obj/effect/decal/cleanable/insectguts)
|
|
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
|
minbodytemp = 270
|
|
maxbodytemp = INFINITY
|
|
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
|
|
mob_size = MOB_SIZE_TINY
|
|
mob_biotypes = MOB_ORGANIC|MOB_BUG
|
|
response_help_continuous = "pokes"
|
|
response_help_simple = "poke"
|
|
response_disarm_continuous = "shoos"
|
|
response_disarm_simple = "shoo"
|
|
response_harm_continuous = "splats"
|
|
response_harm_simple = "splat"
|
|
speak_emote = list("chitters")
|
|
density = FALSE
|
|
mob_size = MOB_SIZE_TINY
|
|
gold_core_spawnable = FRIENDLY_SPAWN
|
|
verb_say = "chitters"
|
|
verb_ask = "chitters inquisitively"
|
|
verb_exclaim = "chitters loudly"
|
|
verb_yell = "chitters loudly"
|
|
var/squish_chance = 50
|
|
del_on_death = 1
|
|
|
|
/mob/living/simple_animal/cockroach/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS)
|
|
|
|
/mob/living/simple_animal/cockroach/death(gibbed)
|
|
if(SSticker.mode && SSticker.mode.station_was_nuked) //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes.
|
|
return
|
|
..()
|
|
|
|
/mob/living/simple_animal/cockroach/Crossed(atom/movable/AM)
|
|
. = ..()
|
|
if(isliving(AM))
|
|
var/mob/living/A = AM
|
|
if(A.mob_size > MOB_SIZE_SMALL && !(A.movement_type & FLYING))
|
|
if(HAS_TRAIT(A, TRAIT_PACIFISM))
|
|
A.visible_message("<span class='notice'>[A] carefully steps over [src].</span>", "<span class='notice'>You carefully step over [src] to avoid hurting it.</span>")
|
|
return
|
|
if(prob(squish_chance))
|
|
A.visible_message("<span class='notice'>[A] squashed [src].</span>", "<span class='notice'>You squashed [src].</span>")
|
|
adjustBruteLoss(1) //kills a normal cockroach
|
|
else
|
|
visible_message("<span class='notice'>[src] avoids getting crushed.</span>")
|
|
else if(isstructure(AM))
|
|
if(prob(squish_chance))
|
|
AM.visible_message("<span class='notice'>[src] is crushed under [AM].</span>")
|
|
adjustBruteLoss(1)
|
|
else
|
|
visible_message("<span class='notice'>[src] avoids getting crushed.</span>")
|
|
|
|
/mob/living/simple_animal/cockroach/ex_act(severity, target, origin) //Explosions are a terrible way to handle a cockroach.
|
|
return
|