Ejemplo n.º 1
0
require_once './common.php';
Tki\Login::checkLogin($pdo_db, $lang, $tkireg, $template);
// Database driven language entries
$langvars = Tki\Translate::load($pdo_db, $lang, array('main', 'report', 'device', 'common', 'global_includes', 'global_funcs', 'footer', 'regional'));
// Get playerinfo from database
$sql = "SELECT * FROM ::prefix::ships WHERE email=:email LIMIT 1";
$stmt = $pdo_db->prepare($sql);
$stmt->bindParam(':email', $_SESSION['username']);
$stmt->execute();
$playerinfo = $stmt->fetch(PDO::FETCH_ASSOC);
$shiptypes[0] = "tinyship.png";
$shiptypes[1] = "smallship.png";
$shiptypes[2] = "mediumship.png";
$shiptypes[3] = "largeship.png";
$shiptypes[4] = "hugeship.png";
$shipavg = Tki\CalcLevels::avgTech($playerinfo, "ship");
if ($shipavg < 8) {
    $shiplevel = 0;
} elseif ($shipavg < 12) {
    $shiplevel = 1;
} elseif ($shipavg < 16) {
    $shiplevel = 2;
} elseif ($shipavg < 20) {
    $shiplevel = 3;
} else {
    $shiplevel = 4;
}
$holds_used = $playerinfo['ship_ore'] + $playerinfo['ship_organics'] + $playerinfo['ship_goods'] + $playerinfo['ship_colonists'];
$holds_max = Tki\CalcLevels::holds($playerinfo['hull'], $tkireg);
$armor_pts_max = Tki\CalcLevels::armor($playerinfo['armor'], $tkireg);
$ship_fighters_max = Tki\CalcLevels::fighters($playerinfo['computer'], $tkireg);
Ejemplo n.º 2
0
$targetship = $playerinfo;
$num_defenses = 0;
$total_sector_mines = 0;
$owner = true;
while (!$result3->EOF) {
    $row = $result3->fields;
    $defenses[$num_defenses] = $row;
    $total_sector_mines += $defenses[$num_defenses]['quantity'];
    if ($defenses[$num_defenses]['ship_id'] != $playerinfo['ship_id']) {
        $owner = false;
    }
    $num_defenses++;
    $result3->MoveNext();
}
// Compute the ship average. If it's too low then the ship will not hit mines.
$shipavg = Tki\CalcLevels::avgTech($targetship, 'ship');
// The mines will attack if 4 conditions are met
//    1) There is at least 1 group of mines in the sector
//    2) There is at least 1 mine in the sector
//    3) You are not the owner or on the team of the owner - team 0 dosent count
//    4) You ship is at least $tkireg->mine_hullsize (setable in config/classic_config.ini) big
if ($num_defenses > 0 && $total_sector_mines > 0 && !$owner && $shipavg > $tkireg->mine_hullsize) {
    // Find out if the mine owner and player are on the same team
    $fm_owner = $defenses[0]['ship_id'];
    $result2 = $db->Execute("SELECT * FROM {$db->prefix}ships WHERE ship_id = ?;", array($fm_owner));
    Tki\Db::LogDbErrors($pdo_db, $result2, __LINE__, __FILE__);
    $mine_owner = $result2->fields;
    if ($mine_owner['team'] != $playerinfo['team'] || $playerinfo['team'] == 0) {
        // You hit mines
        echo "<h1>" . $title . "</h1>\n";
        $ok = 0;
Ejemplo n.º 3
0
 Tki\Db::LogDbErrors($pdo_db, $result4, __LINE__, __FILE__);
 if ($result4 !== false) {
     $ships_detected = 0;
     $ship_detected = null;
     while (!$result4->EOF) {
         $row = $result4->fields;
         $success = Tki\Scan::success($playerinfo['sensors'], $row['cloak']);
         if ($success < 5) {
             $success = 5;
         }
         if ($success > 95) {
             $success = 95;
         }
         $roll = random_int(1, 100);
         if ($roll < $success) {
             $shipavg = Tki\CalcLevels::avgTech($row, "ship");
             if ($shipavg < 8) {
                 $shiplevel = 0;
             } elseif ($shipavg < 12) {
                 $shiplevel = 1;
             } elseif ($shipavg < 16) {
                 $shiplevel = 2;
             } elseif ($shipavg < 20) {
                 $shiplevel = 3;
             } else {
                 $shiplevel = 4;
             }
             $row['shiplevel'] = $shiplevel;
             $ship_detected[] = $row;
             $ships_detected++;
         }