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 e59c546347a..5c573ae82ea 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
@@ -88,7 +88,7 @@
walk(src,0)
if(do_after(src, 40, target = cocoon_target.loc))
if(busy == SPINNING_COCOON)
- if(cocoon_target && istype(cocoon_target.loc, /turf) && get_dist(src,cocoon_target) <= 1)
+ if(cocoon_target && isturf(cocoon_target.loc) && get_dist(src,cocoon_target) <= 1)
var/obj/effect/spider/cocoon/C = new(cocoon_target.loc)
var/large_cocoon = 0
C.pixel_x = cocoon_target.pixel_x
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
index 6b78b26eaee..143c5e28750 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
@@ -156,7 +156,7 @@ var/global/list/ts_spiderlist = list()
return
else if(G.reagents && (iscarbon(G)))
var/can_poison = 1
- if(istype(G, /mob/living/carbon/human/))
+ if(ishuman(G))
var/mob/living/carbon/human/H = G
if(!(H.species.reagent_tag & PROCESS_ORG) || (H.species.flags & NO_POISON))
can_poison = 0
@@ -222,19 +222,20 @@ var/global/list/ts_spiderlist = list()
else
ts_count_alive_station++
// after 30 seconds, assuming nobody took control of it yet, offer it to ghosts.
- spawn(150) // deciseconds!
- CheckFaction()
- spawn(300) // deciseconds!
- if(spider_awaymission)
- return
- if(stat == DEAD)
- return
- if(ckey)
- var/image/alert_overlay = image('icons/mob/terrorspider.dmi', icon_state)
- notify_ghosts("[src] has appeared in [get_area(src)]. (already player-controlled)", source = src, alert_overlay = alert_overlay)
- else if(ai_playercontrol_allowingeneral && ai_playercontrol_allowtype)
- var/image/alert_overlay = image('icons/mob/terrorspider.dmi', icon_state)
- notify_ghosts("[src] has appeared in [get_area(src)].", enter_link = "(Click to control)", source = src, alert_overlay = alert_overlay, attack_not_jump = 1)
+ addtimer(src, "CheckFaction", 150)
+ addtimer(src, "announcetoghosts", 300)
+
+/mob/living/simple_animal/hostile/poison/terror_spider/proc/announcetoghosts()
+ if(spider_awaymission)
+ return
+ if(stat == DEAD)
+ return
+ if(ckey)
+ var/image/alert_overlay = image('icons/mob/terrorspider.dmi', icon_state)
+ notify_ghosts("[src] has appeared in [get_area(src)]. (already player-controlled)", source = src, alert_overlay = alert_overlay)
+ else if(ai_playercontrol_allowingeneral && ai_playercontrol_allowtype)
+ var/image/alert_overlay = image('icons/mob/terrorspider.dmi', icon_state)
+ notify_ghosts("[src] has appeared in [get_area(src)].", enter_link = "(Click to control)", source = src, alert_overlay = alert_overlay, attack_not_jump = 1)
/mob/living/simple_animal/hostile/poison/terror_spider/Destroy()
ts_spiderlist -= src