Compare commits

...

47 Commits

Author SHA1 Message Date
Colin McLeod
c81d7bf302 Bumping version to 1.10.2 2015-12-19 22:28:00 -08:00
Colin McLeod
78e85f2c6a Update data. Closes #131 2015-12-19 21:49:37 -08:00
Colin McLeod
973af84b73 Update imperial cutter boost pwoer 2015-12-18 01:20:27 -08:00
Colin McLeod
3c8b1f7d6a Adding 2.5% discount 2015-12-18 01:05:49 -08:00
Colin McLeod
62d9749660 Adding agility/maneuverability to shipyard overview 2015-12-13 12:31:06 -08:00
Colin McLeod
7db185e635 Bumping version to 1.10.0 2015-12-13 12:20:56 -08:00
Colin McLeod
e69bdac75c Add Cobra MK IV, FdL power plant update, PV Hangar 2015-12-13 12:19:22 -08:00
Colin McLeod
231f7e9267 Add planetary vechile hanger support 2015-12-13 12:19:22 -08:00
Colin McLeod
2ef44e38b3 Merge pull request #123 from fawick/master
Fix typo in languages.js
2015-12-07 10:31:23 -08:00
Fabian Wickborn
d051829f98 Fix typo in languages.js 2015-12-07 19:16:00 +01:00
Colin McLeod
01e8e71b28 Updating data reference, bumping version to 1.9.4 2015-11-30 23:38:06 -08:00
Colin McLeod
14681aa9fa Update tests to include bulkheads 2015-11-30 22:56:28 -08:00
Colin McLeod
b93572b18d Merge pull request #120 from sf302/master
Heat Sink Launcher utility auto-fill
2015-11-19 16:28:51 -08:00
Kevin Chang
41c4b4243a Remove arg overloading in useUtility 2015-11-16 16:36:15 -08:00
Kevin Chang
f5127c2475 Typo fix 2015-11-16 15:37:55 -08:00
Kevin Chang
db4303d3c8 Add Heat Sink auto-fill given new SCB heat output 2015-11-16 15:35:36 -08:00
Colin McLeod
8bc100714f Fix Viper Mk4 data. Bumping version to 1.9.3 2015-11-14 12:04:55 -08:00
Colin McLeod
fabd370f4a Update serializer test fixtures 2015-11-14 10:59:15 -08:00
Colin McLeod
769c20154d Updating Hull Reinforcement packages. Bumping to 1.9.2 2015-11-14 10:48:47 -08:00
Colin McLeod
2b5edd75cb Fix keelback boost/speed. Bump to 1.9.1 2015-11-14 10:37:38 -08:00
Colin McLeod
1b56d39356 Update tests to support latest data changes 2015-11-14 00:15:59 -08:00
Colin McLeod
8d1d6d63ad Merge pull request #119 from sf302/master
Handle new Bi-Weave Shield Generator
2015-11-13 22:38:26 -08:00
Kevin Chang
a713105878 Handle new Bi-Weave Shield Generator 2015-11-13 16:54:00 -08:00
Colin McLeod
c527a62ce6 Tweak loader 2015-11-12 11:27:56 -08:00
Colin McLeod
16c76b2598 Added EDDB IDs to data. Updating submodule 2015-10-27 12:00:25 -07:00
Colin McLeod
ad134330c4 Fix common -> standard for outfitting page 2015-10-27 12:00:25 -07:00
Colin McLeod
05438daf48 Merge pull request #113 from richardbuckle/fix-112
#112 lower-case 'k' in 'kg/s'
2015-10-25 18:45:33 -08:00
Richard Buckle
afebf68cae #112 lower-case 'k' in 'kg/s' 2015-10-26 01:51:52 +00:00
Colin McLeod
ab4bdf355c Fix submodule reference 2015-10-23 09:44:42 -07:00
Colin McLeod
0f4abd6ace Updating data submodule reference 2015-10-23 09:18:53 -07:00
Colin McLeod
2901c978dc Use HTTPS instead of SSH for submodule 2015-10-23 09:10:01 -07:00
Colin McLeod
21e9dbc381 Adding data through submodule 2015-10-22 20:38:28 -07:00
Colin McLeod
b2ceafa89e removing data folder 2015-10-22 20:37:14 -07:00
Colin McLeod
d8633a8411 Rename common to standard for consistency 2015-10-22 20:19:56 -07:00
Colin McLeod
f4bf09eaab fix discount minus sign placement 2015-10-22 20:19:56 -07:00
Colin McLeod
f0c40aae34 Handle erroneous data better 2015-10-22 20:19:55 -07:00
Colin McLeod
90ed8ed198 error page fix 2015-10-22 20:19:55 -07:00
Colin McLeod
9af6a529dd Adding station icons 2015-10-22 20:19:55 -07:00
Colin McLeod
269dfbdc1d Merge pull request #107 from sf302/master
Reload costs refinements
2015-10-14 00:15:43 -07:00
Kevin Chang
d01cd24b0d Updated comment to reflect changes to fuel logic 2015-10-13 15:58:44 -07:00
Kevin Chang
93ac3b217f Clean up unnecessary fuel costs logic 2015-10-13 15:56:17 -07:00
Colin McLeod
a38d6cf839 Merge pull request #109 from Toxicat/patch-1
Correct bad translation
2015-10-13 13:32:29 -07:00
PanzerKadaver
bd656b46ef Correct bad translation
Correct error reported in #108
2015-10-13 22:29:48 +02:00
Kevin Chang
20cce4dcda More logical limpet ammo display, fuel tied to slider 2015-10-12 20:54:47 -07:00
Kevin Chang
d286dda07f Refinements, limpet ammo display added to reloads 2015-10-12 19:38:33 -07:00
Colin McLeod
45b6dabcd2 Bumping version to 1.8.3 2015-10-10 11:47:46 -07:00
Colin McLeod
d476c58a9c Workaround for UI-router bug for build with slash in the name. Fixes #105 2015-10-09 18:29:04 -07:00
102 changed files with 380 additions and 4682 deletions

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "data"]
path = data
url = https://github.com/cmmcleod/coriolis-data.git

View File

