diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm
index 251d9de5c0..b25f76c1c8 100644
--- a/code/modules/hydroponics/grown/banana.dm
+++ b/code/modules/hydroponics/grown/banana.dm
@@ -11,7 +11,7 @@
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
icon_dead = "banana-dead"
genes = list(/datum/plant_gene/trait/slip, /datum/plant_gene/trait/repeated_harvest)
- mutatelist = list(/obj/item/seeds/banana/mime, /obj/item/seeds/banana/bluespace)
+ mutatelist = list(/obj/item/seeds/banana/mime, /obj/item/seeds/banana/bluespace, /obj/item/seeds/banana/exotic_banana)
reagents_add = list("banana" = 0.1, "potassium" = 0.1, "vitamin" = 0.04, "nutriment" = 0.02)
/obj/item/reagent_containers/food/snacks/grown/banana
@@ -120,6 +120,41 @@
desc = "A peel from a bluespace banana."
icon_state = "banana_peel_blue"
+//Banana Spider.
+/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_state = "seed_exoticbanana"
+ species = "exoticbanana"
+ icon_grow = "banana-grow"
+ plantname = "Exotic Banana Tree"
+ product = /obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable
+ mutatelist = list()
+ genes = list(/datum/plant_gene/trait/slip)
+
+/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_state = "exoticbanana"
+ list_reagents = list("nutriment" = 3, "vitamin" = 2)
+ foodtype = GROSS | MEAT | RAW | FRUIT
+ grind_results = list("blood" = 20, "liquidgibs" = 5)
+ 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/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)
+
// Other
/obj/item/grown/bananapeel/specialpeel //used by /obj/item/clothing/shoes/clown_shoes/banana_shoes
name = "synthesized banana peel"
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index 564fae48ad..b2971e8d01 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -323,6 +323,132 @@
else
STOP_PROCESSING(SSobj, src)
+// Space kiwis, ergo quite a copypasta of chickens.
+
+/mob/living/simple_animal/kiwi
+ name = "space kiwi"
+ desc = "Exposure to low gravity made them grow larger."
+ gender = FEMALE
+ icon_state = "kiwi"
+ icon_living = "kiwi"
+ icon_dead = "kiwi_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_state = "babykiwi"
+ icon_living = "babykiwi"
+ icon_dead = "babykiwi_dead"
+ 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"
+ desc = "A slightly bigger egg!"
+ icon_state = "kiwiegg"
/obj/item/udder
name = "udder"
diff --git a/modular_citadel/code/modules/mob/living/simple_animal/banana_spider.dm b/code/modules/mob/living/simple_animal/hostile/banana_spider.dm
similarity index 62%
rename from modular_citadel/code/modules/mob/living/simple_animal/banana_spider.dm
rename to code/modules/mob/living/simple_animal/hostile/banana_spider.dm
index fdc271a158..823c26b4e9 100644
--- a/modular_citadel/code/modules/mob/living/simple_animal/banana_spider.dm
+++ b/code/modules/mob/living/simple_animal/hostile/banana_spider.dm
@@ -1,58 +1,8 @@
-/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/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
- growing_icon = 'modular_citadel/icons/mob/BananaSpider.dmi'
- icon_dead = "banana-dead"
- 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/mob/BananaSpider.dmi'
- icon_state = "banana"
- item_state = "banana"
- filling_color = "#FFFF00"
- list_reagents = list("nutriment" = 3, "vitamin" = 2)
- 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
- 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/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 = 'modular_citadel/icons/mob/BananaSpider.dmi'
name = "banana spider"
desc = "What the fuck is this abomination?"
- icon_state = "banana"
- icon_dead = "banana_peel"
+ icon_state = "bananaspider"
+ icon_dead = "bananaspider_peel"
health = 1
maxHealth = 1
turns_per_move = 5 //this isn't player speed =|
@@ -136,8 +86,7 @@
/obj/item/reagent_containers/food/snacks/deadbanana_spider
name = "dead banana spider"
desc = "Thank god it's gone...but it does look slippery."
- icon = 'modular_citadel/icons/mob/BananaSpider.dmi'
- icon_state = "banana_peel"
+ icon_state = "bananaspider"
bitesize = 3
eatverb = "devours"
list_reagents = list("nutriment" = 3, "vitamin" = 2)
diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi
index e9343c7ed2..a46ad83640 100644
Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ
diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi
index 75df4b5cc5..2ea48828d2 100644
Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ
diff --git a/icons/obj/hydroponics/growing_fruits.dmi b/icons/obj/hydroponics/growing_fruits.dmi
index 029d49e196..dfcb54b7b9 100644
Binary files a/icons/obj/hydroponics/growing_fruits.dmi and b/icons/obj/hydroponics/growing_fruits.dmi differ
diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/hydroponics/harvest.dmi
index fa5728f3b4..63dc8b98fd 100644
Binary files a/icons/obj/hydroponics/harvest.dmi and b/icons/obj/hydroponics/harvest.dmi differ
diff --git a/icons/obj/hydroponics/seeds.dmi b/icons/obj/hydroponics/seeds.dmi
index 7caf346f91..3c625cbe40 100644
Binary files a/icons/obj/hydroponics/seeds.dmi and b/icons/obj/hydroponics/seeds.dmi differ
diff --git a/modular_citadel/code/modules/mob/living/simple_animal/kiwi.dm b/modular_citadel/code/modules/mob/living/simple_animal/kiwi.dm
deleted file mode 100644
index 27c1749011..0000000000
--- a/modular_citadel/code/modules/mob/living/simple_animal/kiwi.dm
+++ /dev/null
@@ -1,134 +0,0 @@
-/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/BananaSpider.dmi b/modular_citadel/icons/mob/BananaSpider.dmi
deleted file mode 100644
index da65ef43fa..0000000000
Binary files a/modular_citadel/icons/mob/BananaSpider.dmi and /dev/null differ
diff --git a/modular_citadel/icons/mob/kiwi.dmi b/modular_citadel/icons/mob/kiwi.dmi
deleted file mode 100644
index 18777f65cf..0000000000
Binary files a/modular_citadel/icons/mob/kiwi.dmi and /dev/null differ
diff --git a/tgstation.dme b/tgstation.dme
index 3daee9d346..9da4dafa49 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -2219,6 +2219,7 @@
#include "code\modules\mob\living\simple_animal\guardian\types\standard.dm"
#include "code\modules\mob\living\simple_animal\guardian\types\support.dm"
#include "code\modules\mob\living\simple_animal\hostile\alien.dm"
+#include "code\modules\mob\living\simple_animal\hostile\banana_spider.dm"
#include "code\modules\mob\living\simple_animal\hostile\bear.dm"
#include "code\modules\mob\living\simple_animal\hostile\bees.dm"
#include "code\modules\mob\living\simple_animal\hostile\carp.dm"
@@ -3088,8 +3089,6 @@
#include "modular_citadel\code\modules\mob\living\silicon\robot\robot.dm"
#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_modules.dm"
#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_movement.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\code\modules\power\lighting.dm"
#include "modular_citadel\code\modules\projectiles\gun.dm"
#include "modular_citadel\code\modules\projectiles\ammunition\caseless.dm"