Compétence Arme siége $ok : niveau de la competence
$partie : partie dans la quelle on se trouve
$idperso: identifiant du personnage actif
$nomperso: nom du personnage actif
<?
// cette compétence fait appel aux elements de cartes,à l'animal sur le quel ont est et aux regles de guerre elle est donc interessante.
// on verifit si la partie est soumise aux regles de guerre
$resultcarte = mysql_query("SELECT combat,Titre,stopwar FROM parties where id=$partie ");
$row = mysql_fetch_array($resultcarte);
$coef = $row["combat"];$stopwar = $row["stopwar"];
echo"cette partie <b>".$row["Titre"]."</b> à pour coefficient de dégats: $coef<br>";
// on récupére les informations sur le personnage
$resultcarte = mysql_query("SELECT xper, yper,level FROM perso WHERE 1 and id = '$idperso' and actif=1 ");
$row = mysql_fetch_array($resultcarte);
$xper = $row["xper"];
$yper = $row["yper"];
$level = $row["level"];
// on vérifit que l'on est sur un animal arme de siege (oui je sais...)
$result = mysql_query("select type from adept_animal where idperso=$idperso and etat='p'");
$row = mysql_fetch_array($result);
$deja=$row["type"];
if($deja<>'') {
echo"Vous avez un moyen de transport : ";
$result = mysql_query("SELECT id,nom,pv,att FROM vanimal WHERE 1 and id='$deja'");
$vie = mysql_fetch_array($result);
$idanimal = $vie["id"];
$nomanimal = $vie["nom"];
$att = $vie["att"];
$vie = $vie["pv"];
echo"$nomanimal<br>";
}
if ($att<1)
{
echo"Vous ne pouvez pas agir sans catapulte";finsql();die();
}
// entête de formulaire
debutform(2);
// on fixe les limites de distance de l'arme
$petitx=$xper-$att;
$petity=$yper-$att;
$grandx=$xper+$att;
$grandy=$yper+$att;
// cible non choisie on affiche le formulaire de choix de la cible
if($cible=="")
{
echo"<select name=cible size=1>";
$resultcarte = mysql_query("SELECT carte.id,carte.koi,carte.comment,carte.vie,carte.x,carte.y,villages.ligue FROM carte,villages where 1 and carte.x >= ".$petitx." and carte.y >= ".$petity." and carte.x <= ".$grandx." and carte.y <= ".$grandy." and carte.skin='$level' and carte.partie=$partie and carte.koi = villages.koi and villages.ligue=1");
while(list($id,$koi ,$comment,$def,$x,$y ) = mysql_fetch_array($resultcarte))
{
$affichetest=$koi;
$affichetest += 0;
echo"<option value='$id'>$koi $x,$y ($def % )";
}
echo"</select><input type=hidden name=G9boutons value=compet><input type=hidden name=comp value=23><input type=submit value='pilonner' name=bouton></form>";
}
else
{
// cible choisie on vire un jeton
mysql_query("update perso set tour=tour-1 where 1 and nomperso = '".$nomperso."'");
// cible choisie on valide tout de même que la cible est accessible (pour eviter les petits malins)
$resultcarte = mysql_query("SELECT id,koi,comment,vie,x,y,territoire FROM carte where 1 and x >= ".$petitx." and y >= ".$petity." and x <= ".$grandx." and y <= ".$grandy." and skin='$level' and partie=$partie and id='$cible'");
while(list($id,$koi ,$comment,$def,$x,$y,$ligue2) = mysql_fetch_array($resultcarte))
{
$affichetest=$koi;
$affichetest += 0;
echo"$koi $x,$y ";
$resultcarte2 = mysql_query("SELECT def FROM villages WHERE koi='$koi'");
$row = mysql_fetch_array($resultcarte2);
$vie = $def*$row["def"]/100;$viemax = $row["def"]+1;
echo"<br>point de vie: <img src=http://adept.jouer.org/theme/b1.png width=".min(round($vie/$viemax*100),100)." height=10><img src=http://adept.jouer.org/theme/b2.png width=".max(round(($viemax-$vie)/$viemax*100),0)." height=10><br>";
// on regarde mon alliance
$resultcarte = mysql_query("SELECT alliance FROM adept_alliances where ligue='$ligue' and ok='o'");
$row = mysql_fetch_array($resultcarte);
$monalliance = $row["alliance"];
// on regarde son alliance
$resultcarte = mysql_query("SELECT alliance FROM adept_alliances where ligue='$ligue2' and ok='o'");
$row = mysql_fetch_array($resultcarte);
$sonalliance = $row["alliance"];
// on verifit que mon alliance est en guerre contre son alliance
$resultcarte = mysql_query("SELECT count(*) FROM adept_guerre where (AL1='$monalliance' and AL2='$sonalliance') or (AL2='$monalliance' and AL1='$sonalliance') ");
$row = mysql_fetch_array($resultcarte);
$guerre = $row["count(*)"];
//echo"sa $sonalliance ma $monalliance g $guerre mg $maguerre sg $saguerre";
if(($stopwar==1)and($guerre!=1)and($ligue<>27))
{
echo"Cette action est impossible etant donné les guerres en cours, vous devez être dans une alliance en guerre contre elle.<br>";
finsql(); die();
}
// on fait rouler les dés
srand((double)microtime()*1000000);
$r1 = rand(0,100); $r2 = rand(0,100); $r3 = rand(0,100);
$r4 = rand(0,100); $r5 = rand(0,100); $r6 = rand(0,100);
// coups critiques
if ($r1>=99) { $r2=0;}
if ($r2>=99) { $r3=0;}
if ($r3>=99) { $r4=0;}
if ($r4>=99) { $r3=0;}
// on sort la calculette
$n =($ok * $r1 * $att *100 - ($vie * $r2))/100;
if($n>0) {$n=round((20*log($n))*$coef); $action="le bâtiment est endommage";} else { $n=0;$action="le bâtiment n est pas endomagé";}
$n=round($n*100/$viemax);
// on mets à jour la base de données en plaçant un maximim de vérifications dans la requête
mysql_query("update carte set vie=vie-$n where x >= ".$petitx." and y >= ".$petity." and x <= ".$grandx." and y <= ".$grandy." and skin='$level' and partie=$partie and id='$cible' ");
mysql_query("delete from carte where vie<=0 ");
// on affiche l'action
echo" $action";
// on avertit les tours
histotour($x,$y,"$nomperso attaque de bâtiment <font color=red>$action</font>");
}
}
?>
par jouer.org
dernière mise à jour:11/02/2005