diff --git a/code/modules/ai/ai_holder_combat.dm b/code/modules/ai/ai_holder_combat.dm
index f84235c8f1..591292f11d 100644
--- a/code/modules/ai/ai_holder_combat.dm
+++ b/code/modules/ai/ai_holder_combat.dm
@@ -292,15 +292,20 @@
// Kill common obstacle in the way like tables.
var/obj/structure/obstacle = locate(/obj/structure, problem_turf)
- if(istype(obstacle, /obj/structure/window) || istype(obstacle, /obj/structure/closet) || istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/grille) || istype(obstacle, /obj/effect/weaversilk/wall)) //VOREStation Edit: spdr
+ if(istype(obstacle, /obj/structure/window) || istype(obstacle, /obj/structure/closet) || istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/grille))
ai_log("destroy_surroundings() : Attacking generic structure.", AI_LOG_INFO)
return melee_attack(obstacle)
+ var/obj/effect/weaversilk/web = locate(/obj/effect/weaversilk, problem_turf)
+ if(istype(web, /obj/effect/weaversilk/wall)) //VOREStation Edit: spdr
+ ai_log("destroy_surroundings() : Attacking weaversilk effect.", AI_LOG_INFO)
+ return melee_attack(web)
+
for(var/obj/machinery/door/D in problem_turf) // Required since firelocks take up the same turf.
if(D.density)
ai_log("destroy_surroundings() : Attacking closed door.", AI_LOG_INFO)
return melee_attack(D)
-
+
// Should always be last thing attempted
if(!problem_turf.opacity)
ai_log("destroy_surroundings() : Attacking a transparent (window?) turf.", AI_LOG_INFO)
diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm
index cd5f64e5c6..785cd5a34b 100644
--- a/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm
+++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm
@@ -89,6 +89,7 @@
desc = "A silky, yet firm trap. Be careful not to step into it! Or don't..."
icon_state = "trap"
var/trap_active = TRUE
+ can_buckle = TRUE
/obj/effect/weaversilk/trap/Crossed(atom/movable/AM as mob|obj)
if(AM.is_incorporeal())
@@ -106,17 +107,18 @@
"You hear a squishy noise!"
)
set_dir(L.dir)
- can_buckle = TRUE
buckle_mob(L)
L.Stun(1)
to_chat(L, "The sticky fibers of \the [src] ensnare, trapping you in place!")
trap_active = FALSE
- can_buckle = initial(can_buckle)
desc += " Actually, it looks like it's been all spent."
..()
+/obj/effect/weaversilk/trap/MouseDrop_T(atom/movable/AM,mob/user)
+ return
+
// Items
// TODO: Spidersilk clothing and actual bindings, once sprites are ready.