From 8755be600d92e8b14e8c34ee63cbf56ec0b576e6 Mon Sep 17 00:00:00 2001 From: BlueWildrose <57083662+BlueWildrose@users.noreply.github.com> Date: Mon, 22 May 2023 12:50:31 -0600 Subject: [PATCH] buffs bioadaptive NIF durability, adds veymed variant of bioadaptive NIF (#5514) ## About The Pull Request - Changes the durability of bioadaptive NIF to 50% of a normal NIF instead of 25%. - Adds a bioadaptive VeyMed NIF that's about 10 times more durable than a normal bioadaptive NIF. Exists only through adminspawn only, like the other VeyMed NIF. - Also updates the Quick NIF admin tool to be "compatible" with this update. _(it just removes the NO_SCAN check. It's an admin tool, it probably didn't need this check to begin with.)_ - Corrects a spelling issue. ## Why It's Good For The Game While it makes sense that a bioadaptive NIF is less durable than a normal one, as it struggles with the biology of a species that it can't assess very well - it's also a bit _too_ low of durability. Those who have one have one and frequently install programs either through NIFSoft uploaders or other methods generally have to get maintenance at least every five shifts or so. Considering that there's been a struggle of players not existing in both Science or Mining lately, and those two departments usually need someone present in order for someone to get NIF maintenance (unless someone in medical wants to remove a NIF to repair it), I feel this change is necessary. Make it ten shifts instead. As for the VeyMed Bioadaptive; I feel like a company would have a secondary product available for those who are less compatible with their main product. There's probably no reason why they wouldn't. NIFs are eventually getting removed anyways from what I understand. Might as well make the best of it while it's still around. ## Changelog :cl: balance: Bioadaptive NIFs are now more durable, being 50% of a normal NIF's durability instead of 25%. add: VeyMed Bioadaptive NIFs are now on the shelf... if you can somehow acquire one. Perhaps if you're lucky... admin: Quick NIF tool has checks removed for NO_SCAN. /:cl: --- code/__DEFINES/items/nifs.dm | 9 ++++---- code/modules/admin/verbs/debug.dm | 36 ++++++++++++++----------------- code/modules/nifsoft/nif.dm | 12 +++++++++-- 3 files changed, 31 insertions(+), 26 deletions(-) diff --git a/code/__DEFINES/items/nifs.dm b/code/__DEFINES/items/nifs.dm index a12039e669d..ca630460ece 100644 --- a/code/__DEFINES/items/nifs.dm +++ b/code/__DEFINES/items/nifs.dm @@ -1,9 +1,10 @@ // nifs should die -#define NIF_ID_BASIC "BASE" -#define NIF_ID_VEYMED "VEYMED" -#define NIF_ID_BOOTLEG "BAD" -#define NIF_ID_BIOADAPTIVE "ADAPTIVE" +#define NIF_ID_BASIC "BASE" +#define NIF_ID_VEYMED "VEYMED" +#define NIF_ID_BOOTLEG "BAD" +#define NIF_ID_BIOADAPTIVE "ADAPTIVE" +#define NIF_ID_VEYMEDBIOADAPTIVE "VEYMEDBIOADAPTIVE" // List indexes for software datum references on mobs // This also controls the order they are displayed in the NIF stat panel diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 52ce836d24d..89c95473310 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -723,27 +723,23 @@ to_chat(usr,"Target already has a NIF.") return - if(H.species.species_flags & NO_SCAN) - var/obj/item/nif/S = /obj/item/nif/bioadap - input_NIF = initial(S.name) - new /obj/item/nif/bioadap(H) + //if the admins want to adminbus a prommie with a full veymed, let them. screw the system. NIFs aren't in the plans to last long anyways. :^) + var/list/NIF_types = typesof(/obj/item/nif) + var/list/NIFs = list() + + for(var/NIF_type in NIF_types) + var/obj/item/nif/S = NIF_type + NIFs[capitalize(initial(S.name))] = NIF_type + + var/list/show_NIFs = sortList(NIFs) // the list that will be shown to the user to pick from + + input_NIF = input("Pick the NIF type","Quick NIF") in show_NIFs + var/chosen_NIF = NIFs[capitalize(input_NIF)] + + if(chosen_NIF) + new chosen_NIF(H) else - var/list/NIF_types = typesof(/obj/item/nif) - var/list/NIFs = list() - - for(var/NIF_type in NIF_types) - var/obj/item/nif/S = NIF_type - NIFs[capitalize(initial(S.name))] = NIF_type - - var/list/show_NIFs = sortList(NIFs) // the list that will be shown to the user to pick from - - input_NIF = input("Pick the NIF type","Quick NIF") in show_NIFs - var/chosen_NIF = NIFs[capitalize(input_NIF)] - - if(chosen_NIF) - new chosen_NIF(H) - else - new /obj/item/nif(H) + new /obj/item/nif(H) log_and_message_admins("[key_name(src)] Quick NIF'd [H.real_name] with a [input_NIF].") feedback_add_details("admin_verb","QNIF") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/nifsoft/nif.dm b/code/modules/nifsoft/nif.dm index 303e593ca29..b99ff8bbff4 100644 --- a/code/modules/nifsoft/nif.dm +++ b/code/modules/nifsoft/nif.dm @@ -636,11 +636,19 @@ GLOBAL_LIST_INIT(nif_id_lookup, init_nif_id_lookup()) /obj/item/nif/bioadap name = "bioadaptive NIF" - desc = "A NIF that goes out of it's way to accomidate strange body types. \ + desc = "A NIF that goes out of it's way to accomodate strange body types. \ Will function in species where it normally wouldn't." - durability = 25 + durability = 50 bioadap = TRUE id = NIF_ID_BIOADAPTIVE + +/obj/item/nif/authenticbioadap + name = "\improper Vey-Med bioadaptive NIF" + desc = "A genuine Vey-Med nanotechnology fabricator, designed for strange body types. \ + Will function in species where it normally wouldn't while still being very durable." + durability = 500 + bioadap = TRUE + id = NIF_ID_VEYMEDBIOADAPTIVE //////////////////////////////// // Special Promethean """surgery"""