From edd11d37c38f51a73bb005378b1d55ebe6857248 Mon Sep 17 00:00:00 2001 From: Alberyk Date: Sun, 24 Feb 2019 08:17:19 -0300 Subject: [PATCH] Aut'akh unathi fixes: limbs and loadout (#6091) --- .../preference_setup/loadout/loadout_xeno.dm | 18 +++++----- .../mob/living/carbon/human/human_powers.dm | 33 ++++++++++--------- code/modules/organs/organ_external.dm | 3 ++ code/modules/organs/subtypes/autakh.dm | 4 +-- html/changelogs/alberyk-autakhfix.yml | 7 ++++ 5 files changed, 38 insertions(+), 27 deletions(-) create mode 100644 html/changelogs/alberyk-autakhfix.yml diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno.dm b/code/modules/client/preference_setup/loadout/loadout_xeno.dm index b7820b767cc..9dfc57b8ce9 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno.dm @@ -53,7 +53,7 @@ gear_tweaks = list(gear_tweak_free_color_choice) /datum/gear/autakh_engineering - display_name = "engineering grasper (Aut'akh Unathi)" + display_name = "engineering grasper" description = "An Aut'akh augment limb, this one is outfitted with a limited toolkit." path = /obj/item/organ/external/hand/right/autakh/tool whitelisted = list("Aut'akh Unathi") @@ -61,8 +61,8 @@ cost = 3 allowed_roles = list("Station Engineer", "Chief Engineer", "Atmospheric Technician", "Engineering Apprentice", "Roboticist") -/datum/gear/autakh_engineering - display_name = "mining grasper (Aut'akh Unathi)" +/datum/gear/autakh_mining + display_name = "mining grasper" description = "An Aut'akh augment limb, this one is outfitted with a mining drill." path = /obj/item/organ/external/hand/right/autakh/tool/mining whitelisted = list("Aut'akh Unathi") @@ -71,7 +71,7 @@ allowed_roles = list("Shaft Miner") /datum/gear/autakh_medical - display_name = "medical grasper (Aut'akh Unathi)" + display_name = "medical grasper" description = "An Aut'akh augment limb, this one is outfitted with a health scanner." path = /obj/item/organ/external/hand/right/autakh/medical whitelisted = list("Aut'akh Unathi") @@ -80,7 +80,7 @@ allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Paramedic", "Medical Resident", "Psychiatrist", "Chemist") /datum/gear/autakh_security - display_name = "security grasper (Aut'akh Unathi)" + display_name = "security grasper" description = "An Aut'akh augment limb, this one is outfitted with an electroshock weapon." path = /obj/item/organ/external/hand/right/autakh/security whitelisted = list("Aut'akh Unathi") @@ -381,24 +381,24 @@ display_name = "cloth footwraps" path = /obj/item/clothing/shoes/footwraps sort_category = "Xenowear" - whitelisted = list("Vaurca Worker", "Vaurca Warrior", "Unathi", "Tajara", "Zhan-Khazan Tajara", "M'sai Tajara") + whitelisted = list("Vaurca Worker", "Vaurca Warrior", "Unathi", "Aut'akh Unathi", "Tajara", "Zhan-Khazan Tajara", "M'sai Tajara") /datum/gear/shoes/toeless display_name = "toe-less jackboots" path = /obj/item/clothing/shoes/jackboots/unathi sort_category = "Xenowear" - whitelisted = list("Vaurca Worker", "Vaurca Warrior", "Unathi", "Tajara", "Zhan-Khazan Tajara", "M'sai Tajara") + whitelisted = list("Vaurca Worker", "Vaurca Warrior", "Unathi", "Aut'akh Unathi", "Tajara", "Zhan-Khazan Tajara", "M'sai Tajara") /datum/gear/shoes/workboots_toeless display_name = "toeless workboots" path = /obj/item/clothing/shoes/workboots/toeless sort_category = "Xenowear" - whitelisted = list("Vaurca Worker", "Vaurca Warrior", "Unathi", "Tajara", "Zhan-Khazan Tajara", "M'sai Tajara") + whitelisted = list("Vaurca Worker", "Vaurca Warrior", "Unathi", "Aut'akh Unathi", "Tajara", "Zhan-Khazan Tajara", "M'sai Tajara") /datum/gear/shoes/caligae display_name = "caligae" path = /obj/item/clothing/shoes/caligae - whitelisted = list("Unathi", "Tajara", "Zhan-Khazan Tajara", "M'sai Tajara", "Aut'akh Unathi") + whitelisted = list("Unathi", "Aut'akh Unathi", "Tajara", "Zhan-Khazan Tajara", "M'sai Tajara") sort_category = "Xenowear" /datum/gear/shoes/caligae/New() diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index aa28e796e5d..0cdd9af418a 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -961,24 +961,25 @@ to_chat(src,"Your body fails to interface with this alien technology.") return + if(organs_by_name[O.limb_name]) + to_chat(src,"You already have a limb of this type.") + return - var/obj/item/organ/external/E = get_organ(zone_sel.selecting) + if(!organs_by_name[O.parent_organ]) + to_chat(src,"You are unable to find a place to attach \the [O] to your body.") + return - if(E) - to_chat(src,"You are not missing that limb.") - return + last_special = world.time + 20 - last_special = world.time + 20 + src.drop_from_inventory(O) + O.replaced(src) + src.update_body() + src.updatehealth() + src.UpdateDamageIcon() - src.drop_from_inventory(O) - O.replaced(src) - src.update_body() - src.updatehealth() - src.UpdateDamageIcon() + update_body() + updatehealth() + UpdateDamageIcon() - update_body() - updatehealth() - UpdateDamageIcon() - - visible_message("\The [src] attaches \the [O] to \his body!", - "You attach \the [O] to your body!") + visible_message("\The [src] attaches \the [O] to \his body!", + "You attach \the [O] to your body!") diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index f048c3b97c1..45221b883d8 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -212,6 +212,9 @@ break parent.update_damages() + action_button_name = initial(action_button_name) + owner.update_action_buttons() + /**************************************************** DAMAGE PROCS ****************************************************/ diff --git a/code/modules/organs/subtypes/autakh.dm b/code/modules/organs/subtypes/autakh.dm index a63b5f6968a..4f2771f631e 100644 --- a/code/modules/organs/subtypes/autakh.dm +++ b/code/modules/organs/subtypes/autakh.dm @@ -162,7 +162,7 @@ /obj/item/organ/eyes/autakh/flash_act() if(owner) - to_chat(owner, "\The [src]'s retinal overlays are overloaded by the strong light!") + to_chat(owner, "Your [singular_name]'s retinal overlays are overloaded by the strong light!") owner.eye_blind = 5 owner.eye_blurry = 5 spark(get_turf(owner), 3) @@ -183,7 +183,7 @@ disabled = FALSE if(owner) - to_chat(owner, "\The [src]'s retinal overlays clicks and shifts!") + to_chat(owner, "\The [singular_name]'s retinal overlays clicks and shifts!") /obj/item/organ/adrenal name = "adrenal management system" diff --git a/html/changelogs/alberyk-autakhfix.yml b/html/changelogs/alberyk-autakhfix.yml new file mode 100644 index 00000000000..4ff7a5a54c1 --- /dev/null +++ b/html/changelogs/alberyk-autakhfix.yml @@ -0,0 +1,7 @@ +author: Alberyk + +delete-after: True + +changes: + - bugfix: "Aut'akh graspers can now be selected in the loadout." + - bugfix: "Aut'akh limbs should behave in a more sane way when removed or replaced."