Ok, voy al punto, trato de hacer estadisticas para mi juego RPG.
Tengo pensado que sea Ataque y Defensa sin ninguna variación.
Tenía pensado que según el stat defensa se sumaran los puntos de vida que me quitaran
e igual con el ataque, según el stat se sumaran puntos de daño.
Aquí mi pregunta, como hago que una variable según su numero se lo sume a otra?
Digamos que el ataque es 15, mi ataque base es de 1, quiero que la variable de ataque se sume a la de ataque base, ¿alguna idea?
Por lo que entiendo, tienes un personaje que tiene 2 estadísticas, ataque y defensa. Y ese personaje puede equipar armas y armaduras que le aumentara ambas estadísticas, aparte de que la estadística de defensa influirá en los PS.
Yo lo que hago es que le daré al personaje otras 2 estadísticas, llamadas potencia y vitalidad, que serán su ataque y defensa totales. Es decir, cuando tu personaje este en combate, usaras exclusivamente la potencia y la vitalidad para determinar el daño que causará y recibirá.
Este será el script del ataque, que aparecerá tras subir de nivel o cambiar de arma:
potencia=ataque*2+arma.ataque
Este será el script de la defensa, para cuando subas de nivel o cambies de armadura:
vitalidad=defensa+armadura.defensa
Y por último el script de los PS máximos, para después de cada subida de nivel:
PS=15+defensa*7
Gracias, ¿sabes como hacer que ese calculo de Ataque por Potencia se reste a la variable de la vida del enemigo?
Te refieres a la formula de daño.
Lo que yo hago es primero calcular el daño base.
En el caso que nos ocupa, es muy simple:
base=atacante.potencia-atacado.vitalidad
Y una vez tenemos esto, le aplicamos una serie de multiplicadores.
Por ejemplo, igual queremos meterle al daño un factor aleatorio:
base=random_range(base*0.80,base*1.25)
Luego podrás añadirle otros factores, como resistencia elemental:
base*=atacado.resistencia[ataque.elemento]
Y lo último es redondear decimales:
if(base<1) base=1
else base=floor(base+random(1))
Y listo, solo queda restarle a los PS totales del enemigo el resultado de esta operación.