<?
//función para leer elementos de un archivo
function randfile($file) {
$data = file($file);
return $data[rand(0, count($data)-1)];}



//numero de personajes generados simultaneamente
$numero=300;


for ($cont=0; $cont<$numero; $cont++)
{

// Cantidad de puntos de características
if(rand(1,3)=="1")
{
$PC = rand(24,160);
}
else
{
$PC = rand(12,70);
}

//máximo en atributos
$maximo=$PC/5;
//valor mínimo en atributos.
$minimo=$PC/15;

if($minimo<1){$minimo=1;}

//máximo en habilidades
$maximo2=$maximo;
$minimo2=$minimo;


//asignaciónde atributos

Do {
$hab=rand($minimo,$maximo);
$hab=$hab/2; //las criaturas salvajes no pueden tener la Habilidad muy alta :)
$fue=rand($minimo,$maximo);
$con=rand($minimo,$maximo);//61
$per=rand($minimo,$maximo);
$des=rand($minimo,$maximo);
$vol=rand($minimo,$maximo);
$int=rand($minimo,$maximo);
$car=rand($minimo,$maximo);
$sumaAT=($fue+$con+$per+$des+$vol+$int+$hab+$car);
}while($sumaAT!=$PC);

//asignación de habilidades 

$Concentracion=rand($minimo2,$maximo2);
$Atletismo=rand($minimo2,$maximo2);
$Intimidar=rand($minimo2,$maximo2);
$Punteria=rand($minimo2,$maximo2);
$Supervivencia=rand($minimo2,$maximo2);
$Sigilo=rand($minimo2,$maximo2);
$Alerta=rand($minimo2,$maximo2);
$Pelea=rand($minimo2,$maximo2);

$sumaHAB=$Atletismo+$Intimidar+$Puntería+$Supervivencia+$Sigilo+$Alerta+$Pelea;
$cadenahab="Atletismo: ".$Atletismo.", Intimidar/Persuadir: ".$Intimidar.", Puntería: ".$Puntería.", Supervivencia/Educación: ".$Supervivencia.", Sigilo: ".$Sigilo.", Alerta: ".$Alerta.", Pelea: ".$Pelea;

//descripción de la criatura

$nombre=trim(randfile("prefijos.txt")).trim(randfile("sufijos.txt"));//270

$descripcion=$descripcióninicial." ".trim(randfile("descripcion.txt"))." ".trim(randfile("habitat.txt"));

$descripcion=$descripcion.", ".trim(randfile("descripcionvivos.txt"));

$rasgos=trim(randfile("estructurafisiologica.txt"))." ".trim(randfile("covertura.txt"))." ".trim(randfile("esqueleto.txt"))." ".trim(randfile("musculatura.txt"))." ".trim(randfile("respiracion.txt"))." ".trim(randfile("sangre.txt"))." ".trim(randfile("neurologico.txt"))." ".trim(randfile("alimentacion.txt"))." ".trim(randfile("desplazamiento.txt"))." ".trim(randfile("vista.txt"))." ".trim(randfile("olfato.txt"))." ".trim(randfile("oido.txt"))." ".trim(randfile("gusto.txt"))." ".trim(randfile("tacto.txt"))." ".trim(randfile("sentidosextras.txt"));

do{
$personalidad1=trim(randfile("personalidad.txt"));
$personalidad2=trim(randfile("personalidad.txt"));
}while ($personalidad1==$personalidad2);

// asignación de metodo de reproducción y alimentación

$reproducción = array ( 
 "1"=>"La reproducción se realiza mediante esporas. Las crías salen del interior del cuerpo de otras criaturas",
 "2"=>"La reproducción se realiza mediante intercambio de esporas. Las crías salen de un huevo, abandonados por sus progenitores",
 "3"=>"Todos los miembros de la especie son hermafroditas, por lo que lo normal es que ambos progenitores queden fecundados. Las crías salen de un huevo, abandonados por sus progenitores",
 "4"=>"Todos los miembros de la especie son hermafroditas, por lo que lo normal es que ambos progenitores queden fecundados. Las crías salen de un huevo, que normalmente cuidan sus progenitores",
 "5"=>"La reproducción se da entre relaciones sexuales entre dos sexos diferenciados. Las crías salen de un huevo, abandonados por sus progenitores progenitores",
 "6"=>"La reproducción se da entre relaciones sexuales entre dos sexos diferenciados. Las crías salen de un huevo, que normalmente cuida la madre",
 "7"=>"La reproducción se da entre relaciones sexuales entre dos sexos diferenciados. Las crías salen de un huevo, que normalmente cuida el padre",
 "8"=>"La reproducción se da entre relaciones sexuales entre dos sexos diferenciados. Las crías salen de un huevo, que normalmente cuidan ambos progenitores",
 "9"=>"La reproducción se da entre relaciones sexuales entre dos sexos diferenciados. Las crías salen de un huevo, abandonados por sus progenitores",
 "10"=>"La reproducción se da entre relaciones sexuales entre dos sexos diferenciados. Las crías nacen perfectamente formadas, y son cuidadas por la madre hasta que alcanzan su pleno desarrollo",
 "11"=>"La reproducción se da entre relaciones sexuales entre dos sexos diferenciados. Las crías nacen perfectamente formadas, y son cuidadas por ambos progenitores hasta que alcanzan su pleno desarrollo",
 "12"=>"La reproducción se da entre relaciones sexuales entre dos sexos diferenciados. Las crías nacen sin estar plenamente formadas, y han de ser cuidadas por sus progenitores hasta su pleno desarrollo",
 "13"=>"La reproducción se da entre relaciones sexuales entre dos sexos diferenciados. Las crías nacen sin estar plenamente formadas, y han de ser cuidadas por sus progenitores hasta su pleno desarrollo",
 "14"=>"La reproducción se da por fragmentación. La criatura se divide a sí misma para formar otra entidad plenamente funcional",
 "15"=>"La reproducción se da por gemación. La criatura expulsa una yema que origina un nuevo individuo",
 );
 
 $i=rand(1,15);
 $reproducción= $reproducción[$i];

 $alimentacion = array ( 
 "1"=>"Principalmente se alimentan de cadáveres y pequeños animales, son carroñeros",
 "2"=>"Su alimentación es íntegramente vegetariana",
 "3"=>"Su alimentación es estrictamente carnívora, cazan y matan para vivir",
 "4"=>"Su alimentación es estrictamente carnívora, cazan y matan para vivir",
 "5"=>"Su alimentación es omnívora, comen prácticamente de todo",
 "6"=>"Se alimentan principalmente de materia inorgánica",
 );
 
 $i=rand(1,6);
 $alimentacion= $alimentacion[$i];

 $actividad = array ( 
 "1"=>"Posee hábitos diurnos, y suele descansar brevemente durante las noches",
 "2"=>"Posee hábitos diurnos, y suele descansar bastante durante las noches",
 "3"=>"Posee hábitos nocturnos, y suele descansar brevemente durante el día",
 "4"=>"Posee hábitos nocturnos, y suele descansar bastante durante el día",
 "5"=>"Raramente descansa, puede permanecer activo tanto durante el día como por la noche",
 "6"=>"Posee hábitos diurnos, y suele descansar bastante durante las noches",
 );
 
 $i=rand(1,6);
 $actividad= $actividad[$i];

// asignación de agrupaciones y manadas en función del nivel de desafío

 $manada = array ( 
 "1"=>"Lo más común es encontrarse individuos solitarios, raras veces pueden verse pequeñas agrupaciones de unos ".rand(1,8)." individuos. ",
 "2"=>"Es posible encontrar individuos solitarios, aunque en ocasiones pueden formar grupos de unos ".rand(3,12)." individuos. ",
 "3"=>"Rara vez se pueden ver individuos solitarios, lo normal es encontrarlos en manadas de ".rand(5,20)." individuos, o más. ",
 "4"=>"Rara vez se pueden ver individuos solitarios, lo normal es encontrarlos en manadas de ".rand(10,50)." individuos, o más. ",
 "5"=>"Normalmente, conviven en agrupaciones de cientos de individuos. ",
 "6"=>"Normalmente, conviven en agrupaciones de miles de individuos. ",
 );

$i=rand(1,6);
$manada=$manada[$i];

$comportamiento= "Su comportamiento es ".$personalidad1." y ".$personalidad2.". ".$reproducción.". ".$actividad.". ".$alimentacion. ". ".$manada;

// definir nivel tecnológico, y habildiades extras

$variable=rand(1,11);
$vida="";
if ($variable=="1"){$vida=$vida." Criaturas salvajes incivilizadas.";}
if ($variable=="2"){$vida=$vida." Poseen pequeñas herramientas de piedra o madera, tiendas hechas con pieles o pequeñas cabañas.";}
if ($variable=="3"){$vida=$vida." Tienen estructura militar, construcciones de piedra, dominio de la agricultura. Expansión territorial.";}
if ($variable=="4"){$vida=$vida." Han descubrimiento de la pólvora y la penicilina, maquinas a vapor. Casas de varios pisos.";}
if ($variable=="5"){$vida=$vida." Construyen maquinas de hidrocarburos, descubrimiento de la electricidad.";}
if ($variable=="6"){$vida=$vida." Poseen electrónica avanzada, primeros viajes espaciales. Primeras computadoras.";}
if ($variable=="7"){$vida=$vida." Poseen energía nuclear. Era digital computadoras y vehículos por todas partes.";}
if ($variable=="8"){$vida=$vida." Dominan las primeras armas de energía. Viajes a satélites y planetas cercanos. Inicio de la biotecnología.";}
if ($variable=="9"){$vida=$vida." Se plantean la colonización de sistema solar. Armas de energía y cyber implantes por todas partes.";}
if ($variable=="10"){$vida=$vida." Dominan los viajes fuera del sistema solar. Androides con inteligencia humana. Colonias espaciales.";}
if ($variable=="11"){$vida=$vida." Dominan los viajes al híper espacio, colonias fuera de la galaxia. Interacción común con alienígenas.";}

if($variable>3)
{
$totalseg=0;
$int=number_format($int+$variable/2,0);$hab=number_format($hab+$variable/2,0);
$habi = file("habilidades.txt");
shuffle($habi);
foreach ($habi as $i => $value)
{
 $valor=rand(0,$maximo2);
 if($valor+$totalseg<$PC)
 {
  $totalseg = $totalseg+$valor;
  if ($valor!=0) $cadenahab=$habi[$i].": ".$valor.", ".$cadenahab;
 }
}
}


// Cualidades especiales

$cualidades="Nada especial que señalar.";
$valor=rand(1,13);
if($valor<7)
{
$cualidades="";
for($i=0;$i<=$valor;$i++)
{
if(rand(1,2)<2){$cualidades=$cualidades." ".trim(randfile("cualidades.txt"));}
else{$cualidades=$cualidades." ".rand(1,6)." niveles en el trasfondo ".trim(randfile("cualidadesextras.txt"));}
}
}
//Escritura de la ficha ya terminada

echo "<table border=1  width=100% colspan=8 cellspacing=0>";
echo"      <tr>
               <th colspan=8> $nombre.</td>
      </tr>";
 echo"      <tr>
               <td colspan=8>  Descripción: $descripcion.</td>
      </tr>";
 echo"      <tr>
               <td colspan=8>  Rasgos de la especie: $rasgos </td>
      </tr>";
 echo"      <tr>
               <td colspan=8>  Cualidades especiales: $cualidades </td>
      </tr>";
 echo "<tr>
    
         <td align='center'> Fuerza: $fue </td>
         <td align='center'> Constitución: $con </td>
         <td align='center'> Percepción: $per </td>
         <td align='center'> Destreza: $des </td>
         <td align='center'> Voluntad: $vol </td>
         <td align='center'> Inteligencia: $int </td>
         <td align='center'> Habilidad: $hab </td>
         <td align='center'> Carisma: $car </td>
      </tr>";

echo"      <tr>
               <td colspan=8>  Habilidades:  $cadenahab   </td>
      </tr>";
echo"      <tr>
               <td colspan=8>  Nivel tecnológico:  $vida  </td>
      </tr>";
echo"      <tr>
               <td colspan=8>  Costumbres: $comportamiento  </td>
      </tr>";
echo "</table>";
echo "<BR>";
}
?>