A situação é a seguinte:
todo objeto "vivo" tem alguns status(posso atualizar isso de acordo com oq aprender aqui)
Código: Selecionar todos
STR = //"Algum numero";
VAR = //"Algum numero";
DEF = //"Algum numero";
LCK = //"Algum numero";
VAR é responsavel por quanto o dano vai variar antes de ser reduzido pela DEF.
DEF é responsavel por diminuir o ataque recebido
LCK até o momento, só é responsavel pelo danos criticos.
Vou representar como other aquele q está atacando.
Código: Selecionar todos
dano = other.STR*(quantas vezes mais forte);
//O quanto o dano base irar variar.
dano = dano + dano*random_range(-other.VAR/100,other.VAR/100);
//Reduzindo o dano.
dano = (dano*dano)/(dano +DEF)
//Verificar se o dano será[hlc][/hlc] critico.
critical = scr_probability((other.LCK/(LCK +other.LCK)*100) //scr q eu mesmo implementei, ele retorna true se deu dentro de certa porcentagem.
if critical
dano *= 2;
//Tirando HP
HP -= dano;
Agora trago-lhes o problema, no meu jogo, existiram itens que tem certa chance de serem dropados e há tb ataques que tem uma chance de aplicar algum debuf.
Como faço para aumentar a chance de um item ser dropado apartis da minha LCK ? (neste contexto lCK não é uma porcentagem e sim um valor numérico)
Agora segunda situação, temos três fatores determinantes para o debuf acontecer: LCK de quem foi atacado (aumenta a chance do debuf NÃO acontecer), LCK de quem está atacando (aumenta a chance do debuf acontecer) e a propria chance do debuf por si só.
Alguém pode me dar uma ideia, como montar essa formula ou algum site/blog do qual falem disso ?
Obrigado pela ajuda