From 2d06c71404bc025cff4289909d2e7e72c18dffbb Mon Sep 17 00:00:00 2001 From: theTiji0 <35358112+theTiji0@users.noreply.github.com> Date: Tue, 6 Feb 2018 20:07:31 -0500 Subject: [PATCH] added space kiwis as a new simple mob (#5334) * added space kiwis as a new simple mob * Fixed syntax typo I hate everything --- modular_citadel/code/modules/cargo/packs.dm | 13 ++ .../{ => simple_animal}/banana_spider.dm | 0 .../modules/mob/living/simple_animal/kiwi.dm | 134 ++++++++++++++++++ modular_citadel/icons/mob/kiwi.dmi | Bin 0 -> 7015 bytes tgstation.dme | 3 +- 5 files changed, 149 insertions(+), 1 deletion(-) rename modular_citadel/code/modules/mob/living/{ => simple_animal}/banana_spider.dm (100%) create mode 100644 modular_citadel/code/modules/mob/living/simple_animal/kiwi.dm create mode 100644 modular_citadel/icons/mob/kiwi.dmi diff --git a/modular_citadel/code/modules/cargo/packs.dm b/modular_citadel/code/modules/cargo/packs.dm index b07271d33b..300e1679aa 100644 --- a/modular_citadel/code/modules/cargo/packs.dm +++ b/modular_citadel/code/modules/cargo/packs.dm @@ -1,10 +1,22 @@ +//supply packs + /datum/supply_pack/misc/kinkmate name = "Kinkmate construction kit" cost = 2000 contraband = TRUE contains = list(/obj/item/vending_refill/kink, /obj/item/circuitboard/machine/kinkmate) crate_name = "Kinkmate construction kit" + +//Food and livestocks + +/datum/supply_pack/organic/critter/kiwi + name = "Space kiwi Crate" + cost = 2000 + contains = list( /mob/living/simple_animal/kiwi) + crate_name = "space kiwi crate" + + ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Miscellaneous /////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// @@ -14,3 +26,4 @@ cost = 1000000 contains = list(/obj/machinery/disco) crate_name = "Disco Ball" + diff --git a/modular_citadel/code/modules/mob/living/banana_spider.dm b/modular_citadel/code/modules/mob/living/simple_animal/banana_spider.dm similarity index 100% rename from modular_citadel/code/modules/mob/living/banana_spider.dm rename to modular_citadel/code/modules/mob/living/simple_animal/banana_spider.dm diff --git a/modular_citadel/code/modules/mob/living/simple_animal/kiwi.dm b/modular_citadel/code/modules/mob/living/simple_animal/kiwi.dm new file mode 100644 index 0000000000..27c1749011 --- /dev/null +++ b/modular_citadel/code/modules/mob/living/simple_animal/kiwi.dm @@ -0,0 +1,134 @@ +/mob/living/simple_animal/kiwi + name = "space kiwi" + desc = "Exposure to low gravity made them grow larger." + gender = FEMALE + icon = 'modular_citadel/icons/mob/kiwi.dmi' + icon_state = "kiwi" + icon_living = "kiwi" + icon_dead = "dead" + speak = list("Chirp!","Cheep cheep chirp!!","Cheep.") + speak_emote = list("chirps","trills") + emote_hear = list("chirps.") + emote_see = list("pecks at the ground.","jumps in place.") + density = FALSE + speak_chance = 2 + turns_per_move = 3 + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 3) + var/egg_type = /obj/item/reagent_containers/food/snacks/egg/kiwiEgg + var/food_type = /obj/item/reagent_containers/food/snacks/grown/wheat + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "kicks" + attacktext = "kicks" + health = 25 + maxHealth = 25 + ventcrawler = VENTCRAWLER_ALWAYS + var/eggsleft = 0 + var/eggsFertile = TRUE + pass_flags = PASSTABLE | PASSMOB + mob_size = MOB_SIZE_SMALL + var/list/feedMessages = list("It chirps happily.","It chirps happily.") + var/list/layMessage = list("lays an egg.","squats down and croons.","begins making a huge racket.","begins chirping raucously.") + gold_core_spawnable = FRIENDLY_SPAWN + var/static/kiwi_count = 0 + +/mob/living/simple_animal/kiwi/Destroy() + --kiwi_count + return ..() + + +/mob/living/simple_animal/kiwi/Initialize() + . = ..() + ++kiwi_count + + +/mob/living/simple_animal/kiwi/Life() + . =..() + if(!.) + return + if((!stat && prob(3) && eggsleft > 0) && egg_type) + visible_message("[src] [pick(layMessage)]") + eggsleft-- + var/obj/item/E = new egg_type(get_turf(src)) + E.pixel_x = rand(-6,6) + E.pixel_y = rand(-6,6) + if(eggsFertile) + if(kiwi_count < MAX_CHICKENS && prob(25)) + START_PROCESSING(SSobj, E) + +/obj/item/reagent_containers/food/snacks/egg/kiwiEgg/process() + if(isturf(loc)) + amount_grown += rand(1,2) + if(amount_grown >= 100) + visible_message("[src] hatches with a quiet cracking sound.") + new /mob/living/simple_animal/babyKiwi(get_turf(src)) + STOP_PROCESSING(SSobj, src) + qdel(src) + else + STOP_PROCESSING(SSobj, src) + + +/mob/living/simple_animal/kiwi/attackby(obj/item/O, mob/user, params) + if(istype(O, food_type)) //feedin' dem kiwis + if(!stat && eggsleft < 8) + var/feedmsg = "[user] feeds [O] to [name]! [pick(feedMessages)]" + user.visible_message(feedmsg) + qdel(O) + eggsleft += rand(1, 4) + else + to_chat(user, "[name] doesn't seem hungry!") + else + ..() + + +/mob/living/simple_animal/babyKiwi + name = "baby space kiwi" + desc = "So huggable." + icon = 'modular_citadel/icons/mob/kiwi.dmi' + icon_state = "babyKiwi" + icon_living = "babyKiwi" + icon_dead = "deadBaby" + icon_gib = "chick_gib" + gender = FEMALE + speak = list("Cherp.","Cherp?","Chirrup.","Cheep!") + speak_emote = list("chirps") + emote_hear = list("chirps.") + emote_see = list("pecks at the ground.","Happily bounces in place.") + density = FALSE + speak_chance = 2 + turns_per_move = 2 + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2) + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "kicks" + attacktext = "kicks" + health = 10 + maxHealth = 10 + ventcrawler = VENTCRAWLER_ALWAYS + var/amount_grown = 0 + pass_flags = PASSTABLE | PASSGRILLE | PASSMOB + mob_size = MOB_SIZE_TINY + gold_core_spawnable = FRIENDLY_SPAWN + +/mob/living/simple_animal/babyKiwi/Initialize() + . = ..() + pixel_x = rand(-6, 6) + pixel_y = rand(0, 10) + +/mob/living/simple_animal/babyKiwi/Life() + . =..() + if(!.) + return + if(!stat && !ckey) + amount_grown += rand(1,2) + if(amount_grown >= 100) + new /mob/living/simple_animal/kiwi(src.loc) + qdel(src) + + +/obj/item/reagent_containers/food/snacks/egg/kiwiEgg + name = "kiwi egg" + icon = 'modular_citadel/icons/mob/kiwi.dmi' + desc = "A slightly bigger egg!" + icon_state = "egg" + diff --git a/modular_citadel/icons/mob/kiwi.dmi b/modular_citadel/icons/mob/kiwi.dmi new file mode 100644 index 0000000000000000000000000000000000000000..18777f65cfbb08dee311478417f65212bc92c7dc GIT binary patch literal 7015 zcmZ8`WmFVi&^IDVmxRP3B_%0c%PJ{IOA81B(%rd)ba!`&gn+PsfJ=8H&C*ME?!vM> z{Ga!n_q^x*Fn8v|+&g#9y)*N>b0gJN6$tTY@Gvki2o*obYCiJ7M>4^A{y5I~_$WTI zXdf*-H(3i;GZ$+oH)}@+3=FTF*r7VSEPdp+>v2>-CeXQb*;xsE$#5d z*uuP&F>U|Kvo`$^pE{MK;^Ice!A@IR*%upB+y)(e_A(vv41kLW!mhyAf<7ZM0@Ks5 z8|_B$atjcc75>N4=XGZ0iJ1Rb&fcG^dzj<>zAp6VUu|7-yk}{(UW{sxCm%&y^jrev z;#jctw$#~{0-MNQ{eizpM)_aaOZ5DbhJEG0%>gC#Ios2Ryu*{}^$bLc=xBNlolVL! z@Oiy=-4FAY4-CCTe2Rp=dewjKbVS0qQ6wI9TI}`-L01`LtAIhp%(u9vaGYabE!Rz2 zkk;X0Si(^h%Yeh?w(!&QC#~^0RZ1zd=+=DQU9Gq zXb8_)>)p_qqS(sov#dz6-iHZp-OQBDL>E5*ML`wcb|Q-nlK#=v&1Omtkqpi7j)E(c zt6eoqa79zH%TvHyRuikcLf{Du9YBVK$01ZhMkWPq6DjyfxvXc*4pN^s0Ql4 z9S{ELwE+svFqdFGO)EXaq^)Lw&@n~+MD_L1N7(DPt^;O`f4i%Sw;|V5wnu@yq+y#V zCiH7zYp(4|MI)YD#1V21K#}MHTs~80EB*Gbgd>VeF0nWA;zbcVtBP2_G*hQCD(xTp zvpAVgh|RncW(z}N<$u-WdYa4@Ts5}XB}T*wax(|r>Z&%VJR#bFhOKSC)yy;i&{nvh zkGbXTTZQ0nR+_pmtn_mV-4DGryC&K3JN8xau}n-JOi)nax0Jeeast|Od~xt}7ngBm zw5rdVAHw$6C%l0wtW;?{d}S=tXG++Lhty5PW*zZ>lDH3IPaYSaSezAe#GcTQ9nT^J z%(sR|ITpvtDe3%7EYL~r(Xp}9E)CJP%u`Liea=C;T2RH&4q1|Kp_IlgNvYbaXNx2i z`gLD^sw=bBj8WECzB5cOcXpNbtf5-rCGiWw_V=QvH0x`$8ABxIz6sSpG9tDPV*6nA z^=CXlAg}=fncC1@x^KT(@pzQR+@FE-I<15gV_)_>Ko^V6$fW?8~qe zQb9mU)CZB5aV&_&F0{X|$^wXB|M*tKPb8pF%vC8-h4}i}geiotj!agg2VEH9VM|cW z$S+I*KGr{VLq+Zen3(E^@lDK-WG=H$@PU&M`b-gW_MfAvy??(kpbD;M(Rl52Xf>q= zu<`A)10SBLQEM8R^P=r!Xkvg@axxZyhozpXEj1b{vJTunh*4{y3QkNaX4X){Ks6v= zFfJh#U*BouUD(f67T`?Ac9r1Vxh)-=blN|YcN`kASkfc$AdY;)FSOrMUpQm3yN@J` zRkLE!LG5je-w6z{W?9iK@$0JW>wKU~=3Yjw12mOV>Pe)XcEZc!+!ee25&S#1B}}ux zAfzgZ0RpLscZNU}sNL+DQ|dYD3;nbp$dzod{|tezusLu0Cv|G80iwW6A24@Hlzp`P zU7vmKPh9(hP2bGpR~4=_i2p(;O{;E^SzbBKy}advz39bqGy;haV#V7yU1jYj!3-WK z+>lWDoKgW#|J_{ub|e#&`D{K7l!$Gv^Ofr*<4nnGJ_0sr$2u1jhh@7=r(NNL-e+5( z3Kcz4O8M}JfsnJ;POK_4#(0#Q`VX}JuPP7D*HTb?hlJyUW^%|&#GZ6W9 zvHI;baWC~$_Ptc5Nrs0l*D(c7iQVy66K*iM${0F?fq?+Ci!VzA?2@aQFzB9OZQV^1 zf6*7imc9wxpWoZH`w$kq(0AkG3l3fotV>~T-CpXKg1 zm%AV0U~twa@4O7)bJdZ2InqNf=d9-bsiN%ki~kal#;L@o6RT>8Qypz8n%U zYG2O3GJ}rCQI^b*v9icXpRNGrQ%p+(mHjx3O5xn-m!evj;S5?fV0D;eWC#^D~v{0@Fj3!Rc%Un*v0R?*~-BpOpYv2qq9S+;Y2==tl zr6CRIeYMK;J^F3-C}DL`OJG3`5?~Uh?WcRy8?>n9cQi*(Ct_kTIlsfy?j708mrR{A0A_#Uu@{y=^piU59Z|nb7 z*Z*IzVuFmFk33Wi)in@J$Pyf`LhaQ^) z2`LmC28{RPD{~F-4YcKnKn=y*(Le&)vPq=+SWKd0*3bCz1RX~`-wv}wp2yB8Fhl)a z1KeGeC8QvJ@XcFKs7rAT{0q({s0sFH&f(S*T>i#y!|n5h_axM|RYT{4`C6EShtvJb zS3Me8ojW_L>LKHfB5_lO524sC>v43l&r>L-9yKc(3vCX(vM)ip^qw*@|JnV|p13!G zz5%8w!Sj&WqT3&Czq`K_qi+0MvTv0O`F3EDtAE9yx97yG&BRIlJ%pG+q?mM>`)2d7 zmky-&;~*=5hJ5_6|7N;}i9Y3$)YTKe>h0>@j$_gKWv?C8BKEIK<-aiB;hm~v9pl$L zPOum0pWaHuhFlqYDwsahUCkX~NH~l)8C`xBc_kNY7Ak8H;6t`AHf}-C_v1ah{STsPV4ikIlN%4S z;o8N7Hw%e&W#_ERichV{=t-WPxwnj2?5+%NQ#{%Ft1vpSmPjr32pH~ZWk$^F>pj?K z{Gt*+vBbts3l^W1Z>E2BVSc?zH@s@)(kzt!^5?gcoTR|y5G^+T=~!jYuPrTa)VgdV zGd|Ns5B#v%Y~4EqoOob5h<~hcrB;$QCtuY2Kus5%xnY*_2lL)XnuBEc? zfzkcFgM|)6w37OJ&#rOTMq}pT^QI}E%~u1+o|2C(vXarsFwlTEn-@&(Slj#J-5=Vc zSdvt1-2PkKk0BWaSPl~WGsc9-h-OdsFU@jp_A5-s{^t(J^woBwvXsJN#HWjqS-%;w zeIWf>W;N1I;jEmslmLu`Ey3H>R=8V*9ZCPYBSAXOKj`OV%N9HB`>|NMH0^A)Udj40 zCmiQ#C;tfx?A&RhWns+=Vz&;DtCAf+4DbiN!x?<{mVw!y!69Q{1cbYoH6Fcsw;wCM zp1wI4_lqS>P_{5q#F>8*;R>gJ3>iJ97&#TsuR|fSn-ub-dP*eLK>~l}B%OOE*pKge zF1wBTC)q~T?|ipQI+f>ye@1@rEE*1(w$a={VkCEiI#z+785Qve!mvGJwV}xuHs=e- zD@332$KA81*{n?O-FZ=x$m9b#m5fHNuTpOVqyndfNrMP}6M540<_k-bk9mx$ga#`L zPO?HQYO?-;r8?fS{JOs)*Zfe@K!Q_qfAufL_Iscssvp&+`ce6NHC(L^Rs#L_BrPWk zTkzcJ^f3mN-+ZBt=`OFTp4JKv8=$TEHvil7$2~B(c0Pg3jT~%)6Aj>X`Qg08?l>IOG||{p-Li=G6S5_9fwJHm zuuHaN8dMw|IjCrA&We!W{Q*L)YO!aG;X@)sC!-Dum*e5vwfwn1>_py7M>@HxAOBLl zVj^1-`3#FBJG`xI^OuzHxYu5(DL=CndbU}G$ADb2%xA}W??k9sg8DuE=0WCbVXZZmHy zegx?kI1E{aixiL4eV`0FRrpFfd|x;E9=FF_Wm^z`K5HDmn$0Im*x8INPW{d^iCVB;YgZ2=qc2W<_#C8W)4NR%logP!Wd^u}O+c!mC;zF?7 zTV+uP@*lr%*qV>yy3jSFb=|6yuLN7J0R9_)@v~Z^EJ!$#)m7>&w4Jt zMYLDmb&0OyT>~wC_J<2oOkc2tzZOb<_#=UL_gFpt-jt26HpUAA4kh$}BsPB!XnqTw z8qVR{*#Dd<5qfz-SJsAo?bea)1h66_m`ght&s>tU)&e*zNDvIE?h?h z2LA^SlzL+4n{QnplZT+>PbkIG049lMga5CvBK$jWd=*{j>!YS-bUyXlY|p)Vp>VSP zp_m?Je%cx;ZMqX#Z+cSLwcd1{mIL2Yw!Uvc=8^SE(6@2xV1oRIq3t{I4#pSZ#mrI_ z4ZW4EeTc??&tsgt(7o-FHyi5``N)ODadJHTrth2*VDmPY2p6oUcYbMu@W5VlNJ!OU z!b_x|v1&h5kT8es9EtivY`1sY?V_=!y|$~~p$|=jr^LM?u`U+$us0J#?GSx3G2SKecO2YE|x@H>HDP(u2J2FYD!}{ zGba4c2ILCTRuv>Za>`VUrA5DIAmKMa@1gq`Nj7Y%L*FifYoMtPw&O2I+ut-fyj&C72o9%ccM!9o?-F)&91g>d;FT4A`D^woqA?)itI&9Y3?MK6chfMLS;&e65Q zjF8ihu7&daQMr@mh;xk~7W>5|`?xgD7$QQxMUeb%$ZXhe-6rQ*>Z6AiMbwbH+ed3b zbNxBI*{iDlUpU{@&8LEsUTSj0uT%IdQ{^w$6$x}pZ!^UfnPQ7J+&CwLSLL==JxPbt z^ZR~k+cs}R4YxcJ^)dKNRw3xBg-4Nfa|*UFT1H4a*jOs&WsXtE(l?8+i0vfFBw3vX zPy^s?S9J6?&%F!PaXxXs7_PG#gg7mpJ80I7S~&}DHxVShgpMo}OftsAYR^M0=Qu~# z9G}zVJ$I0F-9IeTlEiv9OP6yF!(_H-V1%2q-zf|>ZcU6)>9?jP?QD97O+o-ytvwJ~bax@Pxz^Fk^ z$M!WC9sO`)WTVFGt5c1W>L8hQ{Be*r7XhFKRdL0|B;8q|?LtvW8b+q8{I?Bx; zX>`7TxgnBWTM_`*JoA6YTtb~0M{jbHC=D$gGBWr`7kXWbtLb0<>n|cFb0~YF2$0s< zT#`eHg=g^*Fc&!a?p)e7nw{WDh=o}BNKAnPwrKN%#Z#xgR-F;OZ%2z)sNFr$X(MP| zU4P@l!Ar1ZKO6ckjI%%LiD|(^P}=*9BO!wuV}Do_X8?NRG#x!RS98A?4;8tdfj%td zu41s0<2l|RZPK&Mr3L5ogHG;A7wn>@tUf^KxK_XY5RKxtR|>$DMR~xZ`YWdw7{v4V z%1a3iEGH8aHA*B3rbtWhw@*9y;fa@j2`ev>jl;A67mB5TTIm&<#gI+*V5NxU=hBK5 zn(uMtNN!{D8N-r?0M@eEp|UWs4z;}I^n6KY-WrJuZ(?q4vD<5?>?%5)hMy^a{MS4p zZX`9RJW_gaB9Y&*U5D|=oITF!_J&r+qsbL6bTIa?{H3bhbIE@$)(E|n{+GF=FC~rWY1~_LDZ9nu)Q(jMn9` zX$`T1w>h4--^RcXj#DBiR_yr8vkA~!|u!D>H!y3*6dNlE#suWo~#p)e$-@O{3L8+qzg?G!0*8yY|iLdFvi64%w+ z63!V05Gt&kbG#HXg6T^k?l}M6tHsmZ_htWzpO{^r_&d@!Cfl%0UhMdtL7A(KkXyg^ z;#Ugzti7D5%~PD#;7xT(zhEMdY0HzeVzCKmdir(Sy9&cH?xitg_E@JLrqb_&T#xNV)H%lI9T4i$ZX)IQ+07=)e{P%CKYmxGb6#B-&O8F?|b8s2}CL&^y!edCx?J*dRD-WvJ^rGt?#q^;${WpF5l zD74-%o;3eRo%VqZ=b_P)baSXXxNc}(Xu?F3V~p}(m#QMk>3%kgG0Flt>wE0K3(2;u z?S!zbqY1k0Ef#fy_tmxJrH59Y5WNz^p!71vNi6E6#4;V&cjp)(A-J+IHuP16FSDoM z6o~Gc`Z63LF2lM*o@5Ju;Su*)*Sb3@UDxjrXw9>P?bVTadT>82IO&kWSlQ=vS-kCw z6&2T!R6l#e4zFzki$VRos9MSfZt*p}dIc4ZOw$^9%O3{#_NqePlBP|0QAGds&zox+ zZ-uyKwx4`?@VKkrL0hNH;jw7OA$mKU5XqKbXwd!Ag{Nz0b~qsJ zDhBL;W^PM%JtgD$@q(^Tncw<6*ojGnom)Ir=38wna7iJN)33^cvfJi+Tq8I5lte@5rYb`u2^F^dr0vyg`n&T=@O@6mJihYp zNy)-Ya3dSI2%d9b&FH$vKB4h0H$^_sE-dtA$U2g{EI^cD&Gj)`2 zV0#tD)8A_ON^nF^lW=?LeR3bGa-3#{Bhto%en!vYPqF1#&|tSdlbwkjSUh0VVF z;EJ48U9G&6M{kGfVmoq>Q(hmz9zhxlfcFFq?Mr$wtVHN2dXjYQC*?@7eI}e_-JGR8 zljEc$-to0-&?E4Z4US${WdHvHQLzrD{}oVR%NVgSv2329$DcC{MLAX38flZ@{{bIu B`q%&f literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 30cdd33cb3..6b9bd546e9 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2564,9 +2564,10 @@ #include "modular_citadel\code\modules\mentor\mentorpm.dm" #include "modular_citadel\code\modules\mentor\mentorsay.dm" #include "modular_citadel\code\modules\mining\mine_items.dm" -#include "modular_citadel\code\modules\mob\living\banana_spider.dm" #include "modular_citadel\code\modules\mob\living\carbon\human\human_defense.dm" #include "modular_citadel\code\modules\mob\living\carbon\human\life.dm" #include "modular_citadel\code\modules\mob\living\silicon\robot\robot_modules.dm" +#include "modular_citadel\code\modules\mob\living\simple_animal\banana_spider.dm" +#include "modular_citadel\code\modules\mob\living\simple_animal\kiwi.dm" #include "modular_citadel\interface\skin.dmf" // END_INCLUDE