Esta é a versão final da minha explicação da fórmula do dano. Com as novas descobertas, as simulações de batalha agora são quase 100% precisas – então podemos finalmente dizer que descobrimos a verdadeira fórmula de dano do jogo. Você pode vê-lo em ação no Simulador de Batalha.
A versão simplificada da fórmula fica assim:
Mortes = √Tropas × (Ataque × Letalidade) / (Defesa do Inimigo × Saúde do Inimigo) × SkillMod - A contagem de suas tropas aumenta com a raiz quadrada, o que significa que ter um exército maior não aumenta muito o seu dano. Por exemplo, se você usar 10.000 soldados, a raiz quadrada será 100 – mas dobrar suas tropas para 20.000 apenas aumentará para 144, não 200. Portanto, seu dano não dobra.
- Ataque e Letalidade têm o mesmo impacto, pois se multiplicam. Isso significa que a Letalidade não é mais forte ou mais importante que o Ataque – ambos são igualmente importantes.
- Seu Ataque × Letalidade é dividido pelo inimigo Defesa × Saúde, então a velha ideia de que “Ataque reduz Defesa” e “Letalidade reduz Saúde” estava completamente errada.
- A parte mais importante da fórmula de dano é HabilidadeMod, que representa os efeitos das habilidades dos heróis e das tropas. Isso tem a maior influência no dano, então seus heróis principais e aliados com fortes habilidades desempenham um papel importante na decisão do resultado de suas batalhas.
Mod de habilidade ou “Coeficiente de dano”
Esta parte é muito importante porque é o que controla como as habilidades do marceneiro afetam o dano. A fórmula é:
SkillMod = (DamageUp * OppDefenseDown) / (OppDamageDown * DefenseUp)
No backend (para participantes), os buffs de Ataque e Letalidade são tratados da mesma forma
→ eles são apenas Dano para cima efeitos. O texto “ataque” versus “letalidade” no jogo
é apenas um texto de sabor para heróis associados. Mecanicamente, a única coisa que os separa
é a sua
efeito_op identificador.
Observação: Os exemplos de código abaixo são do nosso simulador. Eles não vêm dos arquivos do jogo, então os nomes reais das variáveis no jogo podem ser diferentes.
Por que diferentes marceneiros (Amane + Chenko) causam mais danos
Quando você empilha marceneiros idênticos, seus buffs simplesmente aumentam. Mas quando você empilha marceneiros diferentes, os buffs se multiplicam, causando um pouco mais de dano.
Exemplo 1: Quatro do mesmo herói (Amane ou Chenko, cada 25%)
Quatro Amanes → bônus_efeitos['DamageUp'][102] = 25 + 25 + 25 + 25 = 100 Quatro Chenkos → bônus_efeitos['DamageUp'][101] = 25 + 25 + 25 + 25 = 100 danoUp = 1 + 100/100 = 2,0 (aumento de 100%)
Exemplo 2: Dois Amanes + Dois Chenkos (25% cada)
Amane = effect_op 102 → total 50 Chenko = effect_op 101 → total 50 bonus_effects['DamageUp'] = 101: 50, 102: 50 danoUp = math.prod((1.0 + val/100.0) for val in stats_dict['DamageUp'].values()) danoUp = (1 + 50/100) * (1 + 50/100) danoAumentar = 1,5 * 1,5 = 2,25 (aumento de 125%)
Resultado
- Quatro heróis idênticos → 2,0 (aumento de 100%)
- Dois Amane + Dois Chenko → 2,25 (aumento de 125%)
Isso é um Aumento relativo de 12,5% em danos apenas por misturar heróis.
Por que isso acontece
O matemática.prod função multiplica cada único efeito_op separadamente:
-
Se todos os heróis compartilham o mesmo
efeito_op, seus buffs apenas se somam. -
Se eles têm diferentes
efeito_ops, os buffs são compostos multiplicativamente → levando a danos maiores.
Ataque versus letalidade – o que você deve aumentar?
Agora que entendemos a fórmula de dano do Kingshot, sabemos queAtaqueeLetalidademultipliquem-se entre si. Isto significa aumentar amais baixoestatística entre eles proporciona um aumento maior no dano geral.
Na maioria dos casos, seuAtaqueé muito maior que o seuLetalidade, assim como o seuDefesageralmente é maior que o seuSaúde— principalmente porque a Letalidade e a Saúde são mais difíceis de melhorar. Então, para obter um aumento notável no dano, concentre-se em aumentarLetalidade, e para reduzir os danos recebidos de forma mais eficaz, trabalhar no aumentoSaúde.
Uma vez que seuLetalidadeeSaúdeestatísticas são altas o suficiente, então começa a fazer mais sentido focarAtaqueeDefesade novo.