# ui_detect_class_kit function library

Dependencies: alter_effect, ds, lib_2da, lib_2daq, lib_anon, lib_array, lib_class, lib_cre, lib_data, lib_eff, lib_fn, lib_ids, lib_ietool, lib_ini, lib_kit, lib_script, lib_sfo, lib_spl, lib_splconv, lib_ssl, lib_struct, lib_sugar, lib_tools, lib_ui, lib_vtable, resolve_spell, ui_add_subraces, ui_bonus_spells, ui_deolvynize, ui_dual_class_kits, ui_externalize_hlas, ui_externalize_proficiencies, ui_extra_spells, ui_on_open, ui_shared_code, ui_spell_system, ui_system_call, ui_virtual_class

## Description

This is used by other SFO-lua functions; it builds LUA functions to reliably identify the class and kit of the current character, and to identify other features of the character. It works by appending the (mixed-case) title of each kit to add the class and kit ID in curly brackets, and then telling the UI to hide all curly-bracket information. (This obviously requires us to catch all cases where this happens, and probably we're still missing some especially on variant UIs.

## Public functions

ui_detect_class_kit(version:s)=() action

Set up all the resources to detect the class and kit (etc). Note that unlike other SFO-lua libraries, this one just reinstalls itself every time you build it (since new classes and kits may have been added). 'Version', if set to 1, is used for debugging.

## Internal functions

These should not be called from outside the library itself.

alter_update_attr_table_vanilla()=() patch

clear_out_title_change_subspells(prefix:s=dwcct)=() action

make_title_change_spell_helper(arguments:s)=() patch

patch_character_screen_display()=() action

patch_character_screen_display_old()=() action

replace_identify_text()=() patch

replace_identify_text_lefreut()=() patch

sfo_compliant_change_title(class:s, prefix:s="dwcct", master_spell:s)=() action