$targetship = $playerinfo; $num_defences = 0; $total_sector_mines = 0; $owner = true; while (!$result3->EOF) { $row = $result3->fields; $defences[$num_defences] = $row; $total_sector_mines += $defences[$num_defences]['quantity']; if ($defences[$num_defences]['ship_id'] != $playerinfo['ship_id']) { $owner = false; } $num_defences++; $result3->MoveNext(); } // Compute the ship average...if its too low then the ship will not hit mines... $shipavg = get_avg_tech($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 $mine_hullsize (setable in config.php) big if ($num_defences > 0 && $total_sector_mines > 0 && !$owner && $shipavg > $mine_hullsize) { // Find out if the mine owner and player are on the same team $fm_owner = $defences[0]['ship_id']; $result2 = $db->Execute("SELECT * FROM {$db->prefix}ships WHERE ship_id=?;", array($fm_owner)); db_op_result($db, $result2, __LINE__, __FILE__, $db_logging); $mine_owner = $result2->fields; if ($mine_owner['team'] != $playerinfo['team'] || $playerinfo['team'] == 0) { // You hit mines bigtitle(); $ok = 0;
db_op_result($db, $result4, __LINE__, __FILE__, $db_logging); if ($result4 != false) { $ships_detected = 0; $ship_detected = null; while (!$result4->EOF) { $row = $result4->fields; $success = SCAN_SUCCESS($playerinfo['sensors'], $row['cloak']); if ($success < 5) { $success = 5; } if ($success > 95) { $success = 95; } $roll = mt_rand(1, 100); if ($roll < $success) { $shipavg = get_avg_tech($row, "ship"); if ($shipavg < 10) { $ship_image = 0; } elseif ($shipavg < 15) { $ship_image = 1; } elseif ($shipavg < 20) { $ship_image = 2; } elseif ($shipavg < 25) { $ship_image = 3; } elseif ($shipavg < 30) { $ship_image = 4; } elseif ($shipavg < 35) { $ship_image = 5; } elseif ($shipavg < 40) { $ship_image = 6; } elseif ($shipavg < 45) {
function planetcombat() { global $playerinfo, $ownerinfo, $sectorinfo, $planetinfo, $torpedo_price, $colonist_price, $ore_price, $organics_price, $goods_price, $energy_price; global $planetbeams, $planetfighters, $planetshields, $planettorps, $attackerbeams, $attackerfighters, $attackershields, $upgrade_factor, $upgrade_cost; global $attackertorps, $attackerarmor, $torp_dmg_rate, $level_factor, $attackertorpdamage, $start_energy, $min_value_capture, $l_cmb_atleastoneturn; global $l_cmb_atleastoneturn, $l_cmb_shipenergybb, $l_cmb_shipenergyab, $l_cmb_shipenergyas, $l_cmb_shiptorpsbtl, $l_cmb_shiptorpsatl; global $l_cmb_planettorpdamage, $l_cmb_beams, $l_cmb_fighters, $l_cmb_shields, $l_cmb_torps; global $l_cmb_torpdamage, $l_cmb_armor, $l_cmb_you, $l_cmb_planet, $l_cmb_combatflow, $l_cmb_defender, $l_cmb_attackingplanet; global $l_cmb_youfireyourbeams, $l_cmb_defenselost, $l_cmb_defenselost2, $l_cmb_planetarybeams, $l_cmb_planetarybeams2; global $l_cmb_youdestroyedplanetshields, $l_cmb_beamsexhausted, $l_cmb_breachedyourshields, $l_cmb_destroyedyourshields; global $l_cmb_breachedyourarmor, $l_cmb_destroyedyourarmor, $l_cmb_torpedoexchangephase, $l_cmb_nofightersleft; global $l_cmb_youdestroyfighters, $l_cmb_planettorpsdestroy, $l_cmb_planettorpsdestroy2, $l_cmb_torpsbreachedyourarmor; global $l_cmb_planettorpsdestroy3, $l_cmb_youdestroyedallfighters, $l_cmb_youdestroyplanetfighters, $l_cmb_fightercombatphase; global $l_cmb_youdestroyedallfighters2, $l_cmb_youdestroyplanetfighters2, $l_cmb_allyourfightersdestroyed, $l_cmb_fightertofighterlost; global $l_cmb_youbreachedplanetshields, $l_cmb_shieldsremainup, $l_cmb_fighterswarm, $l_cmb_swarmandrepel, $l_cmb_engshiptoshipcombat; global $l_cmb_shipdock, $l_cmb_approachattackvector, $l_cmb_noshipsdocked, $l_cmb_yourshipdestroyed, $l_cmb_escapepod; global $l_cmb_finalcombatstats, $l_cmb_youlostfighters, $l_cmb_youlostarmorpoints, $l_cmb_energyused, $l_cmb_planetdefeated; global $l_cmb_citizenswanttodie, $l_cmb_youmaycapture, $l_cmb_planetnotdefeated, $l_cmb_planetstatistics; global $l_cmb_fighterloststat, $l_cmb_energyleft; global $db, $db_logging; if ($playerinfo['turns'] < 1) { echo $l_cmb_atleastoneturn . "<br><br>"; TEXT_GOTOMAIN(); ?> </div></div> <?php include "footer.php"; die; } // Planetary defense system calculation $planetbeams = calcplanetbeams(); $planetfighters = $planetinfo['fighters']; $planetshields = calcplanetshields(); $planettorps = calcplanettorps(); // Attacking ship calculations $attackerbeams = NUM_BEAMS($playerinfo['beams']); $attackerfighters = $playerinfo['ship_fighters']; $attackershields = NUM_SHIELDS($playerinfo['shields']); $attackertorps = round(pow($level_factor, $playerinfo['torp_launchers'])) * 2; $attackerarmor = $playerinfo['armor_pts']; // Now modify player beams, shields and torpedos on available materiel $start_energy = $playerinfo['ship_energy']; // Beams if ($attackerbeams > $playerinfo['ship_energy']) { $attackerbeams = $playerinfo['ship_energy']; } $playerinfo['ship_energy'] = $playerinfo['ship_energy'] - $attackerbeams; // Shields if ($attackershields > $playerinfo['ship_energy']) { $attackershields = $playerinfo['ship_energy']; } $playerinfo['ship_energy'] = $playerinfo['ship_energy'] - $attackershields; // Torpedos if ($attackertorps > $playerinfo['torps']) { $attackertorps = $playerinfo['torps']; } $playerinfo['torps'] = $playerinfo['torps'] - $attackertorps; // Setup torp damage rate for both Planet and Ship $planettorpdamage = $torp_dmg_rate * $planettorps; $attackertorpdamage = $torp_dmg_rate * $attackertorps; /* Build table */ ?> <div class="general-table-container"> <?php echo "<table><tbody>"; echo "<tr>\n\t<td>STATS</td>\n <td>Beams</td>\n <td>Fighters</td>\n <td>Shields</td>\n <td>Torpedoes Warhead Strength</td>\n <td>Armour</td>\n </tr><tr>\n <td><span class=\"table_word_blue\">Your Ship</span></td>\n <td>{$attackerbeams}</td>\n <td>{$attackerfighters}</td>\n <td>{$attackershields}</td>\n <td>{$attackertorpdamage}</td>\n <td>{$attackerarmor}</td>\n </tr><tr>\n <td><span class=\"table_word_orange\">The Planet</span></td>\n <td>{$planetbeams}</td>\n <td>{$planetfighters}</td>\n <td>{$planetshields}</td>\n <td>{$planettorpdamage}</td>\n <td>N/A</td>\n </tr>"; echo "</tbody></table></div>"; // Begin actual combat calculations $planetdestroyed = 0; $attackerdestroyed = 0; echo "<br/>You are now engaging the planet in sector " . $playerinfo[sector] . "!<br/><br/>"; /* Build table */ ?> <div class="general-table-container"> <?php echo "<table><tbody>"; echo "<tr>"; echo "<td width=\"50%\">You</td>"; echo "<td width=\"50%\">Planet</td>"; echo "</tr>"; echo "<tr><td colspan=\"2\"><span class=\"table_word_yellow\">Firing Your Beams</span></td></tr>"; if ($planetfighters > 0 && $attackerbeams > 0) { if ($attackerbeams > $planetfighters) { echo "<tr><td></td><td><span class=\"table_word_orange\">Planetary defense lost " . $planetfighters . " fighters to your beams</span></td></tr>"; $attackerbeams = $attackerbeams - $planetfighters; $planetfighters = 0; } else { $planetfighters = $planetfighters - $attackerbeams; echo "<tr><td></td><td><span class=\"table_word_orange\">Planetary defense lost " . $planetfighters . " fighters, but there are more coming!</span></td></tr>"; $attackerbeams = 0; } } if ($attackerfighters > 0 && $planetbeams > 0) { // If there are more beams on the planet than attacker has fighters if ($planetbeams > round($attackerfighters / 2)) { // Half the attacker fighters $temp = round($attackerfighters / 2); // Attacker loses half his fighters $lost = $attackerfighters - $temp; // Set attacker fighters to 1/2 it's original value $attackerfighters = $temp; // Subtract half the attacker fighters from available planetary beams $planetbeams = $planetbeams - $lost; echo "<tr><td></td><td><span class=\"table_word_orange\">Planetary beams destroy " . $temp . " of your fighters</span></td></tr>"; } else { $attackerfighters = $attackerfighters - $planetbeams; echo "<tr><td></td><td><span class=\"table_word_orange\">Planetary beams destroy " . $planetbeams . " of your fighters</span></td></tr>"; $planetbeams = 0; } } if ($attackerbeams > 0) { if ($attackerbeams > $planetshields) { $attackerbeams = $attackerbeams - $planetshields; $planetshields = 0; echo "<tr><td><span class=\"table_word_green\">Your beams have destroyed the planetary shields</span></td><td></td></tr>"; } else { echo "<tr><td><span class=\"table_word_orange\">You destroy " . $attackerbeams . " planetary shields before your beams are exhausted</span></td><td></td></tr>"; $planetshields = $planetshields - $attackerbeams; $attackerbeams = 0; } } if ($planetbeams > 0) { if ($planetbeams > $attackershields) { $planetbeams = $planetbeams - $attackershields; $attackershields = 0; echo "<tr><td></td><td><span class=\"table_word_red\">Planetary beams have breached your shields</span></td></tr>"; } else { $attackershields = $attackershields - $planetbeams; echo "<tr><td></td><td><span class=\"table_word_red\">Planetary beams have destroyed " . $planetbeams . " of your shields</span></td></tr>"; $planetbeams = 0; } } if ($planetbeams > 0) { if ($planetbeams > $attackerarmor) { $attackerarmor = 0; echo "<tr><td></td><td><span class=\"table_word_red\">Planetary beams have breached your armor</span></td></tr>"; } else { $attackerarmor = $attackerarmor - $planetbeams; echo "<tr><td></td><td><span class=\"table_word_orange\">Planetary beams have destroyed " . $planetbeams . " points of armor</span></td></tr>"; } } if ($planetshields > 0) { } else { echo "<tr><td></td><td><span class=\"table_word_green\">Planets shields have been breached!</span></td></tr>"; } echo "</tbody></table></div>"; /* Build table */ ?> <div class="general-table-container"> <?php echo "<table><tbody>"; echo "<tr>\n\t<td>UPDATE</td>\n <td>Beams</td>\n <td>Fighters</td>\n <td>Shields</td>\n <td>Torpedoes Warhead Strength</td>\n <td>Armour</td>\n </tr><tr>\n <td><span class=\"table_word_blue\">Your Ship</span></td>\n <td>{$attackerbeams}</td>\n <td>{$attackerfighters}</td>\n <td>{$attackershields}</td>\n <td>{$attackertorpdamage}</td>\n <td>{$attackerarmor}</td>\n </tr><tr>\n <td><span class=\"table_word_orange\">The Planet</span></td>\n <td>{$planetbeams}</td>\n <td>{$planetfighters}</td>\n <td>{$planetshields}</td>\n <td>{$planettorpdamage}</td>\n <td>N/A</td>\n </tr>"; echo "</tbody></table></div>"; ?> <div class="general-table-container"> <?php echo "<table><tbody>"; echo "<tr>"; echo "<td width=\"50%\">You</td>"; echo "<td width=\"50%\">Planet</td>"; echo "</tr>"; echo "<tr><td colspan=\"2\"><span class=\"table_word_yellow\">Torpedo Exchange Phase</span></td></tr>"; if ($planetfighters > 0 && $attackertorpdamage > 0) { if ($attackertorpdamage > $planetfighters) { echo "<tr><td>Your torpedos destroy " . $planetfighters . " planetary fighters, no fighters are left</td><td></td></tr>"; $attackertorpdamage = $attackertorpdamage - $planetfighters; $planetfighters = 0; } else { $planetfighters = $planetfighters - $attackertorpdamage; echo "<tr><td><span class=\"table_word_orange\">Your torpedos destroy " . $attackertorpdamage . " planetary fighters</span></td><td></td></tr>"; $attackertorpdamage = 0; } } if ($attackerfighters > 0 && $planettorpdamage > 0) { if ($planettorpdamage > round($attackerfighters / 2)) { $temp = round($attackerfighters / 2); $lost = $attackerfighters - $temp; $attackerfighters = $temp; $planettorpdamage = $planettorpdamage - $lost; echo "<tr><td></td><td><span class=\"table_word_orange\">Planetary torpedos destroy " . $temp . " of your fighters</span></td></tr>"; } else { $attackerfighters = $attackerfighters - $planettorpdamage; echo "<tr><td></td><td><span class=\"table_word_orange\">Planetary torpedos destroy " . $planettorpdamage . " of your fighters</span></td></tr>"; $planettorpdamage = 0; } } if ($planettorpdamage > 0) { if ($planettorpdamage > $attackerarmor) { $attackerarmor = 0; echo "<tr><td><span class=\"table_word_red\">Planetary torpedos have breached your armor</span></td><td></td></tr>"; } else { $attackerarmor = $attackerarmor - $planettorpdamage; echo "<tr><td><span class=\"table_word_orange\">Planetary torpedos have destroyed " . $planettorpdamage . " points of armor</span></td><td></td></tr>"; } } if ($attackertorpdamage > 0 && $planetfighters > 0) { $planetfighters = $planetfighters - $attackertorpdamage; if ($planetfighters < 0) { $planetfighters = 0; echo "<tr><td><span class=\"table_word_green\">Your torpedos have destroyed all the planetary fighters</span></td><td></td></tr>"; } else { echo "<tr><td><span class=\"table_word_orange\">Your torpedos destroy " . $attackertorpdamage . " planetary fighters</span></td><td></td></tr>"; } } else { echo "<tr><td></td><td><span class=\"table_word_green\">Planet has no torpedoes</span></td></tr>"; } echo "</tbody></table></div>"; /* Build table */ ?> <div class="general-table-container"> <?php echo "<table><tbody>"; echo "<tr>\n\t<td>UPDATE</td>\n <td>Beams</td>\n <td>Fighters</td>\n <td>Shields</td>\n <td>Torpedoes Warhead Strength</td>\n <td>Armour</td>\n </tr><tr>\n <td><span class=\"table_word_blue\">Your Ship</span></td>\n <td>{$attackerbeams}</td>\n <td>{$attackerfighters}</td>\n <td>{$attackershields}</td>\n <td>{$attackertorpdamage}</td>\n <td>{$attackerarmor}</td>\n </tr><tr>\n <td><span class=\"table_word_orange\">The Planet</span></td>\n <td>{$planetbeams}</td>\n <td>{$planetfighters}</td>\n <td>{$planetshields}</td>\n <td>{$planettorpdamage}</td>\n <td>N/A</td>\n </tr>"; echo "</tbody></table></div>"; ?> <div class="general-table-container"> <?php echo "<table><tbody>"; echo "<tr>"; echo "<td width=\"50%\">You</td>"; echo "<td width=\"50%\">Planet</td>"; echo "</tr>"; echo "<tr><td colspan=\"2\"><span class=\"table_word_yellow\">Fighter Combat Phase</span></td></tr>"; if ($attackerfighters > 0 && $planetfighters > 0) { if ($attackerfighters > $planetfighters) { echo "<tr><td><span class=\"table_word_green\">Your fighters have destroyed all the planetary fighters</span></td><td></td></tr>"; $tempplanetfighters = 0; } else { echo "<tr><td><span class=\"table_word_orange\">Your fighters have destroyed " . $attackerfighters . " planetary fighters</span></td><td></td></tr>"; $tempplanetfighters = $planetfighters - $attackerfighters; } if ($planetfighters > $attackerfighters) { echo "<tr><td><span class=\"table_word_red\">All your fighters were destroyed</span></td><td></td></tr>"; $tempplayfighters = 0; } else { $tempplayfighters = $attackerfighters - $planetfighters; echo "<tr><td><span class=\"table_word_orange\">You lost " . $planetfighters . " fighters in fighter to fighter combat</span></td><td></td></tr>"; } $attackerfighters = $tempplayfighters; $planetfighters = $tempplanetfighters; } if ($attackerfighters > 0 && $planetshields > 0) { if ($attackerfighters > $planetshields) { $attackerfighters = $attackerfighters - round($planetshields / 2); echo "<tr><td><span class=\"table_word_green\">Your fighters have breached the planetary shields</span></td><td></td></tr>"; $planetshields = 0; } else { echo "<tr><td></td><td><span class=\"table_word_orange\">Your fighters destroyed " . $attackerfighters . " planetary shields, but they remain up</span></td></tr>"; $planetshields = $planetshields - $attackerfighters; } } if ($planetfighters > 0) { if ($planetfighters > $attackerarmor) { $attackerarmor = 0; echo "<tr><td><span class=\"table_word_red\">Planetary fighters swarm your ship, your armor has been breached</span></td><td></td></tr>"; } else { $attackerarmor = $attackerarmor - $planetfighters; echo "<tr><td><span class=\"table_word_orange\">Planetary fighters swarm your ship, but your armor repels them</span></td><td></td></tr>"; } } else { echo "<tr><td></td><td><span class=\"table_word_green\">Planet has no fighters</span></td></tr>"; } echo "</tbody></table></div>"; /* Build table */ ?> <div class="general-table-container"> <?php echo "<table><tbody>"; echo "<tr>\n\t<td>UPDATE</td>\n <td>Beams</td>\n <td>Fighters</td>\n <td>Shields</td>\n <td>Torpedoes Warhead Strength</td>\n <td>Armour</td>\n </tr><tr>\n <td><span class=\"table_word_blue\">Your Ship</span></td>\n <td>{$attackerbeams}</td>\n <td>{$attackerfighters}</td>\n <td>{$attackershields}</td>\n <td>{$attackertorpdamage}</td>\n <td>{$attackerarmor}</td>\n </tr><tr>\n <td><span class=\"table_word_orange\">The Planet</span></td>\n <td>{$planetbeams}</td>\n <td>{$planetfighters}</td>\n <td>{$planetshields}</td>\n <td>{$planettorpdamage}</td>\n <td>N/A</td>\n </tr>"; echo "</tbody></table></div>"; // Send each docked ship in sequence to attack agressor $result4 = $db->Execute("SELECT * FROM {$db->prefix}ships WHERE planet_id={$planetinfo['planet_id']} AND on_planet='Y'"); db_op_result($db, $result4, __LINE__, __FILE__, $db_logging); $shipsonplanet = $result4->RecordCount(); if ($shipsonplanet > 0) { echo "<br/>There are " . $shipsonplanet . " ships docked at Spacedock!<br>Engaging in Ship to Ship combat.<br/><br/>"; while (!$result4->EOF) { $onplanet = $result4->fields; if ($attackerfighters < 0) { $attackerfighters = 0; } if ($attackertorps < 0) { $attackertorps = 0; } if ($attackershields < 0) { $attackershields = 0; } if ($attackerbeams < 0) { $attackerbeams = 0; } if ($attackerarmor < 1) { break; } echo "<br/>" . $onplanet[ship_name] . " is approaching on an attack vector<br/>"; /*ENGAGE EACH SHIP ONE BY ONE!!!*/ shiptoship($onplanet['ship_id']); $result4->MoveNext(); } } else { /*no SHIPS on the planet, noting to worry about*/ } if ($attackerarmor < 1) { $free_ore = round($playerinfo['ship_ore'] / 2); $free_organics = round($playerinfo['ship_organics'] / 2); $free_goods = round($playerinfo['ship_goods'] / 2); $ship_value = $upgrade_cost * (round(pow($upgrade_factor, $playerinfo['hull'])) + round(pow($upgrade_factor, $playerinfo['engines'])) + round(pow($upgrade_factor, $playerinfo['power'])) + round(pow($upgrade_factor, $playerinfo['computer'])) + round(pow($upgrade_factor, $playerinfo['sensors'])) + round(pow($upgrade_factor, $playerinfo['beams'])) + round(pow($upgrade_factor, $playerinfo['torp_launchers'])) + round(pow($upgrade_factor, $playerinfo['shields'])) + round(pow($upgrade_factor, $playerinfo['armor'])) + round(pow($upgrade_factor, $playerinfo['cloak']))); $ship_salvage_rate = mt_rand(0, 10); $ship_salvage = $ship_value * $ship_salvage_rate / 100; echo "<br><center><font size='+2' COLOR='red'>{$l_cmb_yourshipdestroyed}</font></center><br>"; if ($playerinfo['dev_escapepod'] == "Y") { echo "<center><font color='white'>{$l_cmb_escapepod}</font></center><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={$start_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',dev_lssd='N' WHERE ship_id={$playerinfo['ship_id']}"); db_op_result($db, $resx, __LINE__, __FILE__, $db_logging); collect_bounty($planetinfo['owner'], $playerinfo['ship_id']); } else { db_kill_player($playerinfo['ship_id']); collect_bounty($planetinfo['owner'], $playerinfo['ship_id']); } } else { $free_ore = 0; $free_goods = 0; $free_organics = 0; $ship_salvage_rate = 0; $ship_salvage = 0; $planetrating = $ownerinfo['hull'] + $ownerinfo['engines'] + $ownerinfo['computer'] + $ownerinfo['beams'] + $ownerinfo['torp_launchers'] + $ownerinfo['shields'] + $ownerinfo['armor']; if ($ownerinfo['rating'] != 0) { $rating_change = $ownerinfo['rating'] / abs($ownerinfo['rating']) * $planetrating * 10; } else { $rating_change = -100; } echo "<br/>Final Combat Stats<br/><br/>"; $fighters_lost = $playerinfo['ship_fighters'] - $attackerfighters; echo "You lost " . $fighters_lost . " out of " . $playerinfo['ship_fighters'] . " total fighters.<br/>"; $armor_lost = $playerinfo['armor_pts'] - $attackerarmor; echo "You lost " . $armor_lost . " out of " . $playerinfo['armor_pts'] . " total armor points, you have " . $attackerarmor . " points remaining.<br/>"; $energy = $playerinfo['ship_energy']; $energy_lost = $start_energy - $playerinfo['ship_energy']; echo "You used " . $energy_lost . " energy, from a total of " . $start_energy . " energy.<br/>"; $resx = $db->Execute("UPDATE {$db->prefix}ships SET ship_energy={$energy},ship_fighters=ship_fighters-{$fighters_lost}, torps=torps-{$attackertorps},armor_pts=armor_pts-{$armor_lost}, rating=rating-{$rating_change} WHERE ship_id={$playerinfo['ship_id']}"); db_op_result($db, $resx, __LINE__, __FILE__, $db_logging); } $result4 = $db->Execute("SELECT * FROM {$db->prefix}ships WHERE planet_id={$planetinfo['planet_id']} AND on_planet='Y'"); db_op_result($db, $result4, __LINE__, __FILE__, $db_logging); $shipsonplanet = $result4->RecordCount(); ################# ### LOG AND UPDATE THE STATS ################## if ($planetshields < 1 && $planetfighters < 1 && $attackerarmor > 0 && $shipsonplanet == 0) { echo "<br/><br/><span class=\"table_word_green\">Planet defeated</span><br/><br/>"; // Patch to stop players dumping credits for other players. $self_tech = get_avg_tech($playerinfo); $target_tech = round(get_avg_tech($ownerinfo)); $roll = mt_rand(0, (int) $target_tech); if ($roll > $self_tech) { // Reset Planet Assets. $sql = "UPDATE {$db->prefix}planets "; $sql .= "SET organics = '0', ore = '0', goods = '0', energy = '0', colonists = '2', credits = '0', fighters = '0', torps = '0', corp = '0', base = 'N', sells = 'N', prod_organics = '20', prod_ore = '20', prod_goods = '20', prod_energy = '20', prod_fighters = '10', prod_torp = '10' "; $sql .= "WHERE `dev_planets`.`planet_id` ={$planetinfo['planet_id']} LIMIT 1;"; $resx = $db->Execute($sql); db_op_result($db, $resx, __LINE__, __FILE__, $db_logging); echo "<div style='text-align:center; font-size:18px; color:#f00;'>The planet become unstable due to not being looked after, and all life and assets have been destroyed.</div>\n"; } if ($min_value_capture != 0) { $playerscore = gen_score($playerinfo['ship_id']); $playerscore *= $playerscore; $planetscore = $planetinfo['organics'] * $organics_price + $planetinfo['ore'] * $ore_price + $planetinfo['goods'] * $goods_price + $planetinfo['energy'] * $energy_price + $planetinfo['fighters'] * $fighter_price + $planetinfo['torps'] * $torpedo_price + $planetinfo['colonists'] * $colonist_price + $planetinfo['credits']; $planetscore = $planetscore * $min_value_capture / 100; if ($playerscore < $planetscore) { echo "The citizens of this planet have decided they'd rather die than serve a pathetic ruler like you. They use a laser drill to dig a hole to the planet's core. You barely have time to escape into orbit before the whole planet is reduced to a ball of molten lava.<br/><br/>"; $resx = $db->Execute("DELETE FROM {$db->prefix}planets WHERE planet_id={$planetinfo['planet_id']}"); db_op_result($db, $resx, __LINE__, __FILE__, $db_logging); playerlog($db, $ownerinfo['ship_id'], LOG_PLANET_DEFEATED_D, "{$planetinfo['name']}|{$playerinfo['sector']}|{$playerinfo['character_name']}"); adminlog($db, LOG_ADMIN_PLANETDEL, "{$playerinfo['character_name']}|{$ownerinfo['character_name']}|{$playerinfo['sector']}"); gen_score($ownerinfo['ship_id']); } else { echo "You may <a href='planet.php?planet_id=", $planetinfo['planet_id'] . "&command=capture'>capture</a> the planet or just leave it undefended.<br><br>"; playerlog($db, $ownerinfo['ship_id'], LOG_PLANET_DEFEATED, "{$planetinfo['name']}|{$playerinfo['sector']}|{$playerinfo['character_name']}"); gen_score($ownerinfo['ship_id']); $update7a = $db->Execute("UPDATE {$db->prefix}planets SET owner=0, fighters=0, torps=torps-{$planettorps}, base='N', defeated='Y' WHERE planet_id={$planetinfo['planet_id']}"); db_op_result($db, $update7a, __LINE__, __FILE__, $db_logging); } } else { echo "You may <a href='planet.php?planet_id=", $planetinfo['planet_id'] . "&command=capture'>capture</a> the planet or just leave it undefended.<br><br>"; playerlog($db, $ownerinfo['ship_id'], LOG_PLANET_DEFEATED, "{$planetinfo['name']}|{$playerinfo['sector']}|{$playerinfo['character_name']}"); gen_score($ownerinfo['ship_id']); $update7a = $db->Execute("UPDATE {$db->prefix}planets SET owner=0,fighters=0, torps=torps-{$planettorps}, base='N', defeated='Y' WHERE planet_id={$planetinfo['planet_id']}"); db_op_result($db, $update7a, __LINE__, __FILE__, $db_logging); } calc_ownership($planetinfo['sector_id']); } else { echo "<br><br><span class=\"table_word_red\">Planet Not Defeated</span><br><br>"; $fighters_lost = $planetinfo['fighters'] - $planetfighters; $l_cmb_fighterloststat = str_replace("[cmb_fighters_lost]", $fighters_lost, $l_cmb_fighterloststat); $l_cmb_fighterloststat = str_replace("[cmb_planetinfo_fighters]", $planetinfo['fighters'], $l_cmb_fighterloststat); $l_cmb_fighterloststat = str_replace("[cmb_planetfighters]", $planetfighters, $l_cmb_fighterloststat); $energy = $planetinfo['energy']; playerlog($db, $ownerinfo['ship_id'], LOG_PLANET_NOT_DEFEATED, "{$planetinfo['name']}|{$playerinfo['sector']}|{$playerinfo['character_name']}|{$free_ore}|{$free_organics}|{$free_goods}|{$ship_salvage_rate}|{$ship_salvage}"); gen_score($ownerinfo['ship_id']); $update7b = $db->Execute("UPDATE {$db->prefix}planets SET energy={$energy},fighters=fighters-{$fighters_lost}, torps=torps-{$planettorps}, ore=ore+{$free_ore}, goods=goods+{$free_goods}, organics=organics+{$free_organics}, credits=credits+{$ship_salvage} WHERE planet_id={$planetinfo['planet_id']}"); db_op_result($db, $update7b, __LINE__, __FILE__, $db_logging); } $update = $db->Execute("UPDATE {$db->prefix}ships SET turns=turns-1, turns_used=turns_used+1 WHERE ship_id={$playerinfo['ship_id']}"); db_op_result($db, $update, __LINE__, __FILE__, $db_logging); }
<?php if (checklogin()) { die; } $result = $db->Execute("SELECT * FROM {$db->prefix}ships WHERE ship_id='{$user_ship_id}'"); db_op_result($db, $result, __LINE__, __FILE__, $db_logging); $playerinfo = $result->fields; $shiptypes[0] = "ship-1.gif"; $shiptypes[1] = "ship-2.gif"; $shiptypes[2] = "ship-3.gif"; $shiptypes[3] = "ship-4.gif"; $shiptypes[4] = "ship-5.gif"; $shiptypes[5] = "ship-6.gif"; $shiptypes[6] = "ship-7.gif"; $shiptypes[7] = "ship-8.gif"; $shipavg = get_avg_tech($playerinfo, "ship"); if ($shipavg < 10) { $ship_image = 0; } elseif ($shipavg < 15) { $ship_image = 1; } elseif ($shipavg < 20) { $ship_image = 2; } elseif ($shipavg < 25) { $ship_image = 3; } elseif ($shipavg < 30) { $ship_image = 4; } elseif ($shipavg < 35) { $ship_image = 5; } elseif ($shipavg < 40) { $ship_image = 6; } elseif ($shipavg < 45) {