O que é texto de lendas e por que você precisaria mexer nisso
Texto de lendas se refere aos arquivos de dados textuais extraídos de jogos como League of Legends, especificamente os textos de campeões, itens, habilidades e narrativas que compõem o universo do jogo. Muitos desenvolvedores, criadores de conteúdo e comunidades precisam acessar esses dados para construir ferramentas próprias, traduzir conteúdo, criar wikis ou automatizar análises. O problema é que a Riot não fornece uma API oficial para a maior parte desse conteúdo histórico e lore.
Texto de lendas: como extraí-los na prática
O método mais confiável que eu já vi funcionar envolve acessar os assets do jogo diretamente. Os arquivos ficam compactados em pacotes .pak dentro da pasta de instalação do League of Legends. Você pode descompactá-los usando ferramentas como League of Legends Package Extractor ou o cawth's PAK Tool. Dentro desses pacotes, o arquivo que normalmente interessa é o Text_*.json ou os arquivos na pasta GameData/Json, dependendo da versão. Aqui vai o detalhe que ninguém conta: os nomes dos arquivos JSON nem sempre são intuitivos. Um arquivo chamado ChampionSelect.json pode parecer sobre a tela de seleção, mas na verdade contém dados de múltiplas abas. Eu perdi cerca de duas horas navegando em arquivos errados até perceber que os textos de lore dos campeões estavam em um arquivo separado chamado ChampionDisplayData.json, que por sua vez só contém IDs e títulos. Os textos completos estão em Item.json, Spell.json e em arquivos de localização como language_ptBR.json dentro da pasta Audio/Strings.
Depois de extrair, o fluxo básico é: 1. Baixe a versão mais recente do jogo ou use um mirror dos assets. A Riot atualiza esses arquivos a cada patch, então dados desatualizados vão te dar textos antigos de campeões que foram reworkados. Isso aconteceu comigo quando tentei construir uma base de dados dos textos de Lillia antes do rework — o JSON ainda tinha a versão antiga e eu precisei cross-reference com o site oficial para corrigir.
2. Use um script Python para parsear os JSONs. Um json.load() simples resolve 80% dos casos. Para os arquivos de strings de áudio, o formato é diferente — são arquivos de texto plano com pares chave = valor separados por vírgulas, e às vezes com caracteres de escape estranhos que quebram parsers ingênuos. A solução que eu adotei foi tratar cada linha como uma entrada bruta e usar regex para isolar as chaves e valores, ignorando linhas vazias e comentários. 3. Armazene tudo estruturado. Eu recomendo um banco SQLite ou simplesmente arquivos JSON organizados por categoria. Um banco relacional é overkill para a maioria dos projetos. Um diretório com subpastas campeoes/, itens/, skills/ e lore/ é suficiente e muito mais fácil de manter.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Armazenamento e download de texto de lendas
Se você quer apenas o texto pronto sem mexer com os arquivos do jogo, existem projetos comunitários que já fizeram esse trabalho. O League of Legends Wiki mantém dumps públicos de dados em formato JSON atualizados a cada patch. Também há o repositório data-dragon no GitHub da Riot, que é a API não-oficial mais usada pela comunidade. Ele expõe os mesmos dados que estão nos arquivos do jogo, mas em formato acessível via HTTP. Para quem prefere um caminho mais direto, eu costumo baixar os dumps do site lolstatic.com diretamente. O endpoint https://ddragon.leagueoflegends.com/cdn/{versao}/data/pt_BR/Champion.json te devolve todos os campeões com seus textos de lore, habilidades e descrições em português brasileiro. A versão atual do ddragon é fácil de obter consultando https://ddragon.leagueoflegends.com/api/versions.json.
Problemas comuns que você vai encontrar
O primeiro problema sério é a fragmentação de dados. O lore de um campeão não está todo em um lugar só. Parte vem do JSON de campeão, parte vem de arquivos de história separados (aqueles arquivos .txt na pasta Docs do jogo), e parte está espalhada por posts do site oficial que nunca foram centralizados em nenhum arquivo do jogo. Se você está construindo algo que precisa do lore completo, prepare-se para juntar pedaços de múltiplas fontes. O segundo problema é a atualização constante. A Riot faz patches a cada duas semanas, e os dados mudam. Textos de habilidades são reformulados, campeões ganham novos diálogos, e itens são reescritos. Manter um conjunto de texto de lendas sincronizado exige pelo menos uma verificação mensal. Eu configurei um cron job que roda toda segunda-feira e baixa os dados mais recentes do ddragon, comparando com a versão anterior e gerando um diff. Leva cerca de 3 minutos e evita que você trabalhe com dados velhos sem perceber.
O terceiro problema, e talvez o mais frustrante, é que alguns arquivos de localização simplesmente não existem para certos idiomas. O português brasileiro é bem coberto, mas línguas como italiano, holandês e russo têm lacunas significativas. Se o seu projeto depende de dados em um idioma que a Riot não localizou, você vai precisar recorrer ao inglês original ou fazer uma tradução própria.
Limitações reais que ninguém menciona
Texto de lendas extraído dos arquivos do jogo tem uma limitação importante: ele não inclui conteúdo removido. Campeões como Gunnar e Annie, ou versões antigas de campeões que foram completamente remodelados, têm seus textos removidos dos arquivos ativos. Se você precisa desses dados históricos, precisa de um dump antigo do jogo ou de archives da comunidade. Não há como recuperar do cliente atual. Outra limitação prática é que os dados de lore no jogo são inconsistentes em qualidade. Alguns campeões têm páginas inteiras de narrativa bem escritas. Outros têm apenas uma frase genérica. A Riot não padroniza isso, e você vai encontrar buracos enormes se tentar construir uma enciclopédia completa baseada apenas nos arquivos do jogo. Para preenchimento, a comunidade da Wiki e os materiais de expansão (contos, álbuns de história) são fontes complementares necessárias.
Se o seu objetivo é apenas consultar textos rapidamente, o ddragon resolve. Se você precisa de algo mais robusto — como buscas semânticas, relações entre personagens ou dados históricos — vai precisar combinar o ddragon com dumps da comunidade e possivelmente scraping do site oficial, com cuidado para não violar os termos de uso da Riot.