O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Dano mínimo de 1

Iniciado por yzarck, 11/01/2018 às 22:00

11/01/2018 às 22:00 Última edição: 15/01/2018 às 16:52 por Corvo
Galera, estou querendo fazer com que em todo ataque o personagem tome pelo menos 1 de dano, como faço isso?
Vocês tem alguma dica de alteração na fórmula de dano que possa me ajudar? Mesmo que não seja sempre tomar pelo menos 1, mas que seja mais equilibrado o combate.
O que está acontecendo é que quando o personagem sobe 1 ou 2 níveis os inimigos mais fracos não causam mais dano, e queria que isso fosse diferente... Tipo o personagem subir 50 níveis e ainda tomar dano dos inimigos mais fracos. Isso é possível?
Vlw...


Isso é fácil, é só no final da formula você colocar "+1". Por Exemplo: (a.atk * 4 - b.def * 2) + 1.

Eu particularmente também acho essa formula padrão do Maker ruim, eu gosto de usar essa:

a.atk / b.def * 50
"There are no heroes, just villains that have something to protect."

12/01/2018 às 08:48 #3 Última edição: 12/01/2018 às 08:50 por Alisson
Você pode aplicar uma condição nas fórmulas.
a.atk * 4 - b.def * 2 <= 0 ? 1 : a.atk * 4 - b.def * 2

Acima a fórmula funciona da seguinte maneira: Cálculo de dano é menor ou igual a zero? 1, do contrário, cálculo de dano.
> condição ? se verdadeiro : se falso
Você também pode deixar de uma maneira que reduza o número de cálculos, da seguinte forma:
var a = a.atk * 4 - b.def * 2; return a <= 0 ? 1 : a;

Isso evita que o computador faça 2 cálculos desnecessários, fazendo apenas 1 ao invés.

A caixinha de fórmulas de dano é simplesmente um código Javascript (no MV) ou Ruby (no Ace) a ser avaliado, então qualquer expressão será transformada em um código. Você pode tirar proveito disso e criar fórmulas de dano bem complexas.

Eu já me deparei com esse problema no passado, é realmente frustrante você receber 0 de dano de um inimigo.

Vlw pessoal pelas dicas. Já estou empregando algumas e espero melhorar ainda mais no futuro o sistema de combate do jogo.
:allmight: