mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 23:27:34 +01:00
[MIRROR] adds sheep [MDB IGNORE] (#15826)
* adds sheep (#69318) * adds funny sheep (need non-placeholder sprites still) * indent this * code suggestions * components all the way down * async * sprites + reference * think i did this right * Update code/datums/components/mob_harvest.dm Co-authored-by: san7890 <the@ san7890.com> * steal shiz's suggestion pt1 Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com> * steal's shiz's suggestion pt2 Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com> * steal's shiz's suggestion pt3 Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com> Co-authored-by: san7890 <the@ san7890.com> * adds sheep Co-authored-by: MMMiracles <lolaccount1@hotmail.com> Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com> Co-authored-by: san7890 <the@ san7890.com>
This commit is contained in:
co-authored by
san7890
ShizCalev
MMMiracles
parent
6e2670c692
commit
815644afb7
@@ -0,0 +1,77 @@
|
||||
/mob/living/basic/sheep
|
||||
name = "sheep"
|
||||
desc = "Known for their soft wool and use in sacrifical rituals. Big fan of grass."
|
||||
icon = 'icons/mob/sheep.dmi'
|
||||
icon_state = "sheep"
|
||||
icon_dead = "sheep_dead"
|
||||
gender = FEMALE
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak_emote = list("baas","bleats")
|
||||
speed = 1.1
|
||||
see_in_dark = 6
|
||||
butcher_results = list(/obj/item/food/meat/slab = 3)
|
||||
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/weapons/punch1.ogg'
|
||||
attack_vis_effect = ATTACK_EFFECT_KICK
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
blood_volume = BLOOD_VOLUME_NORMAL
|
||||
ai_controller = /datum/ai_controller/basic_controller/sheep
|
||||
var/cult_converted //were we sacrificed by cultists?
|
||||
|
||||
/mob/living/basic/sheep/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/mob_harvest, /obj/item/razor, /obj/item/food/grown/grass, /obj/item/stack/sheet/cotton/wool, "soft wool", 10, 3 MINUTES, 30 SECONDS, 5 SECONDS)
|
||||
RegisterSignal(src, COMSIG_LIVING_HARVEST_UPDATE, .proc/update_harvest_icon)
|
||||
update_appearance(UPDATE_ICON)
|
||||
|
||||
/mob/living/basic/sheep/proc/update_harvest_icon()
|
||||
SIGNAL_HANDLER
|
||||
update_appearance(UPDATE_ICON)
|
||||
|
||||
/mob/living/basic/sheep/update_icon_state()
|
||||
. = ..()
|
||||
var/datum/component/mob_harvest/harvest_comp = GetComponent(/datum/component/mob_harvest)
|
||||
icon_state = "[initial(icon_state)][harvest_comp.amount_ready < 1 ? "_harvested" : null]"
|
||||
|
||||
/mob/living/basic/sheep/update_overlays()
|
||||
. = ..()
|
||||
if(stat == DEAD)
|
||||
return
|
||||
if(cult_converted)
|
||||
. += "hat"
|
||||
|
||||
/mob/living/basic/sheep/proc/cult_time()
|
||||
if(cult_converted)
|
||||
return
|
||||
cult_converted = TRUE
|
||||
say("BAAAAAAAAH!")
|
||||
update_appearance(UPDATE_ICON)
|
||||
|
||||
/mob/living/basic/sheep/vv_edit_var(vname, vval)
|
||||
if(vname == NAMEOF(src, cult_converted))
|
||||
if(vval == cult_converted)
|
||||
return FALSE
|
||||
if(vval)
|
||||
cult_time()
|
||||
..()
|
||||
if(!cult_converted)
|
||||
update_appearance(UPDATE_ICON)
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
/datum/ai_controller/basic_controller/sheep
|
||||
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/random_speech/sheep
|
||||
)
|
||||
Reference in New Issue
Block a user