diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index ba81798495..00d6fb4557 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -112,8 +112,8 @@ qdel(src) /obj/effect/spider/eggcluster/small - spiders_min = 1 - spiders_max = 3 + spiders_min = 2 + spiders_max = 6 /obj/effect/spider/eggcluster/small/frost spider_type = /obj/effect/spider/spiderling/frost diff --git a/code/modules/mob/living/simple_animal/animals/giant_spider.dm b/code/modules/mob/living/simple_animal/animals/giant_spider.dm index 99d6c2f18f..29134b6edb 100644 --- a/code/modules/mob/living/simple_animal/animals/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/animals/giant_spider.dm @@ -83,6 +83,7 @@ Nurse Family poison_type = "spidertoxin" // VOREStation edit, original is stoxin. (sleep toxins) var/fed = 0 + var/fedsmall = 0 var/atom/cocoon_target var/egg_inject_chance = 5 @@ -518,7 +519,7 @@ Spider Procs else //third, lay an egg cluster there var/obj/effect/spider/eggcluster/E = locate() in get_turf(src) - if(!E && fed > 0) + if(!E && fed > 0 || fedsmall > 0) busy = LAYING_EGGS src.visible_message("\The [src] begins to lay a cluster of eggs.") stop_automated_movement = 1 @@ -526,8 +527,12 @@ Spider Procs if(busy == LAYING_EGGS) E = locate() in get_turf(src) if(!E) - new /obj/effect/spider/eggcluster(loc, src) - fed-- + if(fed >= 1) + new /obj/effect/spider/eggcluster(loc, src) + fed-- + if(fedsmall >= 1) + new /obj/effect/spider/eggcluster/small(loc, src) + fedsmall-- busy = 0 stop_automated_movement = 0 else @@ -562,7 +567,10 @@ Spider Procs if(istype(M, /mob/living/simple_animal/hostile/giant_spider)) continue large_cocoon = 1 - fed++ + if(istiny(cocoon_target)) + fedsmall++ + if(!istiny(cocoon_target)) + fed++ src.visible_message("\The [src] sticks a proboscis into \the [cocoon_target] and sucks a viscous substance out.") M.forceMove(C) C.pixel_x = M.pixel_x