$i++; } /* Si la cdm est directement envoyée par Firemago on prend le troll connecté */ if ($pcdm['troll_id'] == "") { $pcdm['troll_id'] = $_SESSION[AuthTroll]; $pcdm['troll_nom'] = $_SESSION[AuthNomTroll]; } // // Recherche de la race et du template // // on applique chaque template au nom du monste trouvé et on vérifie si une // race correspond. $trouve = false; // prend le libellé d'un monstre (sans l'âge) et en extrait la race et le template $trouve = $desc_template = splitmonstre_racetemplate($pcdm['monstre'], $pcdm['race']); if (!$trouve) { die("Race inconnue"); } else { $trouve = true; } // récupération du genre de la race pour calculer l'âge $pcdm['genre_race'] = $best_races[$pcdm['race']]['genre_race']; // vérification du nom de la famille $trouve = $trouve && array_key_exists($pcdm['famille'], $best_familles); if (!$trouve) { die("Famille inconnue"); } // vérification de la correspondance famille/race $id_famille = $best_familles[$pcdm['famille']]['id_famille']; $trouve = $trouve && $id_famille == $best_races[$pcdm['race']]['id_famille_race'];
} else { $MH = "-1"; } // pas de cdm avec cet id // // vérification de la race // if ($Race == "-1") { // race inconnue if ($Monstre == "-1") { // le monstre n'est même pas connu, on prend une race par défaut $Race = 'Abishaii Bleu'; // l'Abishaii est le grand gagnant } else { // on va déterminer la race et le template d'après le monstre. $desc_template = splitmonstre_racetemplate($Monstre, $Race); if (!$desc_template) { die("Monstre totalement inconnu, impossible d'en analyser le nom : {$Monstre}"); } $IDTemplate = $desc_template['id_template']; } } $id_famille = $best_races[$Race]['id_famille_race']; // id de la famille donnée par la race $genre_race = $best_races[$Race]['genre_race']; // genre ('M','F') de la race // // vérification de l'âge // $IDAge_select = $IDAge; // on sauvegarde l'Id demandé à des fins d'affichage
function getInfoFromMonstre($NomCreature) { // $best_races[nom_race] = race[] // $best_familles[nom_famille] = id_famille // $best_ages_nom[id_famille][genre][ordre] = nom_ag // $best_ages_id[id_famille][nom_age] = id_age global $best_races, $best_familles, $best_ages_nom, $best_ages_id; $s = preg_split("/[\\[\\]]/", $NomCreature); $Monstre = trim($s[0]); $Age = trim($s[1]); $ret = array(); $ret['monstre'] = $Monstre; $ret['age'] = $Age; $ret['race'] = $Monstre; $desc_template = splitmonstre_racetemplate($Monstre, $ret['race']); // $Race est une valeur de retour if ($desc_template) { $ret['id_race'] = $best_races[$ret['race']]['id_race']; $ret['id_template'] = $desc_template['id_template']; // id du template $ret['id_famille'] = $best_races[$ret['race']]['id_famille_race']; // id de la famille donnée par la race $ret['genre'] = $best_races[$ret['race']]['genre_race']; // genre ('M','F') de la race $ret['famille'] = array_search($ret['id_famille'], $best_familles); // nom de la famille // on recherche l'id de l'âge : $tab_ages = $best_ages_nom[$ret['id_famille']][$ret['genre']]; if (in_array($Age, $tab_ages)) { $ret['id_age'] = $best_ages_id[$ret['id_famille']][$Age]; } else { $ret = false; } // ce nom d'âge est inconnu pour cette race } else { $ret = false; } // Monstre totalement inconnu, impossible d'en analyser le nom if ($ret) { $ret['niv'] = estimeNivMonstre($ret['race'], $ret['id_template'], $ret['id_age']); } return $ret; }