コード例 #1
0
ファイル: Xenobe.php プロジェクト: thekabal/tki
 public static function xenobeRegen(\PDO $pdo_db, array $playerinfo, $xen_unemployment, Reg $tkireg)
 {
     $gena = null;
     $gene = null;
     $genf = null;
     $gent = null;
     // Xenobe Unempoyment Check
     $playerinfo['credits'] = $playerinfo['credits'] + $xen_unemployment;
     $maxenergy = \Tki\CalcLevels::energy($playerinfo['power'], $tkireg);
     // Regenerate energy
     if ($playerinfo['ship_energy'] <= $maxenergy - 50) {
         $playerinfo['ship_energy'] = $playerinfo['ship_energy'] + round(($maxenergy - $playerinfo['ship_energy']) / 2);
         // Regen half of remaining energy
         $gene = "regenerated Energy to {$playerinfo['ship_energy']} units,";
     }
     $maxarmor = \Tki\CalcLevels::armor($playerinfo['armor'], $tkireg);
     // Regenerate armor
     if ($playerinfo['armor_pts'] <= $maxarmor - 50) {
         $playerinfo['armor_pts'] = $playerinfo['armor_pts'] + round(($maxarmor - $playerinfo['armor_pts']) / 2);
         // Regen half of remaining armor
         $gena = "regenerated Armor to {$playerinfo['armor_pts']} points,";
     }
     // Buy fighters & torpedos at 6 credits per fighter
     $available_fighters = \Tki\CalcLevels::fighters($playerinfo['computer'], $tkireg) - $playerinfo['ship_fighters'];
     if ($playerinfo['credits'] > 5 && $available_fighters > 0) {
         if (round($playerinfo['credits'] / 6) > $available_fighters) {
             $purchase = $available_fighters * 6;
             $playerinfo['credits'] = $playerinfo['credits'] - $purchase;
             $playerinfo['ship_fighters'] = $playerinfo['ship_fighters'] + $available_fighters;
             $genf = "purchased {$available_fighters} fighters for {$purchase} credits,";
         }
         if (round($playerinfo['credits'] / 6) <= $available_fighters) {
             $purchase = round($playerinfo['credits'] / 6);
             $playerinfo['ship_fighters'] = $playerinfo['ship_fighters'] + $purchase;
             $genf = "purchased {$purchase} fighters for {$playerinfo['credits']} credits,";
             $playerinfo['credits'] = 0;
         }
     }
     // Xenobe pay 3 credits per torpedo
     $available_torpedoes = \Tki\CalcLevels::torpedoes($playerinfo['torp_launchers'], $tkireg) - $playerinfo['torps'];
     if ($playerinfo['credits'] > 2 && $available_torpedoes > 0) {
         if (round($playerinfo['credits'] / 3) > $available_torpedoes) {
             $purchase = $available_torpedoes * 3;
             $playerinfo['credits'] = $playerinfo['credits'] - $purchase;
             $playerinfo['torps'] = $playerinfo['torps'] + $available_torpedoes;
             $gent = "purchased {$available_torpedoes} torpedoes for {$purchase} credits,";
         }
         if (round($playerinfo['credits'] / 3) <= $available_torpedoes) {
             $purchase = round($playerinfo['credits'] / 3);
             $playerinfo['torps'] = $playerinfo['torps'] + $purchase;
             $gent = "purchased {$purchase} torpedoes for {$playerinfo['credits']} credits,";
             $playerinfo['credits'] = 0;
         }
     }
     // Update Xenobe record
     $sql = "UPDATE ::prefix::ships SET ship_energy = :ship_energy, armor_pts = :armor_pts, ship_fighters = :ship_fighters, torps = :torps, credits = :credits WHERE ship_id = :ship_id";
     $stmt = $pdo_db->prepare($sql);
     $stmt->bindParam(':ship_energy', $playerinfo['ship_energy']);
     $stmt->bindParam(':armor_pts', $playerinfo['armor_pts']);
     $stmt->bindParam(':ship_fighters', $playerinfo['ship_fighters']);
     $stmt->bindParam(':torps', $playerinfo['torps']);
     $stmt->bindParam(':credits', $playerinfo['credits']);
     $stmt->bindParam(':ship_id', $playerinfo['ship_id']);
     $stmt->execute();
     if (!$gene === null || !$gena === null || !$genf === null || !$gent === null) {
         \Tki\PlayerLog::WriteLog($pdo_db, $playerinfo['ship_id'], LOG_RAW, "Xenobe {$gene} {$gena} {$genf} {$gent} and has been updated.");
     }
 }