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_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 to add races, subraces and pseudoraces to the game. EE-only (edits the UI).
add_pseudorace(NAME:s="-1", DESC:s="-1", REAL_RACE:s="-1")=() action
Add a single race to SFO's master table of pseudoraces. (This only updates the tables; the game itself is not updated.)
add_race(race:s, NAME:s, DESCSTR:s, UPPERCASE:s, BIOGRAPHY:s)=() action
Add a single race to SFO's master table of races. (This only updates the tables; the game itself is not updated.)
add_subrace(COLOR_SKIN:i="-1", COLOR_HAIR:i="-1", COLOR_MAJOR:i="-1", COLOR_MINOR:i="-1", STR:i, DEX:i, CON:i, INT:i, WIS:i, CHA:i, EXTRA_PROF:i, PP:i, OL:i, FT:i, MS:i, HS:i, DI:i, ST:i, subrace:s, NAME:s, DESC:s, PARENT:s, FINAL_RACE:s="*", ICON:s="-1", ICON_STRREF:s="-1", BIO_OLD:s="-1", BIO_NEW:s="-1", SPL_INIT:s, SPL_RECUR:s)=() action
Add a single subrace to SFO's master table of subraces. (This only updates the tables; the game itself is not updated.)
add_to_subrace_tables(subrace_table:s, race_table:s, pseudorace_table:s, disabled:s, table_path:s)=() action
Take a bunch of tables defining race, subrace and pseudorace and add them to SFO's master tables. (This only updates the tables; the game itself is not updated.)
build_subraces(tlk_signal_start:i=900000, delay_mode:b)=() action
Operate on the subrace tables to actually construct the subraces if delay_mode=1, introduce a 1-second delay into the spells (for experimental HoW compatibility, though we haven't got this stable yet).
disable_subrace(subrace:s)=() action
Disable the listed subrace (assumed to be installed) from the list of subraces offered to the player in character generation.
ui_subrace_item_use()=() action
Goes through all items in the game to make sure that they're appropriately marked as unusable by new races. We assume that the new race can use something iff humans can (except that if only humans are prohibited from using it, we assume new races can use it). This is idempotent but not called automatically.
These should not be called from outside the library itself.
ability_opcode_map()=(ability_opcode_map:a) action
add_subraces_2da_prof_setup()=() action
add_subraces_build_spells(delay_mode:i)=() action
add_subraces_desc_modifiers()=() action
add_subraces_handle_strength()=(subrace_data:a) action
add_subraces_lua_setup(tlk_signal_start:i=900000)=() action
add_subraces_write_lua_tables()=() action
add_to_subrace_tables_helper(warn_of_repeats:i=1, to_read:s, to_add_to:s)=() action
all_clabs()=(clab_array:a) action
assign_npc_subraces()=() action
build_str_ex_spell()=() action
build_subrace_id_function()=() action
build_subrace_menu()=() action
build_subrace_secondary_recurring_spell(race:i, spell:s)=(needed:s) action
build_subrace_secondary_spell(race:i, spell:s)=() patch
build_subrace_tertiary_spell(id:i, race:i, spell:s, ind:s)=() patch
chargen_display_subrace()=() action
edit_race_menu()=() patch
load_subrace_2da_table(tlk_signal_start:i, subrace_2da:s, icon_path:s)=(max_count:s, subrace_data:a, subrace_rows:a, default_subrace:a, real_races_used:a, extra_race_map:a) action
skill_opcode_map()=(skill_opcode_map:a) action
subrace_clab_patch(initial:s="****", recur:s)=() action
subrace_label_joinable_npcs()=() action
ui_ability_roller()=() patch
ui_pseudoraces()=() patch
ui_skill_adjusts()=() patch
ui_subrace_engine_strings()=(enginest:a) action