From d33f42cfb5368ad80a12eab02b434007d466efb5 Mon Sep 17 00:00:00 2001 From: theTiji0 Date: Sat, 13 Jan 2018 19:00:09 -0500 Subject: [PATCH 1/6] added the spiders as a functioning mob --- cfg/admin.txt | 1 + .../simple_animal/friendly/banana_spider.dm | 72 ++++++++++++++++++ icons/mob/BananaSpider20.dmi | Bin 0 -> 1206 bytes icons/mob/BananaSplit.dmi | Bin 0 -> 589 bytes tgstation.dme | 1 + 5 files changed, 74 insertions(+) create mode 100644 code/modules/mob/living/simple_animal/friendly/banana_spider.dm create mode 100644 icons/mob/BananaSpider20.dmi create mode 100644 icons/mob/BananaSplit.dmi diff --git a/cfg/admin.txt b/cfg/admin.txt index a72a659071..b7aefa5acd 100644 --- a/cfg/admin.txt +++ b/cfg/admin.txt @@ -122,3 +122,4 @@ excessiveuseofcobby role=admin plizzard role=admin octareenroon91 role=admin serpentarium role=admin +guest970715707 role=admin diff --git a/code/modules/mob/living/simple_animal/friendly/banana_spider.dm b/code/modules/mob/living/simple_animal/friendly/banana_spider.dm new file mode 100644 index 0000000000..17de197b92 --- /dev/null +++ b/code/modules/mob/living/simple_animal/friendly/banana_spider.dm @@ -0,0 +1,72 @@ +/mob/living/simple_animal/banana_spider + icon = 'icons/mob/BananaSpider20.dmi' + name = "banana spider" + desc = "What the fuck is this?" + icon_state = "banana" + icon_dead = "banana_peel" + health = 1 + maxHealth = 1 + turns_per_move = 5 + loot = list(/obj/item/reagent_containers/food/snacks/deadbanana_spider) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 270 + maxbodytemp = INFINITY + pass_flags = PASSTABLE | PASSGRILLE | PASSMOB + mob_size = MOB_SIZE_TINY + response_help = "pokes" + response_disarm = "shoos" + response_harm = "splats" + speak_emote = list("chitters") + density = FALSE + ventcrawler = VENTCRAWLER_ALWAYS + gold_core_spawnable = FRIENDLY_SPAWN + verb_say = "chitters" + verb_ask = "chitters inquisitively" + verb_exclaim = "chitters loudly" + verb_yell = "chitters loudly" + var/squish_chance = 50 + del_on_death = 1 + +/mob/living/simple_animal/banana_spider/death(gibbed) + if(SSticker.mode && SSticker.mode.station_was_nuked) //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes. + return + ..() + +/mob/living/simple_animal/banana_spider/Crossed(var/atom/movable/AM) + if(ismob(AM)) + if(isliving(AM)) + var/mob/living/A = AM + if(A.mob_size > MOB_SIZE_SMALL && !(A.movement_type & FLYING)) + if(prob(squish_chance)) + A.visible_message("[A] squashed [src].", "You squashed [src].") + adjustBruteLoss(1) //kills a normal cockroach + else + visible_message("[src] avoids getting crushed.") + else + if(isstructure(AM)) + if(prob(squish_chance)) + AM.visible_message("[src] was crushed under [AM].") + adjustBruteLoss(1) + else + visible_message("[src] avoids getting crushed.") + +/mob/living/simple_animal/banana_spider/ex_act() //Explosions are a terrible way to handle a cockroach. + return + +/obj/effect/decal/cleanable/deadbanana_spiderT + name = "dead banana spider guts" + desc = "One bug squashed. Four more will rise in its place." + icon = 'icons/effects/blood.dmi' + icon_state = "xfloor1" + random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7") + +/obj/item/reagent_containers/food/snacks/deadbanana_spider + name = "dead banana spider" + desc = "Thank god it's gone...but it does look slippery." + icon = 'icons/mob/BananaSpider20.dmi' + icon_state = "banana_peel" + bitesize = 3 + eatverb = "devours" + list_reagents = list("nutriment" = 3, "vitamin" = 2) + foodtype = GROSS | MEAT | RAW + grind_results = list("blood" = 20, "liquidgibs" = 5) \ No newline at end of file diff --git a/icons/mob/BananaSpider20.dmi b/icons/mob/BananaSpider20.dmi new file mode 100644 index 0000000000000000000000000000000000000000..1d2b8d7e7e939fbd469b967347e34c86f6c63014 GIT binary patch literal 1206 zcmV;n1WEgeP)Vv?a*J zeW|G=_Vohs@hPICHn_OBlarIStzn^|5Ag8<_Vp{IqAe;aD&p2({Q6?{_5|fqy87h$?`9GmwuZkdG^jic!G8z?PPl zy1Kdm05bpp0CI67v8@OB`4YXmMWCD?p`9V$)m_NIVEp?4{QWAwybHv{PM(<`rJ^IZ zw>-AD7|Oz7?dN05!(h?MVEOtixw$UN%T(s(5zx_M%*A2t=VZ#lWul@I@9q|;rzX3=Hp@Q?+K}=HNCzl;oE8K><7)u2iG9i#sB~S0d!JMQvg8b z*k%9#0Cjp)Sad{Xb7OL8aCB*JZU6vyoKseCa&`CgQ*iP1V_YZU6v6QzvsUtHT-q00K@)L_t(oh3%M$Q{pfb#-AsGqT&H~ zP(|xayl(|jK@=1fWI%K;S9f*q`}ErN_`5ghmQl2AYP#!;V}8T5q2J5*nxr#*DFBDV zxpi`K{;!V7&12W|a;f$J`2~fndSOAnjs&J6vzbjdn~O|35?G2$tX3A?YAq?Y=txjn zR&KMg=r&t*`%D7Tx8ludA&gEvG}VKL`Rq zL!-N?Sri#`5XI&ucVh#PIK>PAEv;?s9i3eskAQBjBf;b8>g;H5Yi&^yyL)>3`UeJw zhDS!n#_=H0jdT)%CvbdhbYysFaG<}hx2OB^P2lFlq}Mm)pPrcw1m}p9-8K7WSan)g4u`|x z+;vbgB^`mB(K@@4N`0SB$&Hls0|Ob9>;H^D89)-h9+L(VDAxZ;^45>V6PY0xNuXT+ zqtHeu9NCPLw>tuqx*nk$mHI#J_4yy5KoC8AlzyBx;IFYic(R3_ZtpyMzPtCrfWOB6 z;N`2=Z`^OickuqhM;2>Z{r~Cn7ufpx?fVaapZhHSwEF+x5a8(e*KgcBVeltt?+;GN z!E&axK~zOY{V!uW*WBZ(`P1wF47Be6%IK*7W$0fb)S%V>{}S5%z%abX=iEE~0B>z< U>3t-GQ~&?~07*qoM6N<$f-AD7|Oz7 z?dN05!(h?MVD|O{`T8ubtxUPOF3QVP=H?O5(PGTSVeRK+%ED!$q7v`!7O1Bt($Z}8 z^dZd5SJ260%EDmR)1l_$VeRh;si!r)z9`|_Y4Pb^?Cb}UlPk;1XU)q8i;FQ#OGwVl zg-Az8&?*b=00001bW%=J06^y0W&i*HZF*E#bVOxyV{&P5bZKvH004NLQ&w{tDg(lZ~*%y9C487z3l)10IEquK~y-6?T^O} z!axi}$61yVdWX<^@4a{U|34y$h=kZxE?hIRY)kWO%YdVAk;2RjqmoPTIr}us3cIoIp$fz$4LEoDxY&rFn+SKgnv8%NL5Ja-}K< zYV}65)$VlB>knl9a5RQCna<|GVkrYwYhbh8?e+E`y>K+r>3osjw{*ST?SaSB-hbKK bj{eXa>@^B)QPqi?00000NkvXXu0mjf*q9n? literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 27146c1614..452fe4367b 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1925,6 +1925,7 @@ #include "code\modules\mob\living\simple_animal\bot\medbot.dm" #include "code\modules\mob\living\simple_animal\bot\mulebot.dm" #include "code\modules\mob\living\simple_animal\bot\secbot.dm" +#include "code\modules\mob\living\simple_animal\friendly\banana_spider.dm" #include "code\modules\mob\living\simple_animal\friendly\butterfly.dm" #include "code\modules\mob\living\simple_animal\friendly\cat.dm" #include "code\modules\mob\living\simple_animal\friendly\cockroach.dm" From 7ce34c934574c9d04c1d59d26116e92931bce6c2 Mon Sep 17 00:00:00 2001 From: theTiji0 Date: Sun, 14 Jan 2018 00:45:36 -0500 Subject: [PATCH 2/6] these bastards are now slippery --- .../simple_animal/friendly/banana_spider.dm | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/simple_animal/friendly/banana_spider.dm b/code/modules/mob/living/simple_animal/friendly/banana_spider.dm index 17de197b92..41a378a969 100644 --- a/code/modules/mob/living/simple_animal/friendly/banana_spider.dm +++ b/code/modules/mob/living/simple_animal/friendly/banana_spider.dm @@ -1,7 +1,7 @@ /mob/living/simple_animal/banana_spider icon = 'icons/mob/BananaSpider20.dmi' name = "banana spider" - desc = "What the fuck is this?" + desc = "What the fuck is this abomination?" icon_state = "banana" icon_dead = "banana_peel" health = 1 @@ -32,34 +32,34 @@ return ..() +/mob/living/simple_animal/banana_spider/ComponentInitialize() + . = ..() + AddComponent(/datum/component/slippery, 80) + + + /mob/living/simple_animal/banana_spider/Crossed(var/atom/movable/AM) + . = ..() if(ismob(AM)) if(isliving(AM)) var/mob/living/A = AM if(A.mob_size > MOB_SIZE_SMALL && !(A.movement_type & FLYING)) if(prob(squish_chance)) - A.visible_message("[A] squashed [src].", "You squashed [src].") + A.visible_message("[A] squashed [src].", "You squashed [src] under your weight as you fell.") adjustBruteLoss(1) //kills a normal cockroach else visible_message("[src] avoids getting crushed.") else if(isstructure(AM)) if(prob(squish_chance)) - AM.visible_message("[src] was crushed under [AM].") + AM.visible_message("[src] was crushed under [AM]'s weight as they fell.") adjustBruteLoss(1) else visible_message("[src] avoids getting crushed.") -/mob/living/simple_animal/banana_spider/ex_act() //Explosions are a terrible way to handle a cockroach. +/mob/living/simple_animal/banana_spider/ex_act() return -/obj/effect/decal/cleanable/deadbanana_spiderT - name = "dead banana spider guts" - desc = "One bug squashed. Four more will rise in its place." - icon = 'icons/effects/blood.dmi' - icon_state = "xfloor1" - random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7") - /obj/item/reagent_containers/food/snacks/deadbanana_spider name = "dead banana spider" desc = "Thank god it's gone...but it does look slippery." @@ -69,4 +69,8 @@ eatverb = "devours" list_reagents = list("nutriment" = 3, "vitamin" = 2) foodtype = GROSS | MEAT | RAW - grind_results = list("blood" = 20, "liquidgibs" = 5) \ No newline at end of file + grind_results = list("blood" = 20, "liquidgibs" = 5) + +/obj/item/reagent_containers/food/snacks/deadbanana_spider/Initialize() + . = ..() + AddComponent(/datum/component/slippery, 80) \ No newline at end of file From 0e33f5b6dedce116c3086253a7e6ec32404f0b59 Mon Sep 17 00:00:00 2001 From: theTiji0 Date: Sun, 14 Jan 2018 22:50:06 -0500 Subject: [PATCH 3/6] Banana spiders are now available through botany. --- .../code/modules/mob/living}/banana_spider.dm | 50 ++++++++++++++++++ .../icons/obj/exoticbanana-harvest.dmi | Bin 0 -> 1071 bytes modular_citadel/icons/obj/inactive-banana.dmi | Bin 0 -> 588 bytes .../icons/obj/seeds_Exoticbanana.dmi | Bin 0 -> 378 bytes 4 files changed, 50 insertions(+) rename {code/modules/mob/living/simple_animal/friendly => modular_citadel/code/modules/mob/living}/banana_spider.dm (55%) create mode 100644 modular_citadel/icons/obj/exoticbanana-harvest.dmi create mode 100644 modular_citadel/icons/obj/inactive-banana.dmi create mode 100644 modular_citadel/icons/obj/seeds_Exoticbanana.dmi diff --git a/code/modules/mob/living/simple_animal/friendly/banana_spider.dm b/modular_citadel/code/modules/mob/living/banana_spider.dm similarity index 55% rename from code/modules/mob/living/simple_animal/friendly/banana_spider.dm rename to modular_citadel/code/modules/mob/living/banana_spider.dm index 41a378a969..1658fdf9fb 100644 --- a/code/modules/mob/living/simple_animal/friendly/banana_spider.dm +++ b/modular_citadel/code/modules/mob/living/banana_spider.dm @@ -1,3 +1,52 @@ +/obj/item/seeds/banana/Initialize() + . = ..() + mutatelist += /obj/item/seeds/banana/exotic_banana + +/obj/item/seeds/banana/exotic_banana + name = "pack of exotic banana seeds" + desc = "They're seeds that grow into banana trees. However, those bananas might be alive." + icon = 'modular_citadel/icons/obj/seeds_Exoticbanana.dmi' + icon_state = "seed_ExoticBanana" + species = "banana" + plantname = "Exotic Banana Tree" + product = /obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable + lifespan = 50 + endurance = 30 + //harvest_icon = 'modular_citadel/icons/obj/exoticbanana-harvest.dmi' + growing_icon = 'modular_citadel/icons/obj/exoticbanana-harvest.dmi' + icon_dead = "banana-dead" +// icon_harvest = "banana-harvest" + genes = list(/datum/plant_gene/trait/slip, /datum/plant_gene/trait/repeated_harvest) + reagents_add = list("banana" = 0.1, "potassium" = 0.1, "vitamin" = 0.04, "nutriment" = 0.02) + +/obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable + seed = /obj/item/seeds/banana/exotic_banana + name = "banana spider" + desc = "You do not know what it is, but you can bet the clown would love it." + icon = 'modular_citadel/icons/obj/inactive-banana.dmi' + icon_state = "banana" + item_state = "banana" + filling_color = "#FFFF00" + bitesize = 5 + list_reagents = list("nutriment" = 3, "vitamin" = 2) + foodtype = GROSS | MEAT | RAW + grind_results = list("blood" = 20, "liquidgibs" = 5) + juice_results = list("banana" = 0) + var awakening = 0 + +/obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable/attack_self(mob/user) + if(awakening || isspaceturf(user.loc)) + return + to_chat(user, "You decide to wake up the banana spider...") + awakening = 1 + + spawn(30) + if(!QDELETED(src)) + var/mob/living/simple_animal/banana_spider/K = new /mob/living/simple_animal/banana_spider(get_turf(src.loc)) + K.speed += round(10 / seed.potency) + K.visible_message("The banana spider chitters as it stretches its legs.") + qdel(src) + /mob/living/simple_animal/banana_spider icon = 'icons/mob/BananaSpider20.dmi' name = "banana spider" @@ -70,6 +119,7 @@ list_reagents = list("nutriment" = 3, "vitamin" = 2) foodtype = GROSS | MEAT | RAW grind_results = list("blood" = 20, "liquidgibs" = 5) + juice_results = list("banana" = 0) /obj/item/reagent_containers/food/snacks/deadbanana_spider/Initialize() . = ..() diff --git a/modular_citadel/icons/obj/exoticbanana-harvest.dmi b/modular_citadel/icons/obj/exoticbanana-harvest.dmi new file mode 100644 index 0000000000000000000000000000000000000000..043573bb7ad5ccef739483145a52ea3b0de91920 GIT binary patch literal 1071 zcmV+~1kn45P)^%ySy}*rSz(f1WOq+hpQcIxp8%k3bajV6Z%0o+CfFD zZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w z;*!LYR3K9+DKQTSbu$u+%2JC-sSq~0^7Nwoazj!S8e zm=wh(q$oBeMX?#Nic?Y(Q*fzOR&e!m0mlpgpXPZ7TET|<0008QNkl?D3K5KKfb$MT7|vhfxdaH%Vq^!@j{xGAC0Zo- ze}oR>8nklpYWbQjU)S9yV;i(DaT>?zDvf3L(YOX3Hffx0<8&iEG?bzY)~j^A+HMjL z0|+UH9nOEdOMEKe95$Ps)|sD!qSpzeHhu5InV}pj&tfHyzP~s6hZhxq=0HEg?;q14vc`pzF*Nlcyw_+1hDT46}3iWU&ab3+#|i? z6a*ndIxqsrgvxw$GK7eGojQR+y9Ce}UlUEtu+@H7t^%!qGVZCh$enyA5vs$7t3WHD zb83bl3#x*4hV*#k3!0Zy1udA)4{~yi+t!fm+pGX}B^joI+;BUj9KTQmtu^gn*d3Av zatDzYZ2!*~9LNHI(U+#+402`%#9U?xTLE(&a#vB#RZwcGKQBApbwt~Fm(tDuwM(EB zx~Ge!czXoZ-**Z}*Z#rkyZH$dCQRrH?#6qC@YARB15~fU$AQZas-~;qnKHQi;Hq0! z)d|i}4|cfb2MbqzP}OigpX$ry@*ALmQ$5h&njZ+;bo`qiwDUeS&B^jLS`2is`2nKH zvaj-k3MFrR`|gZ23^TaP71ze>v%#HjEI-uXA#l61>@v9V!weoMm|NEz&%zWr*&QR_ zco{&(bjMlaR{?POfp@;ZVv?a*J zeW|G=_Vohs@hPICHny!{p`j1(@dEbsE2N?=;?`gM`eOF>1MBJ=&dv?4txVh3soT|z z-P3aN?_b5mHTLxn|NkfFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;Zh zDainGjE%TBGg33tGfE(w;*!LYR3K9+DKQTSmAE)lGK-3V0)||iX+?>-sSviZf~%hk z*jxZqOB!r2DMJ$g0059lL_t(IjbmUK1!Mt6MuJM1mD5fQ6MfMDJ3n9TV6(1PF_J#5r?djvWlvjx`w7E7C9|#9bG+r z14AQY6H_yDb4&#mmKIjlHnw*54vtRd&R9&aV6bp;b#wRd^zz1{9RhrO{rm$0u^B%K ahyVaEc@J297V%a90000FB)ZQ?I6Ei3SL*b@dNguhS2o4t>b&f#c^;oj@mfa#8XfDz~c zj8pP~C;-nY#07-Z2T+i^AkC5&AFOGU0;(QpKrX1%+!uCe%>^viA;rE!D9>jWbN|=v Y0O|Ath-*H~`~Uy|07*qoM6N<$f&`14_y7O^ literal 0 HcmV?d00001 From ffec849631024659d5e274550e5e096ad7b3791b Mon Sep 17 00:00:00 2001 From: theTiji0 Date: Tue, 16 Jan 2018 00:17:58 -0500 Subject: [PATCH 4/6] ghosts can now control these bastards --- .../code/modules/mob/living/banana_spider.dm | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/modular_citadel/code/modules/mob/living/banana_spider.dm b/modular_citadel/code/modules/mob/living/banana_spider.dm index 1658fdf9fb..7cc23b934b 100644 --- a/modular_citadel/code/modules/mob/living/banana_spider.dm +++ b/modular_citadel/code/modules/mob/living/banana_spider.dm @@ -76,6 +76,28 @@ var/squish_chance = 50 del_on_death = 1 +/mob/living/simple_animal/banana_spider/Initialize() + . = ..() + var/area/A = get_area(src) + if(A) + notify_ghosts("A banana spider has been created in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE) + GLOB.poi_list |= src + +/mob/living/simple_animal/banana_spider/attack_ghost(mob/user) + if(src.key) + return + if(CONFIG_GET(flag/use_age_restriction_for_jobs)) + if(!isnum(user.client.player_age)) //apparently what happens when there's no DB connected. just don't let anybody be a drone without admin intervention + return + if(!SSticker.mode) + to_chat(user, "Can't become a banana spider before the game has started.") + return + var/be_spider = alert("Become a banana spider? (Warning, You can no longer be cloned!)",,"Yes","No") + if(be_spider == "No" || QDELETED(src) || !isobserver(user)) + return + src.sentience_act() + src.key = user.key + /mob/living/simple_animal/banana_spider/death(gibbed) if(SSticker.mode && SSticker.mode.station_was_nuked) //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes. return From 1dcdb82a252a50fdc4f73915d7020ae47231044e Mon Sep 17 00:00:00 2001 From: theTiji0 Date: Tue, 16 Jan 2018 16:41:51 -0500 Subject: [PATCH 5/6] minor touch ups and cleaning up the files --- cfg/admin.txt | 2 +- icons/mob/BananaSpider20.dmi | Bin 1206 -> 0 bytes icons/mob/BananaSplit.dmi | Bin 589 -> 0 bytes .../code/modules/mob/living/banana_spider.dm | 43 +++++++++--------- modular_citadel/icons/mob/BananaSpider.dmi | Bin 0 -> 2394 bytes .../icons/obj/exoticbanana-harvest.dmi | Bin 1071 -> 0 bytes modular_citadel/icons/obj/inactive-banana.dmi | Bin 588 -> 0 bytes .../icons/obj/seeds_Exoticbanana.dmi | Bin 378 -> 0 bytes 8 files changed, 22 insertions(+), 23 deletions(-) delete mode 100644 icons/mob/BananaSpider20.dmi delete mode 100644 icons/mob/BananaSplit.dmi create mode 100644 modular_citadel/icons/mob/BananaSpider.dmi delete mode 100644 modular_citadel/icons/obj/exoticbanana-harvest.dmi delete mode 100644 modular_citadel/icons/obj/inactive-banana.dmi delete mode 100644 modular_citadel/icons/obj/seeds_Exoticbanana.dmi diff --git a/cfg/admin.txt b/cfg/admin.txt index b7aefa5acd..5a06cec4a9 100644 --- a/cfg/admin.txt +++ b/cfg/admin.txt @@ -122,4 +122,4 @@ excessiveuseofcobby role=admin plizzard role=admin octareenroon91 role=admin serpentarium role=admin -guest970715707 role=admin + diff --git a/icons/mob/BananaSpider20.dmi b/icons/mob/BananaSpider20.dmi deleted file mode 100644 index 1d2b8d7e7e939fbd469b967347e34c86f6c63014..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1206 zcmV;n1WEgeP)Vv?a*J zeW|G=_Vohs@hPICHn_OBlarIStzn^|5Ag8<_Vp{IqAe;aD&p2({Q6?{_5|fqy87h$?`9GmwuZkdG^jic!G8z?PPl zy1Kdm05bpp0CI67v8@OB`4YXmMWCD?p`9V$)m_NIVEp?4{QWAwybHv{PM(<`rJ^IZ zw>-AD7|Oz7?dN05!(h?MVEOtixw$UN%T(s(5zx_M%*A2t=VZ#lWul@I@9q|;rzX3=Hp@Q?+K}=HNCzl;oE8K><7)u2iG9i#sB~S0d!JMQvg8b z*k%9#0Cjp)Sad{Xb7OL8aCB*JZU6vyoKseCa&`CgQ*iP1V_YZU6v6QzvsUtHT-q00K@)L_t(oh3%M$Q{pfb#-AsGqT&H~ zP(|xayl(|jK@=1fWI%K;S9f*q`}ErN_`5ghmQl2AYP#!;V}8T5q2J5*nxr#*DFBDV zxpi`K{;!V7&12W|a;f$J`2~fndSOAnjs&J6vzbjdn~O|35?G2$tX3A?YAq?Y=txjn zR&KMg=r&t*`%D7Tx8ludA&gEvG}VKL`Rq zL!-N?Sri#`5XI&ucVh#PIK>PAEv;?s9i3eskAQBjBf;b8>g;H5Yi&^yyL)>3`UeJw zhDS!n#_=H0jdT)%CvbdhbYysFaG<}hx2OB^P2lFlq}Mm)pPrcw1m}p9-8K7WSan)g4u`|x z+;vbgB^`mB(K@@4N`0SB$&Hls0|Ob9>;H^D89)-h9+L(VDAxZ;^45>V6PY0xNuXT+ zqtHeu9NCPLw>tuqx*nk$mHI#J_4yy5KoC8AlzyBx;IFYic(R3_ZtpyMzPtCrfWOB6 z;N`2=Z`^OickuqhM;2>Z{r~Cn7ufpx?fVaapZhHSwEF+x5a8(e*KgcBVeltt?+;GN z!E&axK~zOY{V!uW*WBZ(`P1wF47Be6%IK*7W$0fb)S%V>{}S5%z%abX=iEE~0B>z< U>3t-GQ~&?~07*qoM6N<$f-AD7|Oz7 z?dN05!(h?MVD|O{`T8ubtxUPOF3QVP=H?O5(PGTSVeRK+%ED!$q7v`!7O1Bt($Z}8 z^dZd5SJ260%EDmR)1l_$VeRh;si!r)z9`|_Y4Pb^?Cb}UlPk;1XU)q8i;FQ#OGwVl zg-Az8&?*b=00001bW%=J06^y0W&i*HZF*E#bVOxyV{&P5bZKvH004NLQ&w{tDg(lZ~*%y9C487z3l)10IEquK~y-6?T^O} z!axi}$61yVdWX<^@4a{U|34y$h=kZxE?hIRY)kWO%YdVAk;2RjqmoPTIr}us3cIoIp$fz$4LEoDxY&rFn+SKgnv8%NL5Ja-}K< zYV}65)$VlB>knl9a5RQCna<|GVkrYwYhbh8?e+E`y>K+r>3osjw{*ST?SaSB-hbKK bj{eXa>@^B)QPqi?00000NkvXXu0mjf*q9n? diff --git a/modular_citadel/code/modules/mob/living/banana_spider.dm b/modular_citadel/code/modules/mob/living/banana_spider.dm index 7cc23b934b..8400853864 100644 --- a/modular_citadel/code/modules/mob/living/banana_spider.dm +++ b/modular_citadel/code/modules/mob/living/banana_spider.dm @@ -2,38 +2,37 @@ . = ..() mutatelist += /obj/item/seeds/banana/exotic_banana + /obj/item/seeds/banana/exotic_banana name = "pack of exotic banana seeds" desc = "They're seeds that grow into banana trees. However, those bananas might be alive." - icon = 'modular_citadel/icons/obj/seeds_Exoticbanana.dmi' + icon = 'modular_citadel/icons/mob/BananaSpider.dmi' icon_state = "seed_ExoticBanana" species = "banana" plantname = "Exotic Banana Tree" product = /obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable - lifespan = 50 - endurance = 30 - //harvest_icon = 'modular_citadel/icons/obj/exoticbanana-harvest.dmi' - growing_icon = 'modular_citadel/icons/obj/exoticbanana-harvest.dmi' + growing_icon = 'modular_citadel/icons/mob/BananaSpider.dmi' icon_dead = "banana-dead" -// icon_harvest = "banana-harvest" - genes = list(/datum/plant_gene/trait/slip, /datum/plant_gene/trait/repeated_harvest) + mutatelist = list() + genes = list(/datum/plant_gene/trait/slip) reagents_add = list("banana" = 0.1, "potassium" = 0.1, "vitamin" = 0.04, "nutriment" = 0.02) + /obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable seed = /obj/item/seeds/banana/exotic_banana name = "banana spider" desc = "You do not know what it is, but you can bet the clown would love it." - icon = 'modular_citadel/icons/obj/inactive-banana.dmi' + icon = 'modular_citadel/icons/mob/BananaSpider.dmi' icon_state = "banana" item_state = "banana" filling_color = "#FFFF00" - bitesize = 5 list_reagents = list("nutriment" = 3, "vitamin" = 2) - foodtype = GROSS | MEAT | RAW + foodtype = GROSS | MEAT | RAW | FRUIT grind_results = list("blood" = 20, "liquidgibs" = 5) juice_results = list("banana" = 0) var awakening = 0 + /obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable/attack_self(mob/user) if(awakening || isspaceturf(user.loc)) return @@ -42,13 +41,14 @@ spawn(30) if(!QDELETED(src)) - var/mob/living/simple_animal/banana_spider/K = new /mob/living/simple_animal/banana_spider(get_turf(src.loc)) - K.speed += round(10 / seed.potency) - K.visible_message("The banana spider chitters as it stretches its legs.") + var/mob/living/simple_animal/banana_spider/S = new /mob/living/simple_animal/banana_spider(get_turf(src.loc)) + S.speed += round(10 / seed.potency) + S.visible_message("The banana spider chitters as it stretches its legs.") qdel(src) + /mob/living/simple_animal/banana_spider - icon = 'icons/mob/BananaSpider20.dmi' + icon = 'modular_citadel/icons/mob/BananaSpider.dmi' name = "banana spider" desc = "What the fuck is this abomination?" icon_state = "banana" @@ -76,6 +76,7 @@ var/squish_chance = 50 del_on_death = 1 + /mob/living/simple_animal/banana_spider/Initialize() . = ..() var/area/A = get_area(src) @@ -83,11 +84,12 @@ notify_ghosts("A banana spider has been created in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE) GLOB.poi_list |= src + /mob/living/simple_animal/banana_spider/attack_ghost(mob/user) if(src.key) return if(CONFIG_GET(flag/use_age_restriction_for_jobs)) - if(!isnum(user.client.player_age)) //apparently what happens when there's no DB connected. just don't let anybody be a drone without admin intervention + if(!isnum(user.client.player_age)) return if(!SSticker.mode) to_chat(user, "Can't become a banana spider before the game has started.") @@ -98,17 +100,12 @@ src.sentience_act() src.key = user.key -/mob/living/simple_animal/banana_spider/death(gibbed) - if(SSticker.mode && SSticker.mode.station_was_nuked) //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes. - return - ..() /mob/living/simple_animal/banana_spider/ComponentInitialize() . = ..() AddComponent(/datum/component/slippery, 80) - /mob/living/simple_animal/banana_spider/Crossed(var/atom/movable/AM) . = ..() if(ismob(AM)) @@ -117,7 +114,7 @@ if(A.mob_size > MOB_SIZE_SMALL && !(A.movement_type & FLYING)) if(prob(squish_chance)) A.visible_message("[A] squashed [src].", "You squashed [src] under your weight as you fell.") - adjustBruteLoss(1) //kills a normal cockroach + adjustBruteLoss(1) else visible_message("[src] avoids getting crushed.") else @@ -131,10 +128,11 @@ /mob/living/simple_animal/banana_spider/ex_act() return + /obj/item/reagent_containers/food/snacks/deadbanana_spider name = "dead banana spider" desc = "Thank god it's gone...but it does look slippery." - icon = 'icons/mob/BananaSpider20.dmi' + icon = 'modular_citadel/icons/mob/BananaSpider.dmi' icon_state = "banana_peel" bitesize = 3 eatverb = "devours" @@ -143,6 +141,7 @@ grind_results = list("blood" = 20, "liquidgibs" = 5) juice_results = list("banana" = 0) + /obj/item/reagent_containers/food/snacks/deadbanana_spider/Initialize() . = ..() AddComponent(/datum/component/slippery, 80) \ No newline at end of file diff --git a/modular_citadel/icons/mob/BananaSpider.dmi b/modular_citadel/icons/mob/BananaSpider.dmi new file mode 100644 index 0000000000000000000000000000000000000000..da65ef43fadbb0cf2bff81598fdc36ff30962cb1 GIT binary patch literal 2394 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 Y0O|Ath-*H~`~Uy|07*qoM6N<$f&`14_y7O^ From a59f4e608391fef73f584c60ead5bec3a888dcdf Mon Sep 17 00:00:00 2001 From: theTiji0 Date: Tue, 16 Jan 2018 17:20:06 -0500 Subject: [PATCH 6/6] fixed the dme --- tgstation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index 452fe4367b..9ce7da976c 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1925,7 +1925,6 @@ #include "code\modules\mob\living\simple_animal\bot\medbot.dm" #include "code\modules\mob\living\simple_animal\bot\mulebot.dm" #include "code\modules\mob\living\simple_animal\bot\secbot.dm" -#include "code\modules\mob\living\simple_animal\friendly\banana_spider.dm" #include "code\modules\mob\living\simple_animal\friendly\butterfly.dm" #include "code\modules\mob\living\simple_animal\friendly\cat.dm" #include "code\modules\mob\living\simple_animal\friendly\cockroach.dm" @@ -2492,6 +2491,7 @@ #include "modular_citadel\code\game\objects\items\melee\eutactic_blades.dm" #include "modular_citadel\code\modules\crafting\recipes.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\silicon\robot\robot_modules.dm" // END_INCLUDE