Improves Vaurca Magboot Augment (#19137)

The Vaurca integrated mag-claw augment now mimics magboot functionality
(not slipping, etc) rather than deploying an entire pair of magboots
onto the user. Code shamelessly copied from #18875
This commit is contained in:
RustingWithYou
2024-06-09 17:18:00 +00:00
committed by GitHub
parent 551b153d49
commit 7e5ec54d67
6 changed files with 84 additions and 24 deletions
+5
View File
@@ -176,6 +176,11 @@
/// Traits given by psionics.
#define TRAIT_SOURCE_PSIONICS "psionics"
/// Traits given by augments
#define TRAIT_SOURCE_AUGMENT "augment"
/// This trait makes Check_Shoegrip return TRUE. Used for magboot-like behaviour.
#define TRAIT_SHOE_GRIP "shoe_grip"
// DISABILITY TRAITS
@@ -280,25 +280,6 @@
action_button_name = "Toggle the magclaws"
/obj/item/clothing/shoes/magboots/vaurca/aug
name = "integrated mag-claws"
desc = "A magnetic-grip system similar to a set of magboots integrated into a Vaurca's leg chitin."
magpulse = 1
slowdown = 3
action_button_name = null
item_flags = ITEM_FLAG_THICK_MATERIAL|ITEM_FLAG_AIRTIGHT|ITEM_FLAG_INJECTION_PORT|ITEM_FLAG_NO_SLIP
canremove = FALSE
/obj/item/clothing/shoes/magboots/vaurca/aug/throw_at()
usr.drop_from_inventory(src)
/obj/item/clothing/shoes/magboots/vaurca/aug/dropped()
. = ..()
qdel(src)
/obj/item/clothing/shoes/magboots/vaurca/aug/negates_gravity()
return TRUE
/obj/item/clothing/suit/space/void/scout
name = "scout armor"
contained_sprite = 1
@@ -286,7 +286,7 @@
display_name = "vaurca integrated mag-claws"
description = "An integrated magnetic grip system, designed for Vaurcae without easy access to magboots."
cost = 2
path = /obj/item/organ/internal/augment/tool/vaurcamag
path = /obj/item/organ/internal/augment/vaurca_mag
sort_category = "Xenowear - Vaurca"
whitelisted = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK)
allowed_roles = list("Shaft Miner", "Engineer", "Atmospheric Technician", "Engineering Apprentice", "Xenoarchaeologist", "Engineering Personnel", "Operations Personnel", "First Responder", "Medical Personnel")
@@ -78,6 +78,9 @@
if(species.can_breathe_water())
tally -= T.movement_cost
if(HAS_TRAIT(src, TRAIT_SHOE_GRIP))
tally += 1
tally += GLOB.config.human_delay
if(!isnull(facing_dir) && facing_dir != dir)
@@ -119,6 +122,8 @@
/mob/living/carbon/human/Check_Shoegrip(checkSpecies = TRUE)
if(shoes && (shoes.item_flags & ITEM_FLAG_NO_SLIP) && istype(shoes, /obj/item/clothing/shoes/magboots) && !lying && !buckled_to && !length(grabbed_by)) //magboots + dense_object = no floating. Doesn't work if lying. Grabbedby and buckled_to are for mob carrying, wheelchairs, roller beds, etc.
return TRUE
if(HAS_TRAIT(src, TRAIT_SHOE_GRIP))
return TRUE
return FALSE
/mob/living/carbon/human/set_dir(var/new_dir, ignore_facing_dir = FALSE)
+15 -4
View File
@@ -283,17 +283,28 @@
"wirecutters"
)
/obj/item/organ/internal/augment/tool/vaurcamag
/obj/item/organ/internal/augment/vaurca_mag
name = "integrated mag-claws"
desc = "An integrated magnetic grip system, designed for Vaurcae without easy access to magboots."
icon_state = "suspension"
item_state = "suspension"
action_button_name = "Deploy Mag-Claws"
action_button_name = "Activate Mag-Claws"
action_button_icon = "magclaws"
augment_type = /obj/item/clothing/shoes/magboots/vaurca/aug
parent_organ = BP_GROIN
organ_tag = BP_AUG_MAGBOOT
aug_slot = slot_shoes
activable = TRUE
species_restricted = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BREEDER, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_WARFORM)
/obj/item/organ/internal/augment/vaurca_mag/attack_self(mob/user)
if(use_check_and_message(owner))
return
if(HAS_TRAIT(owner, TRAIT_SHOE_GRIP))
to_chat(owner, SPAN_NOTICE("You deactivate \the [src]."))
REMOVE_TRAIT(owner, TRAIT_SHOE_GRIP, TRAIT_SOURCE_AUGMENT)
else
to_chat(owner, SPAN_NOTICE("You activate \the [src]."))
ADD_TRAIT(owner, TRAIT_SHOE_GRIP, TRAIT_SOURCE_AUGMENT)
playsound(get_turf(src), 'sound/effects/magnetclamp.ogg', 20)
/obj/item/organ/internal/vaurca/preserve
icon = 'icons/obj/organs/vaurca_organs.dmi'