private function move_xenobe($id, $aggression, $turns) { global $db_prefix, $sector_max; $sql_manager = new manage_table(); $player_manager = new manage_player(); $manage_log = new manage_log(); /*get xenobe current sector*/ $xenobe_data = $sql_manager->playerinfo($id, ""); /*check current warp links, are there any? pick one at random to warp to*/ //$link_query = ; $sector_links = $sql_manager->process_query("SELECT * FROM " . $db_prefix . "links WHERE link_start='" . $xenobe_data['sector'] . "'"); $available_links = array(); if ($sector_links) { #Sector Links Detected# foreach ($sector_links as $row) { /*List all the links, and pick one at random*/ array_push($available_links, $row['link_dest']); } $selected = array_rand($available_links, 1); $target_sector = $available_links[$selected]; } else { #No Sector Links Detected - PICKING RANDOM FROM THE UNIVERSE# $target_sector = mt_rand(1, $sector_max); /*We want the xenobes to have a presence everywhere, for intimidation reasons*/ } /*Right target sector has been selected, now we just need to move there. check for fighters and mines*/ /* To override for testing purposes, you can force a single target sector using $target_sector = 400; for example here */ $total_sector_mines = $sql_manager->sector_defence_quantities($target_sector, 'M', $id, "investigate"); $total_sector_fighters = $sql_manager->sector_defence_quantities($target_sector, 'F', $id, "investigate"); $total_sector_fighters = (int) $total_sector_fighters; $total_sector_mines = (int) $total_sector_mines; if ($total_sector_fighters > 0 || $total_sector_mines > 0 || $total_sector_fighters > 0 && $total_sector_mines > 0) { if ($aggression > 0) { /*Attacks sector defence*/ if ($sql_manager->move_ship($id, $target_sector, $turns)) { $sector_manager = new manage_sector(); if ($sector_manager->sector_defence_challange($target_sector, $id)) { echo "<br/>ship moved to sector<br/>"; /*Ship in sector, got through defences - do nothing*/ ##New Log ## $player_manager->last_activity_stamp($id); $manage_log->player_log($id, 17, $target_sector, '', '', '', "<font color='#6190a5'>Low Priority</font>", "<b>Information</b>"); } else { echo "<br/>Ship was destroyed<br/>"; /*ship was destroyed trying to enter sector*/ if ($xenobe_data['dev_emerwarp'] == "Y") { ##New Log ## $manage_log->player_log($id, 19, $target_sector, '', '', '', "<font color='#FF0000'><b>Extreme Priority</b></font>", '<b><font color="#FF0000">Warning</font></b>'); $sql_manager->reset_ship($id); } else { ##New Log ## $manage_log->player_log($id, 18, $target_sector, '', '', '', "<font color='#FF0000'><b>Extreme Priority</b></font>", '<b><font color="#FF0000">Warning</font></b>'); $sql_manager->reset_ship($id); $sql_manager->kill_ship($id); } /*Need function to remove bounty? or ignore this? only remove bounty in ship to ship or ship to planet combat situations?*/ } } else { ##not enough turns## /*move failed, stay in sector*/ } } else { /*Avoids sector*/ } } else { if ($target_sector > 0) { if ($sql_manager->move_ship($id, $target_sector, $turns)) { $player_manager->last_activity_stamp($id); /*no defences sucessful move*/ } else { /*move failed, stay in sector*/ } } else { /*Avoids sector*/ } } }