/* Reproductive extracts: When fed three monkey cubes, produces between 1 and 4 normal slime extracts of the same colour. */ /obj/item/slimecross/reproductive name = "reproductive extract" desc = "It pulses with a strange hunger." icon_state = "reproductive" effect = "reproductive" var/extract_type = /obj/item/slime_extract/ var/cubes_eaten = 0 var/last_produce = 0 var/cooldown = 30 // 3 seconds. /obj/item/slimecross/reproductive/attackby(obj/item/O, mob/user) if((last_produce + cooldown) > world.time) to_chat(user, "[src] is still digesting!") return if(istype(O, /obj/item/storage/bag/bio)) var/list/inserted = list() SEND_SIGNAL(O, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/reagent_containers/food/snacks/monkeycube, src, 1, null, null, user, inserted) if(inserted.len) var/obj/item/reagent_containers/food/snacks/monkeycube/M = inserted[1] if(istype(M)) eat_cube(M, user) else to_chat(user, "There are no monkey cubes in the bio bag!") if(istype(O,/obj/item/reagent_containers/food/snacks/monkeycube)) eat_cube(O, user) if(cubes_eaten >= 3) var/cores = rand(1,4) visible_message("[src] briefly swells to a massive size, and expels [cores] extract[cores > 1 ? "s":""]!") playsound(src, 'sound/effects/splat.ogg', 40, 1) last_produce = world.time for(var/i = 0, i < cores, i++) new extract_type(get_turf(loc)) cubes_eaten = 0 /obj/item/slimecross/reproductive/proc/eat_cube(obj/item/reagent_containers/food/snacks/monkeycube, mob/user) qdel(monkeycube) cubes_eaten++ to_chat(user, "You feed [monkeycube] to [src], and it pulses gently.") playsound(src, 'sound/items/eatfood.ogg', 20, 1) /obj/item/slimecross/reproductive/grey extract_type = /obj/item/slime_extract/grey colour = "grey" /obj/item/slimecross/reproductive/orange extract_type = /obj/item/slime_extract/orange colour = "orange" /obj/item/slimecross/reproductive/purple extract_type = /obj/item/slime_extract/purple colour = "purple" /obj/item/slimecross/reproductive/blue extract_type = /obj/item/slime_extract/blue colour = "blue" /obj/item/slimecross/reproductive/metal extract_type = /obj/item/slime_extract/metal colour = "metal" /obj/item/slimecross/reproductive/yellow extract_type = /obj/item/slime_extract/yellow colour = "yellow" /obj/item/slimecross/reproductive/darkpurple extract_type = /obj/item/slime_extract/darkpurple colour = "dark purple" /obj/item/slimecross/reproductive/darkblue extract_type = /obj/item/slime_extract/darkblue colour = "dark blue" /obj/item/slimecross/reproductive/silver extract_type = /obj/item/slime_extract/silver colour = "silver" /obj/item/slimecross/reproductive/bluespace extract_type = /obj/item/slime_extract/bluespace colour = "bluespace" /obj/item/slimecross/reproductive/sepia extract_type = /obj/item/slime_extract/sepia colour = "sepia" /obj/item/slimecross/reproductive/cerulean extract_type = /obj/item/slime_extract/cerulean colour = "cerulean" /obj/item/slimecross/reproductive/pyrite extract_type = /obj/item/slime_extract/pyrite colour = "pyrite" /obj/item/slimecross/reproductive/red extract_type = /obj/item/slime_extract/red colour = "red" /obj/item/slimecross/reproductive/green extract_type = /obj/item/slime_extract/green colour = "green" /obj/item/slimecross/reproductive/pink extract_type = /obj/item/slime_extract/pink colour = "pink" /obj/item/slimecross/reproductive/gold extract_type = /obj/item/slime_extract/gold colour = "gold" /obj/item/slimecross/reproductive/oil extract_type = /obj/item/slime_extract/oil colour = "oil" /obj/item/slimecross/reproductive/black extract_type = /obj/item/slime_extract/black colour = "black" /obj/item/slimecross/reproductive/lightpink extract_type = /obj/item/slime_extract/lightpink colour = "light pink" /obj/item/slimecross/reproductive/adamantine extract_type = /obj/item/slime_extract/adamantine colour = "adamantine" /obj/item/slimecross/reproductive/rainbow extract_type = /obj/item/slime_extract/rainbow colour = "rainbow"