diff --git a/app/js/directives/directive-component-select.js b/app/js/directives/directive-component-select.js
index 8e25da08..c1402c30 100644
--- a/app/js/directives/directive-component-select.js
+++ b/app/js/directives/directive-component-select.js
@@ -5,12 +5,12 @@ angular.module('app').directive('componentSelect', function() {
function appendGroup(list, opts, cid, mass) {
var prevClass = null, prevRating = null;
var count = Object.keys(opts).length;
- for (id in opts) {
- var o = opts[id];
+ for (var i = 0; i < opts.length; i++) {
+ var o = opts[i];
list.push('
', o.class, o.rating);
+ if (cid == o.id) list.push(' active');
+ list.push((o.maxmass && mass > o.maxmass)? ' disabled"' : '" cpid="', o.id, '">', o.class, o.rating);
if(o.mode) {
list.push('/' + o.mode);
if(o.missile) {
diff --git a/app/js/shipyard/factory-component-set.js b/app/js/shipyard/factory-component-set.js
index 677e839e..5e6b4eb4 100644
--- a/app/js/shipyard/factory-component-set.js
+++ b/app/js/shipyard/factory-component-set.js
@@ -36,7 +36,7 @@ angular.module('shipyard').factory('ComponentSet', ['lodash', function (_) {
var o = this.hpClass[c] = {};
for(var key in this.hardpoints) {
var data = filter(this.hardpoints[key], c, c? 1 : 0, this.mass);
- if(Object.keys(data).length) { // If group is not empty
+ if(data.length) { // If group is not empty
o[key] = data;
}
}
@@ -49,7 +49,7 @@ angular.module('shipyard').factory('ComponentSet', ['lodash', function (_) {
var o = this.intClass[c] = {};
for(var key in this.internal) {
var data = filter(this.internal[key], c, 0, this.mass);
- if(Object.keys(data).length) { // If group is not empty
+ if(data.length) { // If group is not empty
o[key] = data;
}
}
@@ -58,13 +58,9 @@ angular.module('shipyard').factory('ComponentSet', ['lodash', function (_) {
};
function filter (data, maxClass, minClass, mass) {
- var set = {};
- _.forEach(data, function (c,id) {
- if (c.class <= maxClass && c.class >= minClass && (c.maxmass === undefined || mass <= c.maxmass) ) {
- set[id] = c;
- }
+ return _.filter(data, function (c) {
+ return c.class <= maxClass && c.class >= minClass && (c.maxmass === undefined || mass <= c.maxmass)
});
- return set;
}
return ComponentSet;
diff --git a/app/js/shipyard/service-components.js b/app/js/shipyard/service-components.js
index 21ea40af..8c7b0e2e 100644
--- a/app/js/shipyard/service-components.js
+++ b/app/js/shipyard/service-components.js
@@ -10,17 +10,27 @@ angular.module('shipyard').service('Components', ['lodash', 'ComponentSet', func
};
this.hardpoints = function(id) {
- var c = _.find(C.hardpoints, function(o) {
- return o[id];
- })
- return c[id];
+ for (var n in C.hardpoints) {
+ var group = C.hardpoints[n];
+ for (var i = 0; i < group.length; i++) {
+ if (group[i].id == id) {
+ return group[i];
+ }
+ }
+ }
+ return null;
};
this.internal = function(id) {
- var c = _.find(C.internal, function(o) {
- return o[id];
- })
- return c[id];
+ for (var n in C.internal) {
+ var group = C.internal[n];
+ for (var i = 0; i < group.length; i++) {
+ if (group[i].id == id) {
+ return group[i];
+ }
+ }
+ }
+ return null;
};
this.bulkheads = function(shipId, bulkheadsId) {
diff --git a/data/components/hardpoints/beam_laser.json b/data/components/hardpoints/beam_laser.json
index a0ce8c5d..f3431062 100644
--- a/data/components/hardpoints/beam_laser.json
+++ b/data/components/hardpoints/beam_laser.json
@@ -1,6 +1,7 @@
{
- "Beam Lasers" : {
- "10": {
+ "Beam Lasers" : [
+ {
+ "id": "10",
"grp": "bl",
"class": 1,
"rating": "E",
@@ -15,7 +16,8 @@
"dps": 3,
"thermload": 3
},
- "0p": {
+ {
+ "id": "0p",
"grp": "bl",
"class": 1,
"rating": "E",
@@ -30,7 +32,8 @@
"dps": 3,
"thermload": 3
},
- "0q": {
+ {
+ "id": "0q",
"grp": "bl",
"class": 1,
"rating": "F",
@@ -45,7 +48,8 @@
"dps": 3,
"thermload": 2
},
- "0r": {
+ {
+ "id": "0r",
"grp": "bl",
"class": 2,
"rating": "D",
@@ -60,7 +64,8 @@
"dps": 4,
"thermload": 4
},
- "0s": {
+ {
+ "id": "0s",
"grp": "bl",
"class": 2,
"rating": "D",
@@ -75,7 +80,8 @@
"dps": 4,
"thermload": 4
},
- "0t": {
+ {
+ "id": "0t",
"grp": "bl",
"class": 2,
"rating": "E",
@@ -90,7 +96,8 @@
"dps": 3,
"thermload": 3
},
- "0u": {
+ {
+ "id": "0u",
"grp": "bl",
"class": 3,
"rating": "C",
@@ -105,7 +112,8 @@
"dps": 5,
"thermload": 5
},
- "0v": {
+ {
+ "id": "0v",
"grp": "bl",
"class": 3,
"rating": "C",
@@ -120,7 +128,8 @@
"dps": 4,
"thermload": 6
},
- "0o": {
+ {
+ "id": "0o",
"grp": "bl",
"class": 3,
"rating": "D",
@@ -135,5 +144,5 @@
"dps": 4,
"thermload": 4
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/burst_laser.json b/data/components/hardpoints/burst_laser.json
index 472ac8fb..b17d0511 100644
--- a/data/components/hardpoints/burst_laser.json
+++ b/data/components/hardpoints/burst_laser.json
@@ -1,6 +1,7 @@
{
- "Burst Lasers": {
- "11": {
+ "Burst Lasers": [
+ {
+ "id": "11",
"grp": "ul",
"class": 1,
"rating": "F",
@@ -15,7 +16,8 @@
"dps": 3,
"thermload": 1
},
- "12": {
+ {
+ "id": "12",
"grp": "ul",
"class": 1,
"rating": "G",
@@ -30,7 +32,8 @@
"dps": 3,
"thermload": 1
},
- "13": {
+ {
+ "id": "13",
"grp": "ul",
"class": 1,
"rating": "G",
@@ -45,7 +48,8 @@
"dps": 2,
"thermload": 1
},
- "14": {
+ {
+ "id": "14",
"grp": "ul",
"class": 3,
"rating": "D",
@@ -60,7 +64,8 @@
"dps": 4,
"thermload": 1
},
- "15": {
+ {
+ "id": "15",
"grp": "ul",
"class": 3,
"rating": "E",
@@ -75,7 +80,8 @@
"dps": 4,
"thermload": 1
},
- "16": {
+ {
+ "id": "16",
"grp": "ul",
"class": 3,
"rating": "E",
@@ -90,5 +96,5 @@
"dps": 4,
"thermload": 1
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/cannon.json b/data/components/hardpoints/cannon.json
index 5ef1b005..24a2943f 100644
--- a/data/components/hardpoints/cannon.json
+++ b/data/components/hardpoints/cannon.json
@@ -1,6 +1,7 @@
{
- "Cannons": {
- "1h": {
+ "Cannons": [
+ {
+ "id": "1h",
"grp": "c",
"class": 1,
"rating": "D",
@@ -18,7 +19,8 @@
"clip": 5,
"ammo": 100
},
- "1i": {
+ {
+ "id": "1i",
"grp": "c",
"class": 1,
"rating": "E",
@@ -36,7 +38,8 @@
"clip": 5,
"ammo": 100
},
- "1j": {
+ {
+ "id": "1j",
"grp": "c",
"class": 1,
"rating": "F",
@@ -54,7 +57,8 @@
"clip": 5,
"ammo": 100
},
- "1k": {
+ {
+ "id": "1k",
"grp": "c",
"class": 2,
"rating": "D",
@@ -72,7 +76,8 @@
"clip": 5,
"ammo": 100
},
- "1l": {
+ {
+ "id": "1l",
"grp": "c",
"class": 2,
"rating": "D",
@@ -90,7 +95,8 @@
"clip": 5,
"ammo": 100
},
- "1m": {
+ {
+ "id": "1m",
"grp": "c",
"class": 2,
"rating": "E",
@@ -108,7 +114,8 @@
"clip": 5,
"ammo": 100
},
- "1n": {
+ {
+ "id": "1n",
"grp": "c",
"class": 3,
"rating": "C",
@@ -126,7 +133,8 @@
"clip": 5,
"ammo": 100
},
- "1o": {
+ {
+ "id": "1o",
"grp": "c",
"class": 3,
"rating": "C",
@@ -144,7 +152,8 @@
"clip": 5,
"ammo": 100
},
- "1p": {
+ {
+ "id": "1p",
"grp": "c",
"class": 3,
"rating": "D",
@@ -162,7 +171,8 @@
"clip": 5,
"ammo": 100
},
- "1q": {
+ {
+ "id": "1q",
"grp": "c",
"class": 4,
"rating": "B",
@@ -180,7 +190,8 @@
"clip": 5,
"ammo": 100
},
- "1r": {
+ {
+ "id": "1r",
"grp": "c",
"class": 4,
"rating": "B",
@@ -198,5 +209,5 @@
"clip": 5,
"ammo": 100
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/cargo_scanner.json b/data/components/hardpoints/cargo_scanner.json
index fee11ee2..d9344387 100644
--- a/data/components/hardpoints/cargo_scanner.json
+++ b/data/components/hardpoints/cargo_scanner.json
@@ -1,6 +1,7 @@
{
- "Cargo Scanners": {
- "09": {
+ "Cargo Scanners": [
+ {
+ "id": "09",
"grp": "cs",
"class": 0,
"rating": "A",
@@ -10,7 +11,8 @@
"range": 4,
"time": 10
},
- "0a": {
+ {
+ "id": "0a",
"grp": "cs",
"class": 0,
"rating": "B",
@@ -20,7 +22,8 @@
"range": 3.5,
"time": 10
},
- "0b": {
+ {
+ "id": "0b",
"grp": "cs",
"class": 0,
"rating": "C",
@@ -30,7 +33,8 @@
"range": 3,
"time": 10
},
- "0c": {
+ {
+ "id": "0c",
"grp": "cs",
"class": 0,
"rating": "D",
@@ -40,7 +44,8 @@
"range": 2.5,
"time": 10
},
- "0d": {
+ {
+ "id": "0d",
"grp": "cs",
"class": 0,
"rating": "E",
@@ -50,5 +55,5 @@
"range": 2,
"time": 10
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/countermeasures.json b/data/components/hardpoints/countermeasures.json
index 866bfbf2..3e5ee810 100644
--- a/data/components/hardpoints/countermeasures.json
+++ b/data/components/hardpoints/countermeasures.json
@@ -1,6 +1,7 @@
{
- "Countermeasures": {
- "00": {
+ "Countermeasures": [
+ {
+ "id": "00",
"name": "Chaff Launcher",
"class": 0,
"rating": "I",
@@ -13,7 +14,8 @@
"clip": 1,
"ammo": 10
},
- "01": {
+ {
+ "id": "01",
"name": "Electronic Countermeasure",
"class": 0,
"rating": "F",
@@ -25,7 +27,8 @@
"activepower": 4,
"cooldown": 10
},
- "02": {
+ {
+ "id": "02",
"name": "Heat Sink Launcher",
"class": 0,
"rating": "I",
@@ -38,7 +41,8 @@
"clip": 1,
"ammo": 3
},
- "03": {
+ {
+ "id": "03",
"name": "Point Defence",
"class": 0,
"rating": "I",
@@ -51,5 +55,5 @@
"clip": 50,
"ammo": 10000
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/fragment_cannon.json b/data/components/hardpoints/fragment_cannon.json
index ad3d605c..4865cfac 100644
--- a/data/components/hardpoints/fragment_cannon.json
+++ b/data/components/hardpoints/fragment_cannon.json
@@ -1,6 +1,7 @@
{
- "Fragment Cannons": {
- "20": {
+ "Fragment Cannons": [
+ {
+ "id": "20",
"grp": "fc",
"class": 1,
"rating": "E",
@@ -18,7 +19,8 @@
"clip": 3,
"ammo": 30
},
- "21": {
+ {
+ "id": "21",
"grp": "fc",
"class": 1,
"rating": "E",
@@ -36,7 +38,8 @@
"clip": 3,
"ammo": 30
},
- "22": {
+ {
+ "id": "22",
"grp": "fc",
"class": 1,
"rating": "E",
@@ -54,7 +57,8 @@
"clip": 3,
"ammo": 30
},
- "1s": {
+ {
+ "id": "1s",
"grp": "fc",
"class": 2,
"rating": "A",
@@ -72,7 +76,8 @@
"clip": 3,
"ammo": 30
},
- "1t": {
+ {
+ "id": "1t",
"grp": "fc",
"class": 3,
"rating": "C",
@@ -90,7 +95,8 @@
"clip": 3,
"ammo": 30
},
- "1u": {
+ {
+ "id": "1u",
"grp": "fc",
"class": 3,
"rating": "C",
@@ -108,7 +114,8 @@
"clip": 3,
"ammo": 30
},
- "1v": {
+ {
+ "id": "1v",
"grp": "fc",
"class": 3,
"rating": "C",
@@ -126,5 +133,5 @@
"clip": 3,
"ammo": 30
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/frame_shift_wake_scanner.json b/data/components/hardpoints/frame_shift_wake_scanner.json
index e6130c7e..85dff6ae 100644
--- a/data/components/hardpoints/frame_shift_wake_scanner.json
+++ b/data/components/hardpoints/frame_shift_wake_scanner.json
@@ -1,6 +1,7 @@
{
- "Frame Shift Wake Scanners": {
- "0e": {
+ "Frame Shift Wake Scanners": [
+ {
+ "id": "0e",
"grp": "fs",
"class": 0,
"rating": "A",
@@ -10,7 +11,8 @@
"range": 4,
"time": 10
},
- "0f": {
+ {
+ "id": "0f",
"grp": "fs",
"class": 0,
"rating": "B",
@@ -20,7 +22,8 @@
"range": 3.5,
"time": 10
},
- "0g": {
+ {
+ "id": "0g",
"grp": "fs",
"class": 0,
"rating": "C",
@@ -30,7 +33,8 @@
"range": 3,
"time": 10
},
- "0h": {
+ {
+ "id": "0h",
"grp": "fs",
"class": 0,
"rating": "D",
@@ -40,7 +44,8 @@
"range": 2.5,
"time": 10
},
- "0i": {
+ {
+ "id": "0i",
"grp": "fs",
"class": 0,
"rating": "E",
@@ -50,5 +55,5 @@
"range": 2,
"time": 10
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/kill_warrant_scanner.json b/data/components/hardpoints/kill_warrant_scanner.json
index 06d4faa2..5d2ffff7 100644
--- a/data/components/hardpoints/kill_warrant_scanner.json
+++ b/data/components/hardpoints/kill_warrant_scanner.json
@@ -1,6 +1,7 @@
{
- "Kill Warrant Scanners": {
- "0j": {
+ "Kill Warrant Scanners": [
+ {
+ "id": "0j",
"grp": "kw",
"class": 0,
"rating": "A",
@@ -10,7 +11,8 @@
"range": 4,
"time": 10
},
- "0k": {
+ {
+ "id": "0k",
"grp": "kw",
"class": 0,
"rating": "B",
@@ -20,7 +22,8 @@
"range": 3.5,
"time": 10
},
- "0l": {
+ {
+ "id": "0l",
"grp": "kw",
"class": 0,
"rating": "C",
@@ -30,7 +33,8 @@
"range": 3,
"time": 10
},
- "0m": {
+ {
+ "id": "0m",
"grp": "kw",
"class": 0,
"rating": "D",
@@ -40,7 +44,8 @@
"range": 2.5,
"time": 10
},
- "0n": {
+ {
+ "id": "0n",
"grp": "kw",
"class": 0,
"rating": "E",
@@ -50,5 +55,5 @@
"range": 2,
"time": 10
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/mine_launcher.json b/data/components/hardpoints/mine_launcher.json
index a4aa6024..95d1f001 100644
--- a/data/components/hardpoints/mine_launcher.json
+++ b/data/components/hardpoints/mine_launcher.json
@@ -1,6 +1,7 @@
{
- "Mine Launchers": {
- "2j": {
+ "Mine Launchers": [
+ {
+ "id": "2j",
"grp": "nl",
"class": 1,
"rating": "I",
@@ -14,7 +15,8 @@
"clip": 1,
"ammo": 24
},
- "2k": {
+ {
+ "id": "2k",
"grp": "nl",
"class": 2,
"rating": "I",
@@ -28,5 +30,5 @@
"clip": 3,
"ammo": 24
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/mining_laser.json b/data/components/hardpoints/mining_laser.json
index 95f8ff6b..f587ea7d 100644
--- a/data/components/hardpoints/mining_laser.json
+++ b/data/components/hardpoints/mining_laser.json
@@ -1,6 +1,7 @@
{
- "Mining Lasers": {
- "2l": {
+ "Mining Lasers": [
+ {
+ "id": "2l",
"grp": "ml",
"class": 1,
"rating": "D",
@@ -14,7 +15,8 @@
"clip": 1,
"ammo": 1
},
- "2m": {
+ {
+ "id": "2m",
"grp": "ml",
"class": 2,
"rating": "D",
@@ -28,5 +30,5 @@
"clip": 1,
"ammo": 1
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/missile_rack.json b/data/components/hardpoints/missile_rack.json
index e083a83f..11da6a60 100644
--- a/data/components/hardpoints/missile_rack.json
+++ b/data/components/hardpoints/missile_rack.json
@@ -1,6 +1,7 @@
{
- "Missile Racks": {
- "2d": {
+ "Missile Racks": [
+ {
+ "id": "2d",
"grp": "mr",
"class": 1,
"rating": "B",
@@ -19,7 +20,8 @@
"ammo": 16,
"missile": "D"
},
- "2e": {
+ {
+ "id": "2e",
"grp": "mr",
"class": 1,
"rating": "B",
@@ -38,7 +40,8 @@
"ammo": 6,
"missile": "S"
},
- "2f": {
+ {
+ "id": "2f",
"grp": "mr",
"class": 2,
"rating": "B",
@@ -57,7 +60,8 @@
"ammo": 24,
"missile": "D"
},
- "2g": {
+ {
+ "id": "2g",
"grp": "mr",
"class": 2,
"rating": "B",
@@ -76,5 +80,5 @@
"ammo": 18,
"missile": "S"
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/multi_cannon.json b/data/components/hardpoints/multi_cannon.json
index 052c6633..9d44966f 100644
--- a/data/components/hardpoints/multi_cannon.json
+++ b/data/components/hardpoints/multi_cannon.json
@@ -1,6 +1,7 @@
{
- "Multi-cannons": {
- "23": {
+ "Multi-cannons": [
+ {
+ "id": "23",
"grp": "mc",
"class": 1,
"rating": "F",
@@ -18,7 +19,8 @@
"clip": 90,
"ammo": 2100
},
- "24": {
+ {
+ "id": "24",
"grp": "mc",
"class": 1,
"rating": "G",
@@ -36,7 +38,8 @@
"clip": 90,
"ammo": 2100
},
- "25": {
+ {
+ "id": "25",
"grp": "mc",
"class": 1,
"rating": "G",
@@ -54,7 +57,8 @@
"clip": 90,
"ammo": 2100
},
- "26": {
+ {
+ "id": "26",
"grp": "mc",
"class": 2,
"rating": "E",
@@ -72,7 +76,8 @@
"clip": 90,
"ammo": 2100
},
- "27": {
+ {
+ "id": "27",
"grp": "mc",
"class": 2,
"rating": "F",
@@ -90,7 +95,8 @@
"clip": 90,
"ammo": 2100
},
- "28": {
+ {
+ "id": "28",
"grp": "mc",
"class": 2,
"rating": "F",
@@ -108,5 +114,5 @@
"clip": 90,
"ammo": 2100
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/plasma_accelerator.json b/data/components/hardpoints/plasma_accelerator.json
index 902dc0ec..b60b2d20 100644
--- a/data/components/hardpoints/plasma_accelerator.json
+++ b/data/components/hardpoints/plasma_accelerator.json
@@ -1,6 +1,7 @@
{
- "Plasma Accelerators": {
- "1g": {
+ "Plasma Accelerators": [
+ {
+ "id": "1g",
"grp": "pa",
"class": 2,
"rating": "C",
@@ -18,7 +19,8 @@
"clip": 5,
"ammo": 100
},
- "2b": {
+ {
+ "id": "2b",
"grp": "pa",
"class": 3,
"rating": "B",
@@ -36,7 +38,8 @@
"clip": 5,
"ammo": 100
},
- "2c": {
+ {
+ "id": "2c",
"grp": "pa",
"class": 4,
"rating": "A",
@@ -54,5 +57,5 @@
"clip": 5,
"ammo": 100
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/pulse_laser.json b/data/components/hardpoints/pulse_laser.json
index eaeeaab8..2f28283f 100644
--- a/data/components/hardpoints/pulse_laser.json
+++ b/data/components/hardpoints/pulse_laser.json
@@ -1,6 +1,7 @@
{
- "Pulse Lasers": {
- "17": {
+ "Pulse Lasers": [
+ {
+ "id": "17",
"grp": "pl",
"class": 1,
"rating": "F",
@@ -15,7 +16,8 @@
"dps": 3,
"thermload": 1
},
- "18": {
+ {
+ "id": "18",
"grp": "pl",
"class": 1,
"rating": "F",
@@ -30,7 +32,8 @@
"dps": 3,
"thermload": 1
},
- "19": {
+ {
+ "id": "19",
"grp": "pl",
"class": 1,
"rating": "G",
@@ -45,7 +48,8 @@
"dps": 2,
"thermload": 1
},
- "1a": {
+ {
+ "id": "1a",
"grp": "pl",
"class": 2,
"rating": "E",
@@ -60,7 +64,8 @@
"dps": 3,
"thermload": 1
},
- "1b": {
+ {
+ "id": "1b",
"grp": "pl",
"class": 2,
"rating": "F",
@@ -75,7 +80,8 @@
"dps": 3,
"thermload": 1
},
- "1c": {
+ {
+ "id": "1c",
"grp": "pl",
"class": 2,
"rating": "F",
@@ -90,7 +96,8 @@
"dps": 3,
"thermload": 1
},
- "1d": {
+ {
+ "id": "1d",
"grp": "pl",
"class": 3,
"rating": "D",
@@ -105,7 +112,8 @@
"dps": 4,
"thermload": 1
},
- "1e": {
+ {
+ "id": "1e",
"grp": "pl",
"class": 3,
"rating": "E",
@@ -120,7 +128,8 @@
"dps": 4,
"thermload": 1
},
- "1f": {
+ {
+ "id": "1f",
"grp": "pl",
"class": 3,
"rating": "F",
@@ -135,5 +144,5 @@
"dps": 3,
"thermload": 1
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/rail_gun.json b/data/components/hardpoints/rail_gun.json
index e4a648ff..8f693293 100644
--- a/data/components/hardpoints/rail_gun.json
+++ b/data/components/hardpoints/rail_gun.json
@@ -1,6 +1,7 @@
{
- "Rail Guns": {
- "29": {
+ "Rail Guns": [
+ {
+ "id": "29",
"grp": "rg",
"class": 1,
"rating": "D",
@@ -18,7 +19,8 @@
"clip": 1,
"ammo": 30
},
- "2a": {
+ {
+ "id": "2a",
"grp": "rg",
"class": 2,
"rating": "B",
@@ -36,5 +38,5 @@
"clip": 1,
"ammo": 30
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/shield_booster.json b/data/components/hardpoints/shield_booster.json
index dc9f7da1..8450a9e8 100644
--- a/data/components/hardpoints/shield_booster.json
+++ b/data/components/hardpoints/shield_booster.json
@@ -1,6 +1,7 @@
{
- "Shield Boosters": {
- "04": {
+ "Shield Boosters": [
+ {
+ "id": "04",
"grp": "sb",
"class": 0,
"rating": "A",
@@ -10,7 +11,8 @@
"passive": 1,
"shieldmul": 0.2
},
- "05": {
+ {
+ "id": "05",
"grp": "sb",
"class": 0,
"rating": "B",
@@ -20,7 +22,8 @@
"passive": 1,
"shieldmul": 0.16
},
- "06": {
+ {
+ "id": "06",
"grp": "sb",
"class": 0,
"rating": "C",
@@ -30,7 +33,8 @@
"passive": 1,
"shieldmul": 0.12
},
- "07": {
+ {
+ "id": "07",
"grp": "sb",
"class": 0,
"rating": "D",
@@ -40,7 +44,8 @@
"passive": 1,
"shieldmul": 0.08
},
- "08": {
+ {
+ "id": "08",
"grp": "sb",
"class": 0,
"rating": "E",
@@ -50,5 +55,5 @@
"passive": 1,
"shieldmul": 0.04
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/hardpoints/torpedo_pylon.json b/data/components/hardpoints/torpedo_pylon.json
index e9e02f91..af18a74e 100644
--- a/data/components/hardpoints/torpedo_pylon.json
+++ b/data/components/hardpoints/torpedo_pylon.json
@@ -1,6 +1,7 @@
{
- "Torpedo Pylons": {
- "2h": {
+ "Torpedo Pylons": [
+ {
+ "id": "2h",
"grp": "tp",
"class": 1,
"rating": "I",
@@ -15,7 +16,8 @@
"ammo": 1,
"missile": "S"
},
- "2i": {
+ {
+ "id": "2i",
"grp": "tp",
"class": 2,
"rating": "I",
@@ -30,5 +32,5 @@
"ammo": 1,
"missile": "S"
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/internal/auto_field_maintenance_unit.json b/data/components/internal/auto_field_maintenance_unit.json
index 97b5723c..2a4d406f 100644
--- a/data/components/internal/auto_field_maintenance_unit.json
+++ b/data/components/internal/auto_field_maintenance_unit.json
@@ -1,96 +1,7 @@
{
- "Auto Field-Maintenance Units": {
- "10": {
- "grp": "am",
- "class": 5,
- "rating": "E",
- "cost": 104976,
- "power": 1.17,
- "ammo": 6100,
- "repair": 73.2
- },
- "11": {
- "grp": "am",
- "class": 6,
- "rating": "A",
- "cost": 15305501,
- "power": 3.26,
- "ammo": 8100,
- "repair": 226.8
- },
- "12": {
- "grp": "am",
- "class": 6,
- "rating": "B",
- "cost": 5101834,
- "power": 2.67,
- "ammo": 8900,
- "repair": 204.7
- },
- "13": {
- "grp": "am",
- "class": 6,
- "rating": "C",
- "cost": 1700611,
- "power": 2.33,
- "ammo": 7400,
- "repair": 148
- },
- "14": {
- "grp": "am",
- "class": 6,
- "rating": "D",
- "cost": 566870,
- "power": 1.86,
- "ammo": 6700,
- "repair": 107.2
- },
- "15": {
- "grp": "am",
- "class": 6,
- "rating": "E",
- "cost": 188957,
- "power": 1.4,
- "ammo": 7400,
- "repair": 88.8
- },
- "16": {
- "grp": "am",
- "class": 7,
- "rating": "A",
- "cost": 27549901,
- "power": 3.68,
- "ammo": 9600,
- "repair": 268.8
- },
- "17": {
- "grp": "am",
- "class": 7,
- "rating": "B",
- "cost": 9183300,
- "power": 3.02,
- "ammo": 10400,
- "repair": 239.2
- },
- "18": {
- "grp": "am",
- "class": 7,
- "rating": "C",
- "cost": 3061100,
- "power": 2.63,
- "ammo": 8700,
- "repair": 174
- },
- "19": {
- "grp": "am",
- "class": 7,
- "rating": "D",
- "cost": 1020367,
- "power": 2.1,
- "ammo": 7800,
- "repair": 124.8
- },
- "08": {
+ "Auto Field-Maintenance Units": [
+ {
+ "id": "08",
"grp": "am",
"class": 1,
"rating": "A",
@@ -99,7 +10,8 @@
"ammo": 1100,
"repair": 30.8
},
- "09": {
+ {
+ "id": "09",
"grp": "am",
"class": 1,
"rating": "B",
@@ -108,7 +20,8 @@
"ammo": 1200,
"repair": 27.6
},
- "0a": {
+ {
+ "id": "0a",
"grp": "am",
"class": 1,
"rating": "C",
@@ -117,7 +30,8 @@
"ammo": 1000,
"repair": 20
},
- "0b": {
+ {
+ "id": "0b",
"grp": "am",
"class": 1,
"rating": "D",
@@ -126,7 +40,8 @@
"ammo": 900,
"repair": 14.4
},
- "0c": {
+ {
+ "id": "0c",
"grp": "am",
"class": 1,
"rating": "E",
@@ -135,7 +50,8 @@
"ammo": 1000,
"repair": 12
},
- "0d": {
+ {
+ "id": "0d",
"grp": "am",
"class": 2,
"rating": "A",
@@ -144,7 +60,8 @@
"ammo": 2500,
"repair": 70
},
- "0e": {
+ {
+ "id": "0e",
"grp": "am",
"class": 2,
"rating": "B",
@@ -153,7 +70,8 @@
"ammo": 2800,
"repair": 64.4
},
- "0f": {
+ {
+ "id": "0f",
"grp": "am",
"class": 2,
"rating": "C",
@@ -162,7 +80,8 @@
"ammo": 2300,
"repair": 46
},
- "0g": {
+ {
+ "id": "0g",
"grp": "am",
"class": 2,
"rating": "D",
@@ -171,7 +90,8 @@
"ammo": 2100,
"repair": 33.6
},
- "0h": {
+ {
+ "id": "0h",
"grp": "am",
"class": 2,
"rating": "E",
@@ -180,7 +100,8 @@
"ammo": 2300,
"repair": 27.6
},
- "0i": {
+ {
+ "id": "0i",
"grp": "am",
"class": 3,
"rating": "A",
@@ -189,7 +110,8 @@
"ammo": 4000,
"repair": 112
},
- "0j": {
+ {
+ "id": "0j",
"grp": "am",
"class": 3,
"rating": "B",
@@ -198,7 +120,8 @@
"ammo": 4300,
"repair": 98.9
},
- "0k": {
+ {
+ "id": "0k",
"grp": "am",
"class": 3,
"rating": "C",
@@ -207,7 +130,8 @@
"ammo": 3600,
"repair": 72
},
- "0l": {
+ {
+ "id": "0l",
"grp": "am",
"class": 3,
"rating": "D",
@@ -216,7 +140,8 @@
"ammo": 3200,
"repair": 51.2
},
- "0m": {
+ {
+ "id": "0m",
"grp": "am",
"class": 3,
"rating": "E",
@@ -225,7 +150,8 @@
"ammo": 3600,
"repair": 43.2
},
- "0n": {
+ {
+ "id": "0n",
"grp": "am",
"class": 4,
"rating": "A",
@@ -234,7 +160,8 @@
"ammo": 5400,
"repair": 151.2
},
- "0o": {
+ {
+ "id": "0o",
"grp": "am",
"class": 4,
"rating": "B",
@@ -243,7 +170,8 @@
"ammo": 5900,
"repair": 135.7
},
- "0p": {
+ {
+ "id": "0p",
"grp": "am",
"class": 4,
"rating": "C",
@@ -252,7 +180,8 @@
"ammo": 4900,
"repair": 98
},
- "0q": {
+ {
+ "id": "0q",
"grp": "am",
"class": 4,
"rating": "D",
@@ -261,7 +190,8 @@
"ammo": 4400,
"repair": 70.4
},
- "0r": {
+ {
+ "id": "0r",
"grp": "am",
"class": 4,
"rating": "E",
@@ -270,7 +200,8 @@
"ammo": 4900,
"repair": 58.8
},
- "0s": {
+ {
+ "id": "0s",
"grp": "am",
"class": 5,
"rating": "A",
@@ -279,7 +210,8 @@
"ammo": 6700,
"repair": 187.6
},
- "0t": {
+ {
+ "id": "0t",
"grp": "am",
"class": 5,
"rating": "B",
@@ -288,7 +220,8 @@
"ammo": 7300,
"repair": 167.9
},
- "0u": {
+ {
+ "id": "0u",
"grp": "am",
"class": 5,
"rating": "C",
@@ -297,7 +230,8 @@
"ammo": 6100,
"repair": 122
},
- "0v": {
+ {
+ "id": "0v",
"grp": "am",
"class": 5,
"rating": "D",
@@ -306,7 +240,108 @@
"ammo": 5500,
"repair": 88
},
- "1a": {
+ {
+ "id": "10",
+ "grp": "am",
+ "class": 5,
+ "rating": "E",
+ "cost": 104976,
+ "power": 1.17,
+ "ammo": 6100,
+ "repair": 73.2
+ },
+ {
+ "id": "11",
+ "grp": "am",
+ "class": 6,
+ "rating": "A",
+ "cost": 15305501,
+ "power": 3.26,
+ "ammo": 8100,
+ "repair": 226.8
+ },
+ {
+ "id": "12",
+ "grp": "am",
+ "class": 6,
+ "rating": "B",
+ "cost": 5101834,
+ "power": 2.67,
+ "ammo": 8900,
+ "repair": 204.7
+ },
+ {
+ "id": "13",
+ "grp": "am",
+ "class": 6,
+ "rating": "C",
+ "cost": 1700611,
+ "power": 2.33,
+ "ammo": 7400,
+ "repair": 148
+ },
+ {
+ "id": "14",
+ "grp": "am",
+ "class": 6,
+ "rating": "D",
+ "cost": 566870,
+ "power": 1.86,
+ "ammo": 6700,
+ "repair": 107.2
+ },
+ {
+ "id": "15",
+ "grp": "am",
+ "class": 6,
+ "rating": "E",
+ "cost": 188957,
+ "power": 1.4,
+ "ammo": 7400,
+ "repair": 88.8
+ },
+ {
+ "id": "16",
+ "grp": "am",
+ "class": 7,
+ "rating": "A",
+ "cost": 27549901,
+ "power": 3.68,
+ "ammo": 9600,
+ "repair": 268.8
+ },
+ {
+ "id": "17",
+ "grp": "am",
+ "class": 7,
+ "rating": "B",
+ "cost": 9183300,
+ "power": 3.02,
+ "ammo": 10400,
+ "repair": 239.2
+ },
+ {
+ "id": "18",
+ "grp": "am",
+ "class": 7,
+ "rating": "C",
+ "cost": 3061100,
+ "power": 2.63,
+ "ammo": 8700,
+ "repair": 174
+ },
+ {
+ "id": "19",
+ "grp": "am",
+ "class": 7,
+ "rating": "D",
+ "cost": 1020367,
+ "power": 2.1,
+ "ammo": 7800,
+ "repair": 124.8
+ },
+ {
+ "id": "1a",
"grp": "am",
"class": 7,
"rating": "E",
@@ -315,7 +350,8 @@
"ammo": 8700,
"repair": 104.4
},
- "1b": {
+ {
+ "id": "1b",
"grp": "am",
"class": 8,
"rating": "A",
@@ -324,7 +360,8 @@
"ammo": 11000,
"repair": 308
},
- "1c": {
+ {
+ "id": "1c",
"grp": "am",
"class": 8,
"rating": "B",
@@ -333,7 +370,8 @@
"ammo": 12000,
"repair": 276
},
- "1d": {
+ {
+ "id": "1d",
"grp": "am",
"class": 8,
"rating": "C",
@@ -342,7 +380,8 @@
"ammo": 10000,
"repair": 200
},
- "1e": {
+ {
+ "id": "1e",
"grp": "am",
"class": 8,
"rating": "D",
@@ -351,7 +390,8 @@
"ammo": 9000,
"repair": 144
},
- "1f": {
+ {
+ "id": "1f",
"grp": "am",
"class": 8,
"rating": "E",
@@ -360,5 +400,5 @@
"ammo": 10000,
"repair": 120
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/internal/cargo_rack.json b/data/components/internal/cargo_rack.json
index 80933241..d2222eb4 100644
--- a/data/components/internal/cargo_rack.json
+++ b/data/components/internal/cargo_rack.json
@@ -1,6 +1,7 @@
{
- "Cargo Racks": {
- "00": {
+ "Cargo Racks": [
+ {
+ "id": "00",
"grp": "cr",
"name": "Cargo Rack (Capacity: 2)",
"class": 1,
@@ -8,7 +9,8 @@
"cost": 1000,
"capacity": 2
},
- "01": {
+ {
+ "id": "01",
"grp": "cr",
"name": "Cargo Rack (Capacity: 4)",
"class": 2,
@@ -16,7 +18,8 @@
"cost": 3250,
"capacity": 4
},
- "02": {
+ {
+ "id": "02",
"grp": "cr",
"name": "Cargo Rack (Capacity: 8)",
"class": 3,
@@ -24,7 +27,8 @@
"cost": 10563,
"capacity": 8
},
- "03": {
+ {
+ "id": "03",
"grp": "cr",
"name": "Cargo Rack (Capacity: 16)",
"class": 4,
@@ -32,7 +36,8 @@
"cost": 34328,
"capacity": 16
},
- "04": {
+ {
+ "id": "04",
"grp": "cr",
"name": "Cargo Rack (Capacity: 32)",
"class": 5,
@@ -40,7 +45,8 @@
"cost": 111566,
"capacity": 32
},
- "05": {
+ {
+ "id": "05",
"grp": "cr",
"name": "Cargo Rack (Capacity: 64)",
"class": 6,
@@ -48,7 +54,8 @@
"cost": 362591,
"capacity": 64
},
- "06": {
+ {
+ "id": "06",
"grp": "cr",
"name": "Cargo Rack (Capacity: 128)",
"class": 7,
@@ -56,7 +63,8 @@
"cost": 1178420,
"capacity": 128
},
- "07": {
+ {
+ "id": "07",
"grp": "cr",
"name": "Cargo Rack (Capacity: 256)",
"class": 8,
@@ -64,5 +72,5 @@
"cost": 3829866,
"capacity": 256
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/internal/docking_computer.json b/data/components/internal/docking_computer.json
index 73f2e021..a8ee50e0 100644
--- a/data/components/internal/docking_computer.json
+++ b/data/components/internal/docking_computer.json
@@ -1,6 +1,7 @@
{
- "Docking Computers": {
- "24": {
+ "Docking Computers": [
+ {
+ "id": "24",
"grp": "dc",
"name": "Standard Docking Computer",
"class": 1,
@@ -8,5 +9,5 @@
"cost": 4500,
"power": 0.39
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/internal/frame_shift_drive_interdictor.json b/data/components/internal/frame_shift_drive_interdictor.json
index 09108f08..0a8fb7a6 100644
--- a/data/components/internal/frame_shift_drive_interdictor.json
+++ b/data/components/internal/frame_shift_drive_interdictor.json
@@ -1,6 +1,7 @@
{
- "FSD Interdictors": {
- "66": {
+ "FSD Interdictors": [
+ {
+ "id": "66",
"grp": "fi",
"class": 1,
"rating": "A",
@@ -9,7 +10,8 @@
"power": 0.32,
"rangeRating": "C"
},
- "67": {
+ {
+ "id": "67",
"grp": "fi",
"class": 1,
"rating": "B",
@@ -18,7 +20,8 @@
"power": 0.28,
"rangeRating": "D"
},
- "68": {
+ {
+ "id": "68",
"grp": "fi",
"class": 1,
"rating": "C",
@@ -27,7 +30,8 @@
"power": 0.23,
"rangeRating": "D"
},
- "69": {
+ {
+ "id": "69",
"grp": "fi",
"class": 1,
"rating": "D",
@@ -36,7 +40,8 @@
"power": 0.18,
"rangeRating": "D"
},
- "6a": {
+ {
+ "id": "6a",
"grp": "fi",
"class": 1,
"rating": "E",
@@ -45,7 +50,8 @@
"power": 0.14,
"rangeRating": "E"
},
- "6b": {
+ {
+ "id": "6b",
"grp": "fi",
"class": 2,
"rating": "A",
@@ -54,7 +60,8 @@
"power": 0.39,
"rangeRating": "B"
},
- "6c": {
+ {
+ "id": "6c",
"grp": "fi",
"class": 2,
"rating": "B",
@@ -63,7 +70,8 @@
"power": 0.34,
"rangeRating": "C"
},
- "6d": {
+ {
+ "id": "6d",
"grp": "fi",
"class": 2,
"rating": "C",
@@ -72,7 +80,8 @@
"power": 0.28,
"rangeRating": "C"
},
- "6e": {
+ {
+ "id": "6e",
"grp": "fi",
"class": 2,
"rating": "D",
@@ -81,7 +90,8 @@
"power": 0.22,
"rangeRating": "C"
},
- "6f": {
+ {
+ "id": "6f",
"grp": "fi",
"class": 2,
"rating": "E",
@@ -90,7 +100,8 @@
"power": 0.17,
"rangeRating": "D"
},
- "6g": {
+ {
+ "id": "6g",
"grp": "fi",
"class": 3,
"rating": "A",
@@ -99,7 +110,8 @@
"power": 0.48,
"rangeRating": "A"
},
- "6h": {
+ {
+ "id": "6h",
"grp": "fi",
"class": 3,
"rating": "B",
@@ -108,7 +120,8 @@
"power": 0.41,
"rangeRating": "B"
},
- "6i": {
+ {
+ "id": "6i",
"grp": "fi",
"class": 3,
"rating": "C",
@@ -117,7 +130,8 @@
"power": 0.34,
"rangeRating": "B"
},
- "6j": {
+ {
+ "id": "6j",
"grp": "fi",
"class": 3,
"rating": "D",
@@ -126,7 +140,8 @@
"power": 0.27,
"rangeRating": "B"
},
- "6k": {
+ {
+ "id": "6k",
"grp": "fi",
"class": 3,
"rating": "E",
@@ -135,7 +150,8 @@
"power": 0.2,
"rangeRating": "C"
},
- "6l": {
+ {
+ "id": "6l",
"grp": "fi",
"class": 4,
"rating": "A",
@@ -144,7 +160,8 @@
"power": 0.57,
"rangeRating": "A"
},
- "6m": {
+ {
+ "id": "6m",
"grp": "fi",
"class": 4,
"rating": "B",
@@ -153,7 +170,8 @@
"power": 0.49,
"rangeRating": "A"
},
- "6n": {
+ {
+ "id": "6n",
"grp": "fi",
"class": 4,
"rating": "C",
@@ -162,7 +180,8 @@
"power": 0.41,
"rangeRating": "A"
},
- "6o": {
+ {
+ "id": "6o",
"grp": "fi",
"class": 4,
"rating": "D",
@@ -171,7 +190,8 @@
"power": 0.33,
"rangeRating": "A"
},
- "6p": {
+ {
+ "id": "6p",
"grp": "fi",
"class": 4,
"rating": "E",
@@ -180,5 +200,5 @@
"power": 0.25,
"rangeRating": "B"
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/internal/fuel_scoops.json b/data/components/internal/fuel_scoops.json
index 8c172582..618b941a 100644
--- a/data/components/internal/fuel_scoops.json
+++ b/data/components/internal/fuel_scoops.json
@@ -1,86 +1,7 @@
{
- "Fuel Scoops": {
- "30": {
- "grp": "fs",
- "class": 3,
- "rating": "D",
- "cost": 14109,
- "power": 0.27,
- "rate": 100
- },
- "31": {
- "grp": "fs",
- "class": 3,
- "rating": "E",
- "cost": 3386,
- "power": 0.2,
- "rate": 75
- },
- "32": {
- "grp": "fs",
- "class": 4,
- "rating": "A",
- "cost": 2862364,
- "power": 0.57,
- "rate": 342
- },
- "33": {
- "grp": "fs",
- "class": 4,
- "rating": "B",
- "cost": 715591,
- "power": 0.49,
- "rate": 294
- },
- "34": {
- "grp": "fs",
- "class": 4,
- "rating": "C",
- "cost": 178898,
- "power": 0.41,
- "rate": 245
- },
- "35": {
- "grp": "fs",
- "class": 4,
- "rating": "D",
- "cost": 44724,
- "power": 0.33,
- "rate": 196
- },
- "36": {
- "grp": "fs",
- "class": 4,
- "rating": "E",
- "cost": 10734,
- "power": 0.25,
- "rate": 147
- },
- "37": {
- "grp": "fs",
- "class": 5,
- "rating": "A",
- "cost": 9073694,
- "power": 0.7,
- "rate": 577
- },
- "38": {
- "grp": "fs",
- "class": 5,
- "rating": "B",
- "cost": 2268424,
- "power": 0.6,
- "rate": 494
- },
- "39": {
- "grp": "fs",
- "class": 5,
- "rating": "C",
- "cost": 567106,
- "power": 0.5,
- "rate": 412
- },
- "2j": {
+ "Fuel Scoops": [
+ {
+ "id": "2j",
"grp": "fs",
"class": 1,
"rating": "A",
@@ -88,7 +9,8 @@
"power": 0.32,
"rate": 42
},
- "2k": {
+ {
+ "id": "2k",
"grp": "fs",
"class": 1,
"rating": "B",
@@ -96,7 +18,8 @@
"power": 0.28,
"rate": 36
},
- "2l": {
+ {
+ "id": "2l",
"grp": "fs",
"class": 1,
"rating": "C",
@@ -104,7 +27,8 @@
"power": 0.23,
"rate": 30
},
- "2m": {
+ {
+ "id": "2m",
"grp": "fs",
"class": 1,
"rating": "D",
@@ -112,7 +36,8 @@
"power": 0.18,
"rate": 24
},
- "2n": {
+ {
+ "id": "2n",
"grp": "fs",
"class": 1,
"rating": "E",
@@ -120,7 +45,8 @@
"power": 0.14,
"rate": 18
},
- "2o": {
+ {
+ "id": "2o",
"grp": "fs",
"class": 2,
"rating": "A",
@@ -128,7 +54,8 @@
"power": 0.39,
"rate": 75
},
- "2p": {
+ {
+ "id": "2p",
"grp": "fs",
"class": 2,
"rating": "B",
@@ -136,7 +63,8 @@
"power": 0.34,
"rate": 65
},
- "2q": {
+ {
+ "id": "2q",
"grp": "fs",
"class": 2,
"rating": "C",
@@ -144,7 +72,8 @@
"power": 0.28,
"rate": 54
},
- "2r": {
+ {
+ "id": "2r",
"grp": "fs",
"class": 2,
"rating": "D",
@@ -152,7 +81,8 @@
"power": 0.22,
"rate": 43
},
- "2s": {
+ {
+ "id": "2s",
"grp": "fs",
"class": 2,
"rating": "E",
@@ -160,7 +90,8 @@
"power": 0.17,
"rate": 32
},
- "2t": {
+ {
+ "id": "2t",
"grp": "fs",
"class": 3,
"rating": "A",
@@ -168,7 +99,8 @@
"power": 0.48,
"rate": 176
},
- "2u": {
+ {
+ "id": "2u",
"grp": "fs",
"class": 3,
"rating": "B",
@@ -176,7 +108,8 @@
"power": 0.41,
"rate": 151
},
- "2v": {
+ {
+ "id": "2v",
"grp": "fs",
"class": 3,
"rating": "C",
@@ -184,7 +117,98 @@
"power": 0.34,
"rate": 126
},
- "3a": {
+ {
+ "id": "30",
+ "grp": "fs",
+ "class": 3,
+ "rating": "D",
+ "cost": 14109,
+ "power": 0.27,
+ "rate": 100
+ },
+ {
+ "id": "31",
+ "grp": "fs",
+ "class": 3,
+ "rating": "E",
+ "cost": 3386,
+ "power": 0.2,
+ "rate": 75
+ },
+ {
+ "id": "32",
+ "grp": "fs",
+ "class": 4,
+ "rating": "A",
+ "cost": 2862364,
+ "power": 0.57,
+ "rate": 342
+ },
+ {
+ "id": "33",
+ "grp": "fs",
+ "class": 4,
+ "rating": "B",
+ "cost": 715591,
+ "power": 0.49,
+ "rate": 294
+ },
+ {
+ "id": "34",
+ "grp": "fs",
+ "class": 4,
+ "rating": "C",
+ "cost": 178898,
+ "power": 0.41,
+ "rate": 245
+ },
+ {
+ "id": "35",
+ "grp": "fs",
+ "class": 4,
+ "rating": "D",
+ "cost": 44724,
+ "power": 0.33,
+ "rate": 196
+ },
+ {
+ "id": "36",
+ "grp": "fs",
+ "class": 4,
+ "rating": "E",
+ "cost": 10734,
+ "power": 0.25,
+ "rate": 147
+ },
+ {
+ "id": "37",
+ "grp": "fs",
+ "class": 5,
+ "rating": "A",
+ "cost": 9073694,
+ "power": 0.7,
+ "rate": 577
+ },
+ {
+ "id": "38",
+ "grp": "fs",
+ "class": 5,
+ "rating": "B",
+ "cost": 2268424,
+ "power": 0.6,
+ "rate": 494
+ },
+ {
+ "id": "39",
+ "grp": "fs",
+ "class": 5,
+ "rating": "C",
+ "cost": 567106,
+ "power": 0.5,
+ "rate": 412
+ },
+ {
+ "id": "3a",
"grp": "fs",
"class": 5,
"rating": "D",
@@ -192,7 +216,8 @@
"power": 0.4,
"rate": 330
},
- "3b": {
+ {
+ "id": "3b",
"grp": "fs",
"class": 5,
"rating": "E",
@@ -200,7 +225,8 @@
"power": 0.3,
"rate": 247
},
- "3c": {
+ {
+ "id": "3c",
"grp": "fs",
"class": 6,
"rating": "A",
@@ -208,7 +234,8 @@
"power": 0.83,
"rate": 878
},
- "3d": {
+ {
+ "id": "3d",
"grp": "fs",
"class": 6,
"rating": "B",
@@ -216,7 +243,8 @@
"power": 0.71,
"rate": 752
},
- "3e": {
+ {
+ "id": "3e",
"grp": "fs",
"class": 6,
"rating": "C",
@@ -224,7 +252,8 @@
"power": 0.59,
"rate": 627
},
- "3f": {
+ {
+ "id": "3f",
"grp": "fs",
"class": 6,
"rating": "D",
@@ -232,7 +261,8 @@
"power": 0.47,
"rate": 502
},
- "3g": {
+ {
+ "id": "3g",
"grp": "fs",
"class": 6,
"rating": "E",
@@ -240,7 +270,8 @@
"power": 0.35,
"rate": 376
},
- "3h": {
+ {
+ "id": "3h",
"grp": "fs",
"class": 7,
"rating": "A",
@@ -248,7 +279,8 @@
"power": 0.97,
"rate": 1245
},
- "3i": {
+ {
+ "id": "3i",
"grp": "fs",
"class": 7,
"rating": "B",
@@ -256,7 +288,8 @@
"power": 0.83,
"rate": 1068
},
- "3j": {
+ {
+ "id": "3j",
"grp": "fs",
"class": 7,
"rating": "C",
@@ -264,7 +297,8 @@
"power": 0.69,
"rate": 890
},
- "3k": {
+ {
+ "id": "3k",
"grp": "fs",
"class": 7,
"rating": "D",
@@ -272,7 +306,8 @@
"power": 0.55,
"rate": 712
},
- "3l": {
+ {
+ "id": "3l",
"grp": "fs",
"class": 7,
"rating": "E",
@@ -280,7 +315,8 @@
"power": 0.41,
"rate": 534
},
- "3m": {
+ {
+ "id": "3m",
"grp": "fs",
"class": 8,
"rating": "A",
@@ -288,7 +324,8 @@
"power": 1.12,
"rate": 1680
},
- "3n": {
+ {
+ "id": "3n",
"grp": "fs",
"class": 8,
"rating": "B",
@@ -296,7 +333,8 @@
"power": 0.96,
"rate": 1440
},
- "3o": {
+ {
+ "id": "3o",
"grp": "fs",
"class": 8,
"rating": "C",
@@ -304,7 +342,8 @@
"power": 0.8,
"rate": 1200
},
- "3p": {
+ {
+ "id": "3p",
"grp": "fs",
"class": 8,
"rating": "D",
@@ -312,7 +351,8 @@
"power": 0.64,
"rate": 960
},
- "3q": {
+ {
+ "id": "3q",
"grp": "fs",
"class": 8,
"rating": "E",
@@ -320,5 +360,5 @@
"power": 0.48,
"rate": 720
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/internal/hatch_breaker_limpet_controller.json b/data/components/internal/hatch_breaker_limpet_controller.json
index 1966d7c8..f1c0cf36 100644
--- a/data/components/internal/hatch_breaker_limpet_controller.json
+++ b/data/components/internal/hatch_breaker_limpet_controller.json
@@ -1,106 +1,7 @@
{
- "Hatch Breaker Limpet Controllers": {
- "70": {
- "grp": "hb",
- "class": 3,
- "rating": "B",
- "cost": 43200,
- "power": 0.36,
- "range": 3.24,
- "maximum": 4,
- "time": 21
- },
- "71": {
- "grp": "hb",
- "class": 3,
- "rating": "C",
- "cost": 21600,
- "power": 0.3,
- "range": 2.7,
- "maximum": 3,
- "time": 26
- },
- "72": {
- "grp": "hb",
- "class": 3,
- "rating": "D",
- "cost": 10800,
- "power": 0.24,
- "range": 2.16,
- "maximum": 3,
- "time": 31
- },
- "73": {
- "grp": "hb",
- "class": 3,
- "rating": "E",
- "cost": 5400,
- "power": 0.18,
- "range": 1.62,
- "maximum": 4,
- "time": 36
- },
- "74": {
- "grp": "hb",
- "class": 5,
- "rating": "A",
- "cost": 777600,
- "power": 0.7,
- "range": 4.62,
- "maximum": 6,
- "time": 13
- },
- "75": {
- "grp": "hb",
- "class": 5,
- "rating": "B",
- "cost": 388800,
- "power": 0.6,
- "range": 3.96,
- "maximum": 9,
- "time": 18
- },
- "76": {
- "grp": "hb",
- "class": 5,
- "rating": "C",
- "cost": 194400,
- "power": 0.5,
- "range": 3.3,
- "maximum": 7,
- "time": 22
- },
- "77": {
- "grp": "hb",
- "class": 5,
- "rating": "D",
- "cost": 97200,
- "power": 0.4,
- "range": 2.64,
- "maximum": 6,
- "time": 26
- },
- "78": {
- "grp": "hb",
- "class": 5,
- "rating": "E",
- "cost": 48600,
- "power": 0.3,
- "range": 1.98,
- "maximum": 9,
- "time": 31
- },
- "79": {
- "grp": "hb",
- "class": 7,
- "rating": "A",
- "cost": 6998400,
- "power": 0.98,
- "range": 6.02,
- "maximum": 12,
- "time": 11
- },
- "6q": {
+ "Hatch Breaker Limpet Controllers": [
+ {
+ "id": "6q",
"grp": "hb",
"class": 1,
"rating": "A",
@@ -110,7 +11,8 @@
"maximum": 1,
"time": 18
},
- "6r": {
+ {
+ "id": "6r",
"grp": "hb",
"class": 1,
"rating": "B",
@@ -120,7 +22,8 @@
"maximum": 2,
"time": 24
},
- "6s": {
+ {
+ "id": "6s",
"grp": "hb",
"class": 1,
"rating": "C",
@@ -130,7 +33,8 @@
"maximum": 1,
"time": 30
},
- "6t": {
+ {
+ "id": "6t",
"grp": "hb",
"class": 1,
"rating": "D",
@@ -140,7 +44,8 @@
"maximum": 1,
"time": 36
},
- "6u": {
+ {
+ "id": "6u",
"grp": "hb",
"class": 1,
"rating": "E",
@@ -150,7 +55,8 @@
"maximum": 2,
"time": 42
},
- "6v": {
+ {
+ "id": "6v",
"grp": "hb",
"class": 3,
"rating": "A",
@@ -160,7 +66,118 @@
"maximum": 3,
"time": 16
},
- "7a": {
+ {
+ "id": "70",
+ "grp": "hb",
+ "class": 3,
+ "rating": "B",
+ "cost": 43200,
+ "power": 0.36,
+ "range": 3.24,
+ "maximum": 4,
+ "time": 21
+ },
+ {
+ "id": "71",
+ "grp": "hb",
+ "class": 3,
+ "rating": "C",
+ "cost": 21600,
+ "power": 0.3,
+ "range": 2.7,
+ "maximum": 3,
+ "time": 26
+ },
+ {
+ "id": "72",
+ "grp": "hb",
+ "class": 3,
+ "rating": "D",
+ "cost": 10800,
+ "power": 0.24,
+ "range": 2.16,
+ "maximum": 3,
+ "time": 31
+ },
+ {
+ "id": "73",
+ "grp": "hb",
+ "class": 3,
+ "rating": "E",
+ "cost": 5400,
+ "power": 0.18,
+ "range": 1.62,
+ "maximum": 4,
+ "time": 36
+ },
+ {
+ "id": "74",
+ "grp": "hb",
+ "class": 5,
+ "rating": "A",
+ "cost": 777600,
+ "power": 0.7,
+ "range": 4.62,
+ "maximum": 6,
+ "time": 13
+ },
+ {
+ "id": "75",
+ "grp": "hb",
+ "class": 5,
+ "rating": "B",
+ "cost": 388800,
+ "power": 0.6,
+ "range": 3.96,
+ "maximum": 9,
+ "time": 18
+ },
+ {
+ "id": "76",
+ "grp": "hb",
+ "class": 5,
+ "rating": "C",
+ "cost": 194400,
+ "power": 0.5,
+ "range": 3.3,
+ "maximum": 7,
+ "time": 22
+ },
+ {
+ "id": "77",
+ "grp": "hb",
+ "class": 5,
+ "rating": "D",
+ "cost": 97200,
+ "power": 0.4,
+ "range": 2.64,
+ "maximum": 6,
+ "time": 26
+ },
+ {
+ "id": "78",
+ "grp": "hb",
+ "class": 5,
+ "rating": "E",
+ "cost": 48600,
+ "power": 0.3,
+ "range": 1.98,
+ "maximum": 9,
+ "time": 31
+ },
+ {
+ "id": "79",
+ "grp": "hb",
+ "class": 7,
+ "rating": "A",
+ "cost": 6998400,
+ "power": 0.98,
+ "range": 6.02,
+ "maximum": 12,
+ "time": 11
+ },
+ {
+ "id": "7a",
"grp": "hb",
"class": 7,
"rating": "B",
@@ -170,7 +187,8 @@
"maximum": 18,
"time": 14
},
- "7b": {
+ {
+ "id": "7b",
"grp": "hb",
"class": 7,
"rating": "C",
@@ -180,7 +198,8 @@
"maximum": 15,
"time": 18
},
- "7c": {
+ {
+ "id": "7c",
"grp": "hb",
"class": 7,
"rating": "D",
@@ -190,7 +209,8 @@
"maximum": 12,
"time": 22
},
- "7d": {
+ {
+ "id": "7d",
"grp": "hb",
"class": 7,
"rating": "E",
@@ -200,5 +220,5 @@
"maximum": 18,
"time": 25
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/internal/hull_reinforcement_package.json b/data/components/internal/hull_reinforcement_package.json
index 0dce8c75..08fffe26 100644
--- a/data/components/internal/hull_reinforcement_package.json
+++ b/data/components/internal/hull_reinforcement_package.json
@@ -1,6 +1,7 @@
{
- "Hull Reinforcement Packages": {
- "25": {
+ "Hull Reinforcement Packages": [
+ {
+ "id": "25",
"grp": "hr",
"class": 1,
"rating": "D",
@@ -8,7 +9,8 @@
"mass": 2,
"armouradd": 15
},
- "26": {
+ {
+ "id": "26",
"grp": "hr",
"class": 1,
"rating": "E",
@@ -16,7 +18,8 @@
"mass": 4,
"armouradd": 10
},
- "27": {
+ {
+ "id": "27",
"grp": "hr",
"class": 2,
"rating": "D",
@@ -24,7 +27,8 @@
"mass": 4,
"armouradd": 30
},
- "28": {
+ {
+ "id": "28",
"grp": "hr",
"class": 2,
"rating": "E",
@@ -32,7 +36,8 @@
"mass": 8,
"armouradd": 20
},
- "29": {
+ {
+ "id": "29",
"grp": "hr",
"class": 3,
"rating": "D",
@@ -40,7 +45,8 @@
"mass": 8,
"armouradd": 60
},
- "2a": {
+ {
+ "id": "2a",
"grp": "hr",
"class": 3,
"rating": "E",
@@ -48,7 +54,8 @@
"mass": 16,
"armouradd": 40
},
- "2b": {
+ {
+ "id": "2b",
"grp": "hr",
"class": 4,
"rating": "D",
@@ -56,7 +63,8 @@
"mass": 16,
"armouradd": 120
},
- "2c": {
+ {
+ "id": "2c",
"grp": "hr",
"class": 4,
"rating": "E",
@@ -64,7 +72,8 @@
"mass": 32,
"armouradd": 80
},
- "2d": {
+ {
+ "id": "2d",
"grp": "hr",
"class": 5,
"rating": "D",
@@ -72,7 +81,8 @@
"mass": 32,
"armouradd": 240
},
- "2e": {
+ {
+ "id": "2e",
"grp": "hr",
"class": 5,
"rating": "E",
@@ -80,5 +90,5 @@
"mass": 64,
"armouradd": 160
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/internal/refinery.json b/data/components/internal/refinery.json
index 7f754b91..b2dc260b 100644
--- a/data/components/internal/refinery.json
+++ b/data/components/internal/refinery.json
@@ -1,38 +1,7 @@
{
- "Refineries": {
- "20": {
- "grp": "rf",
- "class": 4,
- "rating": "B",
- "cost": 1500282,
- "power": 0.49,
- "bins": 9
- },
- "21": {
- "grp": "rf",
- "class": 4,
- "rating": "C",
- "cost": 500094,
- "power": 0.41,
- "bins": 7
- },
- "22": {
- "grp": "rf",
- "class": 4,
- "rating": "D",
- "cost": 166698,
- "power": 0.33,
- "bins": 5
- },
- "23": {
- "grp": "rf",
- "class": 4,
- "rating": "E",
- "cost": 55566,
- "power": 0.25,
- "bins": 4
- },
- "1g": {
+ "Refineries": [
+ {
+ "id": "1g",
"grp": "rf",
"class": 1,
"rating": "A",
@@ -40,7 +9,8 @@
"power": 0.32,
"bins": 4
},
- "1h": {
+ {
+ "id": "1h",
"grp": "rf",
"class": 1,
"rating": "B",
@@ -48,7 +18,8 @@
"power": 0.28,
"bins": 3
},
- "1i": {
+ {
+ "id": "1i",
"grp": "rf",
"class": 1,
"rating": "C",
@@ -56,7 +27,8 @@
"power": 0.23,
"bins": 2
},
- "1j": {
+ {
+ "id": "1j",
"grp": "rf",
"class": 1,
"rating": "D",
@@ -64,7 +36,8 @@
"power": 0.18,
"bins": 1
},
- "1k": {
+ {
+ "id": "1k",
"grp": "rf",
"class": 1,
"rating": "E",
@@ -72,7 +45,8 @@
"power": 0.14,
"bins": 1
},
- "1l": {
+ {
+ "id": "1l",
"grp": "rf",
"class": 2,
"rating": "A",
@@ -80,7 +54,8 @@
"power": 0.39,
"bins": 6
},
- "1m": {
+ {
+ "id": "1m",
"grp": "rf",
"class": 2,
"rating": "B",
@@ -88,7 +63,8 @@
"power": 0.34,
"bins": 5
},
- "1n": {
+ {
+ "id": "1n",
"grp": "rf",
"class": 2,
"rating": "C",
@@ -96,7 +72,8 @@
"power": 0.28,
"bins": 4
},
- "1o": {
+ {
+ "id": "1o",
"grp": "rf",
"class": 2,
"rating": "D",
@@ -104,7 +81,8 @@
"power": 0.22,
"bins": 3
},
- "1p": {
+ {
+ "id": "1p",
"grp": "rf",
"class": 2,
"rating": "E",
@@ -112,7 +90,8 @@
"power": 0.17,
"bins": 2
},
- "1q": {
+ {
+ "id": "1q",
"grp": "rf",
"class": 3,
"rating": "A",
@@ -120,7 +99,8 @@
"power": 0.48,
"bins": 8
},
- "1r": {
+ {
+ "id": "1r",
"grp": "rf",
"class": 3,
"rating": "B",
@@ -128,7 +108,8 @@
"power": 0.41,
"bins": 7
},
- "1s": {
+ {
+ "id": "1s",
"grp": "rf",
"class": 3,
"rating": "C",
@@ -136,7 +117,8 @@
"power": 0.34,
"bins": 6
},
- "1t": {
+ {
+ "id": "1t",
"grp": "rf",
"class": 3,
"rating": "D",
@@ -144,7 +126,8 @@
"power": 0.27,
"bins": 4
},
- "1u": {
+ {
+ "id": "1u",
"grp": "rf",
"class": 3,
"rating": "E",
@@ -152,13 +135,50 @@
"power": 0.2,
"bins": 3
},
- "1v": {
+ {
+ "id": "1v",
"grp": "rf",
"class": 4,
"rating": "A",
"cost": 4500846,
"power": 0.57,
"bins": 10
+ },
+ {
+ "id": "20",
+ "grp": "rf",
+ "class": 4,
+ "rating": "B",
+ "cost": 1500282,
+ "power": 0.49,
+ "bins": 9
+ },
+ {
+ "id": "21",
+ "grp": "rf",
+ "class": 4,
+ "rating": "C",
+ "cost": 500094,
+ "power": 0.41,
+ "bins": 7
+ },
+ {
+ "id": "22",
+ "grp": "rf",
+ "class": 4,
+ "rating": "D",
+ "cost": 166698,
+ "power": 0.33,
+ "bins": 5
+ },
+ {
+ "id": "23",
+ "grp": "rf",
+ "class": 4,
+ "rating": "E",
+ "cost": 55566,
+ "power": 0.25,
+ "bins": 4
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/internal/scanners.json b/data/components/internal/scanners.json
index 2d742cbb..0ada739d 100644
--- a/data/components/internal/scanners.json
+++ b/data/components/internal/scanners.json
@@ -1,6 +1,7 @@
{
- "Scanners": {
- "2f": {
+ "Scanners": [
+ {
+ "id": "2f",
"grp": "sc",
"name": "Adv. Discovery Scanner",
"class": 1,
@@ -10,7 +11,8 @@
"power": 0,
"range": null
},
- "2g": {
+ {
+ "id": "2g",
"grp": "sc",
"name": "Inter. Discovery Scanner",
"class": 1,
@@ -20,7 +22,8 @@
"power": 0,
"range": 1000
},
- "2h": {
+ {
+ "id": "2h",
"grp": "sc",
"name": "Basic Discovery Scanner",
"class": 1,
@@ -30,7 +33,8 @@
"power": 0,
"range": 500
},
- "2i": {
+ {
+ "id": "2i",
"grp": "sc",
"name": "Detailed Surface Scanner",
"class": 1,
@@ -40,5 +44,5 @@
"power": 0.6,
"range": 0.33
}
- }
+ ]
}
\ No newline at end of file
diff --git a/data/components/internal/shield_cell_bank.json b/data/components/internal/shield_cell_bank.json
index 57bb0c95..eca2a9a5 100644
--- a/data/components/internal/shield_cell_bank.json
+++ b/data/components/internal/shield_cell_bank.json
@@ -1,166 +1,7 @@
{
- "Shield Cell Banks": {
- "50": {
- "grp": "sb",
- "class": 1,
- "rating": "C",
- "cost": 3231,
- "mass": 1.3,
- "power": 0.69,
- "capacity": 3,
- "rate": "D"
- },
- "51": {
- "grp": "sb",
- "class": 1,
- "rating": "D",
- "cost": 1293,
- "mass": 0.5,
- "power": 0.55,
- "capacity": 2,
- "rate": "E"
- },
- "52": {
- "grp": "sb",
- "class": 1,
- "rating": "E",
- "cost": 517,
- "mass": 1.3,
- "power": 0.41,
- "capacity": 4,
- "rate": "E"
- },
- "53": {
- "grp": "sb",
- "class": 2,
- "rating": "A",
- "cost": 56547,
- "mass": 2.5,
- "power": 1.18,
- "capacity": 4,
- "rate": "C"
- },
- "54": {
- "grp": "sb",
- "class": 2,
- "rating": "B",
- "cost": 22619,
- "mass": 4,
- "power": 1.01,
- "capacity": 5,
- "rate": "D"
- },
- "55": {
- "grp": "sb",
- "class": 2,
- "rating": "C",
- "cost": 9048,
- "mass": 2.5,
- "power": 0.84,
- "capacity": 4,
- "rate": "D"
- },
- "56": {
- "grp": "sb",
- "class": 2,
- "rating": "D",
- "cost": 3619,
- "mass": 1,
- "power": 0.67,
- "capacity": 3,
- "rate": "D"
- },
- "57": {
- "grp": "sb",
- "class": 2,
- "rating": "E",
- "cost": 1448,
- "mass": 2.5,
- "power": 0.5,
- "capacity": 5,
- "rate": "E"
- },
- "58": {
- "grp": "sb",
- "class": 3,
- "rating": "A",
- "cost": 158331,
- "mass": 5,
- "power": 1.43,
- "capacity": 4,
- "rate": "C"
- },
- "59": {
- "grp": "sb",
- "class": 3,
- "rating": "B",
- "cost": 63333,
- "mass": 8,
- "power": 1.22,
- "capacity": 5,
- "rate": "C"
- },
- "60": {
- "grp": "sb",
- "class": 7,
- "rating": "E",
- "cost": 249137,
- "mass": 80,
- "power": 1.24,
- "capacity": 6,
- "rate": "D"
- },
- "61": {
- "grp": "sb",
- "class": 8,
- "rating": "A",
- "cost": 27249391,
- "mass": 160,
- "power": 3.36,
- "capacity": 5,
- "rate": "A"
- },
- "62": {
- "grp": "sb",
- "class": 8,
- "rating": "B",
- "cost": 10899756,
- "mass": 256,
- "power": 2.88,
- "capacity": 6,
- "rate": "A"
- },
- "63": {
- "grp": "sb",
- "class": 8,
- "rating": "C",
- "cost": 4359903,
- "mass": 160,
- "power": 2.4,
- "capacity": 5,
- "rate": "B"
- },
- "64": {
- "grp": "sb",
- "class": 8,
- "rating": "D",
- "cost": 1743961,
- "mass": 64,
- "power": 1.92,
- "capacity": 4,
- "rate": "C"
- },
- "65": {
- "grp": "sb",
- "class": 8,
- "rating": "E",
- "cost": 697584,
- "mass": 160,
- "power": 1.44,
- "capacity": 6,
- "rate": "C"
- },
- "4u": {
+ "Shield Cell Banks": [
+ {
+ "id": "4u",
"grp": "sb",
"class": 1,
"rating": "A",
@@ -170,7 +11,8 @@
"capacity": 3,
"rate": "D"
},
- "4v": {
+ {
+ "id": "4v",
"grp": "sb",
"class": 1,
"rating": "B",
@@ -180,7 +22,118 @@
"capacity": 4,
"rate": "D"
},
- "5a": {
+ {
+ "id": "50",
+ "grp": "sb",
+ "class": 1,
+ "rating": "C",
+ "cost": 3231,
+ "mass": 1.3,
+ "power": 0.69,
+ "capacity": 3,
+ "rate": "D"
+ },
+ {
+ "id": "51",
+ "grp": "sb",
+ "class": 1,
+ "rating": "D",
+ "cost": 1293,
+ "mass": 0.5,
+ "power": 0.55,
+ "capacity": 2,
+ "rate": "E"
+ },
+ {
+ "id": "52",
+ "grp": "sb",
+ "class": 1,
+ "rating": "E",
+ "cost": 517,
+ "mass": 1.3,
+ "power": 0.41,
+ "capacity": 4,
+ "rate": "E"
+ },
+ {
+ "id": "53",
+ "grp": "sb",
+ "class": 2,
+ "rating": "A",
+ "cost": 56547,
+ "mass": 2.5,
+ "power": 1.18,
+ "capacity": 4,
+ "rate": "C"
+ },
+ {
+ "id": "54",
+ "grp": "sb",
+ "class": 2,
+ "rating": "B",
+ "cost": 22619,
+ "mass": 4,
+ "power": 1.01,
+ "capacity": 5,
+ "rate": "D"
+ },
+ {
+ "id": "55",
+ "grp": "sb",
+ "class": 2,
+ "rating": "C",
+ "cost": 9048,
+ "mass": 2.5,
+ "power": 0.84,
+ "capacity": 4,
+ "rate": "D"
+ },
+ {
+ "id": "56",
+ "grp": "sb",
+ "class": 2,
+ "rating": "D",
+ "cost": 3619,
+ "mass": 1,
+ "power": 0.67,
+ "capacity": 3,
+ "rate": "D"
+ },
+ {
+ "id": "57",
+ "grp": "sb",
+ "class": 2,
+ "rating": "E",
+ "cost": 1448,
+ "mass": 2.5,
+ "power": 0.5,
+ "capacity": 5,
+ "rate": "E"
+ },
+ {
+ "id": "58",
+ "grp": "sb",
+ "class": 3,
+ "rating": "A",
+ "cost": 158331,
+ "mass": 5,
+ "power": 1.43,
+ "capacity": 4,
+ "rate": "C"
+ },
+ {
+ "id": "59",
+ "grp": "sb",
+ "class": 3,
+ "rating": "B",
+ "cost": 63333,
+ "mass": 8,
+ "power": 1.22,
+ "capacity": 5,
+ "rate": "C"
+ },
+ {
+ "id": "5a",
"grp": "sb",
"class": 3,
"rating": "C",
@@ -190,7 +143,8 @@
"capacity": 4,
"rate": "D"
},
- "5b": {
+ {
+ "id": "5b",
"grp": "sb",
"class": 3,
"rating": "D",
@@ -200,7 +154,8 @@
"capacity": 3,
"rate": "D"
},
- "5c": {
+ {
+ "id": "5c",
"grp": "sb",
"class": 3,
"rating": "E",
@@ -210,7 +165,8 @@
"capacity": 5,
"rate": "D"
},
- "5d": {
+ {
+ "id": "5d",
"grp": "sb",
"class": 4,
"rating": "A",
@@ -220,7 +176,8 @@
"capacity": 4,
"rate": "B"
},
- "5e": {
+ {
+ "id": "5e",
"grp": "sb",
"class": 4,
"rating": "B",
@@ -230,7 +187,8 @@
"capacity": 5,
"rate": "C"
},
- "5f": {
+ {
+ "id": "5f",
"grp": "sb",
"class": 4,
"rating": "C",
@@ -240,7 +198,8 @@
"capacity": 4,
"rate": "C"
},
- "5g": {
+ {
+ "id": "5g",
"grp": "sb",
"class": 4,
"rating": "D",
@@ -250,7 +209,8 @@
"capacity": 3,
"rate": "D"
},
- "5h": {
+ {
+ "id": "5h",
"grp": "sb",
"class": 4,
"rating": "E",
@@ -260,7 +220,8 @@
"capacity": 5,
"rate": "D"
},
- "5i": {
+ {
+ "id": "5i",
"grp": "sb",
"class": 5,
"rating": "A",
@@ -270,7 +231,8 @@
"capacity": 4,
"rate": "B"
},
- "5j": {
+ {
+ "id": "5j",
"grp": "sb",
"class": 5,
"rating": "B",
@@ -280,7 +242,8 @@
"capacity": 5,
"rate": "B"
},
- "5k": {
+ {
+ "id": "5k",
"grp": "sb",
"class": 5,
"rating": "C",
@@ -290,7 +253,8 @@
"capacity": 4,
"rate": "C"
},
- "5l": {
+ {
+ "id": "5l",
"grp": "sb",
"class": 5,
"rating": "D",
@@ -300,7 +264,8 @@
"capacity": 3,
"rate": "C"
},
- "5m": {
+ {
+ "id": "5m",
"grp": "sb",
"class": 5,
"rating": "E",
@@ -310,7 +275,8 @@
"capacity": 5,
"rate": "D"
},
- "5n": {
+ {
+ "id": "5n",
"grp": "sb",
"class": 6,
"rating": "A",
@@ -320,7 +286,8 @@
"capacity": 5,
"rate": "A"
},
- "5o": {
+ {
+ "id": "5o",
"grp": "sb",
"class": 6,
"rating": "B",
@@ -330,7 +297,8 @@
"capacity": 6,
"rate": "B"
},
- "5p": {
+ {
+ "id": "5p",
"grp": "sb",
"class": 6,
"rating": "C",
@@ -340,7 +308,8 @@
"capacity": 5,
"rate": "C"
},
- "5q": {
+ {
+ "id": "5q",
"grp": "sb",
"class": 6,
"rating": "D",
@@ -350,7 +319,8 @@
"capacity": 4,
"rate": "C"
},
- "5r": {
+ {
+ "id": "5r",
"grp": "sb",
"class": 6,
"rating": "E",
@@ -360,7 +330,8 @@
"capacity": 6,
"rate": "D"
},
- "5s": {
+ {
+ "id": "5s",
"grp": "sb",
"class": 7,
"rating": "A",
@@ -370,7 +341,8 @@
"capacity": 5,
"rate": "A"
},
- "5t": {
+ {
+ "id": "5t",
"grp": "sb",
"class": 7,
"rating": "B",
@@ -380,7 +352,8 @@
"capacity": 6,
"rate": "B"
},
- "5u": {
+ {
+ "id": "5u",
"grp": "sb",
"class": 7,
"rating": "C",
@@ -390,7 +363,8 @@
"capacity": 5,
"rate": "B"
},
- "5v": {
+ {
+ "id": "5v",
"grp": "sb",
"class": 7,
"rating": "D",
@@ -399,6 +373,72 @@
"power": 1.66,
"capacity": 4,
"rate": "?"
- }
- }
+ },
+ {
+ "id": "60",
+ "grp": "sb",
+ "class": 7,
+ "rating": "E",
+ "cost": 249137,
+ "mass": 80,
+ "power": 1.24,
+ "capacity": 6,
+ "rate": "D"
+ },
+ {
+ "id": "61",
+ "grp": "sb",
+ "class": 8,
+ "rating": "A",
+ "cost": 27249391,
+ "mass": 160,
+ "power": 3.36,
+ "capacity": 5,
+ "rate": "A"
+ },
+ {
+ "id": "62",
+ "grp": "sb",
+ "class": 8,
+ "rating": "B",
+ "cost": 10899756,
+ "mass": 256,
+ "power": 2.88,
+ "capacity": 6,
+ "rate": "A"
+ },
+ {
+ "id": "63",
+ "grp": "sb",
+ "class": 8,
+ "rating": "C",
+ "cost": 4359903,
+ "mass": 160,
+ "power": 2.4,
+ "capacity": 5,
+ "rate": "B"
+ },
+ {
+ "id": "64",
+ "grp": "sb",
+ "class": 8,
+ "rating": "D",
+ "cost": 1743961,
+ "mass": 64,
+ "power": 1.92,
+ "capacity": 4,
+ "rate": "C"
+ },
+ {
+ "id": "65",
+ "grp": "sb",
+ "class": 8,
+ "rating": "E",
+ "cost": 697584,
+ "mass": 160,
+ "power": 1.44,
+ "capacity": 6,
+ "rate": "C"
+ },
+ ]
}
\ No newline at end of file
diff --git a/data/components/internal/shield_generator.json b/data/components/internal/shield_generator.json
index ef164390..be41ea16 100644
--- a/data/components/internal/shield_generator.json
+++ b/data/components/internal/shield_generator.json
@@ -1,6 +1,7 @@
{
- "Shield Generators": {
- "3r": {
+ "Shield Generators": [
+ {
+ "id": "3r",
"grp": "sg",
"class": 2,
"rating": "A",
@@ -14,7 +15,8 @@
"optmul": 1.2,
"maxmul": 0.7
},
- "3s": {
+ {
+ "id": "3s",
"grp": "sg",
"class": 2,
"rating": "B",
@@ -28,7 +30,8 @@
"optmul": 1.1,
"maxmul": 0.6
},
- "3t": {
+ {
+ "id": "3t",
"grp": "sg",
"class": 2,
"rating": "C",
@@ -42,7 +45,8 @@
"optmul": 1,
"maxmul": 0.5
},
- "3u": {
+ {
+ "id": "3u",
"grp": "sg",
"class": 2,
"rating": "D",
@@ -56,7 +60,8 @@
"optmul": 0.9,
"maxmul": 0.4
},
- "3v": {
+ {
+ "id": "3v",
"grp": "sg",
"class": 2,
"rating": "E",
@@ -70,7 +75,8 @@
"optmul": 0.8,
"maxmul": 0.3
},
- "40": {
+ {
+ "id": "40",
"grp": "sg",
"class": 3,
"rating": "A",
@@ -84,7 +90,8 @@
"optmul": 1.2,
"maxmul": 0.7
},
- "41": {
+ {
+ "id": "41",
"grp": "sg",
"class": 3,
"rating": "B",
@@ -98,7 +105,8 @@
"optmul": 1.1,
"maxmul": 0.6
},
- "42": {
+ {
+ "id": "42",
"grp": "sg",
"class": 3,
"rating": "C",
@@ -112,7 +120,8 @@
"optmul": 1,
"maxmul": 0.5
},
- "43": {
+ {
+ "id": "43",
"grp": "sg",
"class": 3,
"rating": "D",
@@ -126,7 +135,8 @@
"optmul": 0.9,
"maxmul": 0.4
},
- "44": {
+ {
+ "id": "44",
"grp": "sg",
"class": 3,
"rating": "E",
@@ -140,7 +150,8 @@
"optmul": 0.8,
"maxmul": 0.3
},
- "45": {
+ {
+ "id": "45",
"grp": "sg",
"class": 4,
"rating": "A",
@@ -154,7 +165,8 @@
"optmul": 1.2,
"maxmul": 0.7
},
- "46": {
+ {
+ "id": "46",
"grp": "sg",
"class": 4,
"rating": "B",
@@ -168,7 +180,8 @@
"optmul": 1.1,
"maxmul": 0.6
},
- "47": {
+ {
+ "id": "47",
"grp": "sg",
"class": 4,
"rating": "C",
@@ -182,7 +195,8 @@
"optmul": 1,
"maxmul": 0.5
},
- "48": {
+ {
+ "id": "48",
"grp": "sg",
"class": 4,
"rating": "D",
@@ -196,7 +210,8 @@
"optmul": 0.9,
"maxmul": 0.4
},
- "49": {
+ {
+ "id": "49",
"grp": "sg",
"class": 4,
"rating": "E",
@@ -210,7 +225,8 @@
"optmul": 0.8,
"maxmul": 0.3
},
- "4a": {
+ {
+ "id": "4a",
"grp": "sg",
"class": 5,
"rating": "A",
@@ -224,7 +240,8 @@
"optmul": 1.2,
"maxmul": 0.7
},
- "4b": {
+ {
+ "id": "4b",
"grp": "sg",
"class": 5,
"rating": "B",
@@ -238,7 +255,8 @@
"optmul": 1.1,
"maxmul": 0.6
},
- "4c": {
+ {
+ "id": "4c",
"grp": "sg",
"class": 5,
"rating": "C",
@@ -252,7 +270,8 @@
"optmul": 1,
"maxmul": 0.5
},
- "4d": {
+ {
+ "id": "4d",
"grp": "sg",
"class": 5,
"rating": "D",
@@ -266,7 +285,8 @@
"optmul": 0.9,
"maxmul": 0.4
},
- "4e": {
+ {
+ "id": "4e",
"grp": "sg",
"class": 5,
"rating": "E",
@@ -280,7 +300,8 @@
"optmul": 0.8,
"maxmul": 0.3
},
- "4f": {
+ {
+ "id": "4f",
"grp": "sg",
"class": 6,
"rating": "A",
@@ -294,7 +315,8 @@
"optmul": 1.2,
"maxmul": 0.7
},
- "4g": {
+ {
+ "id": "4g",
"grp": "sg",
"class": 6,
"rating": "B",
@@ -308,7 +330,8 @@
"optmul": 1.1,
"maxmul": 0.6
},
- "4h": {
+ {
+ "id": "4h",
"grp": "sg",
"class": 6,
"rating": "C",
@@ -322,7 +345,8 @@
"optmul": 1,
"maxmul": 0.5
},
- "4i": {
+ {
+ "id": "4i",
"grp": "sg",
"class": 6,
"rating": "D",
@@ -336,7 +360,8 @@
"optmul": 0.9,
"maxmul": 0.4
},
- "4j": {
+ {
+ "id": "4j",
"grp": "sg",
"class": 6,
"rating": "E",
@@ -350,7 +375,8 @@
"optmul": 0.8,
"maxmul": 0.3
},
- "4k": {
+ {
+ "id": "4k",
"grp": "sg",
"class": 7,
"rating": "A",
@@ -364,7 +390,8 @@
"optmul": 1.2,
"maxmul": 0.7
},
- "4l": {
+ {
+ "id": "4l",
"grp": "sg",
"class": 7,
"rating": "B",
@@ -378,7 +405,8 @@
"optmul": 1.1,
"maxmul": 0.6
},
- "4m": {
+ {
+ "id": "4m",
"grp": "sg",
"class": 7,
"rating": "C",
@@ -392,7 +420,8 @@
"optmul": 1,
"maxmul": 0.5
},
- "4n": {
+ {
+ "id": "4n",
"grp": "sg",
"class": 7,
"rating": "D",
@@ -406,7 +435,8 @@
"optmul": 0.9,
"maxmul": 0.4
},
- "4o": {
+ {
+ "id": "4o",
"grp": "sg",
"class": 7,
"rating": "E",
@@ -420,7 +450,8 @@
"optmul": 0.8,
"maxmul": 0.3
},
- "4p": {
+ {
+ "id": "4p",
"grp": "sg",
"class": 8,
"rating": "A",
@@ -434,7 +465,8 @@
"optmul": 1.2,
"maxmul": 0.7
},
- "4q": {
+ {
+ "id": "4q",
"grp": "sg",
"class": 8,
"rating": "B",
@@ -448,7 +480,8 @@
"optmul": 1.1,
"maxmul": 0.6
},
- "4r": {
+ {
+ "id": "4r",
"grp": "sg",
"class": 8,
"rating": "C",
@@ -462,7 +495,8 @@
"optmul": 1,
"maxmul": 0.5
},
- "4s": {
+ {
+ "id": "4s",
"grp": "sg",
"class": 8,
"rating": "D",
@@ -476,7 +510,8 @@
"optmul": 0.9,
"maxmul": 0.4
},
- "4t": {
+ {
+ "id": "4t",
"grp": "sg",
"class": 8,
"rating": "E",
@@ -490,5 +525,5 @@
"optmul": 0.8,
"maxmul": 0.3
}
- }
+ ]
}
\ No newline at end of file