Calculadora de dificuldade de encontros D&D e orçamento de XP
Monte um combate de quinta edição de acordo com o grupo, sem depender de palpites.
Executar grátis
Informe um nível para cada personagem jogador e um nível de desafio para cada monstro. A calculadora soma o XP indicado dos monstros, aplica o multiplicador padrão pela quantidade de inimigos e pelo tamanho do grupo, calcula os limites de XP fácil, médio, difícil e mortal e apresenta a dificuldade resultante. É uma referência rápida para mestres prepararem uma sessão ou conferirem um encontro durante o jogo.
Descreva todo o grupo e o conjunto de monstros
Adicione uma entrada em níveis dos jogadores para cada personagem participante. Repetir níveis é intencional: quatro personagens de nível 3 devem ser informados como 3, 3, 3 e 3. A quantidade de entradas define o tamanho do grupo, portanto não há uma contagem separada que possa divergir dos níveis. Em seguida, adicione um nível de desafio para cada criatura hostil. Use decimais para valores fracionários: 0.125 para ND 1/8, 0.25 para ND 1/4 e 0.5 para ND 1/2. ND 0 e números inteiros até 30 também são aceitos. Inclua monstros que provavelmente terão ações relevantes na mesma batalha, mas deixe de fora perigos, criaturas neutras e reforços improváveis. Quando o combate tiver ondas distintas com tempo para recuperação ou reposicionamento, calcular cada onda separadamente costuma ser mais útil do que considerar todas as criaturas presentes de uma vez. É obrigatório informar pelo menos um personagem, pois não é possível formar limites de encontro sem um grupo.
Entenda o cálculo do orçamento de XP
Cada nível de personagem possui quatro limites de XP publicados: fácil, médio, difícil e mortal. A calculadora soma esses valores para todo o grupo, o que permite trabalhar naturalmente com personagens de níveis diferentes. Ela também converte cada nível de desafio no XP correspondente e soma os valores como XP base dos monstros. Vários monstros são mais perigosos do que uma criatura com o mesmo XP total, pois recebem mais turnos e pressionam mais alvos; por isso, o método padrão aplica um multiplicador conforme a quantidade de inimigos. Esse multiplicador sobe uma faixa para grupos com menos de três personagens e desce uma faixa para seis ou mais. O XP ajustado serve apenas para classificar a dificuldade; o XP base continua sendo a referência para a recompensa normal. O resultado inclui os dois números, o multiplicador escolhido e os quatro limites do grupo, permitindo que você veja claramente a origem da classificação. Valores abaixo do limite médio são apresentados como fáceis para manter as quatro categorias solicitadas.
Use a dificuldade como orientação, não como promessa
Um orçamento de XP é um ponto de partida consistente, mas não representa todos os detalhes táticos. Terreno, surpresa, alcance, cobertura, sinergia entre monstros, recursos gastos, itens mágicos, otimização e experiência dos jogadores podem alterar bastante o desafio real. Uma classificação mortal significa que o XP ajustado alcançou esse limite; não significa que um personagem necessariamente morrerá. Da mesma forma, fácil não garante que o azar não crie perigo. Observe com atenção criaturas cujas habilidades contornam a pressão normal sobre pontos de vida, monstros capazes de derrubar um personagem de nível baixo com um golpe e batalhas em espaços estreitos. O método também perde precisão quando muitos inimigos fracos aumentam o multiplicador sem ameaçar efetivamente o grupo. Use os limites retornados para ajustar a composição: remova um monstro, reduza um nível de desafio ou separe os inimigos em ondas e calcule novamente. Para um dia de aventuras, considere ainda os outros encontros e as oportunidades de descanso do grupo.
Casos de uso
Preparar uma sessão
Compare a seleção planejada de monstros com os níveis e o tamanho exatos do grupo antes do jogo.
Ajustar um encontro com níveis mistos
Some os limites individuais de personagens de níveis diferentes sem estimar um nível médio.
Comparar versões de um encontro
Adicione ou retire monstros e compare XP ajustado, multiplicadores e classificações antes de decidir a formação final.
Perguntas frequentes
Quais regras de D&D esta calculadora utiliza?
Ela utiliza os limites de XP, valores de monstros e multiplicadores padrão para encontros da quinta edição, normalmente associados às regras básicas de 2014.
Como informar níveis de desafio fracionários?
Informe ND 1/8 como 0.125, ND 1/4 como 0.25 e ND 1/2 como 0.5.
Por que o XP base e o XP ajustado são diferentes?
O XP base soma os valores dos monstros. O XP ajustado aplica o multiplicador para classificar a dificuldade, não para definir a recompensa normal.
Como o tamanho do grupo é considerado?
A quantidade de níveis informados define o tamanho. Grupos com menos de três personagens sobem uma faixa do multiplicador; com seis ou mais, descem uma.
Um encontro pode ficar abaixo do limite fácil?
A saída permanece nas quatro categorias solicitadas; portanto, todo XP ajustado abaixo do limite médio é classificado como fácil.
Quanto custa um cálculo pela API?
Cada solicitação à API custa US$ 0,002. O mesmo cálculo determinista também pode ser executado no navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/game/dnd-encounter-difficulty-calc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"player_levels":[3,3,3,3],"monster_challenge_ratings":[1,1]}'const res = await fetch("https://api.kit.forhosting.com/game/dnd-encounter-difficulty-calc", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"player_levels": [
3,
3,
3,
3
],
"monster_challenge_ratings": [
1,
1
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/dnd-encounter-difficulty-calc",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"player_levels": [
3,
3,
3,
3
],
"monster_challenge_ratings": [
1,
1
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/dnd-encounter-difficulty-calc", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"player_levels":[3,3,3,3],"monster_challenge_ratings":[1,1]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"player_levels":[3,3,3,3],"monster_challenge_ratings":[1,1]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/dnd-encounter-difficulty-calc", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"player_levels": [
3,
3,
3,
3
],
"monster_challenge_ratings": [
1,
1
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.dnd_encounter_difficulty_calc",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_players | 20 |
max_monsters | 50 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |