$stmt->bindParam(':email', $_SESSION['username']); $stmt->execute(); $playerinfo = $stmt->fetch(PDO::FETCH_ASSOC); if (array_key_exists('sure', $_GET)) { $sure = $_GET['sure']; } if (!isset($sure)) { echo "<font color=red><strong>" . $langvars['l_die_rusure'] . "</strong></font><br><br>"; echo "Please Note: You will loose all your Planets if you Self-Destruct!.<br>\n"; echo "<a href='main.php'>" . $langvars['l_die_nonono'] . "</a> " . $langvars['l_die_what'] . "<br><br>"; echo "<a href=self_destruct.php?sure=1>" . $langvars['l_yes'] . "!</a> " . $langvars['l_die_goodbye'] . "<br><br>"; } elseif ($sure == 1) { echo "<font color=red><strong>" . $langvars['l_die_check'] . "</strong></font><br><br>"; echo "Please Note: You will loose all your Planets if you Self-Destruct!.<br>\n"; echo "<a href='main.php'>" . $langvars['l_die_nonono'] . "</a> " . $langvars['l_die_what'] . "<br><br>"; echo "<a href=self_destruct.php?sure=2>" . $langvars['l_yes'] . "!</a> " . $langvars['l_die_goodbye'] . "<br><br>"; } elseif ($sure == 2) { echo $langvars['l_die_count'] . "<br>"; echo $langvars['l_die_vapor'] . "<br><br>"; $langvars['l_die_please'] = str_replace("[logout]", "<a href='logout.php'>" . $langvars['l_logout'] . "</a>", $langvars['l_die_please']); echo $langvars['l_die_please'] . "<br>"; Tki\Character::kill($pdo_db, $playerinfo['ship_id'], $langvars, $tkireg, true); Tki\Bounty::cancel($pdo_db, $playerinfo['ship_id']); Tki\AdminLog::writeLog($pdo_db, LOG_ADMIN_HARAKIRI, "{$playerinfo['character_name']}|" . $request->server->get('REMOTE_ADDR') . ""); Tki\PlayerLog::WriteLog($pdo_db, $playerinfo['ship_id'], LOG_HARAKIRI, $request->server->get('REMOTE_ADDR')); echo "Due to nobody looking after your Planets, all your Planets have reduced into dust and ruble. Your Planets are no more.<br>\n"; } else { echo $langvars['l_die_exploit'] . "<br><br>"; } Tki\Text::gotomain($pdo_db, $lang); Tki\Footer::display($pdo_db, $lang, $tkireg, $template);
} else { // Direct hit echo $langvars['l_chm_youlostallyourshields'] . "<br>"; $mines_left = $mines_left - $playershields; if ($playerinfo['armor_pts'] >= $mines_left) { $langvars['l_chm_yourarmorhitforminesdmg'] = str_replace("[chm_mines_left]", $mines_left, $langvars['l_chm_yourarmorhitforminesdmg']); echo $langvars['l_chm_yourarmorhitforminesdmg'] . "<br>"; $result2 = $db->Execute("UPDATE {$db->prefix}ships SET armor_pts = armor_pts - ?, ship_energy = 0, dev_minedeflector = 0 WHERE ship_id = ?", array($mines_left, $playerinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $result2, __LINE__, __FILE__); if ($playerinfo['armor_pts'] == $mines_left) { echo $langvars['l_chm_yourhullisbreached'] . "<br>"; } } else { // BOOM $pod = $playerinfo['dev_escapepod']; Tki\PlayerLog::WriteLog($pdo_db, $playerinfo['ship_id'], LOG_SHIP_DESTROYED_MINES, "{$sector}|{$pod}"); $langvars['l_chm_hewasdestroyedbyyourmines'] = str_replace("[chm_playerinfo_character_name]", $playerinfo['character_name'], $langvars['l_chm_hewasdestroyedbyyourmines']); $langvars['l_chm_hewasdestroyedbyyourmines'] = str_replace("[chm_sector]", $sector, $langvars['l_chm_hewasdestroyedbyyourmines']); Tki\SectorDefense::messageDefenseOwner($pdo_db, $sector, $langvars['l_chm_hewasdestroyedbyyourmines']); echo $langvars['l_chm_yourshiphasbeendestroyed'] . "<br><br>"; // Survival if ($playerinfo['dev_escapepod'] == "Y") { $rating = round($playerinfo['rating'] / 2); echo $langvars['l_chm_luckescapepod'] . "<br><br>"; $resx = $db->Execute("UPDATE {$db->prefix}ships SET hull=0, engines=0, power=0, sensors=0, computer=0, beams=0, torp_launchers=0, torps=0, armor=0, armor_pts=100, cloak=0, shields=0, sector=0, ship_organics=0, ship_ore=0, ship_goods=0, ship_energy=?, ship_colonists=0, ship_fighters=100, dev_warpedit=0, dev_genesis=0, dev_beacon=0, dev_emerwarp=0, dev_escapepod='N', dev_fuelscoop='N', dev_minedeflector=0, on_planet='N', rating=?, cleared_defenses=' ', dev_lssd='N' WHERE ship_id=?", array($tkireg->start_energy, $rating, $playerinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $resx, __LINE__, __FILE__); Tki\Bounty::cancel($pdo_db, $playerinfo['ship_id']); } else { // Or they lose! Tki\Bounty::cancel($pdo_db, $playerinfo['ship_id']); Tki\Character::kill($pdo_db, $playerinfo['ship_id'], $langvars, $tkireg, false);
$teamdesc = trim(htmlentities($teamdesc, ENT_HTML5, 'UTF-8')); if (Tki\Team::validateTeam($pdo_db, $teamname, $teamdesc, $playerinfo['ship_id']) === false) { echo "<span style='color:#f00;'>Team Edit Failed</span><br>Sorry you have either entered an invalid Team name or Team Description.<br>\n"; echo "<br><br><a href=\"teams.php\">" . $langvars['l_clickme'] . "</a> " . $langvars['l_team_menu'] . ".<br><br>"; break; } $res = $db->Execute("UPDATE {$db->prefix}teams SET team_name = ?, description = ? WHERE id = ?;", array($teamname, $teamdesc, $whichteam)); Tki\Db::LogDbErrors($pdo_db, $res, __LINE__, __FILE__); echo $langvars['l_team_team'] . " <strong>" . $teamname . "</strong> " . $langvars['l_team_hasbeenr'] . "<br><br>"; // Adding a log entry to all members of the renamed team $result_team_name = $db->Execute("SELECT ship_id FROM {$db->prefix}ships WHERE team = ? AND ship_id <> ?;", array($whichteam, $playerinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $result_team_name, __LINE__, __FILE__); Tki\PlayerLog::WriteLog($pdo_db, $playerinfo['ship_id'], LOG_TEAM_RENAME, $teamname); while (!$result_team_name->EOF) { $teamname_array = $result_team_name->fields; Tki\PlayerLog::WriteLog($pdo_db, $teamname_array['ship_id'], LOG_TEAM_M_RENAME, $teamname); $result_team_name->MoveNext(); } } echo "<br><br><a href=\"teams.php\">" . $langvars['l_clickme'] . "</a> " . $langvars['l_team_menu'] . ".<br><br>"; break; default: if ($playerinfo['team'] == 0) { echo $langvars['l_team_notmember']; Tki\Team::displayInviteInfo($langvars, $playerinfo, $invite_info); } else { if ($playerinfo['team'] < 0) { $playerinfo['team'] = -$playerinfo['team']; $result = $db->Execute("SELECT * FROM {$db->prefix}teams WHERE id = ?;", array($playerinfo['team'])); Tki\Db::LogDbErrors($pdo_db, $result, __LINE__, __FILE__); $whichteam = $result->fields;
if ($ownership !== null) { echo "{$ownership}<p>"; } if ($planetinfo['owner'] != 0) { Tki\Score::updateScore($pdo_db, $planetinfo['owner'], $tkireg, $playerinfo); } if ($planetinfo['owner'] != 0) { $sql = "SELECT character_name FROM ::prefix::ships WHERE ship_id=:ship_id LIMIT 1"; $stmt = $pdo_db->prepare($sql); $stmt->bindParam(':ship_id', $planetinfo['owner']); $stmt->execute(); $planetowner = $stmt->fetch(PDO::FETCH_ASSOC); } else { $planetowner = $langvars['l_planet_noone']; } Tki\PlayerLog::WriteLog($pdo_db, $playerinfo['ship_id'], LOG_PLANET_CAPTURED, "{$planetinfo['colonists']}|{$planetinfo['credits']}|{$planetowner}"); } elseif ($command == "capture" && ($planetinfo['owner'] == 0 || $planetinfo['defeated'] == 'Y')) { echo $langvars['l_planet_notdef'] . "<br>"; $resx = $db->Execute("UPDATE {$db->prefix}planets SET defeated='N' WHERE planet_id = ?;", array($planetinfo['planet_id'])); Tki\Db::LogDbErrors($pdo_db, $resx, __LINE__, __FILE__); } else { echo $langvars['l_command_no'] . "<br>"; } } } else { echo $langvars['l_planet_none'] . "<p>"; } if ($command !== null) { echo "<br><a href=planet.php?planet_id={$planet_id}>" . $langvars['l_clickme'] . "</a> " . $langvars['l_toplanetmenu'] . "<br><br>"; } if ($tkireg->allow_ibank) {
Tki\Db::LogDbErrors($pdo_db, $update3, __LINE__, __FILE__); $armor_lost = $playerinfo['armor_pts'] - $playerarmor; $fighters_lost = $playerinfo['ship_fighters'] - $playerfighters; $energy = $playerinfo['ship_energy']; $update3b = $db->Execute("UPDATE {$db->prefix}ships SET ship_energy = ?, ship_fighters = ship_fighters - ?, armor_pts = armor_pts - ?, torps = torps - ?, " . "turns = turns - 1, turns_used = turns_used + 1, rating = rating - ? " . "WHERE ship_id = ?;", array($energy, $fighters_lost, $armor_lost, $playertorpnum, $rating_change, $playerinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $update3b, __LINE__, __FILE__); echo $langvars['l_att_ylost'] . " " . $armor_lost . " " . $langvars['l_armorpts'], $fighters_lost . " " . $langvars['l_fighters'], $langvars['l_att_andused'] . " " . $playertorpnum . " " . $langvars['l_torps'] . ".<br>"; } } else { $langvars['l_att_stilship'] = str_replace("[name]", $targetinfo['character_name'], $langvars['l_att_stilship']); echo $langvars['l_att_stilship'] . "<br>"; $rating_change = round($targetinfo['rating'] * 0.1); $armor_lost = $targetinfo['armor_pts'] - $targetarmor; $fighters_lost = $targetinfo['ship_fighters'] - $targetfighters; $energy = $targetinfo['ship_energy']; Tki\PlayerLog::WriteLog($pdo_db, $targetinfo['ship_id'], LOG_ATTACKED_WIN, "{$playerinfo['character_name']}|{$armor_lost}|{$fighters_lost}"); $update4 = $db->Execute("UPDATE {$db->prefix}ships SET ship_energy = ?, ship_fighters = ship_fighters - ?, armor_pts = armor_pts - ?, " . "torps = torps - ? WHERE ship_id = ?;", array($energy, $fighters_lost, $armor_lost, $targettorpnum, $targetinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $update4, __LINE__, __FILE__); $armor_lost = $playerinfo['armor_pts'] - $playerarmor; $fighters_lost = $playerinfo['ship_fighters'] - $playerfighters; $energy = $playerinfo['ship_energy']; $update4b = $db->Execute("UPDATE {$db->prefix}ships SET ship_energy = ?, ship_fighters = ship_fighters - ?, armor_pts = armor_pts - ?, torps = torps - ?, " . "turns = turns - 1, turns_used = turns_used + 1, rating = rating - ? " . "WHERE ship_id = ?;", array($energy, $fighters_lost, $armor_lost, $playertorpnum, $rating_change, $playerinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $update4b, __LINE__, __FILE__); echo $langvars['l_att_ylost'] . " " . $armor_lost . " " . $langvars['l_armorpts'], $fighters_lost . " " . $langvars['l_fighters'], $langvars['l_att_andused'] . " " . $playertorpnum . " " . $langvars['l_torps'] . ".<br><br>"; } if ($playerarmor < 1) { echo $langvars['l_att_yshiplost'] . "<br><br>"; if ($playerinfo['dev_escapepod'] == "Y") { $rating = round($playerinfo['rating'] / 2); echo $langvars['l_att_loosepod'] . "<br><br>"; $resx = $db->Execute("UPDATE {$db->prefix}ships SET hull = 0, engines = 0, power = 0, sensors = 0, computer = 0, beams = 0, torp_launchers = 0, torps = 0, " . "armor = 0, armor_pts = 100, cloak = 0, shields = 0, sector = 0, ship_organics = 0, ship_ore = 0, ship_goods = 0, ship_energy = ?, " . "ship_colonists = 0, ship_fighters = 100, dev_warpedit = 0, dev_genesis = 0, dev_beacon = 0, dev_emerwarp = 0, dev_escapepod = 'N', " . "dev_fuelscoop = 'N', dev_minedeflector = 0, on_planet = 'N', rating = ?, dev_lssd = 'N' " . "WHERE ship_id = ?", array($tkireg->start_energy, $rating, $playerinfo['ship_id']));
// You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. // // File: sched_tow.php echo "<strong>ZONES</strong><br><br>"; echo "Towing bigger players out of restricted zones..."; $num_to_tow = 0; do { $res = $db->Execute("SELECT ship_id,character_name,hull,sector,{$db->prefix}universe.zone_id,max_hull FROM {$db->prefix}ships,{$db->prefix}universe,{$db->prefix}zones WHERE sector=sector_id AND {$db->prefix}universe.zone_id={$db->prefix}zones.zone_id AND max_hull<>0 AND (({$db->prefix}ships.hull + {$db->prefix}ships.engines + {$db->prefix}ships.computer + {$db->prefix}ships.beams + {$db->prefix}ships.torp_launchers + {$db->prefix}ships.shields + {$db->prefix}ships.armor)/7) >max_hull AND ship_destroyed='N'"); Tki\Db::LogDbErrors($pdo_db, $res, __LINE__, __FILE__); if ($res) { $num_to_tow = $res->RecordCount(); echo "<br>{$num_to_tow} players to tow:<br>"; while (!$res->EOF) { $row = $res->fields; echo "...towing {$row['character_name']} out of {$row['sector']} ..."; $newsector = random_int(0, (int) $max_sectors - 1); echo " to sector {$newsector}.<br>"; $query = $db->Execute("UPDATE {$db->prefix}ships SET sector = ?, cleared_defenses=' ' WHERE ship_id=?", array($newsector, $row['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $query, __LINE__, __FILE__); Tki\PlayerLog::WriteLog($pdo_db, $row['ship_id'], LOG_TOW, "{$row['sector']}|{$newsector}|{$row['max_hull']}"); Tki\LogMove::writeLog($pdo_db, $row['ship_id'], $newsector); $res->MoveNext(); } } else { echo "<br>No players to tow.<br>"; } } while ($num_to_tow); echo "<br>"; $multiplier = 0; // No need to run this again
$roll = random_int(1, 100); if ($roll < $success) { $sc_dev_emerwarp = round($targetinfo['dev_emerwarp'] * $sc_error / 100); echo "<td>{$sc_dev_emerwarp}</td></tr>"; } else { echo "<td>???</td></tr>"; } echo "<tr><td>" . $langvars['l_escape_pod'] . ":</td>"; $roll = random_int(1, 100); if ($roll < $success) { echo "<td>{$targetinfo['dev_escapepod']}</td></tr>"; } else { echo "<td>???</td></tr>"; } echo "<tr><td>" . $langvars['l_fuel_scoop'] . ":</td>"; $roll = random_int(1, 100); if ($roll < $success) { echo "<td>" . $targetinfo['dev_fuelscoop'] . "</td></tr>"; } else { echo "<td>???</td></tr>"; } echo "</table><br>"; Tki\PlayerLog::WriteLog($pdo_db, $targetinfo['ship_id'], LOG_SHIP_SCAN, "{$playerinfo['character_name']}"); } $resx = $db->Execute("UPDATE {$db->prefix}ships SET turns = turns - 1, turns_used = turns_used + 1 WHERE ship_id=?", array($playerinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $resx, __LINE__, __FILE__); } } echo "<br><br>"; Tki\Text::gotomain($pdo_db, $lang); Tki\Footer::display($pdo_db, $lang, $tkireg, $template);
$res = $db->Execute("SELECT * FROM {$db->prefix}planets WHERE owner > 0"); Tki\Db::LogDbErrors($pdo_db, $res, __LINE__, __FILE__); // We are now using transactions to off load the SQL stuff in full to the Database Server. $result = $db->Execute("START TRANSACTION"); Tki\Db::LogDbErrors($pdo_db, $result, __LINE__, __FILE__); while (!$res->EOF) { $row = $res->fields; $production = floor(min($row['colonists'], $colonist_limit) * $colonist_production_rate); $organics_production = floor($production * $organics_prate * $row['prod_organics'] / 100.0); // - ($production * $organics_consumption); $organics_production -= floor($production * $organics_consumption); if ($row['organics'] + $organics_production < 0) { $organics_production = -$row['organics']; $starvation = floor($row['colonists'] * $starvation_death_rate); if ($row['owner'] && $starvation >= 1) { Tki\PlayerLog::WriteLog($pdo_db, $row['owner'], LOG_STARVATION, "{$row['sector_id']}|{$starvation}"); } } else { $starvation = 0; } $ore_production = floor($production * $ore_prate * $row['prod_ore'] / 100.0); $goods_production = floor($production * $goods_prate * $row['prod_goods'] / 100.0); $energy_production = floor($production * $energy_prate * $row['prod_energy'] / 100.0); $reproduction = floor(($row['colonists'] - $starvation) * $colonist_reproduction_rate); if ($row['colonists'] + $reproduction - $starvation > $colonist_limit) { $reproduction = $colonist_limit - $row['colonists']; } $total_percent = $row['prod_organics'] + $row['prod_ore'] + $row['prod_goods'] + $row['prod_energy']; if ($row['owner']) { $fighter_production = floor($production * $fighter_prate * $row['prod_fighters'] / 100.0); $torp_production = floor($production * $torpedo_prate * $row['prod_torp'] / 100.0);
Tki\Db::LogDbErrors($pdo_db, $res2, __LINE__, __FILE__); if ($res2->EOF) { $resa = $db->Execute("UPDATE {$db->prefix}sector_defense SET quantity = quantity - GREATEST(ROUND(quantity * ?),1) WHERE defense_id = ? AND quantity > 0;", array($defense_degrade_rate, $row['defense_id'])); Tki\Db::LogDbErrors($pdo_db, $resa, __LINE__, __FILE__); $degrade_rate = $defense_degrade_rate * 100; Tki\PlayerLog::WriteLog($pdo_db, $row['ship_id'], LOG_DEFENSE_DEGRADE, $row['sector_id'] . "|" . $degrade_rate); } else { $energy_required = round($row['quantity'] * $energy_per_fighter); $res4 = $db->Execute("SELECT IFNULL(SUM(energy),0) AS energy_available FROM {$db->prefix}planets WHERE (owner = ? OR (team = ? AND ? <> 0)) AND sector_id = ?", array($row['ship_id'], $sched_playerinfo['team'], $sched_playerinfo['team'], $row['sector_id'])); Tki\Db::LogDbErrors($pdo_db, $res4, __LINE__, __FILE__); $planet_energy = $res4->fields; $energy_available = $planet_energy['energy_available']; echo "available {$energy_available}, required {$energy_required}."; if ($energy_available > $energy_required) { while (!$res2->EOF) { $degrade_row = $res2->fields; $resb = $db->Execute("UPDATE {$db->prefix}planets SET energy = energy - GREATEST(ROUND(? * (energy / ?)),1) WHERE planet_id = ?", array($energy_required, $energy_available, $degrade_row['planet_id'])); Tki\Db::LogDbErrors($pdo_db, $resb, __LINE__, __FILE__); $res2->MoveNext(); } } else { $resc = $db->Execute("UPDATE {$db->prefix}sector_defense SET quantity = quantity - GREATEST(ROUND(quantity * ?),1) WHERE defense_id = ?;", array($defense_degrade_rate, $row['defense_id'])); Tki\Db::LogDbErrors($pdo_db, $resc, __LINE__, __FILE__); $degrade_rate = $defense_degrade_rate * 100; Tki\PlayerLog::WriteLog($pdo_db, $row['ship_id'], LOG_DEFENSE_DEGRADE, $row['sector_id'] . "|" . $degrade_rate); } } $res->MoveNext(); } $resx = $db->Execute("DELETE FROM {$db->prefix}sector_defense WHERE quantity <= 0"); Tki\Db::LogDbErrors($pdo_db, $resx, __LINE__, __FILE__);
if ($reccount > 200) { $chance = 7; // Increase the chance it will happen if we have lots of planets meeting the criteria } $affliction = random_int(1, (int) $chance); // The chance something bad will happen if ($doomsday && $affliction < 3 && $reccount > 0) { $i = 1; $targetnum = random_int(1, (int) $reccount); while (!$doomsday->EOF) { if ($i == $targetnum) { $targetinfo = $doomsday->fields; break; } $i++; $doomsday->MoveNext(); } if ($affliction == 1) { echo "The horsmen release the Space Plague!<br>."; $resx = $db->Execute("UPDATE {$db->prefix}planets SET colonists = ROUND (colonists - colonists * ?) WHERE planet_id = ?;", array($space_plague_kills, $targetinfo['planet_id'])); Tki\Db::LogDbErrors($pdo_db, $resx, __LINE__, __FILE__); $logpercent = round($space_plague_kills * 100); Tki\PlayerLog::WriteLog($pdo_db, $targetinfo['owner'], LOG_SPACE_PLAGUE, "{$targetinfo['name']}|{$targetinfo['sector_id']}|{$logpercent}"); } else { echo "The horsemen release a Plasma Storm!<br>."; $resy = $db->Execute("UPDATE {$db->prefix}planets SET energy = 0 WHERE planet_id = ?;", array($targetinfo['planet_id'])); Tki\Db::LogDbErrors($pdo_db, $resy, __LINE__, __FILE__); Tki\PlayerLog::WriteLog($pdo_db, $targetinfo['owner'], LOG_PLASMA_STORM, "{$targetinfo['name']}|{$targetinfo['sector_id']}"); } } echo "<br>";
$langvars['l_sf_sendlog'] = str_replace("[lost]", $fighterslost, $langvars['l_sf_sendlog']); $langvars['l_sf_sendlog'] = str_replace("[sector]", $sector, $langvars['l_sf_sendlog']); Tki\Sectordefense::messagedefenseOwner($pdo_db, $sector, $langvars['l_sf_sendlog']); Tki\PlayerLog::WriteLog($pdo_db, $playerinfo['ship_id'], LOG_DEFS_DESTROYED_F, "{$fighterslost}|{$sector}"); $armor_lost = $playerinfo['armor_pts'] - $playerarmor; $fighters_lost = $playerinfo['ship_fighters'] - $playerfighters; $energy = $playerinfo['ship_energy']; $update4b = $db->Execute("UPDATE {$db->prefix}ships SET ship_energy = ?, ship_fighters = ship_fighters - ?, armor_pts = armor_pts - ?, torps = torps - ? WHERE ship_id = ?;", array($energy, $fighters_lost, $armor_lost, $playertorpnum, $playerinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $update4b, __LINE__, __FILE__); $langvars['l_sf_lreport'] = str_replace("[armor]", $armor_lost, $langvars['l_sf_lreport']); $langvars['l_sf_lreport'] = str_replace("[fighters]", $fighters_lost, $langvars['l_sf_lreport']); $langvars['l_sf_lreport'] = str_replace("[torps]", $playertorpnum, $langvars['l_sf_lreport']); echo $langvars['l_sf_lreport'] . "<br><br>"; if ($playerarmor < 1) { echo $langvars['l_sf_shipdestroyed'] . "<br><br>"; Tki\PlayerLog::WriteLog($pdo_db, $playerinfo['ship_id'], LOG_DEFS_KABOOM, "{$sector}|{$playerinfo['dev_escapepod']}"); $langvars['l_sf_sendlog2'] = str_replace("[player]", $playerinfo['character_name'], $langvars['l_sf_sendlog2']); $langvars['l_sf_sendlog2'] = str_replace("[sector]", $sector, $langvars['l_sf_sendlog2']); Tki\Sectordefense::messagedefenseOwner($pdo_db, $sector, $langvars['l_sf_sendlog2']); if ($playerinfo['dev_escapepod'] == 'Y') { $rating = round($playerinfo['rating'] / 2); echo $langvars['l_sf_escape'] . "<br><br>"; $resx = $db->Execute("UPDATE {$db->prefix}ships SET hull = 0, engines = 0, power = 0, sensors = 0, computer = 0, beams = 0, torp_launchers = 0, torps = 0, armor = 0, armor_pts = 100, cloak = 0, shields = 0, sector = 0, ship_organics = 0, ship_ore = 0, ship_goods = 0, ship_energy = ?, ship_colonists = 0, ship_fighters = 100, dev_warpedit = 0, dev_genesis = 0, dev_beacon = 0, dev_emerwarp = 0, dev_escapepod = 'N', dev_fuelscoop = 'N', dev_minedeflector = 0, on_planet = 'N', rating = ?, cleared_defenses=' ', dev_lssd = 'N' WHERE ship_id = ?;", array($tkireg->start_energy, $rating, $playerinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $resx, __LINE__, __FILE__); Tki\Bounty::cancel($pdo_db, $playerinfo['ship_id']); $ok = 0; Tki\Text::gotomain($pdo_db, $lang); die; } else { Tki\Bounty::cancel($pdo_db, $playerinfo['ship_id']); Tki\Character::kill($pdo_db, $playerinfo['ship_id'], $langvars, $tkireg, false);
$fighterstoll = $total_sector_fighters * $fighter_price * 0.6; if ($playerinfo['credits'] < $fighterstoll) { echo $langvars['l_chf_notenoughcreditstoll'] . "<br>"; echo $langvars['l_chf_movefailed'] . "<br>"; // Undo the move $resx = $db->Execute("UPDATE {$db->prefix}ships SET sector=? WHERE ship_id=?;", array($playerinfo['sector'], $playerinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $resx, __LINE__, __FILE__); $ok = 0; } else { $tollstring = number_format($fighterstoll, 0, $langvars['local_number_dec_point'], $langvars['local_number_thousands_sep']); $langvars['l_chf_youpaidsometoll'] = str_replace("[chf_tollstring]", $tollstring, $langvars['l_chf_youpaidsometoll']); echo $langvars['l_chf_youpaidsometoll'] . "<br>"; $resx = $db->Execute("UPDATE {$db->prefix}ships SET credits=credits - {$fighterstoll} WHERE ship_id = ?;", array($playerinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $resx, __LINE__, __FILE__); Tki\Toll::distribute($pdo_db, $sector, $fighterstoll, $total_sector_fighters); Tki\PlayerLog::WriteLog($pdo_db, $playerinfo['ship_id'], LOG_TOLL_PAID, "{$tollstring}|{$sector}"); $ok = 1; } break; case "sneak": $resx = $db->Execute("UPDATE {$db->prefix}ships SET cleared_defenses = ' ' WHERE ship_id = ?;", array($playerinfo['ship_id'])); Tki\Db::LogDbErrors($pdo_db, $resx, __LINE__, __FILE__); $success = Tki\Scan::success($fighters_owner['sensors'], $playerinfo['cloak']); if ($success < 5) { $success = 5; } if ($success > 95) { $success = 95; } $roll = random_int(1, 100); if ($roll < $success) {