Advertisement
Guest User

Gain de PR

a guest
Jan 25th, 2014
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.22 KB | None | 0 0
  1. function gainPR($AttaquantID, $DefenseurID)
  2. {
  3.     global $ROYAUME, $ENTITE;
  4.     $requete = "SELECT Px, Py, ZoneID, Niveau, RoyaumeID, Pr, ClanID, IsRoi, IsConseiller FROM pj left join pjclan on pj.EntiteID = pjclan.PjID WHERE EntiteID = $AttaquantID";
  5.     $Attaquant = fetch(query($requete));
  6.     $requete = "SELECT ZoneID,Niveau, RoyaumeID, Pr, ClanID, Pt, Pk, EpouseID FROM pj left join pjclan on pj.EntiteID = pjclan.PjID WHERE EntiteID = $DefenseurID";
  7.     $Defenseur = fetch(query($requete));
  8.     $Pt = false;
  9.  
  10.     if ($Attaquant["ClanID"] == $Defenseur["ClanID"] && $Defenseur["ClanID"] > 0 && !$Defenseur["Pt"] && !$Defenseur["Pk"] && !$Attaquant["IsRoi"] && $Attaquant["IsConseiller"] != 2) {
  11.         $Pt = true;
  12.     }
  13.     if ($AttaquantID == $Defenseur["EpouseID"] && $Defenseur["EpouseID"] > 0 && !$Defenseur["Pt"] && !$Defenseur["Pk"] && !$Attaquant["IsRoi"] && $Attaquant["IsConseiller"] != 2) {
  14.         $Pt = true;
  15.     }
  16.     if ($Pt) {
  17.         return 0;
  18.     }
  19.  
  20.     $Gain = 1;
  21.     if ($Attaquant["Niveau"] > $Defenseur["Niveau"] * 4 / 3) {
  22.         $Gain = 0;
  23.     }
  24.     if ($Defenseur["Pr"] < 0 && $Attaquant["Niveau"] * 2 > $Defenseur["Niveau"]) {
  25.         $Gain = 0;
  26.     }
  27.  
  28.     if ($Gain == 0) {
  29.         if ($Defenseur["ZoneID"] >= 7 || (($Attaquant["IsRoi"] || $Attaquant["IsConseiller"] == 2) && $Attaquant["RoyaumeID"] == $Defenseur["RoyaumeID"])) {
  30.             $Gain = 0;
  31.  
  32.             return $Gain;
  33.         }
  34.         if (($Attaquant["ZoneID"] == 0) && ($Attaquant["Px"] > 161) && ($Attaquant["Px"] < 206) && ($Attaquant["Py"] > 161) && ($Attaquant["Py"] < 214) && ($Attaquant["RoyaumeID"] != $Defenseur["RoyaumeID"])) {
  35.             $Gain = 0;
  36.  
  37.             return $Gain;
  38.         }
  39.         $Gain = -2;
  40.  
  41.         return $Gain;
  42.     }
  43.     $Gain = 0;
  44.  
  45.     if (($Attaquant["RoyaumeID"] == $ROYAUME["tsuchi"] && $Defenseur["RoyaumeID"] == $ROYAUME["mizu"])
  46.         || ($Attaquant["RoyaumeID"] == $ROYAUME["seizon"] && $Defenseur["RoyaumeID"] == $ROYAUME["reikon"])
  47.         || ($Attaquant["RoyaumeID"] == $ROYAUME["reikon"] && $Defenseur["RoyaumeID"] == $ROYAUME["seizon"])
  48.         || ($Attaquant["RoyaumeID"] == $ROYAUME["mizu"] && $Defenseur["RoyaumeID"] == $ROYAUME["tsuchi"])
  49.         || ($Attaquant["ZoneID"] == 0) && ($Attaquant["Px"] > 161) && ($Attaquant["Px"] < 206) && ($Attaquant["Py"] > 161) && ($Attaquant["Py"] < 214) && ($Attaquant["RoyaumeID"] != $Defenseur["RoyaumeID"])
  50.     ) {
  51.         if ($Attaquant["Pr"] < 0) {
  52.             $requete = "UPDATE pj SET Pr = 0 WHERE EntiteID = " . $Attaquant["EntiteID"];
  53.             query($requete);
  54.             $Attaquant["Pr"] = 0;
  55.         }
  56.         // histoire d'éviter les divisions par zero
  57.         if (!$Attaquant["Pr"]) {
  58.             $Attaquant["Pr"] = 1;
  59.         }
  60.         if ($Attaquant["Niveau"] > $Defenseur["Niveau"]) {
  61.             $Gain += 1;
  62.         } else {
  63.             $Gain += 1 + ceil(($Defenseur["Niveau"] - $Attaquant["Niveau"]) / 2);
  64.         }
  65.         if ($Attaquant["Pr"] > $Defenseur["Pr"]) {
  66.             $Gain += 1;
  67.         } else {
  68.             $Gain += 1 + ceil(($Defenseur["Pr"] - $Attaquant["Pr"]) / 10);
  69.         }
  70.  
  71.         if ($Gain > 10) {
  72.             $Gain = 10;
  73.         }
  74.  
  75.         return $Gain;
  76.     } else {
  77.         return 0;
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement