JVLIVS CAESAR MODS FORUM
Estimado usuario invitado: Si se registra/conecta podrá tener la mejor ventaja, postear en el foro, ya que los invitados solo pueden leer.

JVLIVS CAESAR MODS FORUM

Imperium III Mods Forvm. Último Mod - MCI 9.0!
 
ÍndiceÍndice  FAQFAQ  BuscarBuscar  RegistrarseRegistrarse  ConectarseConectarse  

Comparte | 
 

 RETO 2: subida aleatoria vida, defensa, ataque

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Ferónidas
Pretoriano
Pretoriano
avatar

Cantidad de envíos : 67
Reputación : 3
Fecha de inscripción : 02/01/2011

MensajeTema: RETO 2: subida aleatoria vida, defensa, ataque   Vie Ene 12, 2018 5:00 pm

El objeto que se me a ocurrido le va a dar mucha vidilla a mi mapa, es complicado pero no demasiado, vamos allá:

Se trata de un objeto que te da aleatoriamente al matar a una unidad +1 de ataque, +1 de defensa, +5 de vida o +1 de energía. La idea es que se genere un numero aleatorio de 0 a 100:
 - Entre 0 y 32 aumenta el ataque en 1
 - Entre 33 y 64 aumenta la defensa en 1
 - Entre 65 y 96 aumenta la vida en 5
 - Entre 97 y 100 aumenta la energía en 1

Por último quiero que aparezcan los enemigos que has matado sobre el objeto, cómo los 2000 en el agua curativa, pero sólo cómo información, no cómo cargas.

Un saludo!
Volver arriba Ir abajo
Camarada
Equipo de Diseño
Equipo de Diseño
avatar

Cantidad de envíos : 322
Location : España
Reputación : 129
Fecha de inscripción : 01/05/2010

MensajeTema: Re: RETO 2: subida aleatoria vida, defensa, ataque   Vie Ene 12, 2018 6:42 pm

Hola a tod@s , Ferónidas , a ver si te sirve ésto:

Ponlo en el apartado de "Al derrotar a una unidad"
--------------------------------------------
------------------------------------------

int enemi, puntos;

enemi = GetUseCount();
enemi += 1;
SetUseCount(enemi);

puntos = rand(100);
if (puntos <= 32) owner.AsUnit().AddBonus(1,0,0,0,0);
if (puntos >= 33 && puntos <= 64) owner.AsUnit().AddBonus(0,1,0,0,0);
if (puntos >= 65 && puntos <= 96){
   owner.AsUnit().AddBonus(0,0,0,5,0);
   owner.AsUnit().RemoveBonus(0,0,0,0,5);
}
if (puntos >= 97 && puntos <= 100){
   owner.AsUnit().AddBonus(0,0,0,1,0);
   owner.AsUnit().RemoveBonus(0,0,0,1,0);
}
Volver arriba Ir abajo
Ferónidas
Pretoriano
Pretoriano
avatar

Cantidad de envíos : 67
Reputación : 3
Fecha de inscripción : 02/01/2011

MensajeTema: Re: RETO 2: subida aleatoria vida, defensa, ataque   Sáb Ene 13, 2018 12:46 am

Perfecto Camarada, sin errores. Es un objeto muy chulo, muchas gracias.
Volver arriba Ir abajo
molerotoni
General
General
avatar

Cantidad de envíos : 99
Edad : 23
Location : Valencia, España
Reputación : 28
Fecha de inscripción : 03/07/2015

MensajeTema: Re: RETO 2: subida aleatoria vida, defensa, ataque   Sáb Ene 13, 2018 9:56 am

Yo tengo hecho uno de ese estilo pero que lo que hace es que al matar tienes un 33% de probabilidades de ganar una mejora y las mejoras pueden ser:

20% +2 al ataque
20% +10 de vida
20% +1 de defensa
20% +2 de experiencia
10% curarse 10% de su vida máxima y 2 de energía
2% +1 de energía permanente
8% de obtener una habilidad
Las habilidades obtenibles son 12: Ferocidad, Golpe Triple, Inmunidad, Vitalidad, Extenuación, Defensa Especial, Reanimación, Resistencia, Ataque Experto, Penetración, Daño Reflejado y Defensa Especial. 
Si ya tiene la habilidad le da otra y si tiene todas le da 2 de ataque, 1 de defensa, 10 de vida y 5 de experiencia.
Es uno de los objetos que hice por hacer pruebas. También salen efectos al recibir bonuses.


Código:
 
Volver arriba Ir abajo
molerotoni
General
General
avatar

Cantidad de envíos : 99
Edad : 23
Location : Valencia, España
Reputación : 28
Fecha de inscripción : 03/07/2015

MensajeTema: Re: RETO 2: subida aleatoria vida, defensa, ataque   Sáb Ene 13, 2018 10:03 am

Camarada escribió:
Hola a tod@s , Ferónidas , a ver si te sirve ésto:

Ponlo en el apartado de "Al derrotar a una unidad"
--------------------------------------------
------------------------------------------

int enemi, puntos;

enemi = GetUseCount();
enemi += 1;
SetUseCount(enemi);

puntos = rand(100);
if (puntos <= 32) owner.AsUnit().AddBonus(1,0,0,0,0);
if (puntos >= 33 && puntos <= 64) owner.AsUnit().AddBonus(0,1,0,0,0);
if (puntos >= 65 && puntos <= 96){
   owner.AsUnit().AddBonus(0,0,0,5,0);
   owner.AsUnit().RemoveBonus(0,0,0,0,5);
}
if (puntos >= 97 && puntos <= 100){
   owner.AsUnit().AddBonus(0,0,0,1,0);
   owner.AsUnit().RemoveBonus(0,0,0,1,0);
}
Este código puede ser mejorado asín:
Código:
 
Volver arriba Ir abajo
Contenido patrocinado




MensajeTema: Re: RETO 2: subida aleatoria vida, defensa, ataque   

Volver arriba Ir abajo
 
RETO 2: subida aleatoria vida, defensa, ataque
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» Mnaniobras - Ataque a objetivos terrestres sin defensa aerea
» ATAQUE CON GLOBOS Y SABUESOS
» la vida del Noob
» Ataque a la libertad de expresión : EspalWii, EspalNDS, EspalPSP y EspalZone
» Inscripcion Reto Espartanos Crew

Permisos de este foro:No puedes responder a temas en este foro.
JVLIVS CAESAR MODS FORUM :: Editor :: Editor :: Ayuda con el Editor-
Cambiar a: