Compare commits
101 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e837bb68fb | ||
|
|
e2adc7bdc4 | ||
|
|
22716517c5 | ||
|
|
8b82965c12 | ||
|
|
65cf975a35 | ||
|
|
1c78fea48f | ||
|
|
08f49c8339 | ||
|
|
bed81d26b2 | ||
|
|
38b13fca27 | ||
|
|
0869230b13 | ||
|
|
80d4b6b431 | ||
|
|
fb7e9136d4 | ||
|
|
059ff367ff | ||
|
|
d322e062ad | ||
|
|
f807f4222f | ||
|
|
1d4b046723 | ||
|
|
b9fc114e02 | ||
|
|
50047411c3 | ||
|
|
610ded2f83 | ||
|
|
2a644e787a | ||
|
|
90b339e5c3 | ||
|
|
a213ad12d0 | ||
|
|
a4b8b942a1 | ||
|
|
df7ef0fbdb | ||
|
|
f42dc481df | ||
|
|
623be748c0 | ||
|
|
35c84ee0f0 | ||
|
|
4d84f271be | ||
|
|
5458c548fb | ||
|
|
a9be057fe8 | ||
|
|
564c228d41 | ||
|
|
3f6875abb6 | ||
|
|
a2aa829b45 | ||
|
|
08b6ec9e31 | ||
|
|
ee99d33275 | ||
|
|
7b9e8dbc7d | ||
|
|
44f45e7e93 | ||
|
|
a49f7ec594 | ||
|
|
9ee12e4167 | ||
|
|
33ad7d909a | ||
|
|
e5e29dc6cb | ||
|
|
34dd40bcbf | ||
|
|
0e8e9f5cbc | ||
|
|
d39cbb3ef5 | ||
|
|
5470b241f6 | ||
|
|
6507c22355 | ||
|
|
96c2f4b3b6 | ||
|
|
b0c521246e | ||
|
|
5c0616ad47 | ||
|
|
523f37ccc1 | ||
|
|
5e2768bbf6 | ||
|
|
61b3e7d47d | ||
|
|
ed6fc32d76 | ||
|
|
4c74675edd | ||
|
|
d43ee25e71 | ||
|
|
46f00e0bc7 | ||
|
|
d3cea71e50 | ||
|
|
0516a6f54d | ||
|
|
eb8373f8b4 | ||
|
|
202bbbd357 | ||
|
|
b9e404c4da | ||
|
|
e16ce83c03 | ||
|
|
83c266d083 | ||
|
|
349b8f436c | ||
|
|
e9a0a01e14 | ||
|
|
457b8920f2 | ||
|
|
31b63e9a87 | ||
|
|
8dc3725b47 | ||
|
|
e2096ba9f4 | ||
|
|
231fcbb3bc | ||
|
|
75c22de166 | ||
|
|
d196127392 | ||
|
|
fb4dc906aa | ||
|
|
9937ba8039 | ||
|
|
d92722f1c2 | ||
|
|
69096d7816 | ||
|
|
2846827959 | ||
|
|
67bd56e692 | ||
|
|
95f5e8e5ae | ||
|
|
eb52a7548c | ||
|
|
b479b61926 | ||
|
|
726a08b05b | ||
|
|
fc2f76c31c | ||
|
|
839e1a5cbd | ||
|
|
12beeffae0 | ||
|
|
83ad7d9f6c | ||
|
|
6e65d67f14 | ||
|
|
a127e2f5a5 | ||
|
|
9154b7f38c | ||
|
|
c2d8cad249 | ||
|
|
e9ffe5baec | ||
|
|
fffa325e83 | ||
|
|
ed14ed2bb7 | ||
|
|
7c9e020b88 | ||
|
|
d711d1519b | ||
|
|
3361f7e435 | ||
|
|
3a79f99f77 | ||
|
|
ff25b55c1f | ||
|
|
ae6f6b0da1 | ||
|
|
6dc714371d | ||
|
|
5762b133e5 |
@@ -1,3 +0,0 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32">
|
||||
<path d="M10.063 26l1.8-6h8.274l1.8 6h3.551l-6-20h-6.976l-6 20h3.551zM14.863 10h2.274l1.8 6h-5.874l1.8-6z"></path>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 265 B |
@@ -1,6 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by IcoMoon.io -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32">
|
||||
<path d="M18 23l3 3 10-10-10-10-3 3 7 7z"></path>
|
||||
<path d="M14 9l-3-3-10 10 10 10 3-3-7-7z"></path>
|
||||
|
||||
|
Before Width: | Height: | Size: 419 B After Width: | Height: | Size: 248 B |
3
app/icons/equalizer.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
|
||||
<path d="M448 128v-16c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-192v128h192v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h576v-128h-576zM256 256v-128h128v128h-128zM832 432c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-576v128h576v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h192v-128h-192v-16zM640 576v-128h128v128h-128zM448 752c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-192v128h192v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h576v-128h-576v-16zM256 896v-128h128v128h-128z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 646 B |
@@ -1,3 +0,0 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="724" height="1024" viewBox="0 0 1024 1024">
|
||||
<path d="M0 1024c128-384 463-1024 1024-1024-263 211-384 704-576 704s-192 0-192 0l-192 320h-64z"></path>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 218 B |
3
app/icons/no-power.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
|
||||
<path d="M437.020 74.98c-48.353-48.351-112.64-74.98-181.020-74.98s-132.667 26.629-181.020 74.98c-48.351 48.353-74.98 112.64-74.98 181.020s26.629 132.667 74.98 181.020c48.353 48.351 112.64 74.98 181.020 74.98s132.667-26.629 181.020-74.98c48.351-48.353 74.98-112.64 74.98-181.020s-26.629-132.667-74.98-181.020zM448 256c0 41.407-13.177 79.794-35.556 111.19l-267.633-267.634c31.396-22.379 69.782-35.556 111.189-35.556 105.869 0 192 86.131 192 192zM64 256c0-41.407 13.177-79.793 35.556-111.189l267.635 267.634c-31.397 22.378-69.784 35.555-111.191 35.555-105.869 0-192-86.131-192-192z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 697 B |
3
app/icons/power.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
|
||||
<path d="M192 0l-192 256h192l-128 256 448-320h-256l192-192z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 178 B |
@@ -18,7 +18,6 @@
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="180x180" href="/images/logo/apple-touch-icon-precomposed.png">
|
||||
<link rel="apple-touch-icon" href="/images/logo/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/images/logo/apple-touch-icon-180x180.png">
|
||||
<!-- iPhone, iPod Touch, portrait -->
|
||||
<link href="/images/splash/320x460.png" media="(device-width: 320px) and (device-height: 480px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)" rel="apple-touch-startup-image">
|
||||
<!-- iPhone, iPod Touch, landscape -->
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
angular.module('app', ['ui.router', 'ct.ui.router.extras.sticky', 'ui.sortable', 'shipyard', 'ngLodash', 'app.templates', 'pascalprecht.translate'])
|
||||
.run(['$rootScope', '$location', '$window', '$document', '$state', '$translate', 'localeFormat', 'Persist', 'Discounts', 'Languages',
|
||||
function($rootScope, $location, $window, $doc, $state, $translate, localeFormat, Persist, Discounts, Languages) {
|
||||
.run(['$rootScope', '$location', '$window', '$document', '$state', '$translate', 'localeFormat', 'Persist', 'Discounts', 'Languages', 'SizeMap',
|
||||
function($rootScope, $location, $window, $doc, $state, $translate, localeFormat, Persist, Discounts, Languages, SizeMap) {
|
||||
// App is running as a standalone web app on tablet/mobile
|
||||
var isStandAlone;
|
||||
// This was causing issues on Windows phones ($window.external was causing Angular js to throw an exception). Backup is to try this and set isStandAlone to false if this fails.
|
||||
@@ -42,9 +42,8 @@ function($rootScope, $location, $window, $doc, $state, $translate, localeFormat,
|
||||
// Global Reference variables
|
||||
$rootScope.insurance = { opts: [{ name: 'standard', pct: 0.05 }, { name: 'alpha', pct: 0.025 }, { name: 'beta', pct: 0.0375 }] };
|
||||
$rootScope.discounts = { opts: Discounts };
|
||||
$rootScope.STATUS = ['', 'disabled', 'off', 'on'];
|
||||
$rootScope.STATUS_CLASS = ['', 'disabled', 'warning', 'secondary-disabled'];
|
||||
$rootScope.sizeRatio = Persist.getSizeRatio();
|
||||
$rootScope.SZM = SizeMap;
|
||||
$rootScope.title = 'Coriolis';
|
||||
|
||||
$rootScope.changeLanguage = function() {
|
||||
|
||||
@@ -20,6 +20,11 @@ angular.module('app').controller('ComparisonController', ['lodash', '$rootScope'
|
||||
$scope.addBuild = function(id, name, code) {
|
||||
var data = Ships[id]; // Get ship properties
|
||||
code = code ? code : Persist.builds[id][name]; // Retrieve build code if not passed
|
||||
|
||||
if (!code) { // No build found
|
||||
return;
|
||||
}
|
||||
|
||||
var b = new Ship(id, data.properties, data.slots); // Create a new Ship instance
|
||||
Serializer.toShip(b, code); // Populate components from code
|
||||
// Extend ship instance and add properties below
|
||||
|
||||
@@ -145,11 +145,11 @@ angular.module('app').controller('ImportController', ['lodash', '$rootScope', '$
|
||||
|
||||
group = _.find(GroupMap, equalsIgnoreCase, name);
|
||||
|
||||
var hpid = Components.findHardpointId(group, cl, rating, group ? null : name, mount, missile);
|
||||
var hp = Components.findHardpoint(group, cl, rating, group ? null : name, mount, missile);
|
||||
|
||||
if (!hpid) { throw 'Unknown component: "' + line + '"'; }
|
||||
if (!hp) { throw 'Unknown component: "' + line + '"'; }
|
||||
|
||||
ship.use(slot, hpid, Components.hardpoints(hpid), true);
|
||||
ship.use(slot, hp.id, hp, true);
|
||||
|
||||
} else if (typeSize == 'BH') {
|
||||
var bhId = bhMap[name.toLowerCase()];
|
||||
@@ -177,11 +177,11 @@ angular.module('app').controller('ImportController', ['lodash', '$rootScope', '$
|
||||
|
||||
group = _.find(GroupMap, equalsIgnoreCase, name);
|
||||
|
||||
var intId = Components.findInternalId(group, cl, rating, group ? null : name);
|
||||
var intComp = Components.findInternal(group, cl, rating, group ? null : name);
|
||||
|
||||
if (!intId) { throw 'Unknown component: "' + line + '"'; }
|
||||
if (!intComp) { throw 'Unknown component: "' + line + '"'; }
|
||||
|
||||
ship.use(slot, intId, Components.internal(intId));
|
||||
ship.use(slot, intComp.id, intComp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
}
|
||||
|
||||
$scope.buildName = $p.bn;
|
||||
$scope.ships = Ships;
|
||||
$rootScope.title = ship.name + ($scope.buildName ? ' - ' + $scope.buildName : '');
|
||||
$scope.ship = ship;
|
||||
$scope.pp = ship.common[0]; // Power Plant
|
||||
@@ -27,7 +28,7 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
$scope.costList = ship.costList;
|
||||
$scope.powerList = ship.powerList;
|
||||
$scope.priorityBands = ship.priorityBands;
|
||||
$scope.availCS = Components.forShip(ship.id);
|
||||
$scope.availCS = ship.getAvailableComponents();
|
||||
$scope.selectedSlot = null;
|
||||
$scope.savedCode = Persist.getBuild(ship.id, $scope.buildName);
|
||||
$scope.canSave = Persist.isEnabled();
|
||||
@@ -39,6 +40,8 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
$scope.retroPredicate = 'netCost';
|
||||
$scope.costDesc = true;
|
||||
$scope.costPredicate = 'c.cost';
|
||||
$scope.ammoDesc = false;
|
||||
$scope.ammoPredicate = 'ammoName';
|
||||
$scope.costTab = Persist.getCostTab() || 'costs';
|
||||
|
||||
if ($scope.savedCode) {
|
||||
@@ -59,7 +62,7 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
yMax: ship.unladenRange,
|
||||
yMin: 0,
|
||||
func: function(cargo) { // X Axis is Cargo
|
||||
return ship.jumpRangeWithMass(ship.unladenMass + $scope.fuel + cargo, $scope.fuel);
|
||||
return ship.getJumpRangeForMass(ship.unladenMass + $scope.fuel + cargo, $scope.fuel);
|
||||
}
|
||||
};
|
||||
$scope.jrChart = {
|
||||
@@ -100,11 +103,12 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
$scope.speedSeries = {
|
||||
xMin: 0,
|
||||
xMax: ship.cargoCapacity,
|
||||
yMax: 500,
|
||||
yMax: calcSpeed(ship.unladenMass, ship.speed, ship.boost, $scope.th.c, ship.pipSpeed).boost,
|
||||
yMin: 0,
|
||||
series: ['speed', 'boost'],
|
||||
series: ['boost', '4 Pips', '2 Pips', '0 Pips'],
|
||||
colors: ['#0088d2', '#ff8c0d', '#D26D00', '#c06400'],
|
||||
func: function(cargo) { // X Axis is Cargo
|
||||
return calcSpeed(ship.unladenMass + $scope.fuel + cargo, ship.speed, ship.boost, $scope.th.c);
|
||||
return calcSpeed(ship.unladenMass + $scope.fuel + cargo, ship.speed, ship.boost, $scope.th.c, ship.pipSpeed);
|
||||
}
|
||||
};
|
||||
$scope.speedChart = {
|
||||
@@ -183,25 +187,9 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Strip ship to A-class and biggest A-class shield generator with military bulkheads
|
||||
*/
|
||||
$scope.aRatedBuild = function() {
|
||||
for (var i = 0, l = ship.common.length - 1; i < l; i++) { // All except Fuel Tank
|
||||
var id = ship.common[i].maxClass + 'A';
|
||||
ship.use(ship.common[i], id, Components.common(i, id));
|
||||
}
|
||||
ship.hardpoints.forEach(function(slot) { ship.use(slot, null, null); });
|
||||
ship.internal.forEach(function(slot) { ship.use(slot, null, null); });
|
||||
ship.internal.some(function(slot) {
|
||||
if (typeof slot.eligible === 'undefined') { // Assuming largest slot can hold an eligible shield
|
||||
id = Components.findInternalId('Shield Generator', slot.maxClass, 'A');
|
||||
ship.use(slot, id, Components.internal(id));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
ship.useBulkhead(2);
|
||||
updateState(Serializer.fromShip(ship));
|
||||
$scope.resetBuild = function() {
|
||||
ship.buildWith(data.defaults); // Populate with default components
|
||||
updateState(null);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -209,21 +197,148 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
* without power management.
|
||||
*/
|
||||
$scope.optimizeMassBuild = function() {
|
||||
var common = ship.common;
|
||||
ship.hardpoints.forEach(function(slot) { ship.use(slot, null, null); });
|
||||
ship.internal.forEach(function(slot) { ship.use(slot, null, null); });
|
||||
ship.useBulkhead(0);
|
||||
ship.use(common[2], common[2].maxClass + 'A', Components.common(2, common[2].maxClass + 'A')); // FSD
|
||||
ship.use(common[3], common[3].maxClass + 'D', Components.common(3, common[3].maxClass + 'D')); // Life Support
|
||||
ship.use(common[5], common[5].maxClass + 'D', Components.common(5, common[5].maxClass + 'D')); // Sensors
|
||||
updateState(Serializer.fromShip(ship.optimizeMass()));
|
||||
};
|
||||
|
||||
var pd = $scope.availCS.lightestPowerDist(ship.boostEnergy); // Find lightest Power Distributor that can still boost
|
||||
ship.use(ship.common[4], pd, Components.common(4, pd));
|
||||
var th = $scope.availCS.lightestThruster(ship.ladenMass); // Find lightest Thruster that still works for the ship at max mass
|
||||
ship.use(ship.common[1], th, Components.common(1, th));
|
||||
var pp = $scope.availCS.lightestPowerPlant(ship.powerRetracted); // Find lightest Power plant that can power the ship
|
||||
ship.use(ship.common[0], pp, Components.common(0, pp));
|
||||
/**
|
||||
* Optimize for the lower mass build that can still boost and power the ship
|
||||
* without power management.
|
||||
*/
|
||||
$scope.optimizeCommon = function() {
|
||||
updateState(Serializer.fromShip(ship.useLightestCommon()));
|
||||
};
|
||||
|
||||
$scope.useCommon = function(rating) {
|
||||
updateState(Serializer.fromShip(ship.useCommon(rating)));
|
||||
};
|
||||
|
||||
$scope.useHardpoint = function(group, mount, clobber, missile) {
|
||||
updateState(Serializer.fromShip(ship.useWeapon(group, mount, clobber, missile)));
|
||||
};
|
||||
|
||||
$scope.useUtility = function(group, rating, clobber) {
|
||||
updateState(Serializer.fromShip(ship.useUtility(group, rating, clobber)));
|
||||
};
|
||||
|
||||
$scope.emptyInternal = function() {
|
||||
updateState(Serializer.fromShip(ship.emptyInternal()));
|
||||
};
|
||||
|
||||
$scope.emptyHardpoints = function() {
|
||||
updateState(Serializer.fromShip(ship.emptyWeapons()));
|
||||
};
|
||||
|
||||
$scope.emptyUtility = function() {
|
||||
updateState(Serializer.fromShip(ship.emptyUtility()));
|
||||
};
|
||||
|
||||
$scope.fillWithCargo = function() {
|
||||
ship.internal.forEach(function(slot) {
|
||||
var id = Components.findInternalId('cr', slot.maxClass, 'E');
|
||||
if (!slot.c) {
|
||||
ship.use(slot, id, Components.internal(id));
|
||||
}
|
||||
});
|
||||
updateState(Serializer.fromShip(ship));
|
||||
};
|
||||
|
||||
$scope.fillWithCells = function() {
|
||||
var chargeCap = 0; // Capacity of single activation
|
||||
ship.internal.forEach(function(slot) {
|
||||
var id = Components.findInternalId('scb', slot.maxClass, 'A');
|
||||
if (!slot.c && (!slot.eligible || slot.eligible.scb)) { // Check eligibility because of Orca, don't overwrite generator
|
||||
ship.use(slot, id, Components.internal(id));
|
||||
chargeCap += Components.internal(id).recharge;
|
||||
ship.setSlotEnabled(slot, chargeCap <= ship.shieldStrength); // Don't waste cell capacity on overcharge
|
||||
}
|
||||
});
|
||||
updateState(Serializer.fromShip(ship));
|
||||
};
|
||||
|
||||
$scope.fillWithArmor = function() {
|
||||
ship.internal.forEach(function(slot) {
|
||||
var hr = Components.findInternal('hr', Math.min(slot.maxClass, 5), 'D'); // Hull reinforcements top out at 5D
|
||||
if (!slot.c && hr) {
|
||||
ship.use(slot, hr.id, hr);
|
||||
}
|
||||
});
|
||||
updateState(Serializer.fromShip(ship));
|
||||
};
|
||||
|
||||
/**
|
||||
* Fill all internal slots with Cargo Racks, and optmize internal components.
|
||||
* Hardpoints are not altered.
|
||||
*/
|
||||
$scope.optimizeCargo = function() {
|
||||
ship.internal.forEach(function(slot) {
|
||||
var id = Components.findInternalId('cr', slot.maxClass, 'E');
|
||||
ship.use(slot, id, Components.internal(id));
|
||||
});
|
||||
ship.useLightestCommon();
|
||||
updateState(Serializer.fromShip(ship));
|
||||
};
|
||||
|
||||
/**
|
||||
* Optimize common and internal components, hardpoints for exploration
|
||||
*/
|
||||
$scope.optimizeExplorer = function() {
|
||||
var intLength = ship.internal.length,
|
||||
heatSinkCount = 2, // Fit 2 heat sinks if possible
|
||||
afmUnitCount = 2, // Fit 2 AFM Units if possible
|
||||
sgSlot,
|
||||
fuelScoopSlot,
|
||||
sgId = $scope.availCS.lightestShieldGenerator(ship.hullMass),
|
||||
sg = Components.internal(sgId);
|
||||
|
||||
ship.setSlotEnabled(ship.cargoHatch, false)
|
||||
.use(ship.internal[--intLength], '2f', Components.internal('2f')) // Advanced Discovery Scanner
|
||||
.use(ship.internal[--intLength], '2i', Components.internal('2i')); // Detailed Surface Scanner
|
||||
|
||||
for (var i = 0; i < intLength; i++) {
|
||||
var slot = ship.internal[i];
|
||||
var nextSlot = (i + 1) < intLength ? ship.internal[i + 1] : null;
|
||||
if (!fuelScoopSlot && (!slot.eligible || slot.eligible.fs)) { // Fit best possible Fuel Scoop
|
||||
var fuelScoopId = Components.findInternalId('fs', slot.maxClass, 'A');
|
||||
fuelScoopSlot = slot;
|
||||
ship.use(fuelScoopSlot, fuelScoopId, Components.internal(fuelScoopId));
|
||||
ship.setSlotEnabled(fuelScoopSlot, true);
|
||||
|
||||
// Mount a Shield generator if possible AND an AFM Unit has been mounted already (Guarantees at least 1 AFM Unit)
|
||||
} else if (!sgSlot && afmUnitCount < 2 && sg.class <= slot.maxClass && (!slot.eligible || slot.eligible.sg) && (!nextSlot || nextSlot.maxClass < sg.class)) {
|
||||
sgSlot = slot;
|
||||
ship.use(sgSlot, sgId, sg);
|
||||
ship.setSlotEnabled(sgSlot, true);
|
||||
} else if (afmUnitCount > 0 && (!slot.eligible || slot.eligible.am)) {
|
||||
afmUnitCount--;
|
||||
var am = Components.findInternal('am', slot.maxClass, afmUnitCount ? 'B' : 'A');
|
||||
ship.use(slot, am.id, am);
|
||||
ship.setSlotEnabled(slot, false); // Disabled power for AFM Unit
|
||||
|
||||
} else {
|
||||
ship.use(slot, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
ship.hardpoints.forEach(function(s) {
|
||||
if (s.maxClass == 0 && heatSinkCount) { // Mount up to 2 heatsinks
|
||||
ship.use(s, '02', Components.hardpoints('02'));
|
||||
ship.setSlotEnabled(s, heatSinkCount == 2); // Only enable a single Heatsink
|
||||
heatSinkCount--;
|
||||
} else {
|
||||
ship.use(s, null, null);
|
||||
}
|
||||
});
|
||||
|
||||
if (sgSlot) {
|
||||
// The SG and Fuel scoop to not need to be powered at the same time
|
||||
if (sgSlot.c.power > fuelScoopSlot.c.power) { // The Shield generator uses the most power
|
||||
ship.setSlotEnabled(fuelScoopSlot, false);
|
||||
} else { // The Fuel scoop uses the most power
|
||||
ship.setSlotEnabled(sgSlot, false);
|
||||
}
|
||||
}
|
||||
|
||||
ship.useLightestCommon({ pd: '1D', ppRating: 'A' });
|
||||
updateState(Serializer.fromShip(ship));
|
||||
};
|
||||
|
||||
@@ -289,6 +404,15 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
ship.setCostIncluded(item, !item.incCost);
|
||||
};
|
||||
|
||||
/**
|
||||
* Toggle cost of the selected component for retrofitting comparison
|
||||
* @param {object} item The component being toggled
|
||||
*/
|
||||
$scope.toggleRetrofitCost = function(item) {
|
||||
retrofitShip.setCostIncluded(item, !item.incCost);
|
||||
updateRetrofitCosts();
|
||||
};
|
||||
|
||||
/**
|
||||
* [sortCost description]
|
||||
* @param {[type]} key [description]
|
||||
@@ -305,8 +429,13 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
};
|
||||
|
||||
$scope.sortRetrofit = function(key) {
|
||||
$scope.retroDesc = $scope.retroPredicate == key ? !$scope.retroDesc : $scope.retroDesc;
|
||||
$scope.retroPredicate = key;
|
||||
$scope.retroDesc = $scope.retroPredicate == key ? !$scope.retroDesc : $scope.retroDesc;
|
||||
$scope.retroPredicate = key;
|
||||
};
|
||||
|
||||
$scope.sortAmmo = function(key) {
|
||||
$scope.ammoDesc = $scope.ammoPredicate == key ? !$scope.ammoDesc : $scope.ammoDesc;
|
||||
$scope.ammoPredicate = key;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -352,6 +481,19 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
updateRetrofitCosts();
|
||||
};
|
||||
|
||||
$scope.updateCostTab = function(tab) {
|
||||
Persist.setCostTab(tab);
|
||||
$scope.costTab = tab;
|
||||
};
|
||||
|
||||
$scope.ppWarning = function(pp) {
|
||||
return pp.pGen < ship.powerRetracted;
|
||||
};
|
||||
|
||||
$scope.pdWarning = function(pd) {
|
||||
return pd.enginecapacity < ship.boostEnergy;
|
||||
};
|
||||
|
||||
// Utilify functions
|
||||
|
||||
function updateState(code) {
|
||||
@@ -360,6 +502,7 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
$scope.speedSeries.xMax = $scope.trSeries.xMax = $scope.jrSeries.xMax = ship.cargoCapacity;
|
||||
$scope.jrSeries.yMax = ship.unladenRange;
|
||||
$scope.trSeries.yMax = ship.unladenTotalRange;
|
||||
$scope.speedSeries.yMax = calcSpeed(ship.unladenMass, ship.speed, ship.boost, $scope.th.c, ship.pipSpeed).boost;
|
||||
updateRetrofitCosts();
|
||||
win.triggerHandler('pwrchange');
|
||||
}
|
||||
@@ -374,10 +517,13 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
buyName: ship.bulkheads.c.name,
|
||||
sellClassRating: retrofitShip.bulkheads.c.class + retrofitShip.bulkheads.c.rating,
|
||||
sellName: retrofitShip.bulkheads.c.name,
|
||||
netCost: ship.bulkheads.discountedCost - retrofitShip.bulkheads.discountedCost
|
||||
netCost: ship.bulkheads.discountedCost - retrofitShip.bulkheads.discountedCost,
|
||||
retroItem: retrofitShip.bulkheads
|
||||
};
|
||||
costs.push(item);
|
||||
total += item.netCost;
|
||||
if (retrofitShip.bulkheads.incCost) {
|
||||
total += item.netCost;
|
||||
}
|
||||
}
|
||||
|
||||
for (var g in { common: 1, internal: 1, hardpoints: 1 }) {
|
||||
@@ -385,7 +531,7 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
var slotGroup = ship[g];
|
||||
for (i = 0, l = slotGroup.length; i < l; i++) {
|
||||
if (slotGroup[i].id != retroSlotGroup[i].id) {
|
||||
item = { netCost: 0 };
|
||||
item = { netCost: 0, retroItem: retroSlotGroup[i] };
|
||||
if (slotGroup[i].id) {
|
||||
item.buyName = slotGroup[i].c.name || slotGroup[i].c.grp;
|
||||
item.buyClassRating = slotGroup[i].c.class + slotGroup[i].c.rating;
|
||||
@@ -397,25 +543,56 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
item.netCost -= retroSlotGroup[i].discountedCost;
|
||||
}
|
||||
costs.push(item);
|
||||
total += item.netCost;
|
||||
if (retroSlotGroup[i].incCost) {
|
||||
total += item.netCost;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$scope.retrofitTotal = total;
|
||||
updateAmmoCosts();
|
||||
}
|
||||
|
||||
$scope.updateCostTab = function(tab) {
|
||||
Persist.setCostTab(tab);
|
||||
$scope.costTab = tab;
|
||||
};
|
||||
function updateAmmoCosts() {
|
||||
var costs = $scope.ammoList = [];
|
||||
var total = 0, i, l, item;
|
||||
|
||||
$scope.ppWarning = function(pp) {
|
||||
return pp.pGen < ship.powerRetracted;
|
||||
};
|
||||
|
||||
$scope.pdWarning = function(pd) {
|
||||
return pd.enginecapacity < ship.boostEnergy;
|
||||
};
|
||||
for (var g in { common: 1, internal: 1, hardpoints: 1 }) {
|
||||
var slotGroup = ship[g];
|
||||
for (i = 0, l = slotGroup.length; i < l; i++) {
|
||||
var q = 0;
|
||||
if (slotGroup[i].id) {
|
||||
//special cases needed for fuel, SCB and AFMU since they don't use standard ammo/clip
|
||||
if (slotGroup[i].c.grp == 'ft') {
|
||||
q = slotGroup[i].c.capacity;
|
||||
slotGroup[i].c.ammocost = 50;
|
||||
}
|
||||
if (slotGroup[i].c.grp == 'scb') {
|
||||
q = slotGroup[i].c.cells;
|
||||
}
|
||||
if (slotGroup[i].c.grp == 'am') {
|
||||
q = slotGroup[i].c.ammo;
|
||||
}
|
||||
//calculate ammo costs only if a cost is specified
|
||||
if (slotGroup[i].c.ammocost > 0) {
|
||||
if (q == 0) {
|
||||
q = slotGroup[i].c.clip + slotGroup[i].c.ammo;
|
||||
}
|
||||
item = {
|
||||
ammoClassRating: slotGroup[i].c.class + slotGroup[i].c.rating,
|
||||
ammoName: slotGroup[i].c.name || slotGroup[i].c.grp,
|
||||
ammoMax: q,
|
||||
ammoUnitCost: slotGroup[i].c.ammocost,
|
||||
ammoTotalCost: q * slotGroup[i].c.ammocost
|
||||
};
|
||||
costs.push(item);
|
||||
total += item.ammoTotalCost;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$scope.ammoTotal = total;
|
||||
}
|
||||
|
||||
// Hide any open menu/slot/etc if the background is clicked
|
||||
$scope.$on('close', function() {
|
||||
|
||||
@@ -1,4 +1,59 @@
|
||||
angular.module('app').controller('ShipyardController', ['$rootScope', 'ShipsDB', function($rootScope, ships) {
|
||||
$rootScope.title = 'Coriolis';
|
||||
$rootScope.ships = ships;
|
||||
angular.module('app').controller('ShipyardController', ['$rootScope', '$scope', 'ShipsDB', 'Ship', 'Components', function($rootScope, $scope, ShipsDB, Ship, Components) {
|
||||
$rootScope.title = 'Coriolis - Shipyard';
|
||||
$scope.shipPredicate = 'properties.name';
|
||||
$scope.shipDesc = false;
|
||||
|
||||
function countHp(slot) {
|
||||
this.hp[slot.maxClass]++;
|
||||
this.hpCount++;
|
||||
}
|
||||
|
||||
function countInt(slot) {
|
||||
var crEligible = !slot.eligible || slot.eligible.cr;
|
||||
this.int[slot.maxClass - 1]++; // Subtract 1 since there is no Class 0 Internal compartment
|
||||
this.intCount++;
|
||||
this.maxCargo += crEligible ? Components.findInternal('cr', slot.maxClass, 'E').capacity : 0;
|
||||
}
|
||||
|
||||
function shipSummary(shipId, shipData) {
|
||||
var summary = angular.copy(shipData.properties);
|
||||
var ship = new Ship(shipId, shipData.properties, shipData.slots);
|
||||
summary.id = s;
|
||||
summary.hpCount = 0;
|
||||
summary.intCount = 0;
|
||||
summary.maxCargo = 0;
|
||||
summary.hp = [0, 0, 0, 0, 0]; // Utility, Small, Medium, Large, Huge
|
||||
summary.int = [0, 0, 0, 0, 0, 0, 0, 0]; // Sizes 1 - 8
|
||||
// Build Ship
|
||||
ship.buildWith(shipData.defaults); // Populate with stock/default components
|
||||
ship.hardpoints.forEach(countHp.bind(summary)); // Count Hardpoints by class
|
||||
ship.internal.forEach(countInt.bind(summary)); // Count Internal Compartments by class
|
||||
summary.retailCost = ship.totalCost; // Record Stock/Default/retail cost
|
||||
ship.optimizeMass({ pd: '1D' }); // Optimize Mass with 1D PD for maximum possible jump range
|
||||
summary.maxJumpRange = ship.unladenRange; // Record Jump Range
|
||||
ship.optimizeMass({ th: ship.common[1].maxClass + 'A' }); // Optmize mass with Max Thrusters
|
||||
summary.topSpeed = ship.topSpeed;
|
||||
summary.topBoost = ship.topBoost;
|
||||
|
||||
return summary;
|
||||
}
|
||||
|
||||
/* Initialization */
|
||||
|
||||
if (!$rootScope.shipsOverview) { // Only generate this once
|
||||
$rootScope.shipsOverview = [];
|
||||
for (var s in ShipsDB) {
|
||||
$scope.shipsOverview.push(shipSummary(s, ShipsDB[s]));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort ships
|
||||
* @param {object} key Sort predicate
|
||||
*/
|
||||
$scope.sortShips = function(key) {
|
||||
$scope.shipDesc = $scope.shipPredicate == key ? !$scope.shipDesc : $scope.shipDesc;
|
||||
$scope.shipPredicate = key;
|
||||
};
|
||||
|
||||
}]);
|
||||
|
||||
@@ -6,12 +6,14 @@ angular.module('app').directive('barChart', ['$window', '$translate', '$rootScop
|
||||
|
||||
function insertLinebreaks(d) {
|
||||
var el = d3.select(this);
|
||||
var words = d.split('\n');
|
||||
var lines = d.split('\n');
|
||||
el.text('').attr('y', -6);
|
||||
for (var i = 0; i < words.length; i++) {
|
||||
var tspan = el.append('tspan').text(words[i]);
|
||||
for (var i = 0; i < lines.length; i++) {
|
||||
var tspan = el.append('tspan').text(lines[i].length > 18 ? lines[i].substring(0, 15) + '...' : lines[i]);
|
||||
if (i > 0) {
|
||||
tspan.attr('x', -9).attr('dy', '1em');
|
||||
} else {
|
||||
tspan.attr('class', 'primary');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -65,7 +67,7 @@ angular.module('app').directive('barChart', ['$window', '$translate', '$rootScop
|
||||
var data = scope.data,
|
||||
width = element[0].offsetWidth,
|
||||
w = width - margin.left - margin.right,
|
||||
height = 45 + (30 * data.length * $rootScope.sizeRatio),
|
||||
height = 50 + (30 * data.length * $rootScope.sizeRatio),
|
||||
h = height - margin.top - margin.bottom,
|
||||
maxVal = d3.max(data, function(d) { return d3.max(properties, function(p) {return d[p]; }); });
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ angular.module('app').directive('componentSelect', ['$translate', function($tran
|
||||
var o = opts[i];
|
||||
var id = o.id || (o.class + o.rating); // Common components' ID is their class and rating
|
||||
|
||||
if (i > 0 && opts.length > 4 && o.class != prevClass && (o.rating != prevRating || o.mode)) {
|
||||
if (i > 0 && opts.length > 3 && o.class != prevClass && (o.rating != prevRating || o.mode) && o.grp != 'pa') {
|
||||
list.push('<br/>');
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ angular.module('app').directive('shipyardHeader', ['lodash', '$window', '$rootSc
|
||||
scope.ships = ships;
|
||||
scope.allBuilds = Persist.builds;
|
||||
scope.buildsList = Object.keys(scope.allBuilds).sort();
|
||||
scope.allComparisons = Persist.comparisons;
|
||||
scope.allComparisons = Object.keys(Persist.comparisons).sort();
|
||||
scope.bs = Persist.state;
|
||||
|
||||
var win = angular.element($window); // Angularized window object for event triggering
|
||||
@@ -57,6 +57,10 @@ angular.module('app').directive('shipyardHeader', ['lodash', '$window', '$rootSc
|
||||
});
|
||||
};
|
||||
|
||||
scope.cleanedBuildList = function(shipId) {
|
||||
return Object.keys(scope.allBuilds[shipId]);
|
||||
};
|
||||
|
||||
scope.openMenu = function(e, menu) {
|
||||
e.stopPropagation();
|
||||
if (menu == scope.openedMenu) {
|
||||
@@ -68,6 +72,11 @@ angular.module('app').directive('shipyardHeader', ['lodash', '$window', '$rootSc
|
||||
scope.openedMenu = null;
|
||||
return;
|
||||
}
|
||||
|
||||
if (menu == 'comp') {
|
||||
scope.allComparisons = Object.keys(Persist.comparisons).sort();
|
||||
}
|
||||
|
||||
scope.openedMenu = menu;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
angular.module('app').directive('lineChart', ['$window', '$translate', '$rootScope', function($window, $translate, $rootScope) {
|
||||
|
||||
var RENDER_POINTS = 20; // Only render 20 points on the graph
|
||||
|
||||
return {
|
||||
restrict: 'A',
|
||||
scope: {
|
||||
@@ -8,7 +11,7 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco
|
||||
link: function(scope, element) {
|
||||
var seriesConfig = scope.series,
|
||||
series = seriesConfig.series,
|
||||
color = d3.scale.ordinal().range([ '#ff8c0d', '#1fb0ff', '#a05d56', '#d0743c']),
|
||||
color = d3.scale.ordinal().range(scope.series.colors ? scope.series.colors : ['#ff8c0d']),
|
||||
config = scope.config,
|
||||
labels = config.labels,
|
||||
margin = { top: 15, right: 15, bottom: 35, left: 60 },
|
||||
@@ -39,20 +42,33 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco
|
||||
.attr('transform', 'rotate(-90)')
|
||||
.attr('y', -50)
|
||||
.attr('dy', '.1em')
|
||||
.style('text-anchor', 'middle')
|
||||
.text($translate.instant(labels.yAxis.title) + ' (' + $translate.instant(labels.yAxis.unit) + ')');
|
||||
.style('text-anchor', 'middle');
|
||||
|
||||
// Create X Axis SVG Elements
|
||||
var xLbl = vis.append('g').attr('class', 'x axis');
|
||||
var xTxt = xLbl.append('text')
|
||||
.attr('class', 'cap')
|
||||
.attr('y', 30)
|
||||
.attr('dy', '.1em')
|
||||
.style('text-anchor', 'middle')
|
||||
.text($translate.instant(labels.xAxis.title) + ' (' + $translate.instant(labels.xAxis.unit) + ')');
|
||||
.style('text-anchor', 'middle');
|
||||
|
||||
// xTxt.append('tspan').attr('class', 'metric');
|
||||
// yTxt.append('tspan').attr('class', 'metric');
|
||||
|
||||
// Create and Add tooltip
|
||||
var tipWidth = (Math.max(labels.yAxis.unit.length, labels.xAxis.unit.length) * 1.25) + 2.5;
|
||||
var tips = vis.append('g').style('display', 'none');
|
||||
var tipHeight = 2 + (1.25 * (series ? series.length : 0.75));
|
||||
var tips = vis.append('g').style('display', 'none').attr('class', 'tooltip');
|
||||
var markers = vis.append('g').style('display', 'none');
|
||||
|
||||
tips.append('rect')
|
||||
.attr('height', tipHeight + 'em')
|
||||
.attr('y', (-tipHeight / 2) + 'em')
|
||||
.attr('class', 'tip');
|
||||
|
||||
tips.append('text')
|
||||
.attr('class', 'label x')
|
||||
.attr('dy', (-tipHeight / 2) + 'em')
|
||||
.attr('y', '1.25em');
|
||||
|
||||
var background = vis.append('rect') // Background to capture hover/drag
|
||||
.attr('fill-opacity', 0)
|
||||
@@ -84,7 +100,7 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco
|
||||
yMin = seriesConfig.yMin,
|
||||
w = width - margin.left - margin.right,
|
||||
h = height - margin.top - margin.bottom,
|
||||
s, val, yVal, delta;
|
||||
c, s, val, yVal, delta;
|
||||
|
||||
data.length = 0; // Reset Data array
|
||||
|
||||
@@ -105,12 +121,14 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco
|
||||
data[s].push( [ xMin, yVal[ series[s] ] ], [ 1, yVal[ series[s] ] ]);
|
||||
}
|
||||
} else {
|
||||
delta = (xMax - xMin) / 30; // Only render 30 points on the graph
|
||||
for (val = xMin; val <= xMax; val += delta) {
|
||||
delta = (xMax - xMin) / RENDER_POINTS;
|
||||
val = 0;
|
||||
for (c = 0; c <= RENDER_POINTS; c++) {
|
||||
yVal = func(val);
|
||||
for (s = 0; s < series.length; s++) {
|
||||
data[s].push([ val, yVal[ series[s] ] ]);
|
||||
}
|
||||
val += delta;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,9 +138,11 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco
|
||||
yVal = func(xMin);
|
||||
seriesData.push([ xMin, yVal ], [ 1, yVal ]);
|
||||
} else {
|
||||
delta = (xMax - xMin) / 30; // Only render 30 points on the graph
|
||||
for (val = xMin; val <= xMax; val += delta) {
|
||||
delta = (xMax - xMin) / RENDER_POINTS;
|
||||
val = 0;
|
||||
for (c = 0; c <= RENDER_POINTS; c++) {
|
||||
seriesData.push([val, func(val) ]);
|
||||
val += delta;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,35 +172,63 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco
|
||||
.attr('stroke-width', 2)
|
||||
.attr('d', line);
|
||||
|
||||
var tip = tips.selectAll('g.tooltip').data(data).enter().append('g').attr('class', 'tooltip');
|
||||
tip.append('rect').attr('width', tipWidth + 'em').attr('height', '2em').attr('x', '0.5em').attr('y', '-1em').attr('class', 'tip');
|
||||
tip.append('circle').attr('class', 'marker').attr('r', 4);
|
||||
tip.append('text').attr('class', 'label x').attr('y', '-0.25em');
|
||||
tip.append('text').attr('class', 'label y').attr('y', '0.85em');
|
||||
tips.selectAll('text.label.y').data(data).enter()
|
||||
.append('text')
|
||||
.attr('class', 'label y')
|
||||
.attr('dy', (-tipHeight / 2) + 'em')
|
||||
.attr('y', function(d, i) { return 1.25 * (i + 2) + 'em'; });
|
||||
|
||||
markers.selectAll('circle.marker').data(data).enter().append('circle').attr('class', 'marker').attr('r', 4);
|
||||
}
|
||||
|
||||
function showTip() {
|
||||
tips.style('display', null);
|
||||
markers.style('display', null);
|
||||
}
|
||||
|
||||
function hideTip() {
|
||||
if (!dragging) {
|
||||
tips.style('display', 'none');
|
||||
markers.style('display', 'none');
|
||||
}
|
||||
}
|
||||
|
||||
function moveTip() {
|
||||
var xPos = d3.mouse(this)[0], x0 = x.invert(xPos), y0 = func(x0), flip = (x0 / x.domain()[1] > 0.65);
|
||||
var tip = tips.selectAll('g.tooltip').attr('transform', function(d, i) { return 'translate(' + x(x0) + ',' + y(series ? y0[series[i]] : y0) + ')'; });
|
||||
tip.selectAll('rect').attr('x', flip ? (-tipWidth - 0.5) + 'em' : '0.5em').style('text-anchor', flip ? 'end' : 'start');
|
||||
tip.selectAll('text.label').attr('x', flip ? '-1em' : '1em').style('text-anchor', flip ? 'end' : 'start');
|
||||
tip.selectAll('text.label.x').text(fmtLong(x0) + ' ' + $translate.instant(labels.xAxis.unit));
|
||||
tips.selectAll('text.label.y').text(function(d, i) { return fmtLong(series ? y0[series[i]] : y0) + ' ' + $translate.instant(labels.yAxis.unit); });
|
||||
var xPos = d3.mouse(this)[0],
|
||||
x0 = x.invert(xPos),
|
||||
y0 = func(x0),
|
||||
yTotal = 0,
|
||||
flip = (x0 / x.domain()[1] > 0.65),
|
||||
tipWidth = 0,
|
||||
minTransY = (tips.selectAll('rect').node().getBoundingClientRect().height / 2) - margin.top;
|
||||
|
||||
tips.selectAll('text.label.y').text(function(d, i) {
|
||||
var yVal = series ? y0[series[i]] : y0;
|
||||
yTotal += yVal;
|
||||
return (series ? $translate.instant(series[i]) : '') + ' ' + fmtLong(yVal);
|
||||
}).append('tspan').attr('class', 'metric').text(' ' + $translate.instant(labels.yAxis.unit));
|
||||
|
||||
tips.selectAll('text').each(function() {
|
||||
if (this.getBBox().width > tipWidth) {
|
||||
tipWidth = Math.ceil(this.getBBox().width);
|
||||
}
|
||||
});
|
||||
|
||||
tipWidth += 8;
|
||||
markers.selectAll('circle.marker').attr('cx', x(x0)).attr('cy', function(d, i) { return y(series ? y0[series[i]] : y0); });
|
||||
tips.selectAll('text.label').attr('x', flip ? -12 : 12).style('text-anchor', flip ? 'end' : 'start');
|
||||
tips.selectAll('text.label.x').text(fmtLong(x0)).append('tspan').attr('class', 'metric').text(' ' + $translate.instant(labels.xAxis.unit));
|
||||
tips.attr('transform', 'translate(' + x(x0) + ',' + Math.max(minTransY, y(yTotal / (series ? series.length : 1))) + ')');
|
||||
tips.selectAll('rect')
|
||||
.attr('width', tipWidth + 4)
|
||||
.attr('x', flip ? -tipWidth - 12 : 8)
|
||||
.style('text-anchor', flip ? 'end' : 'start');
|
||||
|
||||
}
|
||||
|
||||
function updateFormats() {
|
||||
xTxt.text($translate.instant(labels.xAxis.title) + ' (' + $translate.instant(labels.xAxis.unit) + ')');
|
||||
yTxt.text($translate.instant(labels.yAxis.title) + ' (' + $translate.instant(labels.yAxis.unit) + ')');
|
||||
xTxt.text($translate.instant(labels.xAxis.title)).append('tspan').attr('class', 'metric').text(' (' + $translate.instant(labels.xAxis.unit) + ')');
|
||||
yTxt.text($translate.instant(labels.yAxis.title)).append('tspan').attr('class', 'metric').text(' (' + $translate.instant(labels.yAxis.unit) + ')');
|
||||
fmtLong = $rootScope.localeFormat.numberFormat('.2f');
|
||||
xAxis.tickFormat($rootScope.localeFormat.numberFormat('.2r'));
|
||||
yAxis.tickFormat($rootScope.localeFormat.numberFormat('.3r'));
|
||||
|
||||
@@ -38,7 +38,7 @@ angular.module('app').directive('powerBands', ['$window', '$translate', '$rootSc
|
||||
});
|
||||
|
||||
// Create Y Axis SVG Elements
|
||||
vis.append('g').attr('class', 'watt axis');
|
||||
var wattAxisGroup = vis.append('g').attr('class', 'watt axis');
|
||||
vis.append('g').attr('class', 'pct axis');
|
||||
var retText = vis.append('text').attr('x', -3).style('text-anchor', 'end').attr('dy', '0.5em').attr('class', 'primary upp');
|
||||
var depText = vis.append('text').attr('x', -3).style('text-anchor', 'end').attr('dy', '0.5em').attr('class', 'primary upp');
|
||||
@@ -94,13 +94,24 @@ angular.module('app').directive('powerBands', ['$window', '$translate', '$rootSc
|
||||
retracted.selectAll('text').remove();
|
||||
deployed.selectAll('rect').remove();
|
||||
deployed.selectAll('text').remove();
|
||||
wattAxisGroup.selectAll('line.threshold').remove();
|
||||
|
||||
// Update X & Y Axis
|
||||
wattScale.range([0, w]).domain([0, maxPwr]).clamp(true);
|
||||
pctScale.range([0, w]).domain([0, maxPwr / available]).clamp(true);
|
||||
vis.selectAll('.watt.axis').call(wattAxis);
|
||||
wattAxisGroup.call(wattAxis);
|
||||
vis.selectAll('.pct.axis').attr('transform', 'translate(0,' + innerHeight + ')').call(pctAxis);
|
||||
|
||||
var pwrWarningClass = 'threshold' + (bands[0].retractedSum * 2 >= available ? ' exceeded' : '');
|
||||
vis.select('.pct.axis g:nth-child(6)').selectAll('line, text').attr('class', pwrWarningClass);
|
||||
|
||||
wattAxisGroup.append('line')
|
||||
.attr('x1', pctScale(0.5))
|
||||
.attr('x2', pctScale(0.5))
|
||||
.attr('y1', 0)
|
||||
.attr('y2', innerHeight)
|
||||
.attr('class', pwrWarningClass);
|
||||
|
||||
retText.attr('y', repY);
|
||||
depText.attr('y', depY);
|
||||
updateLabel(retLbl, w, repY, retBandsSelected, retBandsSelected ? retractedSum : maxBand.retractedSum, available);
|
||||
@@ -162,7 +173,8 @@ angular.module('app').directive('powerBands', ['$window', '$translate', '$rootSc
|
||||
}
|
||||
|
||||
function getClass(selected, sum, avail) {
|
||||
return selected ? 'secondary' : (sum >= avail) ? 'warning' : 'primary';
|
||||
// Round to avoid floating point precision errors
|
||||
return selected ? 'secondary' : ((Math.round(sum * 100) / 100) >= avail) ? 'warning' : 'primary';
|
||||
}
|
||||
|
||||
function bandText(val, index) {
|
||||
|
||||
@@ -1,218 +1,216 @@
|
||||
angular.module('app').config(['$translateProvider', function($translateProvider) {
|
||||
|
||||
$translateProvider
|
||||
.translations('en', {
|
||||
PHRASE_EXPORT_DESC: 'A detailed JSON export of your build for use in other sites and tools',
|
||||
'A-Rated': 'A-Rated',
|
||||
about: 'about',
|
||||
action: 'action',
|
||||
added: 'added',
|
||||
Advanced: 'Advanced',
|
||||
'Advanced Discovery Scanner': 'Advanced Discovery Scanner',
|
||||
agility: 'agility',
|
||||
alpha: 'alpha',
|
||||
ammo: 'ammo',
|
||||
PHRASE_CONFIRMATION: 'Are You Sure?',
|
||||
armour: 'armour',
|
||||
am: 'Auto Field-Maintenance Unit',
|
||||
available: 'available',
|
||||
backup: 'backup',
|
||||
'Basic Discovery Scanner': 'Basic Discovery Scanner',
|
||||
bl: 'Beam Laser',
|
||||
beta: 'beta',
|
||||
bins: 'bins',
|
||||
boost: 'boost',
|
||||
build: 'build',
|
||||
'build name': 'Build Name',
|
||||
builds: 'builds',
|
||||
bh: 'bulkheads',
|
||||
ul: 'Burst Laser',
|
||||
buy: 'buy',
|
||||
cancel: 'cancel',
|
||||
c: 'Cannon',
|
||||
capital: 'capital',
|
||||
cargo: 'cargo',
|
||||
'Cargo Hatch': 'Cargo Hatch',
|
||||
cr: 'Cargo Rack',
|
||||
cs: 'Cargo Scanner',
|
||||
cells: 'cells',
|
||||
'Chaff Launcher': 'Chaff Launcher',
|
||||
close: 'close',
|
||||
cc: 'Collector Limpet Controller',
|
||||
compare: 'compare',
|
||||
'compare all': 'compare all',
|
||||
comparison: 'comparison',
|
||||
comparisons: 'comparisons',
|
||||
component: 'component',
|
||||
cost: 'cost',
|
||||
costs: 'costs',
|
||||
cm: 'Countermeasure',
|
||||
CR: 'CR',
|
||||
create: 'create',
|
||||
'create new': 'create new',
|
||||
credits: 'credits',
|
||||
Cytoscrambler: 'Cytoscrambler',
|
||||
damage: 'damage',
|
||||
delete: 'delete',
|
||||
'delete all': 'delete all',
|
||||
dep: 'dep',
|
||||
deployed: 'deployed',
|
||||
'detailed export': 'detailed export',
|
||||
'Detailed Surface Scanner': 'Detailed Surface Scanner',
|
||||
disabled: 'disabled',
|
||||
discount: 'discount',
|
||||
Distruptor: 'Distruptor',
|
||||
dc: 'Docking Computer',
|
||||
done: 'done',
|
||||
DPS: 'DPS',
|
||||
'edit data': 'edit data',
|
||||
efficiency: 'efficiency',
|
||||
'Electronic Countermeasure': 'Electronic Countermeasure',
|
||||
empty: 'empty',
|
||||
Enforcer: 'Enforcer',
|
||||
ENG: 'ENG',
|
||||
'enter name': 'Enter Name',
|
||||
EPS: 'EPS',
|
||||
export: 'export',
|
||||
fixed: 'fixed',
|
||||
forum: 'forum',
|
||||
fc: 'Fragment Cannon',
|
||||
fd: 'Frame Shift Drive',
|
||||
ws: 'Frame Shift Wake Scanner',
|
||||
FSD: 'FSD',
|
||||
fi: 'FSD Interdictor',
|
||||
fuel: 'fuel',
|
||||
fs: 'Fuel Scoop',
|
||||
ft: 'Fuel Tank',
|
||||
fx: 'Fuel Transfer Limpet Controller',
|
||||
'full tank': 'full tank',
|
||||
Gimballed: 'Gimballed',
|
||||
H: 'H',
|
||||
hardpoints: 'hardpoints',
|
||||
hb: 'Hatch Breaker Limpet Controller',
|
||||
'Heat Sink Launcher': 'Heat Sink Launcher',
|
||||
huge: 'huge',
|
||||
hull: 'hull',
|
||||
hr: 'Hull Reinforcement Package',
|
||||
'Imperial Hammer': 'Imperial Hammer',
|
||||
import: 'import',
|
||||
'import all': 'import all',
|
||||
insurance: 'insurance',
|
||||
'Intermediate Discovery Scanner': 'Intermediate Discovery Scanner',
|
||||
'internal compartments': 'internal compartments',
|
||||
'jump range': 'jump range',
|
||||
jumps: 'jumps',
|
||||
kw: 'Kill Warrant Scanner',
|
||||
L: 'L',
|
||||
laden: 'laden',
|
||||
language: 'language',
|
||||
large: 'large',
|
||||
ls: 'life support',
|
||||
'Lightweight Alloy': 'Lightweight Alloy',
|
||||
'lock factor': 'lock factor',
|
||||
LS: 'Ls',
|
||||
LY: 'LY',
|
||||
M: 'M',
|
||||
'm/s': 'm/s',
|
||||
mass: 'mass',
|
||||
max: 'max',
|
||||
'max mass': 'max mass',
|
||||
medium: 'medium',
|
||||
'Military Grade Composite': 'Military Grade Composite',
|
||||
nl: 'Mine Launcher',
|
||||
'Mining Lance': 'Mining Lance',
|
||||
ml: 'Mining Laser',
|
||||
'Mirrored Surface Composite': 'Mirrored Surface Composite',
|
||||
mr: 'Missile Rack',
|
||||
mc: 'Multi-cannon',
|
||||
'net cost': 'net cost',
|
||||
no: 'no',
|
||||
PHRASE_NO_BUILDS: 'No builds added to comparison!',
|
||||
PHRASE_NO_RETROCH: 'No Retrofitting changes',
|
||||
none: 'none',
|
||||
'none created': 'none created',
|
||||
off: 'off',
|
||||
on: 'on',
|
||||
optimal: 'optimal',
|
||||
'optimal mass': 'optimal mass',
|
||||
'optimize mass': 'optimize mass',
|
||||
overwrite: 'overwrite',
|
||||
Pacifier: 'Pacifier',
|
||||
'Pack-Hound': 'Pack-Hound',
|
||||
PHRASE_IMPORT: 'Paste JSON or import here',
|
||||
pen: 'pen',
|
||||
penetration: 'penetration',
|
||||
permalink: 'permalink',
|
||||
pa: 'Plasma Accelerator',
|
||||
'Point Defence': 'Point Defence',
|
||||
power: 'power',
|
||||
pd: 'power distributor',
|
||||
pp: 'power plant',
|
||||
pri: 'pri',
|
||||
priority: 'priority',
|
||||
psg: 'Prismatic Shield Generator',
|
||||
proceed: 'proceed',
|
||||
pc: 'Prospector Limpet Controller',
|
||||
pl: 'Pulse Laser',
|
||||
PWR: 'PWR',
|
||||
rg: 'Rail Gun',
|
||||
range: 'range',
|
||||
rate: 'rate',
|
||||
'Reactive Surface Composite': 'Reactive Surface Composite',
|
||||
recharge: 'recharge',
|
||||
rf: 'Refinery',
|
||||
'refuel time': 'refuel time',
|
||||
'Reinforced Alloy': 'Reinforced Alloy',
|
||||
reload: 'reload',
|
||||
rename: 'rename',
|
||||
repair: 'repair',
|
||||
reset: 'reset',
|
||||
ret: 'ret',
|
||||
retracted: 'retracted',
|
||||
'retrofit costs': 'retrofit costs',
|
||||
'retrofit from': 'retrofit from',
|
||||
ROF: 'ROF',
|
||||
S: 'S',
|
||||
save: 'save',
|
||||
sc: 'scanner',
|
||||
PHRASE_SELECT_BUILDS: 'Select Builds to Compare',
|
||||
sell: 'sell',
|
||||
s: 'sensors',
|
||||
settings: 'settings',
|
||||
sb: 'Shield Booster',
|
||||
scb: 'Shield Cell Bank',
|
||||
sg: 'Shield Generator',
|
||||
shields: 'shields',
|
||||
ship: 'ship',
|
||||
ships: 'ships',
|
||||
shortened: 'shortened',
|
||||
size: 'size',
|
||||
skip: 'skip',
|
||||
small: 'small',
|
||||
speed: 'speed',
|
||||
standard: 'standard',
|
||||
'Standard Docking Computer': 'Standard Docking Computer',
|
||||
Stock: 'Stock',
|
||||
SYS: 'SYS',
|
||||
T: 'T',
|
||||
T_LOAD: 't-load',
|
||||
'The Retributor': 'The Retributor',
|
||||
t: 'thrusters',
|
||||
time: 'time',
|
||||
tp: 'Torpedo Pylon',
|
||||
total: 'total',
|
||||
'total range': 'total range',
|
||||
turret: 'turret',
|
||||
type: 'type',
|
||||
U: 'U',
|
||||
unladen: 'unladen',
|
||||
PHRASE_UPDATE_RDY: 'Update Available! Click to Refresh',
|
||||
URL: 'URL',
|
||||
utility: 'utility',
|
||||
'utility mounts': 'utility mounts',
|
||||
version: 'version',
|
||||
WEP: 'WEP',
|
||||
yes: 'yes',
|
||||
PHRASE_BACKUP_DESC: 'Backup of all Coriolis data to save or transfer to another browser/device'
|
||||
});
|
||||
$translateProvider.translations('en', {
|
||||
PHRASE_EXPORT_DESC: 'A detailed JSON export of your build for use in other sites and tools',
|
||||
'A-Rated': 'A-Rated',
|
||||
about: 'about',
|
||||
action: 'action',
|
||||
added: 'added',
|
||||
Advanced: 'Advanced',
|
||||
'Advanced Discovery Scanner': 'Advanced Discovery Scanner',
|
||||
agility: 'agility',
|
||||
alpha: 'alpha',
|
||||
ammo: 'ammo',
|
||||
PHRASE_CONFIRMATION: 'Are You Sure?',
|
||||
armour: 'armour',
|
||||
am: 'Auto Field-Maintenance Unit',
|
||||
available: 'available',
|
||||
backup: 'backup',
|
||||
'Basic Discovery Scanner': 'Basic Discovery Scanner',
|
||||
bl: 'Beam Laser',
|
||||
beta: 'beta',
|
||||
bins: 'bins',
|
||||
boost: 'boost',
|
||||
build: 'build',
|
||||
'build name': 'Build Name',
|
||||
builds: 'builds',
|
||||
bh: 'bulkheads',
|
||||
ul: 'Burst Laser',
|
||||
buy: 'buy',
|
||||
cancel: 'cancel',
|
||||
c: 'Cannon',
|
||||
capital: 'capital',
|
||||
cargo: 'cargo',
|
||||
'Cargo Hatch': 'Cargo Hatch',
|
||||
cr: 'Cargo Rack',
|
||||
cs: 'Cargo Scanner',
|
||||
cells: 'cells',
|
||||
'Chaff Launcher': 'Chaff Launcher',
|
||||
close: 'close',
|
||||
cc: 'Collector Limpet Controller',
|
||||
compare: 'compare',
|
||||
'compare all': 'compare all',
|
||||
comparison: 'comparison',
|
||||
comparisons: 'comparisons',
|
||||
component: 'component',
|
||||
cost: 'cost',
|
||||
costs: 'costs',
|
||||
cm: 'Countermeasure',
|
||||
CR: 'CR',
|
||||
create: 'create',
|
||||
'create new': 'create new',
|
||||
credits: 'credits',
|
||||
Cytoscrambler: 'Cytoscrambler',
|
||||
damage: 'damage',
|
||||
delete: 'delete',
|
||||
'delete all': 'delete all',
|
||||
dep: 'dep',
|
||||
deployed: 'deployed',
|
||||
'detailed export': 'detailed export',
|
||||
'Detailed Surface Scanner': 'Detailed Surface Scanner',
|
||||
disabled: 'disabled',
|
||||
discount: 'discount',
|
||||
Distruptor: 'Distruptor',
|
||||
dc: 'Docking Computer',
|
||||
done: 'done',
|
||||
DPS: 'DPS',
|
||||
'edit data': 'edit data',
|
||||
efficiency: 'efficiency',
|
||||
'Electronic Countermeasure': 'Electronic Countermeasure',
|
||||
empty: 'empty',
|
||||
Enforcer: 'Enforcer',
|
||||
ENG: 'ENG',
|
||||
'enter name': 'Enter Name',
|
||||
EPS: 'EPS',
|
||||
export: 'export',
|
||||
fixed: 'fixed',
|
||||
forum: 'forum',
|
||||
fc: 'Fragment Cannon',
|
||||
fd: 'Frame Shift Drive',
|
||||
ws: 'Frame Shift Wake Scanner',
|
||||
FSD: 'FSD',
|
||||
fi: 'FSD Interdictor',
|
||||
fuel: 'fuel',
|
||||
fs: 'Fuel Scoop',
|
||||
ft: 'Fuel Tank',
|
||||
fx: 'Fuel Transfer Limpet Controller',
|
||||
'full tank': 'full tank',
|
||||
Gimballed: 'Gimballed',
|
||||
H: 'H',
|
||||
hardpoints: 'hardpoints',
|
||||
hb: 'Hatch Breaker Limpet Controller',
|
||||
'Heat Sink Launcher': 'Heat Sink Launcher',
|
||||
huge: 'huge',
|
||||
hull: 'hull',
|
||||
hr: 'Hull Reinforcement Package',
|
||||
'Imperial Hammer': 'Imperial Hammer',
|
||||
import: 'import',
|
||||
'import all': 'import all',
|
||||
insurance: 'insurance',
|
||||
'Intermediate Discovery Scanner': 'Intermediate Discovery Scanner',
|
||||
'internal compartments': 'internal compartments',
|
||||
'jump range': 'jump range',
|
||||
jumps: 'jumps',
|
||||
kw: 'Kill Warrant Scanner',
|
||||
L: 'L',
|
||||
laden: 'laden',
|
||||
language: 'language',
|
||||
large: 'large',
|
||||
ls: 'life support',
|
||||
'Lightweight Alloy': 'Lightweight Alloy',
|
||||
'lock factor': 'lock factor',
|
||||
LS: 'Ls',
|
||||
LY: 'LY',
|
||||
M: 'M',
|
||||
'm/s': 'm/s',
|
||||
mass: 'mass',
|
||||
max: 'max',
|
||||
'max mass': 'max mass',
|
||||
medium: 'medium',
|
||||
'Military Grade Composite': 'Military Grade Composite',
|
||||
nl: 'Mine Launcher',
|
||||
'Mining Lance': 'Mining Lance',
|
||||
ml: 'Mining Laser',
|
||||
'Mirrored Surface Composite': 'Mirrored Surface Composite',
|
||||
mr: 'Missile Rack',
|
||||
mc: 'Multi-cannon',
|
||||
'net cost': 'net cost',
|
||||
no: 'no',
|
||||
PHRASE_NO_BUILDS: 'No builds added to comparison!',
|
||||
PHRASE_NO_RETROCH: 'No Retrofitting changes',
|
||||
none: 'none',
|
||||
'none created': 'none created',
|
||||
off: 'off',
|
||||
on: 'on',
|
||||
optimal: 'optimal',
|
||||
'optimal mass': 'optimal mass',
|
||||
'optimize mass': 'optimize mass',
|
||||
overwrite: 'overwrite',
|
||||
Pacifier: 'Pacifier',
|
||||
'Pack-Hound': 'Pack-Hound',
|
||||
PHRASE_IMPORT: 'Paste JSON or import here',
|
||||
pen: 'pen',
|
||||
penetration: 'penetration',
|
||||
permalink: 'permalink',
|
||||
pa: 'Plasma Accelerator',
|
||||
'Point Defence': 'Point Defence',
|
||||
power: 'power',
|
||||
pd: 'power distributor',
|
||||
pp: 'power plant',
|
||||
pri: 'pri',
|
||||
priority: 'priority',
|
||||
psg: 'Prismatic Shield Generator',
|
||||
proceed: 'proceed',
|
||||
pc: 'Prospector Limpet Controller',
|
||||
pl: 'Pulse Laser',
|
||||
PWR: 'PWR',
|
||||
rg: 'Rail Gun',
|
||||
range: 'range',
|
||||
rate: 'rate',
|
||||
'Reactive Surface Composite': 'Reactive Surface Composite',
|
||||
recharge: 'recharge',
|
||||
rf: 'Refinery',
|
||||
'refuel time': 'refuel time',
|
||||
'Reinforced Alloy': 'Reinforced Alloy',
|
||||
reload: 'reload',
|
||||
rename: 'rename',
|
||||
repair: 'repair',
|
||||
reset: 'reset',
|
||||
ret: 'ret',
|
||||
retracted: 'retracted',
|
||||
'retrofit costs': 'retrofit costs',
|
||||
'retrofit from': 'retrofit from',
|
||||
ROF: 'ROF',
|
||||
S: 'S',
|
||||
save: 'save',
|
||||
sc: 'scanner',
|
||||
PHRASE_SELECT_BUILDS: 'Select Builds to Compare',
|
||||
sell: 'sell',
|
||||
s: 'sensors',
|
||||
settings: 'settings',
|
||||
sb: 'Shield Booster',
|
||||
scb: 'Shield Cell Bank',
|
||||
sg: 'Shield Generator',
|
||||
shields: 'shields',
|
||||
ship: 'ship',
|
||||
ships: 'ships',
|
||||
shortened: 'shortened',
|
||||
size: 'size',
|
||||
skip: 'skip',
|
||||
small: 'small',
|
||||
speed: 'speed',
|
||||
standard: 'standard',
|
||||
'Standard Docking Computer': 'Standard Docking Computer',
|
||||
Stock: 'Stock',
|
||||
SYS: 'SYS',
|
||||
T: 'T',
|
||||
T_LOAD: 't-load',
|
||||
'The Retributor': 'The Retributor',
|
||||
t: 'thrusters',
|
||||
time: 'time',
|
||||
tp: 'Torpedo Pylon',
|
||||
total: 'total',
|
||||
'total range': 'total range',
|
||||
turret: 'turret',
|
||||
type: 'type',
|
||||
U: 'U',
|
||||
unladen: 'unladen',
|
||||
PHRASE_UPDATE_RDY: 'Update Available! Click to Refresh',
|
||||
URL: 'URL',
|
||||
utility: 'utility',
|
||||
'utility mounts': 'utility mounts',
|
||||
version: 'version',
|
||||
WEP: 'WEP',
|
||||
yes: 'yes',
|
||||
PHRASE_BACKUP_DESC: 'Backup of all Coriolis data to save or transfer to another browser/device'
|
||||
});
|
||||
}]);
|
||||
|
||||
@@ -17,247 +17,195 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
});
|
||||
|
||||
$translateProvider.translations('es', {
|
||||
PHRASE_EXPORT_DESC: 'Ein detaillierter JSON-Export Ihrer Konfiguration für die Verwendung in anderen Websites und Tools',
|
||||
A_RATED: 'A-Klasse',
|
||||
ABOUT: 'Über',
|
||||
ACTION: 'Aktion',
|
||||
ADDED: 'Hinzugefügt',
|
||||
ADDER: 'Adder',
|
||||
ADVANCED: 'Fortgeschritten',
|
||||
'Advanced Discovery Scanner': 'Fortgeschrittener Aufklärungsscanner',
|
||||
'Advanced Plasma Laser': 'Fortgeschrittener Plasma-Laser',
|
||||
AGILITY: 'Beweglichkeit',
|
||||
ALPHA: 'Alpha',
|
||||
AMMO: 'Munition',
|
||||
ANACONDA: 'Anaconda',
|
||||
PHRASE_CONFIRMATION: 'Sind Sie sicher?',
|
||||
ARMOUR: 'Panzerung',
|
||||
ASP_EXPLORER: 'Asp Explorer',
|
||||
am: 'Automatische Feldwartungseinheit',
|
||||
AVAILABLE: 'Verfügbar',
|
||||
BACKUP: 'Sicherungsdatei',
|
||||
'Basic Discovery Scanner': 'Einfacher Aufklärungsscanner',
|
||||
bl: 'Strahlenlaser',
|
||||
BELUGA_LINER: 'Beluga Liner',
|
||||
BETA: 'beta',
|
||||
BINS: 'Behälter',
|
||||
BOOST: 'Boost',
|
||||
BUILD: 'Konfiguration',
|
||||
BUILD_NAME: 'Konfigurationsname',
|
||||
BUILDS: 'Konfigurationen',
|
||||
BULKHEADS: 'Rumpfhüllenverstärkung',
|
||||
ul: 'Salvenlaser',
|
||||
BUY: 'Kaufen',
|
||||
CANCEL: 'Abbrechen',
|
||||
c: 'Kanone',
|
||||
CAPITAL: 'kapital',
|
||||
CARGO: 'Fracht',
|
||||
CARGO_HATCH: 'Frachtluke',
|
||||
cr: 'Frachtgestell',
|
||||
cs: 'Frachtscanner',
|
||||
CELLS: 'Zellen',
|
||||
CHAFF_LAUNCHER: 'Düppel-Werfer',
|
||||
CLOSE: 'Schließen',
|
||||
COBRA_MK_III: 'Cobra MK III',
|
||||
COBRA_MK_IV: 'Cobra MK IV',
|
||||
cc: 'Krallensteuerung: Sammler',
|
||||
COMPARE: 'Vergleichen',
|
||||
COMPARE_ALL: 'Alles Vergleichen',
|
||||
COMPARISON: 'Vergleich',
|
||||
COMPARISONS: 'Vergleiche',
|
||||
COMPONENT: 'Komponente',
|
||||
COST: 'Kostet',
|
||||
COSTS: 'Kosten',
|
||||
cm: 'Gegenmaßnahme',
|
||||
CR: 'CR',
|
||||
CREATE: 'Erstellen',
|
||||
CREATE_NEW: 'Neu Erstellen',
|
||||
CREDITS: 'Credits',
|
||||
Cytoscrambler: 'Zytostreuer',
|
||||
DAMAGE: 'Schaden',
|
||||
DELETE: 'Löschen',
|
||||
DELETE_ALL: 'Alles Löschen',
|
||||
DEP: 'Ausg',
|
||||
DEPLOYED: 'Ausgefahren',
|
||||
DETAILED_EXPORT: 'Detailiertes Exportieren',
|
||||
'Detailed Surface Scanner': 'Detailoberflächenscanner',
|
||||
DIAMONDBACK_EXPLORER: 'Diamondback-Erkunder',
|
||||
DIAMONDBACK_SCOUT: 'Diamondback-Aufklärer',
|
||||
DISABLED: 'Deaktiviert',
|
||||
DISCOUNT: 'Rabatt',
|
||||
Distruptor: 'Disruptor',
|
||||
dc: 'Standard-Landecomputer',
|
||||
DOLPHIN: 'Dolphin',
|
||||
DONE: 'Fertig',
|
||||
DPS: 'DPS',
|
||||
EAGLE: 'Eagle',
|
||||
EDIT_DATA: 'Bearbeiten',
|
||||
EFFICIENCY: 'Effizienz',
|
||||
'Electronic Countermeasure': 'Elektronische Gegenmaßnahme',
|
||||
EMPTY: 'leer',
|
||||
ENFORCER: 'Vollstrecker',
|
||||
ENG: 'FAH',
|
||||
PHRASE_ENTER_BUILD_NAME: '',
|
||||
EPS: 'en/s',
|
||||
EXPORT: 'Exportieren',
|
||||
FEDERAL_CORVETTE: 'Föderale Korvette',
|
||||
FEDERAL_DROPSHIP: 'Föderales Abwurfschiff',
|
||||
FEDERAL_DROPSHIP_MK_II: 'Föderales Abwurfschiff Mk II',
|
||||
FEDERAL_GUNSHIP: 'Föderales Kanonenschiff',
|
||||
FER_DE_LANCE: 'Fer-de-Lance',
|
||||
FIXED: '',
|
||||
FORUM: 'Forum',
|
||||
fc: 'Splitterkanone',
|
||||
fd: 'Frameshift-Antrieb',
|
||||
ws: 'Sogwolkenscanner',
|
||||
FSD: 'FSA',
|
||||
fi: 'FSA-Unterbrecher',
|
||||
FUEL: 'Treibstoff',
|
||||
fs: 'Treibstoffsammler',
|
||||
ft: 'Treibstofftank',
|
||||
fx: 'Krallensteuerung Treibstoffstransfer',
|
||||
FULL_TANK: 'Tank voll',
|
||||
GIMBALLED: 'Kardianisch',
|
||||
H: 'H',
|
||||
HARDPOINTS: 'Waffenaufhängungen',
|
||||
hb: 'Krallen-Steuereinheit (Ladelukenöffner)',
|
||||
HAULER: 'Hauler',
|
||||
'Heat Sink Launcher': 'Kühlkörperwerfer',
|
||||
HUGE: 'Riesig',
|
||||
HULL: 'Hülle',
|
||||
hr: 'Rumpfhüllenverstärkung (Paket)',
|
||||
IMPERIAL_CLIPPER: 'Imperialer Clipper',
|
||||
IMPERIAL_COURIER: 'Imperialer Kurier',
|
||||
IMPERIAL_CUTTER: 'Imperialer Cutter',
|
||||
IMPERIAL_EAGLE: 'Imperialer Eagle',
|
||||
IMPERIAL_HAMMER: 'Imperialer Hammer',
|
||||
IMPORT: 'Importieren',
|
||||
IMPORT_ALL: 'Alles Importieren',
|
||||
INSURANCE: 'Versicherung',
|
||||
'Intermediate Discover Scanner': 'Mittlerer Aufklärungsscanner',
|
||||
INTERNAL_COMPARTMENTS: 'Innenbereichkabine',
|
||||
JUMP_RANGE: 'Sprungreichweite',
|
||||
JUMPS: 'Sprünge',
|
||||
kw: 'Tötungsbefehlscanner',
|
||||
KRAIT: 'Krait',
|
||||
L: 'L',
|
||||
LADEN: 'Beladen',
|
||||
LANGUAGE: 'Sprache',
|
||||
LARGE: 'Groß',
|
||||
ls: 'Lebenserhaltung',
|
||||
'Lightweight Alloy': 'Leichte Legierung',
|
||||
LOCK_FACTOR: 'Massensperrefaktor',
|
||||
LS: 'LS',
|
||||
LY: 'LJ',
|
||||
M: 'M',
|
||||
'm/s': 'M/Sec.',
|
||||
MASS: 'Masse',
|
||||
MAX: 'max',
|
||||
MAX_MASS: 'maximale Masse',
|
||||
MEDIUM: 'Mittel',
|
||||
'Military Grade Composite': 'Militär-Komposit',
|
||||
nl: 'Minenwerfer',
|
||||
'Mining Lance': 'Lanzenabbaulaser',
|
||||
ml: 'Abbaulaser',
|
||||
'Mirrored Surface Composite': 'Gespiegelte-Oberfläche-Komposit',
|
||||
mr: 'Raketenbatterie',
|
||||
mc: 'Mehrfachgeschütz',
|
||||
NET_COST: 'Nettokosten',
|
||||
NO: 'Nein',
|
||||
NO_RETROFITTING_CHANGES: 'Keine Umrüständerungen',
|
||||
NONE: 'Nichts',
|
||||
NONE_CREATED: 'Nichts erstellt',
|
||||
OFF: 'Aus',
|
||||
ON: 'An',
|
||||
OPTIMAL: 'optimal',
|
||||
OPTIMAL_MASS: 'optimale Masse',
|
||||
OPTIMIZE_MASS: 'Masse optimieren',
|
||||
ORCA: 'Orca',
|
||||
OVERWRITE: 'Überschreiben',
|
||||
Pacifier: 'Friedensstifter',
|
||||
'Pack-Hound': 'Schwarmwerfer',
|
||||
PANTHER_CLIPPER: 'Panter Clipper',
|
||||
PHRASE_IMPORT: 'JSON hier einfügen oder hier importieren',
|
||||
PEN: 'Durchdr',
|
||||
PENETRATION: 'Durchdringung',
|
||||
PERMALINK: 'Permalink',
|
||||
pa: 'Plasmabeschleuniger',
|
||||
POINT_DEFENCE: 'Punktverteidigung',
|
||||
POWER: 'Energie',
|
||||
pd: 'Energieverteiler',
|
||||
pp: 'Kraftwerk',
|
||||
PRI: 'Prio',
|
||||
PRIORITY: 'Priorität',
|
||||
psg: 'Prismaschildgenerator',
|
||||
PROCEED: 'Fortfahren',
|
||||
pc: 'Krallensteuerung: Erzsucher',
|
||||
pl: 'Impulslaser',
|
||||
PWR: 'En',
|
||||
PYTHON: 'Python',
|
||||
rg: 'Schienenkanone',
|
||||
RANGE: 'Reichweite',
|
||||
RATE: 'Rate',
|
||||
'Reactive Surface Composite': 'Reaktive-Oberfläche-Komposit',
|
||||
RECHARGE: 'Aufladen',
|
||||
rf: 'Raffinerie',
|
||||
REFUEL_TIME: 'Auftankzeit',
|
||||
'Reinforced Alloy': 'Verstärkte Legierungen',
|
||||
RELOAD: 'Aktualisieren',
|
||||
RENAME: 'Umbenennen',
|
||||
REPAIR: 'Reparieren',
|
||||
RESET: 'Zurücksetzen',
|
||||
RET: 'eing',
|
||||
RETRACTED: 'Eingefahren',
|
||||
RETROFIT_COSTS: 'Nachrüstkosten',
|
||||
RETROFIT_FROM: 'Nachrüsten von',
|
||||
ROF: 'Kad',
|
||||
S: 'S',
|
||||
SAVE: 'Speichern',
|
||||
sc: 'Scanner',
|
||||
PHRASE_SELECT_BUILDS: 'Wähle Konfigurationen zum Vergleichen',
|
||||
SELL: 'Verkaufen',
|
||||
s: 'Sensoren',
|
||||
SETTINGS: 'Konfiguration',
|
||||
sb: 'Schildverstärker',
|
||||
scb: 'Schildzellenbank',
|
||||
sg: 'Schildgenerator',
|
||||
SHIELDS: 'Schilde',
|
||||
SHIP: 'Schiff',
|
||||
SHIPS: 'Schiffe',
|
||||
SHORTENED: 'Gekürzt',
|
||||
SIDEWINDER: 'Sidewinder',
|
||||
SIZE: 'Größe',
|
||||
SKIP: 'Überspringen',
|
||||
SMALL: 'S',
|
||||
SPEED: 'Geschwindigkeit',
|
||||
STANDARD: 'Standard',
|
||||
STANDARD_DOCKING_COMPUTER: 'Landecomputer',
|
||||
STOCK: 'Standard',
|
||||
SYS: 'SYS',
|
||||
T: 'T',
|
||||
T_LOAD: 'T-Lad',
|
||||
THE_HUNTER: 'The Hunter',
|
||||
'The Retributor': 'Retributor',
|
||||
t: 'Schubdüsen',
|
||||
TIME: 'Dauer',
|
||||
tp: 'Torpedoaufhängung',
|
||||
TOTAL: 'Gesamt',
|
||||
TOTAL_RANGE: 'Maximale Reichweite',
|
||||
TURRET: 'Geschützturm',
|
||||
TYPE: 'Typ',
|
||||
TYPE_6_TRANSPORTER: 'Typ-6 Transporter',
|
||||
TYPE_7_TRANSPORTER: 'Typ-7 Transporter',
|
||||
TYPE_9_HEAVY: 'Typ-9 Transporter (schwer)',
|
||||
U: 'U',
|
||||
UNLADEN: 'Unbeladen',
|
||||
UPDATE_NOTIFICATION: 'Update verfügbar! Klicken zum Aktualisieren',
|
||||
URL: 'URL',
|
||||
UTILITY: 'Werkzeug',
|
||||
UTILITY_MOUNTS: 'Werkzeug-Steckplatz',
|
||||
VERSION: 'Version',
|
||||
VIPER: 'Viper',
|
||||
VULTURE: 'Vulture',
|
||||
WEP: 'WAF',
|
||||
YES: 'Ja'
|
||||
'PHRASE_EXPORT_DESC': 'Una detallada exportaci\u00f3n JSON de tu construcci\u00f3n para usarlo en otros sitios web y herramientas',
|
||||
'A-Rated': 'Calidad-A',
|
||||
'about': 'Acerca',
|
||||
'action': 'Acci\u00f3n',
|
||||
'added': 'A\u00f1adido',
|
||||
'Advanced Discovery Scanner': 'Esc\u00e1ner de exploraci\u00f3n avanzado',
|
||||
'agility': 'Maniobrabilidad',
|
||||
'alpha': 'Alfa',
|
||||
'ammo': 'Munici\u00f3n',
|
||||
'PHRASE_CONFIRMATION': '\u00bfEst\u00e1s seguro?',
|
||||
'armour': 'Blindaje',
|
||||
'am': 'Unidad de auto-reparaciones',
|
||||
'available': 'Disponible',
|
||||
'backup': 'Reserva',
|
||||
'Basic Discovery Scanner': 'Esc\u00e1ner de exploraci\u00f3n b\u00e1sico',
|
||||
'bl': 'L\u00e1ser de haz',
|
||||
'bins': 'contenedores',
|
||||
'boost': 'incrementar',
|
||||
'build': 'Construcci\u00f3n',
|
||||
'build name': 'Nombre de la construcci\u00f3n',
|
||||
'builds': 'Construcciones',
|
||||
'bh': 'mamparos',
|
||||
'ul': 'Laser de r\u00e1fagas',
|
||||
'buy': 'Comprar',
|
||||
'cancel': 'Cancelar',
|
||||
'c': 'Ca\u00f1\u00f3n',
|
||||
'capital': 'capital',
|
||||
'cargo': 'Carga',
|
||||
'Cargo Hatch': 'Compuerta de carga',
|
||||
'cr': 'Compartimento de carga',
|
||||
'cs': 'Esc\u00e1ner de carga',
|
||||
'cells': 'celdas',
|
||||
'Chaff Launcher': 'Lanzador de birutas',
|
||||
'close': 'Cerrar',
|
||||
'cc': 'Controlador de Drones de Recogida',
|
||||
'compare': 'Comparar',
|
||||
'compare all': 'comparar todas',
|
||||
'comparison': 'Comparativa',
|
||||
'comparisons': 'Comparativas',
|
||||
'component': 'Componente',
|
||||
'cost': 'Coste',
|
||||
'costs': 'Costes',
|
||||
'cm': 'Contramedidas',
|
||||
'create': 'Crear',
|
||||
'create new': 'Crear nuevo',
|
||||
'credits': 'Cr\u00e9ditos',
|
||||
'damage': 'Da\u00f1o',
|
||||
'delete': 'Borrar',
|
||||
'delete all': 'Borrar todo',
|
||||
'dep': 'desp',
|
||||
'deployed': 'Desplegado',
|
||||
'detailed export': 'Exportacion detallada',
|
||||
'Detailed Surface Scanner': 'Escaner de exploraci\u00f3n detallada',
|
||||
'disabled': 'Desactivado',
|
||||
'discount': 'Descuento',
|
||||
'dc': 'Ordenador de aterrizaje',
|
||||
'done': 'Hecho',
|
||||
'DPS': 'DPS (Da\u00f1o Por Segundo)',
|
||||
'edit data': 'Editar datos',
|
||||
'efficiency': 'Eficiencia',
|
||||
'Electronic Countermeasure': 'Contramedidas electr\u00f3nicas',
|
||||
'empty': 'Vac\u00edo',
|
||||
'ENG': 'MOT',
|
||||
'enter name': 'Introduce el nombre',
|
||||
'export': 'exportar',
|
||||
'fixed': 'fijo',
|
||||
'forum': 'Foro',
|
||||
'fc': 'Ca\u00f1\u00f3n de fragmentaci\u00f3n',
|
||||
'fd': 'Motor de salto',
|
||||
'ws': 'Esc\u00e1ner de Salto',
|
||||
'fi': 'Interdictor FSD',
|
||||
'fuel': 'Combustible',
|
||||
'fs': 'Recolector de Combustible',
|
||||
'ft': 'Tanque de combustible',
|
||||
'fx': 'Sistema de Transferencia de Combustilble',
|
||||
'full tank': 'Tanque lleno',
|
||||
'Gimballed': 'Card\u00e1n',
|
||||
'H': 'E',
|
||||
'hardpoints': 'Montura de armas',
|
||||
'hb': 'Controlador de Apertura de Bah\u00eda de Carga',
|
||||
'Heat Sink Launcher': 'Eyector de Acumulador de Calor',
|
||||
'huge': 'enorme',
|
||||
'hull': 'Casco',
|
||||
'hr': 'Sistema de Casco Reforzado',
|
||||
'import': 'Importar',
|
||||
'import all': 'Importar todo',
|
||||
'insurance': 'Seguro',
|
||||
'Intermediate Discovery Scanner': 'Esc\u00e1ner de exploraci\u00f3n media',
|
||||
'internal compartments': 'Compartimentos internos',
|
||||
'jump range': 'Rango de salto',
|
||||
'jumps': 'Saltos',
|
||||
'kw': 'Esc\u00e1ner Detector de Recompensas',
|
||||
'L': 'G',
|
||||
'laden': 'Cargada',
|
||||
'language': 'Idioma',
|
||||
'large': 'Grande',
|
||||
'ls': 'Soporte vital',
|
||||
'Lightweight Alloy': 'Aleaci\u00f3n ligera',
|
||||
'lock factor': 'factor de bloqueo',
|
||||
'mass': 'Masa',
|
||||
'max': 'm\u00e1x',
|
||||
'max mass': 'Masa m\u00e1xima',
|
||||
'medium': 'medio',
|
||||
'Military Grade Composite': 'Blindaje Militar',
|
||||
'nl': 'Lanzaminas',
|
||||
'Mining Lance': 'Lanza de miner\u00eda',
|
||||
'ml': 'L\u00e1ser de miner\u00eda',
|
||||
'Mirrored Surface Composite': 'Blindaje Reflectante',
|
||||
'mr': 'Bah\u00eda de Misiles',
|
||||
'mc': 'Ca\u00f1\u00f3n m\u00faltiple',
|
||||
'net cost': 'Coste neto',
|
||||
'PHRASE_NO_BUILDS': '\u00a1No se a\u00f1adieron plantillas para comparaci\u00f3n!',
|
||||
'PHRASE_NO_RETROCH': 'No hay cambios en los ajutes',
|
||||
'none': 'Nada',
|
||||
'none created': 'Nada creado',
|
||||
'off': 'apagado',
|
||||
'on': 'encendido',
|
||||
'optimal': '\u00f3ptimo',
|
||||
'optimal mass': 'masa \u00f3ptima',
|
||||
'optimize mass': 'optimizar masa',
|
||||
'overwrite': 'Sobreescribir',
|
||||
'PHRASE_IMPORT': 'Pega el JSON o imp\u00f3rtalo aqu\u00ed',
|
||||
'penetration': 'penetraci\u00f3n',
|
||||
'permalink': 'enlace permanente',
|
||||
'pa': 'Acelerador de Plasma',
|
||||
'Point Defence': 'Punto de Defensa',
|
||||
'power': 'energ\u00eda',
|
||||
'pd': 'distribuidor de energ\u00eda',
|
||||
'pp': 'Planta de Energ\u00eda',
|
||||
'priority': 'prioridad',
|
||||
'proceed': 'Proceder',
|
||||
'pc': 'Controlador de drones de prospecci\u00f3n',
|
||||
'pl': 'L\u00e1ser de Pulso',
|
||||
'PWR': 'POT',
|
||||
'rg': 'Ca\u00f1\u00f3n de Riel',
|
||||
'range': 'rango',
|
||||
'rate': 'ratio',
|
||||
'Reactive Surface Composite': 'Blindaje Reactivo',
|
||||
'recharge': 'recargar',
|
||||
'rf': 'Refineria',
|
||||
'refuel time': 'Tiempo para repostar',
|
||||
'Reinforced Alloy': 'Armadura reforzada',
|
||||
'reload': 'Recargar',
|
||||
'rename': 'Renombrar',
|
||||
'repair': 'Reparar',
|
||||
'reset': 'Reiniciar',
|
||||
'ret': 'PLE',
|
||||
'retracted': 'plegadas',
|
||||
'retrofit costs': 'costes de equipamiento',
|
||||
'retrofit from': 'equipamiento desde',
|
||||
'ROF': 'RDF',
|
||||
'S': 'P',
|
||||
'save': 'guardar',
|
||||
'sc': 'sc\u00e1ner',
|
||||
'PHRASE_SELECT_BUILDS': 'Selecciona equipamientos para comparar',
|
||||
'sell': 'Vender',
|
||||
's': 'Sensores',
|
||||
'settings': 'Configuraci\u00f3n',
|
||||
'sb': 'Potenciador de Escudos',
|
||||
'scb': 'C\u00e9lula de Energ\u00eda de Escudos',
|
||||
'sg': 'Generador de escudos',
|
||||
'shields': 'Escudos',
|
||||
'ship': 'Nave ',
|
||||
'ships': 'Naves',
|
||||
'shortened': 'Abreviado',
|
||||
'size': 'Tama\u00f1o',
|
||||
'skip': 'omitir',
|
||||
'small': 'Peque\u00f1o',
|
||||
'speed': 'velocidad',
|
||||
'standard': 'est\u00e1ndar',
|
||||
'Standard Docking Computer': 'Computador de Atraque Est\u00e1ndar',
|
||||
'Stock': 'De serie',
|
||||
'SYS': 'SIS',
|
||||
'T_LOAD': 'c-t\u00e9rmica',
|
||||
't': 'Propulsores',
|
||||
'time': 'Tiempo',
|
||||
'tp': 'Anclaje de torpedo',
|
||||
'total': 'Total',
|
||||
'total range': 'Rango total',
|
||||
'turret': 'torreta',
|
||||
'type': 'Tipo',
|
||||
'unladen': 'Sin carga',
|
||||
'PHRASE_UPDATE_RDY': 'Actualizacion disponible! Haz click para recargar',
|
||||
'URL': 'Enlace',
|
||||
'utility': 'utilidad',
|
||||
'utility mounts': 'monturas de utilidad',
|
||||
'version': 'Versi\u00f3n',
|
||||
'WEP': 'ARM',
|
||||
'yes': 'si',
|
||||
'PHRASE_BACKUP_DESC': 'Copia de seguridad de todos los datos de Coriolis para guardarlos o transferirlos a otro navegador\/dispositivo'
|
||||
});
|
||||
}]);
|
||||
|
||||
@@ -15,35 +15,35 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
shortMonths: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.']
|
||||
});
|
||||
$translateProvider.translations('fr', {
|
||||
PHRASE_EXPORT_DESC: 'Un export détaillé en JSON de votre configuration pour l\'utilisation dans d\'autres sites et outils',
|
||||
PHRASE_EXPORT_DESC: 'Export détaillé en JSON de votre configuration pour utilisation sur d\'autres sites et outils',
|
||||
'A-Rated': 'Classe-A ',
|
||||
about: 'à propos',
|
||||
added: 'ajouté',
|
||||
Advanced: 'Avancé',
|
||||
'Advanced Discovery Scanner': 'Scanner de découverte avancé',
|
||||
agility: 'agilité',
|
||||
ammo: 'munition',
|
||||
PHRASE_CONFIRMATION: 'Êtes-vous sûr?',
|
||||
'Advanced Discovery Scanner': 'Détecteur découverte avancé',
|
||||
agility: 'manœuvrabilité',
|
||||
ammo: 'munitions',
|
||||
PHRASE_CONFIRMATION: 'Êtes-vous sûr ?',
|
||||
armour: 'Armure',
|
||||
am: 'Unité de réparation automatique',
|
||||
am: 'Unité de maintenance de terrain auto',
|
||||
available: 'Disponibilité',
|
||||
backup: 'sauvegarde',
|
||||
'Basic Discovery Scanner': 'Scanner de découverte de base',
|
||||
bl: 'Laser rayon',
|
||||
bins: 'bacs',
|
||||
'Basic Discovery Scanner': 'Détecteur découverte simple',
|
||||
bl: 'Rayon Laser',
|
||||
bins: 'bennes',
|
||||
build: 'Configuration',
|
||||
'build name': 'Nom de la configuration',
|
||||
builds: 'Configurations',
|
||||
bh: 'Coque',
|
||||
ul: 'Laser salves',
|
||||
ul: 'Laser à rafale',
|
||||
buy: 'Acheter',
|
||||
cancel: 'Annuler',
|
||||
c: 'Canon',
|
||||
cargo: 'Soute',
|
||||
'Cargo Hatch': 'hublot de chargement',
|
||||
'Cargo Hatch': 'Écoutille de soute',
|
||||
cr: 'Compartiment de soute',
|
||||
cs: 'Scanner de soute',
|
||||
cells: 'Cellule',
|
||||
cs: 'Détecteur de cargaison',
|
||||
cells: 'Cellules',
|
||||
'Chaff Launcher': 'Lanceur de paillettes',
|
||||
close: 'fermer',
|
||||
cc: 'Contrôleur de prospecteur',
|
||||
@@ -64,17 +64,17 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
dep: 'depl',
|
||||
deployed: 'déployé',
|
||||
'detailed export': 'export détaillé',
|
||||
'Detailed Surface Scanner': 'Scanner de surface détaillé',
|
||||
'Detailed Surface Scanner': 'Détecteur surface détaillé',
|
||||
disabled: 'désactivé',
|
||||
discount: 'ristourne',
|
||||
discount: 'réduction',
|
||||
Distruptor: 'Disrupteur',
|
||||
dc: 'Ordinateur d\'appontage',
|
||||
done: 'Fait',
|
||||
done: 'Valider',
|
||||
'edit data': 'Editer donnée',
|
||||
efficiency: 'efficience',
|
||||
'Electronic Countermeasure': 'Contre mesure électronique',
|
||||
efficiency: 'efficacité',
|
||||
'Electronic Countermeasure': 'Contre-mesures électroniques',
|
||||
empty: 'Vide',
|
||||
'enter name': 'Entrer nom',
|
||||
'enter name': 'Entrer un nom',
|
||||
fixed: 'fixé',
|
||||
fc: 'Canon à fragmentation',
|
||||
fd: 'Réacteur FSD',
|
||||
@@ -83,29 +83,28 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
fuel: 'carburant',
|
||||
fs: 'Récupérateur de carburant',
|
||||
ft: 'Réservoir de carburant',
|
||||
fx: 'Drone de ravitaillement',
|
||||
fx: 'Contrôleur de ravitailleur',
|
||||
'full tank': 'Réservoir plein',
|
||||
Gimballed: 'Point',
|
||||
hardpoints: 'Points d\'emport',
|
||||
hb: 'Contrôle de patelle perce-soute',
|
||||
'Heat Sink Launcher': 'Ejecteur de dissipateur thermique',
|
||||
'Heat Sink Launcher': 'Éjecteur de dissipateur thermique',
|
||||
huge: 'Très grand',
|
||||
hull: 'Coque',
|
||||
hr: 'Renfort de soute',
|
||||
hr: 'Ensemble de mesures permettant de renforcer la coque',
|
||||
'Imperial Hammer': 'Marteau impérial',
|
||||
import: 'Importer',
|
||||
'import all': 'Importer tout',
|
||||
insurance: 'Assurance',
|
||||
'Intermediate Discovery Scanner': 'Scanner de découverte de portée intermédiaire',
|
||||
'Intermediate Discovery Scanner': 'Détecteur découverte intermédiaire',
|
||||
'internal compartments': 'compartiments internes',
|
||||
'jump range': 'Distance de saut',
|
||||
jumps: 'Sauts',
|
||||
kw: 'Détecteur d\'avis de recherche',
|
||||
L: 'Langage',
|
||||
laden: 'chargé',
|
||||
language: 'Langage',
|
||||
large: 'grand',
|
||||
ls: 'Support vital',
|
||||
language: 'Langue',
|
||||
large: 'large',
|
||||
ls: 'Systèmes de survie',
|
||||
'Lightweight Alloy': 'alliage léger',
|
||||
'lock factor': 'facteur inhibition de masse',
|
||||
LS: 'SL',
|
||||
@@ -116,37 +115,37 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
nl: 'Lance-mines',
|
||||
'Mining Lance': 'Lance de minage',
|
||||
ml: 'Laser minier',
|
||||
'Mirrored Surface Composite': 'Composite à surface mirroir',
|
||||
mr: 'Lance missiles',
|
||||
'Mirrored Surface Composite': 'Composite à surface miroir',
|
||||
mr: 'Batterie de missiles',
|
||||
mc: 'Canon multiple',
|
||||
'net cost': 'coûts nets',
|
||||
no: 'non',
|
||||
PHRASE_NO_BUILDS: 'Défaut de configuration pour comparaison',
|
||||
PHRASE_NO_RETROCH: 'configuration non modifiée',
|
||||
PHRASE_NO_BUILDS: 'Aucune configuration ajoutée pour comparaison',
|
||||
PHRASE_NO_RETROCH: 'Configuration non modifiée',
|
||||
none: 'aucun',
|
||||
'none created': 'Rien de créé',
|
||||
off: 'éteint',
|
||||
on: 'allumé',
|
||||
'optimal mass': 'masse optimale',
|
||||
'optimize mass': 'optimiser masse',
|
||||
overwrite: 'écraser',
|
||||
overwrite: 'remplacer',
|
||||
Pacifier: 'Pacificateur',
|
||||
PHRASE_IMPORT: 'Coller JSON ou importer ici',
|
||||
PHRASE_IMPORT: 'Coller ici votre JSON à importer',
|
||||
pen: 'pén.',
|
||||
penetration: 'pénétration',
|
||||
permalink: 'lien durable',
|
||||
pa: 'accélérateur plasma',
|
||||
'Point Defence': 'Défense ponctuelle',
|
||||
power: 'énergie',
|
||||
pd: 'distributeur d\'énérgie',
|
||||
pp: 'centrale d\'énergie',
|
||||
pd: 'Répartiteur de puissance',
|
||||
pp: 'Générateur',
|
||||
priority: 'priorité',
|
||||
psg: 'générateur de bouclier prisme',
|
||||
proceed: 'continuer',
|
||||
pc: 'Drône de minage',
|
||||
pc: 'Contrôleur de prospecteur',
|
||||
pl: 'Laser à impulsion',
|
||||
PWR: 'Puissance',
|
||||
rg: 'Canon électromagnétique',
|
||||
PWR: 'P',
|
||||
rg: 'Canon électrique',
|
||||
range: 'portée',
|
||||
rate: 'cadence',
|
||||
'Reactive Surface Composite': 'Composite à surface réactive',
|
||||
@@ -165,9 +164,9 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
ROF: 'cadence',
|
||||
save: 'sauvegarder',
|
||||
sc: 'scanner',
|
||||
PHRASE_SELECT_BUILDS: 'Sélectionner configurations à comparer',
|
||||
PHRASE_SELECT_BUILDS: 'Sélectionner les configurations à comparer',
|
||||
sell: 'vendre',
|
||||
s: 'détecteurs',
|
||||
s: 'Capteurs',
|
||||
settings: 'paramètres',
|
||||
sb: 'Survolteur de bouclier',
|
||||
scb: 'Réserve de cellules d\'énergie',
|
||||
@@ -180,9 +179,9 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
skip: 'Suivant',
|
||||
small: 'petit',
|
||||
speed: 'vitesse',
|
||||
'Standard Docking Computer': 'ordinateur amarrage standard',
|
||||
'Standard Docking Computer': 'Ordinateur d\'appontage standard',
|
||||
Stock: 'de base',
|
||||
T_LOAD: 'degrés',
|
||||
T_LOAD: 'Charge thermique',
|
||||
'The Retributor': 'Le Rétributeur',
|
||||
t: 'propulseurs',
|
||||
time: 'temps',
|
||||
@@ -190,11 +189,11 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
'total range': 'Distance maximale',
|
||||
turret: 'tourelle',
|
||||
unladen: 'Non chargé',
|
||||
PHRASE_UPDATE_RDY: 'Mise à jour disponible ! Cliquez pour rafraichir',
|
||||
PHRASE_UPDATE_RDY: 'Mise à jour disponible ! Cliquez ici pour mettre à jour',
|
||||
utility: 'utilitaire',
|
||||
'utility mounts': 'Support utilitaire',
|
||||
WEP: 'ARM',
|
||||
yes: 'oui',
|
||||
PHRASE_BACKUP_DESC: 'Exportation détaillée des données Coriolis pour l\'utilisation dans d\'autres sites et outils'
|
||||
PHRASE_BACKUP_DESC: 'Exportation détaillée des données de Coriolis pour l\'utilisation dans d\'autres sites et outils'
|
||||
});
|
||||
}]);
|
||||
|
||||
133
app/js/i18n/it.js
Normal file
@@ -0,0 +1,133 @@
|
||||
angular.module('app').config(['$translateProvider', 'localeFormatProvider', function($translateProvider, localeFormatProvider) {
|
||||
|
||||
// Declare number format settings
|
||||
localeFormatProvider.addFormat('es', {
|
||||
decimal: ',',
|
||||
thousands: '.',
|
||||
grouping: [3],
|
||||
currency: ['€', ''],
|
||||
dateTime: '%A %e %B %Y, %X',
|
||||
date: '%d/%m/%Y',
|
||||
time: '%H:%M:%S',
|
||||
periods: ['AM', 'PM'], // unused
|
||||
days: ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'],
|
||||
shortDays: ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab'],
|
||||
months: ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'],
|
||||
shortMonths: ['Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic']
|
||||
});
|
||||
|
||||
$translateProvider.translations('it', {
|
||||
PHRASE_EXPORT_DESC: 'Un export dettagliato in formato JSON della tua configurazione per essere usato in altri siti o tools',
|
||||
'A-Rated': 'Classe A',
|
||||
about: 'Info su Coriolis',
|
||||
action: 'azione',
|
||||
added: 'aggiunto',
|
||||
Advanced: 'Avanzato',
|
||||
agility: 'agilità',
|
||||
ammo: 'munizioni',
|
||||
PHRASE_CONFIRMATION: 'Sei sicuro ?',
|
||||
armour: 'armatura',
|
||||
available: 'disponibile',
|
||||
bins: 'contenitore',
|
||||
build: 'configurazione',
|
||||
'build name': 'Nome Configurazione',
|
||||
builds: 'configurazioni',
|
||||
buy: 'compra',
|
||||
cancel: 'cancella',
|
||||
cells: 'celle',
|
||||
close: 'chiudi',
|
||||
compare: 'confronta',
|
||||
'compare all': 'confronta tutti',
|
||||
comparison: 'comparazione',
|
||||
comparisons: 'comparazioni',
|
||||
component: 'componente',
|
||||
cost: 'costo',
|
||||
costs: 'costi',
|
||||
cm: 'Contromisure',
|
||||
create: 'crea',
|
||||
'create new': 'crea nuovo',
|
||||
credits: 'crediti',
|
||||
damage: 'danno',
|
||||
delete: 'elimina',
|
||||
'delete all': 'elimina tutto',
|
||||
dep: 'dep',
|
||||
deployed: 'deployed',
|
||||
'detailed export': 'esportazione dettagliata',
|
||||
disabled: 'disabilita',
|
||||
discount: 'sconto',
|
||||
done: 'fatto',
|
||||
'edit data': 'modifica i dati',
|
||||
efficiency: 'efficenza',
|
||||
empty: 'vuoto',
|
||||
Enforcer: 'Rinforzatore',
|
||||
'enter name': 'Inserisci un nome',
|
||||
export: 'esporta',
|
||||
fixed: 'fissi',
|
||||
fuel: 'carburante',
|
||||
'full tank': 'Serbatoio Pieno',
|
||||
huge: 'enorme',
|
||||
hull: 'corazza',
|
||||
import: 'importa',
|
||||
'import all': 'importa tutto',
|
||||
insurance: 'assicurazione',
|
||||
'internal compartments': 'compartimenti interni',
|
||||
'jump range': 'distanza di salto',
|
||||
jumps: 'salti',
|
||||
laden: 'carico',
|
||||
language: 'lingua',
|
||||
large: 'largo',
|
||||
mass: 'massa',
|
||||
max: 'massimo',
|
||||
'max mass': 'massa massimale',
|
||||
medium: 'medio',
|
||||
'net cost': 'costo netto',
|
||||
PHRASE_NO_BUILDS: 'nessuna configurazione è stata aggiunta per la comparazione!',
|
||||
PHRASE_NO_RETROCH: 'Nessun cambiamento di Retrofitting',
|
||||
none: 'nessuno',
|
||||
'none created': 'nessuno creato',
|
||||
optimal: 'ottimale',
|
||||
'optimal mass': 'massa ottimale',
|
||||
'optimize mass': 'ottimizza la massa',
|
||||
overwrite: 'sovrasscrivi',
|
||||
PHRASE_IMPORT: 'Incolla un JSON o importalo qua',
|
||||
penetration: 'penetrazione',
|
||||
power: 'potenza',
|
||||
priority: 'priorità',
|
||||
proceed: 'procedi',
|
||||
range: 'distanza',
|
||||
rate: 'rateo',
|
||||
recharge: 'ricarica',
|
||||
reload: 'ricarica',
|
||||
rename: 'rinomina',
|
||||
repair: 'ripara',
|
||||
reset: 'resetta',
|
||||
retracted: 'retratti',
|
||||
'retrofit costs': 'costi di retrofit',
|
||||
'retrofit from': 'retrofit da',
|
||||
save: 'salva',
|
||||
sell: 'vendi',
|
||||
settings: 'impostazioni',
|
||||
shields: 'scudi',
|
||||
ship: 'nave',
|
||||
ships: 'navi',
|
||||
shortened: 'accorciato',
|
||||
size: 'grandezza',
|
||||
skip: 'salta',
|
||||
small: 'piccolo',
|
||||
speed: 'velocità',
|
||||
Stock: 'appena comprata',
|
||||
t: 'thrusters',
|
||||
time: 'tempo',
|
||||
total: 'totale',
|
||||
'total range': 'distanza totale',
|
||||
turret: 'torrette',
|
||||
type: 'tipo',
|
||||
unladen: 'scarico',
|
||||
PHRASE_UPDATE_RDY: 'Aggiornamenti disponibili ! Clicca per Aggiornare',
|
||||
utility: 'supporti',
|
||||
'utility mounts': 'supporti di utilità',
|
||||
version: 'versione',
|
||||
yes: 'sì',
|
||||
PHRASE_BACKUP_DESC: 'Esportazione di tutti i dati su Coriolis per salvarli o trasferirli in un altro Browser/dispositivo'
|
||||
});
|
||||
}]);
|
||||
@@ -3,11 +3,12 @@ angular.module('app').config(['$translateProvider', function($translateProvider)
|
||||
.useSanitizeValueStrategy('escapeParameters')
|
||||
.useStorage('Persist')
|
||||
.fallbackLanguage('en') // Use English as default/fallback language
|
||||
.registerAvailableLanguageKeys(['en', 'de', 'fr', 'ru'], { // TODO: add 'es' to the array when ready
|
||||
.registerAvailableLanguageKeys(['en', 'de', 'es', 'fr', 'it', 'ru'], {
|
||||
'en*': 'en',
|
||||
'de*': 'de',
|
||||
//'es*': 'es',
|
||||
'es*': 'es',
|
||||
'fr*': 'fr',
|
||||
'it*': 'it',
|
||||
'ru*': 'ru'
|
||||
})
|
||||
.determinePreferredLanguage();
|
||||
@@ -15,7 +16,8 @@ angular.module('app').config(['$translateProvider', function($translateProvider)
|
||||
.value('Languages', {
|
||||
en: 'English',
|
||||
de: 'Deutsh',
|
||||
//es: 'Español',
|
||||
it: 'Italiano',
|
||||
es: 'Español',
|
||||
fr: 'Français',
|
||||
ru: 'ру́сский язы́к'
|
||||
ru: 'ру́сский'
|
||||
});
|
||||
|
||||
@@ -31,7 +31,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
armour: 'Броня',
|
||||
am: 'Ремонтный модуль',
|
||||
available: 'доступно',
|
||||
backup: 'бэкап',
|
||||
backup: 'Резервная копия',
|
||||
'Basic Discovery Scanner': 'Стандартный исследовательский сканер',
|
||||
bl: 'Лучевой лазер',
|
||||
beta: 'Бета',
|
||||
@@ -40,11 +40,11 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
build: 'cборка',
|
||||
'build name': 'название сборки',
|
||||
builds: 'cборки',
|
||||
bh: 'Переборки',
|
||||
bh: 'Корпус',
|
||||
ul: 'Мультиимпульсный лазер',
|
||||
buy: 'купить',
|
||||
cancel: 'отменить',
|
||||
c: 'Крупнокалиберное орудие',
|
||||
c: 'Пушка',
|
||||
capital: 'Крупный',
|
||||
cargo: 'Груз',
|
||||
'Cargo Hatch': 'Грузовой люк',
|
||||
@@ -71,7 +71,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
delete: 'Удалить',
|
||||
'delete all': 'Удалить все',
|
||||
dep: 'Вып',
|
||||
deployed: 'Готово',
|
||||
deployed: 'Открыты',
|
||||
'detailed export': 'Подробный экспорт',
|
||||
'Detailed Surface Scanner': 'Подробный сканер поверхности',
|
||||
disabled: 'Отключено',
|
||||
@@ -79,15 +79,15 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
Distruptor: 'Дисраптор',
|
||||
dc: 'Стыковочный компьютер',
|
||||
done: 'готово',
|
||||
DPS: 'ПВС',
|
||||
DPS: 'УВС',
|
||||
'edit data': 'Редактирование',
|
||||
efficiency: 'Эффективность',
|
||||
'Electronic Countermeasure': 'Электронное противодействие',
|
||||
'Electronic Countermeasure': 'Электронная противомера',
|
||||
empty: 'пусто',
|
||||
Enforcer: 'Энфорсер',
|
||||
ENG: 'ДВГ',
|
||||
'enter name': 'Введите имя',
|
||||
EPS: 'э/с',
|
||||
EPS: 'ЭВС',
|
||||
export: 'Экспорт',
|
||||
fixed: 'Фиксированое',
|
||||
forum: 'Форум',
|
||||
@@ -97,11 +97,11 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
|
||||
fi: 'Перехватчик FSD',
|
||||
fuel: 'Топливо',
|
||||
fs: 'Топливозаборник',
|
||||
fs: 'Топливосборщик',
|
||||
ft: 'Топливный бак',
|
||||
fx: 'Контроллер Дрона-заправщика',
|
||||
'full tank': 'Полный бак',
|
||||
Gimballed: 'Доводимое',
|
||||
Gimballed: 'Шарнирное',
|
||||
H: 'O',
|
||||
hardpoints: 'Орудийные порты',
|
||||
hb: 'Контроллер "дрон-взломщик"',
|
||||
@@ -133,13 +133,13 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
max: 'Макс',
|
||||
'max mass': 'Максимальная масса',
|
||||
medium: 'Средний',
|
||||
'Military Grade Composite': 'Композит военного класса',
|
||||
nl: 'Минный аппарат',
|
||||
'Military Grade Composite': 'Военный композит',
|
||||
nl: 'Минноукладчик',
|
||||
'Mining Lance': 'Бурильная сулица',
|
||||
ml: 'Горный лазер',
|
||||
'Mirrored Surface Composite': 'Композит с зеркальной поверхностью',
|
||||
ml: 'Бурильный лазер',
|
||||
'Mirrored Surface Composite': 'Зеркальный композит',
|
||||
mr: 'Ракетная установка',
|
||||
mc: 'Скорострельное орудие',
|
||||
mc: 'Многоствольное орудие',
|
||||
'net cost': 'разница в цене',
|
||||
no: 'Нет',
|
||||
PHRASE_NO_BUILDS: 'Нечего сравнивать',
|
||||
@@ -153,7 +153,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
'optimize mass': 'Оптимизировать массу',
|
||||
overwrite: 'перезаписать',
|
||||
Pacifier: 'Миротворец',
|
||||
'Pack-Hound': 'Ракеты "Собачья стая" or original name(eng)',
|
||||
'Pack-Hound': 'Ракета "Гончая"',
|
||||
PHRASE_IMPORT: 'Для импорта вставьте код в эту форму',
|
||||
pen: 'ПБ',
|
||||
penetration: 'Пробитие',
|
||||
@@ -170,10 +170,10 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
pc: 'Контроллер "Дрон-исследователь"',
|
||||
pl: 'Импульсный лазер',
|
||||
PWR: 'Эн',
|
||||
rg: 'Рельсовая пушка',
|
||||
rg: 'Рельсотрон',
|
||||
range: 'Дальность',
|
||||
rate: 'скорость',
|
||||
'Reactive Surface Composite': 'Композитно-реактивная поверхность',
|
||||
'Reactive Surface Composite': 'Динамическая защита',
|
||||
recharge: 'Перезарядка',
|
||||
rf: 'Переработка',
|
||||
'refuel time': 'Время дозаправки',
|
||||
@@ -211,8 +211,8 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
SYS: 'СИС',
|
||||
T: 'Т',
|
||||
T_LOAD: 'Тепл.',
|
||||
'The Retributor': 'Орудие Возмездия',
|
||||
t: 'Ускорители',
|
||||
'The Retributor': '"Возмездие"',
|
||||
t: 'Двигатели',
|
||||
time: 'Время',
|
||||
tp: 'Торпедный аппарат',
|
||||
total: 'Всего',
|
||||
|
||||
@@ -143,11 +143,10 @@ angular.module('app').service('Serializer', ['lodash', 'GroupMap', 'MountMap', '
|
||||
var internal = _.map(comps.internal, function(c) { return c ? Components.findInternalId(c.group, c.class, c.rating, c.name) : 0; });
|
||||
|
||||
var hardpoints = _.map(comps.hardpoints, function(c) {
|
||||
return c ? Components.findHardpointId(c.group, c.class, c.rating, c.name, MountMap[c.mount], c.missile) : 0;
|
||||
});
|
||||
hardpoints = hardpoints.concat(_.map(comps.utility, function(c) {
|
||||
return c ? Components.findHardpointId(c.group, c.class, c.rating, c.name, MountMap[c.mount]) : 0;
|
||||
}));
|
||||
return c ? Components.findHardpointId(c.group, c.class, c.rating, c.name, MountMap[c.mount], c.missile) : 0;
|
||||
}).concat(_.map(comps.utility, function(c) {
|
||||
return c ? Components.findHardpointId(c.group, c.class, c.rating, c.name, MountMap[c.mount]) : 0;
|
||||
}));
|
||||
|
||||
// The ordering of these arrays must match the order in which they are read in Ship.buildWith
|
||||
priorities = priorities.concat(_.map(comps.hardpoints, function(c) { return (!c || c.priority === undefined) ? 0 : c.priority - 1; }),
|
||||
|
||||
@@ -117,7 +117,18 @@ angular.module('shipyard').factory('ComponentSet', ['lodash', function(_) {
|
||||
return th.class + th.rating;
|
||||
};
|
||||
|
||||
ComponentSet.prototype.lightestPowerPlant = function(powerUsed) {
|
||||
ComponentSet.prototype.lightestShieldGenerator = function(hullMass) {
|
||||
var sg = null;
|
||||
|
||||
_.forEach(this.internal.sg, function(s) {
|
||||
if (sg == null || (s.mass < sg.mass && s.minmass <= hullMass && s.maxmass > hullMass)) {
|
||||
sg = s;
|
||||
}
|
||||
});
|
||||
return sg.id;
|
||||
};
|
||||
|
||||
ComponentSet.prototype.lightestPowerPlant = function(powerUsed, rating) {
|
||||
var pps = this.common[0];
|
||||
var pp = null;
|
||||
|
||||
@@ -126,7 +137,7 @@ angular.module('shipyard').factory('ComponentSet', ['lodash', function(_) {
|
||||
pp = pps[i];
|
||||
}
|
||||
}
|
||||
return pp.class + (pp.rating != 'D' ? 'A' : 'D'); // Use A rated if C,E
|
||||
return pp.class + (pp.rating != 'D' || rating == 'A' ? 'A' : 'D'); // Use A rated if C,E
|
||||
};
|
||||
|
||||
return ComponentSet;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength', 'calcJumpRange', 'calcTotalRange', 'lodash', 'ArmourMultiplier', function(Components, calcShieldStrength, calcJumpRange, calcTotalRange, _, ArmourMultiplier) {
|
||||
angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength', 'calcJumpRange', 'calcTotalRange', 'calcSpeed', 'lodash', 'ArmourMultiplier', function(Components, calcShieldStrength, calcJumpRange, calcTotalRange, calcSpeed, _, ArmourMultiplier) {
|
||||
|
||||
/**
|
||||
* Returns the power usage type of a slot and it's particular component
|
||||
@@ -8,9 +8,6 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
|
||||
*/
|
||||
function powerUsageType(slot, component) {
|
||||
if (component) {
|
||||
if (component.retractedOnly) {
|
||||
return 'retOnly';
|
||||
}
|
||||
if (component.passive) {
|
||||
return 'retracted';
|
||||
}
|
||||
@@ -29,6 +26,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
|
||||
this.id = id;
|
||||
this.cargoHatch = { c: Components.cargoHatch(), type: 'SYS' };
|
||||
this.bulkheads = { incCost: true, maxClass: 8 };
|
||||
this.availCS = Components.forShip(id);
|
||||
|
||||
for (var p in properties) { this[p] = properties[p]; } // Copy all base properties from shipData
|
||||
|
||||
@@ -71,6 +69,91 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
|
||||
];
|
||||
}
|
||||
|
||||
//*********//
|
||||
// GETTERS //
|
||||
//*********//
|
||||
|
||||
Ship.prototype.getAvailableComponents = function() {
|
||||
return this.availCS;
|
||||
};
|
||||
|
||||
Ship.prototype.getSlotStatus = function(slot, deployed) {
|
||||
if (!slot.c) { // Empty Slot
|
||||
return 0; // No Status (Not possible to be active in this state)
|
||||
} else if (!slot.enabled) {
|
||||
return 1; // Disabled
|
||||
} else if (deployed) {
|
||||
return this.priorityBands[slot.priority].deployedSum >= this.powerAvailable ? 2 : 3; // Offline : Online
|
||||
// Active hardpoints have no retracted status
|
||||
} else if ((slot.cat === 1 && !slot.c.passive)) {
|
||||
return 0; // No Status (Not possible to be active in this state)
|
||||
}
|
||||
return this.priorityBands[slot.priority].retractedSum >= this.powerAvailable ? 2 : 3; // Offline : Online
|
||||
};
|
||||
|
||||
/**
|
||||
* Calculate jump range using the installed FSD and the
|
||||
* specified mass which can be more or less than ships actual mass
|
||||
* @param {number} mass Mass in tons
|
||||
* @param {number} fuel Fuel available in tons
|
||||
* @return {number} Jump range in Light Years
|
||||
*/
|
||||
Ship.prototype.getJumpRangeForMass = function(mass, fuel) {
|
||||
return calcJumpRange(mass, this.common[2].c, fuel);
|
||||
};
|
||||
|
||||
/**
|
||||
* Find an internal slot that has an installed component of the specific group.
|
||||
*
|
||||
* @param {string} group Component group/type
|
||||
* @return {number} The index of the slot in ship.internal
|
||||
*/
|
||||
Ship.prototype.findInternalByGroup = function(group) {
|
||||
var index;
|
||||
if (group == 'sg' || group == 'psg') {
|
||||
index = _.findIndex(this.internal, function(slot) {
|
||||
return slot.c && (slot.c.grp == 'sg' || slot.c.grp == 'psg');
|
||||
});
|
||||
} else {
|
||||
index = _.findIndex(this.internal, function(slot) {
|
||||
return slot.c && slot.c.grp == group;
|
||||
});
|
||||
}
|
||||
|
||||
if (index !== -1) {
|
||||
return this.internal[index];
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
//**********************//
|
||||
// Mutate / Update Ship //
|
||||
//**********************//
|
||||
|
||||
/**
|
||||
* Recalculate all item costs and total based on discounts.
|
||||
* @param {number} shipCostMultiplier Ship cost multiplier discount (e.g. 0.9 === 10% discount)
|
||||
* @param {number} componentCostMultiplier Component cost multiplier discount (e.g. 0.75 === 25% discount)
|
||||
*/
|
||||
Ship.prototype.applyDiscounts = function(shipCostMultiplier, componentCostMultiplier) {
|
||||
var total = 0;
|
||||
var costList = this.costList;
|
||||
|
||||
for (var i = 0, l = costList.length; i < l; i++) {
|
||||
var item = costList[i];
|
||||
if (item.c && item.c.cost) {
|
||||
item.discountedCost = item.c.cost * (item.type == 'SHIP' ? shipCostMultiplier : componentCostMultiplier);
|
||||
if (item.incCost) {
|
||||
total += item.discountedCost;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.shipCostMultiplier = shipCostMultiplier;
|
||||
this.componentCostMultiplier = componentCostMultiplier;
|
||||
this.totalCost = total;
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Builds/Updates the ship instance with the components[comps] passed in.
|
||||
* @param {object} comps Collection of components used to build the ship
|
||||
@@ -156,107 +239,54 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
|
||||
|
||||
// Update aggragated stats
|
||||
if (comps) {
|
||||
this.updatePower();
|
||||
this.updateJumpStats();
|
||||
this.updateShieldStrength();
|
||||
this.updatePower()
|
||||
.updateJumpStats()
|
||||
.updateShieldStrength()
|
||||
.updateTopSpeed();
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
Ship.prototype.useBulkhead = function(index, preventUpdate) {
|
||||
var oldBulkhead = this.bulkheads.c;
|
||||
this.bulkheads.id = index;
|
||||
this.bulkheads.c = Components.bulkheads(this.id, index);
|
||||
this.bulkheads.discountedCost = this.bulkheads.c.cost * this.componentCostMultiplier;
|
||||
this.armourMultiplier = ArmourMultiplier[index];
|
||||
this.updateStats(this.bulkheads, this.bulkheads.c, oldBulkhead, preventUpdate);
|
||||
Ship.prototype.emptyHardpoints = function() {
|
||||
for (var i = this.hardpoints.length; i--; ) {
|
||||
this.use(this.hardpoints[i], null, null);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Update a slot with a the component if the id is different from the current id for this slot.
|
||||
* Has logic handling components that you may only have 1 of (Shield Generator or Refinery).
|
||||
*
|
||||
* @param {object} slot The component slot
|
||||
* @param {string} id Unique ID for the selected component
|
||||
* @param {object} component Properties for the selected component
|
||||
* @param {boolean} preventUpdate If true, do not update aggregated stats
|
||||
*/
|
||||
Ship.prototype.use = function(slot, id, component, preventUpdate) {
|
||||
if (slot.id != id) { // Selecting a different component
|
||||
// Slot is an internal slot, is not being emptied, and the selected component group/type must be of unique
|
||||
if (slot.cat == 2 && component && _.includes(['psg', 'sg', 'rf', 'fs'], component.grp)) {
|
||||
// Find another internal slot that already has this type/group installed
|
||||
var similarSlot = this.findInternalByGroup(component.grp);
|
||||
// If another slot has an installed component with of the same type
|
||||
if (!preventUpdate && similarSlot && similarSlot !== slot) {
|
||||
this.updateStats(similarSlot, null, similarSlot.c, true); // Update stats but don't trigger a global update
|
||||
similarSlot.id = similarSlot.c = null; // Empty the slot
|
||||
similarSlot.discountedCost = 0;
|
||||
}
|
||||
Ship.prototype.emptyInternal = function() {
|
||||
for (var i = this.internal.length; i--; ) {
|
||||
this.use(this.internal[i], null, null);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
Ship.prototype.emptyUtility = function() {
|
||||
for (var i = this.hardpoints.length; i--; ) {
|
||||
if (!this.hardpoints[i].maxClass) {
|
||||
this.use(this.hardpoints[i], null, null);
|
||||
}
|
||||
var oldComponent = slot.c;
|
||||
slot.id = id;
|
||||
slot.c = component;
|
||||
slot.discountedCost = (component && component.cost) ? component.cost * this.componentCostMultiplier : 0;
|
||||
this.updateStats(slot, component, oldComponent, preventUpdate);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Calculate jump range using the installed FSD and the
|
||||
* specified mass which can be more or less than ships actual mass
|
||||
* @param {number} mass Mass in tons
|
||||
* @param {number} fuel Fuel available in tons
|
||||
* @return {number} Jump range in Light Years
|
||||
*/
|
||||
Ship.prototype.jumpRangeWithMass = function(mass, fuel) {
|
||||
return calcJumpRange(mass, this.common[2].c, fuel);
|
||||
};
|
||||
|
||||
/**
|
||||
* Find an internal slot that has an installed component of the specific group.
|
||||
*
|
||||
* @param {string} group Component group/type
|
||||
* @return {number} The index of the slot in ship.internal
|
||||
*/
|
||||
Ship.prototype.findInternalByGroup = function(group) {
|
||||
var index;
|
||||
if (group == 'sg' || group == 'psg') {
|
||||
index = _.findIndex(this.internal, function(slot) {
|
||||
return slot.c && (slot.c.grp == 'sg' || slot.c.grp == 'psg');
|
||||
});
|
||||
} else {
|
||||
index = _.findIndex(this.internal, function(slot) {
|
||||
return slot.c && slot.c.grp == group;
|
||||
});
|
||||
}
|
||||
|
||||
if (index !== -1) {
|
||||
return this.internal[index];
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
/**
|
||||
* Will change the priority of the specified slot if the new priority is valid
|
||||
* @param {object} slot The slot to be updated
|
||||
* @param {number} newPriority The new priority to be set
|
||||
* @return {boolean} Returns true if the priority was changed (within range)
|
||||
*/
|
||||
Ship.prototype.changePriority = function(slot, newPriority) {
|
||||
if (newPriority >= 0 && newPriority < this.priorityBands.length) {
|
||||
var oldPriority = slot.priority;
|
||||
slot.priority = newPriority;
|
||||
|
||||
if (slot.enabled) { // Only update power if the slot is enabled
|
||||
var usage = powerUsageType(slot, slot.c);
|
||||
this.priorityBands[oldPriority][usage] -= slot.c.power;
|
||||
this.priorityBands[newPriority][usage] += slot.c.power;
|
||||
this.updatePower();
|
||||
Ship.prototype.emptyWeapons = function() {
|
||||
for (var i = this.hardpoints.length; i--; ) {
|
||||
if (this.hardpoints[i].maxClass) {
|
||||
this.use(this.hardpoints[i], null, null);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Optimize for the lower mass build that can still boost and power the ship
|
||||
* without power management.
|
||||
* @param {object} c Common Component overrides
|
||||
*/
|
||||
Ship.prototype.optimizeMass = function(c) {
|
||||
return this.emptyHardpoints().emptyInternal().useLightestCommon(c);
|
||||
};
|
||||
|
||||
Ship.prototype.setCostIncluded = function(item, included) {
|
||||
@@ -264,6 +294,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
|
||||
this.totalCost += included ? item.discountedCost : -item.discountedCost;
|
||||
}
|
||||
item.incCost = included;
|
||||
return this;
|
||||
};
|
||||
|
||||
Ship.prototype.setSlotEnabled = function(slot, enabled) {
|
||||
@@ -284,20 +315,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
|
||||
this.updatePower();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Ship.prototype.getSlotStatus = function(slot, deployed) {
|
||||
if (!slot.c) { // Empty Slot
|
||||
return 0; // No Status (Not possible)
|
||||
} else if (!slot.enabled) {
|
||||
return 1; // Disabled
|
||||
} else if (deployed && !slot.c.retractedOnly) { // Certain component (e.g. Detaild Surface scanner) are power only while retracted
|
||||
return this.priorityBands[slot.priority].deployedSum >= this.powerAvailable ? 2 : 3; // Offline : Online
|
||||
// Active hardpoints have no retracted status
|
||||
} else if ((deployed && slot.c.retractedOnly) || (slot.cat === 1 && !slot.c.passive)) {
|
||||
return 0; // No Status (Not possible)
|
||||
}
|
||||
return this.priorityBands[slot.priority].retractedSum >= this.powerAvailable ? 2 : 3; // Offline : Online
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -375,9 +393,11 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
|
||||
if (powerChange) {
|
||||
this.updatePower();
|
||||
}
|
||||
this.updateTopSpeed();
|
||||
this.updateJumpStats();
|
||||
this.updateShieldStrength();
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
Ship.prototype.updatePower = function() {
|
||||
@@ -393,11 +413,20 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
|
||||
this.powerAvailable = this.common[0].c.pGen;
|
||||
this.powerRetracted = prevRetracted;
|
||||
this.powerDeployed = prevDeployed;
|
||||
return this;
|
||||
};
|
||||
|
||||
Ship.prototype.updateTopSpeed = function() {
|
||||
var speeds = calcSpeed(this.unladenMass + this.fuelCapacity, this.speed, this.boost, this.common[1].c, this.pipSpeed);
|
||||
this.topSpeed = speeds['4 Pips'];
|
||||
this.topBoost = speeds.boost;
|
||||
return this;
|
||||
};
|
||||
|
||||
Ship.prototype.updateShieldStrength = function() {
|
||||
var sgSlot = this.findInternalByGroup('sg'); // Find Shield Generator slot Index if any
|
||||
this.shieldStrength = sgSlot && sgSlot.enabled ? calcShieldStrength(this.hullMass, this.baseShieldStrength, sgSlot.c, this.shieldMultiplier) : 0;
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -411,29 +440,160 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
|
||||
this.unladenTotalRange = calcTotalRange(this.unladenMass, fsd, this.fuelCapacity);
|
||||
this.ladenTotalRange = calcTotalRange(this.unladenMass + this.cargoCapacity, fsd, this.fuelCapacity);
|
||||
this.maxJumpCount = Math.ceil(this.fuelCapacity / fsd.maxfuel);
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Update a slot with a the component if the id is different from the current id for this slot.
|
||||
* Has logic handling components that you may only have 1 of (Shield Generator or Refinery).
|
||||
*
|
||||
* @param {object} slot The component slot
|
||||
* @param {string} id Unique ID for the selected component
|
||||
* @param {object} component Properties for the selected component
|
||||
* @param {boolean} preventUpdate If true, do not update aggregated stats
|
||||
*/
|
||||
Ship.prototype.use = function(slot, id, component, preventUpdate) {
|
||||
if (slot.id != id) { // Selecting a different component
|
||||
// Slot is an internal slot, is not being emptied, and the selected component group/type must be of unique
|
||||
if (slot.cat == 2 && component && _.includes(['psg', 'sg', 'rf', 'fs'], component.grp)) {
|
||||
// Find another internal slot that already has this type/group installed
|
||||
var similarSlot = this.findInternalByGroup(component.grp);
|
||||
// If another slot has an installed component with of the same type
|
||||
if (!preventUpdate && similarSlot && similarSlot !== slot) {
|
||||
this.updateStats(similarSlot, null, similarSlot.c);
|
||||
similarSlot.id = similarSlot.c = null; // Empty the slot
|
||||
similarSlot.discountedCost = 0;
|
||||
}
|
||||
}
|
||||
var oldComponent = slot.c;
|
||||
slot.id = id;
|
||||
slot.c = component;
|
||||
slot.discountedCost = (component && component.cost) ? component.cost * this.componentCostMultiplier : 0;
|
||||
this.updateStats(slot, component, oldComponent, preventUpdate);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Recalculate all item costs and total based on discounts.
|
||||
* @param {number} shipCostMultiplier Ship cost multiplier discount (e.g. 0.9 === 10% discount)
|
||||
* @param {number} componentCostMultiplier Component cost multiplier discount (e.g. 0.75 === 25% discount)
|
||||
* [useBulkhead description]
|
||||
* @param {[type]} index [description]
|
||||
* @param {[type]} preventUpdate [description]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
Ship.prototype.applyDiscounts = function(shipCostMultiplier, componentCostMultiplier) {
|
||||
var total = 0;
|
||||
var costList = this.costList;
|
||||
Ship.prototype.useBulkhead = function(index, preventUpdate) {
|
||||
var oldBulkhead = this.bulkheads.c;
|
||||
this.bulkheads.id = index;
|
||||
this.bulkheads.c = Components.bulkheads(this.id, index);
|
||||
this.bulkheads.discountedCost = this.bulkheads.c.cost * this.componentCostMultiplier;
|
||||
this.armourMultiplier = ArmourMultiplier[index];
|
||||
this.updateStats(this.bulkheads, this.bulkheads.c, oldBulkhead, preventUpdate);
|
||||
|
||||
for (var i = 0, l = costList.length; i < l; i++) {
|
||||
var item = costList[i];
|
||||
if (item.c && item.c.cost) {
|
||||
item.discountedCost = item.c.cost * (item.type == 'SHIP' ? shipCostMultiplier : componentCostMultiplier);
|
||||
if (item.incCost) {
|
||||
total += item.discountedCost;
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* [useCommon description]
|
||||
* @param {[type]} rating [description]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
Ship.prototype.useCommon = function(rating) {
|
||||
for (var i = this.common.length - 1; i--; ) { // All except Fuel Tank
|
||||
var id = this.common[i].maxClass + rating;
|
||||
this.use(this.common[i], id, Components.common(i, id));
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Use the lightest common components unless otherwise specified
|
||||
* @param {object} c Component overrides
|
||||
*/
|
||||
Ship.prototype.useLightestCommon = function(c) {
|
||||
c = c || {};
|
||||
|
||||
var common = this.common,
|
||||
pd = c.pd || this.availCS.lightestPowerDist(this.boostEnergy), // Find lightest Power Distributor that can still boost;
|
||||
fsd = c.fsd || common[2].maxClass + 'A',
|
||||
ls = c.ls || common[3].maxClass + 'D',
|
||||
s = c.s || common[5].maxClass + 'D',
|
||||
updated;
|
||||
|
||||
this.useBulkhead(0)
|
||||
.use(common[2], fsd, Components.common(2, fsd)) // FSD
|
||||
.use(common[3], ls, Components.common(3, ls)) // Life Support
|
||||
.use(common[5], s, Components.common(5, s)) // Sensors
|
||||
.use(common[4], pd, Components.common(4, pd)); // Power Distributor
|
||||
|
||||
// Thrusters and Powerplant must be determined after all other components are mounted
|
||||
// Loop at least once to determine absolute lightest PD and TH
|
||||
do {
|
||||
updated = false;
|
||||
// Find lightest Thruster that still works for the ship at max mass
|
||||
var th = c.th || this.availCS.lightestThruster(this.ladenMass);
|
||||
if (th != common[1].id) {
|
||||
this.use(common[1], th, Components.common(1, th));
|
||||
updated = true;
|
||||
}
|
||||
// Find lightest Power plant that can power the ship
|
||||
var pp = c.pp || this.availCS.lightestPowerPlant(Math.max(this.powerRetracted, this.powerDeployed), c.ppRating);
|
||||
|
||||
if (pp != common[0].id) {
|
||||
this.use(common[0], pp, Components.common(0, pp));
|
||||
updated = true;
|
||||
}
|
||||
} while (updated);
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
Ship.prototype.useUtility = function(group, rating, clobber) {
|
||||
var component = Components.findHardpoint(group, 0, rating);
|
||||
for (var i = this.hardpoints.length; i--; ) {
|
||||
if ((clobber || !this.hardpoints[i].c) && !this.hardpoints[i].maxClass) {
|
||||
this.use(this.hardpoints[i], component.id, component);
|
||||
}
|
||||
}
|
||||
this.shipCostMultiplier = shipCostMultiplier;
|
||||
this.componentCostMultiplier = componentCostMultiplier;
|
||||
this.totalCost = total;
|
||||
return this;
|
||||
};
|
||||
|
||||
Ship.prototype.useWeapon = function(group, mount, clobber, missile) {
|
||||
var hps = this.hardpoints;
|
||||
for (var i = hps.length; i--; ) {
|
||||
if (hps[i].maxClass) {
|
||||
var size = hps[i].maxClass, component;
|
||||
do {
|
||||
component = Components.findHardpoint(group, size, null, null, mount, missile);
|
||||
if ((clobber || !hps[i].c) && component) {
|
||||
this.use(hps[i], component.id, component);
|
||||
break;
|
||||
}
|
||||
} while (!component && (--size > 0));
|
||||
}
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Will change the priority of the specified slot if the new priority is valid
|
||||
* @param {object} slot The slot to be updated
|
||||
* @param {number} newPriority The new priority to be set
|
||||
* @return {boolean} Returns true if the priority was changed (within range)
|
||||
*/
|
||||
Ship.prototype.changePriority = function(slot, newPriority) {
|
||||
if (newPriority >= 0 && newPriority < this.priorityBands.length) {
|
||||
var oldPriority = slot.priority;
|
||||
slot.priority = newPriority;
|
||||
|
||||
if (slot.enabled) { // Only update power if the slot is enabled
|
||||
var usage = powerUsageType(slot, slot.c);
|
||||
this.priorityBands[oldPriority][usage] -= slot.c.power;
|
||||
this.priorityBands[newPriority][usage] += slot.c.power;
|
||||
this.updatePower();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
return Ship;
|
||||
|
||||
@@ -10,15 +10,16 @@ angular.module('shipyard', ['ngLodash'])
|
||||
// Create 'angularized' references to DB. This will aid testing
|
||||
.constant('ShipsDB', DB.ships)
|
||||
.constant('ComponentsDB', DB.components)
|
||||
.value('ArmourMultiplier', [
|
||||
.constant('ArmourMultiplier', [
|
||||
1, // Lightweight
|
||||
1.4, // Reinforced
|
||||
1.945, // Military
|
||||
1.945, // Mirrored
|
||||
1.945 // Reactive
|
||||
])
|
||||
.constant('SizeMap', ['', 'small', 'medium', 'large', 'capital'])
|
||||
// Map to lookup group labels/names for component grp, used for JSON Serialization
|
||||
.value('GroupMap', {
|
||||
.constant('GroupMap', {
|
||||
// Common
|
||||
pp: 'Power Plant',
|
||||
t: 'Thrusters',
|
||||
@@ -33,7 +34,7 @@ angular.module('shipyard', ['ngLodash'])
|
||||
sc: 'Scanner',
|
||||
am: 'Auto Field-Maintenance Unit',
|
||||
cr: 'Cargo Rack',
|
||||
fi: 'FSD Interdictor',
|
||||
fi: 'Frame Shift Drive Interdictor',
|
||||
hb: 'Hatch Breaker Limpet Controller',
|
||||
hr: 'Hull Reinforcement Package',
|
||||
rf: 'Refinery',
|
||||
@@ -64,7 +65,7 @@ angular.module('shipyard', ['ngLodash'])
|
||||
sb: 'Shield Booster',
|
||||
tp: 'Torpedo Pylon'
|
||||
})
|
||||
.value('MountMap', {
|
||||
.constant('MountMap', {
|
||||
'F': 'Fixed',
|
||||
'G': 'Gimballed',
|
||||
'T': 'Turret',
|
||||
@@ -78,7 +79,7 @@ angular.module('shipyard', ['ngLodash'])
|
||||
*
|
||||
* @type {Array}
|
||||
*/
|
||||
.value('ShipFacets', [
|
||||
.constant('ShipFacets', [
|
||||
{ // 0
|
||||
title: 'agility',
|
||||
props: ['agility'],
|
||||
@@ -87,10 +88,10 @@ angular.module('shipyard', ['ngLodash'])
|
||||
},
|
||||
{ // 1
|
||||
title: 'speed',
|
||||
props: ['speed', 'boost'],
|
||||
props: ['topSpeed', 'topBoost'],
|
||||
lbls: ['thrusters', 'boost'],
|
||||
unit: 'm/s',
|
||||
fmt: 'fRound'
|
||||
fmt: 'fCrd'
|
||||
},
|
||||
{ // 2
|
||||
title: 'armour',
|
||||
@@ -161,7 +162,7 @@ angular.module('shipyard', ['ngLodash'])
|
||||
/**
|
||||
* Set of all available / theoretical discounts
|
||||
*/
|
||||
.value('Discounts', {
|
||||
.constant('Discounts', {
|
||||
'0%': 1,
|
||||
'5%': 0.95,
|
||||
'10%': 0.90,
|
||||
@@ -204,7 +205,6 @@ angular.module('shipyard', ['ngLodash'])
|
||||
/**
|
||||
* Calculate the a ships shield strength based on mass, shield generator and shield boosters used.
|
||||
*
|
||||
* @private
|
||||
* @param {number} mass Current mass of the ship
|
||||
* @param {number} shields Base Shield strength MJ for ship
|
||||
* @param {object} sg The shield generator used
|
||||
@@ -212,30 +212,41 @@ angular.module('shipyard', ['ngLodash'])
|
||||
* @return {number} Approximate shield strengh in MJ
|
||||
*/
|
||||
.value('calcShieldStrength', function(mass, shields, sg, multiplier) {
|
||||
if (mass <= sg.minmass) {
|
||||
var opt;
|
||||
if (mass < sg.minmass) {
|
||||
return shields * multiplier * sg.minmul;
|
||||
}
|
||||
if (mass > sg.maxmass) {
|
||||
return shields * multiplier * sg.maxmul;
|
||||
}
|
||||
if (mass < sg.optmass) {
|
||||
return shields * multiplier * (sg.minmul + (mass - sg.minmass) / (sg.optmass - sg.minmass) * (sg.optmul - sg.minmul));
|
||||
opt = (sg.optmass - mass) / (sg.optmass - sg.minmass);
|
||||
opt = 1 - Math.pow(1 - opt, 0.87);
|
||||
return shields * multiplier * ((opt * sg.minmul) + ((1 - opt) * sg.optmul));
|
||||
} else {
|
||||
opt = (sg.optmass - mass) / (sg.maxmass - sg.optmass);
|
||||
opt = -1 + Math.pow(1 + opt, 2.425);
|
||||
return shields * multiplier * ( (-1 * opt * sg.maxmul) + ((1 + opt) * sg.optmul) );
|
||||
}
|
||||
if (mass < sg.maxmass) {
|
||||
return shields * multiplier * (sg.optmul + (mass - sg.optmass) / (sg.maxmass - sg.optmass) * (sg.maxmul - sg.optmul));
|
||||
}
|
||||
return shields * multiplier * sg.maxmul;
|
||||
})
|
||||
/**
|
||||
* Calculate the a ships speed based on mass, and thrusters. Currently Innacurate / Incomplete :(
|
||||
* Calculate the a ships speed based on mass, and thrusters.
|
||||
*
|
||||
* @private
|
||||
* @param {number} mass Current mass of the ship
|
||||
* @param {number} baseSpeed Base speed m/s for ship
|
||||
* @param {number} baseBoost Base boost m/s for ship
|
||||
* @param {object} thrusters The shield generator used
|
||||
* @return {object} Approximate speed and boost speed in m/s
|
||||
* @param {number} baseBoost Base boost speed m/s for ship
|
||||
* @param {object} thrusters The Thrusters used
|
||||
* @param {number} pipSpeed Speed pip multiplier
|
||||
* @return {object} Approximate speed by pips
|
||||
*/
|
||||
.value('calcSpeed', function(mass, baseSpeed, baseBoost) { //, thrusters) {
|
||||
//var speed = baseSpeed * (1 + ((thrusters.optmass / mass) * 0.1 ) ); // TODO: find thruser coefficient(s)
|
||||
//var boost = baseBoost * (1 + ((thrusters.optmass / mass) * 0.1 ) );
|
||||
.value('calcSpeed', function(mass, baseSpeed, baseBoost, thrusters, pipSpeed) {
|
||||
var multiplier = mass > thrusters.maxmass ? 0 : ((1 - thrusters.M) + (thrusters.M * Math.pow(3 - (2 * Math.max(0.5, mass / thrusters.optmass)), thrusters.P)));
|
||||
var speed = baseSpeed * multiplier;
|
||||
|
||||
return { boost: baseSpeed, speed: baseBoost };
|
||||
return {
|
||||
'0 Pips': speed * (1 - (pipSpeed * 4)),
|
||||
'2 Pips': speed * (1 - (pipSpeed * 2)),
|
||||
'4 Pips': speed,
|
||||
'boost': baseBoost * multiplier
|
||||
};
|
||||
});
|
||||
|
||||
@@ -38,61 +38,117 @@ angular.module('shipyard').service('Components', ['lodash', 'ComponentsDB', 'Shi
|
||||
return null;
|
||||
};
|
||||
|
||||
this.findInternalId = function(groupName, clss, rating, name) {
|
||||
/**
|
||||
* Finds an internal Component based on Class, Rating, Group and/or name.
|
||||
* At least one ofGroup name or unique component name must be provided
|
||||
*
|
||||
* @param {string} groupName [Optional] Full name or abbreviated name for component group
|
||||
* @param {integer} clss Component Class
|
||||
* @param {string} rating Component Rating
|
||||
* @param {string} name [Optional] Long/unique name for component -e.g. 'Advanced Discover Scanner'
|
||||
* @return {String} The id of the component if found, null if not found
|
||||
*/
|
||||
this.findInternal = function(groupName, clss, rating, name) {
|
||||
var groups = {};
|
||||
|
||||
if (groupName) {
|
||||
var grpCode = GrpNameToCodeMap[groupName];
|
||||
if (grpCode && !C.internal[grpCode]) {
|
||||
throw 'Invalid internal group: ' + groupName;
|
||||
if (C.internal[groupName]) {
|
||||
groups[groupName] = C.internal[groupName];
|
||||
} else {
|
||||
var grpCode = GrpNameToCodeMap[groupName];
|
||||
if (grpCode && C.internal[grpCode]) {
|
||||
groups[grpCode] = C.internal[grpCode];
|
||||
}
|
||||
}
|
||||
groups[grpCode] = C.internal[grpCode];
|
||||
} else if (name) {
|
||||
groups = C.internal;
|
||||
} else {
|
||||
throw 'Invalid group or name not provided';
|
||||
}
|
||||
|
||||
for (var g in groups) {
|
||||
var group = groups[g];
|
||||
for (var i = 0, l = group.length; i < l; i++) {
|
||||
if (group[i].class == clss && group[i].rating == rating && ((!name && !group[i].name) || group[i].name == name)) {
|
||||
return group[i].id;
|
||||
return group[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return null;
|
||||
};
|
||||
|
||||
this.findHardpointId = function(groupName, clss, rating, name, mode, missile) {
|
||||
/**
|
||||
* Finds an internal Component ID based on Class, Rating, Group and/or name.
|
||||
* At least one ofGroup name or unique component name must be provided
|
||||
*
|
||||
* @param {string} groupName [Optional] Full name or abbreviated name for component group
|
||||
* @param {integer} clss Component Class
|
||||
* @param {string} rating Component Rating
|
||||
* @param {string} name [Optional] Long/unique name for component -e.g. 'Advanced Discover Scanner'
|
||||
* @return {String} The id of the component if found, null if not found
|
||||
*/
|
||||
this.findInternalId = function(groupName, clss, rating, name) {
|
||||
var i = this.findInternal(groupName, clss, rating, name);
|
||||
return i ? i.id : 0;
|
||||
};
|
||||
|
||||
/**
|
||||
* Finds a hardpoint Component based on Class, Rating, Group and/or name.
|
||||
* At least one ofGroup name or unique component name must be provided
|
||||
*
|
||||
* @param {string} groupName [Optional] Full name or abbreviated name for component group
|
||||
* @param {integer} clss Component Class
|
||||
* @param {string} rating [Optional] Component Rating
|
||||
* @param {string} name [Optional] Long/unique name for component -e.g. 'Heat Sink Launcher'
|
||||
* @param {string} mode Mount mode/type - [F]ixed, [G]imballed, [T]urret
|
||||
* @param {string} missile [Optional] Missile type - [D]umbfire, [S]eeker
|
||||
* @return {String} The id of the component if found, null if not found
|
||||
*/
|
||||
this.findHardpoint = function(groupName, clss, rating, name, mode, missile) {
|
||||
var groups = {};
|
||||
|
||||
if (groupName) {
|
||||
var grpCode = GrpNameToCodeMap[groupName];
|
||||
if (grpCode && !C.hardpoints[grpCode]) {
|
||||
throw 'Invalid internal group: ' + groupName;
|
||||
if (C.hardpoints[groupName]) {
|
||||
groups[groupName] = C.hardpoints[groupName];
|
||||
} else {
|
||||
var grpCode = GrpNameToCodeMap[groupName];
|
||||
if (grpCode && C.hardpoints[grpCode]) {
|
||||
groups[grpCode] = C.hardpoints[grpCode];
|
||||
}
|
||||
}
|
||||
groups[grpCode] = C.hardpoints[grpCode];
|
||||
} else if (name) {
|
||||
groups = C.hardpoints;
|
||||
} else {
|
||||
throw 'Invalid group or name not provided';
|
||||
}
|
||||
|
||||
for (var g in groups) {
|
||||
var group = groups[g];
|
||||
for (var i = 0, l = group.length; i < l; i++) {
|
||||
if (group[i].class == clss && group[i].rating == rating && group[i].mode == mode
|
||||
if (group[i].class == clss && (!rating || group[i].rating == rating) && group[i].mode == mode
|
||||
&& ((!name && !group[i].name) || group[i].name == name)
|
||||
&& ((!missile && !group[i].missile) || group[i].missile == missile)
|
||||
) {
|
||||
return group[i].id;
|
||||
return group[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return null;
|
||||
};
|
||||
|
||||
/**
|
||||
* Finds a hardpoint Component ID based on Class, Rating, Group and/or name.
|
||||
* At least one of Group name or unique component name must be provided
|
||||
*
|
||||
* @param {string} groupName [Optional] Full name or abbreviated name for component group
|
||||
* @param {integer} clss Component Class
|
||||
* @param {string} rating Component Rating
|
||||
* @param {string} name [Optional] Long/unique name for component -e.g. 'Heat Sink Launcher'
|
||||
* @param {string} mode Mount mode/type - [F]ixed, [G]imballed, [T]urret
|
||||
* @param {string} missile [Optional] Missile type - [D]umbfire, [S]eeker
|
||||
* @return {String} The id of the component if found, null if not found
|
||||
*/
|
||||
this.findHardpointId = function(groupName, clss, rating, name, mode, missile) {
|
||||
var h = this.findHardpoint(groupName, clss, rating, name, mode, missile);
|
||||
return h ? h.id : 0;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
font-size: 0.8em;
|
||||
padding: 0.25em 0.5em;
|
||||
background: @primary-disabled;
|
||||
|
||||
text-transform: capitalize;
|
||||
color: @primary-bg;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@@ -39,12 +39,14 @@ svg {
|
||||
fill: @primary-disabled;
|
||||
}
|
||||
|
||||
&.y {
|
||||
text tspan:first-child {
|
||||
fill: @primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
.metric {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
.marker {
|
||||
@@ -60,5 +62,6 @@ svg {
|
||||
fill: @bgBlack;
|
||||
stroke: @secondary;
|
||||
stroke-width: 1px;
|
||||
font-size: 0.75em
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,6 +51,32 @@
|
||||
transform: scaleX(-1); /* standard */
|
||||
}
|
||||
|
||||
.section-menu {
|
||||
position: relative;
|
||||
z-index: 0;
|
||||
|
||||
&.selected {
|
||||
z-index: 1;
|
||||
h1 {
|
||||
background-color: @primary;
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
cursor: pointer;
|
||||
|
||||
.icon {
|
||||
float: right;
|
||||
margin: 0.1em 0.3em 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
.select {
|
||||
box-sizing: border-box;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#build {
|
||||
float: right;
|
||||
line-height: 2em;
|
||||
@@ -163,12 +189,6 @@ table.total {
|
||||
|
||||
.smallTablet({
|
||||
width: 50%;
|
||||
|
||||
.axis.x {
|
||||
g.tick:nth-child(2n + 1) text {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
.largePhone({
|
||||
@@ -192,12 +212,12 @@ table.total {
|
||||
&.third {
|
||||
width: 33%;
|
||||
|
||||
.largePhone({
|
||||
.smallTablet({
|
||||
width: 100% !important;
|
||||
});
|
||||
}
|
||||
|
||||
.smallTablet({
|
||||
.smallScreen({
|
||||
.axis.x {
|
||||
g.tick:nth-child(2n + 1) text {
|
||||
display: none;
|
||||
@@ -215,6 +235,19 @@ table.total {
|
||||
stroke-width: 1px;
|
||||
stroke: #000;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
svg g {
|
||||
.threshold {
|
||||
stroke: @secondary-disabled !important;
|
||||
fill: @secondary-disabled !important;
|
||||
|
||||
&.exceeded {
|
||||
stroke: @warning !important;
|
||||
fill: @warning !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#componentPriority {
|
||||
|
||||
@@ -32,3 +32,9 @@
|
||||
@rules();
|
||||
}
|
||||
}
|
||||
|
||||
.smallScreen(@rules) {
|
||||
@media only screen and /*(min-width: 601px) and */(max-width: 1400px) {
|
||||
@rules();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ select {
|
||||
|
||||
.lc, .c {
|
||||
border:1px solid @primary-disabled;
|
||||
padding: 0.1em 0.2em;
|
||||
padding: 0.1em 0.25em;
|
||||
margin: 0.3em;
|
||||
|
||||
&.warning {
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
<div class="dbl" >
|
||||
<div><ul ng-repeat="shipId in buildsList">
|
||||
{{ships[shipId].properties.name}}
|
||||
<li ng-repeat="(name, build) in allBuilds[shipId]">
|
||||
<a ui-sref-active="active" class="name" ui-sref="outfit({shipId:shipId, code:build, bn:name})" ng-bind="name"></a>
|
||||
<li ng-repeat="(i, name) in cleanedBuildList(shipId)">
|
||||
<a ui-sref-active="active" class="name" ui-sref="outfit({shipId:shipId, code:allBuilds[shipId][name], bn:name})" ng-bind="name"></a>
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
<div class="menu-list" ng-if="openedMenu=='comp'" ng-click="$event.stopPropagation();" style="white-space: nowrap;">
|
||||
<span class="cap" ng-if="!bs.hasComparisons" translate="none created"></span>
|
||||
<a ng-repeat="(name, comp) in allComparisons" ui-sref-active="active" class="block name" ui-sref="compare({name:name})" ng-bind="name"></a>
|
||||
<a ng-repeat="(i, name) in allComparisons" ui-sref-active="active" class="block name" ui-sref="compare({name:name})" ng-bind="name"></a>
|
||||
<hr />
|
||||
<a ui-sref="compare({name: 'all'})" class="block cap" translate="compare all"></a>
|
||||
<a ui-sref="compare({name: null})" class="block cap" translate="create new"></a>
|
||||
|
||||
@@ -12,6 +12,6 @@
|
||||
<div class="l" ng-if="hp.c.armourpen">{{'pen' | translate}}: {{hp.c.armourpen}}</div>
|
||||
<div class="l" ng-if="hp.c.shieldmul">+{{$r.fRPct(hp.c.shieldmul)}}</div>
|
||||
<div class="l" ng-if="hp.c.range">{{hp.c.range}} <u>km</u></div>
|
||||
<div class="l" ng-if="hp.c.ammo">{{'ammo' | translate}}: {{$r.fCrd(hp.c.clip)}}/{{$r.fCrd(hp.c.ammo)}}</div>
|
||||
<div class="l" ng-if="hp.c.ammo >= 0">{{'ammo' | translate}}: {{$r.fCrd(hp.c.clip)}}+{{$r.fCrd(hp.c.ammo)}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<div class="l" ng-if="c.c.maxmass">{{'max mass' | translate}}: {{c.c.maxmass}} <u translate="T"></u></div>
|
||||
<div class="l" ng-if="c.c.bins">{{c.c.bins}} <u translate="bins"></u></div>
|
||||
<div class="l" ng-if="c.c.rate">{{'rate' | translate}}: {{c.c.rate}} <u>Kg/s</u> {{'refuel time' | translate}}: {{$r.fTime(fuel * 1000 / c.c.rate)}}</div>
|
||||
<div class="l" ng-if="c.c.ammo">{{'ammo' | translate}}: {{c.c.ammo}}</div>
|
||||
<div class="l" ng-if="c.c.ammo">{{'ammo' | translate}}: {{$r.fCrd(c.c.ammo)}}</div>
|
||||
<div class="l" ng-if="c.c.cells">{{'cells' | translate}}: {{c.c.cells}}</div>
|
||||
<div class="l" ng-if="c.c.recharge">{{'recharge' | translate}}: {{c.c.recharge}} <u>MJ</u> {{'total' | translate}}: {{c.c.cells * c.c.recharge}} <u>MJ</u></div>
|
||||
<div class="l" ng-if="c.c.repair">{{'repair' | translate}}: {{c.c.repair}}</div>
|
||||
|
||||
@@ -13,15 +13,9 @@
|
||||
<button class="danger" ng-click="deleteBuild()" ng-disabled="!savedCode">
|
||||
<svg class="icon lg"><use xlink:href="#bin"></use></svg>
|
||||
</button>
|
||||
<button ui-sref="outfit({shipId: ship.id,code:null, bn: buildName})" ng-disabled="!code">
|
||||
<button ng-click="resetBuild()" ng-disabled="!code">
|
||||
<svg class="icon lg"><use xlink:href="#switch"></use></svg><span class="button-lbl" translate="reset"></span>
|
||||
</button>
|
||||
<button ng-click="aRatedBuild()">
|
||||
<svg class="icon lg"><use xlink:href="#a"></use></svg><span class="button-lbl" translate="A-Rated"></span>
|
||||
</button>
|
||||
<button ng-click="optimizeMassBuild()">
|
||||
<svg class="icon lg"><use xlink:href="#feather"></use></svg><span class="button-lbl" translate="optimize mass"></span>
|
||||
</button>
|
||||
<button ng-click="exportBuild($event)" ng-disabled="!buildName">
|
||||
<svg class="icon lg"><use xlink:href="#download"></use></svg><span class="button-lbl" translate="export"></span>
|
||||
</button>
|
||||
@@ -60,26 +54,26 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="cap" ng-bind="['','small','medium','large','capital'][ship.class] | translate"></td>
|
||||
<td class="cap" ng-bind="SZM[ship.class] | translate"></td>
|
||||
<td>{{ship.agility}}/10</td>
|
||||
<td>
|
||||
<span ng-if="th.c.maxmass >= ship.ladenMass">{{fRound(ship.speed)}} <u translate>m/s</u></span>
|
||||
<span ng-if="th.c.maxmass >= ship.ladenMass">{{fCrd(ship.topSpeed)}} <u translate>m/s</u></span>
|
||||
<span class="warning" ng-if="th.c.maxmass < ship.ladenMass">0 <svg class="icon"><use xlink:href="#warning"></use></svg></span>
|
||||
</td>
|
||||
<td>
|
||||
<span ng-if="pd.c.enginecapacity >= ship.boostEnergy && th.c.maxmass >= ship.ladenMass">{{fRound(ship.boost)}} <u translate>m/s</u></span>
|
||||
<span ng-if="pd.c.enginecapacity >= ship.boostEnergy && th.c.maxmass >= ship.ladenMass">{{fCrd(ship.topBoost)}} <u translate>m/s</u></span>
|
||||
<span class="warning" ng-if="pd.c.enginecapacity < ship.boostEnergy || th.c.maxmass < ship.ladenMass">0
|
||||
<svg class="icon"><use xlink:href="#warning"></use></svg>
|
||||
</span>
|
||||
</td>
|
||||
<td>{{fRound(ship.totalDps)}}</td>
|
||||
<td>
|
||||
{{ship.armour}}
|
||||
{{fCrd(ship.armour)}}
|
||||
<span ng-if="ship.armourAdded || ship.armourMultiplier > 1">
|
||||
(<span ng-if="ship.armourMultiplier > 1">{{fRPct(ship.armourMultiplier)}}</span><span ng-if="ship.armourAdded && ship.armourMultiplier > 1"> </span><span ng-if="ship.armourAdded">+ {{ship.armourAdded}}</span>)
|
||||
</span>
|
||||
</td>
|
||||
<td>{{fRound(ship.shieldStrength)}} <u translate>MJ</u> <span ng-if="ship.shieldMultiplier > 1 && ship.shieldStrength > 0">({{fRPct(ship.shieldMultiplier)}})</span></td>
|
||||
<td>{{fCrd(ship.shieldStrength)}} <u translate>MJ</u> <span ng-if="ship.shieldMultiplier > 1 && ship.shieldStrength > 0">({{fRPct(ship.shieldMultiplier)}})</span></td>
|
||||
<td>{{ship.hullMass}} <u translate>T</u></td>
|
||||
<td>{{fRound(ship.unladenMass)}} <u translate>T</u></td>
|
||||
<td>{{fRound(ship.ladenMass)}} <u translate>T</u></td>
|
||||
@@ -98,7 +92,27 @@
|
||||
</div>
|
||||
|
||||
<div id="standard" class="group">
|
||||
<h1 translate="standard"></h1>
|
||||
<div class="section-menu" ng-class="{selected: selectedSlot=='standard'}" context-menu="optimizeCommon()" ng-click="selectSlot($event, 'standard')">
|
||||
<h1>
|
||||
{{'standard' | translate}}
|
||||
<svg class="icon"><use xlink:href="#equalizer"></use></svg>
|
||||
</h1>
|
||||
<div class="select" ng-if="selectedSlot=='standard'">
|
||||
<ul>
|
||||
<li class="lc" ng-click="optimizeCommon()" translate="Optimize"></li>
|
||||
<li class="c" ng-click="useCommon('E')">E</li>
|
||||
<li class="c" ng-click="useCommon('D')">D</li>
|
||||
<li class="c" ng-click="useCommon('C')">C</li>
|
||||
<li class="c" ng-click="useCommon('B')">B</li>
|
||||
<li class="c" ng-click="useCommon('A')">A</li>
|
||||
</ul>
|
||||
<div class="select-group cap" translate="builds / roles"></div>
|
||||
<ul>
|
||||
<li class="lc" ng-click="optimizeCargo()" translate="Trader"></li>
|
||||
<li class="lc" ng-click="optimizeExplorer()" translate="Explorer"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="slot" ng-click="selectSlot($event, ship.bulkheads)" ng-class="{selected: selectedSlot==ship.bulkheads}">
|
||||
<div class="details">
|
||||
<div class="sz"><span>8</span></div>
|
||||
@@ -192,7 +206,20 @@
|
||||
</div>
|
||||
|
||||
<div id="internal" class="group">
|
||||
<h1 translate="internal compartments"></h1>
|
||||
<div class="section-menu" ng-class="{selected: selectedSlot=='internal'}" context-menu="emptyInternal()" ng-click="selectSlot($event, 'internal')">
|
||||
<h1>
|
||||
{{'internal compartments' | translate}}
|
||||
<svg class="icon"><use xlink:href="#equalizer"></use></svg>
|
||||
</h1>
|
||||
<div class="select" ng-if="selectedSlot=='internal'">
|
||||
<ul>
|
||||
<li class="lc" ng-click="emptyInternal()" translate="empty all"></li>
|
||||
<li class="lc" ng-click="fillWithCargo()" translate="cargo"></li>
|
||||
<li class="lc" ng-click="fillWithCells()" translate="scb"></li>
|
||||
<li class="lc" ng-click="fillWithArmor()" translate="hr"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="slot" ng-repeat="i in ship.internal" ng-click="selectSlot($event, i)" context-menu="select('i', i, $event, 'empty')" ng-class="{selected: selectedSlot==i}">
|
||||
<div slot-internal class="details" slot="i" fuel="ship.fuelCapacity"></div>
|
||||
<div class="select" ng-if="selectedSlot==i" ng-click="select('i',i,$event)">
|
||||
@@ -202,7 +229,47 @@
|
||||
</div>
|
||||
|
||||
<div id="hardpoints" class="group">
|
||||
<h1 translate="hardpoints"></h1>
|
||||
<div class="section-menu" ng-class="{selected: selectedSlot=='hardpoints'}" context-menu="emptyHardpoints()" ng-click="selectSlot($event, 'hardpoints')">
|
||||
<h1>
|
||||
{{'hardpoints' | translate}}
|
||||
<svg class="icon"><use xlink:href="#equalizer"></use></svg>
|
||||
</h1>
|
||||
<div class="select hardpoint" ng-if="selectedSlot=='hardpoints'">
|
||||
<ul>
|
||||
<li class="lc" ng-click="emptyHardpoints()" translate="empty all"></li>
|
||||
</ul>
|
||||
<div class="select-group cap" translate="pl"></div>
|
||||
<ul>
|
||||
<li class="c" ng-click="useHardpoint('pl','F')"><svg class="icon lg"><use xlink:href="#mount-F"></use></svg></li>
|
||||
<li class="c" ng-click="useHardpoint('pl','G')"><svg class="icon lg"><use xlink:href="#mount-G"></use></svg></li>
|
||||
<li class="c" ng-click="useHardpoint('pl','T')"><svg class="icon lg"><use xlink:href="#mount-T"></use></svg></li>
|
||||
</ul>
|
||||
<div class="select-group cap" translate="ul"></div>
|
||||
<ul>
|
||||
<li class="c" ng-click="useHardpoint('ul','F')"><svg class="icon lg"><use xlink:href="#mount-F"></use></svg></li>
|
||||
<li class="c" ng-click="useHardpoint('ul','G')"><svg class="icon lg"><use xlink:href="#mount-G"></use></svg></li>
|
||||
<li class="c" ng-click="useHardpoint('ul','T')"><svg class="icon lg"><use xlink:href="#mount-T"></use></svg></li>
|
||||
</ul>
|
||||
<div class="select-group cap" translate="bl"></div>
|
||||
<ul>
|
||||
<li class="c" ng-click="useHardpoint('bl','F')"><svg class="icon lg"><use xlink:href="#mount-F"></use></svg></li>
|
||||
<li class="c" ng-click="useHardpoint('bl','G')"><svg class="icon lg"><use xlink:href="#mount-G"></use></svg></li>
|
||||
<li class="c" ng-click="useHardpoint('bl','T')"><svg class="icon lg"><use xlink:href="#mount-T"></use></svg></li>
|
||||
</ul>
|
||||
<div class="select-group cap" translate="mc"></div>
|
||||
<ul>
|
||||
<li class="c" ng-click="useHardpoint('mc','F')"><svg class="icon lg"><use xlink:href="#mount-F"></use></svg></li>
|
||||
<li class="c" ng-click="useHardpoint('mc','G')"><svg class="icon lg"><use xlink:href="#mount-G"></use></svg></li>
|
||||
<li class="c" ng-click="useHardpoint('mc','T')"><svg class="icon lg"><use xlink:href="#mount-T"></use></svg></li>
|
||||
</ul>
|
||||
<div class="select-group cap" translate="c"></div>
|
||||
<ul>
|
||||
<li class="c" ng-click="useHardpoint('c','F')"><svg class="icon lg"><use xlink:href="#mount-F"></use></svg></li>
|
||||
<li class="c" ng-click="useHardpoint('c','G')"><svg class="icon lg"><use xlink:href="#mount-G"></use></svg></li>
|
||||
<li class="c" ng-click="useHardpoint('c','T')"><svg class="icon lg"><use xlink:href="#mount-T"></use></svg></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="slot" ng-repeat="h in ship.hardpoints | filter:{maxClass: '!0'}" ng-click="selectSlot($event, h)" context-menu="select('h', h, $event, 'empty')" ng-class="{selected: selectedSlot==h}">
|
||||
<div slot-hardpoint class="details" hp="h" size="HPC[h.maxClass]"></div>
|
||||
<div class="select" ng-class="{hardpoint: h.maxClass > 0}" ng-if="selectedSlot==h" ng-click="select('h',h,$event)">
|
||||
@@ -212,7 +279,25 @@
|
||||
</div>
|
||||
|
||||
<div id="utility" class="group">
|
||||
<h1 translate="utility mounts"></h1>
|
||||
<div class="section-menu" ng-class="{selected: selectedSlot=='utility'}" context-menu="emptyUtility()" ng-click="selectSlot($event, 'utility')">
|
||||
<h1>
|
||||
{{'utility mounts' | translate}}
|
||||
<svg class="icon"><use xlink:href="#equalizer"></use></svg>
|
||||
</h1>
|
||||
<div class="select" ng-if="selectedSlot=='utility'">
|
||||
<ul>
|
||||
<li class="lc" ng-click="emptyUtility()" translate="empty all"></li>
|
||||
</ul>
|
||||
<div class="select-group cap" translate="sb"></div>
|
||||
<ul>
|
||||
<li class="c" ng-click="useUtility('sb','E')">E</li>
|
||||
<li class="c" ng-click="useUtility('sb','D')">D</li>
|
||||
<li class="c" ng-click="useUtility('sb','C')">C</li>
|
||||
<li class="c" ng-click="useUtility('sb','B')">B</li>
|
||||
<li class="c" ng-click="useUtility('sb','A')">A</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="slot" ng-repeat="h in ship.hardpoints | filter:{maxClass: '0'}" ng-click="selectSlot($event, h)" context-menu="select('h', h, $event, 'empty')" ng-class="{selected: selectedSlot==h}">
|
||||
<div slot-hardpoint class="details" hp="h" size="HPC[h.maxClass]"></div>
|
||||
<div class="select" ng-class="{hardpoint: h.maxClass > 0}" ng-if="selectedSlot==h" ng-click="select('h',h,$event)">
|
||||
@@ -229,8 +314,8 @@
|
||||
<th style="width:3em;" class="sortable" ng-click="sortPwr('type')" translate="TYPE"></th>
|
||||
<th style="width:4em;" class="sortable" ng-click="sortPwr('priority')" translate="PRI"></th>
|
||||
<th colspan="2" class="sortable" ng-click="sortPwr('c.power')" translate="PWR"></th>
|
||||
<th style="width:3em;" class="sortable" ng-click="sortPwr(statusRetracted)" translate="RET"></th>
|
||||
<th style="width:3em;" class="sortable" ng-click="sortPwr(statusDeployed)" translate="DEP"></th>
|
||||
<th style="width:3em;" class="sortable" ng-click="sortPwr(statusRetracted)" translate="ret"></th>
|
||||
<th style="width:3em;" class="sortable" ng-click="sortPwr(statusDeployed)" translate="dep"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -250,11 +335,19 @@
|
||||
<td class="le shorten cap" ng-click="togglePwr(c)" ng-bind="cName(c)"></td>
|
||||
<td ng-click="togglePwr(c)"><u ng-bind="c.type | translate"></u></td>
|
||||
<td><span ng-click="decPriority(c)" class="flip">►</span> {{c.priority + 1}} <span ng-click="incPriority(c)">►</span></td>
|
||||
<td class="ri" style="width:3.25em;">{{fPwr(c.c.power)}}</td>
|
||||
<td class="ri" style="width:3em;"><u>{{f1Pct(c.c.power/ship.powerAvailable)}}</u></td>
|
||||
<td ng-if="!c.enabled" class="disabled upp" colspan="2" translate="disabled"></td>
|
||||
<td class="upp" ng-if="c.enabled" ng-class="STATUS_CLASS[statusRetracted(c)]">{{STATUS[statusRetracted(c)] | translate}}</td>
|
||||
<td class="upp" ng-if="c.enabled" ng-class="STATUS_CLASS[statusDeployed(c)]">{{STATUS[statusDeployed(c)] | translate}}</td>
|
||||
<td class="ri" style="width:3.25em;" ng-click="togglePwr(c)">{{fPwr(c.c.power)}}</td>
|
||||
<td class="ri" style="width:3em;" ng-click="togglePwr(c)"><u>{{f1Pct(c.c.power/ship.powerAvailable)}}</u></td>
|
||||
<td ng-if="!c.enabled" class="disabled upp" colspan="2" translate="disabled" ng-click="togglePwr(c)"></td>
|
||||
<td class="upp" ng-if="c.enabled" ng-click="togglePwr(c)">
|
||||
<svg class="icon secondary-disabled" ng-if="statusRetracted(c) == 3"><use xlink:href="#power"><title class="cap">{{'on' | translate}}</title></use></svg>
|
||||
<svg class="icon warning" ng-if="statusRetracted(c) == 2"><use xlink:href="#no-power"><title class="cap">{{'off' | translate}}</title></use></svg>
|
||||
<span class="disabled" translate="disabled" ng-if="statusRetracted(c) == 1"></span>
|
||||
</td>
|
||||
<td class="upp" ng-if="c.enabled" ng-click="togglePwr(c)">
|
||||
<svg class="icon secondary-disabled" ng-if="statusDeployed(c) == 3"><use xlink:href="#power"><title class="cap">{{'on' | translate}}</title></use></svg>
|
||||
<svg class="icon warning" ng-if="statusDeployed(c) == 2"><use xlink:href="#no-power"><title class="cap">{{'off' | translate}}</title></use></svg>
|
||||
<span class="disabled" translate="disabled" ng-if="statusDeployed(c) == 1"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -265,8 +358,9 @@
|
||||
<table class="tabs">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:50%" ng-class="{active: costTab == 'retrofit'}" ng-click="updateCostTab('retrofit')" translate="retrofit costs"></th>
|
||||
<th style="width:50%" ng-class="{active: costTab == 'costs'}" ng-click="updateCostTab('costs')" translate="costs"></th>
|
||||
<th style="width:34%" ng-class="{active: costTab == 'ammo'}" ng-click="updateCostTab('ammo')" translate="reload costs"></th>
|
||||
<th style="width:33%" ng-class="{active: costTab == 'retrofit'}" ng-click="updateCostTab('retrofit')" translate="retrofit costs"></th>
|
||||
<th style="width:33%" ng-class="{active: costTab == 'costs'}" ng-click="updateCostTab('costs')" translate="costs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
@@ -319,12 +413,12 @@
|
||||
<tr ng-if="!retrofitList || retrofitList.length == 0">
|
||||
<td colspan="5" style="padding: 3em 0;" translate="PHRASE_NO_RETROCH"></td>
|
||||
</tr>
|
||||
<tr class="highlight" ng-repeat="item in retrofitList | orderBy:retroPredicate:retroDesc">
|
||||
<td style="width:1em;">{{item.sellClassRating}}</td>
|
||||
<tr class="highlight" ng-repeat="item in retrofitList | orderBy:retroPredicate:retroDesc" ng-click="toggleRetrofitCost(item.retroItem)" ng-class="{disabled: !item.retroItem.incCost}">
|
||||
<td style="width:1em;">{{item.sellClassRating}}</td>
|
||||
<td class="le shorten cap">{{item.sellName | translate}}</td>
|
||||
<td style="width:1em;">{{item.buyClassRating}}</td>
|
||||
<td class="le shorten cap">{{item.buyName | translate}}</td>
|
||||
<td class="ri" ng-class="item.netCost > 0 ? 'warning' : 'secondary-disabled'">{{ fCrd(item.netCost)}} <u translate>CR</u></td>
|
||||
<td class="ri" ng-class="item.retroItem.incCost ? item.netCost > 0 ? 'warning' : 'secondary-disabled' : 'disabled'">{{ fCrd(item.netCost)}} <u translate>CR</u></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -346,24 +440,55 @@
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div ng-if="costTab == 'ammo'">
|
||||
<div class="scroll-x">
|
||||
<table style="width:100%">
|
||||
<thead>
|
||||
<tr class="main">
|
||||
<th colspan="2" class="sortable le" ng-click="sortAmmo('ammoName | translate')" translate="component"></th>
|
||||
<th colspan="1" class="sortable le" ng-click="sortAmmo('ammoMax')" translate="quantity"></th>
|
||||
<th colspan="1" class="sortable le" ng-click="sortAmmo('ammoUnitCost')" translate="unit cost"></th>
|
||||
<th class="sortable le" ng-click="sortAmmo('ammoTotalCost')">
|
||||
{{'total cost' | translate}} <u class="optional-hide" ng-if="discounts.ammo < 1">-[{{fRPct(1 - discounts.ammo)}}]</u>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="highlight" ng-repeat="item in ammoList | orderBy:ammoPredicate:ammoDesc">
|
||||
<td style="width:1em;">{{item.ammoClassRating}}</td>
|
||||
<td class="le shorten cap">{{item.ammoName | translate}}</td>
|
||||
<td class="ri">{{fCrd(item.ammoMax)}}</td>
|
||||
<td class="ri">{{fCrd(item.ammoUnitCost)}} <u translate>CR</u></td>
|
||||
<td class="ri">{{fCrd(item.ammoTotalCost)}} <u translate>CR</u></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<table class="total">
|
||||
<tr class="ri">
|
||||
<td class="lbl" translate="total"></td>
|
||||
<td>{{fCrd(ammoTotal)}} <u translate>CR</u></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="group half">
|
||||
<div class="group third">
|
||||
<h1 translate="jump range"></h1>
|
||||
<div line-chart config="jrChart" series="jrSeries"></div>
|
||||
</div>
|
||||
|
||||
<div class="group half">
|
||||
<div class="group third">
|
||||
<h1 translate="total range"></h1>
|
||||
<div line-chart config="trChart" series="trSeries"></div>
|
||||
</div>
|
||||
|
||||
<!-- TODO: Add back in once calcSpeed is dynamic and accurate
|
||||
<div class="group third">
|
||||
<h1 translate="speed"></h1>
|
||||
<div line-chart config="speedChart" series="speedSeries"></div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
|
||||
<div class="group half">
|
||||
<div slider max="ship.fuelCapacity" unit="'T'" on-change="::fuelChange(val)" style="position:relative; margin: 0 auto;">
|
||||
|
||||
@@ -1,9 +1,87 @@
|
||||
<div id="shipyard">
|
||||
<a ui-sref="outfit({shipId:id})" class="ship" ng-repeat="(id,s) in ships">
|
||||
<h2 ng-bind="s.properties.name"></h2>
|
||||
<div class="subtitle">
|
||||
<small ng-bind="s.properties.manufacturer"></small>
|
||||
</div>
|
||||
{{fCrd(s.retailCost)}} <u>CR</u>
|
||||
</a>
|
||||
|
||||
<div class="scroll-x">
|
||||
<table align="center" style="font-size:0.85em;white-space:nowrap">
|
||||
<thead>
|
||||
<tr class="main">
|
||||
<th rowspan="2" class="sortable le" ng-click="sortShips('name')" translate="ship"></th>
|
||||
<th rowspan="2" class="sortable" ng-click="sortShips('manufacturer')" translate="manufacturer"></th>
|
||||
<th rowspan="2" class="sortable" ng-click="sortShips('class')" translate="size"></th>
|
||||
<th colspan="4" translate="base"></th>
|
||||
<th colspan="4" translate="max"></th>
|
||||
<th colspan="5" class="sortable" ng-click="sortShips('hpCount')" translate="hardpoints"></th>
|
||||
<th colspan="8" class="sortable" ng-click="sortShips('intCount')" translate="internal compartments"></th>
|
||||
<th rowspan="2" class="sortable" ng-click="sortShips('hullMass')" translate="hull"></th>
|
||||
<th rowspan="2" class="sortable" ng-click="sortShips('masslock')" translate="MLF"></th>
|
||||
<th rowspan="2" class="sortable" ng-click="sortShips('retailCost')" translate="cost"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<!-- Base -->
|
||||
<th class="sortable lft" ng-click="sortShips('speed')" translate="speed"></th>
|
||||
<th class="sortable" ng-click="sortShips('boost')" translate="boost"></th>
|
||||
<th class="sortable" ng-click="sortShips('baseArmour')" translate="armour"></th>
|
||||
<th class="sortable" ng-click="sortShips('baseShieldStrength')" translate="shields"></th>
|
||||
<!-- Max -->
|
||||
<th class="sortable lft" ng-click="sortShips('topSpeed')" translate="speed"></th>
|
||||
<th class="sortable " ng-click="sortShips('topBoost')" translate="boost"></th>
|
||||
<th class="sortable " ng-click="sortShips('maxJumpRange')" translate="jump"></th>
|
||||
<th class="sortable" ng-click="sortShips('maxCargo')" translate="cargo"></th>
|
||||
<!-- Hardpoints -->
|
||||
<th class="sortable lft" ng-click="sortShips('hp[1]')" translate="S"></th>
|
||||
<th class="sortable" ng-click="sortShips('hp[2]')" translate="M"></th>
|
||||
<th class="sortable" ng-click="sortShips('hp[3]')" translate="L"></th>
|
||||
<th class="sortable" ng-click="sortShips('hp[4]')" translate="H"></th>
|
||||
<th class="sortable" ng-click="sortShips('hp[0]')" translate="U"></th>
|
||||
<!-- Internal -->
|
||||
<th class="sortable lft" ng-click="sortShips('int[0]')" translate="1"></th>
|
||||
<th class="sortable" ng-click="sortShips('int[1]')" translate="2"></th>
|
||||
<th class="sortable" ng-click="sortShips('int[2]')" translate="3"></th>
|
||||
<th class="sortable" ng-click="sortShips('int[3]')" translate="4"></th>
|
||||
<th class="sortable" ng-click="sortShips('int[4]')" translate="5"></th>
|
||||
<th class="sortable" ng-click="sortShips('int[5]')" translate="6"></th>
|
||||
<th class="sortable" ng-click="sortShips('int[6]')" translate="7"></th>
|
||||
<th class="sortable" ng-click="sortShips('int[7]')" translate="8"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="highlight" ng-repeat="s in shipsOverview | orderBy:shipPredicate:shipDesc">
|
||||
<td class="le"><a ui-sref="outfit({shipId: s.id})" ng-bind="s.name"></a></td>
|
||||
<td class="le" ng-bind="s.manufacturer"></td>
|
||||
<!-- Pad Size -->
|
||||
<td class="cap" ng-bind="SZM[s.class] | translate"></td>
|
||||
<!-- Base -->
|
||||
<td class="ri">{{fCrd(s.speed)}} <u translate>m/s</u></td>
|
||||
<td class="ri">{{fCrd(s.boost)}} <u translate>m/s</u></td>
|
||||
<td class="ri" ng-bind="s.baseArmour"></td>
|
||||
<td class="ri">{{fCrd(s.baseShieldStrength)}} <u translate>Mj</u></td>
|
||||
<!-- Max -->
|
||||
<td class="ri">{{fCrd(s.topSpeed)}} <u translate>m/s</u></td>
|
||||
<td class="ri">{{fCrd(s.topBoost)}} <u translate>m/s</u></td>
|
||||
<td class="ri">{{fRound(s.maxJumpRange)}} <u translate>LY</u></td>
|
||||
<td class="ri">{{fCrd(s.maxCargo)}} <u translate>T</u></td>
|
||||
<!-- Hardpoints -->
|
||||
<td ng-bind="s.hp[1]" ng-class="{disabled: !s.hp[1]}"></td>
|
||||
<td ng-bind="s.hp[2]" ng-class="{disabled: !s.hp[2]}"></td>
|
||||
<td ng-bind="s.hp[3]" ng-class="{disabled: !s.hp[3]}"></td>
|
||||
<td ng-bind="s.hp[4]" ng-class="{disabled: !s.hp[4]}"></td>
|
||||
<td ng-bind="s.hp[0]" ng-class="{disabled: !s.hp[0]}"></td>
|
||||
<!-- Internal -->
|
||||
<td ng-bind="s.int[0]" ng-class="{disabled: !s.int[0]}"></td>
|
||||
<td ng-bind="s.int[1]" ng-class="{disabled: !s.int[1]}"></td>
|
||||
<td ng-bind="s.int[2]" ng-class="{disabled: !s.int[2]}"></td>
|
||||
<td ng-bind="s.int[3]" ng-class="{disabled: !s.int[3]}"></td>
|
||||
<td ng-bind="s.int[4]" ng-class="{disabled: !s.int[4]}"></td>
|
||||
<td ng-bind="s.int[5]" ng-class="{disabled: !s.int[5]}"></td>
|
||||
<td ng-bind="s.int[6]" ng-class="{disabled: !s.int[6]}"></td>
|
||||
<td ng-bind="s.int[7]" ng-class="{disabled: !s.int[7]}"></td>
|
||||
<!-- Other Stats -->
|
||||
<td class="ri">{{fCrd(s.hullMass)}} <u translate>T</u></td>
|
||||
<td class="ri" ng-bind="s.masslock"></td>
|
||||
<td class="ri">{{fCrd(s.retailCost)}} <u translate>CR</u></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
@@ -1,853 +1,163 @@
|
||||
{
|
||||
"sidewinder": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 25600,
|
||||
"mass": 2
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 80320,
|
||||
"mass": 4
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 132064,
|
||||
"mass": 4
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 139424,
|
||||
"mass": 4
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 25600, "mass": 2 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 80320, "mass": 4 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 132060, "mass": 4 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 139420, "mass": 4 }
|
||||
],
|
||||
"diamondback": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 225700,
|
||||
"mass": 13
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 507900,
|
||||
"mass": 26
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 1185100,
|
||||
"mass": 26
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 1330100,
|
||||
"mass": 26
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 225700, "mass": 13 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 507900, "mass": 26 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 1185100, "mass": 26 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 1330100, "mass": 26 }
|
||||
],
|
||||
"diamondback_explorer": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 800000,
|
||||
"mass": 23
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 1800000,
|
||||
"mass": 47
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 4200000,
|
||||
"mass": 26
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 4714000,
|
||||
"mass": 47
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 800000, "mass": 23 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 1800000, "mass": 47 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 4200000, "mass": 26 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 4714000, "mass": 47 }
|
||||
],
|
||||
"imperial_courier": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 1017200,
|
||||
"mass": 4
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 2288600,
|
||||
"mass": 8
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 5408800,
|
||||
"mass": 8
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 5993700,
|
||||
"mass": 8
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 1017200, "mass": 4 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 2288600, "mass": 8 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 5408800, "mass": 8 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 5993700, "mass": 8 }
|
||||
],
|
||||
"cobra_mk_iii": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 151887,
|
||||
"mass": 14
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 341746,
|
||||
"mass": 27
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 797407,
|
||||
"mass": 27
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 894995,
|
||||
"mass": 27
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 151890, "mass": 14 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 341750, "mass": 27 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 797410, "mass": 27 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 895000, "mass": 27 }
|
||||
],
|
||||
"imperial_clipper": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 8918344,
|
||||
"mass": 30
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 20066274,
|
||||
"mass": 60
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 47423294,
|
||||
"mass": 60
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 52551342,
|
||||
"mass": 60
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 8918340, "mass": 30 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 20066270, "mass": 60 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 47423290, "mass": 60 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 52551340, "mass": 60 }
|
||||
],
|
||||
"imperial_eagle": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 66500,
|
||||
"mass": 4
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 222765,
|
||||
"mass": 8
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 346555,
|
||||
"mass": 8
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 372044,
|
||||
"mass": 8
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 66500, "mass": 4 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 222760, "mass": 8 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 346550, "mass": 8 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 372040, "mass": 8 }
|
||||
],
|
||||
"federal_assault_ship": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 7925682,
|
||||
"mass": 44
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 17832784,
|
||||
"mass": 87
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 42144814,
|
||||
"mass": 87
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 46702081,
|
||||
"mass": 87
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 7925680, "mass": 44 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 17832780, "mass": 87 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 42144810, "mass": 87 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 46702080, "mass": 87 }
|
||||
],
|
||||
"federal_dropship": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 7925682,
|
||||
"mass": 44
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 17832784,
|
||||
"mass": 87
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 42144814,
|
||||
"mass": 87
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 46702081,
|
||||
"mass": 87
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 5725680, "mass": 44 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 12882780, "mass": 87 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 30446310, "mass": 87 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 33738580, "mass": 87 }
|
||||
],
|
||||
"federal_gunship": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 14325688,
|
||||
"mass": 44
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 32232788,
|
||||
"mass": 87
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 76176811,
|
||||
"mass": 87
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 84414088,
|
||||
"mass": 87
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 14325690, "mass": 44 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 32232790, "mass": 87 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 76176810, "mass": 87 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 84414090, "mass": 87 }
|
||||
],
|
||||
"python": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 22791271,
|
||||
"mass": 26
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 51280361,
|
||||
"mass": 53
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 121192586,
|
||||
"mass": 53
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 134297567,
|
||||
"mass": 53
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 22791270, "mass": 26 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 51280360, "mass": 53 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 121192590, "mass": 53 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 134297570, "mass": 53 }
|
||||
],
|
||||
"anaconda": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 58787780,
|
||||
"mass": 30
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 132272505,
|
||||
"mass": 60
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 312604021,
|
||||
"mass": 60
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 346406995,
|
||||
"mass": 60
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 58787780, "mass": 30 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 132272510, "mass": 60 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 312604020, "mass": 60 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 346407000, "mass": 60 }
|
||||
],
|
||||
"eagle": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 26880,
|
||||
"mass": 4
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 90048,
|
||||
"mass": 8
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 140089,
|
||||
"mass": 8
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 150393,
|
||||
"mass": 8
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 26880, "mass": 4 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 90050, "mass": 8 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 140090, "mass": 8 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 150390, "mass": 8 }
|
||||
],
|
||||
"viper": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 57172,
|
||||
"mass": 5
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 128637,
|
||||
"mass": 9
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 304014,
|
||||
"mass": 9
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 336888,
|
||||
"mass": 9
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 57170, "mass": 5 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 128640, "mass": 9 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 304010, "mass": 9 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 336890, "mass": 9 }
|
||||
],
|
||||
"vulture": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 1970246,
|
||||
"mass": 17
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 4433054,
|
||||
"mass": 35
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 10476783,
|
||||
"mass": 35
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 11609675,
|
||||
"mass": 35
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 1970250, "mass": 17 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 4433050, "mass": 35 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 10476780, "mass": 35 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 11609670, "mass": 35 }
|
||||
],
|
||||
"fer_de_lance": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 20626816,
|
||||
"mass": 19
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 46410336,
|
||||
"mass": 38
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 109683094,
|
||||
"mass": 38
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 121543513,
|
||||
"mass": 38
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 20626820, "mass": 19 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 46410340, "mass": 38 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 109683090, "mass": 38 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 121543510, "mass": 38 }
|
||||
],
|
||||
"hauler": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 42176,
|
||||
"mass": 1
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 185047,
|
||||
"mass": 2
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 270295,
|
||||
"mass": 2
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 282421,
|
||||
"mass": 2
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 42180, "mass": 1 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 185050, "mass": 2 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 270300, "mass": 2 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 282420, "mass": 2 }
|
||||
],
|
||||
"type_6_transporter": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 418378,
|
||||
"mass": 12
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 941350,
|
||||
"mass": 23
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 2224725,
|
||||
"mass": 23
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 2465292,
|
||||
"mass": 23
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 418380, "mass": 12 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 941350, "mass": 23 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 2224730, "mass": 23 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 2465290, "mass": 23 }
|
||||
],
|
||||
"type_7_transport": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 6988901,
|
||||
"mass": 32
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 15725027,
|
||||
"mass": 63
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 37163481,
|
||||
"mass": 63
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 41182099,
|
||||
"mass": 63
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 6988900, "mass": 32 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 15725030, "mass": 63 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 37163480, "mass": 63 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 41182100, "mass": 63 }
|
||||
],
|
||||
"type_9_heavy": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 30622336,
|
||||
"mass": 75
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 68900257,
|
||||
"mass": 150
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 162834275,
|
||||
"mass": 150
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 180442119,
|
||||
"mass": 150
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 30622340, "mass": 75 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 68900260, "mass": 150 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 162834280, "mass": 150 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 180442120, "mass": 150 }
|
||||
],
|
||||
"adder": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 35123,
|
||||
"mass": 3
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 79027,
|
||||
"mass": 5
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 186767,
|
||||
"mass": 5
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 206963,
|
||||
"mass": 5
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 35120, "mass": 3 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 79030, "mass": 5 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 186770, "mass": 5 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 206960, "mass": 5 }
|
||||
],
|
||||
"asp": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 2664461,
|
||||
"mass": 21
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 5995038,
|
||||
"mass": 42
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 14168273,
|
||||
"mass": 42
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 15700338,
|
||||
"mass": 42
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 2664460, "mass": 21 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 5995040, "mass": 42 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 14168270, "mass": 42 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 15700340, "mass": 42 }
|
||||
],
|
||||
"orca": [
|
||||
{
|
||||
"name": "Lightweight Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 0,
|
||||
"mass": 0
|
||||
},
|
||||
{
|
||||
"name": "Reinforced Alloy",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 19415954,
|
||||
"mass": 21
|
||||
},
|
||||
{
|
||||
"name": "Military Grade Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 43685898,
|
||||
"mass": 87
|
||||
},
|
||||
{
|
||||
"name": "Mirrored Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 103244339,
|
||||
"mass": 87
|
||||
},
|
||||
{
|
||||
"name": "Reactive Surface Composite",
|
||||
"class": 1,
|
||||
"rating": "I",
|
||||
"cost": 114408513,
|
||||
"mass": 87
|
||||
}
|
||||
{ "name": "Lightweight Alloy", "class": 1, "rating": "I", "cost": 0, "mass": 0 },
|
||||
{ "name": "Reinforced Alloy", "class": 1, "rating": "I", "cost": 19415950, "mass": 21 },
|
||||
{ "name": "Military Grade Composite", "class": 1, "rating": "I", "cost": 43685900, "mass": 87 },
|
||||
{ "name": "Mirrored Surface Composite", "class": 1, "rating": "I", "cost": 103244340, "mass": 87 },
|
||||
{ "name": "Reactive Surface Composite", "class": 1, "rating": "I", "cost": 114408510, "mass": 87 }
|
||||
]
|
||||
}
|
||||
@@ -1,302 +1,31 @@
|
||||
{
|
||||
"6E": {
|
||||
"grp": "fd",
|
||||
"class": 6,
|
||||
"rating": "E",
|
||||
"cost": 199747,
|
||||
"mass": 40,
|
||||
"power": 0.4,
|
||||
"optmass": 960,
|
||||
"maxfuel": 5.3,
|
||||
"fuelmul": 0.011,
|
||||
"fuelpower": 2.6
|
||||
},
|
||||
"6D": {
|
||||
"grp": "fd",
|
||||
"class": 6,
|
||||
"rating": "D",
|
||||
"cost": 599242,
|
||||
"mass": 16,
|
||||
"power": 0.45,
|
||||
"optmass": 1080,
|
||||
"maxfuel": 5.3,
|
||||
"fuelmul": 0.01,
|
||||
"fuelpower": 2.6
|
||||
},
|
||||
"6C": {
|
||||
"grp": "fd",
|
||||
"class": 6,
|
||||
"rating": "C",
|
||||
"cost": 1797726,
|
||||
"mass": 40,
|
||||
"power": 0.5,
|
||||
"optmass": 1200,
|
||||
"maxfuel": 5.3,
|
||||
"fuelmul": 0.008,
|
||||
"fuelpower": 2.6
|
||||
},
|
||||
"6B": {
|
||||
"grp": "fd",
|
||||
"class": 6,
|
||||
"rating": "B",
|
||||
"cost": 5393177,
|
||||
"mass": 64,
|
||||
"power": 0.63,
|
||||
"optmass": 1500,
|
||||
"maxfuel": 6.6,
|
||||
"fuelmul": 0.01,
|
||||
"fuelpower": 2.6
|
||||
},
|
||||
"6A": {
|
||||
"grp": "fd",
|
||||
"class": 6,
|
||||
"rating": "A",
|
||||
"cost": 16179531,
|
||||
"mass": 40,
|
||||
"power": 0.75,
|
||||
"optmass": 1800,
|
||||
"maxfuel": 8,
|
||||
"fuelmul": 0.012,
|
||||
"fuelpower": 2.6
|
||||
},
|
||||
"5E": {
|
||||
"grp": "fd",
|
||||
"class": 5,
|
||||
"rating": "E",
|
||||
"cost": 63013,
|
||||
"mass": 20,
|
||||
"power": 0.32,
|
||||
"optmass": 560,
|
||||
"maxfuel": 3.3,
|
||||
"fuelmul": 0.011,
|
||||
"fuelpower": 2.45
|
||||
},
|
||||
"5D": {
|
||||
"grp": "fd",
|
||||
"class": 5,
|
||||
"rating": "D",
|
||||
"cost": 189036,
|
||||
"mass": 8,
|
||||
"power": 0.36,
|
||||
"optmass": 630,
|
||||
"maxfuel": 3.3,
|
||||
"fuelmul": 0.01,
|
||||
"fuelpower": 2.45
|
||||
},
|
||||
"5C": {
|
||||
"grp": "fd",
|
||||
"class": 5,
|
||||
"rating": "C",
|
||||
"cost": 567106,
|
||||
"mass": 20,
|
||||
"power": 0.4,
|
||||
"optmass": 700,
|
||||
"maxfuel": 3.3,
|
||||
"fuelmul": 0.008,
|
||||
"fuelpower": 2.45
|
||||
},
|
||||
"5B": {
|
||||
"grp": "fd",
|
||||
"class": 5,
|
||||
"rating": "B",
|
||||
"cost": 1701318,
|
||||
"mass": 32,
|
||||
"power": 0.5,
|
||||
"optmass": 875,
|
||||
"maxfuel": 4.1,
|
||||
"fuelmul": 0.01,
|
||||
"fuelpower": 2.45
|
||||
},
|
||||
"5A": {
|
||||
"grp": "fd",
|
||||
"class": 5,
|
||||
"rating": "A",
|
||||
"cost": 5103953,
|
||||
"mass": 20,
|
||||
"power": 0.6,
|
||||
"optmass": 1050,
|
||||
"maxfuel": 5,
|
||||
"fuelmul": 0.012,
|
||||
"fuelpower": 2.45
|
||||
},
|
||||
"4E": {
|
||||
"grp": "fd",
|
||||
"class": 4,
|
||||
"rating": "E",
|
||||
"cost": 19878,
|
||||
"mass": 10,
|
||||
"power": 0.24,
|
||||
"optmass": 280,
|
||||
"maxfuel": 2,
|
||||
"fuelmul": 0.011,
|
||||
"fuelpower": 2.3
|
||||
},
|
||||
"4D": {
|
||||
"grp": "fd",
|
||||
"class": 4,
|
||||
"rating": "D",
|
||||
"cost": 59633,
|
||||
"mass": 4,
|
||||
"power": 0.27,
|
||||
"optmass": 315,
|
||||
"maxfuel": 2,
|
||||
"fuelmul": 0.01,
|
||||
"fuelpower": 2.3
|
||||
},
|
||||
"4C": {
|
||||
"grp": "fd",
|
||||
"class": 4,
|
||||
"rating": "C",
|
||||
"cost": 178898,
|
||||
"mass": 10,
|
||||
"power": 0.3,
|
||||
"optmass": 350,
|
||||
"maxfuel": 2,
|
||||
"fuelmul": 0.008,
|
||||
"fuelpower": 2.3
|
||||
},
|
||||
"4B": {
|
||||
"grp": "fd",
|
||||
"class": 4,
|
||||
"rating": "B",
|
||||
"cost": 536693,
|
||||
"mass": 16,
|
||||
"power": 0.38,
|
||||
"optmass": 438,
|
||||
"maxfuel": 2.5,
|
||||
"fuelmul": 0.01,
|
||||
"fuelpower": 2.3
|
||||
},
|
||||
"4A": {
|
||||
"grp": "fd",
|
||||
"class": 4,
|
||||
"rating": "A",
|
||||
"cost": 1610080,
|
||||
"mass": 10,
|
||||
"power": 0.45,
|
||||
"optmass": 525,
|
||||
"maxfuel": 3,
|
||||
"fuelmul": 0.012,
|
||||
"fuelpower": 2.3
|
||||
},
|
||||
"3E": {
|
||||
"grp": "fd",
|
||||
"class": 3,
|
||||
"rating": "E",
|
||||
"cost": 6271,
|
||||
"mass": 5,
|
||||
"power": 0.24,
|
||||
"optmass": 80,
|
||||
"maxfuel": 1.2,
|
||||
"fuelmul": 0.011,
|
||||
"fuelpower": 2.15
|
||||
},
|
||||
"3D": {
|
||||
"grp": "fd",
|
||||
"class": 3,
|
||||
"rating": "D",
|
||||
"cost": 18812,
|
||||
"mass": 2,
|
||||
"power": 0.27,
|
||||
"optmass": 90,
|
||||
"maxfuel": 1.2,
|
||||
"fuelmul": 0.01,
|
||||
"fuelpower": 2.15
|
||||
},
|
||||
"3C": {
|
||||
"grp": "fd",
|
||||
"class": 3,
|
||||
"rating": "C",
|
||||
"cost": 56435,
|
||||
"mass": 5,
|
||||
"power": 0.3,
|
||||
"optmass": 100,
|
||||
"maxfuel": 1.2,
|
||||
"fuelmul": 0.008,
|
||||
"fuelpower": 2.15
|
||||
},
|
||||
"3B": {
|
||||
"grp": "fd",
|
||||
"class": 3,
|
||||
"rating": "B",
|
||||
"cost": 169304,
|
||||
"mass": 8,
|
||||
"power": 0.38,
|
||||
"optmass": 125,
|
||||
"maxfuel": 1.5,
|
||||
"fuelmul": 0.01,
|
||||
"fuelpower": 2.15
|
||||
},
|
||||
"3A": {
|
||||
"grp": "fd",
|
||||
"class": 3,
|
||||
"rating": "A",
|
||||
"cost": 507912,
|
||||
"mass": 5,
|
||||
"power": 0.45,
|
||||
"optmass": 150,
|
||||
"maxfuel": 1.8,
|
||||
"fuelmul": 0.012,
|
||||
"fuelpower": 2.15
|
||||
},
|
||||
"2E": {
|
||||
"grp": "fd",
|
||||
"class": 2,
|
||||
"rating": "E",
|
||||
"cost": 1978,
|
||||
"mass": 2.5,
|
||||
"power": 0.16,
|
||||
"optmass": 48,
|
||||
"maxfuel": 0.6,
|
||||
"fuelmul": 0.011,
|
||||
"fuelpower": 2
|
||||
},
|
||||
"2D": {
|
||||
"grp": "fd",
|
||||
"class": 2,
|
||||
"rating": "D",
|
||||
"cost": 5934,
|
||||
"mass": 1,
|
||||
"power": 0.18,
|
||||
"optmass": 54,
|
||||
"maxfuel": 0.6,
|
||||
"fuelmul": 0.01,
|
||||
"fuelpower": 2
|
||||
},
|
||||
"2C": {
|
||||
"grp": "fd",
|
||||
"class": 2,
|
||||
"rating": "C",
|
||||
"cost": 17803,
|
||||
"mass": 2.5,
|
||||
"power": 0.2,
|
||||
"optmass": 60,
|
||||
"maxfuel": 0.6,
|
||||
"fuelmul": 0.008,
|
||||
"fuelpower": 2
|
||||
},
|
||||
"2B": {
|
||||
"grp": "fd",
|
||||
"class": 2,
|
||||
"rating": "B",
|
||||
"cost": 53408,
|
||||
"mass": 4,
|
||||
"power": 0.25,
|
||||
"optmass": 75,
|
||||
"maxfuel": 0.8,
|
||||
"fuelmul": 0.01,
|
||||
"fuelpower": 2
|
||||
},
|
||||
"2A": {
|
||||
"grp": "fd",
|
||||
"class": 2,
|
||||
"rating": "A",
|
||||
"cost": 160224,
|
||||
"mass": 2.5,
|
||||
"power": 0.3,
|
||||
"optmass": 90,
|
||||
"maxfuel": 0.9,
|
||||
"fuelmul": 0.012,
|
||||
"fuelpower": 2
|
||||
}
|
||||
"6E": { "grp": "fd", "class": 6, "rating": "E", "cost": 199750, "mass": 40, "power": 0.4, "optmass": 960, "maxfuel": 5.3, "fuelmul": 0.011, "fuelpower": 2.6 },
|
||||
"6D": { "grp": "fd", "class": 6, "rating": "D", "cost": 599240, "mass": 16, "power": 0.45, "optmass": 1080, "maxfuel": 5.3, "fuelmul": 0.01, "fuelpower": 2.6 },
|
||||
"6C": { "grp": "fd", "class": 6, "rating": "C", "cost": 1797730, "mass": 40, "power": 0.5, "optmass": 1200, "maxfuel": 5.3, "fuelmul": 0.008, "fuelpower": 2.6 },
|
||||
"6B": { "grp": "fd", "class": 6, "rating": "B", "cost": 5393180, "mass": 64, "power": 0.63, "optmass": 1500, "maxfuel": 6.6, "fuelmul": 0.01, "fuelpower": 2.6 },
|
||||
"6A": { "grp": "fd", "class": 6, "rating": "A", "cost": 16179530, "mass": 40, "power": 0.75, "optmass": 1800, "maxfuel": 8, "fuelmul": 0.012, "fuelpower": 2.6 },
|
||||
|
||||
"5E": { "grp": "fd", "class": 5, "rating": "E", "cost": 63010, "mass": 20, "power": 0.32, "optmass": 560, "maxfuel": 3.3, "fuelmul": 0.011, "fuelpower": 2.45 },
|
||||
"5D": { "grp": "fd", "class": 5, "rating": "D", "cost": 189040, "mass": 8, "power": 0.36, "optmass": 630, "maxfuel": 3.3, "fuelmul": 0.01, "fuelpower": 2.45 },
|
||||
"5C": { "grp": "fd", "class": 5, "rating": "C", "cost": 567110, "mass": 20, "power": 0.4, "optmass": 700, "maxfuel": 3.3, "fuelmul": 0.008, "fuelpower": 2.45 },
|
||||
"5B": { "grp": "fd", "class": 5, "rating": "B", "cost": 1701320, "mass": 32, "power": 0.5, "optmass": 875, "maxfuel": 4.1, "fuelmul": 0.01, "fuelpower": 2.45 },
|
||||
"5A": { "grp": "fd", "class": 5, "rating": "A", "cost": 5103950, "mass": 20, "power": 0.6, "optmass": 1050, "maxfuel": 5, "fuelmul": 0.012, "fuelpower": 2.45 },
|
||||
|
||||
"4E": { "grp": "fd", "class": 4, "rating": "E", "cost": 19880, "mass": 10, "power": 0.24, "optmass": 280, "maxfuel": 2, "fuelmul": 0.011, "fuelpower": 2.3 },
|
||||
"4D": { "grp": "fd", "class": 4, "rating": "D", "cost": 59630, "mass": 4, "power": 0.27, "optmass": 315, "maxfuel": 2, "fuelmul": 0.01, "fuelpower": 2.3 },
|
||||
"4C": { "grp": "fd", "class": 4, "rating": "C", "cost": 178900, "mass": 10, "power": 0.3, "optmass": 350, "maxfuel": 2, "fuelmul": 0.008, "fuelpower": 2.3 },
|
||||
"4B": { "grp": "fd", "class": 4, "rating": "B", "cost": 536690, "mass": 16, "power": 0.38, "optmass": 438, "maxfuel": 2.5, "fuelmul": 0.01, "fuelpower": 2.3 },
|
||||
"4A": { "grp": "fd", "class": 4, "rating": "A", "cost": 1610080, "mass": 10, "power": 0.45, "optmass": 525, "maxfuel": 3, "fuelmul": 0.012, "fuelpower": 2.3 },
|
||||
|
||||
"3E": { "grp": "fd", "class": 3, "rating": "E", "cost": 6270, "mass": 5, "power": 0.24, "optmass": 80, "maxfuel": 1.2, "fuelmul": 0.011, "fuelpower": 2.15 },
|
||||
"3D": { "grp": "fd", "class": 3, "rating": "D", "cost": 18810, "mass": 2, "power": 0.27, "optmass": 90, "maxfuel": 1.2, "fuelmul": 0.01, "fuelpower": 2.15 },
|
||||
"3C": { "grp": "fd", "class": 3, "rating": "C", "cost": 56440, "mass": 5, "power": 0.3, "optmass": 100, "maxfuel": 1.2, "fuelmul": 0.008, "fuelpower": 2.15 },
|
||||
"3B": { "grp": "fd", "class": 3, "rating": "B", "cost": 169300, "mass": 8, "power": 0.38, "optmass": 125, "maxfuel": 1.5, "fuelmul": 0.01, "fuelpower": 2.15 },
|
||||
"3A": { "grp": "fd", "class": 3, "rating": "A", "cost": 507910, "mass": 5, "power": 0.45, "optmass": 150, "maxfuel": 1.8, "fuelmul": 0.012, "fuelpower": 2.15 },
|
||||
|
||||
"2E": { "grp": "fd", "class": 2, "rating": "E", "cost": 1980, "mass": 2.5, "power": 0.16, "optmass": 48, "maxfuel": 0.6, "fuelmul": 0.011, "fuelpower": 2 },
|
||||
"2D": { "grp": "fd", "class": 2, "rating": "D", "cost": 5930, "mass": 1, "power": 0.18, "optmass": 54, "maxfuel": 0.6, "fuelmul": 0.01, "fuelpower": 2 },
|
||||
"2C": { "grp": "fd", "class": 2, "rating": "C", "cost": 17800, "mass": 2.5, "power": 0.2, "optmass": 60, "maxfuel": 0.6, "fuelmul": 0.008, "fuelpower": 2 },
|
||||
"2B": { "grp": "fd", "class": 2, "rating": "B", "cost": 53410, "mass": 4, "power": 0.25, "optmass": 75, "maxfuel": 0.8, "fuelmul": 0.01, "fuelpower": 2 },
|
||||
"2A": { "grp": "fd", "class": 2, "rating": "A", "cost": 160220, "mass": 2.5, "power": 0.3, "optmass": 90, "maxfuel": 0.9, "fuelmul": 0.012, "fuelpower": 2 }
|
||||
}
|
||||
@@ -1,44 +1,10 @@
|
||||
{
|
||||
"1C": {
|
||||
"grp": "ft",
|
||||
"class": 1,
|
||||
"rating": "C",
|
||||
"cost": 1000,
|
||||
"capacity": 2
|
||||
},
|
||||
"2C": {
|
||||
"grp": "ft",
|
||||
"class": 2,
|
||||
"rating": "C",
|
||||
"cost": 3750,
|
||||
"capacity": 4
|
||||
},
|
||||
"3C": {
|
||||
"grp": "ft",
|
||||
"class": 3,
|
||||
"rating": "C",
|
||||
"cost": 7063,
|
||||
"capacity": 8
|
||||
},
|
||||
"4C": {
|
||||
"grp": "ft",
|
||||
"class": 4,
|
||||
"rating": "C",
|
||||
"cost": 24734,
|
||||
"capacity": 16
|
||||
},
|
||||
"5C": {
|
||||
"grp": "ft",
|
||||
"class": 5,
|
||||
"rating": "C",
|
||||
"cost": 97754,
|
||||
"capacity": 32
|
||||
},
|
||||
"6C": {
|
||||
"grp": "ft",
|
||||
"class": 6,
|
||||
"rating": "C",
|
||||
"cost": 341577,
|
||||
"capacity": 64
|
||||
}
|
||||
"1C": { "grp": "ft", "class": 1, "rating": "C", "cost": 1000, "capacity": 2 },
|
||||
"2C": { "grp": "ft", "class": 2, "rating": "C", "cost": 3750, "capacity": 4 },
|
||||
"3C": { "grp": "ft", "class": 3, "rating": "C", "cost": 7060, "capacity": 8 },
|
||||
"4C": { "grp": "ft", "class": 4, "rating": "C", "cost": 24730, "capacity": 16 },
|
||||
"5C": { "grp": "ft", "class": 5, "rating": "C", "cost": 97750, "capacity": 32 },
|
||||
"6C": { "grp": "ft", "class": 6, "rating": "C", "cost": 341580, "capacity": 64 },
|
||||
"7C": { "grp": "ft", "class": 7, "rating": "C", "cost": 1780910, "capacity": 128 },
|
||||
"8C": { "grp": "ft", "class": 8, "rating": "C", "cost": 5428400, "capacity": 256 }
|
||||
}
|
||||
@@ -1,272 +1,37 @@
|
||||
{
|
||||
"6E": {
|
||||
"grp": "ls",
|
||||
"class": 6,
|
||||
"rating": "E",
|
||||
"cost": 88978,
|
||||
"mass": 40,
|
||||
"power": 0.64,
|
||||
"time": 300
|
||||
},
|
||||
"6D": {
|
||||
"grp": "ls",
|
||||
"class": 6,
|
||||
"rating": "D",
|
||||
"cost": 222444,
|
||||
"mass": 16,
|
||||
"power": 0.72,
|
||||
"time": 450
|
||||
},
|
||||
"6C": {
|
||||
"grp": "ls",
|
||||
"class": 6,
|
||||
"rating": "C",
|
||||
"cost": 556110,
|
||||
"mass": 40,
|
||||
"power": 0.8,
|
||||
"time": 600
|
||||
},
|
||||
"6B": {
|
||||
"grp": "ls",
|
||||
"class": 6,
|
||||
"rating": "B",
|
||||
"cost": 1390275,
|
||||
"mass": 64,
|
||||
"power": 0.88,
|
||||
"time": 900
|
||||
},
|
||||
"6A": {
|
||||
"grp": "ls",
|
||||
"class": 6,
|
||||
"rating": "A",
|
||||
"cost": 3475688,
|
||||
"mass": 40,
|
||||
"power": 0.96,
|
||||
"time": 1500
|
||||
},
|
||||
"5E": {
|
||||
"grp": "ls",
|
||||
"class": 5,
|
||||
"rating": "E",
|
||||
"cost": 31778,
|
||||
"mass": 20,
|
||||
"power": 0.57,
|
||||
"time": 300
|
||||
},
|
||||
"5D": {
|
||||
"grp": "ls",
|
||||
"class": 5,
|
||||
"rating": "D",
|
||||
"cost": 79444,
|
||||
"mass": 8,
|
||||
"power": 0.64,
|
||||
"time": 450
|
||||
},
|
||||
"5C": {
|
||||
"grp": "ls",
|
||||
"class": 5,
|
||||
"rating": "C",
|
||||
"cost": 198611,
|
||||
"mass": 20,
|
||||
"power": 0.71,
|
||||
"time": 600
|
||||
},
|
||||
"5B": {
|
||||
"grp": "ls",
|
||||
"class": 5,
|
||||
"rating": "B",
|
||||
"cost": 496527,
|
||||
"mass": 32,
|
||||
"power": 0.78,
|
||||
"time": 900
|
||||
},
|
||||
"5A": {
|
||||
"grp": "ls",
|
||||
"class": 5,
|
||||
"rating": "A",
|
||||
"cost": 1241317,
|
||||
"mass": 20,
|
||||
"power": 0.85,
|
||||
"time": 1500
|
||||
},
|
||||
"4E": {
|
||||
"grp": "ls",
|
||||
"class": 4,
|
||||
"rating": "E",
|
||||
"cost": 11349,
|
||||
"mass": 10,
|
||||
"power": 0.5,
|
||||
"time": 300
|
||||
},
|
||||
"4D": {
|
||||
"grp": "ls",
|
||||
"class": 4,
|
||||
"rating": "D",
|
||||
"cost": 28373,
|
||||
"mass": 4,
|
||||
"power": 0.56,
|
||||
"time": 450
|
||||
},
|
||||
"4C": {
|
||||
"grp": "ls",
|
||||
"class": 4,
|
||||
"rating": "C",
|
||||
"cost": 70932,
|
||||
"mass": 10,
|
||||
"power": 0.62,
|
||||
"time": 600
|
||||
},
|
||||
"4B": {
|
||||
"grp": "ls",
|
||||
"class": 4,
|
||||
"rating": "B",
|
||||
"cost": 177331,
|
||||
"mass": 16,
|
||||
"power": 0.68,
|
||||
"time": 900
|
||||
},
|
||||
"4A": {
|
||||
"grp": "ls",
|
||||
"class": 4,
|
||||
"rating": "A",
|
||||
"cost": 443328,
|
||||
"mass": 10,
|
||||
"power": 0.74,
|
||||
"time": 1500
|
||||
},
|
||||
"3E": {
|
||||
"grp": "ls",
|
||||
"class": 3,
|
||||
"rating": "E",
|
||||
"cost": 4053,
|
||||
"mass": 5,
|
||||
"power": 0.42,
|
||||
"time": 300
|
||||
},
|
||||
"3D": {
|
||||
"grp": "ls",
|
||||
"class": 3,
|
||||
"rating": "D",
|
||||
"cost": 10133,
|
||||
"mass": 2,
|
||||
"power": 0.48,
|
||||
"time": 450
|
||||
},
|
||||
"3C": {
|
||||
"grp": "ls",
|
||||
"class": 3,
|
||||
"rating": "C",
|
||||
"cost": 25333,
|
||||
"mass": 5,
|
||||
"power": 0.53,
|
||||
"time": 600
|
||||
},
|
||||
"3B": {
|
||||
"grp": "ls",
|
||||
"class": 3,
|
||||
"rating": "B",
|
||||
"cost": 63333,
|
||||
"mass": 8,
|
||||
"power": 0.58,
|
||||
"time": 900
|
||||
},
|
||||
"3A": {
|
||||
"grp": "ls",
|
||||
"class": 3,
|
||||
"rating": "A",
|
||||
"cost": 158331,
|
||||
"mass": 5,
|
||||
"power": 0.64,
|
||||
"time": 1500
|
||||
},
|
||||
"2E": {
|
||||
"grp": "ls",
|
||||
"class": 2,
|
||||
"rating": "E",
|
||||
"cost": 1448,
|
||||
"mass": 2.5,
|
||||
"power": 0.37,
|
||||
"time": 300
|
||||
},
|
||||
"2D": {
|
||||
"grp": "ls",
|
||||
"class": 2,
|
||||
"rating": "D",
|
||||
"cost": 3619,
|
||||
"mass": 1,
|
||||
"power": 0.41,
|
||||
"time": 450
|
||||
},
|
||||
"2C": {
|
||||
"grp": "ls",
|
||||
"class": 2,
|
||||
"rating": "C",
|
||||
"cost": 9048,
|
||||
"mass": 2.5,
|
||||
"power": 0.46,
|
||||
"time": 600
|
||||
},
|
||||
"2B": {
|
||||
"grp": "ls",
|
||||
"class": 2,
|
||||
"rating": "B",
|
||||
"cost": 22619,
|
||||
"mass": 4,
|
||||
"power": 0.51,
|
||||
"time": 900
|
||||
},
|
||||
"2A": {
|
||||
"grp": "ls",
|
||||
"class": 2,
|
||||
"rating": "A",
|
||||
"cost": 56547,
|
||||
"mass": 2.5,
|
||||
"power": 0.55,
|
||||
"time": 1500
|
||||
},
|
||||
"1E": {
|
||||
"grp": "ls",
|
||||
"class": 1,
|
||||
"rating": "E",
|
||||
"cost": 517,
|
||||
"mass": 1.3,
|
||||
"power": 0.32,
|
||||
"time": 300
|
||||
},
|
||||
"1D": {
|
||||
"grp": "ls",
|
||||
"class": 1,
|
||||
"rating": "D",
|
||||
"cost": 1293,
|
||||
"mass": 0.5,
|
||||
"power": 0.36,
|
||||
"time": 450
|
||||
},
|
||||
"1C": {
|
||||
"grp": "ls",
|
||||
"class": 1,
|
||||
"rating": "C",
|
||||
"cost": 3231,
|
||||
"mass": 1.3,
|
||||
"power": 0.4,
|
||||
"time": 600
|
||||
},
|
||||
"1B": {
|
||||
"grp": "ls",
|
||||
"class": 1,
|
||||
"rating": "B",
|
||||
"cost": 8078,
|
||||
"mass": 2,
|
||||
"power": 0.44,
|
||||
"time": 900
|
||||
},
|
||||
"1A": {
|
||||
"grp": "ls",
|
||||
"class": 1,
|
||||
"rating": "A",
|
||||
"cost": 20195,
|
||||
"mass": 1.3,
|
||||
"power": 0.48,
|
||||
"time": 1500
|
||||
}
|
||||
"6E": { "grp": "ls", "class": 6, "rating": "E", "cost": 88980, "mass": 40, "power": 0.64, "time": 300 },
|
||||
"6D": { "grp": "ls", "class": 6, "rating": "D", "cost": 222440, "mass": 16, "power": 0.72, "time": 450 },
|
||||
"6C": { "grp": "ls", "class": 6, "rating": "C", "cost": 556110, "mass": 40, "power": 0.8, "time": 600 },
|
||||
"6B": { "grp": "ls", "class": 6, "rating": "B", "cost": 1390280, "mass": 64, "power": 0.88, "time": 900 },
|
||||
"6A": { "grp": "ls", "class": 6, "rating": "A", "cost": 3475690, "mass": 40, "power": 0.96, "time": 1500 },
|
||||
|
||||
"5E": { "grp": "ls", "class": 5, "rating": "E", "cost": 31780, "mass": 20, "power": 0.57, "time": 300 },
|
||||
"5D": { "grp": "ls", "class": 5, "rating": "D", "cost": 79440, "mass": 8, "power": 0.64, "time": 450 },
|
||||
"5C": { "grp": "ls", "class": 5, "rating": "C", "cost": 198610, "mass": 20, "power": 0.71, "time": 600 },
|
||||
"5B": { "grp": "ls", "class": 5, "rating": "B", "cost": 496530, "mass": 32, "power": 0.78, "time": 900 },
|
||||
"5A": { "grp": "ls", "class": 5, "rating": "A", "cost": 1241320, "mass": 20, "power": 0.85, "time": 1500 },
|
||||
|
||||
"4E": { "grp": "ls", "class": 4, "rating": "E", "cost": 11350, "mass": 10, "power": 0.5, "time": 300 },
|
||||
"4D": { "grp": "ls", "class": 4, "rating": "D", "cost": 28370, "mass": 4, "power": 0.56, "time": 450 },
|
||||
"4C": { "grp": "ls", "class": 4, "rating": "C", "cost": 70930, "mass": 10, "power": 0.62, "time": 600 },
|
||||
"4B": { "grp": "ls", "class": 4, "rating": "B", "cost": 177330, "mass": 16, "power": 0.68, "time": 900 },
|
||||
"4A": { "grp": "ls", "class": 4, "rating": "A", "cost": 443330, "mass": 10, "power": 0.74, "time": 1500 },
|
||||
|
||||
"3E": { "grp": "ls", "class": 3, "rating": "E", "cost": 4050, "mass": 5, "power": 0.42, "time": 300 },
|
||||
"3D": { "grp": "ls", "class": 3, "rating": "D", "cost": 10130, "mass": 2, "power": 0.48, "time": 450 },
|
||||
"3C": { "grp": "ls", "class": 3, "rating": "C", "cost": 25330, "mass": 5, "power": 0.53, "time": 600 },
|
||||
"3B": { "grp": "ls", "class": 3, "rating": "B", "cost": 63330, "mass": 8, "power": 0.58, "time": 900 },
|
||||
"3A": { "grp": "ls", "class": 3, "rating": "A", "cost": 158330, "mass": 5, "power": 0.64, "time": 1500 },
|
||||
|
||||
"2E": { "grp": "ls", "class": 2, "rating": "E", "cost": 1450, "mass": 2.5, "power": 0.37, "time": 300 },
|
||||
"2D": { "grp": "ls", "class": 2, "rating": "D", "cost": 3620, "mass": 1, "power": 0.41, "time": 450 },
|
||||
"2C": { "grp": "ls", "class": 2, "rating": "C", "cost": 9050, "mass": 2.5, "power": 0.46, "time": 600 },
|
||||
"2B": { "grp": "ls", "class": 2, "rating": "B", "cost": 22620, "mass": 4, "power": 0.51, "time": 900 },
|
||||
"2A": { "grp": "ls", "class": 2, "rating": "A", "cost": 56550, "mass": 2.5, "power": 0.55, "time": 1500 },
|
||||
|
||||
"1E": { "grp": "ls", "class": 1, "rating": "E", "cost": 520, "mass": 1.3, "power": 0.32, "time": 300 },
|
||||
"1D": { "grp": "ls", "class": 1, "rating": "D", "cost": 1290, "mass": 0.5, "power": 0.36, "time": 450 },
|
||||
"1C": { "grp": "ls", "class": 1, "rating": "C", "cost": 3230, "mass": 1.3, "power": 0.4, "time": 600 },
|
||||
"1B": { "grp": "ls", "class": 1, "rating": "B", "cost": 8080, "mass": 2, "power": 0.44, "time": 900 },
|
||||
"1A": { "grp": "ls", "class": 1, "rating": "A", "cost": 20200, "mass": 1.3, "power": 0.48, "time": 1500 }
|
||||
}
|
||||
@@ -1,42 +1,49 @@
|
||||
{
|
||||
"8E": { "grp": "pd", "class": 8, "rating": "E", "cost": 697584, "mass": 160, "power": 0.64, "weaponcapacity": 48, "weaponrecharge": 4.8, "enginecapacity": 32, "enginerecharge": 3.2, "systemcapacity": 32, "systemrecharge": 3.2 },
|
||||
"8D": { "grp": "pd", "class": 8, "rating": "D", "cost": 1743961, "mass": 64, "power": 0.72, "weaponcapacity": 54, "weaponrecharge": 5.4, "enginecapacity": 36, "enginerecharge": 3.6, "systemcapacity": 36, "systemrecharge": 3.6 },
|
||||
"8C": { "grp": "pd", "class": 8, "rating": "C", "cost": 4359903, "mass": 160, "power": 0.8, "weaponcapacity": 60, "weaponrecharge": 6, "enginecapacity": 40, "enginerecharge": 4, "systemcapacity": 40, "systemrecharge": 4 },
|
||||
"8B": { "grp": "pd", "class": 8, "rating": "B", "cost": 10899756, "mass": 256, "power": 0.88, "weaponcapacity": 66, "weaponrecharge": 6.6, "enginecapacity": 44, "enginerecharge": 4.4, "systemcapacity": 44, "systemrecharge": 4.4 },
|
||||
"8A": { "grp": "pd", "class": 8, "rating": "A", "cost": 27249391, "mass": 160, "power": 0.96, "weaponcapacity": 72, "weaponrecharge": 7.2, "enginecapacity": 48, "enginerecharge": 4.8, "systemcapacity": 48, "systemrecharge": 4.8 },
|
||||
"7E": { "grp": "pd", "class": 7, "rating": "E", "cost": 249137, "mass": 80, "power": 0.59, "weaponcapacity": 41, "weaponrecharge": 4.1, "enginecapacity": 27, "enginerecharge": 2.6, "systemcapacity": 27, "systemrecharge": 2.6 },
|
||||
"7D": { "grp": "pd", "class": 7, "rating": "D", "cost": 622843, "mass": 32, "power": 0.67, "weaponcapacity": 46, "weaponrecharge": 4.6, "enginecapacity": 31, "enginerecharge": 3, "systemcapacity": 31, "systemrecharge": 3 },
|
||||
"7C": { "grp": "pd", "class": 7, "rating": "C", "cost": 1557108, "mass": 80, "power": 0.74, "weaponcapacity": 51, "weaponrecharge": 5.1, "enginecapacity": 34, "enginerecharge": 3.3, "systemcapacity": 34, "systemrecharge": 3.3 },
|
||||
"8E": { "grp": "pd", "class": 8, "rating": "E", "cost": 697580, "mass": 160, "power": 0.64, "weaponcapacity": 48, "weaponrecharge": 4.8, "enginecapacity": 32, "enginerecharge": 3.2, "systemcapacity": 32, "systemrecharge": 3.2 },
|
||||
"8D": { "grp": "pd", "class": 8, "rating": "D", "cost": 1743960, "mass": 64, "power": 0.72, "weaponcapacity": 54, "weaponrecharge": 5.4, "enginecapacity": 36, "enginerecharge": 3.6, "systemcapacity": 36, "systemrecharge": 3.6 },
|
||||
"8C": { "grp": "pd", "class": 8, "rating": "C", "cost": 4359900, "mass": 160, "power": 0.8, "weaponcapacity": 60, "weaponrecharge": 6, "enginecapacity": 40, "enginerecharge": 4, "systemcapacity": 40, "systemrecharge": 4 },
|
||||
"8B": { "grp": "pd", "class": 8, "rating": "B", "cost": 10899760, "mass": 256, "power": 0.88, "weaponcapacity": 66, "weaponrecharge": 6.6, "enginecapacity": 44, "enginerecharge": 4.4, "systemcapacity": 44, "systemrecharge": 4.4 },
|
||||
"8A": { "grp": "pd", "class": 8, "rating": "A", "cost": 27249390, "mass": 160, "power": 0.96, "weaponcapacity": 72, "weaponrecharge": 7.2, "enginecapacity": 48, "enginerecharge": 4.8, "systemcapacity": 48, "systemrecharge": 4.8 },
|
||||
|
||||
"7E": { "grp": "pd", "class": 7, "rating": "E", "cost": 249140, "mass": 80, "power": 0.59, "weaponcapacity": 41, "weaponrecharge": 4.1, "enginecapacity": 27, "enginerecharge": 2.6, "systemcapacity": 27, "systemrecharge": 2.6 },
|
||||
"7D": { "grp": "pd", "class": 7, "rating": "D", "cost": 622840, "mass": 32, "power": 0.67, "weaponcapacity": 46, "weaponrecharge": 4.6, "enginecapacity": 31, "enginerecharge": 3, "systemcapacity": 31, "systemrecharge": 3 },
|
||||
"7C": { "grp": "pd", "class": 7, "rating": "C", "cost": 1557110, "mass": 80, "power": 0.74, "weaponcapacity": 51, "weaponrecharge": 5.1, "enginecapacity": 34, "enginerecharge": 3.3, "systemcapacity": 34, "systemrecharge": 3.3 },
|
||||
"7B": { "grp": "pd", "class": 7, "rating": "B", "cost": 3892770, "mass": 128, "power": 0.81, "weaponcapacity": 56, "weaponrecharge": 5.6, "enginecapacity": 37, "enginerecharge": 3.6, "systemcapacity": 37, "systemrecharge": 3.6 },
|
||||
"7A": { "grp": "pd", "class": 7, "rating": "A", "cost": 9731925, "mass": 80, "power": 0.89, "weaponcapacity": 61, "weaponrecharge": 6.1, "enginecapacity": 41, "enginerecharge": 4, "systemcapacity": 41, "systemrecharge": 4 },
|
||||
"6E": { "grp": "pd", "class": 6, "rating": "E", "cost": 88978, "mass": 40, "power": 0.54, "weaponcapacity": 34, "weaponrecharge": 3.4, "enginecapacity": 23, "enginerecharge": 2.2, "systemcapacity": 23, "systemrecharge": 2.2 },
|
||||
"6D": { "grp": "pd", "class": 6, "rating": "D", "cost": 222444, "mass": 16, "power": 0.61, "weaponcapacity": 38, "weaponrecharge": 3.9, "enginecapacity": 26, "enginerecharge": 2.4, "systemcapacity": 26, "systemrecharge": 2.4 },
|
||||
"7A": { "grp": "pd", "class": 7, "rating": "A", "cost": 9731930, "mass": 80, "power": 0.89, "weaponcapacity": 61, "weaponrecharge": 6.1, "enginecapacity": 41, "enginerecharge": 4, "systemcapacity": 41, "systemrecharge": 4 },
|
||||
|
||||
"6E": { "grp": "pd", "class": 6, "rating": "E", "cost": 88980, "mass": 40, "power": 0.54, "weaponcapacity": 34, "weaponrecharge": 3.4, "enginecapacity": 23, "enginerecharge": 2.2, "systemcapacity": 23, "systemrecharge": 2.2 },
|
||||
"6D": { "grp": "pd", "class": 6, "rating": "D", "cost": 222440, "mass": 16, "power": 0.61, "weaponcapacity": 38, "weaponrecharge": 3.9, "enginecapacity": 26, "enginerecharge": 2.4, "systemcapacity": 26, "systemrecharge": 2.4 },
|
||||
"6C": { "grp": "pd", "class": 6, "rating": "C", "cost": 556110, "mass": 40, "power": 0.68, "weaponcapacity": 42, "weaponrecharge": 4.3, "enginecapacity": 29, "enginerecharge": 2.7, "systemcapacity": 29, "systemrecharge": 2.7 },
|
||||
"6B": { "grp": "pd", "class": 6, "rating": "B", "cost": 1390275, "mass": 64, "power": 0.75, "weaponcapacity": 46, "weaponrecharge": 4.7, "enginecapacity": 32, "enginerecharge": 3, "systemcapacity": 32, "systemrecharge": 3 },
|
||||
"6A": { "grp": "pd", "class": 6, "rating": "A", "cost": 3475688, "mass": 40, "power": 0.82, "weaponcapacity": 50, "weaponrecharge": 5.2, "enginecapacity": 35, "enginerecharge": 3.2, "systemcapacity": 35, "systemrecharge": 3.2 },
|
||||
"5E": { "grp": "pd", "class": 5, "rating": "E", "cost": 31778, "mass": 20, "power": 0.5, "weaponcapacity": 27, "weaponrecharge": 2.9, "enginecapacity": 19, "enginerecharge": 1.7, "systemcapacity": 19, "systemrecharge": 1.7 },
|
||||
"5D": { "grp": "pd", "class": 5, "rating": "D", "cost": 79444, "mass": 8, "power": 0.56, "weaponcapacity": 31, "weaponrecharge": 3.2, "enginecapacity": 22, "enginerecharge": 1.9, "systemcapacity": 22, "systemrecharge": 1.9 },
|
||||
"5C": { "grp": "pd", "class": 5, "rating": "C", "cost": 198611, "mass": 20, "power": 0.62, "weaponcapacity": 34, "weaponrecharge": 3.6, "enginecapacity": 24, "enginerecharge": 2.1, "systemcapacity": 24, "systemrecharge": 2.1 },
|
||||
"5B": { "grp": "pd", "class": 5, "rating": "B", "cost": 496527, "mass": 32, "power": 0.68, "weaponcapacity": 37, "weaponrecharge": 4, "enginecapacity": 26, "enginerecharge": 2.3, "systemcapacity": 26, "systemrecharge": 2.3 },
|
||||
"5A": { "grp": "pd", "class": 5, "rating": "A", "cost": 1241317, "mass": 20, "power": 0.74, "weaponcapacity": 41, "weaponrecharge": 4.3, "enginecapacity": 29, "enginerecharge": 2.5, "systemcapacity": 29, "systemrecharge": 2.5 },
|
||||
"4E": { "grp": "pd", "class": 4, "rating": "E", "cost": 11349, "mass": 10, "power": 0.45, "weaponcapacity": 22, "weaponrecharge": 2.3, "enginecapacity": 15, "enginerecharge": 1.3, "systemcapacity": 15, "systemrecharge": 1.3 },
|
||||
"4D": { "grp": "pd", "class": 4, "rating": "D", "cost": 28373, "mass": 4, "power": 0.5, "weaponcapacity": 24, "weaponrecharge": 2.6, "enginecapacity": 17, "enginerecharge": 1.4, "systemcapacity": 17, "systemrecharge": 1.4 },
|
||||
"4C": { "grp": "pd", "class": 4, "rating": "C", "cost": 70932, "mass": 10, "power": 0.56, "weaponcapacity": 27, "weaponrecharge": 2.9, "enginecapacity": 19, "enginerecharge": 1.6, "systemcapacity": 19, "systemrecharge": 1.6 },
|
||||
"4B": { "grp": "pd", "class": 4, "rating": "B", "cost": 177331, "mass": 16, "power": 0.62, "weaponcapacity": 30, "weaponrecharge": 3.2, "enginecapacity": 21, "enginerecharge": 1.8, "systemcapacity": 21, "systemrecharge": 1.8 },
|
||||
"4A": { "grp": "pd", "class": 4, "rating": "A", "cost": 443328, "mass": 10, "power": 0.67, "weaponcapacity": 32, "weaponrecharge": 3.5, "enginecapacity": 23, "enginerecharge": 1.9, "systemcapacity": 23, "systemrecharge": 1.9 },
|
||||
"3E": { "grp": "pd", "class": 3, "rating": "E", "cost": 4053, "mass": 5, "power": 0.4, "weaponcapacity": 16, "weaponrecharge": 1.8, "enginecapacity": 12, "enginerecharge": 0.9, "systemcapacity": 12, "systemrecharge": 0.9 },
|
||||
"3D": { "grp": "pd", "class": 3, "rating": "D", "cost": 10133, "mass": 2, "power": 0.45, "weaponcapacity": 18, "weaponrecharge": 2.1, "enginecapacity": 14, "enginerecharge": 1, "systemcapacity": 14, "systemrecharge": 1 },
|
||||
"3C": { "grp": "pd", "class": 3, "rating": "C", "cost": 25333, "mass": 5, "power": 0.5, "weaponcapacity": 20, "weaponrecharge": 2.3, "enginecapacity": 15, "enginerecharge": 1.1, "systemcapacity": 15, "systemrecharge": 1.1 },
|
||||
"3B": { "grp": "pd", "class": 3, "rating": "B", "cost": 63333, "mass": 8, "power": 0.55, "weaponcapacity": 22, "weaponrecharge": 2.5, "enginecapacity": 17, "enginerecharge": 1.2, "systemcapacity": 17, "systemrecharge": 1.2 },
|
||||
"3A": { "grp": "pd", "class": 3, "rating": "A", "cost": 158331, "mass": 5, "power": 0.6, "weaponcapacity": 24, "weaponrecharge": 2.8, "enginecapacity": 18, "enginerecharge": 1.3, "systemcapacity": 18, "systemrecharge": 1.3 },
|
||||
"2E": { "grp": "pd", "class": 2, "rating": "E", "cost": 1448, "mass": 2.5, "power": 0.36, "weaponcapacity": 12, "weaponrecharge": 1.4, "enginecapacity": 10, "enginerecharge": 0.6, "systemcapacity": 10, "systemrecharge": 0.6 },
|
||||
"2D": { "grp": "pd", "class": 2, "rating": "D", "cost": 3619, "mass": 1, "power": 0.41, "weaponcapacity": 14, "weaponrecharge": 1.6, "enginecapacity": 11, "enginerecharge": 0.6, "systemcapacity": 11, "systemrecharge": 0.6 },
|
||||
"2C": { "grp": "pd", "class": 2, "rating": "C", "cost": 9048, "mass": 2.5, "power": 0.45, "weaponcapacity": 15, "weaponrecharge": 1.8, "enginecapacity": 12, "enginerecharge": 0.7, "systemcapacity": 12, "systemrecharge": 0.7 },
|
||||
"2B": { "grp": "pd", "class": 2, "rating": "B", "cost": 22619, "mass": 4, "power": 0.5, "weaponcapacity": 17, "weaponrecharge": 2, "enginecapacity": 13, "enginerecharge": 0.8, "systemcapacity": 13, "systemrecharge": 0.8 },
|
||||
"2A": { "grp": "pd", "class": 2, "rating": "A", "cost": 56547, "mass": 2.5, "power": 0.54, "weaponcapacity": 18, "weaponrecharge": 2.2, "enginecapacity": 14, "enginerecharge": 0.8, "systemcapacity": 14, "systemrecharge": 0.8 },
|
||||
"1E": { "grp": "pd", "class": 1, "rating": "E", "cost": 517, "mass": 1.3, "power": 0.32, "weaponcapacity": 10, "weaponrecharge": 1.2, "enginecapacity": 8, "enginerecharge": 0.4, "systemcapacity": 8, "systemrecharge": 0.4 },
|
||||
"1D": { "grp": "pd", "class": 1, "rating": "D", "cost": 1293, "mass": 0.5, "power": 0.36, "weaponcapacity": 11, "weaponrecharge": 1.4, "enginecapacity": 9, "enginerecharge": 0.5, "systemcapacity": 9, "systemrecharge": 0.5 },
|
||||
"1C": { "grp": "pd", "class": 1, "rating": "C", "cost": 3231, "mass": 1.3, "power": 0.4, "weaponcapacity": 12, "weaponrecharge": 1.5, "enginecapacity": 10, "enginerecharge": 0.5, "systemcapacity": 10, "systemrecharge": 0.5 },
|
||||
"1B": { "grp": "pd", "class": 1, "rating": "B", "cost": 8078, "mass": 2, "power": 0.44, "weaponcapacity": 13, "weaponrecharge": 1.7, "enginecapacity": 11, "enginerecharge": 0.6, "systemcapacity": 11, "systemrecharge": 0.6 },
|
||||
"1A": { "grp": "pd", "class": 1, "rating": "A", "cost": 20195, "mass": 1.3, "power": 0.48, "weaponcapacity": 14, "weaponrecharge": 1.8, "enginecapacity": 12, "enginerecharge": 0.6, "systemcapacity": 12, "systemrecharge": 0.6 }
|
||||
"6B": { "grp": "pd", "class": 6, "rating": "B", "cost": 1390280, "mass": 64, "power": 0.75, "weaponcapacity": 46, "weaponrecharge": 4.7, "enginecapacity": 32, "enginerecharge": 3, "systemcapacity": 32, "systemrecharge": 3 },
|
||||
"6A": { "grp": "pd", "class": 6, "rating": "A", "cost": 3475690, "mass": 40, "power": 0.82, "weaponcapacity": 50, "weaponrecharge": 5.2, "enginecapacity": 35, "enginerecharge": 3.2, "systemcapacity": 35, "systemrecharge": 3.2 },
|
||||
|
||||
"5E": { "grp": "pd", "class": 5, "rating": "E", "cost": 31780, "mass": 20, "power": 0.5, "weaponcapacity": 27, "weaponrecharge": 2.9, "enginecapacity": 19, "enginerecharge": 1.7, "systemcapacity": 19, "systemrecharge": 1.7 },
|
||||
"5D": { "grp": "pd", "class": 5, "rating": "D", "cost": 79440, "mass": 8, "power": 0.56, "weaponcapacity": 31, "weaponrecharge": 3.2, "enginecapacity": 22, "enginerecharge": 1.9, "systemcapacity": 22, "systemrecharge": 1.9 },
|
||||
"5C": { "grp": "pd", "class": 5, "rating": "C", "cost": 198610, "mass": 20, "power": 0.62, "weaponcapacity": 34, "weaponrecharge": 3.6, "enginecapacity": 24, "enginerecharge": 2.1, "systemcapacity": 24, "systemrecharge": 2.1 },
|
||||
"5B": { "grp": "pd", "class": 5, "rating": "B", "cost": 496530, "mass": 32, "power": 0.68, "weaponcapacity": 37, "weaponrecharge": 4, "enginecapacity": 26, "enginerecharge": 2.3, "systemcapacity": 26, "systemrecharge": 2.3 },
|
||||
"5A": { "grp": "pd", "class": 5, "rating": "A", "cost": 1241320, "mass": 20, "power": 0.74, "weaponcapacity": 41, "weaponrecharge": 4.3, "enginecapacity": 29, "enginerecharge": 2.5, "systemcapacity": 29, "systemrecharge": 2.5 },
|
||||
|
||||
"4E": { "grp": "pd", "class": 4, "rating": "E", "cost": 11350, "mass": 10, "power": 0.45, "weaponcapacity": 22, "weaponrecharge": 2.3, "enginecapacity": 15, "enginerecharge": 1.3, "systemcapacity": 15, "systemrecharge": 1.3 },
|
||||
"4D": { "grp": "pd", "class": 4, "rating": "D", "cost": 28370, "mass": 4, "power": 0.5, "weaponcapacity": 24, "weaponrecharge": 2.6, "enginecapacity": 17, "enginerecharge": 1.4, "systemcapacity": 17, "systemrecharge": 1.4 },
|
||||
"4C": { "grp": "pd", "class": 4, "rating": "C", "cost": 70930, "mass": 10, "power": 0.56, "weaponcapacity": 27, "weaponrecharge": 2.9, "enginecapacity": 19, "enginerecharge": 1.6, "systemcapacity": 19, "systemrecharge": 1.6 },
|
||||
"4B": { "grp": "pd", "class": 4, "rating": "B", "cost": 177330, "mass": 16, "power": 0.62, "weaponcapacity": 30, "weaponrecharge": 3.2, "enginecapacity": 21, "enginerecharge": 1.8, "systemcapacity": 21, "systemrecharge": 1.8 },
|
||||
"4A": { "grp": "pd", "class": 4, "rating": "A", "cost": 443330, "mass": 10, "power": 0.67, "weaponcapacity": 32, "weaponrecharge": 3.5, "enginecapacity": 23, "enginerecharge": 1.9, "systemcapacity": 23, "systemrecharge": 1.9 },
|
||||
|
||||
"3E": { "grp": "pd", "class": 3, "rating": "E", "cost": 4050, "mass": 5, "power": 0.4, "weaponcapacity": 16, "weaponrecharge": 1.8, "enginecapacity": 12, "enginerecharge": 0.9, "systemcapacity": 12, "systemrecharge": 0.9 },
|
||||
"3D": { "grp": "pd", "class": 3, "rating": "D", "cost": 10130, "mass": 2, "power": 0.45, "weaponcapacity": 18, "weaponrecharge": 2.1, "enginecapacity": 14, "enginerecharge": 1, "systemcapacity": 14, "systemrecharge": 1 },
|
||||
"3C": { "grp": "pd", "class": 3, "rating": "C", "cost": 25330, "mass": 5, "power": 0.5, "weaponcapacity": 20, "weaponrecharge": 2.3, "enginecapacity": 15, "enginerecharge": 1.1, "systemcapacity": 15, "systemrecharge": 1.1 },
|
||||
"3B": { "grp": "pd", "class": 3, "rating": "B", "cost": 63330, "mass": 8, "power": 0.55, "weaponcapacity": 22, "weaponrecharge": 2.5, "enginecapacity": 17, "enginerecharge": 1.2, "systemcapacity": 17, "systemrecharge": 1.2 },
|
||||
"3A": { "grp": "pd", "class": 3, "rating": "A", "cost": 158330, "mass": 5, "power": 0.6, "weaponcapacity": 24, "weaponrecharge": 2.8, "enginecapacity": 18, "enginerecharge": 1.3, "systemcapacity": 18, "systemrecharge": 1.3 },
|
||||
|
||||
"2E": { "grp": "pd", "class": 2, "rating": "E", "cost": 1450, "mass": 2.5, "power": 0.36, "weaponcapacity": 12, "weaponrecharge": 1.4, "enginecapacity": 10, "enginerecharge": 0.6, "systemcapacity": 10, "systemrecharge": 0.6 },
|
||||
"2D": { "grp": "pd", "class": 2, "rating": "D", "cost": 3620, "mass": 1, "power": 0.41, "weaponcapacity": 14, "weaponrecharge": 1.6, "enginecapacity": 11, "enginerecharge": 0.6, "systemcapacity": 11, "systemrecharge": 0.6 },
|
||||
"2C": { "grp": "pd", "class": 2, "rating": "C", "cost": 9050, "mass": 2.5, "power": 0.45, "weaponcapacity": 15, "weaponrecharge": 1.8, "enginecapacity": 12, "enginerecharge": 0.7, "systemcapacity": 12, "systemrecharge": 0.7 },
|
||||
"2B": { "grp": "pd", "class": 2, "rating": "B", "cost": 22620, "mass": 4, "power": 0.5, "weaponcapacity": 17, "weaponrecharge": 2, "enginecapacity": 13, "enginerecharge": 0.8, "systemcapacity": 13, "systemrecharge": 0.8 },
|
||||
"2A": { "grp": "pd", "class": 2, "rating": "A", "cost": 56550, "mass": 2.5, "power": 0.54, "weaponcapacity": 18, "weaponrecharge": 2.2, "enginecapacity": 14, "enginerecharge": 0.8, "systemcapacity": 14, "systemrecharge": 0.8 },
|
||||
|
||||
"1E": { "grp": "pd", "class": 1, "rating": "E", "cost": 520, "mass": 1.3, "power": 0.32, "weaponcapacity": 10, "weaponrecharge": 1.2, "enginecapacity": 8, "enginerecharge": 0.4, "systemcapacity": 8, "systemrecharge": 0.4 },
|
||||
"1D": { "grp": "pd", "class": 1, "rating": "D", "cost": 1290, "mass": 0.5, "power": 0.36, "weaponcapacity": 11, "weaponrecharge": 1.4, "enginecapacity": 9, "enginerecharge": 0.5, "systemcapacity": 9, "systemrecharge": 0.5 },
|
||||
"1C": { "grp": "pd", "class": 1, "rating": "C", "cost": 3230, "mass": 1.3, "power": 0.4, "weaponcapacity": 12, "weaponrecharge": 1.5, "enginecapacity": 10, "enginerecharge": 0.5, "systemcapacity": 10, "systemrecharge": 0.5 },
|
||||
"1B": { "grp": "pd", "class": 1, "rating": "B", "cost": 8080, "mass": 2, "power": 0.44, "weaponcapacity": 13, "weaponrecharge": 1.7, "enginecapacity": 11, "enginerecharge": 0.6, "systemcapacity": 11, "systemrecharge": 0.6 },
|
||||
"1A": { "grp": "pd", "class": 1, "rating": "A", "cost": 20200, "mass": 1.3, "power": 0.48, "weaponcapacity": 14, "weaponrecharge": 1.8, "enginecapacity": 12, "enginerecharge": 0.6, "systemcapacity": 12, "systemrecharge": 0.6 }
|
||||
}
|
||||
@@ -1,37 +1,43 @@
|
||||
{
|
||||
"8E":{ "grp": "pp", "class": 8, "rating": "E", "cost": 2007241, "mass": 160, "pGen": 24, "eff": "F" },
|
||||
"8D":{ "grp": "pp", "class": 8, "rating": "D", "cost": 6021722, "mass": 64, "pGen": 27, "eff": "D" },
|
||||
"8C":{ "grp": "pp", "class": 8, "rating": "C", "cost": 18065165, "mass": 80, "pGen": 30, "eff": "C" },
|
||||
"8B":{ "grp": "pp", "class": 8, "rating": "B", "cost": 54195495, "mass": 128, "pGen": 33, "eff": "C" },
|
||||
"8A":{ "grp": "pp", "class": 8, "rating": "A", "cost": 162586486, "mass": 80, "pGen": 36, "eff": "B" },
|
||||
"7E":{ "grp": "pp", "class": 7, "rating": "E", "cost": 633199, "mass": 80, "pGen": 20, "eff": "F" },
|
||||
"7D":{ "grp": "pp", "class": 7, "rating": "D", "cost": 1899597, "mass": 32, "pGen": 22.5, "eff": "D" },
|
||||
"8E":{ "grp": "pp", "class": 8, "rating": "E", "cost": 2007240, "mass": 160, "pGen": 24, "eff": "F" },
|
||||
"8D":{ "grp": "pp", "class": 8, "rating": "D", "cost": 6021720, "mass": 64, "pGen": 27, "eff": "D" },
|
||||
"8C":{ "grp": "pp", "class": 8, "rating": "C", "cost": 18065170, "mass": 80, "pGen": 30, "eff": "C" },
|
||||
"8B":{ "grp": "pp", "class": 8, "rating": "B", "cost": 54195500, "mass": 128, "pGen": 33, "eff": "C" },
|
||||
"8A":{ "grp": "pp", "class": 8, "rating": "A", "cost": 162586490, "mass": 80, "pGen": 36, "eff": "B" },
|
||||
|
||||
"7E":{ "grp": "pp", "class": 7, "rating": "E", "cost": 633200, "mass": 80, "pGen": 20, "eff": "F" },
|
||||
"7D":{ "grp": "pp", "class": 7, "rating": "D", "cost": 1899600, "mass": 32, "pGen": 22.5, "eff": "D" },
|
||||
"7C":{ "grp": "pp", "class": 7, "rating": "C", "cost": 5698790, "mass": 40, "pGen": 25, "eff": "C" },
|
||||
"7B":{ "grp": "pp", "class": 7, "rating": "B", "cost": 17096371, "mass": 64, "pGen": 27.5, "eff": "C" },
|
||||
"7A":{ "grp": "pp", "class": 7, "rating": "A", "cost": 51289112, "mass": 40, "pGen": 30, "eff": "B" },
|
||||
"6E":{ "grp": "pp", "class": 6, "rating": "E", "cost": 199747, "mass": 40, "pGen": 16.8, "eff": "F" },
|
||||
"6D":{ "grp": "pp", "class": 6, "rating": "D", "cost": 599242, "mass": 16, "pGen": 18.9, "eff": "D" },
|
||||
"6C":{ "grp": "pp", "class": 6, "rating": "C", "cost": 1797726, "mass": 20, "pGen": 21, "eff": "C" },
|
||||
"6B":{ "grp": "pp", "class": 6, "rating": "B", "cost": 5393177, "mass": 32, "pGen": 23.1, "eff": "C" },
|
||||
"6A":{ "grp": "pp", "class": 6, "rating": "A", "cost": 16179531, "mass": 20, "pGen": 25.2, "eff": "B" },
|
||||
"5E":{ "grp": "pp", "class": 5, "rating": "E", "cost": 63012, "mass": 20, "pGen": 13.6, "eff": "F" },
|
||||
"5D":{ "grp": "pp", "class": 5, "rating": "D", "cost": 189035, "mass": 8, "pGen": 15.3, "eff": "D" },
|
||||
"5C":{ "grp": "pp", "class": 5, "rating": "C", "cost": 567106, "mass": 10, "pGen": 17, "eff": "C" },
|
||||
"5B":{ "grp": "pp", "class": 5, "rating": "B", "cost": 1701318, "mass": 16, "pGen": 18.7, "eff": "C" },
|
||||
"5A":{ "grp": "pp", "class": 5, "rating": "A", "cost": 5103953, "mass": 10, "pGen": 20.4, "eff": "B" },
|
||||
"4E":{ "grp": "pp", "class": 4, "rating": "E", "cost": 19878, "mass": 10, "pGen": 10.4, "eff": "F" },
|
||||
"4D":{ "grp": "pp", "class": 4, "rating": "D", "cost": 59633, "mass": 4, "pGen": 11.7, "eff": "D" },
|
||||
"4C":{ "grp": "pp", "class": 4, "rating": "C", "cost": 178898, "mass": 5, "pGen": 13, "eff": "C" },
|
||||
"4B":{ "grp": "pp", "class": 4, "rating": "B", "cost": 536693, "mass": 8, "pGen": 14.3, "eff": "C" },
|
||||
"7B":{ "grp": "pp", "class": 7, "rating": "B", "cost": 17096370, "mass": 64, "pGen": 27.5, "eff": "C" },
|
||||
"7A":{ "grp": "pp", "class": 7, "rating": "A", "cost": 51289110, "mass": 40, "pGen": 30, "eff": "B" },
|
||||
|
||||
"6E":{ "grp": "pp", "class": 6, "rating": "E", "cost": 199750, "mass": 40, "pGen": 16.8, "eff": "F" },
|
||||
"6D":{ "grp": "pp", "class": 6, "rating": "D", "cost": 599240, "mass": 16, "pGen": 18.9, "eff": "D" },
|
||||
"6C":{ "grp": "pp", "class": 6, "rating": "C", "cost": 1797730, "mass": 20, "pGen": 21, "eff": "C" },
|
||||
"6B":{ "grp": "pp", "class": 6, "rating": "B", "cost": 5393180, "mass": 32, "pGen": 23.1, "eff": "C" },
|
||||
"6A":{ "grp": "pp", "class": 6, "rating": "A", "cost": 16179530, "mass": 20, "pGen": 25.2, "eff": "B" },
|
||||
|
||||
"5E":{ "grp": "pp", "class": 5, "rating": "E", "cost": 63010, "mass": 20, "pGen": 13.6, "eff": "F" },
|
||||
"5D":{ "grp": "pp", "class": 5, "rating": "D", "cost": 189040, "mass": 8, "pGen": 15.3, "eff": "D" },
|
||||
"5C":{ "grp": "pp", "class": 5, "rating": "C", "cost": 567110, "mass": 10, "pGen": 17, "eff": "C" },
|
||||
"5B":{ "grp": "pp", "class": 5, "rating": "B", "cost": 1701320, "mass": 16, "pGen": 18.7, "eff": "C" },
|
||||
"5A":{ "grp": "pp", "class": 5, "rating": "A", "cost": 5103950, "mass": 10, "pGen": 20.4, "eff": "B" },
|
||||
|
||||
"4E":{ "grp": "pp", "class": 4, "rating": "E", "cost": 19880, "mass": 10, "pGen": 10.4, "eff": "F" },
|
||||
"4D":{ "grp": "pp", "class": 4, "rating": "D", "cost": 59630, "mass": 4, "pGen": 11.7, "eff": "D" },
|
||||
"4C":{ "grp": "pp", "class": 4, "rating": "C", "cost": 178900, "mass": 5, "pGen": 13, "eff": "C" },
|
||||
"4B":{ "grp": "pp", "class": 4, "rating": "B", "cost": 536690, "mass": 8, "pGen": 14.3, "eff": "C" },
|
||||
"4A":{ "grp": "pp", "class": 4, "rating": "A", "cost": 1610080, "mass": 5, "pGen": 15.6, "eff": "B" },
|
||||
"3E":{ "grp": "pp", "class": 3, "rating": "E", "cost": 6271, "mass": 5, "pGen": 8, "eff": "F" },
|
||||
"3D":{ "grp": "pp", "class": 3, "rating": "D", "cost": 18812, "mass": 2, "pGen": 9, "eff": "D" },
|
||||
"3C":{ "grp": "pp", "class": 3, "rating": "C", "cost": 56435, "mass": 2.5, "pGen": 10, "eff": "C" },
|
||||
"3B":{ "grp": "pp", "class": 3, "rating": "B", "cost": 169304, "mass": 4, "pGen": 11, "eff": "C" },
|
||||
"3A":{ "grp": "pp", "class": 3, "rating": "A", "cost": 507912, "mass": 2.5, "pGen": 12, "eff": "B" },
|
||||
"2E":{ "grp": "pp", "class": 2, "rating": "E", "cost": 1978, "mass": 2.5, "pGen": 6.4, "eff": "F" },
|
||||
"2D":{ "grp": "pp", "class": 2, "rating": "D", "cost": 5934, "mass": 1, "pGen": 7.2, "eff": "D" },
|
||||
"2C":{ "grp": "pp", "class": 2, "rating": "C", "cost": 17803, "mass": 1.3, "pGen": 8, "eff": "C" },
|
||||
"2B":{ "grp": "pp", "class": 2, "rating": "B", "cost": 53408, "mass": 2, "pGen": 8.8, "eff": "C" },
|
||||
"2A":{ "grp": "pp", "class": 2, "rating": "A", "cost": 160224, "mass": 1.3, "pGen": 9.6, "eff": "B" }
|
||||
|
||||
"3E":{ "grp": "pp", "class": 3, "rating": "E", "cost": 6270, "mass": 5, "pGen": 8, "eff": "F" },
|
||||
"3D":{ "grp": "pp", "class": 3, "rating": "D", "cost": 18810, "mass": 2, "pGen": 9, "eff": "D" },
|
||||
"3C":{ "grp": "pp", "class": 3, "rating": "C", "cost": 56440, "mass": 2.5, "pGen": 10, "eff": "C" },
|
||||
"3B":{ "grp": "pp", "class": 3, "rating": "B", "cost": 169300, "mass": 4, "pGen": 11, "eff": "C" },
|
||||
"3A":{ "grp": "pp", "class": 3, "rating": "A", "cost": 507910, "mass": 2.5, "pGen": 12, "eff": "B" },
|
||||
|
||||
"2E":{ "grp": "pp", "class": 2, "rating": "E", "cost": 1980, "mass": 2.5, "pGen": 6.4, "eff": "F" },
|
||||
"2D":{ "grp": "pp", "class": 2, "rating": "D", "cost": 5930, "mass": 1, "pGen": 7.2, "eff": "D" },
|
||||
"2C":{ "grp": "pp", "class": 2, "rating": "C", "cost": 17800, "mass": 1.3, "pGen": 8, "eff": "C" },
|
||||
"2B":{ "grp": "pp", "class": 2, "rating": "B", "cost": 53410, "mass": 2, "pGen": 8.8, "eff": "C" },
|
||||
"2A":{ "grp": "pp", "class": 2, "rating": "A", "cost": 160220, "mass": 1.3, "pGen": 9.6, "eff": "B" }
|
||||
}
|
||||
@@ -1,43 +1,43 @@
|
||||
{
|
||||
"8E": { "grp": "s", "class": 8, "rating": "E", "cost": 697584, "mass": 160, "power": 0.55, "range": 5.12 },
|
||||
"8D": { "grp": "s", "class": 8, "rating": "D", "cost": 1743961, "mass": 64, "power": 0.62, "range": 5.76 },
|
||||
"8C": { "grp": "s", "class": 8, "rating": "C", "cost": 4359903, "mass": 160, "power": 0.69, "range": 6.4 },
|
||||
"8B": { "grp": "s", "class": 8, "rating": "B", "cost": 10899756, "mass": 256, "power": 1.14, "range": 7.04 },
|
||||
"8A": { "grp": "s", "class": 8, "rating": "A", "cost": 27249391, "mass": 160, "power": 2.07, "range": 7.68 },
|
||||
"8E": { "grp": "s", "class": 8, "rating": "E", "cost": 697580, "mass": 160, "power": 0.55, "range": 5.12 },
|
||||
"8D": { "grp": "s", "class": 8, "rating": "D", "cost": 1743960, "mass": 64, "power": 0.62, "range": 5.76 },
|
||||
"8C": { "grp": "s", "class": 8, "rating": "C", "cost": 4359900, "mass": 160, "power": 0.69, "range": 6.4 },
|
||||
"8B": { "grp": "s", "class": 8, "rating": "B", "cost": 10899760, "mass": 256, "power": 1.14, "range": 7.04 },
|
||||
"8A": { "grp": "s", "class": 8, "rating": "A", "cost": 27249390, "mass": 160, "power": 2.07, "range": 7.68 },
|
||||
|
||||
"6E": { "grp": "s", "class": 6, "rating": "E", "cost": 88978, "mass": 40, "power": 0.4, "range": 4.8 },
|
||||
"6D": { "grp": "s", "class": 6, "rating": "D", "cost": 222444, "mass": 16, "power": 0.45, "range": 5.4 },
|
||||
"6E": { "grp": "s", "class": 6, "rating": "E", "cost": 88980, "mass": 40, "power": 0.4, "range": 4.8 },
|
||||
"6D": { "grp": "s", "class": 6, "rating": "D", "cost": 222440, "mass": 16, "power": 0.45, "range": 5.4 },
|
||||
"6C": { "grp": "s", "class": 6, "rating": "C", "cost": 556110, "mass": 40, "power": 0.5, "range": 6 },
|
||||
"6B": { "grp": "s", "class": 6, "rating": "B", "cost": 1390275, "mass": 64, "power": 0.83, "range": 6.6 },
|
||||
"6A": { "grp": "s", "class": 6, "rating": "A", "cost": 3475688, "mass": 40, "power": 1.5, "range": 7.2 },
|
||||
"6B": { "grp": "s", "class": 6, "rating": "B", "cost": 1390280, "mass": 64, "power": 0.83, "range": 6.6 },
|
||||
"6A": { "grp": "s", "class": 6, "rating": "A", "cost": 3475690, "mass": 40, "power": 1.5, "range": 7.2 },
|
||||
|
||||
"5E": { "grp": "s", "class": 5, "rating": "E", "cost": 31778, "mass": 20, "power": 0.33, "range": 4.64 },
|
||||
"5D": { "grp": "s", "class": 5, "rating": "D", "cost": 79444, "mass": 8, "power": 0.37, "range": 5.22 },
|
||||
"5C": { "grp": "s", "class": 5, "rating": "C", "cost": 198611, "mass": 20, "power": 0.41, "range": 5.8 },
|
||||
"5B": { "grp": "s", "class": 5, "rating": "B", "cost": 496527, "mass": 32, "power": 0.68, "range": 6.38 },
|
||||
"5A": { "grp": "s", "class": 5, "rating": "A", "cost": 1241317, "mass": 20, "power": 1.23, "range": 6.96 },
|
||||
"5E": { "grp": "s", "class": 5, "rating": "E", "cost": 31780, "mass": 20, "power": 0.33, "range": 4.64 },
|
||||
"5D": { "grp": "s", "class": 5, "rating": "D", "cost": 79440, "mass": 8, "power": 0.37, "range": 5.22 },
|
||||
"5C": { "grp": "s", "class": 5, "rating": "C", "cost": 198610, "mass": 20, "power": 0.41, "range": 5.8 },
|
||||
"5B": { "grp": "s", "class": 5, "rating": "B", "cost": 496530, "mass": 32, "power": 0.68, "range": 6.38 },
|
||||
"5A": { "grp": "s", "class": 5, "rating": "A", "cost": 1241320, "mass": 20, "power": 1.23, "range": 6.96 },
|
||||
|
||||
"4E": { "grp": "s", "class": 4, "rating": "E", "cost": 11349, "mass": 10, "power": 0.27, "range": 4.48 },
|
||||
"4D": { "grp": "s", "class": 4, "rating": "D", "cost": 28373, "mass": 4, "power": 0.31, "range": 5.04 },
|
||||
"4C": { "grp": "s", "class": 4, "rating": "C", "cost": 70932, "mass": 10, "power": 0.34, "range": 5.6 },
|
||||
"4B": { "grp": "s", "class": 4, "rating": "B", "cost": 177331, "mass": 16, "power": 0.56, "range": 6.16 },
|
||||
"4A": { "grp": "s", "class": 4, "rating": "A", "cost": 443328, "mass": 10, "power": 1.02, "range": 6.72 },
|
||||
"4E": { "grp": "s", "class": 4, "rating": "E", "cost": 11350, "mass": 10, "power": 0.27, "range": 4.48 },
|
||||
"4D": { "grp": "s", "class": 4, "rating": "D", "cost": 28370, "mass": 4, "power": 0.31, "range": 5.04 },
|
||||
"4C": { "grp": "s", "class": 4, "rating": "C", "cost": 70930, "mass": 10, "power": 0.34, "range": 5.6 },
|
||||
"4B": { "grp": "s", "class": 4, "rating": "B", "cost": 177330, "mass": 16, "power": 0.56, "range": 6.16 },
|
||||
"4A": { "grp": "s", "class": 4, "rating": "A", "cost": 443330, "mass": 10, "power": 1.02, "range": 6.72 },
|
||||
|
||||
"3E": { "grp": "s", "class": 3, "rating": "E", "cost": 4053, "mass": 5, "power": 0.22, "range": 4.32 },
|
||||
"3D": { "grp": "s", "class": 3, "rating": "D", "cost": 10133, "mass": 2, "power": 0.25, "range": 4.86 },
|
||||
"3C": { "grp": "s", "class": 3, "rating": "C", "cost": 25333, "mass": 5, "power": 0.28, "range": 5.4 },
|
||||
"3B": { "grp": "s", "class": 3, "rating": "B", "cost": 63333, "mass": 8, "power": 0.46, "range": 5.94 },
|
||||
"3A": { "grp": "s", "class": 3, "rating": "A", "cost": 158331, "mass": 5, "power": 0.84, "range": 6.48 },
|
||||
"3E": { "grp": "s", "class": 3, "rating": "E", "cost": 4050, "mass": 5, "power": 0.22, "range": 4.32 },
|
||||
"3D": { "grp": "s", "class": 3, "rating": "D", "cost": 10130, "mass": 2, "power": 0.25, "range": 4.86 },
|
||||
"3C": { "grp": "s", "class": 3, "rating": "C", "cost": 25330, "mass": 5, "power": 0.28, "range": 5.4 },
|
||||
"3B": { "grp": "s", "class": 3, "rating": "B", "cost": 63330, "mass": 8, "power": 0.46, "range": 5.94 },
|
||||
"3A": { "grp": "s", "class": 3, "rating": "A", "cost": 158330, "mass": 5, "power": 0.84, "range": 6.48 },
|
||||
|
||||
"2E": { "grp": "s", "class": 2, "rating": "E", "cost": 1448, "mass": 2.5, "power": 0.18, "range": 4.16 },
|
||||
"2D": { "grp": "s", "class": 2, "rating": "D", "cost": 3619, "mass": 1, "power": 0.21, "range": 4.68 },
|
||||
"2C": { "grp": "s", "class": 2, "rating": "C", "cost": 9048, "mass": 2.5, "power": 0.23, "range": 5.2 },
|
||||
"2B": { "grp": "s", "class": 2, "rating": "B", "cost": 22619, "mass": 4, "power": 0.38, "range": 5.72 },
|
||||
"2A": { "grp": "s", "class": 2, "rating": "A", "cost": 56547, "mass": 2.5, "power": 0.69, "range": 6.24 },
|
||||
"2E": { "grp": "s", "class": 2, "rating": "E", "cost": 1450, "mass": 2.5, "power": 0.18, "range": 4.16 },
|
||||
"2D": { "grp": "s", "class": 2, "rating": "D", "cost": 3620, "mass": 1, "power": 0.21, "range": 4.68 },
|
||||
"2C": { "grp": "s", "class": 2, "rating": "C", "cost": 9050, "mass": 2.5, "power": 0.23, "range": 5.2 },
|
||||
"2B": { "grp": "s", "class": 2, "rating": "B", "cost": 22620, "mass": 4, "power": 0.38, "range": 5.72 },
|
||||
"2A": { "grp": "s", "class": 2, "rating": "A", "cost": 56550, "mass": 2.5, "power": 0.69, "range": 6.24 },
|
||||
|
||||
"1E": { "grp": "s", "class": 1, "rating": "E", "cost": 517, "mass": 1.3, "power": 0.16, "range": 4 },
|
||||
"1D": { "grp": "s", "class": 1, "rating": "D", "cost": 1293, "mass": 0.5, "power": 0.18, "range": 4.5 },
|
||||
"1C": { "grp": "s", "class": 1, "rating": "C", "cost": 3231, "mass": 1.3, "power": 0.2, "range": 5 },
|
||||
"1B": { "grp": "s", "class": 1, "rating": "B", "cost": 8078, "mass": 2, "power": 0.33, "range": 5.5 },
|
||||
"1A": { "grp": "s", "class": 1, "rating": "A", "cost": 20195, "mass": 1.3, "power": 0.6, "range": 6 }
|
||||
"1E": { "grp": "s", "class": 1, "rating": "E", "cost": 520, "mass": 1.3, "power": 0.16, "range": 4 },
|
||||
"1D": { "grp": "s", "class": 1, "rating": "D", "cost": 1290, "mass": 0.5, "power": 0.18, "range": 4.5 },
|
||||
"1C": { "grp": "s", "class": 1, "rating": "C", "cost": 3230, "mass": 1.3, "power": 0.2, "range": 5 },
|
||||
"1B": { "grp": "s", "class": 1, "rating": "B", "cost": 8080, "mass": 2, "power": 0.33, "range": 5.5 },
|
||||
"1A": { "grp": "s", "class": 1, "rating": "A", "cost": 20200, "mass": 1.3, "power": 0.6, "range": 6 }
|
||||
}
|
||||
@@ -1,32 +1,37 @@
|
||||
{
|
||||
"7E": { "grp": "t", "class": 7, "rating": "E", "cost": 633199, "mass": 80, "power": 6.08, "optmass": 1440, "maxmass": 2160 },
|
||||
"7D": { "grp": "t", "class": 7, "rating": "D", "cost": 1899597, "mass": 32, "power": 6.84, "optmass": 1620, "maxmass": 2430 },
|
||||
"7C": { "grp": "t", "class": 7, "rating": "C", "cost": 5698790, "mass": 80, "power": 7.6, "optmass": 1800, "maxmass": 2700 },
|
||||
"7B": { "grp": "t", "class": 7, "rating": "B", "cost": 17096371, "mass": 128, "power": 8.36, "optmass": 1980, "maxmass": 2970 },
|
||||
"7A": { "grp": "t", "class": 7, "rating": "A", "cost": 51289112, "mass": 80, "power": 9.12, "optmass": 2160, "maxmass": 3240 },
|
||||
"6E": { "grp": "t", "class": 6, "rating": "E", "cost": 199747, "mass": 40, "power": 5.04, "optmass": 960, "maxmass": 1440 },
|
||||
"6D": { "grp": "t", "class": 6, "rating": "D", "cost": 599242, "mass": 16, "power": 5.67, "optmass": 1080, "maxmass": 1620 },
|
||||
"6C": { "grp": "t", "class": 6, "rating": "C", "cost": 1797726, "mass": 40, "power": 6.3, "optmass": 1200, "maxmass": 1800 },
|
||||
"6B": { "grp": "t", "class": 6, "rating": "B", "cost": 5393177, "mass": 64, "power": 6.93, "optmass": 1320, "maxmass": 1980 },
|
||||
"6A": { "grp": "t", "class": 6, "rating": "A", "cost": 16179531, "mass": 40, "power": 7.56, "optmass": 1440, "maxmass": 2160 },
|
||||
"5E": { "grp": "t", "class": 5, "rating": "E", "cost": 63012, "mass": 20, "power": 4.08, "optmass": 560, "maxmass": 840 },
|
||||
"5D": { "grp": "t", "class": 5, "rating": "D", "cost": 189035, "mass": 8, "power": 4.59, "optmass": 630, "maxmass": 945 },
|
||||
"5C": { "grp": "t", "class": 5, "rating": "C", "cost": 567106, "mass": 20, "power": 5.1, "optmass": 700, "maxmass": 1050 },
|
||||
"5B": { "grp": "t", "class": 5, "rating": "B", "cost": 1701318, "mass": 32, "power": 5.61, "optmass": 770, "maxmass": 1155 },
|
||||
"5A": { "grp": "t", "class": 5, "rating": "A", "cost": 5103953, "mass": 20, "power": 6.12, "optmass": 840, "maxmass": 1260 },
|
||||
"4E": { "grp": "t", "class": 4, "rating": "E", "cost": 19878, "mass": 10, "power": 3.82, "optmass": 280, "maxmass": 420 },
|
||||
"4D": { "grp": "t", "class": 4, "rating": "D", "cost": 59633, "mass": 4, "power": 3.69, "optmass": 315, "maxmass": 473 },
|
||||
"4C": { "grp": "t", "class": 4, "rating": "C", "cost": 178898, "mass": 10, "power": 4.1, "optmass": 350, "maxmass": 525 },
|
||||
"4B": { "grp": "t", "class": 4, "rating": "B", "cost": 536693, "mass": 16, "power": 4.51, "optmass": 385, "maxmass": 578 },
|
||||
"4A": { "grp": "t", "class": 4, "rating": "A", "cost": 1610080, "mass": 10, "power": 4.92, "optmass": 420, "maxmass": 630 },
|
||||
"3E": { "grp": "t", "class": 3, "rating": "E", "cost": 6271, "mass": 5, "power": 2.48, "optmass": 80, "maxmass": 120 },
|
||||
"3D": { "grp": "t", "class": 3, "rating": "D", "cost": 18812, "mass": 2, "power": 2.79, "optmass": 90, "maxmass": 135 },
|
||||
"3C": { "grp": "t", "class": 3, "rating": "C", "cost": 56435, "mass": 5, "power": 3.1, "optmass": 100, "maxmass": 150 },
|
||||
"3B": { "grp": "t", "class": 3, "rating": "B", "cost": 169304, "mass": 8, "power": 3.41, "optmass": 110, "maxmass": 165 },
|
||||
"3A": { "grp": "t", "class": 3, "rating": "A", "cost": 507912, "mass": 5, "power": 3.72, "optmass": 120, "maxmass": 180 },
|
||||
"2E": { "grp": "t", "class": 2, "rating": "E", "cost": 1978, "mass": 2.5, "power": 2, "optmass": 48, "maxmass": 72 },
|
||||
"2D": { "grp": "t", "class": 2, "rating": "D", "cost": 5934, "mass": 1, "power": 2.25, "optmass": 54, "maxmass": 81 },
|
||||
"2C": { "grp": "t", "class": 2, "rating": "C", "cost": 17803, "mass": 2.5, "power": 2.5, "optmass": 60, "maxmass": 90 },
|
||||
"2B": { "grp": "t", "class": 2, "rating": "B", "cost": 53408, "mass": 4, "power": 2.75, "optmass": 66, "maxmass": 99 },
|
||||
"2A": { "grp": "t", "class": 2, "rating": "A", "cost": 160224, "mass": 2.5, "power": 3, "optmass": 72, "maxmass": 108 }
|
||||
}
|
||||
"7E": { "grp": "t", "class": 7, "rating": "E", "M": 0.17, "P": 0.235, "cost": 633200, "mass": 80, "power": 6.08, "optmass": 1440, "maxmass": 2160 },
|
||||
"7D": { "grp": "t", "class": 7, "rating": "D", "M": 0.14, "P": 0.5145, "cost": 1899600, "mass": 32, "power": 6.84, "optmass": 1620, "maxmass": 2430 },
|
||||
"7C": { "grp": "t", "class": 7, "rating": "C", "M": 0.10, "P": 1, "cost": 5698790, "mass": 80, "power": 7.6, "optmass": 1800, "maxmass": 2700 },
|
||||
"7B": { "grp": "t", "class": 7, "rating": "B", "M": 0.07, "P": 1.51, "cost": 17096370, "mass": 128, "power": 8.36, "optmass": 1980, "maxmass": 2970 },
|
||||
"7A": { "grp": "t", "class": 7, "rating": "A", "M": 0.04, "P": 2.33, "cost": 51289110, "mass": 80, "power": 9.12, "optmass": 2160, "maxmass": 3240 },
|
||||
|
||||
"6E": { "grp": "t", "class": 6, "rating": "E", "M": 0.17, "P": 0.235, "cost": 199750, "mass": 40, "power": 5.04, "optmass": 960, "maxmass": 1440 },
|
||||
"6D": { "grp": "t", "class": 6, "rating": "D", "M": 0.14, "P": 0.5145, "cost": 599240, "mass": 16, "power": 5.67, "optmass": 1080, "maxmass": 1620 },
|
||||
"6C": { "grp": "t", "class": 6, "rating": "C", "M": 0.10, "P": 1, "cost": 1797730, "mass": 40, "power": 6.3, "optmass": 1200, "maxmass": 1800 },
|
||||
"6B": { "grp": "t", "class": 6, "rating": "B", "M": 0.07, "P": 1.51, "cost": 5393180, "mass": 64, "power": 6.93, "optmass": 1320, "maxmass": 1980 },
|
||||
"6A": { "grp": "t", "class": 6, "rating": "A", "M": 0.04, "P": 2.33, "cost": 16179530, "mass": 40, "power": 7.56, "optmass": 1440, "maxmass": 2160 },
|
||||
|
||||
"5E": { "grp": "t", "class": 5, "rating": "E", "M": 0.17, "P": 0.235, "cost": 63010, "mass": 20, "power": 4.08, "optmass": 560, "maxmass": 840 },
|
||||
"5D": { "grp": "t", "class": 5, "rating": "D", "M": 0.14, "P": 0.5145, "cost": 189040, "mass": 8, "power": 4.59, "optmass": 630, "maxmass": 945 },
|
||||
"5C": { "grp": "t", "class": 5, "rating": "C", "M": 0.10, "P": 1, "cost": 567110, "mass": 20, "power": 5.1, "optmass": 700, "maxmass": 1050 },
|
||||
"5B": { "grp": "t", "class": 5, "rating": "B", "M": 0.07, "P": 1.51, "cost": 1701320, "mass": 32, "power": 5.61, "optmass": 770, "maxmass": 1155 },
|
||||
"5A": { "grp": "t", "class": 5, "rating": "A", "M": 0.04, "P": 2.33, "cost": 5103950, "mass": 20, "power": 6.12, "optmass": 840, "maxmass": 1260 },
|
||||
|
||||
"4E": { "grp": "t", "class": 4, "rating": "E", "M": 0.17, "P": 0.235, "cost": 19880, "mass": 10, "power": 3.82, "optmass": 280, "maxmass": 420 },
|
||||
"4D": { "grp": "t", "class": 4, "rating": "D", "M": 0.14, "P": 0.5145, "cost": 59630, "mass": 4, "power": 3.69, "optmass": 315, "maxmass": 473 },
|
||||
"4C": { "grp": "t", "class": 4, "rating": "C", "M": 0.10, "P": 1, "cost": 178900, "mass": 10, "power": 4.1, "optmass": 350, "maxmass": 525 },
|
||||
"4B": { "grp": "t", "class": 4, "rating": "B", "M": 0.07, "P": 1.51, "cost": 536690, "mass": 16, "power": 4.51, "optmass": 385, "maxmass": 578 },
|
||||
"4A": { "grp": "t", "class": 4, "rating": "A", "M": 0.04, "P": 2.33, "cost": 1610080, "mass": 10, "power": 4.92, "optmass": 420, "maxmass": 630 },
|
||||
|
||||
"3E": { "grp": "t", "class": 3, "rating": "E", "M": 0.17, "P": 0.235, "cost": 6270, "mass": 5, "power": 2.48, "optmass": 80, "maxmass": 120 },
|
||||
"3D": { "grp": "t", "class": 3, "rating": "D", "M": 0.14, "P": 0.5145, "cost": 18810, "mass": 2, "power": 2.79, "optmass": 90, "maxmass": 135 },
|
||||
"3C": { "grp": "t", "class": 3, "rating": "C", "M": 0.10, "P": 1, "cost": 56440, "mass": 5, "power": 3.1, "optmass": 100, "maxmass": 150 },
|
||||
"3B": { "grp": "t", "class": 3, "rating": "B", "M": 0.07, "P": 1.51, "cost": 169300, "mass": 8, "power": 3.41, "optmass": 110, "maxmass": 165 },
|
||||
"3A": { "grp": "t", "class": 3, "rating": "A", "M": 0.04, "P": 2.33, "cost": 507910, "mass": 5, "power": 3.72, "optmass": 120, "maxmass": 180 },
|
||||
|
||||
"2E": { "grp": "t", "class": 2, "rating": "E", "M": 0.17, "P": 0.235, "cost": 1980, "mass": 2.5, "power": 2, "optmass": 48, "maxmass": 72 },
|
||||
"2D": { "grp": "t", "class": 2, "rating": "D", "M": 0.14, "P": 0.5145, "cost": 5930, "mass": 1, "power": 2.25, "optmass": 54, "maxmass": 81 },
|
||||
"2C": { "grp": "t", "class": 2, "rating": "C", "M": 0.10, "P": 1, "cost": 17800, "mass": 2.5, "power": 2.5, "optmass": 60, "maxmass": 90 },
|
||||
"2B": { "grp": "t", "class": 2, "rating": "B", "M": 0.07, "P": 1.51, "cost": 53410, "mass": 4, "power": 2.75, "optmass": 66, "maxmass": 99 },
|
||||
"2A": { "grp": "t", "class": 2, "rating": "A", "M": 0.04, "P": 2.33, "cost": 160220, "mass": 2.5, "power": 3, "optmass": 72, "maxmass": 108 }
|
||||
}
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
"name": "Retributor",
|
||||
"class": 1,
|
||||
"rating": "E",
|
||||
"cost": 56145,
|
||||
"cost": 56150,
|
||||
"mass": 2,
|
||||
"power": 0.69,
|
||||
"mode": "F",
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
"clip": 5,
|
||||
"mjdps": 8.13,
|
||||
"ssdam" : 37.13,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 20
|
||||
},
|
||||
{
|
||||
"id": "1r",
|
||||
@@ -38,7 +39,8 @@
|
||||
"clip": 5,
|
||||
"mjdps": 10.97,
|
||||
"ssdam" : 30.94,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 20
|
||||
},
|
||||
{
|
||||
"id": "1n",
|
||||
@@ -58,7 +60,8 @@
|
||||
"clip": 5,
|
||||
"mjdps": 8.13,
|
||||
"ssdam" : 22.28,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 20
|
||||
},
|
||||
{
|
||||
"id": "1o",
|
||||
@@ -78,7 +81,8 @@
|
||||
"clip": 5,
|
||||
"mjdps" : 7.95,
|
||||
"ssdam" : 21.04,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 20
|
||||
},
|
||||
{
|
||||
"id": "1p",
|
||||
@@ -98,7 +102,8 @@
|
||||
"clip": 5,
|
||||
"mjdps" : 3.58,
|
||||
"ssdam" : 12.38,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 20
|
||||
},
|
||||
{
|
||||
"id": "1k",
|
||||
@@ -118,7 +123,8 @@
|
||||
"clip": 5,
|
||||
"mjdps" : 6.00,
|
||||
"ssdam" : 15.47,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 20
|
||||
},
|
||||
{
|
||||
"id": "1l",
|
||||
@@ -138,7 +144,8 @@
|
||||
"clip": 5,
|
||||
"mjdps" : 6.24,
|
||||
"ssdam" : 15.47,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 20
|
||||
},
|
||||
{
|
||||
"id": "1m",
|
||||
@@ -158,7 +165,8 @@
|
||||
"clip": 5,
|
||||
"mjdps" : 2.41,
|
||||
"ssdam" : 7.74,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 20
|
||||
},
|
||||
{
|
||||
"id": "1h",
|
||||
@@ -178,7 +186,8 @@
|
||||
"clip": 5,
|
||||
"mjdps" : 4.00,
|
||||
"ssdam" : 9.59,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 20
|
||||
},
|
||||
{
|
||||
"id": "1i",
|
||||
@@ -198,7 +207,8 @@
|
||||
"clip": 5,
|
||||
"mjdps" : 3.80,
|
||||
"ssdam" : 8.97,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 20
|
||||
},
|
||||
{
|
||||
"id": "1j",
|
||||
@@ -218,7 +228,8 @@
|
||||
"clip": 5,
|
||||
"mjdps" : 1.35,
|
||||
"ssdam" : 4.13,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 20
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"grp": "cs",
|
||||
"class": 0,
|
||||
"rating": "E",
|
||||
"cost": 13544,
|
||||
"cost": 13540,
|
||||
"mass": 1.3,
|
||||
"power": 0.2,
|
||||
"range": 2,
|
||||
@@ -16,7 +16,7 @@
|
||||
"grp": "cs",
|
||||
"class": 0,
|
||||
"rating": "D",
|
||||
"cost": 40633,
|
||||
"cost": 40630,
|
||||
"mass": 1.3,
|
||||
"power": 0.4,
|
||||
"range": 2.5,
|
||||
@@ -27,7 +27,7 @@
|
||||
"grp": "cs",
|
||||
"class": 0,
|
||||
"rating": "C",
|
||||
"cost": 121899,
|
||||
"cost": 121900,
|
||||
"mass": 1.3,
|
||||
"power": 0.8,
|
||||
"range": 3,
|
||||
@@ -38,7 +38,7 @@
|
||||
"grp": "cs",
|
||||
"class": 0,
|
||||
"rating": "B",
|
||||
"cost": 365698,
|
||||
"cost": 365700,
|
||||
"mass": 1.3,
|
||||
"power": 1.6,
|
||||
"range": 3.5,
|
||||
@@ -49,7 +49,7 @@
|
||||
"grp": "cs",
|
||||
"class": 0,
|
||||
"rating": "A",
|
||||
"cost": 1097095,
|
||||
"cost": 1097100,
|
||||
"mass": 1.3,
|
||||
"power": 3.2,
|
||||
"range": 4,
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"armourpen": "F",
|
||||
"thermload": 2,
|
||||
"clip": 1,
|
||||
"ammo": 10
|
||||
"ammo": 10,
|
||||
"ammocost": 30
|
||||
},
|
||||
{
|
||||
"id": "01",
|
||||
@@ -42,7 +43,8 @@
|
||||
"armourpen": "F",
|
||||
"thermload": 0,
|
||||
"clip": 1,
|
||||
"ammo": 3
|
||||
"ammo": 3,
|
||||
"ammocost": 25
|
||||
},
|
||||
{
|
||||
"id": "03",
|
||||
@@ -50,14 +52,15 @@
|
||||
"name": "Point Defence",
|
||||
"class": 0,
|
||||
"rating": "I",
|
||||
"cost": 18546,
|
||||
"cost": 18550,
|
||||
"mass": 0.5,
|
||||
"power": 0.2,
|
||||
"passive": 1,
|
||||
"armourpen": "F",
|
||||
"thermload": 1,
|
||||
"clip": 50,
|
||||
"ammo": 10000
|
||||
"ammo": 10000,
|
||||
"ammocost": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
"clip": 3,
|
||||
"mjdps": 15.19,
|
||||
"ssdam" : 28.36,
|
||||
"ammo": 30
|
||||
"ammo": 30,
|
||||
"ammocost": 50
|
||||
},
|
||||
{
|
||||
"id": "1u",
|
||||
@@ -38,7 +39,8 @@
|
||||
"clip": 3,
|
||||
"mjdps" : 12.77,
|
||||
"ssdam" : 23.21,
|
||||
"ammo": 30
|
||||
"ammo": 30,
|
||||
"ammocost": 50
|
||||
},
|
||||
{
|
||||
"id": "1v",
|
||||
@@ -58,7 +60,8 @@
|
||||
"clip": 3,
|
||||
"mjdps" : 6.85,
|
||||
"ssdam" : 12.89,
|
||||
"ammo": 30
|
||||
"ammo": 30,
|
||||
"ammocost": 50
|
||||
},
|
||||
{
|
||||
"id": "1s",
|
||||
@@ -78,7 +81,8 @@
|
||||
"clip": 3,
|
||||
"mjdps" : 9.50,
|
||||
"ssdam" : 18.05,
|
||||
"ammo": 30
|
||||
"ammo": 30,
|
||||
"ammocost": 50
|
||||
},
|
||||
|
||||
{
|
||||
@@ -97,7 +101,8 @@
|
||||
"dps": 9,
|
||||
"thermload": 1,
|
||||
"clip": 3,
|
||||
"ammo": 30
|
||||
"ammo": 30,
|
||||
"ammocost": 50
|
||||
},
|
||||
{
|
||||
"id": "7f",
|
||||
@@ -115,7 +120,8 @@
|
||||
"dps": 9,
|
||||
"thermload": 1,
|
||||
"clip": 3,
|
||||
"ammo": 30
|
||||
"ammo": 30,
|
||||
"ammocost": 50
|
||||
},
|
||||
{
|
||||
"id": "20",
|
||||
@@ -135,7 +141,8 @@
|
||||
"clip": 3,
|
||||
"mjdps" : 5.53,
|
||||
"ssdam" : 10.31,
|
||||
"ammo": 30
|
||||
"ammo": 30,
|
||||
"ammocost": 50
|
||||
},
|
||||
{
|
||||
"id": "21",
|
||||
@@ -155,7 +162,8 @@
|
||||
"clip": 3,
|
||||
"mjdps" : 3.58,
|
||||
"ssdam" : 6.45,
|
||||
"ammo": 30
|
||||
"ammo": 30,
|
||||
"ammocost": 50
|
||||
},
|
||||
{
|
||||
"id": "22",
|
||||
@@ -175,7 +183,8 @@
|
||||
"clip": 3,
|
||||
"mjdps" : 2.11,
|
||||
"ssdam" : 3.87,
|
||||
"ammo": 30
|
||||
"ammo": 30,
|
||||
"ammocost": 50
|
||||
},
|
||||
{
|
||||
"id": "pa",
|
||||
@@ -183,7 +192,7 @@
|
||||
"name": "Pacifier",
|
||||
"class": 3,
|
||||
"rating": "C",
|
||||
"cost": 1400832,
|
||||
"cost": 1400830,
|
||||
"mass": 8,
|
||||
"power": 1.02,
|
||||
"mode": "F",
|
||||
@@ -197,4 +206,4 @@
|
||||
"ammo": 30
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"grp": "ws",
|
||||
"class": 0,
|
||||
"rating": "E",
|
||||
"cost": 13544,
|
||||
"cost": 13540,
|
||||
"mass": 1.3,
|
||||
"power": 0.2,
|
||||
"range": 2,
|
||||
@@ -16,7 +16,7 @@
|
||||
"grp": "ws",
|
||||
"class": 0,
|
||||
"rating": "D",
|
||||
"cost": 40633,
|
||||
"cost": 40630,
|
||||
"mass": 1.3,
|
||||
"power": 0.4,
|
||||
"range": 2.5,
|
||||
@@ -27,7 +27,7 @@
|
||||
"grp": "ws",
|
||||
"class": 0,
|
||||
"rating": "C",
|
||||
"cost": 121899,
|
||||
"cost": 121900,
|
||||
"mass": 1.3,
|
||||
"power": 0.8,
|
||||
"range": 3,
|
||||
@@ -38,7 +38,7 @@
|
||||
"grp": "ws",
|
||||
"class": 0,
|
||||
"rating": "B",
|
||||
"cost": 365698,
|
||||
"cost": 365700,
|
||||
"mass": 1.3,
|
||||
"power": 1.6,
|
||||
"range": 3.5,
|
||||
@@ -49,7 +49,7 @@
|
||||
"grp": "ws",
|
||||
"class": 0,
|
||||
"rating": "A",
|
||||
"cost": 1097095,
|
||||
"cost": 1097100,
|
||||
"mass": 1.3,
|
||||
"power": 3.2,
|
||||
"range": 4,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"grp": "kw",
|
||||
"class": 0,
|
||||
"rating": "E",
|
||||
"cost": 13544,
|
||||
"cost": 13540,
|
||||
"mass": 1.3,
|
||||
"power": 0.2,
|
||||
"range": 2,
|
||||
@@ -16,7 +16,7 @@
|
||||
"grp": "kw",
|
||||
"class": 0,
|
||||
"rating": "D",
|
||||
"cost": 40633,
|
||||
"cost": 40630,
|
||||
"mass": 1.3,
|
||||
"power": 0.4,
|
||||
"range": 2.5,
|
||||
@@ -27,7 +27,7 @@
|
||||
"grp": "kw",
|
||||
"class": 0,
|
||||
"rating": "C",
|
||||
"cost": 121899,
|
||||
"cost": 121900,
|
||||
"mass": 1.3,
|
||||
"power": 0.8,
|
||||
"range": 3,
|
||||
@@ -38,7 +38,7 @@
|
||||
"grp": "kw",
|
||||
"class": 0,
|
||||
"rating": "B",
|
||||
"cost": 365698,
|
||||
"cost": 365700,
|
||||
"mass": 1.3,
|
||||
"power": 1.6,
|
||||
"range": 3.5,
|
||||
@@ -49,7 +49,7 @@
|
||||
"grp": "kw",
|
||||
"class": 0,
|
||||
"rating": "A",
|
||||
"cost": 1097095,
|
||||
"cost": 1097100,
|
||||
"mass": 1.3,
|
||||
"power": 3.2,
|
||||
"range": 4,
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"armourpen": "C",
|
||||
"thermload": 2,
|
||||
"clip": 1,
|
||||
"ammo": 24
|
||||
"ammo": 24,
|
||||
"ammocost": 209
|
||||
},
|
||||
{
|
||||
"id": "2k",
|
||||
@@ -28,7 +29,8 @@
|
||||
"armourpen": "C",
|
||||
"thermload": 3,
|
||||
"clip": 3,
|
||||
"ammo": 24
|
||||
"ammo": 24,
|
||||
"ammocost": 209
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"grp": "ml",
|
||||
"class": 2,
|
||||
"rating": "D",
|
||||
"cost": 22576,
|
||||
"cost": 22580,
|
||||
"mass": 2,
|
||||
"power": 0.75,
|
||||
"mode": "F",
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
"ammo": 24,
|
||||
"mjdps": 1.72,
|
||||
"ssdam" : 3.87,
|
||||
"missile": "D"
|
||||
"missile": "D",
|
||||
"ammocost": 500
|
||||
},
|
||||
{
|
||||
"id": "2g",
|
||||
@@ -40,14 +41,15 @@
|
||||
"ammo": 18,
|
||||
"mjdps": 0.57,
|
||||
"ssdam" : 2.58,
|
||||
"missile": "S"
|
||||
"missile": "S",
|
||||
"ammocost": 666.67
|
||||
},
|
||||
{
|
||||
"id": "2d",
|
||||
"grp": "mr",
|
||||
"class": 1,
|
||||
"rating": "B",
|
||||
"cost": 32175,
|
||||
"cost": 32180,
|
||||
"mass": 2,
|
||||
"power": 0.4,
|
||||
"mode": "F",
|
||||
@@ -61,7 +63,8 @@
|
||||
"ammo": 16,
|
||||
"mjdps": 1.63,
|
||||
"ssdam" : 3.87,
|
||||
"missile": "D"
|
||||
"missile": "D",
|
||||
"ammocost": 500
|
||||
},
|
||||
{
|
||||
"id": "2e",
|
||||
@@ -82,7 +85,8 @@
|
||||
"ammo": 6,
|
||||
"mjdps": 0.57,
|
||||
"ssdam" : 2.58,
|
||||
"missile": "S"
|
||||
"missile": "S",
|
||||
"ammocost": 666.67
|
||||
},
|
||||
{
|
||||
"id": "Ph",
|
||||
@@ -90,7 +94,7 @@
|
||||
"name": "Pack-Hound",
|
||||
"class": 2,
|
||||
"rating": "B",
|
||||
"cost": 1000832,
|
||||
"cost": 768600,
|
||||
"mass": 4,
|
||||
"power": 1.2,
|
||||
"mode": "F",
|
||||
@@ -106,4 +110,4 @@
|
||||
"missile": "S"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
"clip": 90,
|
||||
"mjdps" : 6.02,
|
||||
"ssdam" : 1.20,
|
||||
"ammo": 2100
|
||||
"ammo": 2100,
|
||||
"ammocost": 1
|
||||
},
|
||||
{
|
||||
"id": "27",
|
||||
@@ -38,7 +39,8 @@
|
||||
"clip": 90,
|
||||
"mjdps" : 5.59,
|
||||
"ssdam" : 1.03,
|
||||
"ammo": 2100
|
||||
"ammo": 2100,
|
||||
"ammocost": 1
|
||||
},
|
||||
{
|
||||
"id": "28",
|
||||
@@ -58,7 +60,8 @@
|
||||
"clip": 90,
|
||||
"mjdps" : 2.15,
|
||||
"ssdam" : 0.52,
|
||||
"ammo": 2100
|
||||
"ammo": 2100,
|
||||
"ammocost": 1
|
||||
},
|
||||
{
|
||||
"id": "23",
|
||||
@@ -78,7 +81,8 @@
|
||||
"clip": 90,
|
||||
"mjdps" : 3.75,
|
||||
"ssdam" : 0.69,
|
||||
"ammo": 2100
|
||||
"ammo": 2100,
|
||||
"ammocost": 1
|
||||
},
|
||||
{
|
||||
"id": "24",
|
||||
@@ -98,7 +102,8 @@
|
||||
"clip": 90,
|
||||
"mjdps" : 2.03,
|
||||
"ssdam" : 0.34,
|
||||
"ammo": 2100
|
||||
"ammo": 2100,
|
||||
"ammocost": 1
|
||||
},
|
||||
{
|
||||
"id": "25",
|
||||
@@ -118,7 +123,8 @@
|
||||
"clip": 90,
|
||||
"mjdps" : 1.54,
|
||||
"ssdam" : 0.34,
|
||||
"ammo": 2100
|
||||
"ammo": 2100,
|
||||
"ammocost": 1
|
||||
},
|
||||
{
|
||||
"id": "e0",
|
||||
@@ -126,7 +132,7 @@
|
||||
"name": "Enforcer",
|
||||
"class": 1,
|
||||
"rating": "F",
|
||||
"cost": 13984,
|
||||
"cost": 13980,
|
||||
"mass": 2,
|
||||
"power": 0.28,
|
||||
"mode": "F",
|
||||
@@ -140,4 +146,4 @@
|
||||
"ammo": 1000
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
"clip": 5,
|
||||
"mjdps" : 6.89,
|
||||
"ssdam" : 27.85,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 200
|
||||
},
|
||||
{
|
||||
"id": "2b",
|
||||
@@ -38,7 +39,8 @@
|
||||
"clip": 5,
|
||||
"mjdps" : 20.98,
|
||||
"ssdam" : 92.82,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 200
|
||||
},
|
||||
{
|
||||
"id": "2c",
|
||||
@@ -58,12 +60,13 @@
|
||||
"clip": 5,
|
||||
"mjdps" : 25.55,
|
||||
"ssdam" : 123.76,
|
||||
"ammo": 100
|
||||
"ammo": 100,
|
||||
"ammocost": 200
|
||||
},
|
||||
{
|
||||
"id": "Ap",
|
||||
"grp": "pa",
|
||||
"name": "Advanced",
|
||||
"name": "Advanced Plasma Accelerator",
|
||||
"class": 3,
|
||||
"rating": "B",
|
||||
"cost": 4119120,
|
||||
@@ -80,4 +83,4 @@
|
||||
"ammo": 300
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
"clip": 1,
|
||||
"mjdps" : 13.75,
|
||||
"ssdam" : 24.75,
|
||||
"ammo": 30
|
||||
"ammo": 30,
|
||||
"ammocost": 200
|
||||
},
|
||||
{
|
||||
"id": "2a",
|
||||
@@ -38,7 +39,8 @@
|
||||
"clip": 1,
|
||||
"mjdps" : 21.66,
|
||||
"ssdam" : 43.32,
|
||||
"ammo": 30
|
||||
"ammo": 30,
|
||||
"ammocost": 200
|
||||
},
|
||||
{
|
||||
"id": "ih",
|
||||
@@ -60,4 +62,4 @@
|
||||
"ammo": 90
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"thermload": 10,
|
||||
"grp": "tp",
|
||||
"clip": 1,
|
||||
"ammo": 1,
|
||||
"ammo": 0,
|
||||
"ammocost": 15000,
|
||||
"missile": "S"
|
||||
},
|
||||
{
|
||||
@@ -29,8 +30,9 @@
|
||||
"thermload": 10,
|
||||
"grp": "tp",
|
||||
"clip": 2,
|
||||
"ammo": 1,
|
||||
"ammo": 0,
|
||||
"ammocost": 15000,
|
||||
"missile": "S"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,404 +1,51 @@
|
||||
{
|
||||
"am": [
|
||||
{
|
||||
"id": "1f",
|
||||
"grp": "am",
|
||||
"class": 8,
|
||||
"rating": "E",
|
||||
"cost": 612220,
|
||||
"power": 1.8,
|
||||
"ammo": 10000,
|
||||
"repair": 120
|
||||
},
|
||||
{
|
||||
"id": "1e",
|
||||
"grp": "am",
|
||||
"class": 8,
|
||||
"rating": "D",
|
||||
"cost": 1836660,
|
||||
"power": 2.4,
|
||||
"ammo": 9000,
|
||||
"repair": 144
|
||||
},
|
||||
{
|
||||
"id": "1d",
|
||||
"grp": "am",
|
||||
"class": 8,
|
||||
"rating": "C",
|
||||
"cost": 5509980,
|
||||
"power": 3,
|
||||
"ammo": 10000,
|
||||
"repair": 200
|
||||
},
|
||||
{
|
||||
"id": "1c",
|
||||
"grp": "am",
|
||||
"class": 8,
|
||||
"rating": "B",
|
||||
"cost": 16529941,
|
||||
"power": 3.45,
|
||||
"ammo": 12000,
|
||||
"repair": 276
|
||||
},
|
||||
{
|
||||
"id": "1b",
|
||||
"grp": "am",
|
||||
"class": 8,
|
||||
"rating": "A",
|
||||
"cost": 49589823,
|
||||
"power": 4.2,
|
||||
"ammo": 11000,
|
||||
"repair": 308
|
||||
},
|
||||
{
|
||||
"id": "1a",
|
||||
"grp": "am",
|
||||
"class": 7,
|
||||
"rating": "E",
|
||||
"cost": 340122,
|
||||
"power": 1.58,
|
||||
"ammo": 8700,
|
||||
"repair": 104.4
|
||||
},
|
||||
{
|
||||
"id": "19",
|
||||
"grp": "am",
|
||||
"class": 7,
|
||||
"rating": "D",
|
||||
"cost": 1020367,
|
||||
"power": 2.1,
|
||||
"ammo": 7800,
|
||||
"repair": 124.8
|
||||
},
|
||||
{
|
||||
"id": "18",
|
||||
"grp": "am",
|
||||
"class": 7,
|
||||
"rating": "C",
|
||||
"cost": 3061100,
|
||||
"power": 2.63,
|
||||
"ammo": 8700,
|
||||
"repair": 174
|
||||
},
|
||||
{
|
||||
"id": "17",
|
||||
"grp": "am",
|
||||
"class": 7,
|
||||
"rating": "B",
|
||||
"cost": 9183300,
|
||||
"power": 3.02,
|
||||
"ammo": 10400,
|
||||
"repair": 239.2
|
||||
},
|
||||
{
|
||||
"id": "16",
|
||||
"grp": "am",
|
||||
"class": 7,
|
||||
"rating": "A",
|
||||
"cost": 27549901,
|
||||
"power": 3.68,
|
||||
"ammo": 9600,
|
||||
"repair": 268.8
|
||||
},
|
||||
{
|
||||
"id": "15",
|
||||
"grp": "am",
|
||||
"class": 6,
|
||||
"rating": "E",
|
||||
"cost": 188957,
|
||||
"power": 1.4,
|
||||
"ammo": 7400,
|
||||
"repair": 88.8
|
||||
},
|
||||
{
|
||||
"id": "14",
|
||||
"grp": "am",
|
||||
"class": 6,
|
||||
"rating": "D",
|
||||
"cost": 566870,
|
||||
"power": 1.86,
|
||||
"ammo": 6700,
|
||||
"repair": 107.2
|
||||
},
|
||||
{
|
||||
"id": "13",
|
||||
"grp": "am",
|
||||
"class": 6,
|
||||
"rating": "C",
|
||||
"cost": 1700611,
|
||||
"power": 2.33,
|
||||
"ammo": 7400,
|
||||
"repair": 148
|
||||
},
|
||||
{
|
||||
"id": "12",
|
||||
"grp": "am",
|
||||
"class": 6,
|
||||
"rating": "B",
|
||||
"cost": 5101834,
|
||||
"power": 2.67,
|
||||
"ammo": 8900,
|
||||
"repair": 204.7
|
||||
},
|
||||
{
|
||||
"id": "11",
|
||||
"grp": "am",
|
||||
"class": 6,
|
||||
"rating": "A",
|
||||
"cost": 15305501,
|
||||
"power": 3.26,
|
||||
"ammo": 8100,
|
||||
"repair": 226.8
|
||||
},
|
||||
{
|
||||
"id": "10",
|
||||
"grp": "am",
|
||||
"class": 5,
|
||||
"rating": "E",
|
||||
"cost": 104976,
|
||||
"power": 1.17,
|
||||
"ammo": 6100,
|
||||
"repair": 73.2
|
||||
},
|
||||
{
|
||||
"id": "0v",
|
||||
"grp": "am",
|
||||
"class": 5,
|
||||
"rating": "D",
|
||||
"cost": 314928,
|
||||
"power": 1.56,
|
||||
"ammo": 5500,
|
||||
"repair": 88
|
||||
},
|
||||
{
|
||||
"id": "0u",
|
||||
"grp": "am",
|
||||
"class": 5,
|
||||
"rating": "C",
|
||||
"cost": 944784,
|
||||
"power": 1.95,
|
||||
"ammo": 6100,
|
||||
"repair": 122
|
||||
},
|
||||
{
|
||||
"id": "0t",
|
||||
"grp": "am",
|
||||
"class": 5,
|
||||
"rating": "B",
|
||||
"cost": 2834352,
|
||||
"power": 2.24,
|
||||
"ammo": 7300,
|
||||
"repair": 167.9
|
||||
},
|
||||
{
|
||||
"id": "0s",
|
||||
"grp": "am",
|
||||
"class": 5,
|
||||
"rating": "A",
|
||||
"cost": 8503056,
|
||||
"power": 2.73,
|
||||
"ammo": 6700,
|
||||
"repair": 187.6
|
||||
},
|
||||
{
|
||||
"id": "0r",
|
||||
"grp": "am",
|
||||
"class": 4,
|
||||
"rating": "E",
|
||||
"cost": 58320,
|
||||
"power": 0.99,
|
||||
"ammo": 4900,
|
||||
"repair": 58.8
|
||||
},
|
||||
{
|
||||
"id": "0q",
|
||||
"grp": "am",
|
||||
"class": 4,
|
||||
"rating": "D",
|
||||
"cost": 174960,
|
||||
"power": 1.32,
|
||||
"ammo": 4400,
|
||||
"repair": 70.4
|
||||
},
|
||||
{
|
||||
"id": "0p",
|
||||
"grp": "am",
|
||||
"class": 4,
|
||||
"rating": "C",
|
||||
"cost": 524880,
|
||||
"power": 1.65,
|
||||
"ammo": 4900,
|
||||
"repair": 98
|
||||
},
|
||||
{
|
||||
"id": "0o",
|
||||
"grp": "am",
|
||||
"class": 4,
|
||||
"rating": "B",
|
||||
"cost": 1574640,
|
||||
"power": 1.9,
|
||||
"ammo": 5900,
|
||||
"repair": 135.7
|
||||
},
|
||||
{
|
||||
"id": "0n",
|
||||
"grp": "am",
|
||||
"class": 4,
|
||||
"rating": "A",
|
||||
"cost": 4723920,
|
||||
"power": 2.31,
|
||||
"ammo": 5400,
|
||||
"repair": 151.2
|
||||
},
|
||||
{
|
||||
"id": "0m",
|
||||
"grp": "am",
|
||||
"class": 3,
|
||||
"rating": "E",
|
||||
"cost": 32400,
|
||||
"power": 0.81,
|
||||
"ammo": 3600,
|
||||
"repair": 43.2
|
||||
},
|
||||
{
|
||||
"id": "0l",
|
||||
"grp": "am",
|
||||
"class": 3,
|
||||
"rating": "D",
|
||||
"cost": 97200,
|
||||
"power": 1.08,
|
||||
"ammo": 3200,
|
||||
"repair": 51.2
|
||||
},
|
||||
{
|
||||
"id": "0k",
|
||||
"grp": "am",
|
||||
"class": 3,
|
||||
"rating": "C",
|
||||
"cost": 291600,
|
||||
"power": 1.35,
|
||||
"ammo": 3600,
|
||||
"repair": 72
|
||||
},
|
||||
{
|
||||
"id": "0j",
|
||||
"grp": "am",
|
||||
"class": 3,
|
||||
"rating": "B",
|
||||
"cost": 874800,
|
||||
"power": 1.55,
|
||||
"ammo": 4300,
|
||||
"repair": 98.9
|
||||
},
|
||||
{
|
||||
"id": "0i",
|
||||
"grp": "am",
|
||||
"class": 3,
|
||||
"rating": "A",
|
||||
"cost": 2624400,
|
||||
"power": 1.89,
|
||||
"ammo": 4000,
|
||||
"repair": 112
|
||||
},
|
||||
{
|
||||
"id": "0h",
|
||||
"grp": "am",
|
||||
"class": 2,
|
||||
"rating": "E",
|
||||
"cost": 18000,
|
||||
"power": 0.68,
|
||||
"ammo": 2300,
|
||||
"repair": 27.6
|
||||
},
|
||||
{
|
||||
"id": "0g",
|
||||
"grp": "am",
|
||||
"class": 2,
|
||||
"rating": "D",
|
||||
"cost": 54000,
|
||||
"power": 0.9,
|
||||
"ammo": 2100,
|
||||
"repair": 33.6
|
||||
},
|
||||
{
|
||||
"id": "0f",
|
||||
"grp": "am",
|
||||
"class": 2,
|
||||
"rating": "C",
|
||||
"cost": 162000,
|
||||
"power": 1.13,
|
||||
"ammo": 2300,
|
||||
"repair": 46
|
||||
},
|
||||
{
|
||||
"id": "0e",
|
||||
"grp": "am",
|
||||
"class": 2,
|
||||
"rating": "B",
|
||||
"cost": 486000,
|
||||
"power": 1.29,
|
||||
"ammo": 2800,
|
||||
"repair": 64.4
|
||||
},
|
||||
{
|
||||
"id": "0d",
|
||||
"grp": "am",
|
||||
"class": 2,
|
||||
"rating": "A",
|
||||
"cost": 1458000,
|
||||
"power": 1.58,
|
||||
"ammo": 2500,
|
||||
"repair": 70
|
||||
},
|
||||
{
|
||||
"id": "0c",
|
||||
"grp": "am",
|
||||
"class": 1,
|
||||
"rating": "E",
|
||||
"cost": 10000,
|
||||
"power": 0.54,
|
||||
"ammo": 1000,
|
||||
"repair": 12
|
||||
},
|
||||
{
|
||||
"id": "0b",
|
||||
"grp": "am",
|
||||
"class": 1,
|
||||
"rating": "D",
|
||||
"cost": 30000,
|
||||
"power": 0.72,
|
||||
"ammo": 900,
|
||||
"repair": 14.4
|
||||
},
|
||||
{
|
||||
"id": "0a",
|
||||
"grp": "am",
|
||||
"class": 1,
|
||||
"rating": "C",
|
||||
"cost": 90000,
|
||||
"power": 0.9,
|
||||
"ammo": 1000,
|
||||
"repair": 20
|
||||
},
|
||||
{
|
||||
"id": "09",
|
||||
"grp": "am",
|
||||
"class": 1,
|
||||
"rating": "B",
|
||||
"cost": 270000,
|
||||
"power": 1.04,
|
||||
"ammo": 1200,
|
||||
"repair": 27.6
|
||||
},
|
||||
{
|
||||
"id": "08",
|
||||
"grp": "am",
|
||||
"class": 1,
|
||||
"rating": "A",
|
||||
"cost": 810000,
|
||||
"power": 1.26,
|
||||
"ammo": 1100,
|
||||
"repair": 30.8
|
||||
}
|
||||
{ "id": "1f", "grp": "am", "class": 8, "rating": "E", "cost": 612220, "power": 1.8, "ammo": 10000, "repair": 120, "ammocost": 100 },
|
||||
{ "id": "1e", "grp": "am", "class": 8, "rating": "D", "cost": 1836660, "power": 2.4, "ammo": 9000, "repair": 144, "ammocost": 100 },
|
||||
{ "id": "1d", "grp": "am", "class": 8, "rating": "C", "cost": 5509980, "power": 3, "ammo": 10000, "repair": 200, "ammocost": 100 },
|
||||
{ "id": "1c", "grp": "am", "class": 8, "rating": "B", "cost": 16529940, "power": 3.45, "ammo": 12000, "repair": 276, "ammocost": 100 },
|
||||
{ "id": "1b", "grp": "am", "class": 8, "rating": "A", "cost": 49589820, "power": 4.2, "ammo": 11000, "repair": 308, "ammocost": 100 },
|
||||
|
||||
{ "id": "1a", "grp": "am", "class": 7, "rating": "E", "cost": 340120, "power": 1.58, "ammo": 8700, "repair": 104.4, "ammocost": 100 },
|
||||
{ "id": "19", "grp": "am", "class": 7, "rating": "D", "cost": 1020370, "power": 2.1, "ammo": 7800, "repair": 124.8, "ammocost": 100 },
|
||||
{ "id": "18", "grp": "am", "class": 7, "rating": "C", "cost": 3061100, "power": 2.63, "ammo": 8700, "repair": 174, "ammocost": 100 },
|
||||
{ "id": "17", "grp": "am", "class": 7, "rating": "B", "cost": 9183300, "power": 3.02, "ammo": 10400, "repair": 239.2, "ammocost": 100 },
|
||||
{ "id": "16", "grp": "am", "class": 7, "rating": "A", "cost": 27549900, "power": 3.68, "ammo": 9600, "repair": 268.8, "ammocost": 100 },
|
||||
|
||||
{ "id": "15", "grp": "am", "class": 6, "rating": "E", "cost": 188960, "power": 1.4, "ammo": 7400, "repair": 88.8, "ammocost": 100 },
|
||||
{ "id": "14", "grp": "am", "class": 6, "rating": "D", "cost": 566870, "power": 1.86, "ammo": 6700, "repair": 107.2, "ammocost": 100 },
|
||||
{ "id": "13", "grp": "am", "class": 6, "rating": "C", "cost": 1700610, "power": 2.33, "ammo": 7400, "repair": 148, "ammocost": 100 },
|
||||
{ "id": "12", "grp": "am", "class": 6, "rating": "B", "cost": 5101830, "power": 2.67, "ammo": 8900, "repair": 204.7, "ammocost": 100 },
|
||||
{ "id": "11", "grp": "am", "class": 6, "rating": "A", "cost": 15305500, "power": 3.26, "ammo": 8100, "repair": 226.8, "ammocost": 100 },
|
||||
|
||||
{ "id": "10", "grp": "am", "class": 5, "rating": "E", "cost": 104980, "power": 1.17, "ammo": 6100, "repair": 73.2, "ammocost": 100 },
|
||||
{ "id": "0v", "grp": "am", "class": 5, "rating": "D", "cost": 314930, "power": 1.56, "ammo": 5500, "repair": 88, "ammocost": 100 },
|
||||
{ "id": "0u", "grp": "am", "class": 5, "rating": "C", "cost": 944780, "power": 1.95, "ammo": 6100, "repair": 122, "ammocost": 100 },
|
||||
{ "id": "0t", "grp": "am", "class": 5, "rating": "B", "cost": 2834350, "power": 2.24, "ammo": 7300, "repair": 167.9, "ammocost": 100 },
|
||||
{ "id": "0s", "grp": "am", "class": 5, "rating": "A", "cost": 8503060, "power": 2.73, "ammo": 6700, "repair": 187.6, "ammocost": 100 },
|
||||
|
||||
{ "id": "0r", "grp": "am", "class": 4, "rating": "E", "cost": 58320, "power": 0.99, "ammo": 4900, "repair": 58.8, "ammocost": 100 },
|
||||
{ "id": "0q", "grp": "am", "class": 4, "rating": "D", "cost": 174960, "power": 1.32, "ammo": 4400, "repair": 70.4, "ammocost": 100 },
|
||||
{ "id": "0p", "grp": "am", "class": 4, "rating": "C", "cost": 524880, "power": 1.65, "ammo": 4900, "repair": 98, "ammocost": 100 },
|
||||
{ "id": "0o", "grp": "am", "class": 4, "rating": "B", "cost": 1574640, "power": 1.9, "ammo": 5900, "repair": 135.7, "ammocost": 100 },
|
||||
{ "id": "0n", "grp": "am", "class": 4, "rating": "A", "cost": 4723920, "power": 2.31, "ammo": 5400, "repair": 151.2, "ammocost": 100 },
|
||||
|
||||
{ "id": "0m", "grp": "am", "class": 3, "rating": "E", "cost": 32400, "power": 0.81, "ammo": 3600, "repair": 43.2, "ammocost": 100 },
|
||||
{ "id": "0l", "grp": "am", "class": 3, "rating": "D", "cost": 97200, "power": 1.08, "ammo": 3200, "repair": 51.2, "ammocost": 100 },
|
||||
{ "id": "0k", "grp": "am", "class": 3, "rating": "C", "cost": 291600, "power": 1.35, "ammo": 3600, "repair": 72, "ammocost": 100 },
|
||||
{ "id": "0j", "grp": "am", "class": 3, "rating": "B", "cost": 874800, "power": 1.55, "ammo": 4300, "repair": 98.9, "ammocost": 100 },
|
||||
{ "id": "0i", "grp": "am", "class": 3, "rating": "A", "cost": 2624400, "power": 1.89, "ammo": 4000, "repair": 112, "ammocost": 100 },
|
||||
|
||||
{ "id": "0h", "grp": "am", "class": 2, "rating": "E", "cost": 18000, "power": 0.68, "ammo": 2300, "repair": 27.6, "ammocost": 100 },
|
||||
{ "id": "0g", "grp": "am", "class": 2, "rating": "D", "cost": 54000, "power": 0.9, "ammo": 2100, "repair": 33.6, "ammocost": 100 },
|
||||
{ "id": "0f", "grp": "am", "class": 2, "rating": "C", "cost": 162000, "power": 1.13, "ammo": 2300, "repair": 46, "ammocost": 100 },
|
||||
{ "id": "0e", "grp": "am", "class": 2, "rating": "B", "cost": 486000, "power": 1.29, "ammo": 2800, "repair": 64.4, "ammocost": 100 },
|
||||
{ "id": "0d", "grp": "am", "class": 2, "rating": "A", "cost": 1458000, "power": 1.58, "ammo": 2500, "repair": 70, "ammocost": 100 },
|
||||
|
||||
{ "id": "0c", "grp": "am", "class": 1, "rating": "E", "cost": 10000, "power": 0.54, "ammo": 1000, "repair": 12, "ammocost": 100 },
|
||||
{ "id": "0b", "grp": "am", "class": 1, "rating": "D", "cost": 30000, "power": 0.72, "ammo": 900, "repair": 14.4, "ammocost": 100 },
|
||||
{ "id": "0a", "grp": "am", "class": 1, "rating": "C", "cost": 90000, "power": 0.9, "ammo": 1000, "repair": 20, "ammocost": 100 },
|
||||
{ "id": "09", "grp": "am", "class": 1, "rating": "B", "cost": 270000, "power": 1.04, "ammo": 1200, "repair": 27.6, "ammocost": 100 },
|
||||
{ "id": "08", "grp": "am", "class": 1, "rating": "A", "cost": 810000, "power": 1.26, "ammo": 1100, "repair": 30.8, "ammocost": 100 }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
"cr": [
|
||||
{ "id": "00", "grp": "cr", "class": 1, "rating": "E", "cost": 1000, "capacity": 2 },
|
||||
{ "id": "01", "grp": "cr", "class": 2, "rating": "E", "cost": 3250, "capacity": 4 },
|
||||
{ "id": "02", "grp": "cr", "class": 3, "rating": "E", "cost": 10563, "capacity": 8 },
|
||||
{ "id": "03", "grp": "cr", "class": 4, "rating": "E", "cost": 34328, "capacity": 16 },
|
||||
{ "id": "04", "grp": "cr", "class": 5, "rating": "E", "cost": 111566, "capacity": 32 },
|
||||
{ "id": "05", "grp": "cr", "class": 6, "rating": "E", "cost": 362591, "capacity": 64 },
|
||||
{ "id": "02", "grp": "cr", "class": 3, "rating": "E", "cost": 10560, "capacity": 8 },
|
||||
{ "id": "03", "grp": "cr", "class": 4, "rating": "E", "cost": 34330, "capacity": 16 },
|
||||
{ "id": "04", "grp": "cr", "class": 5, "rating": "E", "cost": 111570, "capacity": 32 },
|
||||
{ "id": "05", "grp": "cr", "class": 6, "rating": "E", "cost": 362590, "capacity": 64 },
|
||||
{ "id": "06", "grp": "cr", "class": 7, "rating": "E", "cost": 1178420, "capacity": 128 },
|
||||
{ "id": "07", "grp": "cr", "class": 8, "rating": "E", "cost": 3829866, "capacity": 256 }
|
||||
{ "id": "07", "grp": "cr", "class": 8, "rating": "E", "cost": 3829870, "capacity": 256 }
|
||||
]
|
||||
}
|
||||
@@ -1,204 +1,27 @@
|
||||
{
|
||||
"fi": [
|
||||
{
|
||||
"id": "6p",
|
||||
"grp": "fi",
|
||||
"class": 4,
|
||||
"rating": "E",
|
||||
"cost": 263424,
|
||||
"mass": 10,
|
||||
"power": 0.25,
|
||||
"rangeRating": "B"
|
||||
},
|
||||
{
|
||||
"id": "6o",
|
||||
"grp": "fi",
|
||||
"class": 4,
|
||||
"rating": "D",
|
||||
"cost": 790272,
|
||||
"mass": 4,
|
||||
"power": 0.33,
|
||||
"rangeRating": "A"
|
||||
},
|
||||
{
|
||||
"id": "6n",
|
||||
"grp": "fi",
|
||||
"class": 4,
|
||||
"rating": "C",
|
||||
"cost": 2370816,
|
||||
"mass": 10,
|
||||
"power": 0.41,
|
||||
"rangeRating": "A"
|
||||
},
|
||||
{
|
||||
"id": "6m",
|
||||
"grp": "fi",
|
||||
"class": 4,
|
||||
"rating": "B",
|
||||
"cost": 7112448,
|
||||
"mass": 16,
|
||||
"power": 0.49,
|
||||
"rangeRating": "A"
|
||||
},
|
||||
{
|
||||
"id": "6l",
|
||||
"grp": "fi",
|
||||
"class": 4,
|
||||
"rating": "A",
|
||||
"cost": 21337344,
|
||||
"mass": 10,
|
||||
"power": 0.57,
|
||||
"rangeRating": "A"
|
||||
},
|
||||
{
|
||||
"id": "6k",
|
||||
"grp": "fi",
|
||||
"class": 3,
|
||||
"rating": "E",
|
||||
"cost": 94080,
|
||||
"mass": 5,
|
||||
"power": 0.2,
|
||||
"rangeRating": "C"
|
||||
},
|
||||
{
|
||||
"id": "6j",
|
||||
"grp": "fi",
|
||||
"class": 3,
|
||||
"rating": "D",
|
||||
"cost": 282240,
|
||||
"mass": 2,
|
||||
"power": 0.27,
|
||||
"rangeRating": "B"
|
||||
},
|
||||
{
|
||||
"id": "6i",
|
||||
"grp": "fi",
|
||||
"class": 3,
|
||||
"rating": "C",
|
||||
"cost": 846720,
|
||||
"mass": 5,
|
||||
"power": 0.34,
|
||||
"rangeRating": "B"
|
||||
},
|
||||
{
|
||||
"id": "6h",
|
||||
"grp": "fi",
|
||||
"class": 3,
|
||||
"rating": "B",
|
||||
"cost": 2540160,
|
||||
"mass": 8,
|
||||
"power": 0.41,
|
||||
"rangeRating": "B"
|
||||
},
|
||||
{
|
||||
"id": "6g",
|
||||
"grp": "fi",
|
||||
"class": 3,
|
||||
"rating": "A",
|
||||
"cost": 7620480,
|
||||
"mass": 5,
|
||||
"power": 0.48,
|
||||
"rangeRating": "A"
|
||||
},
|
||||
{
|
||||
"id": "6f",
|
||||
"grp": "fi",
|
||||
"class": 2,
|
||||
"rating": "E",
|
||||
"cost": 33600,
|
||||
"mass": 2.5,
|
||||
"power": 0.17,
|
||||
"rangeRating": "D"
|
||||
},
|
||||
{
|
||||
"id": "6e",
|
||||
"grp": "fi",
|
||||
"class": 2,
|
||||
"rating": "D",
|
||||
"cost": 100800,
|
||||
"mass": 1,
|
||||
"power": 0.22,
|
||||
"rangeRating": "C"
|
||||
},
|
||||
{
|
||||
"id": "6d",
|
||||
"grp": "fi",
|
||||
"class": 2,
|
||||
"rating": "C",
|
||||
"cost": 302400,
|
||||
"mass": 2.5,
|
||||
"power": 0.28,
|
||||
"rangeRating": "C"
|
||||
},
|
||||
{
|
||||
"id": "6c",
|
||||
"grp": "fi",
|
||||
"class": 2,
|
||||
"rating": "B",
|
||||
"cost": 907200,
|
||||
"mass": 4,
|
||||
"power": 0.34,
|
||||
"rangeRating": "C"
|
||||
},
|
||||
{
|
||||
"id": "6b",
|
||||
"grp": "fi",
|
||||
"class": 2,
|
||||
"rating": "A",
|
||||
"cost": 2721600,
|
||||
"mass": 2.5,
|
||||
"power": 0.39,
|
||||
"rangeRating": "B"
|
||||
},
|
||||
{
|
||||
"id": "6a",
|
||||
"grp": "fi",
|
||||
"class": 1,
|
||||
"rating": "E",
|
||||
"cost": 12000,
|
||||
"mass": 1.3,
|
||||
"power": 0.14,
|
||||
"rangeRating": "E"
|
||||
},
|
||||
{
|
||||
"id": "69",
|
||||
"grp": "fi",
|
||||
"class": 1,
|
||||
"rating": "D",
|
||||
"cost": 36000,
|
||||
"mass": 0.5,
|
||||
"power": 0.18,
|
||||
"rangeRating": "D"
|
||||
},
|
||||
{
|
||||
"id": "68",
|
||||
"grp": "fi",
|
||||
"class": 1,
|
||||
"rating": "C",
|
||||
"cost": 108000,
|
||||
"mass": 1.3,
|
||||
"power": 0.23,
|
||||
"rangeRating": "D"
|
||||
},
|
||||
{
|
||||
"id": "67",
|
||||
"grp": "fi",
|
||||
"class": 1,
|
||||
"rating": "B",
|
||||
"cost": 324000,
|
||||
"mass": 2,
|
||||
"power": 0.28,
|
||||
"rangeRating": "D"
|
||||
},
|
||||
{
|
||||
"id": "66",
|
||||
"grp": "fi",
|
||||
"class": 1,
|
||||
"rating": "A",
|
||||
"cost": 972000,
|
||||
"mass": 1.3,
|
||||
"power": 0.32,
|
||||
"rangeRating": "C"
|
||||
}
|
||||
{ "id": "6p", "grp": "fi", "class": 4, "rating": "E", "cost": 263420, "mass": 10, "power": 0.25, "rangeRating": "B" },
|
||||
{ "id": "6o", "grp": "fi", "class": 4, "rating": "D", "cost": 790270, "mass": 4, "power": 0.33, "rangeRating": "A" },
|
||||
{ "id": "6n", "grp": "fi", "class": 4, "rating": "C", "cost": 2370820, "mass": 10, "power": 0.41, "rangeRating": "A" },
|
||||
{ "id": "6m", "grp": "fi", "class": 4, "rating": "B", "cost": 7112450, "mass": 16, "power": 0.49, "rangeRating": "A" },
|
||||
{ "id": "6l", "grp": "fi", "class": 4, "rating": "A", "cost": 21337340, "mass": 10, "power": 0.57, "rangeRating": "A" },
|
||||
|
||||
{ "id": "6k", "grp": "fi", "class": 3, "rating": "E", "cost": 94080, "mass": 5, "power": 0.2, "rangeRating": "C" },
|
||||
{ "id": "6j", "grp": "fi", "class": 3, "rating": "D", "cost": 282240, "mass": 2, "power": 0.27, "rangeRating": "B" },
|
||||
{ "id": "6i", "grp": "fi", "class": 3, "rating": "C", "cost": 846720, "mass": 5, "power": 0.34, "rangeRating": "B" },
|
||||
{ "id": "6h", "grp": "fi", "class": 3, "rating": "B", "cost": 2540160, "mass": 8, "power": 0.41, "rangeRating": "B" },
|
||||
{ "id": "6g", "grp": "fi", "class": 3, "rating": "A", "cost": 7620480, "mass": 5, "power": 0.48, "rangeRating": "A" },
|
||||
|
||||
{ "id": "6f", "grp": "fi", "class": 2, "rating": "E", "cost": 33600, "mass": 2.5, "power": 0.17, "rangeRating": "D" },
|
||||
{ "id": "6e", "grp": "fi", "class": 2, "rating": "D", "cost": 100800, "mass": 1, "power": 0.22, "rangeRating": "C" },
|
||||
{ "id": "6d", "grp": "fi", "class": 2, "rating": "C", "cost": 302400, "mass": 2.5, "power": 0.28, "rangeRating": "C" },
|
||||
{ "id": "6c", "grp": "fi", "class": 2, "rating": "B", "cost": 907200, "mass": 4, "power": 0.34, "rangeRating": "C" },
|
||||
{ "id": "6b", "grp": "fi", "class": 2, "rating": "A", "cost": 2721600, "mass": 2.5, "power": 0.39, "rangeRating": "B" },
|
||||
|
||||
{ "id": "6a", "grp": "fi", "class": 1, "rating": "E", "cost": 12000, "mass": 1.3, "power": 0.14, "rangeRating": "E" },
|
||||
{ "id": "69", "grp": "fi", "class": 1, "rating": "D", "cost": 36000, "mass": 0.5, "power": 0.18, "rangeRating": "D" },
|
||||
{ "id": "68", "grp": "fi", "class": 1, "rating": "C", "cost": 108000, "mass": 1.3, "power": 0.23, "rangeRating": "D" },
|
||||
{ "id": "67", "grp": "fi", "class": 1, "rating": "B", "cost": 324000, "mass": 2, "power": 0.28, "rangeRating": "D" },
|
||||
{ "id": "66", "grp": "fi", "class": 1, "rating": "A", "cost": 972000, "mass": 1.3, "power": 0.32, "rangeRating": "C" }
|
||||
]
|
||||
}
|
||||
@@ -1,364 +1,51 @@
|
||||
{
|
||||
"fs": [
|
||||
{
|
||||
"id": "3q",
|
||||
"grp": "fs",
|
||||
"class": 8,
|
||||
"rating": "E",
|
||||
"cost": 1083910,
|
||||
"power": 0.48,
|
||||
"rate": 720
|
||||
},
|
||||
{
|
||||
"id": "3p",
|
||||
"grp": "fs",
|
||||
"class": 8,
|
||||
"rating": "D",
|
||||
"cost": 4516291,
|
||||
"power": 0.64,
|
||||
"rate": 960
|
||||
},
|
||||
{
|
||||
"id": "3o",
|
||||
"grp": "fs",
|
||||
"class": 8,
|
||||
"rating": "C",
|
||||
"cost": 18065165,
|
||||
"power": 0.8,
|
||||
"rate": 1200
|
||||
},
|
||||
{
|
||||
"id": "3n",
|
||||
"grp": "fs",
|
||||
"class": 8,
|
||||
"rating": "B",
|
||||
"cost": 72260660,
|
||||
"power": 0.96,
|
||||
"rate": 1440
|
||||
},
|
||||
{
|
||||
"id": "3m",
|
||||
"grp": "fs",
|
||||
"class": 8,
|
||||
"rating": "A",
|
||||
"cost": 289042541,
|
||||
"power": 1.12,
|
||||
"rate": 1680
|
||||
},
|
||||
{
|
||||
"id": "3l",
|
||||
"grp": "fs",
|
||||
"class": 7,
|
||||
"rating": "E",
|
||||
"cost": 341927,
|
||||
"power": 0.41,
|
||||
"rate": 534
|
||||
},
|
||||
{
|
||||
"id": "3k",
|
||||
"grp": "fs",
|
||||
"class": 7,
|
||||
"rating": "D",
|
||||
"cost": 1424698,
|
||||
"power": 0.55,
|
||||
"rate": 712
|
||||
},
|
||||
{
|
||||
"id": "3j",
|
||||
"grp": "fs",
|
||||
"class": 7,
|
||||
"rating": "C",
|
||||
"cost": 5698790,
|
||||
"power": 0.69,
|
||||
"rate": 890
|
||||
},
|
||||
{
|
||||
"id": "3i",
|
||||
"grp": "fs",
|
||||
"class": 7,
|
||||
"rating": "B",
|
||||
"cost": 22795161,
|
||||
"power": 0.83,
|
||||
"rate": 1068
|
||||
},
|
||||
{
|
||||
"id": "3h",
|
||||
"grp": "fs",
|
||||
"class": 7,
|
||||
"rating": "A",
|
||||
"cost": 91180644,
|
||||
"power": 0.97,
|
||||
"rate": 1245
|
||||
},
|
||||
{
|
||||
"id": "3g",
|
||||
"grp": "fs",
|
||||
"class": 6,
|
||||
"rating": "E",
|
||||
"cost": 107864,
|
||||
"power": 0.35,
|
||||
"rate": 376
|
||||
},
|
||||
{
|
||||
"id": "3f",
|
||||
"grp": "fs",
|
||||
"class": 6,
|
||||
"rating": "D",
|
||||
"cost": 449431,
|
||||
"power": 0.47,
|
||||
"rate": 502
|
||||
},
|
||||
{
|
||||
"id": "3e",
|
||||
"grp": "fs",
|
||||
"class": 6,
|
||||
"rating": "C",
|
||||
"cost": 1797726,
|
||||
"power": 0.59,
|
||||
"rate": 627
|
||||
},
|
||||
{
|
||||
"id": "3d",
|
||||
"grp": "fs",
|
||||
"class": 6,
|
||||
"rating": "B",
|
||||
"cost": 7190903,
|
||||
"power": 0.71,
|
||||
"rate": 752
|
||||
},
|
||||
{
|
||||
"id": "3c",
|
||||
"grp": "fs",
|
||||
"class": 6,
|
||||
"rating": "A",
|
||||
"cost": 28763610,
|
||||
"power": 0.83,
|
||||
"rate": 878
|
||||
},
|
||||
{
|
||||
"id": "3b",
|
||||
"grp": "fs",
|
||||
"class": 5,
|
||||
"rating": "E",
|
||||
"cost": 34026,
|
||||
"power": 0.3,
|
||||
"rate": 247
|
||||
},
|
||||
{
|
||||
"id": "3a",
|
||||
"grp": "fs",
|
||||
"class": 5,
|
||||
"rating": "D",
|
||||
"cost": 141776,
|
||||
"power": 0.4,
|
||||
"rate": 330
|
||||
},
|
||||
{
|
||||
"id": "39",
|
||||
"grp": "fs",
|
||||
"class": 5,
|
||||
"rating": "C",
|
||||
"cost": 567106,
|
||||
"power": 0.5,
|
||||
"rate": 412
|
||||
},
|
||||
{
|
||||
"id": "38",
|
||||
"grp": "fs",
|
||||
"class": 5,
|
||||
"rating": "B",
|
||||
"cost": 2268424,
|
||||
"power": 0.6,
|
||||
"rate": 494
|
||||
},
|
||||
{
|
||||
"id": "37",
|
||||
"grp": "fs",
|
||||
"class": 5,
|
||||
"rating": "A",
|
||||
"cost": 9073694,
|
||||
"power": 0.7,
|
||||
"rate": 577
|
||||
},
|
||||
{
|
||||
"id": "36",
|
||||
"grp": "fs",
|
||||
"class": 4,
|
||||
"rating": "E",
|
||||
"cost": 10734,
|
||||
"power": 0.25,
|
||||
"rate": 147
|
||||
},
|
||||
{
|
||||
"id": "35",
|
||||
"grp": "fs",
|
||||
"class": 4,
|
||||
"rating": "D",
|
||||
"cost": 44724,
|
||||
"power": 0.33,
|
||||
"rate": 196
|
||||
},
|
||||
{
|
||||
"id": "34",
|
||||
"grp": "fs",
|
||||
"class": 4,
|
||||
"rating": "C",
|
||||
"cost": 178898,
|
||||
"power": 0.41,
|
||||
"rate": 245
|
||||
},
|
||||
{
|
||||
"id": "33",
|
||||
"grp": "fs",
|
||||
"class": 4,
|
||||
"rating": "B",
|
||||
"cost": 715591,
|
||||
"power": 0.49,
|
||||
"rate": 294
|
||||
},
|
||||
{
|
||||
"id": "32",
|
||||
"grp": "fs",
|
||||
"class": 4,
|
||||
"rating": "A",
|
||||
"cost": 2862364,
|
||||
"power": 0.57,
|
||||
"rate": 342
|
||||
},
|
||||
{
|
||||
"id": "31",
|
||||
"grp": "fs",
|
||||
"class": 3,
|
||||
"rating": "E",
|
||||
"cost": 3386,
|
||||
"power": 0.2,
|
||||
"rate": 75
|
||||
},
|
||||
{
|
||||
"id": "30",
|
||||
"grp": "fs",
|
||||
"class": 3,
|
||||
"rating": "D",
|
||||
"cost": 14109,
|
||||
"power": 0.27,
|
||||
"rate": 100
|
||||
},
|
||||
{
|
||||
"id": "2v",
|
||||
"grp": "fs",
|
||||
"class": 3,
|
||||
"rating": "C",
|
||||
"cost": 56435,
|
||||
"power": 0.34,
|
||||
"rate": 126
|
||||
},
|
||||
{
|
||||
"id": "2u",
|
||||
"grp": "fs",
|
||||
"class": 3,
|
||||
"rating": "B",
|
||||
"cost": 225738,
|
||||
"power": 0.41,
|
||||
"rate": 151
|
||||
},
|
||||
{
|
||||
"id": "2t",
|
||||
"grp": "fs",
|
||||
"class": 3,
|
||||
"rating": "A",
|
||||
"cost": 902954,
|
||||
"power": 0.48,
|
||||
"rate": 176
|
||||
},
|
||||
{
|
||||
"id": "2s",
|
||||
"grp": "fs",
|
||||
"class": 2,
|
||||
"rating": "E",
|
||||
"cost": 1068,
|
||||
"power": 0.17,
|
||||
"rate": 32
|
||||
},
|
||||
{
|
||||
"id": "2r",
|
||||
"grp": "fs",
|
||||
"class": 2,
|
||||
"rating": "D",
|
||||
"cost": 4451,
|
||||
"power": 0.22,
|
||||
"rate": 43
|
||||
},
|
||||
{
|
||||
"id": "2q",
|
||||
"grp": "fs",
|
||||
"class": 2,
|
||||
"rating": "C",
|
||||
"cost": 17803,
|
||||
"power": 0.28,
|
||||
"rate": 54
|
||||
},
|
||||
{
|
||||
"id": "2p",
|
||||
"grp": "fs",
|
||||
"class": 2,
|
||||
"rating": "B",
|
||||
"cost": 71211,
|
||||
"power": 0.34,
|
||||
"rate": 65
|
||||
},
|
||||
{
|
||||
"id": "2o",
|
||||
"grp": "fs",
|
||||
"class": 2,
|
||||
"rating": "A",
|
||||
"cost": 284844,
|
||||
"power": 0.39,
|
||||
"rate": 75
|
||||
},
|
||||
{
|
||||
"id": "2n",
|
||||
"grp": "fs",
|
||||
"class": 1,
|
||||
"rating": "E",
|
||||
"cost": 309,
|
||||
"power": 0.14,
|
||||
"rate": 18
|
||||
},
|
||||
{
|
||||
"id": "2m",
|
||||
"grp": "fs",
|
||||
"class": 1,
|
||||
"rating": "D",
|
||||
"cost": 1285,
|
||||
"power": 0.18,
|
||||
"rate": 24
|
||||
},
|
||||
{
|
||||
"id": "2l",
|
||||
"grp": "fs",
|
||||
"class": 1,
|
||||
"rating": "C",
|
||||
"cost": 5142,
|
||||
"power": 0.23,
|
||||
"rate": 30
|
||||
},
|
||||
{
|
||||
"id": "2k",
|
||||
"grp": "fs",
|
||||
"class": 1,
|
||||
"rating": "B",
|
||||
"cost": 20568,
|
||||
"power": 0.28,
|
||||
"rate": 36
|
||||
},
|
||||
{
|
||||
"id": "2j",
|
||||
"grp": "fs",
|
||||
"class": 1,
|
||||
"rating": "A",
|
||||
"cost": 82270,
|
||||
"power": 0.32,
|
||||
"rate": 42
|
||||
}
|
||||
{ "id": "3q", "grp": "fs", "class": 8, "rating": "E", "cost": 1083910, "power": 0.48, "rate": 720 },
|
||||
{ "id": "3p", "grp": "fs", "class": 8, "rating": "D", "cost": 4516290, "power": 0.64, "rate": 960 },
|
||||
{ "id": "3o", "grp": "fs", "class": 8, "rating": "C", "cost": 18065160, "power": 0.8, "rate": 1200 },
|
||||
{ "id": "3n", "grp": "fs", "class": 8, "rating": "B", "cost": 72260660, "power": 0.96, "rate": 1440 },
|
||||
{ "id": "3m", "grp": "fs", "class": 8, "rating": "A", "cost": 289042540, "power": 1.12, "rate": 1680 },
|
||||
|
||||
{ "id": "3l", "grp": "fs", "class": 7, "rating": "E", "cost": 341930, "power": 0.41, "rate": 534 },
|
||||
{ "id": "3k", "grp": "fs", "class": 7, "rating": "D", "cost": 1424700, "power": 0.55, "rate": 712 },
|
||||
{ "id": "3j", "grp": "fs", "class": 7, "rating": "C", "cost": 5698790, "power": 0.69, "rate": 890 },
|
||||
{ "id": "3i", "grp": "fs", "class": 7, "rating": "B", "cost": 22795160, "power": 0.83, "rate": 1068 },
|
||||
{ "id": "3h", "grp": "fs", "class": 7, "rating": "A", "cost": 91180640, "power": 0.97, "rate": 1245 },
|
||||
|
||||
{ "id": "3g", "grp": "fs", "class": 6, "rating": "E", "cost": 107860, "power": 0.35, "rate": 376 },
|
||||
{ "id": "3f", "grp": "fs", "class": 6, "rating": "D", "cost": 449430, "power": 0.47, "rate": 502 },
|
||||
{ "id": "3e", "grp": "fs", "class": 6, "rating": "C", "cost": 1797730, "power": 0.59, "rate": 627 },
|
||||
{ "id": "3d", "grp": "fs", "class": 6, "rating": "B", "cost": 7190900, "power": 0.71, "rate": 752 },
|
||||
{ "id": "3c", "grp": "fs", "class": 6, "rating": "A", "cost": 28763610, "power": 0.83, "rate": 878 },
|
||||
|
||||
{ "id": "3b", "grp": "fs", "class": 5, "rating": "E", "cost": 34030, "power": 0.3, "rate": 247 },
|
||||
{ "id": "3a", "grp": "fs", "class": 5, "rating": "D", "cost": 141780, "power": 0.4, "rate": 330 },
|
||||
{ "id": "39", "grp": "fs", "class": 5, "rating": "C", "cost": 567110, "power": 0.5, "rate": 412 },
|
||||
{ "id": "38", "grp": "fs", "class": 5, "rating": "B", "cost": 2268420, "power": 0.6, "rate": 494 },
|
||||
{ "id": "37", "grp": "fs", "class": 5, "rating": "A", "cost": 9073690, "power": 0.7, "rate": 577 },
|
||||
|
||||
{ "id": "36", "grp": "fs", "class": 4, "rating": "E", "cost": 10730, "power": 0.25, "rate": 147 },
|
||||
{ "id": "35", "grp": "fs", "class": 4, "rating": "D", "cost": 44720, "power": 0.33, "rate": 196 },
|
||||
{ "id": "34", "grp": "fs", "class": 4, "rating": "C", "cost": 178900, "power": 0.41, "rate": 245 },
|
||||
{ "id": "33", "grp": "fs", "class": 4, "rating": "B", "cost": 715590, "power": 0.49, "rate": 294 },
|
||||
{ "id": "32", "grp": "fs", "class": 4, "rating": "A", "cost": 2862360, "power": 0.57, "rate": 342 },
|
||||
|
||||
{ "id": "31", "grp": "fs", "class": 3, "rating": "E", "cost": 3390, "power": 0.2, "rate": 75 },
|
||||
{ "id": "30", "grp": "fs", "class": 3, "rating": "D", "cost": 14110, "power": 0.27, "rate": 100 },
|
||||
{ "id": "2v", "grp": "fs", "class": 3, "rating": "C", "cost": 56440, "power": 0.34, "rate": 126 },
|
||||
{ "id": "2u", "grp": "fs", "class": 3, "rating": "B", "cost": 225740, "power": 0.41, "rate": 151 },
|
||||
{ "id": "2t", "grp": "fs", "class": 3, "rating": "A", "cost": 902950, "power": 0.48, "rate": 176 },
|
||||
|
||||
{ "id": "2s", "grp": "fs", "class": 2, "rating": "E", "cost": 1070, "power": 0.17, "rate": 32 },
|
||||
{ "id": "2r", "grp": "fs", "class": 2, "rating": "D", "cost": 4450, "power": 0.22, "rate": 43 },
|
||||
{ "id": "2q", "grp": "fs", "class": 2, "rating": "C", "cost": 17800, "power": 0.28, "rate": 54 },
|
||||
{ "id": "2p", "grp": "fs", "class": 2, "rating": "B", "cost": 71210, "power": 0.34, "rate": 65 },
|
||||
{ "id": "2o", "grp": "fs", "class": 2, "rating": "A", "cost": 284840, "power": 0.39, "rate": 75 },
|
||||
|
||||
{ "id": "2n", "grp": "fs", "class": 1, "rating": "E", "cost": 310, "power": 0.14, "rate": 18 },
|
||||
{ "id": "2m", "grp": "fs", "class": 1, "rating": "D", "cost": 1290, "power": 0.18, "rate": 24 },
|
||||
{ "id": "2l", "grp": "fs", "class": 1, "rating": "C", "cost": 5140, "power": 0.23, "rate": 30 },
|
||||
{ "id": "2k", "grp": "fs", "class": 1, "rating": "B", "cost": 20570, "power": 0.28, "rate": 36 },
|
||||
{ "id": "2j", "grp": "fs", "class": 1, "rating": "A", "cost": 82270, "power": 0.32, "rate": 42 }
|
||||
]
|
||||
}
|
||||
@@ -1,224 +1,27 @@
|
||||
{
|
||||
"hb": [
|
||||
{
|
||||
"id": "7d",
|
||||
"grp": "hb",
|
||||
"class": 7,
|
||||
"rating": "E",
|
||||
"cost": 437400,
|
||||
"power": 0.42,
|
||||
"range": 2.58,
|
||||
"maximum": 18,
|
||||
"time": 25
|
||||
},
|
||||
{
|
||||
"id": "7c",
|
||||
"grp": "hb",
|
||||
"class": 7,
|
||||
"rating": "D",
|
||||
"cost": 874800,
|
||||
"power": 0.56,
|
||||
"range": 3.44,
|
||||
"maximum": 12,
|
||||
"time": 22
|
||||
},
|
||||
{
|
||||
"id": "7b",
|
||||
"grp": "hb",
|
||||
"class": 7,
|
||||
"rating": "C",
|
||||
"cost": 1749600,
|
||||
"power": 0.7,
|
||||
"range": 4.3,
|
||||
"maximum": 15,
|
||||
"time": 18
|
||||
},
|
||||
{
|
||||
"id": "7a",
|
||||
"grp": "hb",
|
||||
"class": 7,
|
||||
"rating": "B",
|
||||
"cost": 3499200,
|
||||
"power": 0.84,
|
||||
"range": 5.16,
|
||||
"maximum": 18,
|
||||
"time": 14
|
||||
},
|
||||
{
|
||||
"id": "79",
|
||||
"grp": "hb",
|
||||
"class": 7,
|
||||
"rating": "A",
|
||||
"cost": 6998400,
|
||||
"power": 0.98,
|
||||
"range": 6.02,
|
||||
"maximum": 12,
|
||||
"time": 11
|
||||
},
|
||||
{
|
||||
"id": "78",
|
||||
"grp": "hb",
|
||||
"class": 5,
|
||||
"rating": "E",
|
||||
"cost": 48600,
|
||||
"power": 0.3,
|
||||
"range": 1.98,
|
||||
"maximum": 9,
|
||||
"time": 31
|
||||
},
|
||||
{
|
||||
"id": "77",
|
||||
"grp": "hb",
|
||||
"class": 5,
|
||||
"rating": "D",
|
||||
"cost": 97200,
|
||||
"power": 0.4,
|
||||
"range": 2.64,
|
||||
"maximum": 6,
|
||||
"time": 26
|
||||
},
|
||||
{
|
||||
"id": "76",
|
||||
"grp": "hb",
|
||||
"class": 5,
|
||||
"rating": "C",
|
||||
"cost": 194400,
|
||||
"power": 0.5,
|
||||
"range": 3.3,
|
||||
"maximum": 7,
|
||||
"time": 22
|
||||
},
|
||||
{
|
||||
"id": "75",
|
||||
"grp": "hb",
|
||||
"class": 5,
|
||||
"rating": "B",
|
||||
"cost": 388800,
|
||||
"power": 0.6,
|
||||
"range": 3.96,
|
||||
"maximum": 9,
|
||||
"time": 18
|
||||
},
|
||||
{
|
||||
"id": "74",
|
||||
"grp": "hb",
|
||||
"class": 5,
|
||||
"rating": "A",
|
||||
"cost": 777600,
|
||||
"power": 0.7,
|
||||
"range": 4.62,
|
||||
"maximum": 6,
|
||||
"time": 13
|
||||
},
|
||||
{
|
||||
"id": "73",
|
||||
"grp": "hb",
|
||||
"class": 3,
|
||||
"rating": "E",
|
||||
"cost": 5400,
|
||||
"power": 0.18,
|
||||
"range": 1.62,
|
||||
"maximum": 4,
|
||||
"time": 36
|
||||
},
|
||||
{
|
||||
"id": "72",
|
||||
"grp": "hb",
|
||||
"class": 3,
|
||||
"rating": "D",
|
||||
"cost": 10800,
|
||||
"power": 0.24,
|
||||
"range": 2.16,
|
||||
"maximum": 3,
|
||||
"time": 31
|
||||
},
|
||||
{
|
||||
"id": "71",
|
||||
"grp": "hb",
|
||||
"class": 3,
|
||||
"rating": "C",
|
||||
"cost": 21600,
|
||||
"power": 0.3,
|
||||
"range": 2.7,
|
||||
"maximum": 3,
|
||||
"time": 26
|
||||
},
|
||||
{
|
||||
"id": "70",
|
||||
"grp": "hb",
|
||||
"class": 3,
|
||||
"rating": "B",
|
||||
"cost": 43200,
|
||||
"power": 0.36,
|
||||
"range": 3.24,
|
||||
"maximum": 4,
|
||||
"time": 21
|
||||
},
|
||||
{
|
||||
"id": "6v",
|
||||
"grp": "hb",
|
||||
"class": 3,
|
||||
"rating": "A",
|
||||
"cost": 86400,
|
||||
"power": 0.42,
|
||||
"range": 3.78,
|
||||
"maximum": 3,
|
||||
"time": 16
|
||||
},
|
||||
{
|
||||
"id": "6u",
|
||||
"grp": "hb",
|
||||
"class": 1,
|
||||
"rating": "E",
|
||||
"cost": 600,
|
||||
"power": 0.12,
|
||||
"range": 1.5,
|
||||
"maximum": 2,
|
||||
"time": 42
|
||||
},
|
||||
{
|
||||
"id": "6t",
|
||||
"grp": "hb",
|
||||
"class": 1,
|
||||
"rating": "D",
|
||||
"cost": 1200,
|
||||
"power": 0.16,
|
||||
"range": 2,
|
||||
"maximum": 1,
|
||||
"time": 36
|
||||
},
|
||||
{
|
||||
"id": "6s",
|
||||
"grp": "hb",
|
||||
"class": 1,
|
||||
"rating": "C",
|
||||
"cost": 2400,
|
||||
"power": 0.2,
|
||||
"range": 2.5,
|
||||
"maximum": 1,
|
||||
"time": 30
|
||||
},
|
||||
{
|
||||
"id": "6r",
|
||||
"grp": "hb",
|
||||
"class": 1,
|
||||
"rating": "B",
|
||||
"cost": 4800,
|
||||
"power": 0.24,
|
||||
"range": 3,
|
||||
"maximum": 2,
|
||||
"time": 24
|
||||
},
|
||||
{
|
||||
"id": "6q",
|
||||
"grp": "hb",
|
||||
"class": 1,
|
||||
"rating": "A",
|
||||
"cost": 9600,
|
||||
"power": 0.28,
|
||||
"range": 3.5,
|
||||
"maximum": 1,
|
||||
"time": 18
|
||||
}
|
||||
{ "id": "7d", "grp": "hb", "class": 7, "rating": "E", "cost": 437400, "power": 0.42, "range": 2.58, "maximum": 18, "time": 25 },
|
||||
{ "id": "7c", "grp": "hb", "class": 7, "rating": "D", "cost": 874800, "power": 0.56, "range": 3.44, "maximum": 12, "time": 22 },
|
||||
{ "id": "7b", "grp": "hb", "class": 7, "rating": "C", "cost": 1749600, "power": 0.7, "range": 4.3, "maximum": 15, "time": 18 },
|
||||
{ "id": "7a", "grp": "hb", "class": 7, "rating": "B", "cost": 3499200, "power": 0.84, "range": 5.16, "maximum": 18, "time": 14 },
|
||||
{ "id": "79", "grp": "hb", "class": 7, "rating": "A", "cost": 6998400, "power": 0.98, "range": 6.02, "maximum": 12, "time": 11 },
|
||||
|
||||
{ "id": "78", "grp": "hb", "class": 5, "rating": "E", "cost": 48600, "power": 0.3, "range": 1.98, "maximum": 9, "time": 31 },
|
||||
{ "id": "77", "grp": "hb", "class": 5, "rating": "D", "cost": 97200, "power": 0.4, "range": 2.64, "maximum": 6, "time": 26 },
|
||||
{ "id": "76", "grp": "hb", "class": 5, "rating": "C", "cost": 194400, "power": 0.5, "range": 3.3, "maximum": 7, "time": 22 },
|
||||
{ "id": "75", "grp": "hb", "class": 5, "rating": "B", "cost": 388800, "power": 0.6, "range": 3.96, "maximum": 9, "time": 18 },
|
||||
{ "id": "74", "grp": "hb", "class": 5, "rating": "A", "cost": 777600, "power": 0.7, "range": 4.62, "maximum": 6, "time": 13 },
|
||||
|
||||
{ "id": "73", "grp": "hb", "class": 3, "rating": "E", "cost": 5400, "power": 0.18, "range": 1.62, "maximum": 4, "time": 36 },
|
||||
{ "id": "72", "grp": "hb", "class": 3, "rating": "D", "cost": 10800, "power": 0.24, "range": 2.16, "maximum": 3, "time": 31 },
|
||||
{ "id": "71", "grp": "hb", "class": 3, "rating": "C", "cost": 21600, "power": 0.3, "range": 2.7, "maximum": 3, "time": 26 },
|
||||
{ "id": "70", "grp": "hb", "class": 3, "rating": "B", "cost": 43200, "power": 0.36, "range": 3.24, "maximum": 4, "time": 21 },
|
||||
{ "id": "6v", "grp": "hb", "class": 3, "rating": "A", "cost": 86400, "power": 0.42, "range": 3.78, "maximum": 3, "time": 16 },
|
||||
|
||||
{ "id": "6u", "grp": "hb", "class": 1, "rating": "E", "cost": 600, "power": 0.12, "range": 1.5, "maximum": 2, "time": 42 },
|
||||
{ "id": "6t", "grp": "hb", "class": 1, "rating": "D", "cost": 1200, "power": 0.16, "range": 2, "maximum": 1, "time": 36 },
|
||||
{ "id": "6s", "grp": "hb", "class": 1, "rating": "C", "cost": 2400, "power": 0.2, "range": 2.5, "maximum": 1, "time": 30 },
|
||||
{ "id": "6r", "grp": "hb", "class": 1, "rating": "B", "cost": 4800, "power": 0.24, "range": 3, "maximum": 2, "time": 24 },
|
||||
{ "id": "6q", "grp": "hb", "class": 1, "rating": "A", "cost": 9600, "power": 0.28, "range": 3.5, "maximum": 1, "time": 18 }
|
||||
]
|
||||
}
|
||||
@@ -1,94 +1,18 @@
|
||||
{
|
||||
"hr": [
|
||||
{
|
||||
"id": "2e",
|
||||
"grp": "hr",
|
||||
"class": 5,
|
||||
"rating": "E",
|
||||
"cost": 150000,
|
||||
"mass": 64,
|
||||
"armouradd": 160
|
||||
},
|
||||
{
|
||||
"id": "2d",
|
||||
"grp": "hr",
|
||||
"class": 5,
|
||||
"rating": "D",
|
||||
"cost": 450000,
|
||||
"mass": 32,
|
||||
"armouradd": 240
|
||||
},
|
||||
{
|
||||
"id": "2c",
|
||||
"grp": "hr",
|
||||
"class": 4,
|
||||
"rating": "E",
|
||||
"cost": 65000,
|
||||
"mass": 32,
|
||||
"armouradd": 80
|
||||
},
|
||||
{
|
||||
"id": "2b",
|
||||
"grp": "hr",
|
||||
"class": 4,
|
||||
"rating": "D",
|
||||
"cost": 195000,
|
||||
"mass": 16,
|
||||
"armouradd": 120
|
||||
},
|
||||
{
|
||||
"id": "2a",
|
||||
"grp": "hr",
|
||||
"class": 3,
|
||||
"rating": "E",
|
||||
"cost": 28000,
|
||||
"mass": 16,
|
||||
"armouradd": 40
|
||||
},
|
||||
{
|
||||
"id": "29",
|
||||
"grp": "hr",
|
||||
"class": 3,
|
||||
"rating": "D",
|
||||
"cost": 84000,
|
||||
"mass": 8,
|
||||
"armouradd": 60
|
||||
},
|
||||
{
|
||||
"id": "28",
|
||||
"grp": "hr",
|
||||
"class": 2,
|
||||
"rating": "E",
|
||||
"cost": 12000,
|
||||
"mass": 8,
|
||||
"armouradd": 20
|
||||
},
|
||||
{
|
||||
"id": "27",
|
||||
"grp": "hr",
|
||||
"class": 2,
|
||||
"rating": "D",
|
||||
"cost": 36000,
|
||||
"mass": 4,
|
||||
"armouradd": 30
|
||||
},
|
||||
{
|
||||
"id": "26",
|
||||
"grp": "hr",
|
||||
"class": 1,
|
||||
"rating": "E",
|
||||
"cost": 5000,
|
||||
"mass": 4,
|
||||
"armouradd": 10
|
||||
},
|
||||
{
|
||||
"id": "25",
|
||||
"grp": "hr",
|
||||
"class": 1,
|
||||
"rating": "D",
|
||||
"cost": 15000,
|
||||
"mass": 2,
|
||||
"armouradd": 15
|
||||
}
|
||||
{ "id": "2e", "grp": "hr", "class": 5, "rating": "E", "cost": 150000, "mass": 64, "armouradd": 160 },
|
||||
{ "id": "2d", "grp": "hr", "class": 5, "rating": "D", "cost": 450000, "mass": 32, "armouradd": 240 },
|
||||
|
||||
{ "id": "2c", "grp": "hr", "class": 4, "rating": "E", "cost": 65000, "mass": 32, "armouradd": 80 },
|
||||
{ "id": "2b", "grp": "hr", "class": 4, "rating": "D", "cost": 195000, "mass": 16, "armouradd": 120 },
|
||||
|
||||
{ "id": "2a", "grp": "hr", "class": 3, "rating": "E", "cost": 28000, "mass": 16, "armouradd": 40 },
|
||||
{ "id": "29", "grp": "hr", "class": 3, "rating": "D", "cost": 84000, "mass": 8, "armouradd": 60 },
|
||||
|
||||
{ "id": "28", "grp": "hr", "class": 2, "rating": "E", "cost": 12000, "mass": 8, "armouradd": 20 },
|
||||
{ "id": "27", "grp": "hr", "class": 2, "rating": "D", "cost": 36000, "mass": 4, "armouradd": 30 },
|
||||
|
||||
{ "id": "26", "grp": "hr", "class": 1, "rating": "E", "cost": 5000, "mass": 4, "armouradd": 10 },
|
||||
{ "id": "25", "grp": "hr", "class": 1, "rating": "D", "cost": 15000, "mass": 2, "armouradd": 15 }
|
||||
]
|
||||
}
|
||||
@@ -2,11 +2,11 @@
|
||||
"ft": [
|
||||
{ "id": "f1", "grp": "ft", "class": 1, "rating": "C", "cost": 1000, "capacity": 2 },
|
||||
{ "id": "f2", "grp": "ft", "class": 2, "rating": "C", "cost": 3750, "capacity": 4 },
|
||||
{ "id": "f3", "grp": "ft", "class": 3, "rating": "C", "cost": 7063, "capacity": 8 },
|
||||
{ "id": "f4", "grp": "ft", "class": 4, "rating": "C", "cost": 24734, "capacity": 16 },
|
||||
{ "id": "f5", "grp": "ft", "class": 5, "rating": "C", "cost": 97754, "capacity": 32 },
|
||||
{ "id": "f6", "grp": "ft", "class": 6, "rating": "C", "cost": 341577, "capacity": 64 },
|
||||
{ "id": "f7", "grp": "ft", "class": 7, "rating": "C", "cost": 1780900, "capacity": 128 },
|
||||
{ "id": "f3", "grp": "ft", "class": 3, "rating": "C", "cost": 7060, "capacity": 8 },
|
||||
{ "id": "f4", "grp": "ft", "class": 4, "rating": "C", "cost": 24730, "capacity": 16 },
|
||||
{ "id": "f5", "grp": "ft", "class": 5, "rating": "C", "cost": 97750, "capacity": 32 },
|
||||
{ "id": "f6", "grp": "ft", "class": 6, "rating": "C", "cost": 341580, "capacity": 64 },
|
||||
{ "id": "f7", "grp": "ft", "class": 7, "rating": "C", "cost": 1780910, "capacity": 128 },
|
||||
{ "id": "f8", "grp": "ft", "class": 8, "rating": "C", "cost": 5428400, "capacity": 256 }
|
||||
]
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"psg": [
|
||||
{ "id": "p6", "grp": "psg", "class": 1, "rating": "A", "cost": 132195, "mass": 2.5, "power": 2.52, "minmass": 13, "optmass": 25, "maxmass": 63, "minmul": 2.04, "optmul": 1.44, "maxmul": 0.84 },
|
||||
{ "id": "p5", "grp": "psg", "class": 2, "rating": "A", "cost": 240336, "mass": 5, "power": 3.15, "minmass": 23, "optmass": 55, "maxmass": 138, "minmul": 2.04, "optmul": 1.44, "maxmul": 0.84 },
|
||||
{ "id": "p4", "grp": "psg", "class": 3, "rating": "A", "cost": 761868, "mass": 10, "power": 3.78, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 2.04, "optmul": 1.44, "maxmul": 0.84 },
|
||||
{ "id": "p3", "grp": "psg", "class": 4, "rating": "A", "cost": 2415120, "mass": 20, "power": 4.62, "minmass": 143, "optmass": 285, "maxmass": 713, "minmul": 2.04, "optmul": 1.44, "maxmul": 0.84 },
|
||||
{ "id": "p2", "grp": "psg", "class": 5, "rating": "A", "cost": 7655930, "mass": 40, "power": 5.46, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 2.04, "optmul": 1.44, "maxmul": 0.84 },
|
||||
{ "id": "p1", "grp": "psg", "class": 6, "rating": "A", "cost": 24269297, "mass": 80, "power": 6.51, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 2.04, "optmul": 1.44, "maxmul": 0.84 },
|
||||
{ "id": "p0", "grp": "psg", "class": 7, "rating": "A", "cost": 76933668, "mass": 160, "power": 7.35, "minmass": 530, "optmass": 1060, "maxmass": 2650, "minmul": 2.04, "optmul": 1.44, "maxmul": 0.84 },
|
||||
{ "id": "p7", "grp": "psg", "class": 8, "rating": "A", "cost": 243879729, "mass": 320, "power": 8.4, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 2.04, "optmul": 1.44, "maxmul": 0.84 }
|
||||
{ "id": "p6", "grp": "psg", "class": 1, "rating": "A", "cost": 132200, "mass": 2.5, "power": 2.52, "minmass": 13, "optmass": 25, "maxmass": 63, "minmul": 2, "optmul": 1.5, "maxmul": 1 },
|
||||
{ "id": "p5", "grp": "psg", "class": 2, "rating": "A", "cost": 240340, "mass": 5, "power": 3.15, "minmass": 23, "optmass": 55, "maxmass": 138, "minmul": 2, "optmul": 1.5, "maxmul": 1 },
|
||||
{ "id": "p4", "grp": "psg", "class": 3, "rating": "A", "cost": 761870, "mass": 10, "power": 3.78, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 2, "optmul": 1.5, "maxmul": 1 },
|
||||
{ "id": "p3", "grp": "psg", "class": 4, "rating": "A", "cost": 2415120, "mass": 20, "power": 4.62, "minmass": 143, "optmass": 285, "maxmass": 713, "minmul": 2, "optmul": 1.5, "maxmul": 1 },
|
||||
{ "id": "p2", "grp": "psg", "class": 5, "rating": "A", "cost": 7655930, "mass": 40, "power": 5.46, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 2, "optmul": 1.5, "maxmul": 1 },
|
||||
{ "id": "p1", "grp": "psg", "class": 6, "rating": "A", "cost": 24269300, "mass": 80, "power": 6.51, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 2, "optmul": 1.5, "maxmul": 1 },
|
||||
{ "id": "p0", "grp": "psg", "class": 7, "rating": "A", "cost": 76933670, "mass": 160, "power": 7.35, "minmass": 530, "optmass": 1060, "maxmass": 2650, "minmul": 2, "optmul": 1.5, "maxmul": 1 },
|
||||
{ "id": "p7", "grp": "psg", "class": 8, "rating": "A", "cost": 243879730, "mass": 320, "power": 8.4, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 2, "optmul": 1.5, "maxmul": 1 }
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,184 +1,27 @@
|
||||
{
|
||||
"rf": [
|
||||
{
|
||||
"id": "23",
|
||||
"grp": "rf",
|
||||
"class": 4,
|
||||
"rating": "E",
|
||||
"cost": 55566,
|
||||
"power": 0.25,
|
||||
"bins": 4
|
||||
},
|
||||
{
|
||||
"id": "22",
|
||||
"grp": "rf",
|
||||
"class": 4,
|
||||
"rating": "D",
|
||||
"cost": 166698,
|
||||
"power": 0.33,
|
||||
"bins": 5
|
||||
},
|
||||
{
|
||||
"id": "21",
|
||||
"grp": "rf",
|
||||
"class": 4,
|
||||
"rating": "C",
|
||||
"cost": 500094,
|
||||
"power": 0.41,
|
||||
"bins": 7
|
||||
},
|
||||
{
|
||||
"id": "20",
|
||||
"grp": "rf",
|
||||
"class": 4,
|
||||
"rating": "B",
|
||||
"cost": 1500282,
|
||||
"power": 0.49,
|
||||
"bins": 9
|
||||
},
|
||||
{
|
||||
"id": "1v",
|
||||
"grp": "rf",
|
||||
"class": 4,
|
||||
"rating": "A",
|
||||
"cost": 4500846,
|
||||
"power": 0.57,
|
||||
"bins": 10
|
||||
},
|
||||
{
|
||||
"id": "1u",
|
||||
"grp": "rf",
|
||||
"class": 3,
|
||||
"rating": "E",
|
||||
"cost": 26460,
|
||||
"power": 0.2,
|
||||
"bins": 3
|
||||
},
|
||||
{
|
||||
"id": "1t",
|
||||
"grp": "rf",
|
||||
"class": 3,
|
||||
"rating": "D",
|
||||
"cost": 79380,
|
||||
"power": 0.27,
|
||||
"bins": 4
|
||||
},
|
||||
{
|
||||
"id": "1s",
|
||||
"grp": "rf",
|
||||
"class": 3,
|
||||
"rating": "C",
|
||||
"cost": 238140,
|
||||
"power": 0.34,
|
||||
"bins": 6
|
||||
},
|
||||
{
|
||||
"id": "1r",
|
||||
"grp": "rf",
|
||||
"class": 3,
|
||||
"rating": "B",
|
||||
"cost": 714420,
|
||||
"power": 0.41,
|
||||
"bins": 7
|
||||
},
|
||||
{
|
||||
"id": "1q",
|
||||
"grp": "rf",
|
||||
"class": 3,
|
||||
"rating": "A",
|
||||
"cost": 2143260,
|
||||
"power": 0.48,
|
||||
"bins": 8
|
||||
},
|
||||
{
|
||||
"id": "1p",
|
||||
"grp": "rf",
|
||||
"class": 2,
|
||||
"rating": "E",
|
||||
"cost": 12600,
|
||||
"power": 0.17,
|
||||
"bins": 2
|
||||
},
|
||||
{
|
||||
"id": "1o",
|
||||
"grp": "rf",
|
||||
"class": 2,
|
||||
"rating": "D",
|
||||
"cost": 37800,
|
||||
"power": 0.22,
|
||||
"bins": 3
|
||||
},
|
||||
{
|
||||
"id": "1n",
|
||||
"grp": "rf",
|
||||
"class": 2,
|
||||
"rating": "C",
|
||||
"cost": 113400,
|
||||
"power": 0.28,
|
||||
"bins": 4
|
||||
},
|
||||
{
|
||||
"id": "1m",
|
||||
"grp": "rf",
|
||||
"class": 2,
|
||||
"rating": "B",
|
||||
"cost": 340200,
|
||||
"power": 0.34,
|
||||
"bins": 5
|
||||
},
|
||||
{
|
||||
"id": "1l",
|
||||
"grp": "rf",
|
||||
"class": 2,
|
||||
"rating": "A",
|
||||
"cost": 1020600,
|
||||
"power": 0.39,
|
||||
"bins": 6
|
||||
},
|
||||
{
|
||||
"id": "1k",
|
||||
"grp": "rf",
|
||||
"class": 1,
|
||||
"rating": "E",
|
||||
"cost": 6000,
|
||||
"power": 0.14,
|
||||
"bins": 1
|
||||
},
|
||||
{
|
||||
"id": "1j",
|
||||
"grp": "rf",
|
||||
"class": 1,
|
||||
"rating": "D",
|
||||
"cost": 18000,
|
||||
"power": 0.18,
|
||||
"bins": 1
|
||||
},
|
||||
{
|
||||
"id": "1i",
|
||||
"grp": "rf",
|
||||
"class": 1,
|
||||
"rating": "C",
|
||||
"cost": 54000,
|
||||
"power": 0.23,
|
||||
"bins": 2
|
||||
},
|
||||
{
|
||||
"id": "1h",
|
||||
"grp": "rf",
|
||||
"class": 1,
|
||||
"rating": "B",
|
||||
"cost": 162000,
|
||||
"power": 0.28,
|
||||
"bins": 3
|
||||
},
|
||||
{
|
||||
"id": "1g",
|
||||
"grp": "rf",
|
||||
"class": 1,
|
||||
"rating": "A",
|
||||
"cost": 486000,
|
||||
"power": 0.32,
|
||||
"bins": 4
|
||||
}
|
||||
{ "id": "23", "grp": "rf", "class": 4, "rating": "E", "cost": 55570, "power": 0.25, "bins": 4 },
|
||||
{ "id": "22", "grp": "rf", "class": 4, "rating": "D", "cost": 166700, "power": 0.33, "bins": 5 },
|
||||
{ "id": "21", "grp": "rf", "class": 4, "rating": "C", "cost": 500090, "power": 0.41, "bins": 7 },
|
||||
{ "id": "20", "grp": "rf", "class": 4, "rating": "B", "cost": 1500280, "power": 0.49, "bins": 9 },
|
||||
{ "id": "1v", "grp": "rf", "class": 4, "rating": "A", "cost": 4500850, "power": 0.57, "bins": 10 },
|
||||
|
||||
{ "id": "1u", "grp": "rf", "class": 3, "rating": "E", "cost": 26460, "power": 0.2, "bins": 3 },
|
||||
{ "id": "1t", "grp": "rf", "class": 3, "rating": "D", "cost": 79380, "power": 0.27, "bins": 4 },
|
||||
{ "id": "1s", "grp": "rf", "class": 3, "rating": "C", "cost": 238140, "power": 0.34, "bins": 6 },
|
||||
{ "id": "1r", "grp": "rf", "class": 3, "rating": "B", "cost": 714420, "power": 0.41, "bins": 7 },
|
||||
{ "id": "1q", "grp": "rf", "class": 3, "rating": "A", "cost": 2143260, "power": 0.48, "bins": 8 },
|
||||
|
||||
{ "id": "1p", "grp": "rf", "class": 2, "rating": "E", "cost": 12600, "power": 0.17, "bins": 2 },
|
||||
{ "id": "1o", "grp": "rf", "class": 2, "rating": "D", "cost": 37800, "power": 0.22, "bins": 3 },
|
||||
{ "id": "1n", "grp": "rf", "class": 2, "rating": "C", "cost": 113400, "power": 0.28, "bins": 4 },
|
||||
{ "id": "1m", "grp": "rf", "class": 2, "rating": "B", "cost": 340200, "power": 0.34, "bins": 5 },
|
||||
{ "id": "1l", "grp": "rf", "class": 2, "rating": "A", "cost": 1020600, "power": 0.39, "bins": 6 },
|
||||
|
||||
{ "id": "1k", "grp": "rf", "class": 1, "rating": "E", "cost": 6000, "power": 0.14, "bins": 1 },
|
||||
{ "id": "1j", "grp": "rf", "class": 1, "rating": "D", "cost": 18000, "power": 0.18, "bins": 1 },
|
||||
{ "id": "1i", "grp": "rf", "class": 1, "rating": "C", "cost": 54000, "power": 0.23, "bins": 2 },
|
||||
{ "id": "1h", "grp": "rf", "class": 1, "rating": "B", "cost": 162000, "power": 0.28, "bins": 3 },
|
||||
{ "id": "1g", "grp": "rf", "class": 1, "rating": "A", "cost": 486000, "power": 0.32, "bins": 4 }
|
||||
]
|
||||
}
|
||||
@@ -38,11 +38,10 @@
|
||||
"grp": "sc",
|
||||
"name": "Detailed Surface Scanner",
|
||||
"class": 1,
|
||||
"retractedOnly": 1,
|
||||
"rating": "C",
|
||||
"cost": 250000,
|
||||
"mass": 1.3,
|
||||
"power": 0.6,
|
||||
"power": 0,
|
||||
"rangeLS": 0.33
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,44 +1,51 @@
|
||||
{
|
||||
"scb": [
|
||||
{ "id": "65", "grp": "scb", "class": 8, "rating": "E", "cost": 697584, "mass": 160, "power": 1.44, "cells": 6, "rechargeRating": "C", "recharge": 0 },
|
||||
{ "id": "64", "grp": "scb", "class": 8, "rating": "D", "cost": 1743961, "mass": 64, "power": 1.92, "cells": 4, "rechargeRating": "C", "recharge": 0 },
|
||||
{ "id": "63", "grp": "scb", "class": 8, "rating": "C", "cost": 4359903, "mass": 160, "power": 2.4, "cells": 5, "rechargeRating": "B", "recharge": 0 },
|
||||
{ "id": "62", "grp": "scb", "class": 8, "rating": "B", "cost": 10899756, "mass": 256, "power": 2.88, "cells": 6, "rechargeRating": "A", "recharge": 0 },
|
||||
{ "id": "61", "grp": "scb", "class": 8, "rating": "A", "cost": 27249391, "mass": 160, "power": 3.36, "cells": 5, "rechargeRating": "A", "recharge": 0 },
|
||||
{ "id": "60", "grp": "scb", "class": 7, "rating": "E", "cost": 249137, "mass": 80, "power": 1.24, "cells": 6, "rechargeRating": "D", "recharge": 97 },
|
||||
{ "id": "5v", "grp": "scb", "class": 7, "rating": "D", "cost": 622843, "mass": 32, "power": 1.66, "cells": 4, "rechargeRating": "C", "recharge": 130 },
|
||||
{ "id": "5u", "grp": "scb", "class": 7, "rating": "C", "cost": 1557108, "mass": 80, "power": 2.07, "cells": 5, "rechargeRating": "B", "recharge": 163 },
|
||||
{ "id": "5t", "grp": "scb", "class": 7, "rating": "B", "cost": 3892770, "mass": 128, "power": 2.48, "cells": 6, "rechargeRating": "B", "recharge": 197 },
|
||||
{ "id": "5s", "grp": "scb", "class": 7, "rating": "A", "cost": 9731925, "mass": 80, "power": 2.9, "cells": 5, "rechargeRating": "A", "recharge": 230 },
|
||||
{ "id": "5r", "grp": "scb", "class": 6, "rating": "E", "cost": 88978, "mass": 40, "power": 1.06, "cells": 6, "rechargeRating": "D", "recharge": 92 },
|
||||
{ "id": "5q", "grp": "scb", "class": 6, "rating": "D", "cost": 222444, "mass": 16, "power": 1.42, "cells": 4, "rechargeRating": "C", "recharge": 120 },
|
||||
{ "id": "5p", "grp": "scb", "class": 6, "rating": "C", "cost": 556110, "mass": 40, "power": 1.77, "cells": 5, "rechargeRating": "C", "recharge": 148 },
|
||||
{ "id": "5o", "grp": "scb", "class": 6, "rating": "B", "cost": 1390275, "mass": 64, "power": 2.12, "cells": 6, "rechargeRating": "B", "recharge": 176 },
|
||||
{ "id": "5n", "grp": "scb", "class": 6, "rating": "A", "cost": 3475688, "mass": 40, "power": 2.48, "cells": 5, "rechargeRating": "A", "recharge": 204 },
|
||||
{ "id": "5m", "grp": "scb", "class": 5, "rating": "E", "cost": 31778, "mass": 20, "power": 0.9, "cells": 5, "rechargeRating": "D", "recharge": 82 },
|
||||
{ "id": "5l", "grp": "scb", "class": 5, "rating": "D", "cost": 79444, "mass": 8, "power": 1.2, "cells": 3, "rechargeRating": "C", "recharge": 109 },
|
||||
{ "id": "5k", "grp": "scb", "class": 5, "rating": "C", "cost": 198611, "mass": 20, "power": 1.5, "cells": 4, "rechargeRating": "C", "recharge": 135 },
|
||||
{ "id": "5j", "grp": "scb", "class": 5, "rating": "B", "cost": 496527, "mass": 32, "power": 1.8, "cells": 5, "rechargeRating": "B", "recharge": 162 },
|
||||
{ "id": "5i", "grp": "scb", "class": 5, "rating": "A", "cost": 1241317, "mass": 20, "power": 2.1, "cells": 4, "rechargeRating": "B", "recharge": 189 },
|
||||
{ "id": "5h", "grp": "scb", "class": 4, "rating": "E", "cost": 11349, "mass": 10, "power": 0.74, "cells": 5, "rechargeRating": "D", "recharge": 72 },
|
||||
{ "id": "5g", "grp": "scb", "class": 4, "rating": "D", "cost": 28373, "mass": 4, "power": 0.98, "cells": 3, "rechargeRating": "D", "recharge": 94 },
|
||||
{ "id": "5f", "grp": "scb", "class": 4, "rating": "C", "cost": 70932, "mass": 10, "power": 1.23, "cells": 4, "rechargeRating": "C", "recharge": 117 },
|
||||
{ "id": "5e", "grp": "scb", "class": 4, "rating": "B", "cost": 177331, "mass": 16, "power": 1.48, "cells": 5, "rechargeRating": "C", "recharge": 140 },
|
||||
{ "id": "5d", "grp": "scb", "class": 4, "rating": "A", "cost": 443328, "mass": 10, "power": 1.72, "cells": 4, "rechargeRating": "B", "recharge": 163 },
|
||||
{ "id": "5c", "grp": "scb", "class": 3, "rating": "E", "cost": 4053, "mass": 5, "power": 0.61, "cells": 5, "rechargeRating": "D", "recharge": 61 },
|
||||
{ "id": "5b", "grp": "scb", "class": 3, "rating": "D", "cost": 10133, "mass": 2, "power": 0.82, "cells": 3, "rechargeRating": "D", "recharge": 80 },
|
||||
{ "id": "5a", "grp": "scb", "class": 3, "rating": "C", "cost": 25333, "mass": 5, "power": 1.02, "cells": 4, "rechargeRating": "D", "recharge": 100 },
|
||||
{ "id": "59", "grp": "scb", "class": 3, "rating": "B", "cost": 63333, "mass": 8, "power": 1.22, "cells": 5, "rechargeRating": "C", "recharge": 119 },
|
||||
{ "id": "58", "grp": "scb", "class": 3, "rating": "A", "cost": 158331, "mass": 5, "power": 1.43, "cells": 4, "rechargeRating": "C", "recharge": 138 },
|
||||
{ "id": "57", "grp": "scb", "class": 2, "rating": "E", "cost": 1448, "mass": 2.5, "power": 0.5, "cells": 5, "rechargeRating": "E", "recharge": 46 },
|
||||
{ "id": "56", "grp": "scb", "class": 2, "rating": "D", "cost": 3619, "mass": 1, "power": 0.67, "cells": 3, "rechargeRating": "D", "recharge": 61 },
|
||||
{ "id": "55", "grp": "scb", "class": 2, "rating": "C", "cost": 9048, "mass": 2.5, "power": 0.84, "cells": 4, "rechargeRating": "D", "recharge": 77 },
|
||||
{ "id": "54", "grp": "scb", "class": 2, "rating": "B", "cost": 22619, "mass": 4, "power": 1.01, "cells": 5, "rechargeRating": "D", "recharge": 92 },
|
||||
{ "id": "53", "grp": "scb", "class": 2, "rating": "A", "cost": 56547, "mass": 2.5, "power": 1.18, "cells": 4, "rechargeRating": "C", "recharge": 107 },
|
||||
{ "id": "52", "grp": "scb", "class": 1, "rating": "E", "cost": 517, "mass": 1.3, "power": 0.41, "cells": 4, "rechargeRating": "E", "recharge": 31 },
|
||||
{ "id": "51", "grp": "scb", "class": 1, "rating": "D", "cost": 1293, "mass": 0.5, "power": 0.55, "cells": 2, "rechargeRating": "E", "recharge": 41 },
|
||||
{ "id": "50", "grp": "scb", "class": 1, "rating": "C", "cost": 3231, "mass": 1.3, "power": 0.69, "cells": 3, "rechargeRating": "D", "recharge": 51 },
|
||||
{ "id": "4v", "grp": "scb", "class": 1, "rating": "B", "cost": 8078, "mass": 2, "power": 0.83, "cells": 4, "rechargeRating": "D", "recharge": 61 },
|
||||
{ "id": "4u", "grp": "scb", "class": 1, "rating": "A", "cost": 20195, "mass": 1.3, "power": 0.97, "cells": 3, "rechargeRating": "D", "recharge": 72 }
|
||||
{ "id": "65", "grp": "scb", "class": 8, "rating": "E", "cost": 697580, "mass": 160, "power": 1.44, "cells": 6, "rechargeRating": "C", "recharge": 105, "ammocost": 300 },
|
||||
{ "id": "64", "grp": "scb", "class": 8, "rating": "D", "cost": 1743960, "mass": 64, "power": 1.92, "cells": 4, "rechargeRating": "C", "recharge": 140, "ammocost": 300 },
|
||||
{ "id": "63", "grp": "scb", "class": 8, "rating": "C", "cost": 4359900, "mass": 160, "power": 2.4, "cells": 5, "rechargeRating": "B", "recharge": 175, "ammocost": 300 },
|
||||
{ "id": "62", "grp": "scb", "class": 8, "rating": "B", "cost": 10899760, "mass": 256, "power": 2.88, "cells": 6, "rechargeRating": "A", "recharge": 210, "ammocost": 300 },
|
||||
{ "id": "61", "grp": "scb", "class": 8, "rating": "A", "cost": 27249390, "mass": 160, "power": 3.36, "cells": 5, "rechargeRating": "A", "recharge": 245, "ammocost": 300 },
|
||||
|
||||
{ "id": "60", "grp": "scb", "class": 7, "rating": "E", "cost": 249140, "mass": 80, "power": 1.24, "cells": 6, "rechargeRating": "D", "recharge": 95, "ammocost": 300 },
|
||||
{ "id": "5v", "grp": "scb", "class": 7, "rating": "D", "cost": 622840, "mass": 32, "power": 1.66, "cells": 4, "rechargeRating": "C", "recharge": 130, "ammocost": 300 },
|
||||
{ "id": "5u", "grp": "scb", "class": 7, "rating": "C", "cost": 1557110, "mass": 80, "power": 2.07, "cells": 5, "rechargeRating": "B", "recharge": 160, "ammocost": 300 },
|
||||
{ "id": "5t", "grp": "scb", "class": 7, "rating": "B", "cost": 3892770, "mass": 128, "power": 2.48, "cells": 6, "rechargeRating": "B", "recharge": 195, "ammocost": 300 },
|
||||
{ "id": "5s", "grp": "scb", "class": 7, "rating": "A", "cost": 9731930, "mass": 80, "power": 2.9, "cells": 5, "rechargeRating": "A", "recharge": 225, "ammocost": 300 },
|
||||
|
||||
{ "id": "5r", "grp": "scb", "class": 6, "rating": "E", "cost": 88980, "mass": 40, "power": 1.06, "cells": 6, "rechargeRating": "D", "recharge": 90, "ammocost": 300 },
|
||||
{ "id": "5q", "grp": "scb", "class": 6, "rating": "D", "cost": 222440, "mass": 16, "power": 1.42, "cells": 4, "rechargeRating": "C", "recharge": 115, "ammocost": 300 },
|
||||
{ "id": "5p", "grp": "scb", "class": 6, "rating": "C", "cost": 556110, "mass": 40, "power": 1.77, "cells": 5, "rechargeRating": "C", "recharge": 145, "ammocost": 300 },
|
||||
{ "id": "5o", "grp": "scb", "class": 6, "rating": "B", "cost": 1390280, "mass": 64, "power": 2.12, "cells": 6, "rechargeRating": "B", "recharge": 175, "ammocost": 300 },
|
||||
{ "id": "5n", "grp": "scb", "class": 6, "rating": "A", "cost": 3475690, "mass": 40, "power": 2.48, "cells": 5, "rechargeRating": "A", "recharge": 205, "ammocost": 300 },
|
||||
|
||||
{ "id": "5m", "grp": "scb", "class": 5, "rating": "E", "cost": 31780, "mass": 20, "power": 0.9, "cells": 5, "rechargeRating": "D", "recharge": 80, "ammocost": 300 },
|
||||
{ "id": "5l", "grp": "scb", "class": 5, "rating": "D", "cost": 79440, "mass": 8, "power": 1.2, "cells": 3, "rechargeRating": "C", "recharge": 105, "ammocost": 300 },
|
||||
{ "id": "5k", "grp": "scb", "class": 5, "rating": "C", "cost": 198610, "mass": 20, "power": 1.5, "cells": 4, "rechargeRating": "C", "recharge": 130, "ammocost": 300 },
|
||||
{ "id": "5j", "grp": "scb", "class": 5, "rating": "B", "cost": 496530, "mass": 32, "power": 1.8, "cells": 5, "rechargeRating": "B", "recharge": 160, "ammocost": 300 },
|
||||
{ "id": "5i", "grp": "scb", "class": 5, "rating": "A", "cost": 1241320, "mass": 20, "power": 2.1, "cells": 4, "rechargeRating": "B", "recharge": 185, "ammocost": 300 },
|
||||
|
||||
{ "id": "5h", "grp": "scb", "class": 4, "rating": "E", "cost": 11350, "mass": 10, "power": 0.74, "cells": 5, "rechargeRating": "D", "recharge": 70, "ammocost": 300 },
|
||||
{ "id": "5g", "grp": "scb", "class": 4, "rating": "D", "cost": 28370, "mass": 4, "power": 0.98, "cells": 3, "rechargeRating": "D", "recharge": 90, "ammocost": 300 },
|
||||
{ "id": "5f", "grp": "scb", "class": 4, "rating": "C", "cost": 70930, "mass": 10, "power": 1.23, "cells": 4, "rechargeRating": "C", "recharge": 115, "ammocost": 300 },
|
||||
{ "id": "5e", "grp": "scb", "class": 4, "rating": "B", "cost": 177330, "mass": 16, "power": 1.48, "cells": 5, "rechargeRating": "C", "recharge": 140, "ammocost": 300 },
|
||||
{ "id": "5d", "grp": "scb", "class": 4, "rating": "A", "cost": 443330, "mass": 10, "power": 1.72, "cells": 4, "rechargeRating": "B", "recharge": 160, "ammocost": 300 },
|
||||
|
||||
{ "id": "5c", "grp": "scb", "class": 3, "rating": "E", "cost": 4050, "mass": 5, "power": 0.61, "cells": 5, "rechargeRating": "D", "recharge": 60, "ammocost": 300 },
|
||||
{ "id": "5b", "grp": "scb", "class": 3, "rating": "D", "cost": 10130, "mass": 2, "power": 0.82, "cells": 3, "rechargeRating": "D", "recharge": 75, "ammocost": 300 },
|
||||
{ "id": "5a", "grp": "scb", "class": 3, "rating": "C", "cost": 25330, "mass": 5, "power": 1.02, "cells": 4, "rechargeRating": "D", "recharge": 95, "ammocost": 300 },
|
||||
{ "id": "59", "grp": "scb", "class": 3, "rating": "B", "cost": 63330, "mass": 8, "power": 1.22, "cells": 5, "rechargeRating": "C", "recharge": 115, "ammocost": 300 },
|
||||
{ "id": "58", "grp": "scb", "class": 3, "rating": "A", "cost": 158330, "mass": 5, "power": 1.43, "cells": 4, "rechargeRating": "C", "recharge": 135, "ammocost": 300 },
|
||||
|
||||
{ "id": "57", "grp": "scb", "class": 2, "rating": "E", "cost": 1450, "mass": 2.5, "power": 0.5, "cells": 5, "rechargeRating": "E", "recharge": 45, "ammocost": 300 },
|
||||
{ "id": "56", "grp": "scb", "class": 2, "rating": "D", "cost": 3620, "mass": 1, "power": 0.67, "cells": 3, "rechargeRating": "D", "recharge": 60, "ammocost": 300 },
|
||||
{ "id": "55", "grp": "scb", "class": 2, "rating": "C", "cost": 9050, "mass": 2.5, "power": 0.84, "cells": 4, "rechargeRating": "D", "recharge": 75, "ammocost": 300 },
|
||||
{ "id": "54", "grp": "scb", "class": 2, "rating": "B", "cost": 22620, "mass": 4, "power": 1.01, "cells": 5, "rechargeRating": "D", "recharge": 90, "ammocost": 300 },
|
||||
{ "id": "53", "grp": "scb", "class": 2, "rating": "A", "cost": 56550, "mass": 2.5, "power": 1.18, "cells": 4, "rechargeRating": "C", "recharge": 105, "ammocost": 300 },
|
||||
|
||||
{ "id": "52", "grp": "scb", "class": 1, "rating": "E", "cost": 520, "mass": 1.3, "power": 0.41, "cells": 4, "rechargeRating": "E", "recharge": 30, "ammocost": 300 },
|
||||
{ "id": "51", "grp": "scb", "class": 1, "rating": "D", "cost": 1290, "mass": 0.5, "power": 0.55, "cells": 2, "rechargeRating": "E", "recharge": 40, "ammocost": 300 },
|
||||
{ "id": "50", "grp": "scb", "class": 1, "rating": "C", "cost": 3230, "mass": 1.3, "power": 0.69, "cells": 3, "rechargeRating": "D", "recharge": 50, "ammocost": 300 },
|
||||
{ "id": "4v", "grp": "scb", "class": 1, "rating": "B", "cost": 8080, "mass": 2, "power": 0.83, "cells": 4, "rechargeRating": "D", "recharge": 60, "ammocost": 300 },
|
||||
{ "id": "4u", "grp": "scb", "class": 1, "rating": "A", "cost": 20200, "mass": 1.3, "power": 0.97, "cells": 3, "rechargeRating": "D", "recharge": 70, "ammocost": 300 }
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,39 +1,45 @@
|
||||
{
|
||||
"sg": [
|
||||
{ "id": "4t", "grp": "sg", "class": 8, "rating": "E", "cost": 2007241, "mass": 160, "power": 2.4, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "4s", "grp": "sg", "class": 8, "rating": "D", "cost": 6021722, "mass": 64, "power": 3.2, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "4r", "grp": "sg", "class": 8, "rating": "C", "cost": 18065165, "mass": 160, "power": 4, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "4q", "grp": "sg", "class": 8, "rating": "B", "cost": 54195495, "mass": 256, "power": 4.8, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "4p", "grp": "sg", "class": 8, "rating": "A", "cost": 162586486, "mass": 160, "power": 5.6, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 },
|
||||
{ "id": "4o", "grp": "sg", "class": 7, "rating": "E", "cost": 633199, "mass": 80, "power": 2.1, "minmass": 530, "optmass": 1060, "maxmass": 2650, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "4n", "grp": "sg", "class": 7, "rating": "D", "cost": 1899597, "mass": 32, "power": 2.8, "minmass": 530, "optmass": 1060, "maxmass": 2650, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "4t", "grp": "sg", "class": 8, "rating": "E", "cost": 2007240, "mass": 160, "power": 2.4, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "4s", "grp": "sg", "class": 8, "rating": "D", "cost": 6021720, "mass": 64, "power": 3.2, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "4r", "grp": "sg", "class": 8, "rating": "C", "cost": 18065170, "mass": 160, "power": 4, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "4q", "grp": "sg", "class": 8, "rating": "B", "cost": 54195500, "mass": 256, "power": 4.8, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "4p", "grp": "sg", "class": 8, "rating": "A", "cost": 162586490, "mass": 160, "power": 5.6, "minmass": 900, "optmass": 1800, "maxmass": 4500, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 },
|
||||
|
||||
{ "id": "4o", "grp": "sg", "class": 7, "rating": "E", "cost": 633200, "mass": 80, "power": 2.1, "minmass": 530, "optmass": 1060, "maxmass": 2650, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "4n", "grp": "sg", "class": 7, "rating": "D", "cost": 1899600, "mass": 32, "power": 2.8, "minmass": 530, "optmass": 1060, "maxmass": 2650, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "4m", "grp": "sg", "class": 7, "rating": "C", "cost": 5698790, "mass": 80, "power": 3.5, "minmass": 530, "optmass": 1060, "maxmass": 2650, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "4l", "grp": "sg", "class": 7, "rating": "B", "cost": 17096371, "mass": 128, "power": 4.2, "minmass": 530, "optmass": 1060, "maxmass": 2650, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "4k", "grp": "sg", "class": 7, "rating": "A", "cost": 51289112, "mass": 80, "power": 4.9, "minmass": 530, "optmass": 1060, "maxmass": 2650, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 },
|
||||
{ "id": "4j", "grp": "sg", "class": 6, "rating": "E", "cost": 199747, "mass": 40, "power": 1.86, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "4i", "grp": "sg", "class": 6, "rating": "D", "cost": 599242, "mass": 16, "power": 2.48, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "4h", "grp": "sg", "class": 6, "rating": "C", "cost": 1797726, "mass": 40, "power": 3.1, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "4g", "grp": "sg", "class": 6, "rating": "B", "cost": 5393177, "mass": 64, "power": 3.72, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "4f", "grp": "sg", "class": 6, "rating": "A", "cost": 16179531, "mass": 40, "power": 4.34, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 },
|
||||
{ "id": "4e", "grp": "sg", "class": 5, "rating": "E", "cost": 63012, "mass": 20, "power": 1.56, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "4d", "grp": "sg", "class": 5, "rating": "D", "cost": 189035, "mass": 8, "power": 2.08, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "4c", "grp": "sg", "class": 5, "rating": "C", "cost": 567106, "mass": 20, "power": 2.6, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "4b", "grp": "sg", "class": 5, "rating": "B", "cost": 1701318, "mass": 32, "power": 3.12, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "4a", "grp": "sg", "class": 5, "rating": "A", "cost": 5103953, "mass": 20, "power": 3.64, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 },
|
||||
{ "id": "49", "grp": "sg", "class": 4, "rating": "E", "cost": 19878, "mass": 10, "power": 1.32, "minmass": 143, "optmass": 285, "maxmass": 713, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "48", "grp": "sg", "class": 4, "rating": "D", "cost": 59633, "mass": 4, "power": 1.76, "minmass": 143, "optmass": 285, "maxmass": 713, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "47", "grp": "sg", "class": 4, "rating": "C", "cost": 178898, "mass": 10, "power": 2.2, "minmass": 143, "optmass": 285, "maxmass": 713, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "46", "grp": "sg", "class": 4, "rating": "B", "cost": 536693, "mass": 16, "power": 2.64, "minmass": 143, "optmass": 285, "maxmass": 713, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "4l", "grp": "sg", "class": 7, "rating": "B", "cost": 17096370, "mass": 128, "power": 4.2, "minmass": 530, "optmass": 1060, "maxmass": 2650, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "4k", "grp": "sg", "class": 7, "rating": "A", "cost": 51289110, "mass": 80, "power": 4.9, "minmass": 530, "optmass": 1060, "maxmass": 2650, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 },
|
||||
|
||||
{ "id": "4j", "grp": "sg", "class": 6, "rating": "E", "cost": 199750, "mass": 40, "power": 1.86, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "4i", "grp": "sg", "class": 6, "rating": "D", "cost": 599240, "mass": 16, "power": 2.48, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "4h", "grp": "sg", "class": 6, "rating": "C", "cost": 1797730, "mass": 40, "power": 3.1, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "4g", "grp": "sg", "class": 6, "rating": "B", "cost": 5393180, "mass": 64, "power": 3.72, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "4f", "grp": "sg", "class": 6, "rating": "A", "cost": 16179530, "mass": 40, "power": 4.34, "minmass": 270, "optmass": 540, "maxmass": 1350, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 },
|
||||
|
||||
{ "id": "4e", "grp": "sg", "class": 5, "rating": "E", "cost": 63010, "mass": 20, "power": 1.56, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "4d", "grp": "sg", "class": 5, "rating": "D", "cost": 189040, "mass": 8, "power": 2.08, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "4c", "grp": "sg", "class": 5, "rating": "C", "cost": 567110, "mass": 20, "power": 2.6, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "4b", "grp": "sg", "class": 5, "rating": "B", "cost": 1701320, "mass": 32, "power": 3.12, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "4a", "grp": "sg", "class": 5, "rating": "A", "cost": 5103950, "mass": 20, "power": 3.64, "minmass": 203, "optmass": 405, "maxmass": 1013, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 },
|
||||
|
||||
{ "id": "49", "grp": "sg", "class": 4, "rating": "E", "cost": 19880, "mass": 10, "power": 1.32, "minmass": 143, "optmass": 285, "maxmass": 713, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "48", "grp": "sg", "class": 4, "rating": "D", "cost": 59630, "mass": 4, "power": 1.76, "minmass": 143, "optmass": 285, "maxmass": 713, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "47", "grp": "sg", "class": 4, "rating": "C", "cost": 178900, "mass": 10, "power": 2.2, "minmass": 143, "optmass": 285, "maxmass": 713, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "46", "grp": "sg", "class": 4, "rating": "B", "cost": 536690, "mass": 16, "power": 2.64, "minmass": 143, "optmass": 285, "maxmass": 713, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "45", "grp": "sg", "class": 4, "rating": "A", "cost": 1610080, "mass": 10, "power": 3.08, "minmass": 143, "optmass": 285, "maxmass": 713, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 },
|
||||
{ "id": "44", "grp": "sg", "class": 3, "rating": "E", "cost": 6271, "mass": 5, "power": 1.08, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "43", "grp": "sg", "class": 3, "rating": "D", "cost": 18812, "mass": 2, "power": 1.44, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "42", "grp": "sg", "class": 3, "rating": "C", "cost": 56435, "mass": 5, "power": 1.8, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "41", "grp": "sg", "class": 3, "rating": "B", "cost": 169304, "mass": 8, "power": 2.16, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "40", "grp": "sg", "class": 3, "rating": "A", "cost": 507912, "mass": 5, "power": 2.52, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 },
|
||||
{ "id": "3v", "grp": "sg", "class": 2, "rating": "E", "cost": 1978, "mass": 2.5, "power": 0.9, "minmass": 28, "optmass": 55, "maxmass": 138, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "3u", "grp": "sg", "class": 2, "rating": "D", "cost": 5934, "mass": 1, "power": 1.2, "minmass": 28, "optmass": 55, "maxmass": 138, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "3t", "grp": "sg", "class": 2, "rating": "C", "cost": 17803, "mass": 2.5, "power": 1.5, "minmass": 28, "optmass": 55, "maxmass": 138, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "3s", "grp": "sg", "class": 2, "rating": "B", "cost": 53408, "mass": 4, "power": 1.8, "minmass": 28, "optmass": 55, "maxmass": 138, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "3r", "grp": "sg", "class": 2, "rating": "A", "cost": 160224, "mass": 2.5, "power": 2.1, "minmass": 28, "optmass": 55, "maxmass": 138, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 }
|
||||
|
||||
{ "id": "44", "grp": "sg", "class": 3, "rating": "E", "cost": 6270, "mass": 5, "power": 1.08, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "43", "grp": "sg", "class": 3, "rating": "D", "cost": 18810, "mass": 2, "power": 1.44, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "42", "grp": "sg", "class": 3, "rating": "C", "cost": 56440, "mass": 5, "power": 1.8, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "41", "grp": "sg", "class": 3, "rating": "B", "cost": 169300, "mass": 8, "power": 2.16, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "40", "grp": "sg", "class": 3, "rating": "A", "cost": 507910, "mass": 5, "power": 2.52, "minmass": 83, "optmass": 165, "maxmass": 413, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 },
|
||||
|
||||
{ "id": "3v", "grp": "sg", "class": 2, "rating": "E", "cost": 1980, "mass": 2.5, "power": 0.9, "minmass": 28, "optmass": 55, "maxmass": 138, "minmul": 1.3, "optmul": 0.8, "maxmul": 0.3 },
|
||||
{ "id": "3u", "grp": "sg", "class": 2, "rating": "D", "cost": 5930, "mass": 1, "power": 1.2, "minmass": 28, "optmass": 55, "maxmass": 138, "minmul": 1.4, "optmul": 0.9, "maxmul": 0.4 },
|
||||
{ "id": "3t", "grp": "sg", "class": 2, "rating": "C", "cost": 17800, "mass": 2.5, "power": 1.5, "minmass": 28, "optmass": 55, "maxmass": 138, "minmul": 1.5, "optmul": 1, "maxmul": 0.5 },
|
||||
{ "id": "3s", "grp": "sg", "class": 2, "rating": "B", "cost": 53410, "mass": 4, "power": 1.8, "minmass": 28, "optmass": 55, "maxmass": 138, "minmul": 1.6, "optmul": 1.1, "maxmul": 0.6 },
|
||||
{ "id": "3r", "grp": "sg", "class": 2, "rating": "A", "cost": 160220, "mass": 2.5, "power": 2.1, "minmass": 28, "optmass": 55, "maxmass": 138, "minmul": 1.7, "optmul": 1.2, "maxmul": 0.7 }
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Adder",
|
||||
"manufacturer": "Zorgon Peterson",
|
||||
"class": 1,
|
||||
"hullCost": 39993,
|
||||
"hullCost": 40000,
|
||||
"speed": 220,
|
||||
"boost": 320,
|
||||
"boostEnergy": 9,
|
||||
@@ -12,9 +12,10 @@
|
||||
"baseShieldStrength": 60,
|
||||
"baseArmour": 162,
|
||||
"hullMass": 35,
|
||||
"masslock": 7
|
||||
"masslock": 7,
|
||||
"pipSpeed": 0.13625
|
||||
},
|
||||
"retailCost": 87808,
|
||||
"retailCost": 87810,
|
||||
"slots": {
|
||||
"common": [
|
||||
3,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Anaconda",
|
||||
"manufacturer": "Faulcon DeLacy",
|
||||
"class": 3,
|
||||
"hullCost": 141889932,
|
||||
"hullCost": 141889930,
|
||||
"speed": 180,
|
||||
"boost": 240,
|
||||
"boostEnergy": 29,
|
||||
@@ -12,9 +12,10 @@
|
||||
"baseShieldStrength": 350,
|
||||
"baseArmour": 945,
|
||||
"hullMass": 400,
|
||||
"masslock": 23
|
||||
"masslock": 23,
|
||||
"pipSpeed": 0.13875
|
||||
},
|
||||
"retailCost": 146969451,
|
||||
"retailCost": 146969450,
|
||||
"slots": {
|
||||
"common": [
|
||||
8,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Asp Explorer",
|
||||
"manufacturer": "Lakon",
|
||||
"class": 2,
|
||||
"hullCost": 6135658,
|
||||
"hullCost": 6135660,
|
||||
"speed": 250,
|
||||
"boost": 340,
|
||||
"boostEnergy": 14,
|
||||
@@ -12,9 +12,10 @@
|
||||
"baseShieldStrength": 140,
|
||||
"baseArmour": 378,
|
||||
"hullMass": 280,
|
||||
"masslock": 11
|
||||
"masslock": 11,
|
||||
"pipSpeed": 0.13
|
||||
},
|
||||
"retailCost": 6661153,
|
||||
"retailCost": 6661150,
|
||||
"slots": {
|
||||
"common": [
|
||||
5,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Cobra Mk III",
|
||||
"manufacturer": "Faulcon DeLacy",
|
||||
"class": 1,
|
||||
"hullCost": 235787,
|
||||
"hullCost": 235800,
|
||||
"speed": 280,
|
||||
"boost": 400,
|
||||
"boostEnergy": 11,
|
||||
@@ -12,9 +12,10 @@
|
||||
"baseShieldStrength": 80,
|
||||
"baseArmour": 216,
|
||||
"hullMass": 180,
|
||||
"masslock": 8
|
||||
"masslock": 8,
|
||||
"pipSpeed": 0.125
|
||||
},
|
||||
"retailCost": 379718,
|
||||
"retailCost": 379720,
|
||||
"slots": {
|
||||
"common": [
|
||||
4,
|
||||
|
||||
@@ -4,15 +4,16 @@
|
||||
"name": "Diamondback Explorer",
|
||||
"manufacturer": "Lakon",
|
||||
"class": 1,
|
||||
"hullCost": 1635691,
|
||||
"speed": 242,
|
||||
"boost": 316,
|
||||
"hullCost": 1635700,
|
||||
"speed": 260,
|
||||
"boost": 340,
|
||||
"boostEnergy": 14,
|
||||
"agility": 5,
|
||||
"baseShieldStrength": 146,
|
||||
"baseArmour": 270,
|
||||
"hullMass": 298,
|
||||
"masslock": 10
|
||||
"masslock": 10,
|
||||
"pipSpeed": 0.09625
|
||||
},
|
||||
"retailCost": 1894760,
|
||||
"slots": {
|
||||
|
||||
@@ -4,18 +4,18 @@
|
||||
"name": "Diamondback Scout",
|
||||
"manufacturer": "Lakon",
|
||||
"class": 1,
|
||||
"hullCost": 461341,
|
||||
"hullCost": 461340,
|
||||
"speed": 283,
|
||||
"boost": 384,
|
||||
"boost": 380,
|
||||
"boostEnergy": 11,
|
||||
"agility": 8,
|
||||
"baseShieldStrength": 118,
|
||||
"baseArmour": 216,
|
||||
"hullMass": 170,
|
||||
"masslock": 8
|
||||
"masslock": 8,
|
||||
"pipSpeed": 0.09875
|
||||
},
|
||||
"retailCost": 564329,
|
||||
"minMassFilter": 180.5,
|
||||
"retailCost": 564330,
|
||||
"slots": {
|
||||
"common": [
|
||||
4,
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Eagle",
|
||||
"manufacturer": "Core Dynamics",
|
||||
"class": 1,
|
||||
"hullCost": 10446,
|
||||
"hullCost": 10440,
|
||||
"speed": 240,
|
||||
"boost": 350,
|
||||
"boostEnergy": 9,
|
||||
@@ -12,7 +12,8 @@
|
||||
"baseShieldStrength": 60,
|
||||
"baseArmour": 72,
|
||||
"hullMass": 50,
|
||||
"masslock": 6
|
||||
"masslock": 6,
|
||||
"pipSpeed": 0.0625
|
||||
},
|
||||
"retailCost": 44800,
|
||||
"slots": {
|
||||
|
||||
@@ -4,17 +4,18 @@
|
||||
"name": "Federal Assault Ship",
|
||||
"manufacturer": "Core Dynamics",
|
||||
"class": 2,
|
||||
"hullCost": 19071993,
|
||||
"speed": 216,
|
||||
"boost": 361,
|
||||
"hullCost": 19072000,
|
||||
"speed": 210,
|
||||
"boost": 350,
|
||||
"boostEnergy": 21,
|
||||
"agility": 6,
|
||||
"baseShieldStrength": 180,
|
||||
"baseShieldStrength": 200,
|
||||
"baseArmour": 540,
|
||||
"hullMass": 480,
|
||||
"masslock": 14
|
||||
"masslock": 14,
|
||||
"pipSpeed": 0.11125
|
||||
},
|
||||
"retailCost": 19814205,
|
||||
"retailCost": 19814210,
|
||||
"slots": {
|
||||
"common": [
|
||||
6,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Federal Dropship",
|
||||
"manufacturer": "Core Dynamics",
|
||||
"class": 2,
|
||||
"hullCost": 18969990,
|
||||
"hullCost": 13469990,
|
||||
"speed": 180,
|
||||
"boost": 300,
|
||||
"boostEnergy": 21,
|
||||
@@ -12,9 +12,10 @@
|
||||
"baseShieldStrength": 200,
|
||||
"baseArmour": 540,
|
||||
"hullMass": 580,
|
||||
"masslock": 14
|
||||
"masslock": 14,
|
||||
"pipSpeed": 0.0725
|
||||
},
|
||||
"retailCost": 19814205,
|
||||
"retailCost": 14314210,
|
||||
"slots": {
|
||||
"common": [
|
||||
6,
|
||||
|
||||
@@ -4,17 +4,18 @@
|
||||
"name": "Federal Gunship",
|
||||
"manufacturer": "Core Dynamics",
|
||||
"class": 2,
|
||||
"hullCost": 34774802,
|
||||
"speed": 172,
|
||||
"boost": 284,
|
||||
"hullCost": 34774790,
|
||||
"speed": 170,
|
||||
"boost": 280,
|
||||
"boostEnergy": 21,
|
||||
"agility": 2,
|
||||
"baseShieldStrength": 240,
|
||||
"baseShieldStrength": 250,
|
||||
"baseArmour": 630,
|
||||
"hullMass": 580,
|
||||
"masslock": 14
|
||||
"masslock": 14,
|
||||
"pipSpeed": 0.1025
|
||||
},
|
||||
"retailCost": 35814211,
|
||||
"retailCost": 35814210,
|
||||
"slots": {
|
||||
"common": [
|
||||
6,
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
"baseShieldStrength": 300,
|
||||
"baseArmour": 405,
|
||||
"hullMass": 250,
|
||||
"masslock": 12
|
||||
"masslock": 12,
|
||||
"pipSpeed": 0.03875
|
||||
},
|
||||
"retailCost": 51567040,
|
||||
"slots": {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Hauler",
|
||||
"manufacturer": "Zorgon Peterson",
|
||||
"class": 1,
|
||||
"hullCost": 29807,
|
||||
"hullCost": 29790,
|
||||
"speed": 200,
|
||||
"boost": 300,
|
||||
"agility": 6,
|
||||
@@ -12,7 +12,8 @@
|
||||
"baseShieldStrength": 50,
|
||||
"baseArmour": 90,
|
||||
"hullMass": 14,
|
||||
"masslock": 6
|
||||
"masslock": 6,
|
||||
"pipSpeed": 0.1625
|
||||
},
|
||||
"retailCost": 52720,
|
||||
"slots": {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Imperial Clipper",
|
||||
"manufacturer": "Gutamaya",
|
||||
"class": 3,
|
||||
"hullCost": 21077784,
|
||||
"hullCost": 21077780,
|
||||
"speed": 300,
|
||||
"boost": 380,
|
||||
"boostEnergy": 21,
|
||||
@@ -12,7 +12,8 @@
|
||||
"baseShieldStrength": 180,
|
||||
"baseArmour": 486,
|
||||
"hullMass": 400,
|
||||
"masslock": 12
|
||||
"masslock": 12,
|
||||
"pipSpeed": 0.1
|
||||
},
|
||||
"retailCost": 22296860,
|
||||
"slots": {
|
||||
|
||||
@@ -4,17 +4,18 @@
|
||||
"name": "Imperial Courier",
|
||||
"manufacturer": "Gutamaya",
|
||||
"class": 1,
|
||||
"hullCost": 2481552,
|
||||
"speed": 277,
|
||||
"hullCost": 2481550,
|
||||
"speed": 280,
|
||||
"boost": 380,
|
||||
"boostEnergy": 11,
|
||||
"agility": 6,
|
||||
"baseShieldStrength": 197,
|
||||
"baseArmour": 144,
|
||||
"hullMass": 35,
|
||||
"masslock": 7
|
||||
"masslock": 7,
|
||||
"pipSpeed": 0.05375
|
||||
},
|
||||
"retailCost": 2542931,
|
||||
"retailCost": 2542930,
|
||||
"slots": {
|
||||
"common": [
|
||||
4,
|
||||
|
||||
@@ -4,17 +4,18 @@
|
||||
"name": "Imperial Eagle",
|
||||
"manufacturer": "Core Dynamics",
|
||||
"class": 1,
|
||||
"hullCost": 72186,
|
||||
"speed": 303,
|
||||
"boost": 405,
|
||||
"hullCost": 72180,
|
||||
"speed": 300,
|
||||
"boost": 400,
|
||||
"boostEnergy": 9,
|
||||
"agility": 6,
|
||||
"baseShieldStrength": 80,
|
||||
"baseArmour": 108,
|
||||
"hullMass": 50,
|
||||
"masslock": 6
|
||||
"masslock": 6,
|
||||
"pipSpeed": 0.075
|
||||
},
|
||||
"retailCost": 110833,
|
||||
"retailCost": 110830,
|
||||
"slots": {
|
||||
"common": [
|
||||
3,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Orca",
|
||||
"manufacturer": "Saud Kruger",
|
||||
"class": 3,
|
||||
"hullCost": 47798079,
|
||||
"hullCost": 47798080,
|
||||
"speed": 300,
|
||||
"boost": 380,
|
||||
"boostEnergy": 17,
|
||||
@@ -12,9 +12,10 @@
|
||||
"baseShieldStrength": 220,
|
||||
"baseArmour": 396,
|
||||
"hullMass": 580,
|
||||
"masslock": 13
|
||||
"masslock": 13,
|
||||
"pipSpeed": 0.08375
|
||||
},
|
||||
"retailCost": 48539887,
|
||||
"retailCost": 48539890,
|
||||
"slots": {
|
||||
"common": [
|
||||
5,
|
||||
@@ -35,8 +36,8 @@
|
||||
0
|
||||
],
|
||||
"internal": [
|
||||
{ "class": 6, "eligible": { "Cargo Rack": 1, "Hull Reinforcement Package": 1 } },
|
||||
{ "class": 5, "eligible": { "Cargo Rack": 1, "Hull Reinforcement Package": 1 } },
|
||||
{ "class": 6, "eligible": { "cr": 1, "hr": 1 } },
|
||||
{ "class": 5, "eligible": { "cr": 1, "hr": 1 } },
|
||||
5,
|
||||
5,
|
||||
4,
|
||||
|
||||
@@ -4,17 +4,18 @@
|
||||
"name": "Python",
|
||||
"manufacturer": "Faulcon DeLacy",
|
||||
"class": 2,
|
||||
"hullCost": 55171395,
|
||||
"hullCost": 55171380,
|
||||
"speed": 230,
|
||||
"boost": 280,
|
||||
"boost": 300,
|
||||
"boostEnergy": 24,
|
||||
"agility": 6,
|
||||
"baseShieldStrength": 260,
|
||||
"baseArmour": 468,
|
||||
"hullMass": 350,
|
||||
"masslock": 17
|
||||
"masslock": 17,
|
||||
"pipSpeed": 0.0975
|
||||
},
|
||||
"retailCost": 56978179,
|
||||
"retailCost": 56978180,
|
||||
"slots": {
|
||||
"common": [
|
||||
7,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Sidewinder",
|
||||
"manufacturer": "Faulcon DeLacy",
|
||||
"class": 1,
|
||||
"hullCost": 12887,
|
||||
"hullCost": 12870,
|
||||
"speed": 220,
|
||||
"boost": 320,
|
||||
"boostEnergy": 7,
|
||||
@@ -12,7 +12,8 @@
|
||||
"baseShieldStrength": 40,
|
||||
"baseArmour": 108,
|
||||
"hullMass": 25,
|
||||
"masslock": 6
|
||||
"masslock": 6,
|
||||
"pipSpeed": 0.1375
|
||||
},
|
||||
"retailCost": 32000,
|
||||
"slots": {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Type-6 Transporter",
|
||||
"manufacturer": "Lakon",
|
||||
"class": 2,
|
||||
"hullCost": 865782,
|
||||
"hullCost": 865790,
|
||||
"speed": 220,
|
||||
"boost": 350,
|
||||
"boostEnergy": 11,
|
||||
@@ -12,9 +12,10 @@
|
||||
"baseShieldStrength": 90,
|
||||
"baseArmour": 162,
|
||||
"hullMass": 155,
|
||||
"masslock": 8
|
||||
"masslock": 8,
|
||||
"pipSpeed": 0.1475
|
||||
},
|
||||
"retailCost": 1045945,
|
||||
"retailCost": 1045950,
|
||||
"slots": {
|
||||
"common": [
|
||||
3,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Type-7 Transporter",
|
||||
"manufacturer": "Lakon",
|
||||
"class": 3,
|
||||
"hullCost": 16881511,
|
||||
"hullCost": 16881510,
|
||||
"speed": 180,
|
||||
"boost": 300,
|
||||
"boostEnergy": 11,
|
||||
@@ -12,9 +12,10 @@
|
||||
"baseShieldStrength": 120,
|
||||
"baseArmour": 216,
|
||||
"hullMass": 420,
|
||||
"masslock": 10
|
||||
"masslock": 10,
|
||||
"pipSpeed": 0.16625
|
||||
},
|
||||
"retailCost": 17472252,
|
||||
"retailCost": 17472250,
|
||||
"slots": {
|
||||
"common": [
|
||||
4,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Type-9 Heavy",
|
||||
"manufacturer": "Lakon",
|
||||
"class": 3,
|
||||
"hullCost": 73255168,
|
||||
"hullCost": 73255150,
|
||||
"speed": 130,
|
||||
"boost": 200,
|
||||
"boostEnergy": 21,
|
||||
@@ -12,9 +12,10 @@
|
||||
"baseShieldStrength": 240,
|
||||
"baseArmour": 432,
|
||||
"hullMass": 1000,
|
||||
"masslock": 16
|
||||
"masslock": 16,
|
||||
"pipSpeed": 0.17375
|
||||
},
|
||||
"retailCost": 76555842,
|
||||
"retailCost": 76555840,
|
||||
"slots": {
|
||||
"common": [
|
||||
6,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Viper",
|
||||
"manufacturer": "Faulcon DeLacy",
|
||||
"class": 1,
|
||||
"hullCost": 95893,
|
||||
"hullCost": 95900,
|
||||
"speed": 320,
|
||||
"boost": 400,
|
||||
"boostEnergy": 11,
|
||||
@@ -12,9 +12,10 @@
|
||||
"baseShieldStrength": 105,
|
||||
"baseArmour": 126,
|
||||
"hullMass": 60,
|
||||
"masslock": 7
|
||||
"masslock": 7,
|
||||
"pipSpeed": 0.09375
|
||||
},
|
||||
"retailCost": 142931,
|
||||
"retailCost": 142930,
|
||||
"slots": {
|
||||
"common": [
|
||||
3,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"name": "Vulture",
|
||||
"manufacturer": "Core Dynamics",
|
||||
"class": 1,
|
||||
"hullCost": 4689629,
|
||||
"hullCost": 4689640,
|
||||
"speed": 210,
|
||||
"boost": 340,
|
||||
"boostEnergy": 17,
|
||||
@@ -12,9 +12,10 @@
|
||||
"baseShieldStrength": 240,
|
||||
"baseArmour": 288,
|
||||
"hullMass": 230,
|
||||
"masslock": 10
|
||||
"masslock": 10,
|
||||
"pipSpeed": 0.02375
|
||||
},
|
||||
"retailCost": 4925615,
|
||||
"retailCost": 4925620,
|
||||
"slots": {
|
||||
"common": [
|
||||
4,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "coriolis_shipyard",
|
||||
"version": "1.5.0",
|
||||
"version": "1.8.2",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/cmmcleod/coriolis"
|
||||
|
||||
@@ -27,7 +27,7 @@ function done(err, json) { this(err,json); }
|
||||
|
||||
function writeDB(err, arr) {
|
||||
var ships = {}, internal = {}, hardpoints = {};
|
||||
var shipOrder = Object.keys(arr[0]).sort();
|
||||
var shipOrder = Object.keys(arr[0]).sort(function(a,b) { return arr[0][a].properties.name < arr[0][b].properties.name ? -1 : 1; });
|
||||
var internalOrder = Object.keys(arr[3]).sort();
|
||||
var hpOrder = [
|
||||
"pl",
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
{
|
||||
"class": 2,
|
||||
"rating": "A",
|
||||
"group": "FSD Interdictor"
|
||||
"group": "Frame Shift Drive Interdictor"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -187,7 +187,7 @@
|
||||
"class": 3,
|
||||
"hullCost": 141889932,
|
||||
"speed": 180,
|
||||
"boost": 240,
|
||||
"boost": 244,
|
||||
"boostEnergy": 29,
|
||||
"agility": 2,
|
||||
"baseShieldStrength": 350,
|
||||
|
||||
@@ -245,21 +245,24 @@
|
||||
"rating": "A",
|
||||
"enabled": true,
|
||||
"priority": 3,
|
||||
"group": "FSD Interdictor"
|
||||
"group": "Frame Shift Drive Interdictor"
|
||||
}
|
||||
]
|
||||
},
|
||||
"stats": {
|
||||
"class": 3,
|
||||
"hullCost": 141889932,
|
||||
"hullCost": 141889930,
|
||||
"speed": 180,
|
||||
"topSpeed": 186.5,
|
||||
"boost": 240,
|
||||
"boostEnergy": 29,
|
||||
"topBoost": 248.66,
|
||||
"agility": 2,
|
||||
"baseShieldStrength": 350,
|
||||
"baseArmour": 945,
|
||||
"hullMass": 400,
|
||||
"masslock": 23,
|
||||
"pipSpeed": 0.14,
|
||||
"shipCostMultiplier": 1,
|
||||
"componentCostMultiplier": 1,
|
||||
"fuelCapacity": 32,
|
||||
@@ -269,7 +272,7 @@
|
||||
"armourAdded": 240,
|
||||
"armourMultiplier": 1.95,
|
||||
"shieldMultiplier": 1.4,
|
||||
"totalCost": 882362049,
|
||||
"totalCost": 882362060,
|
||||
"unladenMass": 1179.2,
|
||||
"totalDps": 29,
|
||||
"powerAvailable": 36,
|
||||
|
||||
6
test/fixtures/valid-detailed-export.json
vendored
@@ -2188,7 +2188,7 @@
|
||||
{
|
||||
"class": 2,
|
||||
"rating": "A",
|
||||
"group": "FSD Interdictor"
|
||||
"group": "Frame Shift Drive Interdictor"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -2885,7 +2885,7 @@
|
||||
{
|
||||
"class": 2,
|
||||
"rating": "A",
|
||||
"group": "FSD Interdictor"
|
||||
"group": "Frame Shift Drive Interdictor"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3145,7 +3145,7 @@
|
||||
{
|
||||
"class": 1,
|
||||
"rating": "A",
|
||||
"group": "FSD Interdictor"
|
||||
"group": "Frame Shift Drive Interdictor"
|
||||
},
|
||||
{
|
||||
"class": 1,
|
||||
|
||||