From c07104fa59052b46a3e4a42e5ca19477321c87ef Mon Sep 17 00:00:00 2001 From: san7890 <34697715+san7890@users.noreply.github.com> Date: Sun, 23 Jan 2022 18:43:06 -0700 Subject: [PATCH] The Rabbit Separatist Movement from Easter (BNUYY EDITION) (#64175) Moves rabbits, updates some docs for them --- code/modules/clothing/head/tophat.dm | 2 +- code/modules/holiday/easter.dm | 70 +------------- code/modules/holodeck/holo_effect.dm | 19 +++- .../living/simple_animal/friendly/rabbit.dm | 87 ++++++++++++++++++ icons/mob/easter.dmi | Bin 3479 -> 0 bytes icons/mob/rabbit.dmi | Bin 0 -> 3428 bytes tgstation.dme | 1 + 7 files changed, 106 insertions(+), 73 deletions(-) create mode 100644 code/modules/mob/living/simple_animal/friendly/rabbit.dm delete mode 100644 icons/mob/easter.dmi create mode 100644 icons/mob/rabbit.dmi diff --git a/code/modules/clothing/head/tophat.dm b/code/modules/clothing/head/tophat.dm index 594cb9480eb..dd60bab0510 100644 --- a/code/modules/clothing/head/tophat.dm +++ b/code/modules/clothing/head/tophat.dm @@ -34,7 +34,7 @@ barry.say(pick("BUZZ BUZZ", "PULLING A RABBIT OUT OF A HAT IS A TIRED TROPE", "I DIDN'T ASK TO BEE HERE"), forced = "bee hat") else magician.visible_message(span_notice("[magician] taps [src] with [hitby_wand], then reaches in and pulls out a bunny! Cute!"), span_notice("You tap [src] with your [hitby_wand.name] and pull out a cute bunny!")) - var/mob/living/simple_animal/rabbit/empty/bunbun = new(get_turf(magician)) + var/mob/living/simple_animal/rabbit/bunbun = new(get_turf(magician)) bunbun.mob_try_pickup(magician, instant=TRUE) #undef RABBIT_CD_TIME diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm index 0d7fb89c339..7b26a2d089a 100644 --- a/code/modules/holiday/easter.dm +++ b/code/modules/holiday/easter.dm @@ -26,75 +26,9 @@ if(R.name != "blobspawn") if(prob(35)) if(isspaceturf(R.loc)) - new /mob/living/simple_animal/rabbit/space(R.loc) + new /mob/living/simple_animal/rabbit/easter/space(R.loc) else - new /mob/living/simple_animal/rabbit(R.loc) - -/mob/living/simple_animal/rabbit - name = "\improper rabbit" - desc = "The hippiest hop around." - gender = PLURAL - mob_biotypes = MOB_ORGANIC|MOB_BEAST - health = 15 - maxHealth = 15 - icon = 'icons/mob/easter.dmi' - icon_state = "rabbit_white" - icon_living = "rabbit_white" - icon_dead = "rabbit_white_dead" - speak = list("Hop into Easter!","Come get your eggs!","Prizes for everyone!") - speak_emote = list("sniffles","twitches") - emote_hear = list("hops.") - emote_see = list("hops around","bounces up and down") - butcher_results = list(/obj/item/food/meat/slab = 1) - can_be_held = TRUE - density = FALSE - speak_chance = 2 - turns_per_move = 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" - pass_flags = PASSTABLE | PASSMOB - mob_size = MOB_SIZE_SMALL - gold_core_spawnable = FRIENDLY_SPAWN - ///passed to animal_variety component as the prefix icon. - var/icon_prefix = "rabbit" - ///passed to egg_layer component as how many eggs it starts out as able to lay. - var/initial_egg_amount = 10 - -/mob/living/simple_animal/rabbit/Initialize(mapload) - . = ..() - AddElement(/datum/element/pet_bonus, "hops around happily!") - AddElement(/datum/element/animal_variety, icon_prefix, pick("brown","black","white"), TRUE) - var/list/feed_messages = list("[p_they()] nibbles happily.", "[p_they()] noms happily.") - var/eggs_added_from_eating = rand(1, 4) - var/max_eggs_held = 8 - AddComponent(/datum/component/egg_layer,\ - /obj/item/surprise_egg,\ - list(/obj/item/food/grown/carrot),\ - feed_messages,\ - list("hides an egg.","scampers around suspiciously.","begins making a huge racket.","begins shuffling."),\ - initial_egg_amount,\ - eggs_added_from_eating,\ - max_eggs_held\ - ) - -/mob/living/simple_animal/rabbit/empty //top hats summon these kinds of rabbits instead of the normal kind - initial_egg_amount = 0 - -/mob/living/simple_animal/rabbit/space - icon_state = "s_rabbit_white" - icon_living = "s_rabbit_white" - icon_dead = "s_rabbit_white_dead" - icon_prefix = "s_rabbit" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - maxbodytemp = 1500 - unsuitable_atmos_damage = 0 + new /mob/living/simple_animal/rabbit/easter(R.loc) //Easter Baskets /obj/item/storage/basket/easter diff --git a/code/modules/holodeck/holo_effect.dm b/code/modules/holodeck/holo_effect.dm index f7daf9abe84..f86c2ee27de 100644 --- a/code/modules/holodeck/holo_effect.dm +++ b/code/modules/holodeck/holo_effect.dm @@ -108,10 +108,21 @@ /obj/effect/holodeck_effect/mobspawner/pet/Initialize(mapload) . = ..() - mobtype = list(/mob/living/simple_animal/butterfly, /mob/living/simple_animal/chick/holo, /mob/living/simple_animal/pet/fox) - mobtype += pick(/mob/living/simple_animal/pet/dog/corgi, /mob/living/simple_animal/pet/dog/corgi/puppy, - /mob/living/simple_animal/pet/dog/pug) - mobtype += pick(/mob/living/simple_animal/pet/cat, /mob/living/simple_animal/pet/cat/kitten) + mobtype = list( + /mob/living/simple_animal/butterfly, + /mob/living/simple_animal/chick/holo, + /mob/living/simple_animal/pet/fox, + /mob/living/simple_animal/rabbit, + ) + mobtype += pick( + /mob/living/simple_animal/pet/dog/corgi, + /mob/living/simple_animal/pet/dog/corgi/puppy, + /mob/living/simple_animal/pet/dog/pug, + ) + mobtype += pick( + /mob/living/simple_animal/pet/cat, + /mob/living/simple_animal/pet/cat/kitten, + ) /obj/effect/holodeck_effect/mobspawner/bee mobtype = /mob/living/simple_animal/hostile/bee/toxin diff --git a/code/modules/mob/living/simple_animal/friendly/rabbit.dm b/code/modules/mob/living/simple_animal/friendly/rabbit.dm new file mode 100644 index 00000000000..603fd873c57 --- /dev/null +++ b/code/modules/mob/living/simple_animal/friendly/rabbit.dm @@ -0,0 +1,87 @@ +/** + * ## Rabbit + * + * A creature that hops around with small tails and long ears. + * + * This contains the code for both your standard rabbit as well as the subtypes commonly found during Easter. + * + */ +/mob/living/simple_animal/rabbit + name = "\improper rabbit" + desc = "The hippiest hop around." + gender = PLURAL + mob_biotypes = MOB_ORGANIC|MOB_BEAST + health = 15 + maxHealth = 15 + icon = 'icons/mob/rabbit.dmi' + icon_state = "rabbit_white" + icon_living = "rabbit_white" + icon_dead = "rabbit_white_dead" + speak_emote = list("sniffles","twitches") + emote_hear = list("hops.") + emote_see = list("hops around","bounces up and down") + butcher_results = list(/obj/item/food/meat/slab = 1) + can_be_held = TRUE + density = FALSE + speak_chance = 2 + turns_per_move = 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" + pass_flags = PASSTABLE | PASSMOB + mob_size = MOB_SIZE_SMALL + gold_core_spawnable = FRIENDLY_SPAWN + //passed to animal_varity as the prefix icon. + var/icon_prefix = "rabbit" + +/mob/living/simple_animal/rabbit/Initialize(mapload) + . = ..() + AddElement(/datum/element/pet_bonus, "hops around happily!") + AddElement(/datum/element/animal_variety, icon_prefix, pick("brown","black","white"), TRUE) + +/mob/living/simple_animal/rabbit/easter + icon_state = "e_rabbit_white" + icon_living = "e_rabbit_white" + icon_dead = "e_rabbit_white_dead" + icon_prefix = "e_rabbit" + speak = list( + "Hop into Easter!", + "Come get your eggs!", + "Prizes for everyone!", + ) + icon_prefix = "e_rabbit" + ///passed to the egg_layer component as how many eggs it starts out as able to lay. + var/initial_egg_amount = 10 + ///passed to the egg_layer component as how many eggs it's allowed to hold at most. + var/max_eggs_held = 8 + +/mob/living/simple_animal/rabbit/easter/space + icon_state = "s_rabbit_white" + icon_living = "s_rabbit_white" + icon_dead = "s_rabbit_white_dead" + icon_prefix = "s_rabbit" + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + maxbodytemp = 1500 + unsuitable_atmos_damage = 0 + +/mob/living/simple_animal/rabbit/easter/Initialize(mapload) + . = ..() + //passed to the egg_layer component as how many eggs it gets when it eats something. + var/eggs_added_from_eating = rand(1, 4) + var/list/feed_messages = list("[p_they()] nibbles happily.", "[p_they()] noms happily.") + AddElement(/datum/element/animal_variety, icon_prefix, pick("brown","black","white"), TRUE) + AddComponent(/datum/component/egg_layer,\ + /obj/item/surprise_egg,\ + list(/obj/item/food/grown/carrot),\ + feed_messages,\ + list("hides an egg.","scampers around suspiciously.","begins making a huge racket.","begins shuffling."),\ + initial_egg_amount,\ + eggs_added_from_eating,\ + max_eggs_held,\ + ) diff --git a/icons/mob/easter.dmi b/icons/mob/easter.dmi deleted file mode 100644 index 2cd67d5112dbf4c3ccd54848aef2c5e3a4f6a3ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3479 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 Q;1eQ*vUIR`gY+Q$4{aRH5&!@I diff --git a/icons/mob/rabbit.dmi b/icons/mob/rabbit.dmi new file mode 100644 index 0000000000000000000000000000000000000000..bc9652bbb016fb47359f89cf306d3adeccffc8e9 GIT binary patch literal 3428 zcmYLM2{;s58zw4a?8%TVk|m>YBTEcsjO;^5smxfjGhJb9GYq4U5)ra1xyeCK@M`<~}~C(#yZ%Fla>mxF_Y-`osg$ClLJ zm4}Pns{P6tWQ#AhRt_d@ZEcOMt+u*nHkxO82M3*ul<9r5b8~ZUrm99pMx*27XvDel z+FC1ZId4O;k6*rAGgQ>j(163?Yy)&U-Nweo!oosTRTT<_QbR%z

swWmm<5W<$Y2 z;7wLF)?6wRt<19N!&%ELv2I@^UR+3L>Fetoc_e0ZZX_os`}+E(wyn4lU+RR^g}>Rd zR0V{vOWnE&_LX~DyGts`^GSy(Ci`+wmP>q@)BVP43H6Aua)ZdX`r&WPFxkd;3SmL{ zh(C+ij+kz}?Pnj0^R6Azp2KKv+jTC6dAf{HC?*YIn!xaW%wxt}e5KD8sAE?m74 z;&89WF==9KKEbm!ogCZRvg@S2$kUO<9q`~$$ZAwPf_I7QVTI_MLP>ENUCAFl{APB| z9xeNI&7q{RaM{X()v|WKMkpmF=LJo&43IOUVDkCG7cTLf%m#114TPMH=muhn_ev97 zbim|A`OA$3!%38>%rW0B0}=-ZFv1)GbHL^^kEhM&?>-)eaM{yai#9jPDrc)Q38B4!)g!aGnMFq&8c@{yH@G|x!As@$H*{UMMr z12Mrc!vPNy<<}aY?FEiqI;~ThjCG&Qtoka^AYA&P&K@-isML zom3p-;eCW#L@LEC3|Lkqi_|4x_EiX|E{b5R`Fyjb+?v3v3kW4gwOJlG=nA*>*23vi zDO7`|XF6N@fkH>3uLGvUbPVb8xO^5V!8XRL(taJy!B@Z=w-9b+%<{_ys| zq{toD-OTesKREzzQkZ?#eMp#izGg>KfpqDL9>#a?XhM!h8SM&21`$XIjp-Cel-T_PzOC}aN&Ts%q3sqsn^v`OGU)b?G_Jss z`{QpSI@aRV1mpNjZ^!ci2v#nYm+jE|qf2mv@PMuHXnnc(k*+qV#oH$PaYA}0>UnhL zh-G=F^HHCdF(v6^p`HB_S0(So>M=JO0TFVocl=}Wr1L{pM?Q5tXccX*c}C4TtHY$? zT^bL2c(}CB1O`blG62rs0+wQ^S;|L(TC#6qr>@C1QTeUf0DOJ-aTX(aL9tXFYr9h6 zPkeOwcBh=uhZg|vdZLDa0fK3fIf}K=kDU{RF`eq>b$6$Ie~hAHUlmVle>z1>^Osi_ zB`4b*|HhqtzT44i05E(A{7o(i8}*XaRM8`#(yW>#RXy_};l701V_HpSbzn>L1Rb7O zE>usx#qGM$d8sxo-9*?8g`b{70$2WqPRkR=Y=o`O;e3u+)mHf2yQ%Ta^QwfGl7)}* zv^z4&7F7Xrz&w6YEmE32_)v^~$tCN`D`iamSv%ULNOjn{jr440Te1Q+8>NVO3xErf zKXzVBI5n%oRow{=p%|;2v|`xXGu=-vI4elCgWp?eXv6f5x?%_TRB@qMNqEZ2(e7(9!@+yb@`3NR^Qiu5$dSrl`AfhPd{Q;- zkJz0*nl*$8kq1K{Ue1r@{CNvNmA!G=SI~ysZ28IeL!b?Fj;m*;byhB;NBVZUDmRH# zJU+T8wTz(lz}WCXOFxL@CT{5?&vU{QCc63;#2m_siTOHn5;u#0#Y;Tx9UGup&sjFX~j$oEQVXghxla02mK&B5fNQ`QiJJSMpxVU5{|LWVJsUqM50EKGFK z82)CoYan2be}82!w`w=90#Y#(COr>yJ{(g5&h;D`)AK0{Ns|qIpwXO`K2S3g4{!FG z;G@We_R{Wlt&YwEi{_A<#Ph6GsOz7wGddcq08m&)A$y*`8%TJWXIM;?AjA*G6|^u_pPQniPNlV9r+Y-5H&&2a*L0!ni^ z3+>ClT^g+-r6#q)xWuH|nRB7*>xxRtjU2BbQSV(DX&s49>fG9FV>5nw4ETk^xs>E$ z>LxK`g-}1XY!k$jA!>bsq_>%?*DNV8WZ3YxKUeO`?x+@rdH3Wyw>^qyyAXIo--{k2 zwL3lzY4uYFlWtB-a(3kIRjXu9LVytx&i7s>?v5(PTXjz!>*{EgkDsu%bX)#dXcrxE~cYgnudHn3Hj(u61u|C z5NeLV4!61KR zlx@W=IjEf@H6mXW(+B_RvD2O10jehaSOviWc4(|`!L-^}Cq$HWt&Lyek{p9vI{<3- zn7?}N#;19pU!osyPeK@df^JXQp_@c4o?vr?z=l6o*Av&ehQWRl6i?gUX287!8~Z>x zgQUaUgnttacD`{uCgru$$dP)I?fpsDuL<8kyrD}4gP^2!V|Pd?j!hD*P}j{7Y^E#t z^Qun5`n+#oPVv)m#_KtKm=^9he^xN}%=d5lK1nDPg9fNQ9P3)eM$1XI#vQv=$33=7 z+agx5Lf7?B=#Sm2g`B{LE~>0|q|`0LmlU-UAT{%~ME`orW7n_;CnQ_l=UiU2P!E(e zMp@vgu!@wF$(qmJ0?d__r>&ZCXIfpDfgVkabho_%HW}&qWv;fwwW;7 z3P-#?^rEyr^q}U(NzUIW;|&ZAS)aND>%b)kN4t3*du9CDm%hN84oA<^+w+y^=l;nyliu*EIM?hj;3`w~>~?oyq?e|D z3ypQC7~KBrm+tTw;Ry-zKH$SV@KI9b8adj47V17+3HcHDZh%29aXXVI*Gv21-@|5d z&ya2jME~5-w9;Z!ZwQ7s0IG_U%_Xh9y#9IkSiAv7TIS4h$Zk@ttZW8{Fze^gaYs(% z#Cf(|KK91!N8AQ4q?7s7u4SZT3e literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 6e67b75e540..10724123bb5 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3174,6 +3174,7 @@ #include "code\modules\mob\living\simple_animal\friendly\mouse.dm" #include "code\modules\mob\living\simple_animal\friendly\penguin.dm" #include "code\modules\mob\living\simple_animal\friendly\pet.dm" +#include "code\modules\mob\living\simple_animal\friendly\rabbit.dm" #include "code\modules\mob\living\simple_animal\friendly\robot_customer.dm" #include "code\modules\mob\living\simple_animal\friendly\sloth.dm" #include "code\modules\mob\living\simple_animal\friendly\snake.dm"