diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm index 51edd639d46..35a49a071a6 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm @@ -137,6 +137,9 @@ /mob/living/simple_animal/hostile/poison/terror_spider/proc/Web() if(!web_type) return + if(!isturf(loc)) + to_chat(src, "Webs can only be spun while standing on a floor.") + return var/turf/mylocation = loc visible_message("[src] begins to secrete a sticky substance.") if(do_after(src, delay_web, target = loc)) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm index b07f34ec368..404b619a9d1 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm @@ -50,6 +50,10 @@ if(!(eggtype in eggtypes)) to_chat(src, "Unrecognized egg type.") return 0 + if(!isturf(loc)) + // This has to be checked after we ask the user what egg type. Otherwise they could trigger prompt THEN move into a vent. + to_chat(src, "Eggs can only be laid while standing on a floor.") + return if(fed < feedings_to_lay) // We have to check this again after the popup, to account for people spam-clicking the button, then doing all the popups at once. to_chat(src, "You must wrap more humanoid prey before you can do this!") diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm index 92b9b11a33b..37213bfc816 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm @@ -72,6 +72,9 @@ if(regen_points < jelly_cost) to_chat(src, "You only have [regen_points] of the [jelly_cost] regeneration points you need to do this.") return + if(!isturf(loc)) + to_chat(src, "You can only secrete jelly while standing on a floor.") + return var/turf/mylocation = get_turf(src) if(isspaceturf(mylocation)) to_chat(src, "Cannot secrete jelly in space.") diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm index 73e75ffa403..fd1a543b038 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm @@ -279,6 +279,9 @@ if(eggtype == null || numlings == null) to_chat(src, "Cancelled.") return + if(!isturf(loc)) + to_chat(src, "Eggs can only be laid while standing on a floor.") + return // Actually lay the eggs. if(canlay < numlings) // We have to check this again after the popups, to account for people spam-clicking the button, then doing all the popups at once.