WIKI

Mods

Tudo o que um mod pode fazer

Cada parte do Torreta que um mod pode trocar ou remodelar, dos modelos das torres às regras de um tower defense inteiro novo, com o arquivo, o guia e um exemplo de cada.

O que é um mod

Um mod é uma pasta com um mod.json e os arquivos que ele muda: JSON para regras e dados, modelos GLB, imagens PNG, sons WAV, OGG ou MP3. A maioria dos mods não precisa de código; um que queira regras novas pode trazer um script em GDScript ou Lua. Ponha a pasta na pasta de Mods (Opções → Mods → Abrir pasta de mods), marque-o e reinicie. Vários mods se combinam: o JSON deles se mescla chave por chave, e quando dois mudam o mesmo valor, vale o que vem depois na lista.

Cada cartão abaixo diz o arquivo que faz aquilo, o guia com o contrato completo e um exemplo para copiar. Um mod que muda as regras joga num perfil próprio; um que só muda a aparência joga exatamente como o jogo normal.

Modelos 3D

models.json liga qualquer chave de modelo do jogo a um GLB seu (glTF 2.0, exportado do Blender ou de outra ferramenta). O que você não citar mantém a arte do jogo. Todas as chaves, seus pivôs e tamanhos estão em vanilla_reference/model_catalog.json. Mapeamento de modelos

Torres

Todas as torres nos níveis 1, 2 e 3 e as seis fusões. Seu modelo gira nos pivôs Yaw e Pitch, recua e atira dos próprios pontos Muzzle_0, Muzzle_1…, também no cockpit. Uma criatura pode bater as asas e abrir a mandíbula ao atacar. Os ícones da torre e os nós dela na árvore de habilidades são renderizados de novo a partir do seu modelo.

Towers/Gun_1 … Towers/Gun_3_Fused · Modelos de torre · Flame as A dragon

Insetos

Qualquer uma das 36 famílias, andando ou voando, as dez espécies mais novas nas três paletas, o verme e os chefes, que são o seu modelo ampliado. Órgãos opcionais para campeões e élitros para besouros. O que deve flutuar em pé em vez de andar usa "locomotion": "float"; os voadores ajustam o bater de asas com flight_cycle_speed. Sua geometria é a área de acerto que o cockpit mira.

Enemies/<família>, Enemies/Castes/<casta> · Criaturas voadoras · Ptero flyers

Construções e fábrica

A fábrica nos três níveis, o quartel e o radar, com as partes móveis e as lâmpadas. O montador, o divisor e as esteiras, a caixa de carga de cada material e a sala 3D da fábrica com zoom, com coordenadas próprias no piso.

