$template->assign('PageTopic', 'Ship Dealer'); $db->query('SELECT ship_type_id FROM location JOIN location_sells_ships USING (location_type_id) WHERE sector_id = ' . $db->escapeNumber($player->getSectorID()) . ' AND game_id = ' . $db->escapeNumber($player->getGameID()) . ' AND location_type_id = ' . $db->escapeNumber($var['LocationID'])); $shipsSold = array(); if ($db->getNumRows() > 0) { $container = create_container('skeleton.php', 'shop_ship.php'); transfer('LocationID'); while ($db->nextRecord()) { $shipTypeID = $db->getField('ship_type_id'); $shipsSold[$shipTypeID] =& AbstractSmrShip::getBaseShip(Globals::getGameType($player->getGameID()), $shipTypeID); $container['ship_id'] = $shipTypeID; $container['level_needed'] = $shipsSold[$shipTypeID]['Level']; $shipsSoldHREF[$shipTypeID] = SmrSession::getNewHREF($container); } } $template->assign('ShipsSold', $shipsSold); $template->assign('ShipsSoldHREF', $shipsSoldHREF); if (isset($var['ship_id'])) { $compareShip = AbstractSmrShip::getBaseShip(Globals::getGameType($player->getGameID()), $var['ship_id']); $compareShip['RealSpeed'] = $compareShip['Speed'] * Globals::getGameSpeed($player->getGameID()); $compareShip['Turns'] = round($player->getTurns() * $compareShip['Speed'] / $ship->getSpeed()); $container = create_container('shop_ship_processing.php'); transfer('LocationID'); transfer('ship_id'); $compareShip['BuyHREF'] = SmrSession::getNewHREF($container); $template->assign('CompareShip', $compareShip); }
<?php $shipID = $var['ship_id']; $newShip =& AbstractSmrShip::getBaseShip(Globals::getGameType($player->getGameID()), $shipID); $cost = $ship->getCostToUpgrade($shipID); // trade master 33 // trip maker 30 //(22,25,23,75,43,55,61,24,21,38,67,33,49) // Top racials minus ATM + top UG/FED are restricted if ($newShip['AlignRestriction'] == 2 && $player->getAlignment() > -100) { create_error('You can\'t buy smuggler ships!'); } if ($newShip['AlignRestriction'] == 1 && $player->getAlignment() < 100) { create_error('You can\'t buy federal ships!'); } if ($newShip['RaceID'] != 1 && $player->getRaceID() != $newShip['RaceID']) { create_error('You can\'t buy other race\'s ships!'); } /*if ($player->getAccountID() == 101) create_error('Cheaters do NOT get ships!');*/ // do we have enough cash? if ($player->getCredits() < $cost) { create_error('You do not have enough cash to purchase this ship!'); } // adapt turns $player->setTurns(round($player->getTurns() * $newShip['Speed'] / $ship->getSpeed())); //Don't times by game speed as getSpeed doesn't include it meaning ratio will be the same but less work. // take the money from the user if ($cost > 0) { $player->decreaseCredits($cost); } else {
$Ships =& AbstractSmrShip::getAllBaseShips(Globals::getGameType($ThisPlayer->getGameID())); Sorter::sortByNumElement($Ships, 'Name'); foreach ($Ships as &$Ship) { ?> <option value="<?php echo $Ship['ShipTypeID']; ?> "><?php echo $Ship['Name']; ?> </option><?php } unset($Ship); break; case 'Weapons': $Weapons =& SmrWeapon::getAllWeapons(Globals::getGameType($ThisPlayer->getGameID())); Sorter::sortByNumMethod($Weapons, 'getName'); foreach ($Weapons as &$Weapon) { ?> <option value="<?php echo $Weapon->getWeaponTypeID(); ?> "><?php echo $Weapon->getName(); ?> </option><?php } unset($Weapon); break; case 'Locations': ?>
foreach ($races as &$race) { $file .= inify($race['Race Name']) . '=' . $race['Race ID'] . EOL; } unset($race); $file .= '[Goods] ; ID = Name, BasePrice' . EOL; $goods =& Globals::getGoods(); foreach ($goods as &$good) { $file .= $good['ID'] . '=' . inify($good['Name']) . ',' . $good['BasePrice'] . EOL; } unset($good); $file .= '[Weapons] ; Weapon = Race,Cost,Shield,Armour,Accuracy,Power level,EMP (%),Align Restriction,Attack Restriction ; Align: 0=none, 1=good, 2=evil, 3=newbie ; Attack: 0=none, 1=raid' . EOL; $weapons =& SmrWeapon::getAllWeapons(Globals::getGameType($gameID)); foreach ($weapons as &$weapon) { $file .= inify($weapon->getName()) . '=' . inify($weapon->getRaceName()) . ',' . $weapon->getCost() . ',' . $weapon->getShieldDamage() . ',' . $weapon->getArmourDamage() . ',' . $weapon->getBaseAccuracy() . ',' . $weapon->getPowerLevel() . ',' . $weapon->getEmpDamage() . ',' . $weapon->getBuyerRestriction() . ',' . ($weapon->isRaidWeapon() ? '1' : '0') . EOL; } unset($weapon); $file .= '[ShipEquipment] ; Name = Cost' . EOL; $hardwares =& Globals::getHardwareTypes(); foreach ($hardwares as &$hardware) { $file .= inify($hardware['Name']) . '=' . $hardware['Cost'] . EOL; } unset($hardware); $file .= '[Ships] ; Name = Race,Cost,TPH,Hardpoints,Power,+Equipment (Optional),+Restrictions(Optional) ; Restrictions:Align(Integer)' . EOL; $ships =& AbstractSmrShip::getAllBaseShips($gameID);
ob_start(); $time_start = getmicrotime(); // ******************************** // * // * I n c l u d e s h e r e // * // ******************************** // config file require_once "config.inc"; require_once ENGINE . "1.2/smr.inc"; // overwrite database class to use our db require_once get_file_loc('SmrMySqlDatabase.class.inc'); require_once get_file_loc('SmrSession.class.inc'); require_once get_file_loc('Globals.class.inc'); // do we have a session? if (SmrSession::$old_account_id == 0 || SmrSession::$game_id == 0 || Globals::getGameType(SmrSession::$game_id) != '1.2') { header('Location: ' . URL . '/loader.php'); exit; } //include function $includes = new SmrMySqlDatabase(); require_once get_file_loc('smr_account.inc'); require_once get_file_loc('smr_player.inc'); require_once get_file_loc('smr_ship.inc'); require_once get_file_loc('smr_sector.inc'); // We want these to be already defined as globals $player = null; $ship = null; $sector = null; $container = null; $var = null;
function doShipUpgrade(AbstractSmrPlayer &$player, $upgradeShipID) { $plotNearest = plotToNearest($player, AbstractSmrShip::getBaseShip(Globals::getGameType($player->getGameID()), $upgradeShipID)); if ($plotNearest == true) { //We're already there! //TODO: We're going to want to UNO after upgrading return create_container('shop_ship_processing.php', '', array('ship_id' => $upgradeShipID)); } //Otherwise return the plot return $plotNearest; }
?> </td> </tr> <tr> <td align="right">Alliance Max Vets</td> <td> </td> <td align="left"><?php echo number_format(Globals::getAllianceMaxVets($StatsGameID)); ?> </td> </tr> <tr> <td align="right">Game Type</td> <td> </td> <td align="left"><?php echo Globals::getGameType($StatsGameID); ?> </td> </tr> <tr> <td align="right">Game Speed</td> <td> </td> <td align="left"><?php echo Globals::getGameSpeed($StatsGameID); ?> </td> </tr> <tr> <td align="right">Credits Needed</td> <td> </td> <td align="left"><?php