From cbf5652e10edd08103d11c6627f60d9ecde2836a Mon Sep 17 00:00:00 2001 From: AberrantQuerist Date: Wed, 6 Mar 2024 20:27:38 -0800 Subject: [PATCH 1/6] Adds slugcats, a new simplemob! --- .../basic/space_fauna/slugcat/slugcat.dm | 69 ++++++++++++++++++ icons/mob/simple/slugcats.dmi | Bin 0 -> 1772 bytes tgstation.dme | 12 +++ 3 files changed, 81 insertions(+) create mode 100644 code/modules/mob/living/basic/space_fauna/slugcat/slugcat.dm create mode 100644 icons/mob/simple/slugcats.dmi diff --git a/code/modules/mob/living/basic/space_fauna/slugcat/slugcat.dm b/code/modules/mob/living/basic/space_fauna/slugcat/slugcat.dm new file mode 100644 index 000000000000..11f96640a00b --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/slugcat/slugcat.dm @@ -0,0 +1,69 @@ +/* +* +*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) + 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, + ) diff --git a/icons/mob/simple/slugcats.dmi b/icons/mob/simple/slugcats.dmi new file mode 100644 index 0000000000000000000000000000000000000000..eed4a7437aeff3ecd7a7550586fc2963b807f573 GIT binary patch literal 1772 zcmZ{ldo&ve7RF;+@k&ueM~cMsFdm~}Q=&COT7987#Jke8rfa)ONTsDpRJrvS8f#sXzy?dyd;)6>&Ke8Mj7TC8KOyjj}f ze38Bw`%M=J)HZ;w$rNI_!q5V#fWwtohH+1r@=812&)XlM_+tclOzSH*Yv6kzuOKF9lZ#LJ2Wz~>jVJHh?n zqi_#sIj^Lz1P%3n>eO*OJSPus{&W3TwOM)a=a%*egFZ+10R74m%7ZlD>)B!Ew-)m6 zRX;tE^CNWoq}$v6GV0~~6e=a?PmZV%=BE+W-}V7^U7ggO%UN0gfNIwTcN99Ie2tp- zu?7mtaGnX}h=^SCbWdMssN1bbN|~(9!E71LTtRGaOZ%IO{7f-3L(3VbvYY$q^O-N@ zKa>mxgHG*6I$pXRU{}4_5$Rq8^vFWOVcL&K_NT@1FI$dCc1J`j$j`{335Px<^#!zP5(eaMveo{)-4vP1^#tIA_qTD4hM z9RhEKx5be1RmSL5`dT$i&o^Q_rrWjLc}ZG$K?2x|jQ(!;xKBE;T1JRoH}-SD9(xER zq;z{NkK9KIT$6{sj+}disxZpUByg&l<+JT2;KMGBsN^M^A!!4+F+W`x9V~&AqXM#6 zSjipT#|?jGUFKjDEiVcFIzy_=JZ-d0rd=9#(l}C(r@9Ptu3OBWFz!{YA23(}1seYa z=wslQ!HGh1s+h@_;K5~Cx28gfPHG%H%*Xxe`dxv=D62QL@uJ^%l)mCVmr77?94sW= zM4Tc-RmaEK@R0a(_OPP)#Undc6A}CZgnF3HuG+E41?!zbU#nu#;a>v!J4y`HH*M1@ z*ToX7nQ8tQ=%j@G^|2D$?c36_(|ia>n&GCIKBP+=3|XP^1)-Kk>_DG!0B9<4;Y(z4 zW!EeW?8ViNqnynsrPu4nywc7gozb|0+t(l!tJJ1aO)54!P*W~^mffZ0(xZ+C zf8`hDK>nm+pYa?9}!(zwmd9lOXyyNTYViy%zki) z*Pclhpo{d74cdC~o){~2RQSm0|RUgUA&b4=t5hoMM_PA z-KJRuXyw~DV0wP{VO=9g=RK|^u_o5WYk!30Z0=}&=#AARmBg&( zo6pQso1RySvF{$fmE-0RxoR9IS0n?bebI!Nr)I`k#!GvaYb)x=_gK#20v@v{-I>T6 zIq`$$?&nV$x*lrk9R4$8E!Kghsjw!&Q5%rYU1f~}3z|}tPpYoWaXk!Lef!Hd+*^1P z*Z#c5958gRn8~u=ortC<2vxeqvqYvnQOOB7N6hMA(&$DgY?fL$adKn!M%Q?O=<`C0 zcNYTkg21Dzt%pKpspN?rx{h#oAWD{iLt<9@lKhFB9dN4X*e2t8LII-vf#RjKK>~Tg zpeW-0zxfwau4vf~@5jr7CJN1Oiy@m1C&8^vdoc9OeBtsltvwwTY@mMZ*-}ME8?R4D z-R$q2dfU9T|AcC|UbGq6Rem+a>rN*jnEh|@O8T$%Ka2ly|KNP@4l5q!zL0QFZ@6HR zEae1}$)2#7KS%VD>{1jiOTs9*D4T(;iHTie)s-qPl4InEX$(w3jeb$8aQR*sCP(~w z8KIyaF_%AC7ZDc)fudbTk@E(FrR}q)6H-|P6pZUBs6zXNL_K2ed9B{@t1_5;Nv!qy X6O9r-FppAx7{G-y-tM$h*tEX`T3eZT literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index d0526e8891d1..4ff02bbb154a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4382,6 +4382,18 @@ #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\slugcat\slugcat.dm" +#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" +#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" +#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" +#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" +#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" +#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" +#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" +#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" +#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.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" From 51949b00cd713fefb4c222f5f586cc8ee7eb08a9 Mon Sep 17 00:00:00 2001 From: AberrantQuerist Date: Wed, 6 Mar 2024 20:28:06 -0800 Subject: [PATCH 2/6] Fixes duplicate #include statements. --- tgstation.dme | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/tgstation.dme b/tgstation.dme index 4ff02bbb154a..b1beadf85769 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4383,17 +4383,6 @@ #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\slugcat\slugcat.dm" -#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" -#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" -#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" -#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" -#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" -#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" -#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" -#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.dm" -#include "code\modules\mob\living\basic\space_fauna\slugcat\slugcat.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" From 692644ac5d0cbb2ecdc831ee6e54ee42acb11a43 Mon Sep 17 00:00:00 2001 From: AberrantQuerist Date: Wed, 6 Mar 2024 23:47:18 -0800 Subject: [PATCH 3/6] Scug hands. --- code/modules/mob/living/basic/space_fauna/slugcat/slugcat.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/basic/space_fauna/slugcat/slugcat.dm b/code/modules/mob/living/basic/space_fauna/slugcat/slugcat.dm index 11f96640a00b..b2b0e69f0b33 100644 --- a/code/modules/mob/living/basic/space_fauna/slugcat/slugcat.dm +++ b/code/modules/mob/living/basic/space_fauna/slugcat/slugcat.dm @@ -46,6 +46,7 @@ . = ..() 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) From 7fadde7518a5dd6b6345450416abf3779ba590b1 Mon Sep 17 00:00:00 2001 From: AberrantQuerist Date: Wed, 6 Mar 2024 23:49:38 -0800 Subject: [PATCH 4/6] tgstation.dme wants this order, apparently? --- tgstation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index b1beadf85769..c52eba50590f 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5636,13 +5636,13 @@ #include "interface\interface.dm" #include "interface\menu.dm" #include "interface\stylesheet.dm" +#include "interface\skin.dmf" #include "interface\fonts\fonts_datum.dm" #include "interface\fonts\grand_9k.dm" #include "interface\fonts\pixellari.dm" #include "interface\fonts\spess_font.dm" #include "interface\fonts\tiny_unicode.dm" #include "interface\fonts\vcr_osd_mono.dm" -#include "interface\skin.dmf" #include "monkestation\code\__DEFINES\projectile.dm" #include "monkestation\code\__HELPERS\_lists.dm" #include "monkestation\code\__HELPERS\anime.dm" From 32a41c74db45d51d215fcbfec7b5ddb20c525894 Mon Sep 17 00:00:00 2001 From: AberrantQuerist Date: Wed, 13 Mar 2024 19:43:55 -0700 Subject: [PATCH 5/6] Allows slugcats to come out of scrubber clogs (strange type.) --- code/modules/events/scrubber_clog.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/events/scrubber_clog.dm b/code/modules/events/scrubber_clog.dm index 195f4e447c14..6a6de8f7fbf4 100644 --- a/code/modules/events/scrubber_clog.dm +++ b/code/modules/events/scrubber_clog.dm @@ -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) From e607c3bfa95bf7fb10438e998807912aa778c5e3 Mon Sep 17 00:00:00 2001 From: dwasint <82520990+dwasint@users.noreply.github.com> Date: Sat, 16 Mar 2024 16:18:25 -0400 Subject: [PATCH 6/6] Update tgstation.dme --- tgstation.dme | 1 - 1 file changed, 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index 347710dc760c..316eb6eb42d5 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5641,7 +5641,6 @@ #include "interface\menu.dm" #include "interface\skin.dmf" #include "interface\stylesheet.dm" -#include "interface\skin.dmf" #include "interface\fonts\fonts_datum.dm" #include "interface\fonts\grand_9k.dm" #include "interface\fonts\pixellari.dm"