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."); } }