echo $szDisabled; ?> type="text" name="init_roids[<?php echo $r['id']; ?> ]" value="" class="right" size="4" maxlength="3" style="padding:1px 2px;" /></td> <td class="right bl"><?php echo nummertje($p = applyRDChange('income_' . $r['id'], 0)); ?> </td> <td class="right"><?php echo nummertje($a = res_per_type($r['asteroids'])); ?> </td> <td class="right"><?php echo nummertje(($t = applyRDChange('income_' . $r['id'], res_per_type($r['asteroids']))) - $a - $p); ?> </td> <th class="right"><?php echo nummertje($t); ?> </th> </tr> <?php } ?> <tr class="bt"> <th class="right">Inactive</th> <td class="right" id="roids_amount_inactive"><?php echo nummertje($g_arrUser['inactive_asteroids']); ?>
if ($u = array_flip(array_flip(db_select_fields('d_all_units', 'id,unit_plural', 'r_d_required_id = ' . (int) $r['id'])))) { $szEnables = ' title="Enables `' . implode('`, `', $u) . '`"'; } // Name echo '<td width="100%"' . $szEnables . '><i onclick="var d=this.parentNode.getElementsByTagName(\'div\')[0].style;d.display=\'none\'!=d.display?\'none\':\'\';" style="cursor:pointer;">' . $r['name'] . ($szExcludes ? ' ' . $szRDExcludes : '') . '</i><div style="display:none;">' . $r['explanation'] . $szExcludes . '</div></td>'; $szEta = isset($arrPlanetRD[$r['id']]) ? $arrPlanetRD[$r['id']] : ($HAVOC_RESDEV ? $HAVOC_RESDEV_ETA : applyRDChange('r_d_eta', (int) $r['eta'])); // ETA echo '<td align="center">' . $szEta . '</td>'; // Progress echo '<td align="right">' . (isset($arrPlanetRD[$r['id']]) ? round(($r['eta'] - $arrPlanetRD[$r['id']]) / max(1, $r['eta']) * 100) . ' %' : '-') . '</td>'; // Action echo '<td align="center">' . (!isset($arrPlanetRD[$r['id']]) ? $bInProgess ? '-' : '<a onclick="return R(this);" href="?r_d_id=' . $r['id'] . '">start</a>' : '-') . '</td>'; $arrPreCosts = db_select_fields('d_r_d_costs', 'resource_id,amount', '0 < amount AND r_d_id = ' . (int) $r['id'] . ' ORDER BY resource_id ASC'); $arrCosts = array(); foreach ($arrPreCosts as $iResourceId => $iAmount) { $iAmount = max(0, applyRDChange('r_d_costs', (int) $iAmount)); $arrCosts[] = '<span style="color:' . $g_arrResources[$iResourceId]['color'] . ';">' . nummertje($iAmount) . ' ' . strtolower($g_arrResources[$iResourceId]['resource']) . '</span>'; } $szCosts = $arrCosts ? implode('<br />', $arrCosts) : '-'; // Costs echo '<td align="right">' . $szCosts . '</td>'; $arrRequiredSkills = db_select_fields('d_skills s, d_skills_per_r_d r', 's.id,concat(s.skill,\': \',r.required_value)', 'r.skill_id = s.id AND r.r_d_id = ' . (int) $r['id'] . ' AND 0 < required_value'); foreach ($arrRequiredSkills as $iSkill => &$szSkill) { $x = explode(':', $szSkill); $iValue = (int) trim($x[1]); if ((double) $arrSkills[$iSkill] < (double) $iValue) { $szSkill = '<span style="color:red;">' . $szSkill . '</span>'; } unset($szSkill); } $szSkills = $arrRequiredSkills ? implode('<br />', $arrRequiredSkills) : '-';
//print_r($g_arrUnits); $allusers = db_select('galaxies g, planets p', 'p.galaxy_id = g.id ORDER BY x ASC, y ASC, z ASC'); foreach ($allusers as $arrUser) { $id = (int) $arrUser['id']; // R & D NEWS if ('1' === $GAMEPREFS['news_for_done_rd']) { $arrNames = array('d' => 'constructing', 'r' => 'researching'); $arrRD = db_select('d_r_d_available a, planet_r_d p', 'a.id = p.r_d_id AND p.eta = 1 AND p.planet_id = ' . $id); foreach ($arrRD as $rd) { AddNews(NEWS_SUBJECT_R_D, 'Your technicians have finished researching <b>' . $rd['name'] . '</b>.', $id); } db_update('planet_r_d', 'eta = eta-1', 'eta > 0 AND planet_id = ' . $id); } // RESOURCES foreach (db_select('planet_resources', 'planet_id = ' . $id) as $arrResource) { $iGain = applyRDChange('income_' . $arrResource['resource_id'], res_per_type($arrResource['asteroids']), $id); if (0 < $iGain) { db_update('planet_resources', 'amount = amount + ' . $iGain, 'planet_id = ' . $id . ' AND resource_id = ' . $arrResource['resource_id']); } } #continue; // COMBAT // SECTION F // De info van de personen die $id AANVALLEN | $id = battlefield $szAWhere = 'destination_planet_id = ' . $id . ' AND eta = 0 AND action = \'attack\' AND actiontime > 0 AND activated = \'1\''; $arrAttackingFleets = db_select_by_field('fleets', 'id', $szAWhere); if (0 < count($arrAttackingFleets)) { $iAttackingOwners = db_select_one('fleets', 'COUNT(DISTINCT owner_planet_id)', $szAWhere); $szDWhere = '(destination_planet_id = ' . $id . ' AND eta = 0 AND action = \'defend\' AND actiontime > 0 AND activated = \'1\') OR (owner_planet_id = ' . $id . ' AND ((destination_planet_id IS NULL AND eta = 0) OR activated != \'1\'))'; $arrDefendingFleets = db_select_by_field('fleets', 'id', $szDWhere); $iDefendingOwners = db_select_one('fleets', 'COUNT(DISTINCT owner_planet_id)', $szDWhere); if (empty($_GET['special'])) {
function getFleetMatrix($f_iPlanetId = PLANET_ID, $f_bPrintDetails = true) { global $NUM_OUTGOING_FLEETS, $FLEETNAMES, $showcolors, $t_arrFleetNames, $t_arrShipNames; $arrShips = db_fetch(' SELECT u.*, s.id AS ship_id, IFNULL((SELECT SUM(amount) FROM fleets f, ships_in_fleets sf WHERE f.owner_planet_id = ' . $f_iPlanetId . ' AND f.id = sf.fleet_id AND sf.ship_id = s.id AND f.fleetname = \'0\' ),0) AS num_units FROM d_all_units u, d_ships s WHERE s.id = u.id AND u.r_d_required_id IN ( SELECT rdpp.r_d_id FROM planet_r_d rdpp WHERE rdpp.planet_id = ' . $f_iPlanetId . ' AND rdpp.eta = 0 ) ORDER BY s.id ASC; '); $szHtml = ''; $szHtml .= '<table class="fleets" border="0" cellpadding="2" cellspacing="0"' . (!$f_bPrintDetails ? ' align="center"' : '') . '><tr class="bb"><td> </td>'; $t_arrFleetNames = $t_arrShipNames = array(); for ($iFleetName = 0; $iFleetName <= $NUM_OUTGOING_FLEETS; $iFleetName++) { $arrFleetETAs[$iFleetName] = $arrFleetCostsPerTick[$iFleetName] = 0; $arrFleet = db_select('fleets', 'owner_planet_id = ' . $f_iPlanetId . ' AND fleetname = \'' . $iFleetName . '\''); $arrFleet = $arrFleet[0]; $szFleetAction = $arrFleet['action']; if (!$szFleetAction) { $t_arrFleetNames[$iFleetName] = $FLEETNAMES[(int) $iFleetName]; $szTxtColor = ''; } else { $szTxtColor = ' style="color:' . $showcolors[$szFleetAction] . ';"'; } $szHtml .= '<th' . $szTxtColor . ' width="70" nowrap="nowrap" class="right" title="' . $arrFleet['id'] . '" id="fleetmatrix_fleet_' . $iFleetName . '">' . $FLEETNAMES[(int) $iFleetName] . '</th>'; } $szHtml .= '</tr>'; foreach ($arrShips as $k => $arrShip) { $t_arrShipNames[(int) $arrShip['ship_id']] = $arrShip['unit_plural']; $szHtml .= '<tr class="bt' . ($f_bPrintDetails && $k == count($arrShips) - 1 ? ' bb' : '') . '">'; $szHtml .= '<td nowrap="nowrap" title="' . $arrShip['id'] . ': ETA = ' . $arrShip['move_eta'] . ', Fuel use = ' . $arrShip['fuel'] . '">' . htmlspecialchars($arrShip['unit_plural']) . '</td>'; $szHtml .= '<td align="right">' . nummertje($arrShip['num_units']) . '</td>'; for ($iFleetName = 1; $iFleetName <= $NUM_OUTGOING_FLEETS; $iFleetName++) { $iShips = shipsInFleet($arrShip['ship_id'], $iFleetName, $f_iPlanetId); # if ( 0 < $iShips && $arrShip['move_eta'] > $arrFleetETAs[$iFleetName] ) { # $arrFleetETAs[$iFleetName] = $arrShip['move_eta']; # } # $arrFleetCostsPerTick[$iFleetName] += $iShips * $arrShip['fuel']; $szHtml .= '<td align="right">' . nummertje($iShips) . '</td>'; } $szHtml .= '</tr>'; } if ($f_bPrintDetails) { $szHtml .= '<tr class="bt">'; $szHtml .= '<td colspan="2" class="right">Min. ETA:</td>'; // $szHtml .= '<td> </td>'; // Home fleet $arrEtas = array(); for ($iFleetName = 1; $iFleetName <= $NUM_OUTGOING_FLEETS; $iFleetName++) { $iEta = db_select_one('d_ships s, ships_in_fleets sif, fleets f, d_all_units u', 'max(u.move_eta)', 'u.id = s.id AND s.id = sif.ship_id AND sif.fleet_id = f.id AND f.fleetname = \'' . (int) $iFleetName . '\' AND f.owner_planet_id = ' . $f_iPlanetId . ' AND sif.amount > 0'); $iEta = applyRDChange('travel_eta', $iEta, $f_iPlanetId); $szHtml .= '<td align="right">' . $iEta . '</td>'; $arrEtas[$iFleetName] = $iEta; } $szHtml .= '</tr>'; $szHtml .= '<tr class="bb">'; $szHtml .= '<td colspan="2" class="right" nowrap="1" wrap="off">Min. Fuel use:</td>'; // $szHtml .= '<td> </td>'; // Home fleet for ($iFleetName = 1; $iFleetName <= $NUM_OUTGOING_FLEETS; $iFleetName++) { $iFuelUsePerTick = db_select_one('d_ships s, ships_in_fleets sif, fleets f, d_all_units u', 'sum(u.fuel*sif.amount)', 'u.id = s.id AND s.id = sif.ship_id AND sif.fleet_id = f.id AND f.fleetname = \'' . (int) $iFleetName . '\' AND f.owner_planet_id = ' . $f_iPlanetId . ' AND sif.amount > 0'); $szHtml .= '<td align="right" style="color:' . $showcolors['energy'] . ';">' . nummertje($arrEtas[$iFleetName] * $iFuelUsePerTick) . '</td>'; } $szHtml .= '</tr>'; } $szHtml .= '</table>'; return $szHtml; }