
You are viewing a potentially older version of this package. View Latest Version
BaseAssistant
An autonomous assistant for your Valheim base. Automatically repairs structures, fuels kilns, collects items from the ground, and organizes your chests with strict sorting rules.Valheim Base Assistant
Um mod para Valheim que adiciona um NPC "Dverger" autônomo focado em logística e manutenção da base.
🛠️ Estado Atual (Versão Finalizada da Sessão)
O Assistente já é capaz de navegar pela base, reparar estruturas quebradas em área, coletar itens caídos e armazená-los em baús, além de reabastecer fornalhas ativamente.
Funcionalidades Implementadas:
- Radar e Área de Atuação: O assistente orbita uma "Cama do Assistente" num raio padrão de 30 metros. A cama possui um toggle (Interagir) que cria uma cúpula visual para exibir a área de cobertura.
- Sistema de Configuração em Tempo Real (Live Reloading): Integração com
BepInEx.Configuration. As distâncias e lógicas podem ser ajustadas no Thunderstore (viacom.singularitydot.baseassistant.cfg) e são atualizadas no jogo a cada 5 segundos sem necessidade de reiniciar. - Reparo em Área (AoE): Quando o NPC detecta uma peça danificada, ele anda até uma distância segura e invoca um conserto que repara todas as estruturas num raio configurável (Padrão: 10m).
- Logística de Cadeia (Chain Pickup): O assistente vasculha o chão em busca de itens acumuláveis. Se pegar um item, ele procura itens similares próximos para encher as mãos antes de ir guardar, economizando viagens.
- Abastecimento Inteligente (Fundição Universal): O assistente verifica todas as fornalhas e fundições da base (incluindo mods). Ele lê ativamente o que a máquina aceita e abastece com carvão/madeira e minérios disponíveis.
- Limites de Produção e Reserva Segura: O assistente pausa a produção automaticamente se um certo limite de minério ou carvão já foi produzido. Além disso, ele nunca esvazia os baús de matérias-primas, preservando uma quantidade de reserva (
LeaveWoodAmount,LeaveCoalAmount,LeaveOreAmount). - Sistema de Desatolamento (Geodata Bypass v2): O cálculo de distâncias agora é feito mapeando a Borda (Bounding Box) dos objetos.
- Nomes nos Baús: O jogador pode renomear os baús e o assistente usará o nome (baseado na tradução local) para armazenar metais e ligas sem causar problemas de diferença entre maiúsculas/minúsculas.
- Sistema Anti-Duplicação e Reserva Global: O assistente utiliza um HashSet estático de ZDOIDs para garantir que múltiplos assistentes não tentem pegar o mesmo item no chão simultaneamente, evitando duplicações (clonagem).
- Recuperação Elegante de Tarefas (Stuck Recovery): Se o assistente ficar travado tentando buscar um item no chão, a punição foi reduzida (5s) para que ele ou outros assistentes tentem novamente mais rápido. Se o alvo for um baú, ele desiste e tenta mais tarde, limpando sempre as reservas pendentes sem vazamentos.
- Rebaixamento Dinâmico (Round-Robin): Elimina a "visão de túnel" do assistente, forçando-o a alternar tarefas (ex: buscar no chão, organizar baús, abastecer fornalha) de forma orgânica, em vez de focar apenas em uma única função.
- Navegação de Repouso Aprimorada: O assistente não tenta mais escalar ou subir em cima da cama ao ir dormir. O teleporte do acordar agora possui um offset preciso no chão, corrigindo bugs onde ele flutuava no ar.
⚙️ Variáveis de Configuração (BepInEx)
O arquivo com.singularitydot.baseassistant.cfg permite customizar:
RaioDeTrabalho: Tamanho da área de cobertura (Padrão: 30m).VidaParaReparo: Limiar para consertar (Padrão: 0.8 / 80%).RaioReparoEmArea: Tamanho do domo de reparo AoE (Padrão: 10m).DistanciaFornalha: Distância para jogar itens na fornalha (Padrão: 4.0m).DistanciaBau/DistanciaItemChao: Distâncias mais curtas de interação física (Padrão: 2.5m e 2.0m).LeaveWoodAmount,LeaveCoalAmount,LeaveOreAmount: Quantidade mínima de itens a serem preservados no baú.MaxCoalAmount,MaxSmeltedMetal: Limites globais máximos de produção de carvão e metais.
📝 Próximos Passos
- Novas Integrações Industriais: Moinhos, rodas de fiar e fornos de pão.
- Organização Total de Estoque: Refinar ainda mais as pontuações do baú baseado em tipos específicos (Ex: guardar resina com madeira).