mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
74 lines
2.4 KiB
Plaintext
74 lines
2.4 KiB
Plaintext
//pig
|
|
/mob/living/basic/pig
|
|
name = "pig"
|
|
desc = "A fat pig."
|
|
icon_state = "pig"
|
|
icon_living = "pig"
|
|
icon_dead = "pig_dead"
|
|
icon_gib = "pig_gib"
|
|
gender = MALE
|
|
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
|
speak_emote = list("oinks","squees")
|
|
butcher_results = list(/obj/item/food/meat/slab/pig = 6)
|
|
response_help_continuous = "pets"
|
|
response_help_simple = "pet"
|
|
response_disarm_continuous = "gently pushes aside"
|
|
response_disarm_simple = "gently push aside"
|
|
response_harm_continuous = "kicks"
|
|
response_harm_simple = "kick"
|
|
attack_verb_continuous = "kicks"
|
|
attack_verb_simple = "kick"
|
|
attack_sound = 'sound/items/weapons/punch1.ogg'
|
|
attack_vis_effect = ATTACK_EFFECT_KICK
|
|
melee_damage_lower = 1
|
|
melee_damage_upper = 2
|
|
health = 50
|
|
maxHealth = 50
|
|
gold_core_spawnable = FRIENDLY_SPAWN
|
|
blood_volume = BLOOD_VOLUME_NORMAL
|
|
ai_controller = /datum/ai_controller/basic_controller/pig
|
|
|
|
/datum/emote/pig
|
|
mob_type_allowed_typecache = /mob/living/basic/pig
|
|
mob_type_blacklist_typecache = list()
|
|
|
|
/datum/emote/pig/oink
|
|
key = "oink"
|
|
key_third_person = "oinks"
|
|
message = "oinks!"
|
|
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
|
|
vary = TRUE
|
|
sound = SFX_PIG_OINK
|
|
/mob/living/basic/pig/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/pet_bonus, "oink")
|
|
AddElement(/datum/element/ai_retaliate)
|
|
AddElement(/datum/element/ai_flee_while_injured)
|
|
make_tameable()
|
|
|
|
///wrapper for the tameable component addition so you can have non tamable cow subtypes
|
|
/mob/living/basic/pig/proc/make_tameable()
|
|
var/list/food_types = string_list(list(/obj/item/food/grown/carrot))
|
|
AddComponent(/datum/component/tameable, food_types = food_types, tame_chance = 25, bonus_tame_chance = 15)
|
|
|
|
/mob/living/basic/pig/tamed(mob/living/tamer, atom/food)
|
|
AddElement(/datum/element/ridable, /datum/component/riding/creature/pig)
|
|
visible_message(span_notice("[src] snorts respectfully."))
|
|
|
|
/datum/ai_controller/basic_controller/pig
|
|
blackboard = list(
|
|
BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
|
|
)
|
|
|
|
ai_traits = PASSIVE_AI_FLAGS
|
|
ai_movement = /datum/ai_movement/basic_avoidance
|
|
idle_behavior = /datum/idle_behavior/idle_random_walk
|
|
|
|
planning_subtrees = list(
|
|
/datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee,
|
|
/datum/ai_planning_subtree/flee_target,
|
|
/datum/ai_planning_subtree/target_retaliate,
|
|
/datum/ai_planning_subtree/basic_melee_attack_subtree,
|
|
/datum/ai_planning_subtree/random_speech/pig,
|
|
)
|