Files
Bubberstation/code/modules/mob/living/basic/vermin/lizard.dm
Ben10Omintrix e8259f1819 improve find_and_set/in_list behavior (#79614)
## About The Pull Request
improves the find_and_set behavior a bit. this is after and before
observing 5 gorillas for 10 minutes

![image](https://github.com/tgstation/tgstation/assets/138636438/d8f5cdcb-71bd-41bd-a069-10b0367224ec)

![image](https://github.com/tgstation/tgstation/assets/138636438/1fd70fea-5769-4021-95ec-038137ce7423)



## Why It's Good For The Game
improves the find_and_set/in_list behavior

## Changelog
🆑
not player facing
/🆑
2023-11-13 18:05:58 -07:00

91 lines
2.9 KiB
Plaintext

/*
* ## Lizards
*
* Green things that crawl around and eat bugs. Not to be confused with the human species lizardpersons, these are just small little fellas.
*/
/mob/living/basic/lizard
name = "Lizard"
desc = "A cute tiny lizard."
icon_state = "lizard"
icon_living = "lizard"
icon_dead = "lizard_dead"
icon_gib = "lizard_gib"
speak_emote = list("hisses")
health = 10
maxHealth = 10
faction = list(FACTION_LIZARD)
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
melee_damage_lower = 1
melee_damage_upper = 2
response_help_continuous = "pets"
response_help_simple = "pet"
response_disarm_continuous = "shoos"
response_disarm_simple = "shoo"
response_harm_continuous = "stomps on"
response_harm_simple = "stomp on"
density = FALSE
pass_flags = PASSTABLE | PASSMOB
mob_size = MOB_SIZE_SMALL
mob_biotypes = MOB_ORGANIC|MOB_BEAST|MOB_REPTILE
gold_core_spawnable = FRIENDLY_SPAWN
obj_damage = 0
environment_smash = ENVIRONMENT_SMASH_NONE
can_be_held = TRUE
held_w_class = WEIGHT_CLASS_TINY
held_lh = 'icons/mob/inhands/animal_item_lefthand.dmi'
held_rh = 'icons/mob/inhands/animal_item_righthand.dmi'
worn_slot_flags = ITEM_SLOT_HEAD
head_icon = 'icons/mob/clothing/head/pets_head.dmi'
ai_controller = /datum/ai_controller/basic_controller/lizard
/// Typecache of things that we seek out to eat. Yummy.
var/static/list/edibles = typecacheof(list(
/mob/living/basic/butterfly,
/mob/living/basic/cockroach,
))
/mob/living/basic/lizard/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
AddElement(/datum/element/pet_bonus, "sticks its tongue out contentedly!")
AddElement(/datum/element/basic_eating, heal_amt = 5, food_types = edibles)
ai_controller.set_blackboard_key(BB_BASIC_FOODS, typecacheof(edibles))
/datum/ai_controller/basic_controller/lizard
blackboard = list(
BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
)
ai_traits = STOP_MOVING_WHEN_PULLED
ai_movement = /datum/ai_movement/basic_avoidance
idle_behavior = /datum/idle_behavior/idle_random_walk
planning_subtrees = list(
/datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/basic_melee_attack_subtree,
/datum/ai_planning_subtree/random_speech/lizard,
)
//Subtypes of lizards follow.
/// Lizards that can survive in space.
/mob/living/basic/lizard/space
name = "Space Lizard"
desc = "A cute tiny lizard with a tiny space helmet."
icon_state = "lizard_space"
icon_living = "lizard_space"
unsuitable_atmos_damage = 0
minimum_survivable_temperature = TCMB
maximum_survivable_temperature = T0C + 40
/// Janitor's pet lizard.
/mob/living/basic/lizard/wags_his_tail
name = "Wags-His-Tail"
desc = "The janitorial department's trusty pet lizard."
/// Another pet lizard for the janitor.
/mob/living/basic/lizard/eats_the_roaches
name = "Eats-The-Roaches"
desc = "The janitorial department's less trusty pet lizard."