@@ -23,12 +23,12 @@ See the [Developer's Guide](https://github.com/cmmcleod/coriolis/wiki/Developer'
### Ship and Component Database ### Ship and Component Database
See [Data wiki](https://github.com/cmmcleod/coriolis/wiki/Database) for details on structure, etc. See the [Data wiki](https://github.com/cmmcleod/coriolis-data/wiki) for details on structure, etc.
## License ## License
All Data and [associated JSON](https://github.com/cmmcleod/coriolis/tree/master/data) files are intellectual property and copyright of Frontier Developments plc ('Frontier', 'Frontier Developments') and are subject to their All Data and [associated JSON](https://github.com/cmmcleod/coriolis-data) files are intellectual property and copyright of Frontier Developments plc ('Frontier', 'Frontier Developments') and are subject to their
[terms and conditions](https://www.frontierstore.net/terms-and-conditions/). [terms and conditions](https://www.frontierstore.net/terms-and-conditions/).
The code (Javascript, CSS, HTML, and SVG files only) specificially for Coriolis.io is released under the MIT License. The code (Javascript, CSS, HTML, and SVG files only) specificially for Coriolis.io is released under the MIT License.

28
app/icons/eddb.svg Normal file
View File

@@ -0,0 +1,28 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" height="400" viewBox="0 0 90 32">
<g>
<path d="M19.1,25.2c0.3,0,0.6,0.1,0.7,0.2c0.2,0.1,0.3,0.3,0.4,0.4c0.1,0.2,0.2,0.4,0.2,0.6v3.3c0,0.3-0.1,0.6-0.2,0.7
c-0.1,0.2-0.3,0.3-0.4,0.3c-0.2,0.1-0.4,0.2-0.6,0.1H3.6c-0.3,0-0.6-0.1-0.7-0.2c-0.2-0.1-0.3-0.3-0.3-0.4
c-0.1-0.2-0.2-0.4-0.1-0.6V10.2c0-0.3,0.1-0.5,0.2-0.7C2.7,9.4,2.9,9.3,3,9.2C3.2,9.1,3.4,9,3.6,9h15.5c0.3,0,0.6,0.1,0.7,0.2
c0.2,0.1,0.3,0.3,0.4,0.4c0.1,0.2,0.2,0.4,0.2,0.6V22c0,0.3-0.1,0.6-0.2,0.7c-0.1,0.2-0.3,0.3-0.4,0.3c-0.2,0.1-0.4,0.2-0.6,0.1
h-6.8v-6.8c0.3-0.2,0.6-0.4,0.8-0.7c0.2-0.3,0.3-0.7,0.3-1c0-0.6-0.2-1.1-0.6-1.4c-0.4-0.4-0.9-0.6-1.4-0.6c-0.5,0-1,0.2-1.4,0.6
c-0.4,0.4-0.6,0.9-0.6,1.4c0,0.8,0.3,1.4,1,1.8v8.7H19.1z"/>
<path d="M24.6,29.7V10.2c0-0.2,0-0.4,0.1-0.6c0.1-0.1,0.2-0.3,0.3-0.4C25.3,9.1,25.5,9,25.8,9h5.5c0.2,0,0.4,0.1,0.6,0.2
c0.1,0.1,0.3,0.2,0.4,0.3c0.1,0.1,0.2,0.4,0.2,0.7v13.2c-0.7,0.4-1,1-1,1.8c0,0.5,0.2,1,0.6,1.4c0.4,0.4,0.9,0.6,1.4,0.6
c0.6,0,1.1-0.2,1.4-0.6c0.4-0.4,0.6-0.9,0.6-1.4c0-0.4-0.1-0.8-0.3-1.1c-0.2-0.3-0.4-0.5-0.8-0.7V2.3c0-0.2,0-0.4,0.1-0.6
c0.1-0.1,0.2-0.3,0.3-0.4C35.2,1.1,35.4,1,35.8,1h5.5c0.2,0,0.4,0.1,0.6,0.2c0.1,0.1,0.3,0.2,0.4,0.4c0.1,0.2,0.2,0.4,0.2,0.7v27.4
c0,0.2-0.1,0.4-0.2,0.6c-0.1,0.1-0.2,0.3-0.4,0.4c-0.2,0.1-0.4,0.2-0.7,0.2H25.8c-0.2,0-0.4,0-0.6-0.1c-0.1-0.1-0.3-0.2-0.4-0.3
C24.7,30.3,24.6,30,24.6,29.7z"/>
<path d="M46.9,29.7V10.2c0-0.2,0-0.4,0.1-0.6c0.1-0.1,0.2-0.3,0.3-0.4C47.5,9.1,47.7,9,48.1,9h5.5c0.2,0,0.4,0.1,0.6,0.2
c0.1,0.1,0.3,0.2,0.4,0.3c0.1,0.1,0.2,0.4,0.2,0.7v13.2c-0.7,0.4-1,1-1,1.8c0,0.5,0.2,1,0.6,1.4c0.4,0.4,0.9,0.6,1.4,0.6
c0.6,0,1.1-0.2,1.4-0.6c0.4-0.4,0.6-0.9,0.6-1.4c0-0.4-0.1-0.8-0.3-1.1c-0.2-0.3-0.4-0.5-0.8-0.7V2.3c0-0.2,0-0.4,0.1-0.6
c0.1-0.1,0.2-0.3,0.3-0.4C57.4,1.1,57.7,1,58,1h5.5c0.2,0,0.4,0.1,0.6,0.2c0.1,0.1,0.3,0.2,0.4,0.4c0.1,0.2,0.2,0.4,0.2,0.7v27.4
c0,0.2-0.1,0.4-0.2,0.6c-0.1,0.1-0.2,0.3-0.4,0.4s-0.4,0.2-0.7,0.2H48.1c-0.2,0-0.4,0-0.6-0.1c-0.1-0.1-0.3-0.2-0.4-0.3
C46.9,30.3,46.9,30,46.9,29.7z"/>
<path d="M87,29.7c0,0.3-0.1,0.6-0.2,0.7c-0.1,0.2-0.3,0.3-0.4,0.3c-0.2,0.1-0.4,0.2-0.6,0.1H70.3c-0.3,0-0.6-0.1-0.7-0.2
s-0.3-0.3-0.3-0.4c-0.1-0.2-0.2-0.4-0.1-0.6V2.3c0-0.3,0.1-0.6,0.2-0.7c0.1-0.2,0.3-0.3,0.4-0.4C69.9,1.1,70.1,1,70.3,1h5.5
c0.3,0,0.6,0.1,0.7,0.2c0.2,0.1,0.3,0.3,0.4,0.4c0.1,0.2,0.2,0.4,0.2,0.6v21.2c-0.7,0.4-1,1-1,1.8c0,0.5,0.2,1,0.6,1.4
c0.4,0.4,0.8,0.6,1.4,0.6c0.6,0,1.1-0.2,1.4-0.6c0.4-0.4,0.6-0.9,0.6-1.4c0-0.4-0.1-0.8-0.3-1.1c-0.2-0.3-0.4-0.5-0.8-0.7V10.2
c0-0.3,0.1-0.5,0.2-0.7c0.1-0.1,0.3-0.3,0.4-0.3C79.8,9.1,80,9,80.2,9h5.5c0.3,0,0.6,0.1,0.7,0.2c0.2,0.1,0.3,0.3,0.4,0.4
C87,9.8,87,10,87,10.2V29.7z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -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"> <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="M28 0h-28v32h32v-28l-4-4zM16 4h4v8h-4v-8zM28 28h-24v-24h2v10h18v-10h2.343l1.657 1.657v22.343z"></path> <path d="M28 0h-28v32h32v-28l-4-4zM16 4h4v8h-4v-8zM28 28h-24v-24h2v10h18v-10h2.343l1.657 1.657v22.343z"></path>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 431 B

After

Width:  |  Height:  |  Size: 260 B

View File

@@ -0,0 +1,6 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
<g>
<rect x="73.001" y="94.017" width="53.997" height="11.945"/>
<path d="M10.324,185.445l89.217,14.348l0.458,0.077l89.677-14.43L200,99.998l-10.338-89.765L100,0.129L10.34,10.233 L-0.001,99.986L10.324,185.445z M193.206,99.986L100,191.108L6.795,99.986L100,8.868L193.206,99.986z M6.82,107.775l87.583,85.624 l-78.983-12.702L6.82,107.775z M184.583,180.692l-78.992,12.712l87.587-85.634L184.583,180.692z M193.745,92.746L105.26,6.245 l79.339,8.938L193.745,92.746z M15.41,15.185L94.736,6.25L6.255,92.751L15.41,15.185z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 642 B

View File

@@ -0,0 +1,7 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
<g>
<path d="M100.002,200C155.139,200,200,155.142,200,100.001c0-55.143-44.861-100.002-99.998-100.002 C44.86-0.001-0.002,44.857-0.002,100.001C-0.001,155.142,44.86,200,100.002,200z M100.002,5.574 c52.063,0,94.423,42.359,94.423,94.427c0,52.067-42.361,94.422-94.423,94.422c-52.07,0-94.428-42.358-94.428-94.422 C5.574,47.933,47.933,5.574,100.002,5.574z"/>
<path d="M100.002,148.557c26.771,0,48.558-21.783,48.558-48.555c0-26.771-21.786-48.556-48.558-48.556 c-26.777,0-48.557,21.782-48.557,48.556C51.446,126.778,73.225,148.557,100.002,148.557z M100.002,57.015 c23.699,0,42.986,19.283,42.986,42.986c0,23.7-19.282,42.987-42.986,42.987c-23.705,0-42.991-19.282-42.991-42.987 C57.011,76.298,76.302,57.015,100.002,57.015z"/>
<rect x="73.404" y="93.985" width="53.197" height="12.033"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 912 B

View File

@@ -0,0 +1,6 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
<g>
<path d="M100.002,200c55.138,0,99.996-44.861,99.996-100c0-55.141-44.858-100-99.996-100 C44.861,0-0.001,44.857-0.001,100C0,155.139,44.861,200,100.002,200z M100.002,194.424c-35.465,0-66.413-19.663-82.552-48.651 l44.426-23.388c7.704,13.067,21.888,21.884,38.127,21.884c16.054,0,30.096-8.621,37.853-21.446l44.441,23.389 C166.092,174.961,135.282,194.424,100.002,194.424z M100.002,61.306c21.335,0,38.691,17.356,38.691,38.694 c0,21.338-17.364,38.691-38.691,38.691c-21.339,0-38.696-17.354-38.696-38.691C61.307,78.662,78.663,61.306,100.002,61.306z M194.422,100c0,14.802-3.427,28.808-9.521,41.287l-44.447-23.4c2.433-5.477,3.812-11.521,3.812-17.89 c0-23.578-18.539-42.852-41.8-44.145V5.636C153.392,6.956,194.422,48.762,194.422,100z M96.895,5.655v50.233 C73.938,57.491,55.73,76.635,55.73,100c0,6.187,1.286,12.081,3.592,17.434l-44.455,23.402C8.911,128.472,5.571,114.619,5.571,100 C5.577,48.972,46.261,7.297,96.895,5.655z"/>
<rect x="73.403" y="93.983" width="53.196" height="12.032"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,7 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
<g>
<path d="M145.137,59.126h4.498v6.995h5.576V46.556h-5.576v6.994h-4.498V16.328h-5.574v57.667h-15.411v14.824h-7.63 v-14.58h-13.044v14.58h-8.295v-14.58H82.138v14.58h-6.573v-14.58H59.072v14.58h-6.573v-14.58H39.458v36.338h13.041V94.391h6.573 v16.186h16.493V94.391h6.573v16.186h13.044V94.391h8.295v16.186h13.044V94.391h7.63v40.457l17.634,17.637h13.185v31.182h5.577 V73.996H145.14v-14.87H145.137z M154.97,146.907h-10.871l-14.376-14.376V79.57h25.247V146.907z"/>
<rect fill="#999999" x="147.703" y="16.328" width="5.572" height="7.345"/>
<rect fill="#999999" x="131.295" y="16.328" width="5.577" height="7.345"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 744 B

View File

@@ -9,7 +9,7 @@ angular.module('app').controller('ImportController', ['lodash', '$rootScope', '$
var textBuildRegex = new RegExp('^\\[([\\w \\-]+)\\]\n'); var textBuildRegex = new RegExp('^\\[([\\w \\-]+)\\]\n');
var lineRegex = new RegExp('^([\\dA-Z]{1,2}): (\\d)([A-I])[/]?([FGT])?([SD])? ([\\w\\- ]+)'); var lineRegex = new RegExp('^([\\dA-Z]{1,2}): (\\d)([A-I])[/]?([FGT])?([SD])? ([\\w\\- ]+)');
var mountMap = { 'H': 4, 'L': 3, 'M': 2, 'S': 1, 'U': 0 }; var mountMap = { 'H': 4, 'L': 3, 'M': 2, 'S': 1, 'U': 0 };
var commonMap = { 'RB': 0, 'TM': 1, 'FH': 2, 'EC': 3, 'PC': 4, 'SS': 5, 'FS': 6 }; var standardMap = { 'RB': 0, 'TM': 1, 'FH': 2, 'EC': 3, 'PC': 4, 'SS': 5, 'FS': 6 };
var bhMap = { 'lightweight alloy': 0, 'reinforced alloy': 1, 'military grade composite': 2, 'mirrored surface composite': 3, 'reactive surface composite': 4 }; var bhMap = { 'lightweight alloy': 0, 'reinforced alloy': 1, 'military grade composite': 2, 'mirrored surface composite': 3, 'reactive surface composite': 4 };
function isEmptySlot(slot) { function isEmptySlot(slot) {
@@ -26,8 +26,8 @@ angular.module('app').controller('ImportController', ['lodash', '$rootScope', '$
if (!shipData) { if (!shipData) {
throw '"' + shipId + '" is not a valid Ship Id!'; throw '"' + shipId + '" is not a valid Ship Id!';
} }
if (typeof name != 'string' || name.length < 3) { if (typeof name != 'string' || name.length == 0) {
throw shipData.properties.name + ' build "' + name + '" must be a string at least 3 characters long!'; throw shipData.properties.name + ' build "' + name + '" must be a string at least 1 character long!';
} }
if (typeof code != 'string' || code.length < 10) { if (typeof code != 'string' || code.length < 10) {
throw shipData.properties.name + ' build "' + name + '" is not valid!'; throw shipData.properties.name + ' build "' + name + '" is not valid!';
@@ -45,6 +45,10 @@ angular.module('app').controller('ImportController', ['lodash', '$rootScope', '$
throw 'Build Name missing!'; throw 'Build Name missing!';
} }
if (!detailedBuild.name.trim()) {
throw 'Build Name must be a string at least 1 character long!';
}
try { try {
ship = Serializer.fromDetailedBuild(detailedBuild); ship = Serializer.fromDetailedBuild(detailedBuild);
} catch (e) { } catch (e) {
@@ -133,7 +137,7 @@ angular.module('app').controller('ImportController', ['lodash', '$rootScope', '$
var name = parts[6].trim(); var name = parts[6].trim();
var slot, group; var slot, group;
if (isNaN(typeSize)) { // Common or Hardpoint if (isNaN(typeSize)) { // Standard or Hardpoint
if (typeSize.length == 1) { // Hardpoint if (typeSize.length == 1) { // Hardpoint
var slotClass = mountMap[typeSize]; var slotClass = mountMap[typeSize];
@@ -158,12 +162,12 @@ angular.module('app').controller('ImportController', ['lodash', '$rootScope', '$
ship.useBulkhead(bhId, true); ship.useBulkhead(bhId, true);
} else if (commonMap[typeSize] != undefined) { } else if (standardMap[typeSize] != undefined) {
var commonIndex = commonMap[typeSize]; var standardIndex = standardMap[typeSize];
if (ship.common[commonIndex].maxClass < cl) { throw name + ' exceeds max class for the ' + ship.name; } if (ship.standard[standardIndex].maxClass < cl) { throw name + ' exceeds max class for the ' + ship.name; }
ship.use(ship.common[commonIndex], cl + rating, Components.common(commonIndex, cl + rating), true); ship.use(ship.standard[standardIndex], cl + rating, Components.standard(standardIndex, cl + rating), true);
} else { } else {
throw 'Unknown component: "' + line + '"'; throw 'Unknown component: "' + line + '"';
@@ -213,7 +217,7 @@ angular.module('app').controller('ImportController', ['lodash', '$rootScope', '$
if (importData instanceof Array) { // Must be detailed export json if (importData instanceof Array) { // Must be detailed export json
importDetailedArray(importData); importDetailedArray(importData);
} else if (importData.ship && importData.name) { // Using JSON from a single ship build export } else if (importData.ship && typeof importData.name !== undefined) { // Using JSON from a single ship build export
importDetailedArray([importData]); // Convert to array with singleobject importDetailedArray([importData]); // Convert to array with singleobject
} else { // Using Backup JSON } else { // Using Backup JSON
importBackup(importData); importBackup(importData);

View File

@@ -12,17 +12,17 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
ship.buildWith(data.defaults); // Populate with default components ship.buildWith(data.defaults); // Populate with default components
} }
$scope.buildName = $p.bn; $scope.buildName = $p.bn ? $window.decodeURIComponent($p.bn) : null;
$scope.ships = Ships; $scope.ships = Ships;
$rootScope.title = ship.name + ($scope.buildName ? ' - ' + $scope.buildName : ''); $rootScope.title = ship.name + ($scope.buildName ? ' - ' + $scope.buildName : '');
$scope.ship = ship; $scope.ship = ship;
$scope.pp = ship.common[0]; // Power Plant $scope.pp = ship.standard[0]; // Power Plant
$scope.th = ship.common[1]; // Thruster $scope.th = ship.standard[1]; // Thruster
$scope.fsd = ship.common[2]; // Frame Shrift Drive $scope.fsd = ship.standard[2]; // Frame Shrift Drive
$scope.ls = ship.common[3]; // Life Support $scope.ls = ship.standard[3]; // Life Support
$scope.pd = ship.common[4]; // Power Distributor $scope.pd = ship.standard[4]; // Power Distributor
$scope.ss = ship.common[5]; // Sensors $scope.ss = ship.standard[5]; // Sensors
$scope.ft = ship.common[6]; // Fuel Tank $scope.ft = ship.standard[6]; // Fuel Tank
$scope.hps = ship.hardpoints; $scope.hps = ship.hardpoints;
$scope.internal = ship.internal; $scope.internal = ship.internal;
$scope.costList = ship.costList; $scope.costList = ship.costList;
@@ -40,8 +40,8 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
$scope.retroPredicate = 'netCost'; $scope.retroPredicate = 'netCost';
$scope.costDesc = true; $scope.costDesc = true;
$scope.costPredicate = 'c.cost'; $scope.costPredicate = 'c.cost';
$scope.ammoDesc = false; $scope.ammoDesc = true;
$scope.ammoPredicate = 'ammoName'; $scope.ammoPredicate = 'ammoUnitCost';
$scope.costTab = Persist.getCostTab() || 'costs'; $scope.costTab = Persist.getCostTab() || 'costs';
if ($scope.savedCode) { if ($scope.savedCode) {
@@ -166,7 +166,7 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
} else if (type == 'h') { } else if (type == 'h') {
ship.use(slot, id, Components.hardpoints(id)); ship.use(slot, id, Components.hardpoints(id));
} else if (type == 'c') { } else if (type == 'c') {
ship.use(slot, id, Components.common(ship.common.indexOf(slot), id)); ship.use(slot, id, Components.standard(ship.standard.indexOf(slot), id));
} else if (type == 'i') { } else if (type == 'i') {
ship.use(slot, id, Components.internal(id)); ship.use(slot, id, Components.internal(id));
} else if (type == 'b') { } else if (type == 'b') {
@@ -204,12 +204,12 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
* Optimize for the lower mass build that can still boost and power the ship * Optimize for the lower mass build that can still boost and power the ship
* without power management. * without power management.
*/ */
$scope.optimizeCommon = function() { $scope.optimizeStandard = function() {
updateState(Serializer.fromShip(ship.useLightestCommon())); updateState(Serializer.fromShip(ship.useLightestStandard()));
}; };
$scope.useCommon = function(rating) { $scope.useStandard = function(rating) {
updateState(Serializer.fromShip(ship.useCommon(rating))); updateState(Serializer.fromShip(ship.useStandard(rating)));
}; };
$scope.useHardpoint = function(group, mount, clobber, missile) { $scope.useHardpoint = function(group, mount, clobber, missile) {
@@ -274,12 +274,12 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
var id = Components.findInternalId('cr', slot.maxClass, 'E'); var id = Components.findInternalId('cr', slot.maxClass, 'E');
ship.use(slot, id, Components.internal(id)); ship.use(slot, id, Components.internal(id));
}); });
ship.useLightestCommon(); ship.useLightestStandard();
updateState(Serializer.fromShip(ship)); updateState(Serializer.fromShip(ship));
}; };
/** /**
* Optimize common and internal components, hardpoints for exploration * Optimize standard and internal components, hardpoints for exploration
*/ */
$scope.optimizeExplorer = function() { $scope.optimizeExplorer = function() {
var intLength = ship.internal.length, var intLength = ship.internal.length,
@@ -338,7 +338,7 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
} }
} }
ship.useLightestCommon({ pd: '1D', ppRating: 'A' }); ship.useLightestStandard({ pd: '1D', ppRating: 'A' });
updateState(Serializer.fromShip(ship)); updateState(Serializer.fromShip(ship));
}; };
@@ -461,6 +461,7 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
$scope.fuelChange = function(fuel) { $scope.fuelChange = function(fuel) {
$scope.fuel = fuel; $scope.fuel = fuel;
updateAmmoCosts();
win.triggerHandler('render'); win.triggerHandler('render');
}; };
@@ -526,7 +527,7 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
} }
} }
for (var g in { common: 1, internal: 1, hardpoints: 1 }) { for (var g in { standard: 1, internal: 1, hardpoints: 1 }) {
var retroSlotGroup = retrofitShip[g]; var retroSlotGroup = retrofitShip[g];
var slotGroup = ship[g]; var slotGroup = ship[g];
for (i = 0, l = slotGroup.length; i < l; i++) { for (i = 0, l = slotGroup.length; i < l; i++) {
@@ -555,29 +556,35 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
function updateAmmoCosts() { function updateAmmoCosts() {
var costs = $scope.ammoList = []; var costs = $scope.ammoList = [];
var total = 0, i, l, item; var total = 0, i, l, item, q, limpets = 0, srvs = 0, scoop = false;
for (var g in { common: 1, internal: 1, hardpoints: 1 }) { for (var g in { standard: 1, internal: 1, hardpoints: 1 }) {
var slotGroup = ship[g]; var slotGroup = ship[g];
for (i = 0, l = slotGroup.length; i < l; i++) { for (i = 0, l = slotGroup.length; i < l; i++) {
var q = 0;
if (slotGroup[i].id) { if (slotGroup[i].id) {
//special cases needed for fuel, SCB and AFMU since they don't use standard ammo/clip //special cases needed for SCB, AFMU, and limpet controllers since they don't use standard ammo/clip
if (slotGroup[i].c.grp == 'ft') { q = 0;
q = slotGroup[i].c.capacity; switch (slotGroup[i].c.grp) {
slotGroup[i].c.ammocost = 50; case 'fs': //skip fuel calculation if scoop present
} scoop = true;
if (slotGroup[i].c.grp == 'scb') { break;
q = slotGroup[i].c.cells; case 'scb':
} q = slotGroup[i].c.cells;
if (slotGroup[i].c.grp == 'am') { break;
q = slotGroup[i].c.ammo; case 'am':
q = slotGroup[i].c.ammo;
break;
case 'fx': case 'hb': case 'cc': case 'pc':
limpets = ship.cargoCapacity;
break;
case 'pv':
srvs += slotGroup[i].c.vehicles;
break;
default:
q = slotGroup[i].c.clip + slotGroup[i].c.ammo;
} }
//calculate ammo costs only if a cost is specified //calculate ammo costs only if a cost is specified
if (slotGroup[i].c.ammocost > 0) { if (slotGroup[i].c.ammocost > 0) {
if (q == 0) {
q = slotGroup[i].c.clip + slotGroup[i].c.ammo;
}
item = { item = {
ammoClassRating: slotGroup[i].c.class + slotGroup[i].c.rating, ammoClassRating: slotGroup[i].c.class + slotGroup[i].c.rating,
ammoName: slotGroup[i].c.name || slotGroup[i].c.grp, ammoName: slotGroup[i].c.name || slotGroup[i].c.grp,
@@ -591,6 +598,40 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
} }
} }
} }
//limpets if controllers exist and cargo space available
if (srvs > 0) {
item = {
ammoName: 'SRVs',
ammoMax: srvs,
ammoUnitCost: 6005,
ammoTotalCost: srvs * 6005
};
costs.push(item);
total += item.ammoTotalCost;
}
//limpets if controllers exist and cargo space available
if (limpets > 0) {
item = {
ammoName: 'limpets',
ammoMax: ship.cargoCapacity,
ammoUnitCost: 101,
ammoTotalCost: ship.cargoCapacity * 101
};
costs.push(item);
total += item.ammoTotalCost;
}
//calculate refuel costs if no scoop present
if (!scoop) {
item = {
ammoName: 'fuel',
ammoMax: $scope.fuel,
ammoUnitCost: 50,
ammoTotalCost: $scope.fuel * 50
};
costs.push(item);
total += item.ammoTotalCost;
}
$scope.ammoTotal = total; $scope.ammoTotal = total;
} }

View File

@@ -1,4 +1,4 @@
angular.module('app').controller('ShipyardController', ['$rootScope', '$scope', 'ShipsDB', 'Ship', 'Components', function($rootScope, $scope, ShipsDB, Ship, Components) { angular.module('app').controller('ShipyardController', ['$rootScope', '$scope', 'ShipsDB', 'Ship', 'Components', function($rootScope, $scope, ShipsDB, Ship, Components) {
$rootScope.title = 'Coriolis - Shipyard'; $rootScope.title = 'Coriolis - Shipyard';
$scope.shipPredicate = 'properties.name'; $scope.shipPredicate = 'properties.name';
$scope.shipDesc = false; $scope.shipDesc = false;
@@ -31,7 +31,7 @@ angular.module('app').controller('ShipyardController', ['$rootScope', '$scope',
summary.retailCost = ship.totalCost; // Record Stock/Default/retail cost summary.retailCost = ship.totalCost; // Record Stock/Default/retail cost
ship.optimizeMass({ pd: '1D' }); // Optimize Mass with 1D PD for maximum possible jump range ship.optimizeMass({ pd: '1D' }); // Optimize Mass with 1D PD for maximum possible jump range
summary.maxJumpRange = ship.unladenRange; // Record Jump Range summary.maxJumpRange = ship.unladenRange; // Record Jump Range
ship.optimizeMass({ th: ship.common[1].maxClass + 'A' }); // Optmize mass with Max Thrusters ship.optimizeMass({ th: ship.standard[1].maxClass + 'A' }); // Optmize mass with Max Thrusters
summary.topSpeed = ship.topSpeed; summary.topSpeed = ship.topSpeed;
summary.topBoost = ship.topBoost; summary.topBoost = ship.topBoost;

View File

@@ -6,7 +6,7 @@ angular.module('app').directive('componentSelect', ['$translate', function($tran
var prevClass = null, prevRating = null; var prevClass = null, prevRating = null;
for (var i = 0; i < opts.length; i++) { for (var i = 0; i < opts.length; i++) {
var o = opts[i]; var o = opts[i];
var id = o.id || (o.class + o.rating); // Common components' ID is their class and rating var id = o.id || (o.class + o.rating); // Standard components' ID is their class and rating
if (i > 0 && opts.length > 3 && o.class != prevClass && (o.rating != prevRating || o.mode) && o.grp != 'pa') { if (i > 0 && opts.length > 3 && o.class != prevClass && (o.rating != prevRating || o.mode) && o.grp != 'pa') {
list.push('<br/>'); list.push('<br/>');

View File

@@ -115,6 +115,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
laden: 'Beladen', laden: 'Beladen',
language: 'Sprache', language: 'Sprache',
large: 'Groß', large: 'Groß',
limpets: 'Krallen',
ls: 'Lebenserhaltung', ls: 'Lebenserhaltung',
'Lightweight Alloy': 'Leichte Legierung', 'Lightweight Alloy': 'Leichte Legierung',
'lock factor': 'Massensperrefaktor', 'lock factor': 'Massensperrefaktor',

View File

@@ -24,6 +24,7 @@ angular.module('app').config(['$translateProvider', function($translateProvider)
'build name': 'Build Name', 'build name': 'Build Name',
builds: 'builds', builds: 'builds',
bh: 'bulkheads', bh: 'bulkheads',
'bsg': 'Bi-Weave Shield Generator',
ul: 'Burst Laser', ul: 'Burst Laser',
buy: 'buy', buy: 'buy',
cancel: 'cancel', cancel: 'cancel',
@@ -105,6 +106,7 @@ angular.module('app').config(['$translateProvider', function($translateProvider)
laden: 'laden', laden: 'laden',
language: 'language', language: 'language',
large: 'large', large: 'large',
'limpets': 'Limpets',
ls: 'life support', ls: 'life support',
'Lightweight Alloy': 'Lightweight Alloy', 'Lightweight Alloy': 'Lightweight Alloy',
'lock factor': 'lock factor', 'lock factor': 'lock factor',
@@ -152,6 +154,7 @@ angular.module('app').config(['$translateProvider', function($translateProvider)
proceed: 'proceed', proceed: 'proceed',
pc: 'Prospector Limpet Controller', pc: 'Prospector Limpet Controller',
pl: 'Pulse Laser', pl: 'Pulse Laser',
pv: 'Planetary Vehicle Hangar',
PWR: 'PWR', PWR: 'PWR',
rg: 'Rail Gun', rg: 'Rail Gun',
range: 'range', range: 'range',

View File

@@ -115,6 +115,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
'large': 'Grande', 'large': 'Grande',
'ls': 'Soporte vital', 'ls': 'Soporte vital',
'Lightweight Alloy': 'Aleaci\u00f3n ligera', 'Lightweight Alloy': 'Aleaci\u00f3n ligera',
'limpets': 'Drones',
'lock factor': 'factor de bloqueo', 'lock factor': 'factor de bloqueo',
'mass': 'Masa', 'mass': 'Masa',
'max': 'm\u00e1x', 'max': 'm\u00e1x',

View File

@@ -46,7 +46,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
cells: 'Cellules', cells: 'Cellules',
'Chaff Launcher': 'Lanceur de paillettes', 'Chaff Launcher': 'Lanceur de paillettes',
close: 'fermer', close: 'fermer',
cc: 'Contrôleur de prospecteur', cc: 'Contrôleur de Collecteur',
compare: 'comparer', compare: 'comparer',
'compare all': 'tout comparer', 'compare all': 'tout comparer',
comparison: 'comparaison', comparison: 'comparaison',
@@ -106,6 +106,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
large: 'large', large: 'large',
ls: 'Systèmes de survie', ls: 'Systèmes de survie',
'Lightweight Alloy': 'alliage léger', 'Lightweight Alloy': 'alliage léger',
'limpets': 'Patelles',
'lock factor': 'facteur inhibition de masse', 'lock factor': 'facteur inhibition de masse',
LS: 'SL', LS: 'SL',
LY: 'AL', LY: 'AL',

View File

@@ -15,7 +15,7 @@ angular.module('app').config(['$translateProvider', function($translateProvider)
}]) }])
.value('Languages', { .value('Languages', {
en: 'English', en: 'English',
de: 'Deutsh', de: 'Deutsch',
it: 'Italiano', it: 'Italiano',
es: 'Español', es: 'Español',
fr: 'Français', fr: 'Français',

View File

@@ -124,6 +124,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
large: 'большой', large: 'большой',
ls: 'Система жизнеобеспечения', ls: 'Система жизнеобеспечения',
'Lightweight Alloy': 'Легкий сплав', 'Lightweight Alloy': 'Легкий сплав',
'limpets': 'Дроны',
'lock factor': 'Масс. блок', 'lock factor': 'Масс. блок',
LS: 'Св.сек', LS: 'Св.сек',
LY: 'Св.лет', LY: 'Св.лет',

View File

@@ -16,7 +16,7 @@ angular.module('app').service('Serializer', ['lodash', 'GroupMap', 'MountMap', '
var data = [ var data = [
ship.bulkheads.id, ship.bulkheads.id,
_.map(ship.common, mapGroup, power), _.map(ship.standard, mapGroup, power),
_.map(ship.hardpoints, mapGroup, power), _.map(ship.hardpoints, mapGroup, power),
_.map(ship.internal, mapGroup, power), _.map(ship.internal, mapGroup, power),
'.', '.',
@@ -36,7 +36,7 @@ angular.module('app').service('Serializer', ['lodash', 'GroupMap', 'MountMap', '
* @param {string} dataString The string to deserialize * @param {string} dataString The string to deserialize
*/ */
this.toShip = function(ship, dataString) { this.toShip = function(ship, dataString) {
var common = new Array(ship.common.length), var standard = new Array(ship.standard.length),
hardpoints = new Array(ship.hardpoints.length), hardpoints = new Array(ship.hardpoints.length),
internal = new Array(ship.internal.length), internal = new Array(ship.internal.length),
parts = dataString.split('.'), parts = dataString.split('.'),
@@ -52,12 +52,12 @@ angular.module('app').service('Serializer', ['lodash', 'GroupMap', 'MountMap', '
priorities = LZString.decompressFromBase64(parts[2].replace(/-/g, '/')).split(''); priorities = LZString.decompressFromBase64(parts[2].replace(/-/g, '/')).split('');
} }
decodeToArray(code, internal, decodeToArray(code, hardpoints, decodeToArray(code, common, 1))); decodeToArray(code, internal, decodeToArray(code, hardpoints, decodeToArray(code, standard, 1)));
ship.buildWith( ship.buildWith(
{ {
bulkheads: code.charAt(0) * 1, bulkheads: code.charAt(0) * 1,
common: common, standard: standard,
hardpoints: hardpoints, hardpoints: hardpoints,
internal: internal internal: internal
}, },
@@ -67,7 +67,7 @@ angular.module('app').service('Serializer', ['lodash', 'GroupMap', 'MountMap', '
}; };
this.toDetailedBuild = function(buildName, ship, code) { this.toDetailedBuild = function(buildName, ship, code) {
var standard = ship.common, var standard = ship.standard,
hardpoints = ship.hardpoints, hardpoints = ship.hardpoints,
internal = ship.internal; internal = ship.internal;
@@ -128,7 +128,7 @@ angular.module('app').service('Serializer', ['lodash', 'GroupMap', 'MountMap', '
throw 'Invalid bulkheads: ' + standard.bulkheads; throw 'Invalid bulkheads: ' + standard.bulkheads;
} }
var common = _.map( var standardIds = _.map(
['powerPlant', 'thrusters', 'frameShiftDrive', 'lifeSupport', 'powerDistributor', 'sensors', 'fuelTank'], ['powerPlant', 'thrusters', 'frameShiftDrive', 'lifeSupport', 'powerDistributor', 'sensors', 'fuelTank'],
function(c) { function(c) {
if (!standard[c].class || !standard[c].rating) { if (!standard[c].class || !standard[c].rating) {
@@ -156,7 +156,7 @@ angular.module('app').service('Serializer', ['lodash', 'GroupMap', 'MountMap', '
_.map(comps.utility, function(c) { return (!c || c.enabled === undefined) ? true : c.enabled * 1; }), _.map(comps.utility, function(c) { return (!c || c.enabled === undefined) ? true : c.enabled * 1; }),
_.map(comps.internal, function(c) { return (!c || c.enabled === undefined) ? true : c.enabled * 1; })); _.map(comps.internal, function(c) { return (!c || c.enabled === undefined) ? true : c.enabled * 1; }));
ship.buildWith({ bulkheads: bulkheads, common: common, hardpoints: hardpoints, internal: internal }, priorities, enabled); ship.buildWith({ bulkheads: bulkheads, standard: standardIds, hardpoints: hardpoints, internal: internal }, priorities, enabled);
return ship; return ship;
}; };

View File

@@ -13,28 +13,28 @@ angular.module('shipyard').factory('ComponentSet', ['lodash', function(_) {
return maxClass; return maxClass;
} }
function ComponentSet(components, mass, maxCommonArr, maxInternal, maxHardPoint) { function ComponentSet(components, mass, maxStandardArr, maxInternal, maxHardPoint) {
this.mass = mass; this.mass = mass;
this.common = {}; this.standard = {};
this.internal = {}; this.internal = {};
this.hardpoints = {}; this.hardpoints = {};
this.hpClass = {}; this.hpClass = {};
this.intClass = {}; this.intClass = {};
this.common[0] = filter(components.common[0], maxCommonArr[0], 0, mass); // Power Plant this.standard[0] = filter(components.standard[0], maxStandardArr[0], 0, mass); // Power Plant
this.common[2] = filter(components.common[2], maxCommonArr[2], 0, mass); // FSD this.standard[2] = filter(components.standard[2], maxStandardArr[2], 0, mass); // FSD
this.common[4] = filter(components.common[4], maxCommonArr[4], 0, mass); // Power Distributor this.standard[4] = filter(components.standard[4], maxStandardArr[4], 0, mass); // Power Distributor
this.common[6] = filter(components.common[6], maxCommonArr[6], 0, mass); // Fuel Tank this.standard[6] = filter(components.standard[6], maxStandardArr[6], 0, mass); // Fuel Tank
// Thrusters, filter components by class only (to show full list of ratings for that class) // Thrusters, filter components by class only (to show full list of ratings for that class)
var minThrusterClass = _.reduce(components.common[1], function(minClass, thruster) { var minThrusterClass = _.reduce(components.standard[1], function(minClass, thruster) {
return (thruster.maxmass >= mass && thruster.class < minClass) ? thruster.class : minClass; return (thruster.maxmass >= mass && thruster.class < minClass) ? thruster.class : minClass;
}, maxCommonArr[1]); }, maxStandardArr[1]);
this.common[1] = filter(components.common[1], maxCommonArr[1], minThrusterClass, 0); // Thrusters this.standard[1] = filter(components.standard[1], maxStandardArr[1], minThrusterClass, 0); // Thrusters
// Slots where component class must be equal to slot class // Slots where component class must be equal to slot class
this.common[3] = filter(components.common[3], maxCommonArr[3], maxCommonArr[3], 0); // Life Supprt this.standard[3] = filter(components.standard[3], maxStandardArr[3], maxStandardArr[3], 0); // Life Supprt
this.common[5] = filter(components.common[5], maxCommonArr[5], maxCommonArr[5], mass); // Sensors this.standard[5] = filter(components.standard[5], maxStandardArr[5], maxStandardArr[5], mass); // Sensors
for (var h in components.hardpoints) { for (var h in components.hardpoints) {
this.hardpoints[h] = filter(components.hardpoints[h], maxHardPoint, 0, mass); this.hardpoints[h] = filter(components.hardpoints[h], maxHardPoint, 0, mass);
@@ -94,7 +94,7 @@ angular.module('shipyard').factory('ComponentSet', ['lodash', function(_) {
} }
ComponentSet.prototype.lightestPowerDist = function(boostEnergy) { ComponentSet.prototype.lightestPowerDist = function(boostEnergy) {
var pds = this.common[4]; var pds = this.standard[4];
var pd = pds[0]; var pd = pds[0];
for (var i = 1; i < pds.length; i++) { for (var i = 1; i < pds.length; i++) {
@@ -106,7 +106,7 @@ angular.module('shipyard').factory('ComponentSet', ['lodash', function(_) {
}; };
ComponentSet.prototype.lightestThruster = function(ladenMass) { ComponentSet.prototype.lightestThruster = function(ladenMass) {
var ths = this.common[1]; var ths = this.standard[1];
var th = ths[0]; var th = ths[0];
for (var i = 1; i < ths.length; i++) { for (var i = 1; i < ths.length; i++) {
@@ -129,7 +129,7 @@ angular.module('shipyard').factory('ComponentSet', ['lodash', function(_) {
}; };
ComponentSet.prototype.lightestPowerPlant = function(powerUsed, rating) { ComponentSet.prototype.lightestPowerPlant = function(powerUsed, rating) {
var pps = this.common[0]; var pps = this.standard[0];
var pp = null; var pp = null;
for (var i = 0; i < pps.length; i++) { for (var i = 0; i < pps.length; i++) {

View File

@@ -20,7 +20,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
* *
* @param {string} id Unique ship Id / Key * @param {string} id Unique ship Id / Key
* @param {object} properties Basic ship properties such as name, manufacturer, mass, etc * @param {object} properties Basic ship properties such as name, manufacturer, mass, etc
* @param {object} slots Collection of slot groups (standard/common, internal, hardpoints) with their max class size. * @param {object} slots Collection of slot groups (standard/standard, internal, hardpoints) with their max class size.
*/ */
function Ship(id, properties, slots) { function Ship(id, properties, slots) {
this.id = id; this.id = id;
@@ -32,7 +32,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
for (var slotType in slots) { // Initialize all slots for (var slotType in slots) { // Initialize all slots
var slotGroup = slots[slotType]; var slotGroup = slots[slotType];
var group = this[slotType] = []; // Initialize Slot group (Common, Hardpoints, Internal) var group = this[slotType] = []; // Initialize Slot group (Standard, Hardpoints, Internal)
for (var i = 0; i < slotGroup.length; i++) { for (var i = 0; i < slotGroup.length; i++) {
if (typeof slotGroup[i] == 'object') { if (typeof slotGroup[i] == 'object') {
group.push({ id: null, c: null, incCost: true, maxClass: slotGroup[i].class, eligible: slotGroup[i].eligible }); group.push({ id: null, c: null, incCost: true, maxClass: slotGroup[i].class, eligible: slotGroup[i].eligible });
@@ -44,18 +44,18 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
// Make a Ship 'slot'/item similar to other slots // Make a Ship 'slot'/item similar to other slots
this.c = { incCost: true, type: 'SHIP', discountedCost: this.hullCost, c: { name: this.name, cost: this.hullCost } }; this.c = { incCost: true, type: 'SHIP', discountedCost: this.hullCost, c: { name: this.name, cost: this.hullCost } };
this.costList = _.union(this.internal, this.common, this.hardpoints); this.costList = _.union(this.internal, this.standard, this.hardpoints);
this.costList.push(this.bulkheads); // Add The bulkheads this.costList.push(this.bulkheads); // Add The bulkheads
this.costList.unshift(this.c); // Add the ship itself to the list this.costList.unshift(this.c); // Add the ship itself to the list
this.powerList = _.union(this.internal, this.hardpoints); this.powerList = _.union(this.internal, this.hardpoints);
this.powerList.unshift(this.cargoHatch); this.powerList.unshift(this.cargoHatch);
this.powerList.unshift(this.common[1]); // Add Thrusters this.powerList.unshift(this.standard[1]); // Add Thrusters
this.powerList.unshift(this.common[5]); // Add Sensors this.powerList.unshift(this.standard[5]); // Add Sensors
this.powerList.unshift(this.common[4]); // Add Power Distributor this.powerList.unshift(this.standard[4]); // Add Power Distributor
this.powerList.unshift(this.common[3]); // Add Life Support this.powerList.unshift(this.standard[3]); // Add Life Support
this.powerList.unshift(this.common[2]); // Add FSD this.powerList.unshift(this.standard[2]); // Add FSD
this.powerList.unshift(this.common[0]); // Add Power Plant this.powerList.unshift(this.standard[0]); // Add Power Plant
this.shipCostMultiplier = 1; this.shipCostMultiplier = 1;
this.componentCostMultiplier = 1; this.componentCostMultiplier = 1;
@@ -99,7 +99,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
* @return {number} Jump range in Light Years * @return {number} Jump range in Light Years
*/ */
Ship.prototype.getJumpRangeForMass = function(mass, fuel) { Ship.prototype.getJumpRangeForMass = function(mass, fuel) {
return calcJumpRange(mass, this.common[2].c, fuel); return calcJumpRange(mass, this.standard[2].c, fuel);
}; };
/** /**
@@ -110,9 +110,9 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
*/ */
Ship.prototype.findInternalByGroup = function(group) { Ship.prototype.findInternalByGroup = function(group) {
var index; var index;
if (group == 'sg' || group == 'psg') { if (group == 'sg' || group == 'psg' || group == 'bsg') {
index = _.findIndex(this.internal, function(slot) { index = _.findIndex(this.internal, function(slot) {
return slot.c && (slot.c.grp == 'sg' || slot.c.grp == 'psg'); return slot.c && (slot.c.grp == 'sg' || slot.c.grp == 'psg' || slot.c.grp == 'bsg');
}); });
} else { } else {
index = _.findIndex(this.internal, function(slot) { index = _.findIndex(this.internal, function(slot) {
@@ -160,10 +160,10 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
*/ */
Ship.prototype.buildWith = function(comps, priorities, enabled) { Ship.prototype.buildWith = function(comps, priorities, enabled) {
var internal = this.internal, var internal = this.internal,
common = this.common, standard = this.standard,
hps = this.hardpoints, hps = this.hardpoints,
bands = this.priorityBands, bands = this.priorityBands,
cl = common.length, cl = standard.length,
i, l; i, l;
// Reset Cumulative stats // Reset Cumulative stats
@@ -193,26 +193,26 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
} }
for (i = 0; i < cl; i++) { for (i = 0; i < cl; i++) {
common[i].cat = 0; standard[i].cat = 0;
common[i].enabled = enabled ? enabled[i + 1] * 1 : true; standard[i].enabled = enabled ? enabled[i + 1] * 1 : true;
common[i].priority = priorities ? priorities[i + 1] * 1 : 0; standard[i].priority = priorities && priorities[i + 1] ? priorities[i + 1] * 1 : 0;
common[i].type = 'SYS'; standard[i].type = 'SYS';
common[i].c = common[i].id = null; // Resetting 'old' component if there was one standard[i].c = standard[i].id = null; // Resetting 'old' component if there was one
common[i].discountedCost = 0; standard[i].discountedCost = 0;
if (comps) { if (comps) {
this.use(common[i], comps.common[i], Components.common(i, comps.common[i]), true); this.use(standard[i], comps.standard[i], Components.standard(i, comps.standard[i]), true);
} }
} }
common[1].type = 'ENG'; // Thrusters standard[1].type = 'ENG'; // Thrusters
common[2].type = 'ENG'; // FSD standard[2].type = 'ENG'; // FSD
cl++; // Increase accounts for Cargo Scoop cl++; // Increase accounts for Cargo Scoop
for (i = 0, l = hps.length; i < l; i++) { for (i = 0, l = hps.length; i < l; i++) {
hps[i].cat = 1; hps[i].cat = 1;
hps[i].enabled = enabled ? enabled[cl + i] * 1 : true; hps[i].enabled = enabled ? enabled[cl + i] * 1 : true;
hps[i].priority = priorities ? priorities[cl + i] * 1 : 0; hps[i].priority = priorities && priorities[cl + i] ? priorities[cl + i] * 1 : 0;
hps[i].type = hps[i].maxClass ? 'WEP' : 'SYS'; hps[i].type = hps[i].maxClass ? 'WEP' : 'SYS';
hps[i].c = hps[i].id = null; // Resetting 'old' component if there was one hps[i].c = hps[i].id = null; // Resetting 'old' component if there was one
hps[i].discountedCost = 0; hps[i].discountedCost = 0;
@@ -227,7 +227,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
for (i = 0, l = internal.length; i < l; i++) { for (i = 0, l = internal.length; i < l; i++) {
internal[i].cat = 2; internal[i].cat = 2;
internal[i].enabled = enabled ? enabled[cl + i] * 1 : true; internal[i].enabled = enabled ? enabled[cl + i] * 1 : true;
internal[i].priority = priorities ? priorities[cl + i] * 1 : 0; internal[i].priority = priorities && priorities[cl + i] ? priorities[cl + i] * 1 : 0;
internal[i].type = 'SYS'; internal[i].type = 'SYS';
internal[i].id = internal[i].c = null; // Resetting 'old' component if there was one internal[i].id = internal[i].c = null; // Resetting 'old' component if there was one
internal[i].discountedCost = 0; internal[i].discountedCost = 0;
@@ -283,10 +283,10 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
/** /**
* Optimize for the lower mass build that can still boost and power the ship * Optimize for the lower mass build that can still boost and power the ship
* without power management. * without power management.
* @param {object} c Common Component overrides * @param {object} c Standard Component overrides
*/ */
Ship.prototype.optimizeMass = function(c) { Ship.prototype.optimizeMass = function(c) {
return this.emptyHardpoints().emptyInternal().useLightestCommon(c); return this.emptyHardpoints().emptyInternal().useLightestStandard(c);
}; };
Ship.prototype.setCostIncluded = function(item, included) { Ship.prototype.setCostIncluded = function(item, included) {
@@ -303,7 +303,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
if (slot.c) { if (slot.c) {
this.priorityBands[slot.priority][powerUsageType(slot, slot.c)] += enabled ? slot.c.power : -slot.c.power; this.priorityBands[slot.priority][powerUsageType(slot, slot.c)] += enabled ? slot.c.power : -slot.c.power;
if (slot.c.grp == 'sg' || slot.c.grp == 'psg') { if (slot.c.grp == 'sg' || slot.c.grp == 'psg' || slot.c.grp == 'bsg') {
this.updateShieldStrength(); this.updateShieldStrength();
} else if (slot.c.grp == 'sb') { } else if (slot.c.grp == 'sb') {
this.shieldMultiplier += slot.c.shieldmul * (enabled ? 1 : -1); this.shieldMultiplier += slot.c.shieldmul * (enabled ? 1 : -1);
@@ -322,7 +322,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
* Updates the ship's cumulative and aggregated stats based on the component change. * Updates the ship's cumulative and aggregated stats based on the component change.
*/ */
Ship.prototype.updateStats = function(slot, n, old, preventUpdate) { Ship.prototype.updateStats = function(slot, n, old, preventUpdate) {
var powerChange = slot == this.common[0]; var powerChange = slot == this.standard[0];
if (old) { // Old component now being removed if (old) { // Old component now being removed
switch (old.grp) { switch (old.grp) {
@@ -410,14 +410,14 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
prevDeployed = band.deployedSum = prevDeployed + band.deployed + band.retracted; prevDeployed = band.deployedSum = prevDeployed + band.deployed + band.retracted;
} }
this.powerAvailable = this.common[0].c.pGen; this.powerAvailable = this.standard[0].c.pGen;
this.powerRetracted = prevRetracted; this.powerRetracted = prevRetracted;
this.powerDeployed = prevDeployed; this.powerDeployed = prevDeployed;
return this; return this;
}; };
Ship.prototype.updateTopSpeed = function() { Ship.prototype.updateTopSpeed = function() {
var speeds = calcSpeed(this.unladenMass + this.fuelCapacity, this.speed, this.boost, this.common[1].c, this.pipSpeed); var speeds = calcSpeed(this.unladenMass + this.fuelCapacity, this.speed, this.boost, this.standard[1].c, this.pipSpeed);
this.topSpeed = speeds['4 Pips']; this.topSpeed = speeds['4 Pips'];
this.topBoost = speeds.boost; this.topBoost = speeds.boost;
return this; return this;
@@ -433,7 +433,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
* Jump Range and total range calculations * Jump Range and total range calculations
*/ */
Ship.prototype.updateJumpStats = function() { Ship.prototype.updateJumpStats = function() {
var fsd = this.common[2].c; // Frame Shift Drive; var fsd = this.standard[2].c; // Frame Shift Drive;
this.unladenRange = calcJumpRange(this.unladenMass + fsd.maxfuel, fsd, this.fuelCapacity); // Include fuel weight for jump this.unladenRange = calcJumpRange(this.unladenMass + fsd.maxfuel, fsd, this.fuelCapacity); // Include fuel weight for jump
this.fullTankRange = calcJumpRange(this.unladenMass + this.fuelCapacity, fsd, this.fuelCapacity); // Full Tanke this.fullTankRange = calcJumpRange(this.unladenMass + this.fuelCapacity, fsd, this.fuelCapacity); // Full Tanke
this.ladenRange = calcJumpRange(this.ladenMass, fsd, this.fuelCapacity); this.ladenRange = calcJumpRange(this.ladenMass, fsd, this.fuelCapacity);
@@ -456,7 +456,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
Ship.prototype.use = function(slot, id, component, preventUpdate) { Ship.prototype.use = function(slot, id, component, preventUpdate) {
if (slot.id != id) { // Selecting a different component 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 // 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)) { if (slot.cat == 2 && component && _.includes(['bsg', 'psg', 'sg', 'rf', 'fs'], component.grp)) {
// Find another internal slot that already has this type/group installed // Find another internal slot that already has this type/group installed
var similarSlot = this.findInternalByGroup(component.grp); var similarSlot = this.findInternalByGroup(component.grp);
// If another slot has an installed component with of the same type // If another slot has an installed component with of the same type
@@ -493,37 +493,37 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
}; };
/** /**
* [useCommon description] * [useStandard description]
* @param {[type]} rating [description] * @param {[type]} rating [description]
* @return {[type]} [description] * @return {[type]} [description]
*/ */
Ship.prototype.useCommon = function(rating) { Ship.prototype.useStandard = function(rating) {
for (var i = this.common.length - 1; i--; ) { // All except Fuel Tank for (var i = this.standard.length - 1; i--; ) { // All except Fuel Tank
var id = this.common[i].maxClass + rating; var id = this.standard[i].maxClass + rating;
this.use(this.common[i], id, Components.common(i, id)); this.use(this.standard[i], id, Components.standard(i, id));
} }
return this; return this;
}; };
/** /**
* Use the lightest common components unless otherwise specified * Use the lightest standard components unless otherwise specified
* @param {object} c Component overrides * @param {object} c Component overrides
*/ */
Ship.prototype.useLightestCommon = function(c) { Ship.prototype.useLightestStandard = function(c) {
c = c || {}; c = c || {};
var common = this.common, var standard = this.standard,
pd = c.pd || this.availCS.lightestPowerDist(this.boostEnergy), // Find lightest Power Distributor that can still boost; pd = c.pd || this.availCS.lightestPowerDist(this.boostEnergy), // Find lightest Power Distributor that can still boost;
fsd = c.fsd || common[2].maxClass + 'A', fsd = c.fsd || standard[2].maxClass + 'A',
ls = c.ls || common[3].maxClass + 'D', ls = c.ls || standard[3].maxClass + 'D',
s = c.s || common[5].maxClass + 'D', s = c.s || standard[5].maxClass + 'D',
updated; updated;
this.useBulkhead(0) this.useBulkhead(0)
.use(common[2], fsd, Components.common(2, fsd)) // FSD .use(standard[2], fsd, Components.standard(2, fsd)) // FSD
.use(common[3], ls, Components.common(3, ls)) // Life Support .use(standard[3], ls, Components.standard(3, ls)) // Life Support
.use(common[5], s, Components.common(5, s)) // Sensors .use(standard[5], s, Components.standard(5, s)) // Sensors
.use(common[4], pd, Components.common(4, pd)); // Power Distributor .use(standard[4], pd, Components.standard(4, pd)); // Power Distributor
// Thrusters and Powerplant must be determined after all other components are mounted // Thrusters and Powerplant must be determined after all other components are mounted
// Loop at least once to determine absolute lightest PD and TH // Loop at least once to determine absolute lightest PD and TH
@@ -531,15 +531,15 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
updated = false; updated = false;
// Find lightest Thruster that still works for the ship at max mass // Find lightest Thruster that still works for the ship at max mass
var th = c.th || this.availCS.lightestThruster(this.ladenMass); var th = c.th || this.availCS.lightestThruster(this.ladenMass);
if (th != common[1].id) { if (th != standard[1].id) {
this.use(common[1], th, Components.common(1, th)); this.use(standard[1], th, Components.standard(1, th));
updated = true; updated = true;
} }
// Find lightest Power plant that can power the ship // Find lightest Power plant that can power the ship
var pp = c.pp || this.availCS.lightestPowerPlant(Math.max(this.powerRetracted, this.powerDeployed), c.ppRating); var pp = c.pp || this.availCS.lightestPowerPlant(Math.max(this.powerRetracted, this.powerDeployed), c.ppRating);
if (pp != common[0].id) { if (pp != standard[0].id) {
this.use(common[0], pp, Components.common(0, pp)); this.use(standard[0], pp, Components.standard(0, pp));
updated = true; updated = true;
} }
} while (updated); } while (updated);
@@ -547,8 +547,8 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
return this; return this;
}; };
Ship.prototype.useUtility = function(group, rating, clobber) { Ship.prototype.useUtility = function(group, rating, name, clobber) {
var component = Components.findHardpoint(group, 0, rating); var component = Components.findHardpoint(group, 0, rating, name);
for (var i = this.hardpoints.length; i--; ) { for (var i = this.hardpoints.length; i--; ) {
if ((clobber || !this.hardpoints[i].c) && !this.hardpoints[i].maxClass) { if ((clobber || !this.hardpoints[i].c) && !this.hardpoints[i].maxClass) {
this.use(this.hardpoints[i], component.id, component); this.use(this.hardpoints[i], component.id, component);

View File

@@ -20,7 +20,7 @@ angular.module('shipyard', ['ngLodash'])
.constant('SizeMap', ['', 'small', 'medium', 'large', 'capital']) .constant('SizeMap', ['', 'small', 'medium', 'large', 'capital'])
// Map to lookup group labels/names for component grp, used for JSON Serialization // Map to lookup group labels/names for component grp, used for JSON Serialization
.constant('GroupMap', { .constant('GroupMap', {
// Common // Standard
pp: 'Power Plant', pp: 'Power Plant',
t: 'Thrusters', t: 'Thrusters',
fsd: 'Frame Shift Drive', fsd: 'Frame Shift Drive',
@@ -41,10 +41,12 @@ angular.module('shipyard', ['ngLodash'])
scb: 'Shield Cell Bank', scb: 'Shield Cell Bank',
sg: 'Shield Generator', sg: 'Shield Generator',
psg: 'Prismatic Shield Generator', psg: 'Prismatic Shield Generator',
bsg: 'Bi-Weave Shield Generator',
dc: 'Docking Computer', dc: 'Docking Computer',
fx: 'Fuel Transfer Limpet Controller', fx: 'Fuel Transfer Limpet Controller',
pc: 'Prospector Limpet Controller', pc: 'Prospector Limpet Controller',
cc: 'Collector Limpet Controller', cc: 'Collector Limpet Controller',
pv: 'Planetary Vehicle Hangar',
// Hard Points // Hard Points
bl: 'Beam Laser', bl: 'Beam Laser',
@@ -164,6 +166,7 @@ angular.module('shipyard', ['ngLodash'])
*/ */
.constant('Discounts', { .constant('Discounts', {
'0%': 1, '0%': 1,
'2.5%': 0.975,
'5%': 0.95, '5%': 0.95,
'10%': 0.90, '10%': 0.90,
'15%': 0.85, '15%': 0.85,

View File

@@ -10,8 +10,8 @@ angular.module('shipyard').service('Components', ['lodash', 'ComponentsDB', 'Shi
return { name: 'Cargo Hatch', class: 1, rating: 'H', power: 0.6 }; return { name: 'Cargo Hatch', class: 1, rating: 'H', power: 0.6 };
}; };
this.common = function(typeIndex, componentId) { this.standard = function(typeIndex, componentId) {
return C.common[typeIndex][componentId]; return C.standard[typeIndex][componentId];
}; };
this.hardpoints = function(id) { this.hardpoints = function(id) {
@@ -175,7 +175,7 @@ angular.module('shipyard').service('Components', ['lodash', 'ComponentsDB', 'Shi
this.forShip = function(shipId) { this.forShip = function(shipId) {
var ship = Ships[shipId]; var ship = Ships[shipId];
var maxInternal = isNaN(ship.slots.internal[0]) ? ship.slots.internal[0].class : ship.slots.internal[0]; var maxInternal = isNaN(ship.slots.internal[0]) ? ship.slots.internal[0].class : ship.slots.internal[0];
return new ComponentSet(C, ship.minMassFilter || ship.properties.hullMass + 5, ship.slots.common, maxInternal, ship.slots.hardpoints[0]); return new ComponentSet(C, ship.minMassFilter || ship.properties.hullMass + 5, ship.slots.standard, maxInternal, ship.slots.hardpoints[0]);
}; };
}]); }]);

View File

@@ -1,16 +1,16 @@
@keyframes hideshow { @keyframes outer {
0% { opacity: 0; } 0% { opacity: 0.3; }
10% { opacity: 1; } 20% { opacity: 1; }
100% { opacity: 0; } 100% { opacity: 0.3; }
} }
@keyframes inner { @keyframes inner {
0% { opacity: 0; } 0% { opacity: 0.4; }
10% { opacity: 1; } 20% { opacity: 1; }
100% { opacity: 0; } 100% { opacity: 0.4; }
} }
@animationTime: 750ms; @animationTime: 1000ms;
@outerTriangles: 19; @outerTriangles: 19;
@animationDelay: @animationTime / @outerTriangles; @animationDelay: @animationTime / @outerTriangles;
@@ -23,11 +23,12 @@
} }
} }
.l1 { animation: hideshow @animationTime linear infinite; } .l1 { animation: outer @animationTime linear infinite; }
.l2 { animation: inner @animationTime linear infinite; } .l2 { animation: inner @animationTime linear infinite; }
.mixin-loop (@i) when (@i > 0) { .mixin-loop (@i) when (@i > 0) {
.d@{i} { .d@{i} {
opacity: @i / @outerTriangles;
animation-delay: @i * @animationDelay; animation-delay: @i * @animationDelay;
} }
.mixin-loop(@i - 1); .mixin-loop(@i - 1);

View File

@@ -7,7 +7,8 @@
<div class="l" ng-if="c.c.optmass">{{'optimal mass' | translate}}: {{c.c.optmass}} <u translate="T"></u></div> <div class="l" ng-if="c.c.optmass">{{'optimal mass' | translate}}: {{c.c.optmass}} <u translate="T"></u></div>
<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.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.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>&nbsp;&nbsp;&nbsp;{{'refuel time' | translate}}: {{$r.fTime(fuel * 1000 / c.c.rate)}}</div> <div class="l" ng-if="c.c.rate">{{'rate' | translate}}: {{c.c.rate}} <u>kg/s</u>&nbsp;&nbsp;&nbsp;{{'refuel time' | translate}}: {{$r.fTime(fuel * 1000 / c.c.rate)}}</div>
<div class="l" ng-if="c.c.vehicles">{{'vehicles' | translate}}: {{c.c.vehicles}}</div>
<div class="l" ng-if="c.c.ammo">{{'ammo' | translate}}: {{$r.fCrd(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.cells">{{'cells' | translate}}: {{c.c.cells}}</div>
<div class="l" ng-if="c.c.recharge">{{'recharge' | translate}}: {{c.c.recharge}} <u>MJ</u>&nbsp;&nbsp;&nbsp;{{'total' | translate}}: {{c.c.cells * c.c.recharge}} <u>MJ</u></div> <div class="l" ng-if="c.c.recharge">{{'recharge' | translate}}: {{c.c.recharge}} <u>MJ</u>&nbsp;&nbsp;&nbsp;{{'total' | translate}}: {{c.c.cells * c.c.recharge}} <u>MJ</u></div>

View File

@@ -15,7 +15,7 @@
<div ng-if="path" >Path:<br>{{path}}</div> <div ng-if="path" >Path:<br>{{path}}</div>
<div ng-if="type">Error:<br>{{type}}</div> <div ng-if="type">Error:<br>{{type}}</div>
<div ng-if="errorMessage">Message:<pre>{{errorMessage}}</pre></div> <div ng-if="errorMessage">Message:<pre>{{errorMessage}}</pre></div>
<div ng-if="details">Details:<br><pre>{{details}}<pre></div> <div ng-if="details">Details:<br><pre>{{details}}</pre></div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -92,19 +92,19 @@
</div> </div>
<div id="standard" class="group"> <div id="standard" class="group">
<div class="section-menu" ng-class="{selected: selectedSlot=='standard'}" context-menu="optimizeCommon()" ng-click="selectSlot($event, 'standard')"> <div class="section-menu" ng-class="{selected: selectedSlot=='standard'}" context-menu="optimizeStandard()" ng-click="selectSlot($event, 'standard')">
<h1> <h1>
{{'standard' | translate}} {{'standard' | translate}}
<svg class="icon"><use xlink:href="#equalizer"></use></svg> <svg class="icon"><use xlink:href="#equalizer"></use></svg>
</h1> </h1>
<div class="select" ng-if="selectedSlot=='standard'"> <div class="select" ng-if="selectedSlot=='standard'">
<ul> <ul>
<li class="lc" ng-click="optimizeCommon()" translate="Optimize"></li> <li class="lc" ng-click="optimizeStandard()" translate="Optimize"></li>
<li class="c" ng-click="useCommon('E')">E</li> <li class="c" ng-click="useStandard('E')">E</li>
<li class="c" ng-click="useCommon('D')">D</li> <li class="c" ng-click="useStandard('D')">D</li>
<li class="c" ng-click="useCommon('C')">C</li> <li class="c" ng-click="useStandard('C')">C</li>
<li class="c" ng-click="useCommon('B')">B</li> <li class="c" ng-click="useStandard('B')">B</li>
<li class="c" ng-click="useCommon('A')">A</li> <li class="c" ng-click="useStandard('A')">A</li>
</ul> </ul>
<div class="select-group cap" translate="builds / roles"></div> <div class="select-group cap" translate="builds / roles"></div>
<ul> <ul>
@@ -139,7 +139,7 @@
<div class="l cap">{{'efficiency' | translate}}: {{pp.c.eff}}</div> <div class="l cap">{{'efficiency' | translate}}: {{pp.c.eff}}</div>
<div class="l cap">{{'power' | translate}}: {{pp.c.pGen}} <u translate>MW</u></div> <div class="l cap">{{'power' | translate}}: {{pp.c.pGen}} <u translate>MW</u></div>
</div> </div>
<div component-select class="select" s="pp" warning="ppWarning" opts="availCS.common[0]" ng-if="selectedSlot==pp" ng-click="select('c',pp,$event)"></div> <div component-select class="select" s="pp" warning="ppWarning" opts="availCS.standard[0]" ng-if="selectedSlot==pp" ng-click="select('c',pp,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, th)" ng-class="{selected: selectedSlot==th}"> <div class="slot" ng-click="selectSlot($event, th)" ng-class="{selected: selectedSlot==th}">
<div class="details" ng-class="{'warning': th.c.maxmass < ship.ladenMass}"> <div class="details" ng-class="{'warning': th.c.maxmass < ship.ladenMass}">
@@ -150,7 +150,7 @@
<div class="l">{{'optimal mass' | translate}}: {{th.c.optmass}} <u translate>T</u></div> <div class="l">{{'optimal mass' | translate}}: {{th.c.optmass}} <u translate>T</u></div>
<div class="l">{{'max mass' | translate}}: {{th.c.maxmass}} <u translate>T</u></div> <div class="l">{{'max mass' | translate}}: {{th.c.maxmass}} <u translate>T</u></div>
</div> </div>
<div component-select class="select" s="th" mass="ship.ladenMass" opts="availCS.common[1]" ng-if="selectedSlot==th" ng-click="select('c',th,$event)"></div> <div component-select class="select" s="th" mass="ship.ladenMass" opts="availCS.standard[1]" ng-if="selectedSlot==th" ng-click="select('c',th,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, fsd)" ng-class="{selected: selectedSlot==fsd}"> <div class="slot" ng-click="selectSlot($event, fsd)" ng-class="{selected: selectedSlot==fsd}">
<div class="details"> <div class="details">
@@ -161,7 +161,7 @@
<div class="l cap">{{'optimal mass' | translate}}: {{fsd.c.optmass}} <u translate>T</u></div> <div class="l cap">{{'optimal mass' | translate}}: {{fsd.c.optmass}} <u translate>T</u></div>
<div class="l cap">{{'max' | translate}} {{'fuel' | translate}}: {{fsd.c.maxfuel}} <u translate>T</u></div> <div class="l cap">{{'max' | translate}} {{'fuel' | translate}}: {{fsd.c.maxfuel}} <u translate>T</u></div>
</div> </div>
<div component-select class="select" s="fsd" opts="availCS.common[2]" ng-if="selectedSlot==fsd" ng-click="select('c',fsd,$event)"></div> <div component-select class="select" s="fsd" opts="availCS.standard[2]" ng-if="selectedSlot==fsd" ng-click="select('c',fsd,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, ls)" ng-class="{selected: selectedSlot==ls}"> <div class="slot" ng-click="selectSlot($event, ls)" ng-class="{selected: selectedSlot==ls}">
<div class="details"> <div class="details">
@@ -171,7 +171,7 @@
<div class="cb"></div> <div class="cb"></div>
<div class="l cap">{{'time' | translate}}: {{fTime(ls.c.time)}}</div> <div class="l cap">{{'time' | translate}}: {{fTime(ls.c.time)}}</div>
</div> </div>
<div component-select class="select" s="ls" opts="availCS.common[3]" ng-if="selectedSlot==ls" ng-click="select('c',ls,$event)"></div> <div component-select class="select" s="ls" opts="availCS.standard[3]" ng-if="selectedSlot==ls" ng-click="select('c',ls,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, pd)" ng-class="{selected: selectedSlot==pd}"> <div class="slot" ng-click="selectSlot($event, pd)" ng-class="{selected: selectedSlot==pd}">
<div class="details" ng-class="{warning: pd.c.enginecapacity < ship.boostEnergy}"> <div class="details" ng-class="{warning: pd.c.enginecapacity < ship.boostEnergy}">
@@ -183,7 +183,7 @@
<div class="l">{{'SYS' | translate}}: {{pd.c.systemcapacity}} <u translate>MJ</u> / {{pd.c.systemrecharge}} <u translate>MW</u></div> <div class="l">{{'SYS' | translate}}: {{pd.c.systemcapacity}} <u translate>MJ</u> / {{pd.c.systemrecharge}} <u translate>MW</u></div>
<div class="l">{{'ENG' | translate}}: {{pd.c.enginecapacity}} <u translate>MJ</u> / {{pd.c.enginerecharge}} <u translate>MW</u></div> <div class="l">{{'ENG' | translate}}: {{pd.c.enginecapacity}} <u translate>MJ</u> / {{pd.c.enginerecharge}} <u translate>MW</u></div>
</div> </div>
<div component-select class="select" s="pd" warning="pdWarning" opts="availCS.common[4]" ng-if="selectedSlot==pd" ng-click="select('c',pd,$event)"></div> <div component-select class="select" s="pd" warning="pdWarning" opts="availCS.standard[4]" ng-if="selectedSlot==pd" ng-click="select('c',pd,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, ss)" ng-class="{selected: selectedSlot==ss}"> <div class="slot" ng-click="selectSlot($event, ss)" ng-class="{selected: selectedSlot==ss}">
<div class="details"> <div class="details">
@@ -193,7 +193,7 @@
<div class="cb"></div> <div class="cb"></div>
<div class="l cap">{{'range' | translate}}: {{ss.c.range}} <u translate>km</u></div> <div class="l cap">{{'range' | translate}}: {{ss.c.range}} <u translate>km</u></div>
</div> </div>
<div component-select class="select" s="ss" opts="availCS.common[5]" ng-if="selectedSlot==ss" ng-click="select('c',ss,$event)"></div> <div component-select class="select" s="ss" opts="availCS.standard[5]" ng-if="selectedSlot==ss" ng-click="select('c',ss,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, ft)" ng-class="{selected: selectedSlot==ft}"> <div class="slot" ng-click="selectSlot($event, ft)" ng-class="{selected: selectedSlot==ft}">
<div class="details"> <div class="details">
@@ -201,7 +201,7 @@
<div class="l">{{ft.id}} {{'ft' | translate}}</div> <div class="l">{{ft.id}} {{'ft' | translate}}</div>
<div class="r">{{ft.c.capacity}} <u translate>T</u></div> <div class="r">{{ft.c.capacity}} <u translate>T</u></div>
</div> </div>
<div component-select class="select" s="ft" opts="availCS.common[6]" ng-if="selectedSlot==ft" ng-click="select('c',ft,$event)"></div> <div component-select class="select" s="ft" opts="availCS.standard[6]" ng-if="selectedSlot==ft" ng-click="select('c',ft,$event)"></div>
</div> </div>
</div> </div>
@@ -296,6 +296,10 @@
<li class="c" ng-click="useUtility('sb','B')">B</li> <li class="c" ng-click="useUtility('sb','B')">B</li>
<li class="c" ng-click="useUtility('sb','A')">A</li> <li class="c" ng-click="useUtility('sb','A')">A</li>
</ul> </ul>
<div class="select-group cap" translate="Heat Sink Launcher"></div>
<ul>
<li class="lc" ng-click="useUtility('cm',null,'Heat Sink Launcher')" translate="Heat Sink Launcher"></li>
</ul>
</div> </div>
</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 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}">
@@ -405,7 +409,7 @@
<th colspan="2" class="sortable le" ng-click="sortRetrofit('sellName | translate')" translate="sell"></th> <th colspan="2" class="sortable le" ng-click="sortRetrofit('sellName | translate')" translate="sell"></th>
<th colspan="2" class="sortable le" ng-click="sortRetrofit('buyName | translate')" translate="buy"></th> <th colspan="2" class="sortable le" ng-click="sortRetrofit('buyName | translate')" translate="buy"></th>
<th class="sortable le" ng-click="sortRetrofit('netCost')"> <th class="sortable le" ng-click="sortRetrofit('netCost')">
{{'net cost' | translate}} <u class="optional-hide" ng-if="discounts.components < 1">-[{{fRPct(1 - discounts.components)}}]</u> {{'net cost' | translate}} <u class="optional-hide" ng-if="discounts.components < 1">[-{{fRPct(1 - discounts.components)}}]</u>
</th> </th>
</tr> </tr>
</thead> </thead>

View File

@@ -7,6 +7,7 @@
<th rowspan="2" class="sortable le" ng-click="sortShips('name')" translate="ship"></th> <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('manufacturer')" translate="manufacturer"></th>
<th rowspan="2" class="sortable" ng-click="sortShips('class')" translate="size"></th> <th rowspan="2" class="sortable" ng-click="sortShips('class')" translate="size"></th>
<th rowspan="2" class="sortable" ng-click="sortShips('agility')" translate="agility"></th>
<th colspan="4" translate="base"></th> <th colspan="4" translate="base"></th>
<th colspan="4" translate="max"></th> <th colspan="4" translate="max"></th>
<th colspan="5" class="sortable" ng-click="sortShips('hpCount')" translate="hardpoints"></th> <th colspan="5" class="sortable" ng-click="sortShips('hpCount')" translate="hardpoints"></th>
@@ -49,6 +50,7 @@
<td class="le" ng-bind="s.manufacturer"></td> <td class="le" ng-bind="s.manufacturer"></td>
<!-- Pad Size --> <!-- Pad Size -->
<td class="cap" ng-bind="SZM[s.class] | translate"></td> <td class="cap" ng-bind="SZM[s.class] | translate"></td>
<td class="ri" ng-bind="s.agility"></td>
<!-- Base --> <!-- Base -->
<td class="ri">{{fCrd(s.speed)}} <u translate>m/s</u></td> <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">{{fCrd(s.boost)}} <u translate>m/s</u></td>

1
data Submodule

Submodule data added at 0145be604c

View File

@@ -1,163 +0,0 @@
{
"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": 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 }
],
"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 }
],
"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 }
],
"cobra_mk_iii": [
{ "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": 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": 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": 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": 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": 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": 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": 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": 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": 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": 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": 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": 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": 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": 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": 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": 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": 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": 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 }
]
}

View File

@@ -1,31 +0,0 @@
{
"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 }
}

View File

@@ -1,10 +0,0 @@
{
"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 }
}

View File

@@ -1,37 +0,0 @@
{
"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 }
}

View File

@@ -1,49 +0,0 @@
{
"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": 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": 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 }
}

View File

@@ -1,43 +0,0 @@
{
"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": 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": 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" }
}

View File

@@ -1,43 +0,0 @@
{
"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": 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": 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": 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": 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": 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": 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": 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 }
}

View File

@@ -1,37 +0,0 @@
{
"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 }
}

View File

@@ -1,183 +0,0 @@
{
"bl": [
{
"id": "0u",
"grp": "bl",
"class": 3,
"rating": "C",
"cost": 1177600,
"mass": 8,
"power": 1.8,
"mode": "F",
"type": "T",
"damage": 6,
"armourpen": "A",
"rof": null,
"dps": 5,
"mjdps" : 30.33,
"mjeps" : 5.65,
"thermload": 5
},
{
"id": "0v",
"grp": "bl",
"class": 3,
"rating": "C",
"cost": 2396160,
"mass": 8,
"power": 1.78,
"mode": "G",
"type": "T",
"damage": 6,
"armourpen": "A",
"rof": null,
"dps": 4,
"mjdps" : 24.00,
"mjeps" : 5.59,
"thermload": 6
},
{
"id": "0o",
"grp": "bl",
"class": 3,
"rating": "D",
"cost": 19399600,
"mass": 8,
"power": 1.68,
"mode": "T",
"type": "T",
"damage": 5,
"armourpen": "A",
"rof": null,
"dps": 4,
"mjdps" : 14.44,
"mjeps" : 3.54,
"thermload": 4
},
{
"id": "0r",
"grp": "bl",
"class": 2,
"rating": "D",
"cost": 299520,
"mass": 4,
"power": 1.12,
"mode": "F",
"type": "T",
"damage": 5,
"armourpen": "A",
"rof": null,
"dps": 4,
"mjdps" : 19.38,
"mjeps" : 3.42,
"thermload": 4
},
{
"id": "0s",
"grp": "bl",
"class": 2,
"rating": "D",
"cost": 500600,
"mass": 4,
"power": 1.1,
"mode": "G",
"type": "T",
"damage": 5,
"armourpen": "A",
"rof": null,
"dps": 4,
"mjdps" : 13.85,
"mjeps" : 3.26,
"thermload": 4
},
{
"id": "0t",
"grp": "bl",
"class": 2,
"rating": "E",
"cost": 2099900,
"mass": 4,
"power": 1.03,
"mode": "T",
"type": "T",
"damage": 4,
"armourpen": "A",
"rof": null,
"dps": 3,
"mjdps" : 8.95,
"mjeps" : 2.10,
"thermload": 3
},
{
"id": "10",
"grp": "bl",
"class": 1,
"rating": "E",
"cost": 37430,
"mass": 2,
"power": 0.69,
"mode": "F",
"type": "T",
"damage": 4,
"armourpen": "A",
"rof": null,
"dps": 3,
"mjdps" : 11.61,
"mjeps" : 2.16,
"thermload": 3
},
{
"id": "0p",
"grp": "bl",
"class": 1,
"rating": "E",
"cost": 74650,
"mass": 2,
"power": 0.67,
"mode": "G",
"type": "T",
"damage": 4,
"armourpen": "A",
"rof": null,
"dps": 3,
"mjdps" : 8.70,
"mjeps" : 2.05,
"thermload": 3
},
{
"id": "0q",
"grp": "bl",
"class": 1,
"rating": "F",
"cost": 500000,
"mass": 2,
"power": 0.63,
"mode": "T",
"type": "T",
"damage": 3,
"armourpen": "A",
"rof": null,
"dps": 3,
"mjdps" : 5.49,
"mjeps" : 1.29,
"thermload": 2
},
{
"id": "b0",
"grp": "bl",
"name": "Retributor",
"class": 1,
"rating": "E",
"cost": 56150,
"mass": 2,
"power": 0.69,
"mode": "F",
"type": "T",
"damage": 0,
"armourpen": "A",
"rof": null,
"dps": 3,
"thermload": 1
}
]
}

View File

@@ -1,183 +0,0 @@
{
"ul": [
{
"id": "14",
"grp": "ul",
"class": 3,
"rating": "D",
"cost": 140400,
"mass": 8,
"power": 1.66,
"mode": "F",
"type": "T",
"damage": 4,
"armourpen": "B",
"rof": 1,
"dps": 4,
"mjdps" : 24.97,
"mjeps" : 3.52,
"ssdam" : 27.85,
"thermload": 1
},
{
"id": "15",
"grp": "ul",
"class": 3,
"rating": "E",
"cost": 281600,
"mass": 8,
"power": 1.65,
"mode": "G",
"type": "T",
"damage": 3,
"armourpen": "A",
"rof": 1.2,
"dps": 4,
"mjdps" : 18.56,
"mjeps" : 3.27,
"ssdam" : 18.56,
"thermload": 1
},
{
"id": "16",
"grp": "ul",
"class": 3,
"rating": "E",
"cost": 800400,
"mass": 8,
"power": 1.57,
"mode": "T",
"type": "T",
"damage": 3,
"armourpen": "A",
"rof": 0.9,
"dps": 4,
"mjdps" : 8.78,
"mjeps" : 1.69,
"ssdam" : 9.45,
"thermload": 1
},
{
"id": "7h",
"grp": "ul",
"class":2,
"rating":"E",
"cost": 23000,
"mass": 4,
"power":1.05,
"mode":"F",
"type":"T",
"damage": 3,
"armourpen":"A",
"rof":1.3,
"dps": 4,
"thermload": 1
},
{
"id": "7i",
"grp": "ul",
"class":2,
"rating":"F",
"cost": 48500,
"mass": 4,
"power":1.04,
"mode":"G",
"type":"T",
"damage": 3,
"armourpen":"A",
"rof":1.5,
"dps": 4,
"thermload": 1
},
{
"id": "7j",
"grp": "ul",
"class":2,
"rating":"F",
"cost": 162800,
"mass": 4,
"power":0.98,
"mode":"T",
"type":"T",
"damage": 2,
"armourpen":"A",
"rof":1.1,
"dps": 3,
"thermload": 1
},
{
"id": "11",
"grp": "ul",
"class": 1,
"rating": "F",
"cost": 4400,
"mass": 2,
"power": 0.65,
"mode": "F",
"type": "T",
"damage": 2,
"armourpen": "A",
"rof": 1.6,
"dps": 3,
"mjdps" : 9.94,
"mjeps" : 1.40,
"ssdam" : 6.45,
"thermload": 1
},
{
"id": "12",
"grp": "ul",
"class": 1,
"rating": "G",
"cost": 8600,
"mass": 2,
"power": 0.64,
"mode": "G",
"type": "T",
"damage": 2,
"armourpen": "A",
"rof": 1.7,
"dps": 3,
"mjdps" : 7.95,
"mjeps" : 1.40,
"ssdam" : 4.53,
"thermload": 1
},
{
"id": "13",
"grp": "ul",
"class": 1,
"rating": "G",
"cost": 52800,
"mass": 2,
"power": 0.6,
"mode": "T",
"type": "T",
"damage": 1,
"armourpen": "B",
"rof": 1.3,
"dps": 2,
"mjdps" : 2.98,
"mjeps" : 0.63,
"ssdam" : 2.24,
"thermload": 1
},
{
"id": "cy",
"grp": "ul",
"name": "Cytoscrambler",
"class": 1,
"rating": "F",
"cost": 8800,
"mass": 2,
"power": 0.65,
"mode": "F",
"type": "T",
"damage": 2,
"armourpen": "A",
"rof": 1.6,
"dps": 3,
"thermload": 1
}
]
}

View File

@@ -1,235 +0,0 @@
{
"c": [
{
"id": "1q",
"grp": "c",
"class": 4,
"rating": "B",
"cost": 2700800,
"mass": 16,
"power": 0.92,
"mode": "F",
"type": "K",
"damage": 9,
"armourpen": "A",
"rof": 0.4,
"dps": 5,
"thermload": 2,
"clip": 5,
"mjdps": 8.13,
"ssdam" : 37.13,
"ammo": 100,
"ammocost": 20
},
{
"id": "1r",
"grp": "c",
"class": 4,
"rating": "B",
"cost": 5401600,
"mass": 16,
"power": 1.03,
"mode": "G",
"type": "K",
"damage": 8,
"armourpen": "A",
"rof": 0.4,
"dps": 4,
"thermload": 2,
"clip": 5,
"mjdps": 10.97,
"ssdam" : 30.94,
"ammo": 100,
"ammocost": 20
},
{
"id": "1n",
"grp": "c",
"class": 3,
"rating": "C",
"cost": 675200,
"mass": 8,
"power": 0.67,
"mode": "F",
"type": "K",
"damage": 7,
"armourpen": "A",
"rof": 0.4,
"dps": 4,
"thermload": 2,
"clip": 5,
"mjdps": 8.13,
"ssdam" : 22.28,
"ammo": 100,
"ammocost": 20
},
{
"id": "1o",
"grp": "c",
"class": 3,
"rating": "C",
"cost": 1350400,
"mass": 8,
"power": 0.75,
"mode": "G",
"type": "K",
"damage": 7,
"armourpen": "A",
"rof": 0.4,
"dps": 4,
"thermload": 1,
"clip": 5,
"mjdps" : 7.95,
"ssdam" : 21.04,
"ammo": 100,
"ammocost": 20
},
{
"id": "1p",
"grp": "c",
"class": 3,
"rating": "D",
"cost": 16204800,
"mass": 8,
"power": 0.64,
"mode": "T",
"type": "K",
"damage": 6,
"armourpen": "A",
"rof": 0.3,
"dps": 4,
"thermload": 1,
"clip": 5,
"mjdps" : 3.58,
"ssdam" : 12.38,
"ammo": 100,
"ammocost": 20
},
{
"id": "1k",
"grp": "c",
"class": 2,
"rating": "D",
"cost": 168430,
"mass": 4,
"power": 0.49,
"mode": "F",
"type": "K",
"damage": 6,
"armourpen": "A",
"rof": 0.5,
"dps": 4,
"thermload": 1,
"clip": 5,
"mjdps" : 6.00,
"ssdam" : 15.47,
"ammo": 100,
"ammocost": 20
},
{
"id": "1l",
"grp": "c",
"class": 2,
"rating": "D",
"cost": 337600,
"mass": 4,
"power": 0.54,
"mode": "G",
"type": "K",
"damage": 6,
"armourpen": "A",
"rof": 0.5,
"dps": 3,
"thermload": 1,
"clip": 5,
"mjdps" : 6.24,
"ssdam" : 15.47,
"ammo": 100,
"ammocost": 20
},
{
"id": "1m",
"grp": "c",
"class": 2,
"rating": "E",
"cost": 4051200,
"mass": 4,
"power": 0.45,
"mode": "T",
"type": "K",
"damage": 5,
"armourpen": "A",
"rof": 0.3,
"dps": 3,
"thermload": 1,
"clip": 5,
"mjdps" : 2.41,
"ssdam" : 7.74,
"ammo": 100,
"ammocost": 20
},
{
"id": "1h",
"grp": "c",
"class": 1,
"rating": "D",
"cost": 21100,
"mass": 2,
"power": 0.34,
"mode": "F",
"type": "K",
"damage": 5,
"armourpen": "A",
"rof": 0.5,
"dps": 3,
"thermload": 1,
"clip": 5,
"mjdps" : 4.00,
"ssdam" : 9.59,
"ammo": 100,
"ammocost": 20
},
{
"id": "1i",
"grp": "c",
"class": 1,
"rating": "E",
"cost": 42200,
"mass": 2,
"power": 0.38,
"mode": "G",
"type": "K",
"damage": 5,
"armourpen": "A",
"rof": 0.5,
"dps": 3,
"thermload": 1,
"clip": 5,
"mjdps" : 3.80,
"ssdam" : 8.97,
"ammo": 100,
"ammocost": 20
},
{
"id": "1j",
"grp": "c",
"class": 1,
"rating": "F",
"cost": 506400,
"mass": 2,
"power": 0.32,
"mode": "T",
"type": "K",
"damage": 4,
"armourpen": "A",
"rof": 0.4,
"dps": 3,
"thermload": 1,
"clip": 5,
"mjdps" : 1.35,
"ssdam" : 4.13,
"ammo": 100,
"ammocost": 20
}
]
}

View File

@@ -1,59 +0,0 @@
{
"cs": [
{
"id": "0d",
"grp": "cs",
"class": 0,
"rating": "E",
"cost": 13540,
"mass": 1.3,
"power": 0.2,
"range": 2,
"time": 10
},
{
"id": "0c",
"grp": "cs",
"class": 0,
"rating": "D",
"cost": 40630,
"mass": 1.3,
"power": 0.4,
"range": 2.5,
"time": 10
},
{
"id": "0b",
"grp": "cs",
"class": 0,
"rating": "C",
"cost": 121900,
"mass": 1.3,
"power": 0.8,
"range": 3,
"time": 10
},
{
"id": "0a",
"grp": "cs",
"class": 0,
"rating": "B",
"cost": 365700,
"mass": 1.3,
"power": 1.6,
"range": 3.5,
"time": 10
},
{
"id": "09",
"grp": "cs",
"class": 0,
"rating": "A",
"cost": 1097100,
"mass": 1.3,
"power": 3.2,
"range": 4,
"time": 10
}
]
}

View File

@@ -1,66 +0,0 @@
{
"cm": [
{
"id": "00",
"grp": "cm",
"name": "Chaff Launcher",
"class": 0,
"rating": "I",
"cost": 8500,
"mass": 1.3,
"power": 0.2,
"passive": 1,
"armourpen": "F",
"thermload": 2,
"clip": 1,
"ammo": 10,
"ammocost": 30
},
{
"id": "01",
"grp": "cm",
"name": "Electronic Countermeasure",
"class": 0,
"rating": "F",
"cost": 12500,
"mass": 1.3,
"power": 0.2,
"range": 3,
"chargeup": 4,
"activepower": 4,
"cooldown": 10
},
{
"id": "02",
"grp": "cm",
"name": "Heat Sink Launcher",
"class": 0,
"rating": "I",
"cost": 3500,
"mass": 1.3,
"power": 0.2,
"passive": 1,
"armourpen": "F",
"thermload": 0,
"clip": 1,
"ammo": 3,
"ammocost": 25
},
{
"id": "03",
"grp": "cm",
"name": "Point Defence",
"class": 0,
"rating": "I",
"cost": 18550,
"mass": 0.5,
"power": 0.2,
"passive": 1,
"armourpen": "F",
"thermload": 1,
"clip": 50,
"ammo": 10000,
"ammocost": 1
}
]
}

View File

@@ -1,209 +0,0 @@
{
"fc": [
{
"id": "1t",
"grp": "fc",
"class": 3,
"rating": "C",
"cost": 1167360,
"mass": 8,
"power": 1.02,
"mode": "F",
"type": "K",
"damage": 3,
"armourpen": "A",
"rof": 4.5,
"dps": 10,
"thermload": 1,
"clip": 3,
"mjdps": 15.19,
"ssdam" : 28.36,
"ammo": 30,
"ammocost": 50
},
{
"id": "1u",
"grp": "fc",
"class": 3,
"rating": "C",
"cost": 1751040,
"mass": 8,
"power": 1.55,
"mode": "G",
"type": "K",
"damage": 3,
"armourpen": "A",
"rof": 4.8,
"dps": 10,
"thermload": 1,
"clip": 3,
"mjdps" : 12.77,
"ssdam" : 23.21,
"ammo": 30,
"ammocost": 50
},
{
"id": "1v",
"grp": "fc",
"class": 3,
"rating": "C",
"cost": 5836800,
"mass": 8,
"power": 1.29,
"mode": "T",
"type": "K",
"damage": 2,
"armourpen": "A",
"rof": 3.3,
"dps": 9,
"thermload": 1,
"clip": 3,
"mjdps" : 6.85,
"ssdam" : 12.89,
"ammo": 30,
"ammocost": 50
},
{
"id": "1s",
"grp": "fc",
"class": 2,
"rating": "A",
"cost": 291840,
"mass": 4,
"power": 0.74,
"mode": "F",
"type": "K",
"damage": 3,
"armourpen": "A",
"rof": 5,
"dps": 9,
"thermload": 1,
"clip": 3,
"mjdps" : 9.50,
"ssdam" : 18.05,
"ammo": 30,
"ammocost": 50
},
{
"id": "7e",
"grp": "fc",
"class": 2,
"rating": "D",
"cost": 437800,
"mass": 4,
"power": 1.03,
"mode": "G",
"type": "K",
"damage": 2,
"armourpen": "A",
"rof": 5.3,
"dps": 9,
"thermload": 1,
"clip": 3,
"ammo": 30,
"ammocost": 50
},
{
"id": "7f",
"grp": "fc",
"class": 2,
"rating": "D",
"cost": 1459200,
"mass": 4,
"power": 0.79,
"mode": "T",
"type": "K",
"damage": 2,
"armourpen": "A",
"rof": 3.7,
"dps": 9,
"thermload": 1,
"clip": 3,
"ammo": 30,
"ammocost": 50
},
{
"id": "20",
"grp": "fc",
"class": 1,
"rating": "E",
"cost": 36000,
"mass": 2,
"power": 0.45,
"mode": "F",
"type": "K",
"damage": 2,
"armourpen": "A",
"rof": 5.5,
"dps": 8,
"thermload": 1,
"clip": 3,
"mjdps" : 5.53,
"ssdam" : 10.31,
"ammo": 30,
"ammocost": 50
},
{
"id": "21",
"grp": "fc",
"class": 1,
"rating": "E",
"cost": 54720,
"mass": 2,
"power": 0.59,
"mode": "G",
"type": "K",
"damage": 2,
"armourpen": "A",
"rof": 5.8,
"dps": 7,
"thermload": 1,
"clip": 3,
"mjdps" : 3.58,
"ssdam" : 6.45,
"ammo": 30,
"ammocost": 50
},
{
"id": "22",
"grp": "fc",
"class": 1,
"rating": "E",
"cost": 182400,
"mass": 2,
"power": 0.42,
"mode": "T",
"type": "K",
"damage": 1,
"armourpen": "A",
"rof": 4,
"dps": 6,
"thermload": 1,
"clip": 3,
"mjdps" : 2.11,
"ssdam" : 3.87,
"ammo": 30,
"ammocost": 50
},
{
"id": "pa",
"grp": "fc",
"name": "Pacifier",
"class": 3,
"rating": "C",
"cost": 1400830,
"mass": 8,
"power": 1.02,
"mode": "F",
"type": "K",
"damage": 3,
"armourpen": "A",
"rof": 4.5,
"dps": 9,
"thermload": 1,
"clip": 3,
"ammo": 30
}
]
}

View File

@@ -1,59 +0,0 @@
{
"ws": [
{
"id": "0i",
"grp": "ws",
"class": 0,
"rating": "E",
"cost": 13540,
"mass": 1.3,
"power": 0.2,
"range": 2,
"time": 10
},
{
"id": "0h",
"grp": "ws",
"class": 0,
"rating": "D",
"cost": 40630,
"mass": 1.3,
"power": 0.4,
"range": 2.5,
"time": 10
},
{
"id": "0g",
"grp": "ws",
"class": 0,
"rating": "C",
"cost": 121900,
"mass": 1.3,
"power": 0.8,
"range": 3,
"time": 10
},
{
"id": "0f",
"grp": "ws",
"class": 0,
"rating": "B",
"cost": 365700,
"mass": 1.3,
"power": 1.6,
"range": 3.5,
"time": 10
},
{
"id": "0e",
"grp": "ws",
"class": 0,
"rating": "A",
"cost": 1097100,
"mass": 1.3,
"power": 3.2,
"range": 4,
"time": 10
}
]
}

View File

@@ -1,59 +0,0 @@
{
"kw": [
{
"id": "0n",
"grp": "kw",
"class": 0,
"rating": "E",
"cost": 13540,
"mass": 1.3,
"power": 0.2,
"range": 2,
"time": 10
},
{
"id": "0m",
"grp": "kw",
"class": 0,
"rating": "D",
"cost": 40630,
"mass": 1.3,
"power": 0.4,
"range": 2.5,
"time": 10
},
{
"id": "0l",
"grp": "kw",
"class": 0,
"rating": "C",
"cost": 121900,
"mass": 1.3,
"power": 0.8,
"range": 3,
"time": 10
},
{
"id": "0k",
"grp": "kw",
"class": 0,
"rating": "B",
"cost": 365700,
"mass": 1.3,
"power": 1.6,
"range": 3.5,
"time": 10
},
{
"id": "0j",
"grp": "kw",
"class": 0,
"rating": "A",
"cost": 1097100,
"mass": 1.3,
"power": 3.2,
"range": 4,
"time": 10
}
]
}

View File

@@ -1,36 +0,0 @@
{
"nl": [
{
"id": "2j",
"grp": "nl",
"class": 1,
"rating": "I",
"cost": 24260,
"mass": 2,
"power": 0.4,
"mode": "F",
"type": "E",
"armourpen": "C",
"thermload": 2,
"clip": 1,
"ammo": 24,
"ammocost": 209
},
{
"id": "2k",
"grp": "nl",
"class": 2,
"rating": "I",
"cost": 294080,
"mass": 4,
"power": 0.4,
"mode": "F",
"type": "E",
"armourpen": "C",
"thermload": 3,
"clip": 3,
"ammo": 24,
"ammocost": 209
}
]
}

View File

@@ -1,44 +0,0 @@
{
"ml": [
{
"id": "2l",
"grp": "ml",
"class": 1,
"rating": "D",
"cost": 6800,
"mass": 2,
"power": 0.5,
"mode": "F",
"armourpen": "D",
"thermload": 3
},
{
"id": "2m",
"grp": "ml",
"class": 2,
"rating": "D",
"cost": 22580,
"mass": 2,
"power": 0.75,
"mode": "F",
"armourpen": "D",
"thermload": 5
},
{
"id": "ml",
"grp": "ml",
"name": "Mining Lance",
"class": 1,
"rating": "D",
"cost": 13600,
"mass": 2,
"power": 0.7,
"mode": "F",
"type": "T",
"damage": 3,
"dps": 3,
"armourpen": "D",
"thermload": 3
}
]
}

View File

@@ -1,113 +0,0 @@
{
"mr": [
{
"id": "2f",
"grp": "mr",
"class": 2,
"rating": "B",
"cost": 240400,
"mass": 4,
"power": 1.2,
"mode": "F",
"type": "E",
"damage": 7,
"armourpen": "F",
"rof": 2.5,
"dps": 8,
"thermload": 3,
"clip": 12,
"ammo": 24,
"mjdps": 1.72,
"ssdam" : 3.87,
"missile": "D",
"ammocost": 500
},
{
"id": "2g",
"grp": "mr",
"class": 2,
"rating": "B",
"cost": 512400,
"mass": 4,
"power": 1.2,
"mode": "F",
"type": "E",
"damage": 6,
"armourpen": "F",
"rof": 0.3,
"dps": 3,
"thermload": 3,
"clip": 6,
"ammo": 18,
"mjdps": 0.57,
"ssdam" : 2.58,
"missile": "S",
"ammocost": 666.67
},
{
"id": "2d",
"grp": "mr",
"class": 1,
"rating": "B",
"cost": 32180,
"mass": 2,
"power": 0.4,
"mode": "F",
"type": "E",
"damage": 7,
"armourpen": "F",
"rof": 2.5,
"dps": 8,
"thermload": 3,
"clip": 8,
"ammo": 16,
"mjdps": 1.63,
"ssdam" : 3.87,
"missile": "D",
"ammocost": 500
},
{
"id": "2e",
"grp": "mr",
"class": 1,
"rating": "B",
"cost": 72600,
"mass": 2,
"power": 0.6,
"mode": "F",
"type": "E",
"damage": 6,
"armourpen": "F",
"rof": 0.3,
"dps": 3,
"thermload": 3,
"clip": 6,
"ammo": 6,
"mjdps": 0.57,
"ssdam" : 2.58,
"missile": "S",
"ammocost": 666.67
},
{
"id": "Ph",
"grp": "mr",
"name": "Pack-Hound",
"class": 2,
"rating": "B",
"cost": 768600,
"mass": 4,
"power": 1.2,
"mode": "F",
"type": "E",
"damage": 3,
"armourpen": "F",
"rof": 0.5,
"dps": 4,
"thermload": 3,
"grp": "mr",
"clip": 12,
"ammo": 120,
"missile": "S"
}
]
}

View File

@@ -1,149 +0,0 @@
{
"mc": [
{
"id": "26",
"grp": "mc",
"class": 2,
"rating": "E",
"cost": 38000,
"mass": 4,
"power": 0.46,
"mode": "F",
"type": "K",
"damage": 2,
"armourpen": "A",
"rof": 7,
"dps": 4,
"thermload": 1,
"clip": 90,
"mjdps" : 6.02,
"ssdam" : 1.20,
"ammo": 2100,
"ammocost": 1
},
{
"id": "27",
"grp": "mc",
"class": 2,
"rating": "F",
"cost": 57000,
"mass": 4,
"power": 0.64,
"mode": "G",
"type": "K",
"damage": 2,
"armourpen": "A",
"rof": 7.5,
"dps": 4,
"thermload": 1,
"clip": 90,
"mjdps" : 5.59,
"ssdam" : 1.03,
"ammo": 2100,
"ammocost": 1
},
{
"id": "28",
"grp": "mc",
"class": 2,
"rating": "F",
"cost": 1292800,
"mass": 4,
"power": 0.5,
"mode": "T",
"type": "K",
"damage": 2,
"armourpen": "A",
"rof": 5.3,
"dps": 3,
"thermload": 1,
"clip": 90,
"mjdps" : 2.15,
"ssdam" : 0.52,
"ammo": 2100,
"ammocost": 1
},
{
"id": "23",
"grp": "mc",
"class": 1,
"rating": "F",
"cost": 9500,
"mass": 2,
"power": 0.28,
"mode": "F",
"type": "K",
"damage": 2,
"armourpen": "A",
"rof": 8,
"dps": 3,
"thermload": 1,
"clip": 90,
"mjdps" : 3.75,
"ssdam" : 0.69,
"ammo": 2100,
"ammocost": 1
},
{
"id": "24",
"grp": "mc",
"class": 1,
"rating": "G",
"cost": 14250,
"mass": 2,
"power": 0.37,
"mode": "G",
"type": "K",
"damage": 2,
"armourpen": "A",
"rof": 8.5,
"dps": 3,
"thermload": 1,
"clip": 90,
"mjdps" : 2.03,
"ssdam" : 0.34,
"ammo": 2100,
"ammocost": 1
},
{
"id": "25",
"grp": "mc",
"class": 1,
"rating": "G",
"cost": 81600,
"mass": 2,
"power": 0.26,
"mode": "T",
"type": "K",
"damage": 0,
"armourpen": "A",
"rof": 6,
"dps": 2,
"thermload": 1,
"clip": 90,
"mjdps" : 1.54,
"ssdam" : 0.34,
"ammo": 2100,
"ammocost": 1
},
{
"id": "e0",
"grp": "mc",
"name": "Enforcer",
"class": 1,
"rating": "F",
"cost": 13980,
"mass": 2,
"power": 0.28,
"mode": "F",
"type": "K",
"damage": 4,
"armourpen": "A",
"rof": 4.3,
"dps": 4,
"thermload": 1,
"clip": 60,
"ammo": 1000
}
]
}

View File

@@ -1,86 +0,0 @@
{
"pa": [
{
"id": "1g",
"grp": "pa",
"class": 2,
"rating": "C",
"cost": 834200,
"mass": 4,
"power": 1.43,
"mode": "F",
"type": "T",
"damage": 7,
"armourpen": "A",
"rof": 0.3,
"dps": 4,
"thermload": 10,
"clip": 5,
"mjdps" : 6.89,
"ssdam" : 27.85,
"ammo": 100,
"ammocost": 200
},
{
"id": "2b",
"grp": "pa",
"class": 3,
"rating": "B",
"cost": 3051200,
"mass": 8,
"power": 1.97,
"mode": "F",
"type": "TK",
"damage": 9,
"armourpen": "A",
"rof": 0.3,
"dps": 4,
"thermload": 8,
"clip": 5,
"mjdps" : 20.98,
"ssdam" : 92.82,
"ammo": 100,
"ammocost": 200
},
{
"id": "2c",
"grp": "pa",
"class": 4,
"rating": "A",
"cost": 13793600,
"mass": 16,
"power": 2.63,
"mode": "F",
"type": "TK",
"damage": 10,
"armourpen": "A",
"rof": 0.3,
"dps": 5,
"thermload": 10,
"clip": 5,
"mjdps" : 25.55,
"ssdam" : 123.76,
"ammo": 100,
"ammocost": 200
},
{
"id": "Ap",
"grp": "pa",
"name": "Advanced Plasma Accelerator",
"class": 3,
"rating": "B",
"cost": 4119120,
"mass": 8,
"power": 1.97,
"mode": "F",
"type": "TK",
"damage": 8,
"armourpen": "A",
"rof": 0.6,
"dps": 4,
"thermload": 4,
"clip": 20,
"ammo": 300
}
]
}

View File

@@ -1,192 +0,0 @@
{
"pl": [
{
"id": "1d",
"grp": "pl",
"class": 3,
"rating": "D",
"cost": 70400,
"mass": 8,
"power": 0.9,
"mode": "F",
"type": "T",
"damage": 4,
"armourpen": "A",
"rof": 3,
"dps": 4,
"mjdps" : 21.62,
"mjeps" : 2.86,
"ssdam" : 7.07,
"thermload": 1
},
{
"id": "1e",
"grp": "pl",
"class": 3,
"rating": "E",
"cost": 140600,
"mass": 8,
"power": 0.92,
"mode": "G",
"type": "T",
"damage": 3,
"armourpen": "A",
"rof": 3.2,
"dps": 4,
"mjdps" : 18.28,
"mjeps" : 2.98,
"ssdam" : 5.59,
"thermload": 1
},
{
"id": "1f",
"grp": "pl",
"class": 3,
"rating": "F",
"cost": 400400,
"mass": 8,
"power": 0.89,
"mode": "T",
"type": "T",
"damage": 3,
"armourpen": "A",
"rof": 2.3,
"dps": 3,
"mjdps" : 7.05,
"mjeps" : 1.24,
"ssdam" : 3.15,
"thermload": 1
},
{
"id": "1a",
"grp": "pl",
"class": 2,
"rating": "E",
"cost": 17600,
"mass": 4,
"power": 0.6,
"mode": "F",
"type": "T",
"damage": 3,
"armourpen": "A",
"rof": 3.4,
"dps": 3,
"mjdps" : 14.29,
"mjeps" : 1.89,
"ssdam" : 4.20,
"thermload": 1
},
{
"id": "1b",
"grp": "pl",
"class": 2,
"rating": "F",
"cost": 35400,
"mass": 4,
"power": 0.6,
"mode": "G",
"type": "T",
"damage": 3,
"armourpen": "A",
"rof": 3.6,
"dps": 3,
"mjdps" : 11.62,
"mjeps" : 1.89,
"ssdam" : 3.24,
"thermload": 1
},
{
"id": "1c",
"grp": "pl",
"class": 2,
"rating": "F",
"cost": 132800,
"mass": 4,
"power": 0.58,
"mode": "T",
"type": "T",
"damage": 2,
"armourpen": "A",
"rof": 2.5,
"dps": 3,
"mjdps" : 4.72,
"mjeps" : 0.83,
"ssdam" : 1.86,
"thermload": 1
},
{
"id": "17",
"grp": "pl",
"class": 1,
"rating": "F",
"cost": 2200,
"mass": 2,
"power": 0.39,
"mode": "F",
"type": "T",
"damage": 2,
"armourpen": "A",
"rof": 3.8,
"dps": 3,
"mjdps" : 9.35,
"mjeps" : 1.24,
"ssdam" : 2.48,
"thermload": 1
},
{
"id": "18",
"grp": "pl",
"class": 1,
"rating": "G",
"cost": 6600,
"mass": 2,
"power": 0.39,
"mode": "G",
"type": "T",
"damage": 2,
"armourpen": "A",
"rof": 4,
"dps": 3,
"mjdps" : 7.30,
"mjeps" : 1.19,
"ssdam" : 1.88,
"thermload": 1
},
{
"id": "19",
"grp": "pl",
"class": 1,
"rating": "G",
"cost": 26000,
"mass": 2,
"power": 0.38,
"mode": "T",
"type": "T",
"damage": 2,
"armourpen": "A",
"rof": 2.8,
"dps": 2,
"mjdps" : 2.90,
"mjeps" : 0.51,
"ssdam" : 1.07,
"thermload": 1
},
{
"id": "PL",
"grp": "pl",
"name": "Distruptor",
"class": 2,
"rating": "E",
"cost": 26400,
"mass": 4,
"power": 0.7,
"mode": "F",
"type": "T",
"damage": 2,
"armourpen": "A",
"rof": 1.6,
"dps": 2,
"thermload": 1
}
]
}

View File

@@ -1,65 +0,0 @@
{
"rg": [
{
"id": "29",
"grp": "rg",
"class": 1,
"rating": "D",
"cost": 51600,
"mass": 2,
"power": 1.15,
"mode": "F",
"type": "TK",
"damage": 6,
"armourpen": "A",
"rof": 0.6,
"dps": 4,
"thermload": 7,
"clip": 1,
"mjdps" : 13.75,
"ssdam" : 24.75,
"ammo": 30,
"ammocost": 200
},
{
"id": "2a",
"grp": "rg",
"class": 2,
"rating": "B",
"cost": 412800,
"mass": 4,
"power": 1.63,
"mode": "F",
"type": "TK",
"damage": 7,
"armourpen": "A",
"rof": 0.5,
"dps": 4,
"thermload": 10,
"clip": 1,
"mjdps" : 21.66,
"ssdam" : 43.32,
"ammo": 30,
"ammocost": 200
},
{
"id": "ih",
"grp": "rg",
"name": "Imperial Hammer",
"class": 2,
"rating": "B",
"cost": 619200,
"mass": 4,
"power": 1.63,
"mode": "F",
"type": "TK",
"damage": 5,
"armourpen": "A",
"rof": 0.6,
"dps": 5,
"thermload": 3,
"clip": 3,
"ammo": 90
}
]
}

View File

@@ -1,59 +0,0 @@
{
"sb": [
{
"id": "08",
"grp": "sb",
"class": 0,
"rating": "E",
"cost": 10000,
"mass": 0.5,
"power": 0.2,
"passive": 1,
"shieldmul": 0.04
},
{
"id": "07",
"grp": "sb",
"class": 0,
"rating": "D",
"cost": 23000,
"mass": 1,
"power": 0.5,
"passive": 1,
"shieldmul": 0.08
},
{
"id": "06",
"grp": "sb",
"class": 0,
"rating": "C",
"cost": 53000,
"mass": 2,
"power": 0.7,
"passive": 1,
"shieldmul": 0.12
},
{
"id": "05",
"grp": "sb",
"class": 0,
"rating": "B",
"cost": 122000,
"mass": 3,
"power": 1,
"passive": 1,
"shieldmul": 0.16
},
{
"id": "04",
"grp": "sb",
"class": 0,
"rating": "A",
"cost": 281000,
"mass": 3.5,
"power": 1.2,
"passive": 1,
"shieldmul": 0.2
}
]
}

View File

@@ -1,38 +0,0 @@
{
"tp": [
{
"id": "2h",
"grp": "tp",
"class": 1,
"rating": "I",
"cost": 11200,
"mass": 2,
"power": 0.4,
"mode": "F",
"armourpen": "C",
"thermload": 10,
"grp": "tp",
"clip": 1,
"ammo": 0,
"ammocost": 15000,
"missile": "S"
},
{
"id": "2i",
"grp": "tp",
"class": 2,
"rating": "I",
"cost": 44800,
"mass": 4,
"power": 0.4,
"mode": "F",
"armourpen": "C",
"thermload": 10,
"grp": "tp",
"clip": 2,
"ammo": 0,
"ammocost": 15000,
"missile": "S"
}
]
}

View File

@@ -1,51 +0,0 @@
{
"am": [
{ "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 }
]
}

View File

@@ -1,12 +0,0 @@
{
"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": 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": 3829870, "capacity": 256 }
]
}

View File

@@ -1,27 +0,0 @@
{
"cc": [
{ "id": "Cf", "grp":"cc", "class":7, "rating":"E", "cost": 437400, "mass": 32.0, "power":0.41, "range":1.36, "maximum": 4, "time":300 },
{ "id": "Cg", "grp":"cc", "class":7, "rating":"D", "cost": 874800, "mass": 32.0, "power":0.55, "range":1.02, "maximum": 4, "time":600 },
{ "id": "Ch", "grp":"cc", "class":7, "rating":"C", "cost":1749600, "mass": 80.0, "power":0.69, "range":1.70, "maximum": 4, "time":510 },
{ "id": "Ci", "grp":"cc", "class":7, "rating":"B", "cost":3499200, "mass":128.0, "power":0.83, "range":2.38, "maximum": 4, "time":420 },
{ "id": "Cj", "grp":"cc", "class":7, "rating":"A", "cost":6998400, "mass":128.0, "power":0.97, "range":2.04, "maximum": 4, "time":720 },
{ "id": "Ca", "grp":"cc", "class":5, "rating":"E", "cost": 48600, "mass": 8.0, "power":0.30, "range":1.04, "maximum": 3, "time":300 },
{ "id": "Cb", "grp":"cc", "class":5, "rating":"D", "cost": 97200, "mass": 8.0, "power":0.40, "range":0.78, "maximum": 3, "time":600 },
{ "id": "Cc", "grp":"cc", "class":5, "rating":"C", "cost": 194400, "mass": 20.0, "power":0.50, "range":1.30, "maximum": 3, "time":510 },
{ "id": "Cd", "grp":"cc", "class":5, "rating":"B", "cost": 388800, "mass": 32.0, "power":0.60, "range":1.82, "maximum": 3, "time":420 },
{ "id": "Ce", "grp":"cc", "class":5, "rating":"A", "cost": 777600, "mass": 32.0, "power":0.70, "range":1.56, "maximum": 3, "time":720 },
{ "id": "C6", "grp":"cc", "class":3, "rating":"E", "cost": 5400, "mass": 2.0, "power":0.20, "range":0.88, "maximum": 2, "time":300 },
{ "id": "C7", "grp":"cc", "class":3, "rating":"D", "cost": 10800, "mass": 2.0, "power":0.27, "range":0.66, "maximum": 2, "time":600 },
{ "id": "C8", "grp":"cc", "class":3, "rating":"C", "cost": 21600, "mass": 5.0, "power":0.34, "range":1.10, "maximum": 2, "time":510 },
{ "id": "C9", "grp":"cc", "class":3, "rating":"B", "cost": 43200, "mass": 8.0, "power":0.41, "range":1.54, "maximum": 2, "time":420 },
{ "id": "C0", "grp":"cc", "class":3, "rating":"A", "cost": 86400, "mass": 8.0, "power":0.48, "range":1.32, "maximum": 2, "time":720 },
{ "id": "C1", "grp":"cc", "class":1, "rating":"E", "cost": 600, "mass": 0.5, "power":0.14, "range":0.80, "maximum": 1, "time":300 },
{ "id": "C2", "grp":"cc", "class":1, "rating":"D", "cost": 1200, "mass": 0.5, "power":0.18, "range":0.60, "maximum": 1, "time":600 },
{ "id": "C3", "grp":"cc", "class":1, "rating":"C", "cost": 2400, "mass": 1.3, "power":0.23, "range":1.00, "maximum": 1, "time":510 },
{ "id": "C4", "grp":"cc", "class":1, "rating":"B", "cost": 4800, "mass": 2.0, "power":0.28, "range":1.40, "maximum": 1, "time":420 },
{ "id": "C5", "grp":"cc", "class":1, "rating":"A", "cost": 9600, "mass": 2.0, "power":0.32, "range":1.20, "maximum": 1, "time":720 }
]
}

View File

@@ -1,13 +0,0 @@
{
"dc": [
{
"id": "24",
"grp": "dc",
"name": "Standard Docking Computer",
"class": 1,
"rating": "E",
"cost": 4500,
"power": 0.39
}
]
}

View File

@@ -1,27 +0,0 @@
{
"fi": [
{ "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" }
]
}

View File

@@ -1,51 +0,0 @@
{
"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": 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 }
]
}

View File

@@ -1,27 +0,0 @@
{
"fx": [
{ "id": "Ff", "grp":"fx", "class":7, "rating":"E", "cost": 437400, "mass": 80.0, "power":0.55, "range":1.02, "maximum": 8 },
{ "id": "Fg", "grp":"fx", "class":7, "rating":"D", "cost": 874800, "mass": 32.0, "power":0.41, "range":1.36, "maximum": 8 },
{ "id": "Fh", "grp":"fx", "class":7, "rating":"C", "cost":1749600, "mass": 80.0, "power":0.69, "range":1.70, "maximum": 8 },
{ "id": "Fi", "grp":"fx", "class":7, "rating":"B", "cost":3499200, "mass":128.0, "power":0.97, "range":2.04, "maximum": 8 },
{ "id": "Fj", "grp":"fx", "class":7, "rating":"A", "cost":6998400, "mass": 80.0, "power":0.83, "range":2.38, "maximum": 8 },
{ "id": "Fa", "grp":"fx", "class":5, "rating":"E", "cost": 48600, "mass": 20.0, "power":0.40, "range":0.78, "maximum": 4 },
{ "id": "Fb", "grp":"fx", "class":5, "rating":"D", "cost": 97200, "mass": 8.0, "power":0.30, "range":1.04, "maximum": 4 },
{ "id": "Fc", "grp":"fx", "class":5, "rating":"C", "cost": 194400, "mass": 20.0, "power":0.50, "range":1.30, "maximum": 4 },
{ "id": "Fd", "grp":"fx", "class":5, "rating":"B", "cost": 388800, "mass": 32.0, "power":0.97, "range":1.56, "maximum": 4 },
{ "id": "Fe", "grp":"fx", "class":5, "rating":"A", "cost": 777600, "mass": 20.0, "power":0.60, "range":1.82, "maximum": 4 },
{ "id": "F5", "grp":"fx", "class":3, "rating":"E", "cost": 5400, "mass": 5.0, "power":0.27, "range":0.66, "maximum": 2 },
{ "id": "F6", "grp":"fx", "class":3, "rating":"D", "cost": 10800, "mass": 2.0, "power":0.20, "range":0.88, "maximum": 2 },
{ "id": "F7", "grp":"fx", "class":3, "rating":"C", "cost": 21600, "mass": 5.0, "power":0.34, "range":1.10, "maximum": 2 },
{ "id": "F8", "grp":"fx", "class":3, "rating":"B", "cost": 43200, "mass": 8.0, "power":0.48, "range":1.32, "maximum": 2 },
{ "id": "F9", "grp":"fx", "class":3, "rating":"A", "cost": 86400, "mass": 5.0, "power":0.41, "range":1.54, "maximum": 2 },
{ "id": "F0", "grp":"fx", "class":1, "rating":"E", "cost": 600, "mass": 1.3, "power":0.18, "range":0.60, "maximum": 1 },
{ "id": "F1", "grp":"fx", "class":1, "rating":"D", "cost": 1200, "mass": 0.5, "power":0.14, "range":0.80, "maximum": 1 },
{ "id": "F2", "grp":"fx", "class":1, "rating":"C", "cost": 2400, "mass": 1.3, "power":0.23, "range":1.00, "maximum": 1 },
{ "id": "F3", "grp":"fx", "class":1, "rating":"B", "cost": 4800, "mass": 2.0, "power":0.32, "range":1.20, "maximum": 1 },
{ "id": "F4", "grp":"fx", "class":1, "rating":"A", "cost": 9600, "mass": 1.3, "power":0.28, "range":1.40, "maximum": 1 }
]
}

View File

@@ -1,27 +0,0 @@
{
"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 }
]
}

View File

@@ -1,18 +0,0 @@
{
"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 }
]
}

View File

@@ -1,12 +0,0 @@
{
"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": 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 }
]
}

View File

@@ -1,12 +0,0 @@
{
"psg": [
{ "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 }
]
}

View File

@@ -1,27 +0,0 @@
{
"pc": [
{ "id": "Pf", "grp":"pc", "class":7, "rating":"E", "cost": 437400, "mass": 80.0, "power":0.55, "range": 5.10, "maximum": 8 },
{ "id": "Pg", "grp":"pc", "class":7, "rating":"D", "cost": 874800, "mass": 32.0, "power":0.41, "range": 6.80, "maximum": 8 },
{ "id": "Ph", "grp":"pc", "class":7, "rating":"C", "cost":1749600, "mass": 80.0, "power":0.69, "range": 8.50, "maximum": 8 },
{ "id": "Pi", "grp":"pc", "class":7, "rating":"B", "cost":3499200, "mass":128.0, "power":0.97, "range":10.20, "maximum": 8 },
{ "id": "Pj", "grp":"pc", "class":7, "rating":"A", "cost":6998400, "mass": 80.0, "power":0.83, "range":11.90, "maximum": 8 },
{ "id": "Pa", "grp":"pc", "class":5, "rating":"E", "cost": 48600, "mass": 20.0, "power":0.40, "range": 3.90, "maximum": 4 },
{ "id": "Pb", "grp":"pc", "class":5, "rating":"D", "cost": 97200, "mass": 8.0, "power":0.30, "range": 5.20, "maximum": 4 },
{ "id": "Pc", "grp":"pc", "class":5, "rating":"C", "cost": 194400, "mass": 20.0, "power":0.50, "range": 6.50, "maximum": 4 },
{ "id": "Pd", "grp":"pc", "class":5, "rating":"B", "cost": 388800, "mass": 32.0, "power":0.97, "range": 7.80, "maximum": 4 },
{ "id": "Pe", "grp":"pc", "class":5, "rating":"A", "cost": 777600, "mass": 20.0, "power":0.60, "range": 9.10, "maximum": 4 },
{ "id": "P5", "grp":"pc", "class":3, "rating":"E", "cost": 5400, "mass": 5.0, "power":0.27, "range": 3.30, "maximum": 2 },
{ "id": "P6", "grp":"pc", "class":3, "rating":"D", "cost": 10800, "mass": 2.0, "power":0.20, "range": 4.40, "maximum": 2 },
{ "id": "P7", "grp":"pc", "class":3, "rating":"C", "cost": 21600, "mass": 5.0, "power":0.34, "range": 5.50, "maximum": 2 },
{ "id": "P8", "grp":"pc", "class":3, "rating":"B", "cost": 43200, "mass": 8.0, "power":0.48, "range": 6.60, "maximum": 2 },
{ "id": "P9", "grp":"pc", "class":3, "rating":"A", "cost": 86400, "mass": 5.0, "power":0.41, "range": 7.70, "maximum": 2 },
{ "id": "P0", "grp":"pc", "class":1, "rating":"E", "cost": 600, "mass": 1.3, "power":0.18, "range": 3.00, "maximum": 1 },
{ "id": "P1", "grp":"pc", "class":1, "rating":"D", "cost": 1200, "mass": 0.5, "power":0.14, "range": 4.00, "maximum": 1 },
{ "id": "P2", "grp":"pc", "class":1, "rating":"C", "cost": 2400, "mass": 1.3, "power":0.23, "range": 5.00, "maximum": 1 },
{ "id": "P3", "grp":"pc", "class":1, "rating":"B", "cost": 4800, "mass": 2.0, "power":0.32, "range": 6.00, "maximum": 1 },
{ "id": "P4", "grp":"pc", "class":1, "rating":"A", "cost": 9600, "mass": 1.3, "power":0.28, "range": 7.00, "maximum": 1 }
]
}

View File

@@ -1,27 +0,0 @@
{
"rf": [
{ "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 }
]
}

View File

@@ -1,48 +0,0 @@
{
"sc": [
{
"id": "2f",
"grp": "sc",
"name": "Advanced Discovery Scanner",
"class": 1,
"rating": "C",
"cost": 1545000,
"mass": 2,
"power": 0,
"rangeLS": null
},
{
"id": "2g",
"grp": "sc",
"name": "Intermediate Discovery Scanner",
"class": 1,
"rating": "D",
"cost": 505000,
"mass": 2,
"power": 0,
"rangeLS": 1000
},
{
"id": "2h",
"grp": "sc",
"name": "Basic Discovery Scanner",
"class": 1,
"rating": "E",
"cost": 1000,
"mass": 2,
"power": 0,
"rangeLS": 500
},
{
"id": "2i",
"grp": "sc",
"name": "Detailed Surface Scanner",
"class": 1,
"rating": "C",
"cost": 250000,
"mass": 1.3,
"power": 0,
"rangeLS": 0.33
}
]
}

View File

@@ -1,51 +0,0 @@
{
"scb": [
{ "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 }
]
}

View File

@@ -1,45 +0,0 @@
{
"sg": [
{ "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": 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": 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 }
]
}

View File

@@ -1,70 +0,0 @@
{
"adder": {
"properties": {
"name": "Adder",
"manufacturer": "Zorgon Peterson",
"class": 1,
"hullCost": 40000,
"speed": 220,
"boost": 320,
"boostEnergy": 9,
"agility": 8,
"baseShieldStrength": 60,
"baseArmour": 162,
"hullMass": 35,
"masslock": 7,
"pipSpeed": 0.13625
},
"retailCost": 87810,
"slots": {
"common": [
3,
3,
3,
1,
2,
3,
3
],
"hardpoints": [
2,
1,
1,
0,
0
],
"internal": [
3,
3,
2,
2,
1
]
},
"defaults": {
"common": [
"3E",
"3E",
"3E",
"1E",
"2E",
"3E",
"3C"
],
"hardpoints": [
0,
17,
17,
0,
0
],
"internal": [
"01",
"44",
"00",
0,
"2h"
]
}
}
}

View File

@@ -1,104 +0,0 @@
{
"anaconda": {
"properties": {
"name": "Anaconda",
"manufacturer": "Faulcon DeLacy",
"class": 3,
"hullCost": 141889930,
"speed": 180,
"boost": 240,
"boostEnergy": 29,
"agility": 2,
"baseShieldStrength": 350,
"baseArmour": 945,
"hullMass": 400,
"masslock": 23,
"pipSpeed": 0.13875
},
"retailCost": 146969450,
"slots": {
"common": [
8,
7,
6,
5,
8,
8,
5
],
"hardpoints": [
4,
3,
3,
3,
2,
2,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0
],
"internal": [
7,
6,
6,
6,
5,
5,
5,
4,
4,
4,
2
]
},
"defaults": {
"common": [
"8E",
"7E",
"6E",
"5E",
"8E",
"8E",
"5C"
],
"hardpoints": [
0,
0,
0,
0,
0,
0,
17,
17,
0,
0,
0,
0,
0,
0,
0,
0
],
"internal": [
"05",
"04",
"4j",
0,
"03",
0,
0,
0,
0,
"2h",
"00"
]
}
}
}

View File

@@ -1,84 +0,0 @@
{
"asp": {
"properties": {
"name": "Asp Explorer",
"manufacturer": "Lakon",
"class": 2,
"hullCost": 6135660,
"speed": 250,
"boost": 340,
"boostEnergy": 14,
"agility": 6,
"baseShieldStrength": 140,
"baseArmour": 378,
"hullMass": 280,
"masslock": 11,
"pipSpeed": 0.13
},
"retailCost": 6661150,
"slots": {
"common": [
5,
5,
5,
4,
4,
5,
5
],
"hardpoints": [
2,
2,
1,
1,
1,
1,
0,
0,
0,
0
],
"internal": [
6,
5,
3,
3,
3,
2,
2
]
},
"defaults": {
"common": [
"5E",
"5E",
"5E",
"4E",
"4E",
"5E",
"5C"
],
"hardpoints": [
0,
0,
17,
17,
0,
0,
0,
0,
0,
0
],
"internal": [
"04",
"4e",
"01",
0,
0,
"00",
"2h"
]
}
}
}

View File

@@ -1,74 +0,0 @@
{
"cobra_mk_iii": {
"properties": {
"name": "Cobra Mk III",
"manufacturer": "Faulcon DeLacy",
"class": 1,
"hullCost": 235800,
"speed": 280,
"boost": 400,
"boostEnergy": 11,
"agility": 6,
"baseShieldStrength": 80,
"baseArmour": 216,
"hullMass": 180,
"masslock": 8,
"pipSpeed": 0.125
},
"retailCost": 379720,
"slots": {
"common": [
4,
4,
4,
3,
3,
3,
4
],
"hardpoints": [
2,
2,
1,
1,
0,
0
],
"internal": [
4,
4,
4,
2,
2,
2
]
},
"defaults": {
"common": [
"4E",
"4E",
"4E",
"3E",
"3E",
"3E",
"4C"
],
"hardpoints": [
17,
17,
0,
0,
0,
0
],
"internal": [
"02",
"02",
"49",
"00",
0,
"2h"
]
}
}
}

View File

@@ -1,74 +0,0 @@
{
"diamondback_explorer": {
"properties": {
"name": "Diamondback Explorer",
"manufacturer": "Lakon",
"class": 1,
"hullCost": 1635700,
"speed": 260,
"boost": 340,
"boostEnergy": 14,
"agility": 5,
"baseShieldStrength": 146,
"baseArmour": 270,
"hullMass": 298,
"masslock": 10,
"pipSpeed": 0.09625
},
"retailCost": 1894760,
"slots": {
"common": [
4,
4,
5,
3,
4,
3,
5
],
"hardpoints": [
3,
2,
2,
0,
0,
0,
0
],
"internal": [
4,
4,
3,
3,
2
]
},
"defaults": {
"common": [
"4E",
"4E",
"5E",
"3E",
"4E",
"3E",
"5C"
],
"hardpoints": [
0,
17,
17,
0,
0,
0,
0
],
"internal": [
"49",
"02",
"01",
0,
"2h"
]
}
}
}

View File

@@ -1,74 +0,0 @@
{
"diamondback": {
"properties": {
"name": "Diamondback Scout",
"manufacturer": "Lakon",
"class": 1,
"hullCost": 461340,
"speed": 283,
"boost": 380,
"boostEnergy": 11,
"agility": 8,
"baseShieldStrength": 118,
"baseArmour": 216,
"hullMass": 170,
"masslock": 8,
"pipSpeed": 0.09875
},
"retailCost": 564330,
"slots": {
"common": [
4,
4,
4,
2,
3,
2,
4
],
"hardpoints": [
2,
2,
1,
1,
0,
0,
0,
0
],
"internal": [
3,
3,
3,
2
]
},
"defaults": {
"common": [
"4E",
"4E",
"4E",
"2E",
"3E",
"2E",
"4C"
],
"hardpoints": [
17,
17,
0,
0,
0,
0,
0,
0
],
"internal": [
"44",
0,
0,
"2h"
]
}
}
}

View File

@@ -1,64 +0,0 @@
{
"eagle": {
"properties": {
"name": "Eagle",
"manufacturer": "Core Dynamics",
"class": 1,
"hullCost": 10440,
"speed": 240,
"boost": 350,
"boostEnergy": 9,
"agility": 10,
"baseShieldStrength": 60,
"baseArmour": 72,
"hullMass": 50,
"masslock": 6,
"pipSpeed": 0.0625
},
"retailCost": 44800,
"slots": {
"common": [
2,
3,
3,
1,
2,
2,
2
],
"hardpoints": [
1,
1,
1,
0
],
"internal": [
3,
2,
1
]
},
"defaults": {
"common": [
"2E",
"3E",
"3E",
"1E",
"2E",
"2E",
"2C"
],
"hardpoints": [
17,
17,
0,
0
],
"internal": [
"44",
"00",
"2h"
]
}
}
}

View File

@@ -1,78 +0,0 @@
{
"federal_assault_ship": {
"properties": {
"name": "Federal Assault Ship",
"manufacturer": "Core Dynamics",
"class": 2,
"hullCost": 19072000,
"speed": 210,
"boost": 350,
"boostEnergy": 21,
"agility": 6,
"baseShieldStrength": 200,
"baseArmour": 540,
"hullMass": 480,
"masslock": 14,
"pipSpeed": 0.11125
},
"retailCost": 19814210,
"slots": {
"common": [
6,
6,
5,
5,
6,
4,
4
],
"hardpoints": [
3,
3,
2,
2,
0,
0,
0,
0
],
"internal": [
5,
5,
4,
3,
2,
2
]
},
"defaults": {
"common": [
"6E",
"6E",
"5E",
"5E",
"6E",
"4E",
"4C"
],
"hardpoints": [
0,
0,
17,
17,
0,
0,
0,
0
],
"internal": [
"4e",
"03",
"02",
"02",
0,
0
]
}
}
}

View File

@@ -1,82 +0,0 @@
{
"federal_dropship": {
"properties": {
"name": "Federal Dropship",
"manufacturer": "Core Dynamics",
"class": 2,
"hullCost": 13469990,
"speed": 180,
"boost": 300,
"boostEnergy": 21,
"agility": 2,
"baseShieldStrength": 200,
"baseArmour": 540,
"hullMass": 580,
"masslock": 14,
"pipSpeed": 0.0725
},
"retailCost": 14314210,
"slots": {
"common": [
6,
6,
5,
5,
6,
4,
4
],
"hardpoints": [
3,
2,
2,
2,
2,
0,
0,
0,
0
],
"internal": [
6,
5,
5,
4,
3,
3,
2
]
},
"defaults": {
"common": [
"6E",
"6E",
"5E",
"5E",
"6E",
"4E",
"4C"
],
"hardpoints": [
0,
17,
17,
0,
0,
0,
0,
0,
0
],
"internal": [
"04",
"03",
"4e",
"02",
0,
0,
"2h"
]
}
}
}

View File

@@ -1,82 +0,0 @@
{
"federal_gunship": {
"properties": {
"name": "Federal Gunship",
"manufacturer": "Core Dynamics",
"class": 2,
"hullCost": 34774790,
"speed": 170,
"boost": 280,
"boostEnergy": 21,
"agility": 2,
"baseShieldStrength": 250,
"baseArmour": 630,
"hullMass": 580,
"masslock": 14,
"pipSpeed": 0.1025
},
"retailCost": 35814210,
"slots": {
"common": [
6,
6,
5,
5,
7,
5,
4
],
"hardpoints": [
3,
2,
2,
2,
2,
1,
1,
0,
0,
0,
0
],
"internal": [
6,
6,
5,
2,
2
]
},
"defaults": {
"common": [
"6E",
"6E",
"5E",
"5E",
"7E",
"5E",
"4C"
],
"hardpoints": [
0,
17,
17,
0,
0,
0,
0,
0,
0,
0,
0
],
"internal": [
0,
"4j",
"03",
0,
"2h"
]
}
}
}

View File

@@ -1,82 +0,0 @@
{
"fer_de_lance": {
"properties": {
"name": "Fer-de-Lance",
"manufacturer": "Zorgon Peterson",
"class": 2,
"hullCost": 51232230,
"speed": 260,
"boost": 350,
"boostEnergy": 21,
"agility": 6,
"baseShieldStrength": 300,
"baseArmour": 405,
"hullMass": 250,
"masslock": 12,
"pipSpeed": 0.03875
},
"retailCost": 51567040,
"slots": {
"common": [
5,
5,
4,
4,
6,
4,
3
],
"hardpoints": [
4,
2,
2,
2,
2,
0,
0,
0,
0,
0,
0
],
"internal": [
5,
4,
4,
2,
1
]
},
"defaults": {
"common": [
"5E",
"5E",
"4E",
"4E",
"6E",
"4E",
"3C"
],
"hardpoints": [
0,
17,
17,
0,
0,
0,
0,
0,
0,
0,
0
],
"internal": [
"03",
"49",
"02",
0,
"2h"
]
}
}
}

View File

@@ -1,64 +0,0 @@
{
"hauler": {
"properties": {
"name": "Hauler",
"manufacturer": "Zorgon Peterson",
"class": 1,
"hullCost": 29790,
"speed": 200,
"boost": 300,
"agility": 6,
"boostEnergy": 7,
"baseShieldStrength": 50,
"baseArmour": 90,
"hullMass": 14,
"masslock": 6,
"pipSpeed": 0.1625
},
"retailCost": 52720,
"slots": {
"common": [
2,
2,
2,
1,
1,
1,
2
],
"hardpoints": [
1,
0,
0
],
"internal": [
3,
3,
2,
1
]
},
"defaults": {
"common": [
"2E",
"2E",
"2E",
"1E",
"1E",
"1E",
"2C"
],
"hardpoints": [
17,
0,
0
],
"internal": [
"01",
"01",
"3v",
"2h"
]
}
}
}

View File

@@ -1,82 +0,0 @@
{
"imperial_clipper": {
"properties": {
"name": "Imperial Clipper",
"manufacturer": "Gutamaya",
"class": 3,
"hullCost": 21077780,
"speed": 300,
"boost": 380,
"boostEnergy": 21,
"agility": 2,
"baseShieldStrength": 180,
"baseArmour": 486,
"hullMass": 400,
"masslock": 12,
"pipSpeed": 0.1
},
"retailCost": 22296860,
"slots": {
"common": [
6,
6,
5,
5,
6,
5,
4
],
"hardpoints": [
3,
3,
2,
2,
0,
0,
0,
0
],
"internal": [
7,
6,
4,
4,
3,
3,
2,
2
]
},
"defaults": {
"common": [
"6E",
"6E",
"5E",
"5E",
"6E",
"5E",
"4C"
],
"hardpoints": [
0,
0,
17,
17,
0,
0,
0,
0
],
"internal": [
"05",
"4j",
"02",
0,
0,
0,
"00",
"2h"
]
}
}
}

View File

@@ -1,76 +0,0 @@
{
"imperial_courier": {
"properties": {
"name": "Imperial Courier",
"manufacturer": "Gutamaya",
"class": 1,
"hullCost": 2481550,
"speed": 280,
"boost": 380,
"boostEnergy": 11,
"agility": 6,
"baseShieldStrength": 197,
"baseArmour": 144,
"hullMass": 35,
"masslock": 7,
"pipSpeed": 0.05375
},
"retailCost": 2542930,
"slots": {
"common": [
4,
3,
3,
1,
3,
2,
3
],
"hardpoints": [
2,
2,
2,
0,
0,
0,
0
],
"internal": [
3,
3,
2,
2,
2,
1
]
},
"defaults": {
"common": [
"4E",
"3E",
"3E",
"1E",
"3E",
"2E",
"3C"
],
"hardpoints": [
17,
17,
0,
0,
0,
0,
0
],
"internal": [
"01",
"01",
"3v",
"00",
"00",
"2h"
]
}
}
}

View File

@@ -1,64 +0,0 @@
{
"imperial_eagle": {
"properties": {
"name": "Imperial Eagle",
"manufacturer": "Core Dynamics",
"class": 1,
"hullCost": 72180,
"speed": 300,
"boost": 400,
"boostEnergy": 9,
"agility": 6,
"baseShieldStrength": 80,
"baseArmour": 108,
"hullMass": 50,
"masslock": 6,
"pipSpeed": 0.075
},
"retailCost": 110830,
"slots": {
"common": [
3,
3,
3,
1,
2,
2,
2
],
"hardpoints": [
2,
1,
1,
0
],
"internal": [
3,
2,
1
]
},
"defaults": {
"common": [
"3E",
"3E",
"3E",
"1E",
"2E",
"2E",
"2C"
],
"hardpoints": [
0,
17,
17,
0
],
"internal": [
"44",
"00",
"2h"
]
}
}
}

View File

@@ -1,80 +0,0 @@
{
"orca": {
"properties": {
"name": "Orca",
"manufacturer": "Saud Kruger",
"class": 3,
"hullCost": 47798080,
"speed": 300,
"boost": 380,
"boostEnergy": 17,
"agility": 2,
"baseShieldStrength": 220,
"baseArmour": 396,
"hullMass": 580,
"masslock": 13,
"pipSpeed": 0.08375
},
"retailCost": 48539890,
"slots": {
"common": [
5,
6,
5,
6,
5,
4,
4
],
"hardpoints": [
3,
2,
2,
0,
0,
0,
0
],
"internal": [
{ "class": 6, "eligible": { "cr": 1, "hr": 1 } },
{ "class": 5, "eligible": { "cr": 1, "hr": 1 } },
5,
5,
4,
3,
2,
2
]
},
"defaults": {
"common": [
"5E",
"6E",
"5E",
"6E",
"5E",
"4E",
"4C"
],
"hardpoints": [
0,
17,
17,
0,
0,
0,
0
],
"internal": [
"04",
"03",
"03",
"4e",
"02",
0,
0,
"2h"
]
}
}
}

View File

@@ -1,86 +0,0 @@
{
"python": {
"properties": {
"name": "Python",
"manufacturer": "Faulcon DeLacy",
"class": 2,
"hullCost": 55171380,
"speed": 230,
"boost": 300,
"boostEnergy": 24,
"agility": 6,
"baseShieldStrength": 260,
"baseArmour": 468,
"hullMass": 350,
"masslock": 17,
"pipSpeed": 0.0975
},
"retailCost": 56978180,
"slots": {
"common": [
7,
6,
5,
4,
7,
6,
5
],
"hardpoints": [
3,
3,
3,
2,
2,
0,
0,
0,
0
],
"internal": [
6,
6,
6,
5,
5,
4,
3,
3,
2
]
},
"defaults": {
"common": [
"7E",
"6E",
"5E",
"4E",
"7E",
"6E",
"5C"
],
"hardpoints": [
0,
0,
0,
17,
17,
0,
0,
0,
0
],
"internal": [
"04",
"04",
"4j",
"03",
0,
0,
0,
"00",
"2h"
]
}
}
}

View File

@@ -1,64 +0,0 @@
{
"sidewinder": {
"properties": {
"name": "Sidewinder",
"manufacturer": "Faulcon DeLacy",
"class": 1,
"hullCost": 12870,
"speed": 220,
"boost": 320,
"boostEnergy": 7,
"agility": 8,
"baseShieldStrength": 40,
"baseArmour": 108,
"hullMass": 25,
"masslock": 6,
"pipSpeed": 0.1375
},
"retailCost": 32000,
"slots": {
"common": [
2,
2,
2,
1,
1,
1,
1
],
"hardpoints": [
1,
1,
0,
0
],
"internal": [
2,
2,
1
]
},
"defaults": {
"common": [
"2E",
"2E",
"2E",
"1E",
"1E",
"1E",
"1C"
],
"hardpoints": [
17,
17,
0,
0
],
"internal": [
"3v",
"01",
"2h"
]
}
}
}

View File

@@ -1,74 +0,0 @@
{
"type_6_transporter": {
"properties": {
"name": "Type-6 Transporter",
"manufacturer": "Lakon",
"class": 2,
"hullCost": 865790,
"speed": 220,
"boost": 350,
"boostEnergy": 11,
"agility": 3,
"baseShieldStrength": 90,
"baseArmour": 162,
"hullMass": 155,
"masslock": 8,
"pipSpeed": 0.1475
},
"retailCost": 1045950,
"slots": {
"common": [
3,
4,
4,
2,
3,
2,
4
],
"hardpoints": [
1,
1,
0,
0,
0
],
"internal": [
5,
5,
4,
4,
3,
2,
2
]
},
"defaults": {
"common": [
"3E",
"4E",
"4E",
"2E",
"3E",
"2E",
"4C"
],
"hardpoints": [
17,
17,
0,
0,
0
],
"internal": [
"03",
"03",
"02",
"02",
"44",
"00",
"2h"
]
}
}
}

View File

@@ -1,82 +0,0 @@
{
"type_7_transport": {
"properties": {
"name": "Type-7 Transporter",
"manufacturer": "Lakon",
"class": 3,
"hullCost": 16881510,
"speed": 180,
"boost": 300,
"boostEnergy": 11,
"agility": 2,
"baseShieldStrength": 120,
"baseArmour": 216,
"hullMass": 420,
"masslock": 10,
"pipSpeed": 0.16625
},
"retailCost": 17472250,
"slots": {
"common": [
4,
5,
5,
4,
3,
3,
5
],
"hardpoints": [
1,
1,
1,
1,
0,
0,
0,
0
],
"internal": [
6,
6,
5,
5,
4,
4,
2,
2
]
},
"defaults": {
"common": [
"4E",
"5E",
"5E",
"4E",
"3E",
"3E",
"5C"
],
"hardpoints": [
17,
17,
0,
0,
0,
0,
0,
0
],
"internal": [
"04",
"04",
"03",
"03",
"02",
"49",
0,
"2h"
]
}
}
}

View File

@@ -1,86 +0,0 @@
{
"type_9_heavy": {
"properties": {
"name": "Type-9 Heavy",
"manufacturer": "Lakon",
"class": 3,
"hullCost": 73255150,
"speed": 130,
"boost": 200,
"boostEnergy": 21,
"agility": 0,
"baseShieldStrength": 240,
"baseArmour": 432,
"hullMass": 1000,
"masslock": 16,
"pipSpeed": 0.17375
},
"retailCost": 76555840,
"slots": {
"common": [
6,
7,
6,
5,
6,
4,
6
],
"hardpoints": [
2,
2,
2,
1,
1,
0,
0,
0,
0
],
"internal": [
8,
7,
6,
5,
4,
4,
3,
3,
2
]
},
"defaults": {
"common": [
"6E",
"7E",
"6E",
"5E",
"6E",
"4E",
"6C"
],
"hardpoints": [
17,
17,
0,
0,
0,
0,
0,
0,
0
],
"internal": [
"06",
"05",
"4j",
"03",
"02",
0,
"01",
0,
"2h"
]
}
}
}

View File

@@ -1,70 +0,0 @@
{
"viper": {
"properties": {
"name": "Viper",
"manufacturer": "Faulcon DeLacy",
"class": 1,
"hullCost": 95900,
"speed": 320,
"boost": 400,
"boostEnergy": 11,
"agility": 6,
"baseShieldStrength": 105,
"baseArmour": 126,
"hullMass": 60,
"masslock": 7,
"pipSpeed": 0.09375
},
"retailCost": 142930,
"slots": {
"common": [
3,
3,
3,
2,
3,
3,
2
],
"hardpoints": [
2,
2,
1,
1,
0,
0
],
"internal": [
3,
3,
2,
1
]
},
"defaults": {
"common": [
"3E",
"3E",
"3E",
"2E",
"3E",
"3E",
"2C"
],
"hardpoints": [
17,
17,
0,
0,
0,
0
],
"internal": [
"01",
"44",
0,
"2h"
]
}
}
}

View File

@@ -1,72 +0,0 @@
{
"vulture": {
"properties": {
"name": "Vulture",
"manufacturer": "Core Dynamics",
"class": 1,
"hullCost": 4689640,
"speed": 210,
"boost": 340,
"boostEnergy": 17,
"agility": 9,
"baseShieldStrength": 240,
"baseArmour": 288,
"hullMass": 230,
"masslock": 10,
"pipSpeed": 0.02375
},
"retailCost": 4925620,
"slots": {
"common": [
4,
5,
4,
3,
5,
4,
3
],
"hardpoints": [
3,
3,
0,
0,
0,
0
],
"internal": [
5,
4,
2,
1,
1
]
},
"defaults": {
"common": [
"4E",
"5E",
"4E",
"3E",
"5E",
"4E",
"3C"
],
"hardpoints": [
17,
17,
0,
0,
0,
0
],
"internal": [
"4e",
"02",
0,
0,
"2h"
]
}
}
}

View File

@@ -1,12 +1,15 @@
{ {
"name": "coriolis_shipyard", "name": "coriolis_shipyard",
"version": "1.8.2", "version": "1.10.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/cmmcleod/coriolis" "url": "https://github.com/cmmcleod/coriolis"
}, },
"homepage": "http://coriolis.io",
"bugs": "https://github.com/cmmcleod/coriolis/issues",
"private": true, "private": true,
"engine": "node >= 0.12.2", "engine": "node >= 0.12.2",
"license": "MIT",
"devDependencies": { "devDependencies": {
"angular-mocks": "1.4.x", "angular-mocks": "1.4.x",
"async": "0.9.x", "async": "0.9.x",

View File

@@ -7,16 +7,16 @@ var db_filename = './app/js/db.js';
async.parallel([ async.parallel([
function(cb) { jsonConcat({ dest: null, src: './data/ships' }, done.bind(cb)); }, function(cb) { jsonConcat({ dest: null, src: './data/ships' }, done.bind(cb)); },
function(cb) { function(cb) {
var common = [ var standard = [
JSON.parse(fs.readFileSync('./data/components/common/power_plant.json', 'utf8')), JSON.parse(fs.readFileSync('./data/components/standard/power_plant.json', 'utf8')),
JSON.parse(fs.readFileSync('./data/components/common/thrusters.json', 'utf8')), JSON.parse(fs.readFileSync('./data/components/standard/thrusters.json', 'utf8')),
JSON.parse(fs.readFileSync('./data/components/common/frame_shift_drive.json', 'utf8')), JSON.parse(fs.readFileSync('./data/components/standard/frame_shift_drive.json', 'utf8')),
JSON.parse(fs.readFileSync('./data/components/common/life_support.json', 'utf8')), JSON.parse(fs.readFileSync('./data/components/standard/life_support.json', 'utf8')),
JSON.parse(fs.readFileSync('./data/components/common/power_distributor.json', 'utf8')), JSON.parse(fs.readFileSync('./data/components/standard/power_distributor.json', 'utf8')),
JSON.parse(fs.readFileSync('./data/components/common/sensors.json', 'utf8')), JSON.parse(fs.readFileSync('./data/components/standard/sensors.json', 'utf8')),
JSON.parse(fs.readFileSync('./data/components/common/fuel_tank.json', 'utf8')) JSON.parse(fs.readFileSync('./data/components/standard/fuel_tank.json', 'utf8'))
]; ];
cb(null, common); cb(null, standard);
}, },
function(cb) { jsonConcat({ dest: null, src: './data/components/hardpoints' }, done.bind(cb)); }, function(cb) { jsonConcat({ dest: null, src: './data/components/hardpoints' }, done.bind(cb)); },
function(cb) { jsonConcat({ dest: null, src: './data/components/internal' }, done.bind(cb)); }, function(cb) { jsonConcat({ dest: null, src: './data/components/internal' }, done.bind(cb)); },
@@ -65,7 +65,7 @@ function writeDB(err, arr) {
var db = { var db = {
ships: ships, ships: ships,
components: { components: {
common: arr[1], standard: arr[1],
hardpoints: hardpoints, hardpoints: hardpoints,
internal: internal, internal: internal,
bulkheads: arr[4] bulkheads: arr[4]

View File

@@ -268,8 +268,8 @@
"fuelCapacity": 32, "fuelCapacity": 32,
"cargoCapacity": 128, "cargoCapacity": 128,
"ladenMass": 1339.2, "ladenMass": 1339.2,
"armour": 2078, "armour": 2228,
"armourAdded": 240, "armourAdded": 390,
"armourMultiplier": 1.95, "armourMultiplier": 1.95,
"shieldMultiplier": 1.4, "shieldMultiplier": 1.4,
"totalCost": 882362060, "totalCost": 882362060,

1
test/fixtures/eddb-modules.json vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -45,6 +45,6 @@
"Attack": "25A5C4A4D6A4A3C1r0s0s0s0s000404-04-4a-5d27-.Iw18aQ==.Aw18aQ==" "Attack": "25A5C4A4D6A4A3C1r0s0s0s0s000404-04-4a-5d27-.Iw18aQ==.Aw18aQ=="
}, },
"eagle": { "eagle": {
"Figther": "42A3A3A1D2A2A2C0p0p24-40532j.Iw19A===.Aw19A===" "Figther": "42A3A3A1D2A2A2C0p0p24-40532j-.Iw1-EA==.Aw1-EA=="
} }
} }

View File

@@ -3423,7 +3423,8 @@
"class": 1, "class": 1,
"rating": "A", "rating": "A",
"group": "Fuel Scoop" "group": "Fuel Scoop"
} },
null
] ]
}, },
"stats": { "stats": {

View File

@@ -83,7 +83,7 @@ describe('Import Controller', function() {
scope.importString = angular.toJson(importData).replace('Dream', ''); scope.importString = angular.toJson(importData).replace('Dream', '');
scope.validateImport(); scope.validateImport();
expect(scope.importValid).toBeFalsy(); expect(scope.importValid).toBeFalsy();
expect(scope.errorMsg).toEqual('Imperial Clipper build "" must be a string at least 3 characters long!'); expect(scope.errorMsg).toEqual('Imperial Clipper build "" must be a string at least 1 character long!');
invalidImportData = angular.copy(importData); invalidImportData = angular.copy(importData);
invalidImportData.builds.asp = null; // Remove Asp Miner build used in comparison invalidImportData.builds.asp = null; // Remove Asp Miner build used in comparison

Some files were not shown because too many files have changed in this diff Show More