# ui_spell_system_spheres function library

Dependencies: alter_effect, ds, lib_2da, lib_2daq, lib_3p, 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_detect_class_kit, 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

Functions used which are flagged as internal: load_spell_lists

## Description

This is an auxiliary library to ui_spell_system, that sets up a system of spheres.

## Public functions

assign_spheres(update_scroll_usability:i=1, update_scrolls_later:i=1, update_description:i=1, class:s, kit:s, kit_clastext:s, spheres:s, default:s, add:s, subtract:s, block:s, base_tra:s=sfo_lua, base_tra_path:s="DEFAULT")=() action

Allocate spheres to a given kit or class.

ui_spell_system_spheres(path:s="sphere", list:s="sphere_list.2da", tra:s="sphere", tra_path:s="MOD_FOLDER/lang", base_tra:s=sfo_lua, base_tra_path:s="DEFAULT", 3p_folder:s=dw_tof3p)=() action

Sets up a sphere system. See ToF for format; by default we read a 2da of spheres at sphere/sphere_list.2da, and then look for text files listing the various spells in each sphere in 'sphere'.

## Internal functions

These should not be called from outside the library itself.

adjust_priest_casting_description(append:i, class:s)=() action

get_sphere_data(path:s="sphere", list:s="sphere_list.2da", tra:s, tra_path:s)=(sphere_ids:a, sphere_name:a, sphere_defaults:a) action