From 8c3d92672a23d543a5d638ba3148da8bcaa68a63 Mon Sep 17 00:00:00 2001 From: Heroman Date: Mon, 29 Mar 2021 16:06:48 +1000 Subject: [PATCH 1/3] Makes weaversilk webs die from everything, not just fists --- .../species/station/traits_vr/weaver_objs.dm | 19 +++++++++++++++++++ vorestation.dme | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) 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 f398353556b..675f3d546cb 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 @@ -7,6 +7,25 @@ anchored = 1 density = 0 +/obj/effect/weaversilk/ex_act(severity) + qdel(src) + return + +/obj/effect/weaversilk/attackby(var/obj/item/weapon/W, var/mob/user) + user.setClickCooldown(user.get_attack_speed(W)) + + if(W.force) + visible_message("\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]") + qdel(src) + +/obj/effect/weaversilk/bullet_act(var/obj/item/projectile/Proj) + ..() + if(Proj.get_structure_damage()) + qdel(src) + +/obj/effect/weaversilk/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + qdel(src) + /obj/effect/weaversilk/attack_hand(mob/user as mob) ..() if(user.a_intent == I_HURT) diff --git a/vorestation.dme b/vorestation.dme index 15caeedeed7..50f134b80a2 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2662,6 +2662,7 @@ #include "code\modules\mob\living\carbon\human\species\station\station_special_abilities_vr.dm" #include "code\modules\mob\living\carbon\human\species\station\station_special_vr.dm" #include "code\modules\mob\living\carbon\human\species\station\station_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\teshari.dm" #include "code\modules\mob\living\carbon\human\species\station\xenochimera_hud_vr.dm" #include "code\modules\mob\living\carbon\human\species\station\xenochimera_trait_vr.dm" #include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_blob.dm" @@ -2673,7 +2674,6 @@ #include "code\modules\mob\living\carbon\human\species\station\traits_vr\trait.dm" #include "code\modules\mob\living\carbon\human\species\station\traits_vr\weaver_objs.dm" #include "code\modules\mob\living\carbon\human\species\station\traits_vr\weaver_recipies.dm" -#include "code\modules\mob\living\carbon\human\species\station\teshari.dm" #include "code\modules\mob\living\carbon\human\species\virtual_reality\avatar.dm" #include "code\modules\mob\living\carbon\human\species\virtual_reality\opaque_form.dm" #include "code\modules\mob\living\carbon\human\species\xenomorphs\alien_powers.dm" From 27c75038dbaa633f650528892393d1a3deaf6495 Mon Sep 17 00:00:00 2001 From: Heroman Date: Mon, 29 Mar 2021 16:16:06 +1000 Subject: [PATCH 2/3] Also makes the stun time use appropriate measurements --- .../carbon/human/species/station/traits_vr/weaver_objs.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 675f3d546cb..d5531fde1b5 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 @@ -101,11 +101,11 @@ "You hear a squishy noise!" ) set_dir(L.dir) - can_buckle = 1 + can_buckle = TRUE buckle_mob(L) - L.Stun(1 SECOND) + L.Stun(1) to_chat(L, "The sticky fibers of \the [src] ensnare, trapping you in place!") - trap_active = 0 + trap_active = FALSE can_buckle = initial(can_buckle) desc += " Actually, it looks like it's been all spent." ..() From 0245e18f61ff167131f46255ff5604fd3efe4b8f Mon Sep 17 00:00:00 2001 From: Heroman Date: Mon, 29 Mar 2021 16:30:08 +1000 Subject: [PATCH 3/3] And mobs are allowed to break stuff too --- code/modules/ai/ai_holder_combat.dm | 4 ++-- .../carbon/human/species/station/traits_vr/weaver_objs.dm | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/modules/ai/ai_holder_combat.dm b/code/modules/ai/ai_holder_combat.dm index 075a9196d89..e2e1ecbdea0 100644 --- a/code/modules/ai/ai_holder_combat.dm +++ b/code/modules/ai/ai_holder_combat.dm @@ -9,7 +9,7 @@ var/violent_breakthrough = TRUE // If false, the AI is not allowed to destroy things like windows or other structures in the way. Requires above var to be true. var/stand_ground = FALSE // If true, the AI won't try to get closer to an enemy if out of range. - + // This does the actual attacking. /datum/ai_holder/proc/engage_target() ai_log("engage_target() : Entering.", AI_LOG_DEBUG) @@ -293,7 +293,7 @@ // 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)) + 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 ai_log("destroy_surroundings() : Attacking generic structure.", AI_LOG_INFO) return melee_attack(obstacle) 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 d5531fde1b5..72d53be19bd 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 @@ -26,6 +26,10 @@ /obj/effect/weaversilk/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) qdel(src) +/obj/effect/weaversilk/attack_generic(mob/user as mob, var/damage) + if(damage) + qdel(src) + /obj/effect/weaversilk/attack_hand(mob/user as mob) ..() if(user.a_intent == I_HURT)