From b34b2ce48fd5ce25b8c526449b83d31c65f460e5 Mon Sep 17 00:00:00 2001 From: Raeschen Date: Sun, 13 Nov 2022 17:46:19 +0100 Subject: [PATCH] Fix broken tesh mechanics + nerf underwater diving --- .../carbon/human/species/station/teshari.dm | 29 ++++++++++++++++++- modular_chomp/code/modules/projectiles/gun.dm | 9 ++++++ vorestation.dme | 1 + 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 modular_chomp/code/modules/projectiles/gun.dm diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/station/teshari.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/station/teshari.dm index b47fbf79f5..1c5a7ba8e1 100644 --- a/modular_chomp/code/modules/mob/living/carbon/human/species/station/teshari.dm +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/station/teshari.dm @@ -1,2 +1,29 @@ /datum/species/teshari - vore_belly_default_variant = "T" \ No newline at end of file + vore_belly_default_variant = "T" + +// allow teshari to always be scooped, as long as pref is enabled +/mob/living/MouseDrop(var/atom/over_object) + // make sure src (The dragged) is human + if(!istype(src, /mob/living/carbon/human)) + return ..() + + var/mob/living/carbon/human/DraggedH = src + + //make sure src (the dragged) is a teshari + if(DraggedH.species.name == SPECIES_TESHARI) + var/mob/living/M = over_object + // only perform the grab if; grabber and grabbed adjacent, caller is grabbed OR grabber, and the grabbed's grab preference is true. + if(holder_type && istype(M) && Adjacent(M) && (usr == M || usr == DraggedH) && DraggedH != M && !M.incapacitated() && DraggedH.pickup_pref && (M != usr || (M == usr && M.pickup_active)) && (DraggedH.a_intent == I_HELP && M.a_intent == I_HELP)) //VOREStation Edit + get_scooped(M, (usr == DraggedH)) + return + return ..() + + +//allow teshari permission to pass plastic flaps. +/obj/structure/plasticflaps/CanPass(atom/A, turf/T) + var/mob/living/carbon/human/H = A + if(istype(H)) + if(H.species.name == SPECIES_TESHARI) + return 1 + + return ..() \ No newline at end of file diff --git a/modular_chomp/code/modules/projectiles/gun.dm b/modular_chomp/code/modules/projectiles/gun.dm new file mode 100644 index 0000000000..ce2afeada7 --- /dev/null +++ b/modular_chomp/code/modules/projectiles/gun.dm @@ -0,0 +1,9 @@ +// prevent gun activation when stealth swimming. The low alpha hides you from NPC AI, which allows you to cheese mobs. +/obj/item/weapon/gun/special_check(var/mob/user) + var/mob/living/L = user + if(istype(L)) + if(L.has_modifier_of_type(/datum/modifier/underwater_stealth)) + to_chat(user,"You cannot use guns whilst hiding underwater!") + return 0 + + return ..() diff --git a/vorestation.dme b/vorestation.dme index d20ccb17a9..781327e701 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -4566,6 +4566,7 @@ #include "modular_chomp\code\modules\power\cells\device_cells.dm" #include "modular_chomp\code\modules\power\cells\esoteric_cells.dm" #include "modular_chomp\code\modules\power\cells\power_cells.dm" +#include "modular_chomp\code\modules\projectiles\gun.dm" #include "modular_chomp\code\modules\reagents\machinery\dispenser\chem_synthesizer_ch.dm" #include "modular_chomp\code\modules\reagents\reactions\instant\drinks.dm" #include "modular_chomp\code\modules\reagents\reagents\food_drinks.dm"