Ejemplo n.º 1
0
$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);
}
Ejemplo n.º 2
0
<?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 {
Ejemplo n.º 3
0
        case 'Technology':
            $Hardwares =& Globals::getHardwareTypes();
            foreach ($Hardwares as &$Hardware) {
                ?>
<option value="<?php 
                echo $Hardware['ID'];
                ?>
"><?php 
                echo $Hardware['Name'];
                ?>
</option><?php 
            }
            unset($Hardware);
            break;
        case 'Ships':
            $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()));
Ejemplo n.º 4
0
$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);
foreach ($ships as &$ship) {
    $file .= inify($ship['Name']) . '=' . Globals::getRaceName($ship['RaceID']) . ',' . $ship['Cost'] . ',' . $ship['Speed'] . ',' . $ship['Hardpoint'] . ',' . $ship['MaxPower'];
    if ($ship['MaxHardware'] > 0) {
        $shipEquip = ',ShipEquipment=';
        foreach ($ship['MaxHardware'] as $hardwareID => $maxHardware) {
            $shipEquip .= $hardwares[$hardwareID]['Name'] . '=' . $maxHardware . ';';
        }
        $file .= substr($shipEquip, 0, -1);
        $file .= ',Restrictions=' . $ship['AlignRestriction'];
    }
    $file .= EOL;
}
unset($ship);
$file .= '[Locations]
; Name = +Sells' . EOL;
Ejemplo n.º 5
0
<?php

$template->assign('PageTopic', 'Edit Dummys');
require_once get_file_loc('DummyPlayer.class.inc');
require_once get_file_loc('DummyShip.class.inc');
require_once get_file_loc('SmrWeapon.class.inc');
//TODO add game type id
$template->assign('CombatSimLink', SmrSession::getNewHREF(create_container('skeleton.php', 'combat_simulator.php')));
$template->assignByRef('BaseShips', AbstractSmrShip::getAllBaseShips(0));
$template->assignByRef('Weapons', SmrWeapon::getAllWeapons(0));
$template->assign('EditDummysLink', SmrSession::getNewHREF(create_container('skeleton.php', 'edit_dummys.php')));
$dummyPlayer =& DummyPlayer::getCachedDummyPlayer($_REQUEST['dummy_name']);
$dummyShip =& $dummyPlayer->getShip();
if (isset($_REQUEST['save_dummy'])) {
    $dummyPlayer->setPlayerName($_REQUEST['dummy_name']);
    $dummyPlayer->setExperience($_REQUEST['level']);
    $dummyPlayer->setShipTypeID($_REQUEST['ship_id']);
    $dummyShip->regenerate($dummyPlayer);
    if (isset($_REQUEST['weapons']) && is_array($_REQUEST['weapons'])) {
        $dummyShip->removeAllWeapons();
        foreach ($_REQUEST['weapons'] as $weaponTypeID) {
            if ($weaponTypeID != 0) {
                $dummyShip->addWeapon($weaponTypeID);
            }
        }
    }
    $dummyPlayer->cacheDummyPlayer();
}
$template->assignByRef('DummyPlayer', $dummyPlayer);
$template->assignByRef('DummyShip', $dummyShip);
$template->assignByRef('ShipWeapons', $dummyShip->getWeapons());
Ejemplo n.º 6
0
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;
}
Ejemplo n.º 7
0
                $location->removeShipSold($shipTypeID);
            }
        }
        if (isset($_REQUEST['remove_weapons']) && is_array($_REQUEST['remove_weapons'])) {
            foreach ($_REQUEST['remove_weapons'] as $weaponTypeID) {
                $location->removeWeaponSold($weaponTypeID);
            }
        }
        if (isset($_REQUEST['remove_hardware']) && is_array($_REQUEST['remove_hardware'])) {
            foreach ($_REQUEST['remove_hardware'] as $hardwareTypeID) {
                $location->removeHardwareSold($hardwareTypeID);
            }
        }
        $location->setFed(isset($_REQUEST['fed']));
        $location->setBar(isset($_REQUEST['bar']));
        $location->setBank(isset($_REQUEST['bank']));
        $location->setHQ(isset($_REQUEST['hq']));
        $location->setUG(isset($_REQUEST['ug']));
    }
    $template->assignByRef('Location', $location);
    $template->assignByRef('Ships', AbstractSmrShip::getAllBaseShips($var['game_type_id']));
    $template->assignByRef('Weapons', SmrWeapon::getAllWeapons($var['game_type_id']));
    $db->query('SELECT * FROM hardware_type');
    $hardware = array();
    while ($db->nextRecord()) {
        $hardware[$db->getField('hardware_type_id')] = array('ID' => $db->getField('hardware_type_id'), 'Name' => $db->getField('hardware_name'));
    }
    $template->assignByRef('AllHardware', $hardware);
} else {
    $template->assignByRef('Locations', SmrLocation::getAllLocations());
}