Buildings/*, Factory/*, Factory/Room · Sala da fábrica · Cobalt factory room

Peças da arena

A arena inteira, as cercas, a barreira de brocas em cada nível com as cabeças girando (Drill_N) e os caminhos dos raios, os arbustos secos da planície, os destroços, a garra do Coletor e o núcleo de energia da regra dos núcleos.

Environment/* · Contrato do Blender · Cores

Entulho

Os três montes de pedra naturais e os destroços de cada torre. Nomeie nós Piece_1, Piece_2… no GLB para escolher quais pedras o ímã do Coletor leva em cada viagem.

Environment/Rubble_* · Pedra por pedra

Marcadores no chão

O cursor de casa, o cursor do parceiro no co-op, o anel de alcance e os três módulos da rota do radar. Eles mantêm as cores do jogo para uma posição válida, que bloqueia ou recusada.

Markers/* · Marcadores · example_glb_markers

Aliados

Os soldados que um quartel mantém na estrada, os reforços que um poder solta e o herói.

Allies/Soldier, Allies/Reinforcement, Allies/Hero · Iron Kingdom

Materiais

Suas texturas PBR como exportadas (cor, metal, rugosidade, normal map, emissão), ou a aparência pintada nos vértices do próprio jogo, que mantém a quitina e os olhos brilhantes dos insetos. Nos dois casos os modelos sobem do chão na construção, levam golpes, se partem e ficam molhados na chuva como os do jogo.

"material": "imported" ou "game" · Materiais e desempenho

Os modelos do próprio jogo

Uma chave pode vestir um modelo do jogo guardado sob outra chave, citado em vez de copiado: o quartel e os mechs do Iron Kingdom são os do Hangar de Mechs. Um mod nunca leva cópia de um modelo do jogo; só modelos seus entram como arquivo.

"game_model": "Towers/Hangar_1" · Mapeamento de modelos · Iron Kingdom

Mais leve de longe

Versões mais simples de um modelo denso, desenhadas quando a câmera está longe, feitas no carregamento a partir do seu próprio arquivo. Montagens rígidas de muitas peças podem simplificar cada peça por conta própria, sem somar chamadas de desenho.

"generate_lods": true, "lod_mode": "rigid_parts" · Mapeamento de modelos

Arena e tabuleiro

scenarios.json troca o fosso por arenas suas; marcadores dentro do GLB decidem onde os insetos andam e onde as torres ficam. Mods de cenário

Sua própria arena

Uma praia, uma floresta, ruínas: qualquer paisagem dentro da área da arena, com seu próprio chão PBR que ainda recebe chuva, nuvens e buracos do verme.

scenarios.json · Tidal Coast, Banana Brigade

Etapas por dificuldade e onda

Uma arena diferente para cada dificuldade, trocando nas ondas que você escolher e em ciclo no modo infinito, sem tela de carregamento.

difficulties.<n>.stages, cycle_waves · Mods de cenário

Onde os insetos andam e as torres ficam

Empties no GLB marcam separadamente as casas por onde se anda e onde se constrói: chão só para torres, chão só para insetos, e mesas elevadas cuja altura levanta a torre que fica nelas.

GameplayTiles/Walkable, GameplayTiles/Buildable · Casas

Uma rota fixa

Um caminho clássico que os insetos seguem do ninho até a caverna, cruzando a si mesmo se você quiser. Nenhuma torre pode ficar nele, e os voadores podem segui-lo também. A cena traditional do próprio jogo está pronta para usar.

Route_1, Route_2…, "builtin": "traditional" · Traditional path

Entulho no tabuleiro

Quantos montes de pedra uma partida espalha, por dificuldade, ou uma disposição exata, igual em toda semente. Quantas viagens do Coletor cada monte leva, e se os destroços de torre bloqueiam os insetos.

MapCoords.rubble · Entulho

Regras e balanceamento

balance.json faz um remendo sobre o perfil do próprio jogo: escreva só os valores que mudam. vanilla_reference/balance.json traz todas as chaves com os números do jogo. Dados e precedência

Números das torres

Dano, alcance, cadência, preço e todos os outros atributos de cada nível e fusão; a precisão de cada torre de projétil e a que distância cai um tiro errado; a manutenção.

towers.stat_overrides, towers.accuracy · example_balance_towers

Economia e dificuldade

Ouro e vidas iniciais, recompensa por abate, a curva de vida das ondas e os multiplicadores de cada dificuldade.

general, economy, enemies, difficulty · example_balance_hard_mode

Cartas

O baralho, as raridades, a onda em que cada carta aparece, seus efeitos e o risco do verme; cartas novas somadas ao baralho do jogo pelo id; ou nenhuma carta, com a próxima onda entrando direto.

cards, cards.pool_add, cards.enabled: false

Árvore de habilidades

Custos, limites e nível mínimo de cada nó, e a imagem dele.

PurchasableStats · Arte dos nós

Como a partida começa

Todas as torres e recursos liberados, estoque de todos os materiais, torres escolhidas já abertas, o cockpit aberto e sem cronômetro. O perfil do próprio mod pode começar no nível que você escolher e com todos os pontos de habilidade, já no menu.

run_start, run_start.player_level, run_start.skill_points, cockpit.unlimited_time · All resources

Quais torres existem

Tire tipos de torre da partida e deixe os níveis 2 e 3 dispensarem a árvore de habilidades.

towers.disabled, towers.upgrades_need_skills · Regras do tabuleiro

Uma torre sua

Uma torre nova ao lado das dez do jogo, construída sobre uma delas: nome, níveis, soldados e modelos 3D próprios, ícones gerados desses modelos e uma carta que a libera.

"base" no tower_data.json, Towers/<Key>_1 · Uma torre sua

Baterias e os poderes de uma torre

Unidades que gastam um material da fábrica enquanto lutam e voltam para casa sem ele, a carta de uma torre que traz suprimentos, e poderes que pertencem a uma torre: lançados do anel e da janela dela, cada um gastando uma carga que a fábrica faz uma de cada vez. O Hangar de Mechs do jogo é feito assim.

battery_seconds, start_supply, requires_tower, charge, max_stock · Uma torre sua

O herói de uma torre

Um herói que sai de uma torre depois que um nó da árvore é comprado: conduzido e atacando na mão, se curando em repouso, ganhando níveis cujos pontos vão para dano, vida ou defesa no anel, um jetpack no nível máximo, e de volta ao nível inicial se cair. A força com que o inseto atingido revida é uma fração da vida dele. Números, modelo, nome e figuras do anel são todos dados.

hero no tower_data.json, start_level, struck_share · Uma torre sua · Veteran Commander

Camuflagem e o chefe final

Quais ondas vêm camufladas, quais torres as enxergam e se compartilham a visão, os números e o modelo do chefe final, o Brood Mind, e a carta Óptica Adaptativa.

cloaked_waves, bosses.final_boss · Final encounters

Clima contra as torres

O que a chuva e a tempestade de areia fazem com as torres: por padrão a chuva enfraquece a Flame e fortalece a Bolt, e a areia atrapalha a mira. Qualquer atributo de torre pode entrar na lista.

weather.tower_effects · Clima

Outro tower defense

Só com dados dá para transformar o Torreta em outro tower defense. Cada regra daqui fica desligada até um mod escrevê-la. Escrevendo outro tower defense

Uma conversão total

Um mod que faz do Torreta outro jogo diz isso no seu mod.json. Só um joga por vez: marcá-lo desliga o outro. Mods cosméticos e de jogabilidade continuam combinando com ele, e a tela de Mods dá a ele um selo e um filtro próprios.

"total_conversion": true · Conversões totais

Os nomes das suas torres

Cada torre pode ter nome e descrição próprios em cada idioma. A paleta, a dica dela, a roda do controle, a janela da torre e o guia os usam, e a dica diz o que a torre faz: se não atira, suas unidades, sua renda, sua munição, seus caminhos.

name, description em tower_data.json · Nomes das torres

Ondas escritas à mão

Seus próprios tipos de inimigo (vida, velocidade, recompensa, escudo, tamanho, camuflagem, quanto custa um vazamento) e os grupos, o espaçamento e as esperas de cada onda, com vida por dificuldade. Depois da última onda a partida é vencida, ou as ondas do próprio jogo continuam.

waves.json · Ondas

Camadas

Um inimigo que se divide em outros onde morre, e a onda espera por eles.

children · Banana Brigade

Imunidade e resistência

Inimigos que ignoram ou aguentam um tipo de dano: projéteis, explosões, fogo, gelo, raio, laser, veneno ou a barreira.

immune, resist

Caminhos de melhoria

Até três caminhos de níveis comprados no lugar, com limites de cruzamento e ramos que pedem outro caminho antes. Os níveis multiplicam dano, cadência e alcance, somam dano em área, visão de camuflagem ou renda, e trocam o modelo da torre.

paths em tower_data.json · Caminhos de melhoria

Soldados

Uma torre-quartel que mantém unidades num ponto de reunião na estrada. Elas param os insetos e trocam golpes com eles, e voltam depois de cair.

soldiers, "fires": false · Iron Kingdom

Um herói e poderes

Um herói que o jogador seleciona com um clique e anda com WASD ou o analógico esquerdo, e poderes com recarga: um ataque numa área, ou reforços por um tempo. Teclas, uma barra na tela e a roda do controle os lançam.

allies.hero, allies.abilities · Soldados, herói, poderes

Torres que rendem

Ouro pago no fim de cada onda, por um nível de torre ou um nível de melhoria.

income, income_add

Metades no co-op

Divida o tabuleiro do co-op entre os dois jogadores, esquerda e direita ou cima e baixo: cada um constrói, melhora e ganha na sua metade, e as vidas continuam compartilhadas.

multiplayer.coop.build_zones

Uma rota viva

Um caminho que cresce depois de cada onda, contornando suas torres em novos bolsões. Onde você constrói, ele não passa.

route_growth · Living Trail

Núcleos

Suas vidas viram núcleos de energia guardados na caverna. Os insetos os carregam de volta ao ninho; mate quem carrega e o núcleo flutua de volta para casa.

cores · Cores

Fábrica e munição

Materiais e receitas

Novos materiais e receitas, seus nomes em cada idioma e um contador na barra de cima; materiais do jogo removidos; o limite padrão de estoque de uma receita e quanto um lote produz.

material_data.json, factory.recipe_output_multipliers

Munição como o próprio tiro

Um nível de torre que só atira com uma munição que a fábrica produz, e para de atirar sem ela.

ammo, ammo_per_shot · Factory ammunition

Custos

Os materiais que cada torre e fusão custam, ou torres que custam só dinheiro.

tower_fusion.cost_materials, factory.tower_material_mult · Munição

Clima e fauna

Tudo cosmético: um mod que só muda isto mantém o perfil normal.

Clima

Com que frequência chove ou sopra uma tempestade de areia, a força delas, o vento e as rajadas, os raios à noite, as poças e as nuvens.

weather em balance.json · Clima, Tempestades de areia

Deserto vivo

Quanta poeira, quantos rastros e quanto calor tremulando o deserto mostra, quanta vida o fosso tem, e a água correndo pelo chão na chuva.

weather.scenery_fx · Deserto vivo

Pássaros

Quais pássaros cruzam o céu e quando, o tamanho e a formação dos bandos, e espécies novas com seus próprios modelos.

birds.json, Birds/<Nome> · Pássaros · Flamingos at dusk

Cobras

Quais cobras cruzam o fosso e a planície, com que frequência e a que hora, como se movem e com que frequência uma ave de rapina leva uma. Espécies novas vêm dos seus próprios modelos.

snakes.json, Snakes/<Nome> · Cobras

Microfauna

As pequenas colônias no fosso e na planície: quem vive junto, quantas são e como cada uma se move: em trilha, vagando, aos pulos ou voando.

microfauna.json, Microfauna/<Nome> · Microfauna · Desert scorpions

Som e cursor

Efeitos sonoros e música

Qualquer um dos vinte efeitos nomeados (construir, vender, ondas, menus, mortes, o verme, vento, chuva, areia, trovão, poças) e qualquer faixa de música, em WAV, OGG ou MP3, além do volume do som do clima.

sounds.json, weather.audio · Sons

Cursor

Sua própria imagem para o ponteiro do mouse e do controle, o ponto de clique, e uma imagem para cada cor de cursor.

cursor.json · Cursores · example_cursor

Scripts

Para regras que números não expressam, um mod pode trazer um script que o jogo chama quando as coisas acontecem na partida, como o control.lua de um mod de Factorio. Ele age só por um objeto, api, e só do jeito que o jogador permitiu. Mods com script

GDScript ou Lua

Os mesmos ganchos, API e permissões nas duas linguagens: a extensão do arquivo de entrada escolhe. Um arquivo GDScript é verificado nome por nome antes de compilar; o Lua roda numa caixa de areia própria, com as bibliotecas seguras do Lua 5.4, um limite de instruções por gancho e um teto de memória.

"script": {"entry": "control.gd"} ou "control.lua" no mod.json · Scripts em Lua

Ganchos

Uma partida começando ou terminando, uma onda começando ou fechando, um inseto saindo, morrendo ou chegando à caverna, um golpe prestes a acertar (o dano pode ser mudado), uma torre construída, melhorada ou vendida, uma carta escolhida, e um tique dez vezes por segundo de jogo.

on_enemy_killed, on_damage, on_tick… · Ganchos

O que um script pode fazer

Dar ou tirar ouro e vidas, ferir ou desacelerar insetos, multiplicar o dano, a cadência ou o alcance de uma torre, gerar mais insetos da onda e mostrar um aviso, cada coisa atrás de uma permissão que o mod declara. Ele guarda seus próprios dados, salvos com a partida, e sorteia números da semente da partida, para o co-op ficar em sincronia.

capabilities, api.storage, api.rng · A API

O jogador permite

A tela de Mods marca um mod com script e lista o que ele pode fazer; ele fica desligado até o jogador permitir, e pergunta de novo quando uma versão nova quer mais. Um script que dá erro ou demora demais é desligado pelo resto da partida.

_example_script_bounty, _example_lua_bounty · Quando um script falha

Multijogador e bots

Mods cosméticos jogam com qualquer um

Só com mods cosméticos você encontra jogadores sem mods ou com outros mods cosméticos, e cada um vê a própria arte.

Multijogador

Mods de jogabilidade precisam bater

Todos os lugares precisam dos mesmos mods de jogabilidade, com os mesmos arquivos e na mesma ordem. O jogo compara o conteúdo, então um arquivo editado conta mesmo sem mudar o número da versão.

Multijogador

Bots

Bots ocupam os lugares vazios de uma sala PvP. Um mod de jogabilidade os libera com um bots.json, e pode dar a eles seus próprios labirintos e valores de cartas. Eles também jogam as regras de tower defense acima.

bots.json · Bots no PvP

Compartilhar na Oficina Steam

Publique de dentro do jogo, com a Steam aberta: Opções → Mods, depois Publicar na linha do seu mod. Escreva uma nota da mudança, escolha quem pode ver, e ponha um preview.png ou .jpg (até 1 MB) ao lado do mod.json para a imagem. O item recebe sozinho a etiqueta Gameplay ou Cosmetic da Oficina. As próximas publicações atualizam o mesmo item (o id fica em workshop_item.json), e quem assinou recebe a atualização automaticamente. Publicar na Oficina Steam

Cosmético, jogabilidade ou conversão total

Um mod é de jogabilidade quando traz algum arquivo de regras (balance.json, waves.json, tower_data.json, map_data.json, material_data.json, enemy_data.json, scenarios.json), um script ou um modelo que o jogo usa para medir: torres, insetos ou a arena. Ele joga num perfil próprio, então seu progresso normal e o Continuar ficam intactos, e conquistas, experiência, cristais e placares ficam desligados enquanto ele está ativo. Os pontos de habilidade continuam contando, no perfil dele.

Todo o resto é cosmético: construções, peças da fábrica, marcadores, entulho e o resto do cenário, pássaros, cobras, microfauna, sons e o cursor. Um mod cosmético joga exatamente como o jogo normal.

Um mod de jogabilidade que faz do Torreta outro jogo se declara uma conversão total ("total_conversion": true), como Banana Brigade, Iron Kingdom, Traditional path, Living Trail e Cores. Só uma joga por vez, ao lado de quaisquer mods cosméticos e de jogabilidade. A tela de Mods marca e filtra os três tipos.

O que um mod não pode fazer

  • Rodar código fora da API do script. Um script alcança o jogo só pelo api, com as permissões que o jogador deu: sem arquivos, rede, nós do motor ou outros mods. Recursos do Godot (.tscn, .tres…) são recusados, e menus, controles ou comportamentos de torre novos além das chaves acima ficam fora do sistema de mods.
  • Mexer nos cristais ou no catálogo de insetos. As regras dos cristais da Steam e a troca de família a cada cinco ondas continuam sendo do jogo.
  • Animar com esqueletos. O jogo move os modelos pelos pivôs nomeados; armaduras, skins, clipes de animação, câmeras e luzes num GLB não são usados. Um GLB pode ter até 64 MiB, um som 32 MiB, um cursor 1024 pixels de lado.
  • Trocar os shaders 3D. Escolha os materiais PBR importados ou a aparência do próprio jogo.
  • Mudar algo sem reiniciar. Instalar, editar, ativar ou desativar um mod vale a partir da próxima vez que o jogo abre; o Reiniciar agora da tela de Mods faz isso num toque.