From 12546cd5d6bbf5a441d908d1446331a003f948dc Mon Sep 17 00:00:00 2001 From: Heroman Date: Sat, 11 Dec 2021 17:46:09 +1000 Subject: [PATCH] More fixes/adjustments for BSH --- .../projectiles/guns/energy/bsharpoon_vr.dm | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/code/modules/projectiles/guns/energy/bsharpoon_vr.dm b/code/modules/projectiles/guns/energy/bsharpoon_vr.dm index 8cb66c67868..5b7b906e3c6 100644 --- a/code/modules/projectiles/guns/energy/bsharpoon_vr.dm +++ b/code/modules/projectiles/guns/energy/bsharpoon_vr.dm @@ -18,6 +18,7 @@ var/transforming = 0 var/failure_chance = 15 // This can become negative with part tiers above 3, which helps offset penalties var/obj/item/weapon/stock_parts/scanning_module/scanmod + var/dropnoms_active = TRUE /obj/item/weapon/bluespace_harpoon/Initialize() . = ..() @@ -26,6 +27,8 @@ /obj/item/weapon/bluespace_harpoon/examine(var/mob/user) . = ..() + . += "It is currently in [mode ? "transmitting" : "recieving"] mode." + . += "Spatial rearrangement is [dropnoms_active ? "active" : "inactive"]." if(Adjacent(user)) . += "It has [scanmod ? scanmod : "no scanner module"] installed." @@ -120,7 +123,7 @@ var/mob/living/living_user = user var/can_dropnom = TRUE - if(!istype(living_user)) + if(!dropnoms_active || !istype(living_user)) can_dropnom = FALSE if(mode) @@ -138,9 +141,7 @@ belly_dest = pick(living_user.vore_organs) if(belly_dest) for(var/mob/living/prey in ToTurf) - if(prey == user) //You can't eat yourself, silly! - continue - if(prey.can_be_drop_prey) + if(prey != user && prey.can_be_drop_prey) prey.forceMove(belly_dest) vore_happened = TRUE to_chat(prey, "[living_user] materializes around you, as you end up in their [belly_dest]!") @@ -148,7 +149,7 @@ if(can_dropnom && !vore_happened && living_user.can_be_drop_prey) var/mob/living/pred for(var/mob/living/potential_pred in ToTurf) - if(potential_pred.can_be_drop_pred) + if(potential_pred != user && potential_pred.can_be_drop_pred) pred = potential_pred if(pred) var/obj/belly/belly_dest @@ -203,15 +204,24 @@ return chande_fire_mode(user) /obj/item/weapon/bluespace_harpoon/verb/chande_fire_mode(mob/user as mob) - set name = "Change fire mode" + set name = "Change Fire Mode" set category = "Object" - set src in oview(1) + set src in range(0) + if(transforming) return mode = !mode transforming = 1 to_chat(user,"You change \the [src]'s mode to [mode ? "transmiting" : "receiving"].") update_icon() +/obj/item/weapon/bluespace_harpoon/verb/chande_dropnom_mode(mob/user as mob) + set name = "Toggle Spatial Rearrangement" + set category = "Object" + set src in range(0) + + dropnoms_active = !dropnoms_active + to_chat(user,"You switch \the [src]'s spatial rearrangement [dropnoms_active ? "on" : "off"]. (Telenoms [dropnoms_active ? "enabled" : "dsiabled"])") + /obj/item/weapon/bluespace_harpoon/update_icon() if(transforming) switch(mode)