From 78019da7f4ea180aab3f34ebf2a5fcde8016cfc7 Mon Sep 17 00:00:00 2001 From: Sza'Thi Date: Tue, 2 Mar 2021 22:21:21 +0100 Subject: [PATCH] Adds Bumbles to the botany department, carefully. (#3752) --- .../Deltastation/DeltaStation2_skyrat.dmm | 16 ++++- .../IcemoonUnderground_Above_skyrat.dmm | 6 +- .../KiloStation/KiloStation_skyrat.dmm | 6 +- .../MetaStation/MetaStation_skyrat.dmm | 1 + .../living/simple_animal/friendly/bumbles.dm | 68 ++++++++++++++++++ .../master_files/icons/mob/pets.dmi | Bin 0 -> 1506 bytes tgstation.dme | 1 + 7 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 modular_skyrat/master_files/code/modules/mob/living/simple_animal/friendly/bumbles.dm create mode 100644 modular_skyrat/master_files/icons/mob/pets.dmi diff --git a/_maps/map_files/Deltastation/DeltaStation2_skyrat.dmm b/_maps/map_files/Deltastation/DeltaStation2_skyrat.dmm index f2672742894..9d38c525db2 100644 --- a/_maps/map_files/Deltastation/DeltaStation2_skyrat.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2_skyrat.dmm @@ -110982,6 +110982,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/engineering/atmos) +"vBh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/mob/living/simple_animal/pet/bumbles, +/turf/open/floor/iron, +/area/service/hydroponics) "vBu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 @@ -145262,7 +145276,7 @@ bnh bnj bqz bsx -bnj +vBh bvB bwN bar diff --git a/_maps/map_files/IceBoxStation/IcemoonUnderground_Above_skyrat.dmm b/_maps/map_files/IceBoxStation/IcemoonUnderground_Above_skyrat.dmm index fa3a6f18c87..a3489dc5e6c 100644 --- a/_maps/map_files/IceBoxStation/IcemoonUnderground_Above_skyrat.dmm +++ b/_maps/map_files/IceBoxStation/IcemoonUnderground_Above_skyrat.dmm @@ -4126,6 +4126,10 @@ /obj/structure/window/reinforced/spawner/west, /turf/open/floor/iron/dark, /area/commons/fitness) +"xh" = ( +/mob/living/simple_animal/pet/bumbles, +/turf/open/floor/grass, +/area/service/hydroponics) "xi" = ( /obj/effect/spawner/structure/window/reinforced, /turf/closed/wall, @@ -47703,7 +47707,7 @@ Wq Ct SC bN -bN +xh vl Wq ak diff --git a/_maps/map_files/KiloStation/KiloStation_skyrat.dmm b/_maps/map_files/KiloStation/KiloStation_skyrat.dmm index 453346e3fcb..59c9407cec9 100644 --- a/_maps/map_files/KiloStation/KiloStation_skyrat.dmm +++ b/_maps/map_files/KiloStation/KiloStation_skyrat.dmm @@ -86975,6 +86975,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/ai_monitored/security/armory) +"pHB" = ( +/mob/living/simple_animal/pet/bumbles, +/turf/open/floor/iron, +/area/service/hydroponics) "pMS" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -124942,7 +124946,7 @@ bnJ bGV bod bzC -bzC +pHB bAs bCF bFW diff --git a/_maps/map_files/MetaStation/MetaStation_skyrat.dmm b/_maps/map_files/MetaStation/MetaStation_skyrat.dmm index 4ac8aa42bc4..3dada88c4b3 100644 --- a/_maps/map_files/MetaStation/MetaStation_skyrat.dmm +++ b/_maps/map_files/MetaStation/MetaStation_skyrat.dmm @@ -61972,6 +61972,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 }, +/mob/living/simple_animal/pet/bumbles, /turf/open/floor/iron, /area/service/hydroponics) "pKJ" = ( diff --git a/modular_skyrat/master_files/code/modules/mob/living/simple_animal/friendly/bumbles.dm b/modular_skyrat/master_files/code/modules/mob/living/simple_animal/friendly/bumbles.dm new file mode 100644 index 00000000000..626461a767c --- /dev/null +++ b/modular_skyrat/master_files/code/modules/mob/living/simple_animal/friendly/bumbles.dm @@ -0,0 +1,68 @@ +/mob/living/simple_animal/pet/bumbles + name = "Bumbles" + desc = "Bumbles, the very humble bumblebee." + icon = 'modular_skyrat/master_files/icons/mob/pets.dmi' + icon_state = "bumbles" + icon_living = "bumbles" + icon_dead = "bumbles_dead" + turns_per_move = 1 + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "brushes aside" + response_help_simple = "brush aside" + response_harm_continuous = "squashes" + response_harm_simple = "squash" + speak_emote = list("buzzes") + friendly_verb_continuous = "bzzs" + friendly_verb_simple = "bzz" + density = FALSE + is_flying_animal = TRUE + mobility_flags = MOBILITY_FLAGS_REST_CAPABLE_DEFAULT + pass_flags = PASSTABLE | PASSGRILLE | PASSMOB + mob_size = MOB_SIZE_TINY + mob_biotypes = MOB_ORGANIC|MOB_BEAST + gold_core_spawnable = FRIENDLY_SPAWN + verb_say = "buzzs" + verb_ask = "buzzes inquisitively" + verb_exclaim = "buzzes intensely" + verb_yell = "buzzes intensely" + emote_see = list("buzzes.", "makes a loud buzz.", "rolls several times.", "buzzes happily.") + speak_chance = 1 + unique_name = TRUE + +/mob/living/simple_animal/pet/bumbles/Initialize() + . = ..() + add_verb(src, /mob/living/proc/toggle_resting) + ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) + + +/mob/living/simple_animal/pet/bumbles/update_resting() + . = ..() + if(stat == DEAD) + return + if (resting) + icon_state = "[icon_living]_rest" + else + icon_state = "[icon_living]" + regenerate_icons() + +/mob/living/simple_animal/pet/bumbles/bee_friendly() + return TRUE //treaty signed at the Beeneeva convention + +/mob/living/simple_animal/pet/bumbles/handle_automated_movement() + . = ..() + +/mob/living/simple_animal/pet/bumbles/Life(delta_time = SSMOBS_DT, times_fired) + if(!stat && !buckled && !client) + if(DT_PROB(0.5, delta_time)) + manual_emote(pick("curls up on the surface below.", "is looking very sleepy.", "buzzes happily.", "looks around for a flower nap.")) + REMOVE_TRAIT(src, TRAIT_MOVE_FLYING, ROUNDSTART_TRAIT) + set_resting(TRUE) + else if(DT_PROB(0.5, delta_time)) + if (resting) + manual_emote(pick("wakes up with a smiling buzz.", "rolls upside down before waking up.", "stops resting.")) + ADD_TRAIT(src, TRAIT_MOVE_FLYING, ROUNDSTART_TRAIT) + set_resting(FALSE) + else + manual_emote(pick("buzzes softly.")) + ..() diff --git a/modular_skyrat/master_files/icons/mob/pets.dmi b/modular_skyrat/master_files/icons/mob/pets.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9b92ba46016ef64881267d3f27e96a781a370c4b GIT binary patch literal 1506 zcmYLJdpy$%6d%jAysulAET-f!Vtgzuv>zs79(`C+xkf(M^=MH|q#C8WJQ@~mXj<1T zZYea8_okYzO7h6$ZR8niFRyIByKbL8_mA`ZoO3?sobUOZj6;5&nra4W5C}xm>!5pp zLXInl1A{8KC6W12A@&{eAspavI5jmjZEbA=fdB--g@uKlo*pO^+TPxdMx*88C?g{y zP~^L@XfgEGR4yV~Sy?TPnJKca*o5>diYSo-`~o2^(*uzTBQKc{Om_eEY{Z%9cye^y zDF`Hq5f~JICSgSq7%!AgS>mlN-@fSztUhepZ9mT6-Q|PqfSkEbtH;;}*!S9d8#DMf zUfduU2O{sI_ae<}gEO-1O>6$vze~%qe`H~|ck2rWXlB{;uAnQDS#z1&?1NsPr3+Bv?l z&hI~oaHd`r0+6M?D<&4kJNWYPk}Rf6ICW#2{)o-;QuW~jupL)*L|T2)wIaLeppA2L zj;F3=^MT8a(SINd>qv2t@hyaFrz>vJ6;5dH9&z7%9jSOo#ld&Tqg#8vzXs=+iBK(E z7wr~nJ;*}=J(Gp4g2rSMkaeYTVI5lpnYECIq^_~N^adDA(iTklk%HQZCIRpapZf+; z$wOQMa)v9OuZGJmF^&a~k?20`hn!VqGs|=dMg_!dXMm1($4+ELO}>*QV_Q+FMd~`1 zwYN_MyGBea7rQIbjRG*gX+L*P>)SNbp?S@A=|@8@7?j$F4_m*eL=UCe*sgBVuxa5K zYv8s!Eb+oGPAL1=CCG*QwzpENCQt7lPm(+fUnM`1=0sO%P2%;ESp7$xC|YUERA1|N z$>I9gml)f}oaSskUa!8m%x>H~o@E{z2j)|)LSgDKpQlQ>+59ZM`UigJSiPp;F-7m% zHRUqLbkr~7n6zGGwzvE`&9!va({wr~L5JAL5$DW(9ta+Fo^qa5GUVR0sdns9F}tec z_7wv+*m*COd>Ec9of*CS5YST%3FSS6-lDA0Lk*PMJ>?-5F1*f_;wP^AV#^jBG+r^X z`8TI?@Nd@7_7{&1R*F?%Lf&S#9|BXzC8)fkvZbHrEGW@(ePx6ENTkcFU0QLUxvA*; z#O9rbTvR8!>yA&$Ygz|9_n@Z`FRp;+D}pJcG+i$9)2zn@e>o=psnUZb$Z@tKNE4%= zJZQeAcknoCL#%dK(|ZdW&2Dwg;OotJMmcfVxyWUtU{pXUdzwxOm*A*}4%THRUBj&E_1Y*LwR6oPj9*X!usUQ*>R7OP~V)0WK8d-qZI35|vymKroyW<7yik@oiDB zKOFaxX{GoTWi?HuwiNU~2FkOVTkd7ox7^FAZjq|N29M7yx*C3{A{GpLm?W|>uRS;? z7s;tu;!8NKbCu87s~j0oRm__V9T=|Z9>_#>CYa>P(JGQ8VJnULw!F5(p9AncjHT!G z=O%EH=5E;Yb}2D%mJ%J$q#T7iH4_cy9L~sSR5H9l?tyEhZJ4h>1X9smF%cdBFcX5TF)+2lwlrV2Ywr z#%k6-)%G3!fg0PFIn^M)7FNvQE7do)-5UbivK5fgGl$}kA7Yp$^;OAcH7Ix)d D5Z?c^ literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index a1cae218f9f..69bd3e66547 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3473,6 +3473,7 @@ #include "modular_skyrat\master_files\code\modules\language\language_holders.dm" #include "modular_skyrat\master_files\code\modules\mob\living\emote_popup.dm" #include "modular_skyrat\master_files\code\modules\mob\living\carbon\carbon_say.dm" +#include "modular_skyrat\master_files\code\modules\mob\living\simple_animal\friendly\bumbles.dm" #include "modular_skyrat\master_files\code\modules\power\lighting.dm" #include "modular_skyrat\master_files\code\modules\uplink\uplink_items.dm" #include "modular_skyrat\modules\additionalert\code\datums\ert.dm"