Skip to content

Instantly share code, notes, and snippets.

@Kolesias123
Created September 9, 2013 04:28
Show Gist options
  • Save Kolesias123/6491465 to your computer and use it in GitHub Desktop.
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.
//=========================================================
// 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