Created
September 9, 2013 04:28
-
-
Save Kolesias123/6491465 to your computer and use it in GitHub Desktop.
Apocalypse: Función actual para seleccionar una clase de hijo (NPC) al momento de crearlos con el Director.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//========================================================= | |
// Devuelve una clase de hijo para crear. | |
//========================================================= | |
const char *CDirector_Manager::GetChildClass() | |
{ | |
if ( Director()->OverrideClass() == NULL ) | |
{ | |
// Código marca "Iván" para seleccionar una clase según su porcentaje de aparición. | |
// Lo sé, soy malo en matemáticas. ( Pero creo que funciona ) | |
const char *pClass = "npc_infected"; // Clase predeterminada. ( Por si algo sale mal ) | |
int iRandom = RandomInt(1, 100); // Numero al azar del 1% al 100% | |
// Pasamos por todos los posibles hijos que pueden aparecer ahora mismo. ( Tipo de población ) | |
for ( int i = 0; i < ChildsPopulation.Count(); ++i ) | |
{ | |
// Su porcentaje de aparición es mayor al del numero al azar. | |
if ( ChildsPopulation[i] > iRandom ) | |
pClass = ChildsPopulation.GetElementName(i); | |
} | |
return pClass; | |
} | |
// El Director nos obliga a usar una clase de hijo. | |
else | |
return Director()->OverrideClass(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment