mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-21 12:02:31 +01:00
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:
@@ -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)
|
||||
|
||||
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user