Skip to content

Commit

Permalink
Slugcats! (#1356)
Browse files Browse the repository at this point in the history
* Adds slugcats, a new simplemob!

* Fixes duplicate #include statements.

* Scug hands.

* tgstation.dme wants this order, apparently?

* Allows slugcats to come out of scrubber clogs (strange type.)

* Update tgstation.dme

---------

Co-authored-by: AberrantQuerist <[email protected]>
Co-authored-by: dwasint <[email protected]>
  • Loading branch information
3 people authored Mar 16, 2024
1 parent a35287b commit 7838036
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 0 deletions.
1 change: 1 addition & 0 deletions code/modules/events/scrubber_clog.dm
Original file line number Diff line number Diff line change
Expand Up @@ -216,5 +216,6 @@
/mob/living/basic/mushroom,
/mob/living/simple_animal/hostile/retaliate/goose, //Janitors HATE geese.
/mob/living/simple_animal/pet/gondola,
/mob/living/basic/slugcat //Monkestation edit. Let the slugs come out of the pipes!
)
return pick(mob_list)
70 changes: 70 additions & 0 deletions code/modules/mob/living/basic/space_fauna/slugcat/slugcat.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
/*
*
*Slugcats, a new vent critter.
*
*/

/mob/living/basic/slugcat
name = "slugcat"
desc = "A biologically engineered entity to clean pipes and relay information. It looks upon you with large, inquisitive eyes."
icon = 'icons/mob/simple/slugcats.dmi'
icon_state = "scug"
icon_living = "scug"
icon_dead = "scug_dead"
speak_emote = list("mews")
butcher_results = list(/obj/item/food/meat/slab = 2)
response_help_continuous = "pets"
response_help_simple = "pet"
response_disarm_continuous = "shoos"
response_disarm_simple = "shoo"
response_harm_continuous = "swats"
response_harm_simple = "swat"

gold_core_spawnable = FRIENDLY_SPAWN

health = 80
maxHealth = 80
melee_damage_lower = 5
melee_damage_upper = 5
obj_damage = 0
environment_smash = ENVIRONMENT_SMASH_NONE

attack_verb_continuous = "claws"
attack_verb_simple = "claw"
attack_sound = 'sound/weapons/pierce.ogg'

ai_controller = /datum/ai_controller/basic_controller/slugcat

///What fate (food) a slugcat?
var/static/list/edibles = list(
/mob/living/basic/mouse,
/obj/item/food/deadmouse,
/mob/living/basic/bat
)

/mob/living/basic/slugcat/Initialize(mapload)
. = ..()
AddElement(/datum/element/footstep, footstep_type = FOOTSTEP_MOB_CLAW)
AddElement(/datum/element/ai_retaliate)
AddElement(/datum/element/dextrous)
ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)

AddElement(/datum/element/basic_eating, heal_amt = 2, food_types = edibles)
ai_controller.set_blackboard_key(BB_BASIC_FOODS, edibles)


/datum/ai_controller/basic_controller/slugcat

blackboard = list(
BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
)

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/target_retaliate,
/datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/basic_melee_attack_subtree,
)
Binary file added icons/mob/simple/slugcats.dmi
Binary file not shown.
1 change: 1 addition & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -4386,6 +4386,7 @@
#include "code\modules\mob\living\basic\space_fauna\revenant\revenant_harvest.dm"
#include "code\modules\mob\living\basic\space_fauna\revenant\revenant_items.dm"
#include "code\modules\mob\living\basic\space_fauna\revenant\revenant_objectives.dm"
#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm"
#include "code\modules\mob\living\basic\space_fauna\snake\snake.dm"
#include "code\modules\mob\living\basic\space_fauna\snake\snake_ai.dm"
#include "code\modules\mob\living\basic\space_fauna\space_dragon\dragon_breath.dm"
Expand Down

0 comments on commit 7838036

Please sign in to comment.