# lib_spl function library

Dependencies: install_sfo.tpa, lib_eff.tpa, lib_evaluate.tpa, lib_general.tpa, lib_internal.tpa, lib_itm.tpa, lib_list.tpa, lib_macro.tpa, lib_patch.tpa, lib_table.tpa, lib_text.tpa, lib_tools.tpa

Functions from unidentified sources: SPL_casting_animation, SPL_casting_sound, SPL_duration, SPL_read_ability_min_level, SPL_read_ability_range, SPL_read_ability_target, SPL_read_description1_string, SPL_read_duration, SPL_read_level, SPL_read_name1_string, SPL_read_opcode, SPL_read_school_code, SPL_read_spell_type_num, SPL_school_code, SPL_spell_type_num, SPL_unusable_conjurer

## Description

## Public Functions

add_spell_to_ids(to_try:i, level:i="-1", type:i, typename:s="unspecified", filename:s, idsname:s, file_loc:s)=(newname:s, newcode:s, to_try_next:s) action

build_instant_spell(spell_ID:s)=(newcode:s, spellcode:s, fullname:s) action

build_prebuff_spell(conceal:i, spell_ID:s)=(newcode:s, fullname:s) action

clone_spell(allow_missing:i, silent:i, spell:s, edits:s, editstring:s)=() action

collect_spell_icons(location:s, locbase:s, locabs:s, spell:s, resref:s)=() action

deabbreviate_spellname(input:s)=(spellname:s) patch
deabbreviate_spellname(input:s)=(spellname:s) action

definalise_hidespl()=() action

edit_all_spells(edits:s, editstring:s)=() action

edit_spell(tv:i, this, doesn't, get, used,, but, it, avoids, a, function, mismatch, in, edit_whatever, allow_missing:i, stop_after_match:i, silent:i, spell:s, edits:s, editstring:s, location:s, locbase:s, locabs:s)=(value:s) action

find_spell_ids_slot(to_try:i, type:i=3, level:i, idsname:s)=(slot:s, to_try_next:s) action

find_spell_level(level:i="-1", filename:s, file_loc:s)=(level:s) action

find_spell_type(type:i, idsname:s, filename:s, file_loc:s, typename:s="unspecified")=(type:s) action

get_spellcode(input:s)=(value:s) patch
get_spellcode(input:s)=(value:s) action

idscode_to_spell(idscode:i)=(resref:s) action
idscode_to_spell(idscode:i)=(resref:s) patch

install_spell(allow_missing:i, silent:i, spell:s, edits:s, idsname:s, editstring:s, destination:s="override", location:s, locbase:s, locabs:s)=(newname:s) action

level_based_blocks(arguments:s, filename:s, file_ext:s)=() patch

list_wizard_spells()=() action

make_aura(spell:s, payload:s, effect:s)=() action

make_innate_repeating_spell(cooldown:i, overwrite:i, allow_missing:i, desc_strref_cd:i=100404, the, string, to, be, appended, to, the, description,, with, 99999, replaced, by, the, actual, repeat, time., Default, value, is, from, SCS, shared.tra, desc_strref_atwill:i=100405, this, string, says, 'use, at, will', and, gets, appended, instead, if, cooldown:i, arguments:s)=() action

make_scroll_of_spell(price:i="-1", resref:s, scrollname:s, scrollicon:s, name_func:s, spell_loc:s, price_func:s="standard_scroll_price")=(scrollname:s) action

make_spell(level:i=1, type:i, spell:s, idsname:s, edits:s, editstring:s)=(newname:s) action

return_spellname(resref:s)=(spellname:s) action
return_spellname(resref:s)=(spellname:s) patch

scroll_of_spell_data_collection patch_macro

spell_is_unusable(resref:s, kit:s)=(value:s) action

spell_to_idscode(resref:s)=(idscode:s) action
spell_to_idscode(resref:s)=(idscode:s) patch

SPL_add_basic_ability(arguments:s)=() patch

SPL_append_description(arguments:s)=() patch

SPL_append_description_newline(arguments:s)=() patch

SPL_build()=() patch

SPL_delete_opcodes(arguments:s)=() patch

SPL_description()=(value:s) patch

SPL_duration_if_variable(arguments:s)=() patch

SPL_enforce_school(arguments:s)=() patch

SPL_enforce_school_bg2(arguments:s)=() patch

SPL_enforce_school_iwd(arguments:s)=() patch

SPL_name()=(value:s) patch

SPL_postbuild()=() patch

SPL_read_ability_true_level()=(value:s) patch

SPL_read_school()=(value:s) patch

SPL_read_spell_type()=(value:s) patch

SPL_say_description(arguments:s)=() patch

SPL_say_description_strref(arguments:s)=() patch

SPL_say_name(arguments:s)=() patch

SPL_school(arguments:s)=() patch

SPL_set_description(arguments:s)=() patch

SPL_set_name(arguments:s)=() patch

SPL_spell_type(arguments:s)=() patch

SPL_substitute_description(arguments:s)=() patch

SPL_substitute_description_exact(arguments:s)=() patch

SPL_substitute_description_exact_strref(arguments:s)=() patch

SPL_substitute_description_strref(arguments:s)=() patch

standard_scroll_price(arguments:s)=(value:s) action