Ir para conteúdo
  • 0

Dúvidas Do Combat Formula


Adriez

Pergunta

fala galera boa noite, o q significa cada numero disso, pq gostaria de balancear as spells do meu ot...

 

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0.8, -225, 1.5, -190) e setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -6, -0, -8, -0)

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
setCombatFormula(combat, formulaType, min_a, min_b, max_a, max_b, min_lvl, max_lvl, min_mlvl, max_mlvl, min_dmg, max_dmg)

Combat é o objeto combate em questão, normalmente ele é instanciado no inicio dos arquivos de spells como local combat = createCombatObject(). É esse objeto que controla, a partir de seus parâmetros, toda a dinâmica das spells: efeitos, dano, área, etc.

 

Min_a e Max_a são múltiplicadores das fórmulas de dano máximo e mínimo

Min_b e Max_b são números base das fórmulas de dano máximo e mínimo

Min_lvl e Max_lvl são ponderadores do level na fórmula de dano máximo e mínimo baseado em ML, dividem o lvl do player.

Min_mlvl e Max_mlvl são ponderadores do magic level na fórmula de dano máximo e mínimo baseado em ML, multiplicam o ml do player.

Min_dmg e Max_dmg são os limites do dano máximo e mínimo, o menor dano possível é min_dmg e o maior dano possível é max_dmg.

formulaType são os diferentes tipos de fórmulas que podem ser usados, isso é, formas diferentes de como os parâmetros de dano que foram passado serão utilizados.

 

Existem três tipos relevantes de fórmulas, existe um quarto chamado undefined ou 0. Porém nele todos os parâmetros são zero. São eles:

 

COMBAT_FORMULA_LEVELMAGIC ou 1

 

Essa é a fórmula mais completa das três, utiliza de todos os parâmetros para definir o dano máximo e mínimo.

Basicamente, a fórmula de dano é

Dano mínimo = ((player_level / min_lvl + player_mlvl) * min_mlvl) * min_a + min_b)
Dano máximo = ((player_level / max_lvl + player_mlvl * max_mlvl) * max_a + max_b)
Se dano mínimo > min_dmg, então dano mínimo = min_dmg
Se dano máximo > max_dmg, então dano máximo = max_dmg

Considerações importantes, o valor final de dano máximo e dano mínimo deve ser negativo, o mesmo vale para os valores de min_dmg e max_dmg. Portanto, para evitar confusão vai uma dica simples: Sempre coloque min_a, min_b, max_a, max_b, min_dmg e max_dmg negativos e o restante positivo.

 

COMBAT_FORMULA_SKILL ou 2

 

Mais simples que o anterior, só utiliza em seu cálculo os parâmetros min_b, max_a e max_b. Leva em consideração, como veremos, level, arma e skill (referente à arma que ele estiver empunhando) do player. Min_dmg não serve para esse caso, mas max_dmg ainda vale como no anterior.

Dano mínimo = min_b
Dano máximo = Dano_Calculado * max_a + max_b
Se dano máximo > max_dmg, então dano máximo = max_dmg

Aqui Dano_Calculado é o calculo do seu dano com a sua arma, levando em conta seu level e skills.

Novamente, o valor final dos danos deve ser negativo. Aqui, use todes os valores negativos e não terá problemas.

 

COMBAT_FORMULA_DAMAGE ou 3

 

A mais simples das três, leva em consideração somente min_b, que será o dano mínimo e max_b, que será o dano máximo. Para não ter problemas, use valores negativos.

 

A respeito das fórmulas é isso. São as três fórmulas pré-definidas e seus funcionamentos.

 

 

Caso queira ler e entender sobre Formulas e Callbacks das spells, veja este artigo feito por o @Skulls

Formulas e Callbacks das spells

créditos: @Skulls

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...