Compétence Envouter <?php
// Competence envouter un objet avec un sort. Ne connaissant pas toutes les tables je pense qu il faudra apporter quelques modification à ce script, de toute façon ce n'est qu un proposition...
// Selection du sort et de l'arme
if(($choixsort=="") or ($choixobjet==""))
{
debutfor(2);
echo"Sort:<select name=choixsort size=1>";
$resultperso = mysql_query("SELECT adept_perso_sort.sort,dieuxsorts.nom FROM adept_perso_sort, dieuxsorts WHERE adept_perso_sort.perso = '$idperso' and adept_perso_sort.sort = dieuxsorts.id");
while(list($sort,$nomsort) = mysql_fetch_array($resultperso))
{
$affichetest=$nomsort;
$affichetest += 0;
echo"<option value='$sort'>$nomsort ";
}
echo"</select><br>Arme vierge portée:<select name=choixobjet size=1>";
$resultobjet = mysql_query("SELECT magie, koi, id FROM objets WHERE ki='$idperso' and ou='p' and magie=0");
while(list($magie,$nomobj,$idobj) = mysql_fetch_array($resultobjet))
{
echo"<option value='$idobj'>$nomobj ";
}
// je n'ai pas changé les valeurs de la ligne qui suit (mis à part le nom du submit) ne sachant pas si celle-ci avait une réelle importance
echo"</select><input type=hidden name=G9boutons value=compet><input type=hidden name=comp value=$comp><input type=submit value='envouter' name=bouton></form>";
}
else
{
// on récupère les infos sur le sort
$resultsort = mysql_query("SELECT cout, nom FROM dieuxsorts WHERE 1 and id = '$choixsort'");
$row = mysql_fetch_array($resultsort);
$coutsort = $row["cout"]; $nomsort = $row["nom"];
// recupération des infos sur le personnage
$resultperso = mysql_query("SELECT foi FROM perso WHERE 1 and id = '$idperso'");
$row = mysql_fetch_array($resultperso);
$foi = $row["foi"];
// on vérifie si le perso a assez de foi pour lancer le sort
if ($foi < $coutsort) { echo"Vous n\'avez pas assez de fois pour lancer ce sort, il faut $coutsort";finsql();die(); }
// on va chercher les infos sur l'arme en vérifiant qu'elle n'est pas déja magique (on ne sait jamais)
$resultobjet = mysql_query("SELECT attaque, defense, magie, koi FROM objets WHERE 1 and id = '$choixobjet' and ki='$idperso' and ou='p'");
$row = mysql_fetch_array($resultobjet);
$att = $row["attaque"]; $def = $row["defense"];
$nomobj = $row["koi"];
if ($row["magie"] != 0) { echo"Vous ne pouvez pas envouter une arme magique";finsql();die(); }
// on retire un jeton et le cout du sort
mysql_query("update perso set tour=tour-1,foi=foi-$coutsort where 1 and Id = '".$idperso."'");
// on fait rouler les dés
srand((double)microtime()*1000000);
$r1 = rand(0,100); $r2 = rand(0,100);
if ($r1 == 0) $r2 = 0;
// calculons...
//la variable $coeftemple contiendra le coefficient fournit par les temples à proximité, comme pour la prière, ceci afin de donner un bonus de réalisation si l'envoutement se passe dans un temple, ou dans un lieu consacré.
$coeftemple=$acti=actioncarte(pr,$idperso,$ok);
//la variable $priere contient le score en prière du personnage. Divisée par 50 puis arrondie ceci est le coef multiplicateur que recevra le bonus des temples (ce qui monte le bonus à 90 points pour un pretre ayant 500 en prière sur 9 temples)
$result = mysql_query("SELECT nivo FROM adept_compet where 1 and idperso like '".$idperso."' and comp=2");
$row = mysql_fetch_array($result);
$priere=$row["nivo"];
//la variable $coutsort qui contient le coup d'utilisation du sort sert de palier pour le test, ainsi un sort tel que l'invocation de golem qui coute 200 000 aurait un palier à 200 points)
$n = round($r1 * log($ok)) + ($coeftemple/3 * round($priere / 50) - round($coutsort / 1000));
// test du palier (n>o)
if($n>0) $action1 = "Envoutement réussi";
else $action1 = "Echec de l\'envoutement";
// resistance de l'arme
$l = round(($att + $def - $n)/6);
if($r2 > $l) {
$action2 = "<br>Votre arme résiste à l\'envoutement et deviens magique";
$test = true;
}
else {
$action2 = "<br>Malheureusement votre arme est détruite par la magie au cours de l'envoutement";
$test = 1;
}
echo "$action1<br> $action2";
//actualisation de la base
if($test)
{
mysql_query("UPDATE objets SET magie=$choixsort WHERE 1 and id = '$choixobjet'");
}
elseif($test==1) mysql_query("DELETE FROM objet WHERE 1 and id = '$choixobjet'");
}
?>
par jouer.org
dernière mise à jour:12/02/2005