diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm
index 440883541b3..be101742dfa 100644
--- a/code/modules/mob/language.dm
+++ b/code/modules/mob/language.dm
@@ -430,7 +430,7 @@
/datum/language/terrorspider
- name = "TerrorSpider"
+ name = "Spider Hivemind"
desc = "Terror spiders have a limited ability to commune over a psychic hivemind, similar to xenomorphs."
speech_verb = "chitters"
ask_verb = "chitters"
@@ -572,7 +572,7 @@
flags = RESTRICTED | HIVEMIND
drone_only = 1
follow = 1
-
+
/datum/language/drone
name = "Drone"
desc = "An encrypted stream of data converted to speech patterns."
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 e8e999ee486..e59c546347a 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
@@ -23,7 +23,7 @@
// ---------- WEB
/mob/living/simple_animal/hostile/poison/terror_spider/proc/Web()
- visible_message("\the [src] begins to secrete a sticky substance.")
+ visible_message("[src] begins to secrete a sticky substance.")
if(do_after(src, 40, target = loc))
new /obj/effect/spider/terrorweb(loc)
@@ -42,13 +42,12 @@
icon_state = "stickyweb2"
-/obj/effect/spider/terrorweb/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
- if(air_group || (height==0)) return 1
+/obj/effect/spider/terrorweb/CanPass(atom/movable/mover, turf/target)
if(istype(mover, /mob/living/simple_animal/hostile/poison/terror_spider))
return 1
- if(istype(mover, /mob/living))
+ if(isliving(mover))
if(prob(80))
- to_chat(mover, "You get stuck in \the [src] for a moment.")
+ to_chat(mover, "You get stuck in [src] for a moment.")
var/mob/living/M = mover
M.Stun(4) // 8 seconds.
M.Weaken(4) // 8 seconds.
@@ -84,7 +83,7 @@
/mob/living/simple_animal/hostile/poison/terror_spider/proc/DoWrap()
if(cocoon_target && busy != SPINNING_COCOON)
busy = SPINNING_COCOON
- visible_message("\the [src] begins to secrete a sticky substance around \the [cocoon_target].")
+ visible_message("[src] begins to secrete a sticky substance around [cocoon_target].")
stop_automated_movement = 1
walk(src,0)
if(do_after(src, 40, target = cocoon_target.loc))
@@ -94,15 +93,11 @@
var/large_cocoon = 0
C.pixel_x = cocoon_target.pixel_x
C.pixel_y = cocoon_target.pixel_y
- for(var/obj/item/I in C.loc)
- I.loc = C
- for(var/obj/structure/S in C.loc)
- if(!S.anchored)
- S.loc = C
- large_cocoon = 1
- for(var/obj/machinery/M in C.loc)
- if(!M.anchored)
- M.loc = C
+ for(var/obj/O in C.loc)
+ if(istype(O, /obj/item))
+ O.loc = C
+ else if(istype(O, /obj/machinery) || istype(O, /obj/structure))
+ O.loc = C
large_cocoon = 1
for(var/mob/living/L in C.loc)
if(istype(L, /mob/living/simple_animal/hostile/poison/terror_spider))
@@ -117,7 +112,7 @@
L.loc = C
C.pixel_x = L.pixel_x
C.pixel_y = L.pixel_y
- visible_message("\the [src] sticks a proboscis into \the [L] and sucks a viscous substance out.")
+ visible_message("[src] sticks a proboscis into [L] and sucks a viscous substance out.")
break
if(large_cocoon)
C.icon_state = pick("cocoon_large1","cocoon_large2","cocoon_large3")
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 95019bf1774..88826dc86ee 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
@@ -12,7 +12,7 @@ var/global/list/ts_spiderlist = list()
// --------------------------------------------------------------------------------
// Because: http://tvtropes.org/pmwiki/pmwiki.php/Main/SpidersAreScary
-/mob/living/simple_animal/hostile/poison/terror_spider/
+/mob/living/simple_animal/hostile/poison/terror_spider
// Name / Description
name = "terror spider"
desc = "The generic parent of all other terror spider types. If you see this in-game, it is a bug."
@@ -196,11 +196,9 @@ var/global/list/ts_spiderlist = list()
else if(health > (maxHealth*0.25))
msgs += "It is barely clinging on to life!"
else if(health < maxHealth && regen_points > regen_points_per_kill)
- msgs += "It appears to be regenerating quickly"
- if(killcount == 1)
- msgs += "It is soaked in the blood of its prey."
- if(killcount > 1)
- msgs += "It is soaked with the blood of [killcount] prey it has killed."
+ msgs += "It appears to be regenerating quickly."
+ if(killcount >= 1)
+ msgs += "It has blood dribbling from its mouth."
to_chat(usr,msgs.Join("
"))
@@ -244,7 +242,8 @@ var/global/list/ts_spiderlist = list()
return ..()
/mob/living/simple_animal/hostile/poison/terror_spider/Life()
- if(stat != DEAD)
+ . = ..()
+ if(!.) // if mob is alive
if(regen_points < regen_points_max)
regen_points += regen_points_per_tick
if((bruteloss > 0) || (fireloss > 0))
@@ -262,7 +261,7 @@ var/global/list/ts_spiderlist = list()
// 2% chance every cycle to decompose
visible_message("\The dead body of the [src] decomposes!")
gib()
- ..()
+
/mob/living/simple_animal/hostile/poison/terror_spider/proc/handle_dying()