function GB_Spellbook_Initialize() if (not GB_INITIALIZED) then return; end GB_SpellBookPrevPageButton:Disable(); GB_SPELLBOOKPAGE = 0; GB_SpellBookNextPageButton:Enable(); GB_Spellbook_UpdatePage(1, 40); end function GB_Spellbook_NextPage() GB_SPELLBOOKPAGE = GB_SPELLBOOKPAGE + 1; GB_SpellBookPrevPageButton:Enable(); local start = 40 * GB_SPELLBOOKPAGE + 1; local finish = start + 39; GB_Spellbook_UpdatePage(start, finish); end function GB_Spellbook_PreviousPage() GB_SPELLBOOKPAGE = GB_SPELLBOOKPAGE - 1; GB_SpellBookNextPageButton:Enable(); if (GB_SPELLBOOKPAGE == 0) then GB_SpellBookPrevPageButton:Disable(); end local start = 40 * GB_SPELLBOOKPAGE + 1; local finish = start + 39; GB_Spellbook_UpdatePage(start, finish); end function GB_Spellbook_UpdatePage(start, finish) for x = start, finish do local boxnum = x - 40 * GB_SPELLBOOKPAGE; local spellbox = "GB_MiniSpellbook_Spell_"..boxnum; local spellname, spellrank = GetSpellName(x, "BOOKTYPE_SPELL"); if (spellname) then getglobal(spellbox):Show(); getglobal(spellbox):SetID(x); local texture = GetSpellTexture(x, "BOOKTYPE_SPELL"); getglobal(spellbox.."_Texture"):SetTexture(texture); if (spellrank) then local rankstart = string.find(spellrank, " "); if (rankstart) then local rank = string.sub(spellrank, rankstart + 1); if (rank ~= "Passive") then getglobal(spellbox.."_Rank"):SetText(rank); else getglobal(spellbox.."_Rank"):SetText(""); end else getglobal(spellbox.."_Rank"):SetText(""); end else getglobal(spellbox.."_Rank"):SetText(""); end else getglobal(spellbox):Hide(); GB_SpellBookNextPageButton:Disable(); end end end