From f4df56e34a04f13626396f34bec726e9bbe58b53 Mon Sep 17 00:00:00 2001 From: Colin McLeod Date: Mon, 4 May 2015 18:31:34 -0700 Subject: [PATCH] More refactoring and features --- app/fonts/icons.eot | Bin 0 -> 15124 bytes app/fonts/icons.svg | 105 +++++ app/fonts/icons.ttf | Bin 0 -> 14968 bytes app/fonts/icons.woff | Bin 0 -> 15044 bytes app/index.html | 5 +- app/js/controllers/controller-outfit.js | 54 ++- .../directives/directive-component-select.js | 85 ++-- app/js/directives/directive-header.js | 24 +- app/js/directives/directive-list-cost.js | 28 -- app/js/directives/directive-list-power.js | 23 - app/js/directives/directive-ship-range.js | 52 --- app/js/directives/directive-slot-hardpoint.js | 2 +- app/js/directives/directive-slot-internal.js | 2 +- app/js/service-serializer.js | 2 +- app/js/shipyard/factory-ship.js | 12 +- app/less/fonts.less | 12 +- app/less/header.less | 14 +- app/less/icons.less | 413 +++++++++++++++++- app/less/outfit.less | 8 - app/less/select.less | 18 +- app/views/_header.html | 25 +- ...ot-hardpoint.html => _slot-hardpoint.html} | 12 +- ...slot-internal.html => _slot-internal.html} | 0 app/views/costs.html | 29 -- app/views/page-error.html | 2 +- app/views/page-outfit.html | 141 ++++-- app/views/page-shipyard.html | 4 +- app/views/power.html | 37 -- app/views/ship-range.html | 15 - .../internal/auto_field_maintenance_unit.json | 80 ++-- data/components/internal/cargo_rack.json | 16 +- .../components/internal/docking_computer.json | 2 +- .../frame_shift_drive_interdictor.json | 40 +- data/components/internal/fuel_scoops.json | 80 ++-- .../hatch_breaker_limpet_controller.json | 40 +- .../internal/hull_reinforcement_package.json | 20 +- data/components/internal/refinery.json | 40 +- data/components/internal/scanners.json | 8 +- .../components/internal/shield_cell_bank.json | 80 ++-- .../components/internal/shield_generator.json | 330 +++++++------- data/ships/adder.json | 2 +- data/ships/anaconda.json | 2 +- data/ships/asp.json | 2 +- data/ships/cobra_mk_iii.json | 2 +- data/ships/eagle.json | 2 +- data/ships/federal_dropship.json | 2 +- data/ships/fer_de_lance.json | 2 +- data/ships/hauler.json | 2 +- data/ships/imperial_clipper.json | 2 +- data/ships/orca.json | 2 +- data/ships/python.json | 2 +- data/ships/sidewinder.json | 2 +- data/ships/type_6_transporter.json | 2 +- data/ships/type_7_transport.json | 2 +- data/ships/type_9_heavy.json | 2 +- data/ships/viper.json | 2 +- data/ships/vulture.json | 2 +- 57 files changed, 1186 insertions(+), 708 deletions(-) create mode 100755 app/fonts/icons.eot create mode 100755 app/fonts/icons.svg create mode 100755 app/fonts/icons.ttf create mode 100755 app/fonts/icons.woff delete mode 100644 app/js/directives/directive-list-cost.js delete mode 100644 app/js/directives/directive-list-power.js delete mode 100644 app/js/directives/directive-ship-range.js rename app/views/{slot-hardpoint.html => _slot-hardpoint.html} (79%) rename app/views/{slot-internal.html => _slot-internal.html} (100%) delete mode 100644 app/views/costs.html delete mode 100644 app/views/power.html delete mode 100644 app/views/ship-range.html diff --git a/app/fonts/icons.eot b/app/fonts/icons.eot new file mode 100755 index 0000000000000000000000000000000000000000..3427962357d399a19fe568885e2a8f04cd840b4d GIT binary patch literal 15124 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 literal 0 HcmV?d00001 diff --git a/app/fonts/icons.svg b/app/fonts/icons.svg new file mode 100755 index 00000000..cf7fdda4 --- /dev/null +++ b/app/fonts/icons.svg @@ -0,0 +1,105 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/fonts/icons.ttf b/app/fonts/icons.ttf new file mode 100755 index 0000000000000000000000000000000000000000..87613358073e1a7abf9f78b12f91b9673b48064e GIT binary patch literal 14968 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 - + -
+
@@ -35,6 +35,7 @@ It is not endorsed by nor reflects the views or opinions of Frontier Developments and no employee of Frontier Developments was involved in the making of it.
+ diff --git a/app/js/controllers/controller-outfit.js b/app/js/controllers/controller-outfit.js index 5dbfde67..0cdf0615 100644 --- a/app/js/controllers/controller-outfit.js +++ b/app/js/controllers/controller-outfit.js @@ -55,21 +55,22 @@ angular.module('app').controller('OutfitController', ['$rootScope','$scope', '$s */ $scope.select = function(type, slot, e) { e.stopPropagation(); - if (e.srcElement.id) { - if(type == 'h') { - ship.use(slot, e.srcElement.id, Components.hardpoints(e.srcElement.id)); - } else if (type == 'c') { - ship.use(slot, e.srcElement.id, Components.common(ship.common.indexOf(slot), e.srcElement.id)); - } else if (type == 'i') { - ship.use(slot, e.srcElement.id, Components.internal(e.srcElement.id)); - } else if (type == 'b') { - ship.useBulkhead(e.srcElement.id); - } else { + var id = angular.element(e.srcElement).attr('cpid'); // Get component ID + if (id) { + if (id == 'empty') { ship.use(slot, null, null); + } else if(type == 'h') { + ship.use(slot, id, Components.hardpoints(id)); + } else if (type == 'c') { + ship.use(slot, id, Components.common(ship.common.indexOf(slot), id)); + } else if (type == 'i') { + ship.use(slot, id, Components.internal(id)); + } else if (type == 'b') { + ship.useBulkhead(id); } $scope.selectedSlot = null; $scope.code = Serializer.fromShip(ship); - $state.go('outfit', {shipId: ship.id, code: $scope.code, bn: $scope.buildName}, {location:'replace', notify:false}); + updateState(); } } @@ -80,7 +81,7 @@ angular.module('app').controller('OutfitController', ['$rootScope','$scope', '$s if ($scope.buildName && $scope.savedCode) { Serializer.toShip(ship, $scope.savedCode); // Repopulate with components from last save $scope.code = $scope.savedCode; - $state.go('outfit', {shipId: ship.id, code: $scope.savedCode, bn: $scope.buildName}, {location:'replace', notify:false}); + updateState(); } }; @@ -89,11 +90,18 @@ angular.module('app').controller('OutfitController', ['$rootScope','$scope', '$s * for this ship & with the exact name. */ $scope.saveBuild = function() { - if($scope.buildName && $scope.code != $scope.savedCode) { + if (!$scope.buildName) { + return; + } + // No change hav been made, i.e. save ship default build under a name + if (!$scope.code) { + $scope.code = Serializer.fromShip(ship); + } + // Only save if there a build name and a change has been made or the build has never been saved + if ($scope.code != $scope.savedCode) { Persist.saveBuild(ship.id, $scope.buildName, $scope.code); $scope.savedCode = $scope.code; - // Edge case TODO: comment more - $state.go('outfit', {shipId: ship.id, code: $scope.savedCode, bn: $scope.buildName}, {location:'replace', notify:false}); + updateState(); } } @@ -111,6 +119,22 @@ angular.module('app').controller('OutfitController', ['$rootScope','$scope', '$s $scope.savedCode = Persist.getBuild(ship.id, $scope.buildName); } + $scope.toggleCost = function(item) { + item.incCost = !item.incCost; + ship.updateTotals(); + }; + + $scope.togglePwr = function(item) { + item.enabled = !item.enabled; + ship.updateTotals(); + }; + + // Utilify functions + function updateState() { + $state.go('outfit', {shipId: ship.id, code: $scope.code, bn: $scope.buildName}, {location:'replace', notify:false}); + } + + // Event listeners $rootScope.$on('keyup', function (e, keyEvent) { // CTRL + S or CMD + S will override the default and save the build is possible if (keyEvent.keycode == 83 && keyEvent.ctrlKey) { diff --git a/app/js/directives/directive-component-select.js b/app/js/directives/directive-component-select.js index ef7e0719..8e25da08 100644 --- a/app/js/directives/directive-component-select.js +++ b/app/js/directives/directive-component-select.js @@ -1,41 +1,68 @@ -angular.module('app').directive('componentSelect', [ function() { +angular.module('app').directive('componentSelect', function() { + + // Generting the HTML in this manner is MUCH faster than using an angular template. + + 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]; + list.push('
  • ', o.class, o.rating); + if(o.mode) { + list.push('/' + o.mode); + if(o.missile) { + list.push(o.missile); + } + } + if(o.name) list.push(' ' + o.name); + list.push('
  • '); + prevClass = o.class; + prevRating= o.rating; + } + } + return { restrict: 'A', scope:{ - opts: '=', // Component Options object - mass: '=' // Current ship mass + opts: '=', // Component Options object + groups: '=', // Groups of Component Options + mass: '=', // Current ship unladen mass + s: '=' // Current Slot }, link: function(scope, element) { - var list = [], o, id; + var list = []; + var cid = scope.s.id; // Slot's current component id + var component = scope.s.c; // Slot's Current Component (may be null/undefined) var opts = scope.opts; + var groups = scope.groups; var mass = scope.mass || 0; - // Generting the HTML in this manner is MUCH faster than using an angular template. - for (id in opts) { - o = opts[id]; - list.push('
  • EMPTY'); + for (g in groups) { + var grp = groups[g]; + var grpCode = grp[Object.keys(grp)[0]].grp; // Nasty operation to get the grp property of the first/any single component + list.push('
    ', g, '
      '); + appendGroup(list, grp, cid, mass); + list.push('
    '); } - list.push(id); - list.push('">'); - list.push(o.class); - list.push(o.rating); - if(o.mode) { - list.push('/' + o.mode); - if(o.missile) { - list.push(o.missile); - } - } - if(o.name) { - list.push(' ' + o.name); - } - list.push('
  • '); + } else { + list.push('
      '); + appendGroup(list, opts, cid, mass); + list.push('
    '); } - element.html('
      ' + list.join('') + '
    '); + element.html(list.join('')); + // If groups are present and a component is already selectd + if (groups && component && component.grp) { + var groupElement = angular.element(document.getElementById(component.grp)); + var parentElem = element[0].parentElement; + parentElem.scrollTop = groupElement[0].offsetTop; // Scroll to currently selected group + } } }; -}]); \ No newline at end of file +}); \ No newline at end of file diff --git a/app/js/directives/directive-header.js b/app/js/directives/directive-header.js index 5c1740c7..a385d73c 100644 --- a/app/js/directives/directive-header.js +++ b/app/js/directives/directive-header.js @@ -1,4 +1,4 @@ -angular.module('app').directive('shipyardHeader', ['$rootScope', 'Persist', function ($rootScope, Persist) { +angular.module('app').directive('shipyardHeader', ['lodash','$rootScope', 'Persist', function (_, $rootScope, Persist) { return { restrict: 'E', @@ -10,15 +10,33 @@ angular.module('app').directive('shipyardHeader', ['$rootScope', 'Persist', func scope.allBuilds = Persist.builds; scope.bs = Persist.state; + // Insurance options and management here for now. + $rootScope.insurance = { + opts: [ + { name:'Standard', pct: 0.05 }, + { name:'Alpha', pct: 0.025 }, + { name:'Beta', pct: 0.035 } + ] + } + + var insIndex = _.findIndex($rootScope.insurance.opts, 'name', localStorage.getItem('insurance')); + $rootScope.insurance.current = $rootScope.insurance.opts[insIndex != -1? insIndex : 0]; + + // Close menus if a navigation change event occurs $rootScope.$on('$stateChangeStart',function(){ scope.openedMenu = null; }); - $rootScope.$on('close', function (e, keyEvent) { + $rootScope.$on('close', function () { scope.openedMenu = null; }); - scope.openMenu = function (menu) { + scope.updateInsurance = function(){ + localStorage.setItem('insurance', $rootScope.insurance.current.name); + } + + scope.openMenu = function (e, menu) { + e.stopPropagation(); if(menu == scope.openedMenu) { scope.openedMenu = null; return; diff --git a/app/js/directives/directive-list-cost.js b/app/js/directives/directive-list-cost.js deleted file mode 100644 index 5f89474b..00000000 --- a/app/js/directives/directive-list-cost.js +++ /dev/null @@ -1,28 +0,0 @@ -angular.module('app').directive('costList', ['$rootScope', function ($r) { - return { - restrict: 'A', - scope: { - ship: '=' - }, - templateUrl: 'views/costs.html', - link: function (scope) { - scope.expanded = false; - scope.$r = $r; - scope.insuranceOptions = { - Alpha: 0.975, - Beta: 0.965, - Standard: 0.95 - }; - scope.insurance = scope.insuranceOptions.Standard; - - scope.toggleExpand = function() { - scope.expanded = !scope.expanded; - } - - scope.toggle = function(item) { - item.incCost = !item.incCost; - scope.ship.updateTotals(); - }; - } - }; -}]); \ No newline at end of file diff --git a/app/js/directives/directive-list-power.js b/app/js/directives/directive-list-power.js deleted file mode 100644 index 11b74ee5..00000000 --- a/app/js/directives/directive-list-power.js +++ /dev/null @@ -1,23 +0,0 @@ -angular.module('app') - .directive('powerList', ['$rootScope', function ($r) { - return { - restrict: 'A', - scope: { - ship: '=ship' - }, - templateUrl: 'views/power.html', - link: function (scope) { - scope.expanded = false; - scope.$r = $r; - - scope.toggleExpand = function() { - scope.expanded = !scope.expanded; - } - - scope.toggle = function(slot) { - slot.enabled = !slot.enabled; - scope.ship.updateTotals(); - }; - } - }; - }]); \ No newline at end of file diff --git a/app/js/directives/directive-ship-range.js b/app/js/directives/directive-ship-range.js deleted file mode 100644 index 1aa52ad7..00000000 --- a/app/js/directives/directive-ship-range.js +++ /dev/null @@ -1,52 +0,0 @@ -angular.module('app').directive('shipRange', ['$rootScope','calcJumpRange', function ($r, calcJumpRange) { - - return { - restrict: 'A', - scope:{ - ship: '=' - }, - templateUrl: 'views/ship-range.html', - link: function(scope, element) { - scope.$r = $r; - scope.expanded = false; - var fsd = scope.ship.common[2].c; - - scope.toggleExpand = function() { - scope.expanded = !scope.expanded; - } - - function ranges(fsd, unladenMass, ladenMass) { - var ranges = []; - for(var m = unladenMass; m <= ladenMass; m++) { - ranges.push({x:m, y: calcJumpRange(m, fsd)}); - } - return ranges; - } - - //var fDist = d3.format(',.2f'); - - //scope.data = ranges(fsd, scope.ship.unladenMass, scope.ship.ladenMass); - /*scope.options = { - axes: { - x: {key: 'x', type: 'linear', ticks: 10}, - y: {type: 'linear', ticks: 5, } - }, - series: [ - {y: 'y', color: '#FF8C0D', thickness: '2px', type: 'area', striped: false, label: 'Range'} - ], - lineMode: 'basis', - tension: 0.7, - tooltip: { - mode: 'scrubber', - - formatter: function(x, y, series) { - return fDist(y) + ' Light Years'; - } - }, - drawLegend: false, - drawDots: false, - columnsHGap: 5 - };*/ - } - }; -}]); diff --git a/app/js/directives/directive-slot-hardpoint.js b/app/js/directives/directive-slot-hardpoint.js index 6edd4c4e..b35a8b35 100644 --- a/app/js/directives/directive-slot-hardpoint.js +++ b/app/js/directives/directive-slot-hardpoint.js @@ -6,7 +6,7 @@ angular.module('app').directive('slotHardpoint', ['$rootScope', function ($r) { size: '=', lbl: '=', }, - templateUrl: 'views/slot-hardpoint.html', + templateUrl: 'views/_slot-hardpoint.html', link: function (scope) { scope.$r = $r; } diff --git a/app/js/directives/directive-slot-internal.js b/app/js/directives/directive-slot-internal.js index ba9de478..f7336149 100644 --- a/app/js/directives/directive-slot-internal.js +++ b/app/js/directives/directive-slot-internal.js @@ -6,7 +6,7 @@ angular.module('app').directive('slotInternal', ['$rootScope', function ($r) { lbl: '=', opts: '=' }, - templateUrl: 'views/slot-internal.html', + templateUrl: 'views/_slot-internal.html', link: function(scope) { scope.$r = $r; } diff --git a/app/js/service-serializer.js b/app/js/service-serializer.js index 9cc80b83..0f70461a 100644 --- a/app/js/service-serializer.js +++ b/app/js/service-serializer.js @@ -15,7 +15,7 @@ angular.module('app').service('Serializer', ['lodash', function (_) { _.map(ship.hardpoints, idToStr), _.map(ship.internal, idToStr), ]; - + console.log('code',_.flatten(data).join('')); return _.flatten(data).join(''); }; diff --git a/app/js/shipyard/factory-ship.js b/app/js/shipyard/factory-ship.js index 95a385f9..05857dde 100644 --- a/app/js/shipyard/factory-ship.js +++ b/app/js/shipyard/factory-ship.js @@ -16,9 +16,9 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength', for (p in properties) { this[p] = properties[p]; } // Copy all base properties from shipData - for (groupName in slots) { // Initialize all slots - var slotGroup = slots[groupName]; - var group = this[groupName] = []; // Initialize Slot group (Common, Hardpoints, Internal) + for (slotType in slots) { // Initialize all slots + var slotGroup = slots[slotType]; + var group = this[slotType] = []; // Initialize Slot group (Common, Hardpoints, Internal) for(var i = 0; i < slotGroup.length; i++){ group.push({id: null, c: null, enabled: true, incCost: true, maxClass: slotGroup[i]}); } @@ -115,10 +115,6 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength', return sum; } - function findInternal(slots, group) { - - } - Ship.prototype.useBulkhead = function(index) { this.bulkheads.id = index; this.bulkheads.c = DB.components.bulkheads[this.id][index]; @@ -145,7 +141,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength', } } else { // Selected component is a Shield Generator - if(component.group == 'sg') { + if(component.grp == 'sg') { // You can only have one shield Generator if (this.sgSI !== null && this.sgSI != slotIndex) { // A shield generator is already selected in a different slot diff --git a/app/less/fonts.less b/app/less/fonts.less index 99d3187f..b738157d 100644 --- a/app/less/fonts.less +++ b/app/less/fonts.less @@ -44,7 +44,6 @@ url('fonts/sintony-bold-webfont.svg#sintonybold') format('svg'); font-weight: normal; font-style: normal; - } @font-face { @@ -57,7 +56,6 @@ url('fonts/sintony-regular-webfont.svg#sintonyregular') format('svg'); font-weight: normal; font-style: normal; - } @font-face { @@ -70,7 +68,17 @@ url('fonts/eurocaps-webfont.svg#euro_capsregular') format('svg'); font-weight: normal; font-style: normal; +} +@font-face { + font-family: 'icons'; + src:url('fonts/icons.eot?-dwuzoa'); + src:url('fonts/icons.eot?#iefix-dwuzoa') format('embedded-opentype'), + url('fonts/icons.woff?-dwuzoa') format('woff'), + url('fonts/icons.ttf?-dwuzoa') format('truetype'), + url('fonts/icons.svg?-dwuzoa#icons') format('svg'); + font-weight: normal; + font-style: normal; } @fStandard: 'eurocaps', Helvetica, sans-serif; diff --git a/app/less/header.less b/app/less/header.less index 23f8d35a..af509a8e 100644 --- a/app/less/header.less +++ b/app/less/header.less @@ -14,6 +14,12 @@ header { position: relative; z-index: 1; cursor: default; + + &.r { + .menu-list { + right: 0; + } + } } .menu-header { @@ -37,14 +43,18 @@ header { } .menu-list { - width: 250%; + width: 25em; font-family: @fStandard; position: absolute; - margin-right: 1em; padding: 0 0 1em 1em; overflow: hidden; background-color: @bgBlack; font-size: 0.8em; + + &.sm { + width: 15em; + } + } ul { diff --git a/app/less/icons.less b/app/less/icons.less index bb412dcb..4e55aa4e 100644 --- a/app/less/icons.less +++ b/app/less/icons.less @@ -31,28 +31,407 @@ height: 3em; } -.mount-T { - background-image: url(images/icons/mount-t.svg); -} -.mount-F { - background-image: url(images/icons/mount-f.svg); -} -.mount-G { - background-image: url(images/icons/mount-g.svg); -} - .shipyard { background-image: url(images/icons/logo.svg); } -.github { - background-image: url(images/icons/github-mark.svg); -} - .reddit { background-image: url(images/icons/reddit.svg); } -.elite-dangerous { - background-image: url(images/ed-logo-sm.png); -} \ No newline at end of file + +.ico-l { + font-size: 2em; +} + +.ico-xl { + font-size: 3em; +} + +.ico { + font-family: 'icons'; + font-variant: normal; + text-transform: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.ico-coin-dollar:before { + content: "\e93b"; +} + +.ico-download:before { + content: "\e960"; +} + +.ico-upload:before { + content: "\e961"; +} + +.ico-floppy-disk:before { + content: "\e962"; +} + +.ico-spinner4:before { + content: "\e97d"; +} + +.ico-spinner11:before { + content: "\e984"; +} + +.ico-enlarge:before { + content: "\e989"; +} + +.ico-shrink:before { + content: "\e98a"; +} + +.ico-enlarge2:before { + content: "\e98b"; +} + +.ico-shrink2:before { + content: "\e98c"; +} + +.ico-wrench:before { + content: "\e991"; +} + +.ico-equalizer:before { + content: "\e992"; +} + +.ico-equalizer2:before { + content: "\e993"; +} + +.ico-cog:before { + content: "\e994"; +} + +.ico-cogs:before { + content: "\e995"; +} + +.ico-hammer:before { + content: "\e996"; +} + +.ico-pie-chart:before { + content: "\e99a"; +} + +.ico-stats-dots:before { + content: "\e99b"; +} + +.ico-stats-bars:before { + content: "\e99c"; +} + +.ico-stats-bars2:before { + content: "\e99d"; +} + +.ico-rocket:before { + content: "\e9a5"; +} + +.ico-meter:before { + content: "\e9a6"; +} + +.ico-meter2:before { + content: "\e9a7"; +} + +.ico-bin:before { + content: "\e9ac"; +} + +.ico-target:before { + content: "\e9b3"; +} + +.ico-shield:before { + content: "\e9b4"; +} + +.ico-power:before { + content: "\e9b5"; +} + +.ico-switch:before { + content: "\e9b6"; +} + +.ico-power-cord:before { + content: "\e9b7"; +} + +.ico-clipboard:before { + content: "\e9b8"; +} + +.ico-tree:before { + content: "\e9bc"; +} + +.ico-menu:before { + content: "\e9bd"; +} + +.ico-menu2:before { + content: "\e9be"; +} + +.ico-menu3:before { + content: "\e9bf"; +} + +.ico-menu4:before { + content: "\e9c0"; +} + +.ico-cloud:before { + content: "\e9c1"; +} + +.ico-cloud-download:before { + content: "\e9c2"; +} + +.ico-cloud-upload:before { + content: "\e9c3"; +} + +.ico-cloud-check:before { + content: "\e9c4"; +} + +.ico-link:before { + content: "\e9cb"; +} + +.ico-warning:before { + content: "\ea07"; +} + +.ico-notification:before { + content: "\ea08"; +} + +.ico-question:before { + content: "\ea09"; +} + +.ico-plus:before { + content: "\ea0a"; +} + +.ico-minus:before { + content: "\ea0b"; +} + +.ico-info:before { + content: "\ea0c"; +} + +.ico-cancel-circle:before { + content: "\ea0d"; +} + +.ico-blocked:before { + content: "\ea0e"; +} + +.ico-cross:before { + content: "\ea0f"; +} + +.ico-checkmark:before { + content: "\ea10"; +} + +.ico-checkmark2:before { + content: "\ea11"; +} + +.ico-loop:before { + content: "\ea2d"; +} + +.ico-loop2:before { + content: "\ea2e"; +} + +.ico-infinite:before { + content: "\ea2f"; +} + +.ico-shuffle:before { + content: "\ea30"; +} + +.ico-arrow-up-left:before { + content: "\ea31"; +} + +.ico-arrow-up:before { + content: "\ea32"; +} + +.ico-arrow-up-right:before { + content: "\ea33"; +} + +.ico-arrow-right:before { + content: "\ea34"; +} + +.ico-arrow-down-right:before { + content: "\ea35"; +} + +.ico-arrow-down:before { + content: "\ea36"; +} + +.ico-arrow-down-left:before { + content: "\ea37"; +} + +.ico-arrow-left:before { + content: "\ea38"; +} + +.ico-arrow-up-left2:before { + content: "\ea39"; +} + +.ico-arrow-up2:before { + content: "\ea3a"; +} + +.ico-arrow-up-right2:before { + content: "\ea3b"; +} + +.ico-arrow-right2:before { + content: "\ea3c"; +} + +.ico-arrow-down-right2:before { + content: "\ea3d"; +} + +.ico-arrow-down2:before { + content: "\ea3e"; +} + +.ico-arrow-down-left2:before { + content: "\ea3f"; +} + +.ico-arrow-left2:before { + content: "\ea40"; +} + +.ico-circle-up:before { + content: "\ea41"; +} + +.ico-circle-right:before { + content: "\ea42"; +} + +.ico-circle-down:before { + content: "\ea43"; +} + +.ico-circle-left:before { + content: "\ea44"; +} + +.ico-tab:before { + content: "\ea45"; +} + +.ico-move-up:before { + content: "\ea46"; +} + +.ico-move-down:before { + content: "\ea47"; +} + +.ico-sort-alpha-asc:before { + content: "\ea48"; +} + +.ico-sort-alpha-desc:before { + content: "\ea49"; +} + +.ico-sort-numeric-asc:before { + content: "\ea4a"; +} + +.ico-sort-numberic-desc:before { + content: "\ea4b"; +} + +.ico-sort-amount-asc:before { + content: "\ea4c"; +} + +.ico-sort-amount-desc:before { + content: "\ea4d"; +} + +.ico-checkbox-checked:before { + content: "\ea52"; +} + +.ico-checkbox-unchecked:before { + content: "\ea53"; +} + +.ico-radio-checked:before { + content: "\ea54"; +} + +.ico-radio-checked2:before { + content: "\ea55"; +} + +.ico-radio-unchecked:before { + content: "\ea56"; +} + +.ico-table:before { + content: "\ea70"; +} + +.ico-table2:before { + content: "\ea71"; +} + +.ico-share:before { + content: "\ea7d"; +} + +.ico-share2:before { + content: "\ea82"; +} + +.ico-github:before { + content: "\eab1"; +} + +.ico-github4:before { + content: "\eab4"; +} diff --git a/app/less/outfit.less b/app/less/outfit.less index cb453150..2c4608e6 100644 --- a/app/less/outfit.less +++ b/app/less/outfit.less @@ -69,11 +69,3 @@ u { // Unit (Mj, Km, etc) cursor: pointer; } -.expandable { - display: none; - - &.expanded { - display: block; - } -} - diff --git a/app/less/select.less b/app/less/select.less index 7a8ac884..d4374a39 100644 --- a/app/less/select.less +++ b/app/less/select.less @@ -31,6 +31,9 @@ cursor: not-allowed; color: @disabled; } + &.active { + color: @secondary; + } } @optionSpacing: 1.8em; @@ -48,12 +51,12 @@ &.hardpoint { .c { width: 4em; - &:nth-child(3n + 1) { + /* &:nth-child(3n + 1) { clear: left; } &:nth-child(5n +1) { clear: none; - } + }*/ } } @@ -71,13 +74,16 @@ border:1px solid @warning; } - &:nth-child(5n +1) { + /*&:nth-child(5n +1) { clear: left; - } + }*/ &.disabled { border:1px solid @disabled; } + &.active { + border:1px solid @secondary; + } } ul { @@ -87,6 +93,4 @@ list-style: none; overflow: hidden; } - - -} \ No newline at end of file +} diff --git a/app/views/_header.html b/app/views/_header.html index 44cf4499..60b0f2f0 100644 --- a/app/views/_header.html +++ b/app/views/_header.html @@ -2,15 +2,15 @@
    diff --git a/app/views/page-outfit.html b/app/views/page-outfit.html index 18c622f4..cf8d7c02 100644 --- a/app/views/page-outfit.html +++ b/app/views/page-outfit.html @@ -4,11 +4,8 @@
    -
    EMPTY
    -
    -
    {{grp}}
    -
    -
    +
    +
    @@ -23,11 +20,11 @@
    {{ship.bulkheads.c.mass}} T
      -
    • Lightweight Alloy
    • -
    • Reinforced Alloy
    • -
    • Military Grade Composite
    • -
    • Mirrored Surface Composite
    • -
    • Reactive Surface Composite
    • +
    • Lightweight Alloy
    • +
    • Reinforced Alloy
    • +
    • Military Grade Composite
    • +
    • Mirrored Surface Composite
    • +
    • Reactive Surface Composite
    @@ -40,7 +37,7 @@
    Power: {{pp.c.pGen}} MW
    {{pp.c.mass}} T
    -
    +
    @@ -52,7 +49,7 @@
    Max: {{th.c.maxmass}} T
    {{th.c.mass}} T
    -
    +
    @@ -64,7 +61,7 @@
    Max Fuel: {{fsd.c.maxfuel}} T
    {{fsd.c.mass}} T
    -
    +
    @@ -75,7 +72,7 @@
    Time: {{fTime(ls.c.time)}}
    {{ls.c.mass}} T
    -
    +
    @@ -88,7 +85,7 @@
    Eng: {{pd.c.enginecapacity}} Mj {{pd.c.enginerecharge}}Mj/s
    {{pd.c.mass}} T
    -
    +
    @@ -99,7 +96,7 @@
    {{ss.c.range}} KM
    {{ss.c.mass}} T
    -
    +
    @@ -108,20 +105,16 @@
    {{ft.id}}
    {{ft.c.capacity}} T
    -
    +

    Internal Compartments

    -
    +
    -
    EMPTY
    -
    -
    {{grp}}
    -
    -
    +
    @@ -131,12 +124,13 @@

    - - + + - +
    +
    Maneuverability
    @@ -145,6 +139,7 @@
    Agility
    {{ship.agility}} / 10
    +
    Shields
    @@ -155,6 +150,7 @@
    Multiplier
    {{fRPct(ship.shieldMultiplier)}}
    +
    Armor
    @@ -163,6 +159,7 @@
    Base
    {{ship.armour}}
    +
    Mass
    @@ -171,7 +168,46 @@
    Unladen
    {{fRound(ship.unladenMass)}} T
    -
    + +
    +
    Power Use
    +
    +
    +
    {{pp.c.class}}{{pp.c.rating}} Power Plant
    {{fPwr(pp.c.pGen)}}
    +
    + +
    +
    {{c.c.class}}{{c.c.rating}} {{CArr[$index]}}
    {{fPwr(c.c.power)}}
    +
    + +
    +
    1H Cargo Scoop
    {{fPwr(ship.cargoScoop.c.power)}}
    +
    + +
    +
    {{c.c.class}}{{c.c.rating}} {{c.c.name || hgMap[c.c.grp]}}
    {{fPwr(c.c.power)}}
    +
    + +
    +
    {{c.c.class}}{{c.c.rating}} {{c.c.name || igMap[c.c.grp]}}
    {{fPwr(c.c.power)}}
    +
    +
    +
    +
    +
    Available
    +
    {{fPwr(ship.powerAvailable)}} MW
    +
    +
    +
    Deployed
    +
    {{fPwr(ship.powerDeployed)}} MW ({{fPct(ship.powerDeployed/ship.powerAvailable)}})
    +
    +
    +
    Retracted
    +
    {{fPwr(ship.powerRetracted)}} MW ({{fPct(ship.powerRetracted/ship.powerAvailable)}})
    +
    +
    +
    +
    Capacity
    @@ -179,8 +215,55 @@
    Fuel
    {{fRound(ship.fuelCapacity)}} T
    -
    -
    + +
    +
    Jump Range
    +
    + + Stuff! +
    +
    +
    +
    Laden
    +
    {{fRound(ship.ladenJumpRange)}} LY
    +
    +
    +
    Unladen
    +
    {{fRound(ship.unladenJumpRange)}} LY
    +
    +
    +
    + +
    +
    Costs
    +
    +
    +
    {{ship.name}}
    {{fCrd(ship.cost)}}
    +
    +
    +
    {{ship.bulkheads.c.name}}
    {{fCrd(ship.bulkheads.c.cost)}}
    +
    +
    +
    {{c.c.class}}{{c.c.rating}} {{CArr[$index]}}
    {{fCrd(c.c.cost)}}
    +
    +
    +
    {{c.c.class}}{{c.c.rating}} {{c.c.name || hgMap[c.c.grp]}}
    {{fCrd(c.c.cost)}}
    +
    +
    +
    {{c.c.class}}{{c.c.rating}} {{c.c.name || igMap[c.c.grp]}}
    {{fCrd(c.c.cost)}}
    +
    +
    +
    +
    +
    Total
    +
    {{fCrd(ship.totalCost)}} CR
    +
    +
    +
    Insurance
    +
    {{fCrd(ship.totalCost * insurance.current.pct)}} CR
    +
    +
    +
    diff --git a/app/views/page-shipyard.html b/app/views/page-shipyard.html index b5c1bf89..e111809b 100644 --- a/app/views/page-shipyard.html +++ b/app/views/page-shipyard.html @@ -3,8 +3,8 @@

    -
    +
    - {{fCrd(s.properties.cost)}} CR + {{fCrd(s.properties.cost)}} \ No newline at end of file diff --git a/app/views/power.html b/app/views/power.html deleted file mode 100644 index 8776eabe..00000000 --- a/app/views/power.html +++ /dev/null @@ -1,37 +0,0 @@ - -
    Power Use
    - -
    -
    -
    Available
    -
    {{$r.fPwr(ship.powerAvailable)}} MW
    -
    -
    -
    Deployed
    -
    {{$r.fPwr(ship.powerDeployed)}} MW ({{$r.fPct(ship.powerDeployed/ship.powerAvailable)}})
    -
    -
    -
    Retracted
    -
    {{$r.fPwr(ship.powerRetracted)}} MW ({{$r.fPct(ship.powerRetracted/ship.powerAvailable)}})
    -
    -
    diff --git a/app/views/ship-range.html b/app/views/ship-range.html deleted file mode 100644 index 2b8215dd..00000000 --- a/app/views/ship-range.html +++ /dev/null @@ -1,15 +0,0 @@ -
    Jump Range
    - -
    -
    -
    Laden
    -
    {{$r.fRound(ship.ladenJumpRange)}} LY
    -
    -
    -
    Unladen
    -
    {{$r.fRound(ship.unladenJumpRange)}} LY
    -
    -
    diff --git a/data/components/internal/auto_field_maintenance_unit.json b/data/components/internal/auto_field_maintenance_unit.json index 6ad01aff..97b5723c 100644 --- a/data/components/internal/auto_field_maintenance_unit.json +++ b/data/components/internal/auto_field_maintenance_unit.json @@ -1,7 +1,7 @@ { "Auto Field-Maintenance Units": { "10": { - "group": "am", + "grp": "am", "class": 5, "rating": "E", "cost": 104976, @@ -10,7 +10,7 @@ "repair": 73.2 }, "11": { - "group": "am", + "grp": "am", "class": 6, "rating": "A", "cost": 15305501, @@ -19,7 +19,7 @@ "repair": 226.8 }, "12": { - "group": "am", + "grp": "am", "class": 6, "rating": "B", "cost": 5101834, @@ -28,7 +28,7 @@ "repair": 204.7 }, "13": { - "group": "am", + "grp": "am", "class": 6, "rating": "C", "cost": 1700611, @@ -37,7 +37,7 @@ "repair": 148 }, "14": { - "group": "am", + "grp": "am", "class": 6, "rating": "D", "cost": 566870, @@ -46,7 +46,7 @@ "repair": 107.2 }, "15": { - "group": "am", + "grp": "am", "class": 6, "rating": "E", "cost": 188957, @@ -55,7 +55,7 @@ "repair": 88.8 }, "16": { - "group": "am", + "grp": "am", "class": 7, "rating": "A", "cost": 27549901, @@ -64,7 +64,7 @@ "repair": 268.8 }, "17": { - "group": "am", + "grp": "am", "class": 7, "rating": "B", "cost": 9183300, @@ -73,7 +73,7 @@ "repair": 239.2 }, "18": { - "group": "am", + "grp": "am", "class": 7, "rating": "C", "cost": 3061100, @@ -82,7 +82,7 @@ "repair": 174 }, "19": { - "group": "am", + "grp": "am", "class": 7, "rating": "D", "cost": 1020367, @@ -91,7 +91,7 @@ "repair": 124.8 }, "08": { - "group": "am", + "grp": "am", "class": 1, "rating": "A", "cost": 810000, @@ -100,7 +100,7 @@ "repair": 30.8 }, "09": { - "group": "am", + "grp": "am", "class": 1, "rating": "B", "cost": 270000, @@ -109,7 +109,7 @@ "repair": 27.6 }, "0a": { - "group": "am", + "grp": "am", "class": 1, "rating": "C", "cost": 90000, @@ -118,7 +118,7 @@ "repair": 20 }, "0b": { - "group": "am", + "grp": "am", "class": 1, "rating": "D", "cost": 30000, @@ -127,7 +127,7 @@ "repair": 14.4 }, "0c": { - "group": "am", + "grp": "am", "class": 1, "rating": "E", "cost": 10000, @@ -136,7 +136,7 @@ "repair": 12 }, "0d": { - "group": "am", + "grp": "am", "class": 2, "rating": "A", "cost": 1458000, @@ -145,7 +145,7 @@ "repair": 70 }, "0e": { - "group": "am", + "grp": "am", "class": 2, "rating": "B", "cost": 486000, @@ -154,7 +154,7 @@ "repair": 64.4 }, "0f": { - "group": "am", + "grp": "am", "class": 2, "rating": "C", "cost": 162000, @@ -163,7 +163,7 @@ "repair": 46 }, "0g": { - "group": "am", + "grp": "am", "class": 2, "rating": "D", "cost": 54000, @@ -172,7 +172,7 @@ "repair": 33.6 }, "0h": { - "group": "am", + "grp": "am", "class": 2, "rating": "E", "cost": 18000, @@ -181,7 +181,7 @@ "repair": 27.6 }, "0i": { - "group": "am", + "grp": "am", "class": 3, "rating": "A", "cost": 2624400, @@ -190,7 +190,7 @@ "repair": 112 }, "0j": { - "group": "am", + "grp": "am", "class": 3, "rating": "B", "cost": 874800, @@ -199,7 +199,7 @@ "repair": 98.9 }, "0k": { - "group": "am", + "grp": "am", "class": 3, "rating": "C", "cost": 291600, @@ -208,7 +208,7 @@ "repair": 72 }, "0l": { - "group": "am", + "grp": "am", "class": 3, "rating": "D", "cost": 97200, @@ -217,7 +217,7 @@ "repair": 51.2 }, "0m": { - "group": "am", + "grp": "am", "class": 3, "rating": "E", "cost": 32400, @@ -226,7 +226,7 @@ "repair": 43.2 }, "0n": { - "group": "am", + "grp": "am", "class": 4, "rating": "A", "cost": 4723920, @@ -235,7 +235,7 @@ "repair": 151.2 }, "0o": { - "group": "am", + "grp": "am", "class": 4, "rating": "B", "cost": 1574640, @@ -244,7 +244,7 @@ "repair": 135.7 }, "0p": { - "group": "am", + "grp": "am", "class": 4, "rating": "C", "cost": 524880, @@ -253,7 +253,7 @@ "repair": 98 }, "0q": { - "group": "am", + "grp": "am", "class": 4, "rating": "D", "cost": 174960, @@ -262,7 +262,7 @@ "repair": 70.4 }, "0r": { - "group": "am", + "grp": "am", "class": 4, "rating": "E", "cost": 58320, @@ -271,7 +271,7 @@ "repair": 58.8 }, "0s": { - "group": "am", + "grp": "am", "class": 5, "rating": "A", "cost": 8503056, @@ -280,7 +280,7 @@ "repair": 187.6 }, "0t": { - "group": "am", + "grp": "am", "class": 5, "rating": "B", "cost": 2834352, @@ -289,7 +289,7 @@ "repair": 167.9 }, "0u": { - "group": "am", + "grp": "am", "class": 5, "rating": "C", "cost": 944784, @@ -298,7 +298,7 @@ "repair": 122 }, "0v": { - "group": "am", + "grp": "am", "class": 5, "rating": "D", "cost": 314928, @@ -307,7 +307,7 @@ "repair": 88 }, "1a": { - "group": "am", + "grp": "am", "class": 7, "rating": "E", "cost": 340122, @@ -316,7 +316,7 @@ "repair": 104.4 }, "1b": { - "group": "am", + "grp": "am", "class": 8, "rating": "A", "cost": 49589823, @@ -325,7 +325,7 @@ "repair": 308 }, "1c": { - "group": "am", + "grp": "am", "class": 8, "rating": "B", "cost": 16529941, @@ -334,7 +334,7 @@ "repair": 276 }, "1d": { - "group": "am", + "grp": "am", "class": 8, "rating": "C", "cost": 5509980, @@ -343,7 +343,7 @@ "repair": 200 }, "1e": { - "group": "am", + "grp": "am", "class": 8, "rating": "D", "cost": 1836660, @@ -352,7 +352,7 @@ "repair": 144 }, "1f": { - "group": "am", + "grp": "am", "class": 8, "rating": "E", "cost": 612220, diff --git a/data/components/internal/cargo_rack.json b/data/components/internal/cargo_rack.json index 9f095b9b..80933241 100644 --- a/data/components/internal/cargo_rack.json +++ b/data/components/internal/cargo_rack.json @@ -1,7 +1,7 @@ { "Cargo Racks": { "00": { - "group": "cr", + "grp": "cr", "name": "Cargo Rack (Capacity: 2)", "class": 1, "rating": "E", @@ -9,7 +9,7 @@ "capacity": 2 }, "01": { - "group": "cr", + "grp": "cr", "name": "Cargo Rack (Capacity: 4)", "class": 2, "rating": "E", @@ -17,7 +17,7 @@ "capacity": 4 }, "02": { - "group": "cr", + "grp": "cr", "name": "Cargo Rack (Capacity: 8)", "class": 3, "rating": "E", @@ -25,7 +25,7 @@ "capacity": 8 }, "03": { - "group": "cr", + "grp": "cr", "name": "Cargo Rack (Capacity: 16)", "class": 4, "rating": "E", @@ -33,7 +33,7 @@ "capacity": 16 }, "04": { - "group": "cr", + "grp": "cr", "name": "Cargo Rack (Capacity: 32)", "class": 5, "rating": "E", @@ -41,7 +41,7 @@ "capacity": 32 }, "05": { - "group": "cr", + "grp": "cr", "name": "Cargo Rack (Capacity: 64)", "class": 6, "rating": "E", @@ -49,7 +49,7 @@ "capacity": 64 }, "06": { - "group": "cr", + "grp": "cr", "name": "Cargo Rack (Capacity: 128)", "class": 7, "rating": "E", @@ -57,7 +57,7 @@ "capacity": 128 }, "07": { - "group": "cr", + "grp": "cr", "name": "Cargo Rack (Capacity: 256)", "class": 8, "rating": "E", diff --git a/data/components/internal/docking_computer.json b/data/components/internal/docking_computer.json index 6e892562..73f2e021 100644 --- a/data/components/internal/docking_computer.json +++ b/data/components/internal/docking_computer.json @@ -1,7 +1,7 @@ { "Docking Computers": { "24": { - "group": "dc", + "grp": "dc", "name": "Standard Docking Computer", "class": 1, "rating": "E", diff --git a/data/components/internal/frame_shift_drive_interdictor.json b/data/components/internal/frame_shift_drive_interdictor.json index d68e8a00..09108f08 100644 --- a/data/components/internal/frame_shift_drive_interdictor.json +++ b/data/components/internal/frame_shift_drive_interdictor.json @@ -1,7 +1,7 @@ { "FSD Interdictors": { "66": { - "group": "fi", + "grp": "fi", "class": 1, "rating": "A", "cost": 972000, @@ -10,7 +10,7 @@ "rangeRating": "C" }, "67": { - "group": "fi", + "grp": "fi", "class": 1, "rating": "B", "cost": 324000, @@ -19,7 +19,7 @@ "rangeRating": "D" }, "68": { - "group": "fi", + "grp": "fi", "class": 1, "rating": "C", "cost": 108000, @@ -28,7 +28,7 @@ "rangeRating": "D" }, "69": { - "group": "fi", + "grp": "fi", "class": 1, "rating": "D", "cost": 36000, @@ -37,7 +37,7 @@ "rangeRating": "D" }, "6a": { - "group": "fi", + "grp": "fi", "class": 1, "rating": "E", "cost": 12000, @@ -46,7 +46,7 @@ "rangeRating": "E" }, "6b": { - "group": "fi", + "grp": "fi", "class": 2, "rating": "A", "cost": 2721600, @@ -55,7 +55,7 @@ "rangeRating": "B" }, "6c": { - "group": "fi", + "grp": "fi", "class": 2, "rating": "B", "cost": 907200, @@ -64,7 +64,7 @@ "rangeRating": "C" }, "6d": { - "group": "fi", + "grp": "fi", "class": 2, "rating": "C", "cost": 302400, @@ -73,7 +73,7 @@ "rangeRating": "C" }, "6e": { - "group": "fi", + "grp": "fi", "class": 2, "rating": "D", "cost": 100800, @@ -82,7 +82,7 @@ "rangeRating": "C" }, "6f": { - "group": "fi", + "grp": "fi", "class": 2, "rating": "E", "cost": 33600, @@ -91,7 +91,7 @@ "rangeRating": "D" }, "6g": { - "group": "fi", + "grp": "fi", "class": 3, "rating": "A", "cost": 7620480, @@ -100,7 +100,7 @@ "rangeRating": "A" }, "6h": { - "group": "fi", + "grp": "fi", "class": 3, "rating": "B", "cost": 2540160, @@ -109,7 +109,7 @@ "rangeRating": "B" }, "6i": { - "group": "fi", + "grp": "fi", "class": 3, "rating": "C", "cost": 846720, @@ -118,7 +118,7 @@ "rangeRating": "B" }, "6j": { - "group": "fi", + "grp": "fi", "class": 3, "rating": "D", "cost": 282240, @@ -127,7 +127,7 @@ "rangeRating": "B" }, "6k": { - "group": "fi", + "grp": "fi", "class": 3, "rating": "E", "cost": 94080, @@ -136,7 +136,7 @@ "rangeRating": "C" }, "6l": { - "group": "fi", + "grp": "fi", "class": 4, "rating": "A", "cost": 21337344, @@ -145,7 +145,7 @@ "rangeRating": "A" }, "6m": { - "group": "fi", + "grp": "fi", "class": 4, "rating": "B", "cost": 7112448, @@ -154,7 +154,7 @@ "rangeRating": "A" }, "6n": { - "group": "fi", + "grp": "fi", "class": 4, "rating": "C", "cost": 2370816, @@ -163,7 +163,7 @@ "rangeRating": "A" }, "6o": { - "group": "fi", + "grp": "fi", "class": 4, "rating": "D", "cost": 790272, @@ -172,7 +172,7 @@ "rangeRating": "A" }, "6p": { - "group": "fi", + "grp": "fi", "class": 4, "rating": "E", "cost": 263424, diff --git a/data/components/internal/fuel_scoops.json b/data/components/internal/fuel_scoops.json index 71493bce..8c172582 100644 --- a/data/components/internal/fuel_scoops.json +++ b/data/components/internal/fuel_scoops.json @@ -1,7 +1,7 @@ { "Fuel Scoops": { "30": { - "group": "fs", + "grp": "fs", "class": 3, "rating": "D", "cost": 14109, @@ -9,7 +9,7 @@ "rate": 100 }, "31": { - "group": "fs", + "grp": "fs", "class": 3, "rating": "E", "cost": 3386, @@ -17,7 +17,7 @@ "rate": 75 }, "32": { - "group": "fs", + "grp": "fs", "class": 4, "rating": "A", "cost": 2862364, @@ -25,7 +25,7 @@ "rate": 342 }, "33": { - "group": "fs", + "grp": "fs", "class": 4, "rating": "B", "cost": 715591, @@ -33,7 +33,7 @@ "rate": 294 }, "34": { - "group": "fs", + "grp": "fs", "class": 4, "rating": "C", "cost": 178898, @@ -41,7 +41,7 @@ "rate": 245 }, "35": { - "group": "fs", + "grp": "fs", "class": 4, "rating": "D", "cost": 44724, @@ -49,7 +49,7 @@ "rate": 196 }, "36": { - "group": "fs", + "grp": "fs", "class": 4, "rating": "E", "cost": 10734, @@ -57,7 +57,7 @@ "rate": 147 }, "37": { - "group": "fs", + "grp": "fs", "class": 5, "rating": "A", "cost": 9073694, @@ -65,7 +65,7 @@ "rate": 577 }, "38": { - "group": "fs", + "grp": "fs", "class": 5, "rating": "B", "cost": 2268424, @@ -73,7 +73,7 @@ "rate": 494 }, "39": { - "group": "fs", + "grp": "fs", "class": 5, "rating": "C", "cost": 567106, @@ -81,7 +81,7 @@ "rate": 412 }, "2j": { - "group": "fs", + "grp": "fs", "class": 1, "rating": "A", "cost": 82270, @@ -89,7 +89,7 @@ "rate": 42 }, "2k": { - "group": "fs", + "grp": "fs", "class": 1, "rating": "B", "cost": 20568, @@ -97,7 +97,7 @@ "rate": 36 }, "2l": { - "group": "fs", + "grp": "fs", "class": 1, "rating": "C", "cost": 5142, @@ -105,7 +105,7 @@ "rate": 30 }, "2m": { - "group": "fs", + "grp": "fs", "class": 1, "rating": "D", "cost": 1285, @@ -113,7 +113,7 @@ "rate": 24 }, "2n": { - "group": "fs", + "grp": "fs", "class": 1, "rating": "E", "cost": 309, @@ -121,7 +121,7 @@ "rate": 18 }, "2o": { - "group": "fs", + "grp": "fs", "class": 2, "rating": "A", "cost": 284844, @@ -129,7 +129,7 @@ "rate": 75 }, "2p": { - "group": "fs", + "grp": "fs", "class": 2, "rating": "B", "cost": 71211, @@ -137,7 +137,7 @@ "rate": 65 }, "2q": { - "group": "fs", + "grp": "fs", "class": 2, "rating": "C", "cost": 17803, @@ -145,7 +145,7 @@ "rate": 54 }, "2r": { - "group": "fs", + "grp": "fs", "class": 2, "rating": "D", "cost": 4451, @@ -153,7 +153,7 @@ "rate": 43 }, "2s": { - "group": "fs", + "grp": "fs", "class": 2, "rating": "E", "cost": 1068, @@ -161,7 +161,7 @@ "rate": 32 }, "2t": { - "group": "fs", + "grp": "fs", "class": 3, "rating": "A", "cost": 902954, @@ -169,7 +169,7 @@ "rate": 176 }, "2u": { - "group": "fs", + "grp": "fs", "class": 3, "rating": "B", "cost": 225738, @@ -177,7 +177,7 @@ "rate": 151 }, "2v": { - "group": "fs", + "grp": "fs", "class": 3, "rating": "C", "cost": 56435, @@ -185,7 +185,7 @@ "rate": 126 }, "3a": { - "group": "fs", + "grp": "fs", "class": 5, "rating": "D", "cost": 141776, @@ -193,7 +193,7 @@ "rate": 330 }, "3b": { - "group": "fs", + "grp": "fs", "class": 5, "rating": "E", "cost": 34026, @@ -201,7 +201,7 @@ "rate": 247 }, "3c": { - "group": "fs", + "grp": "fs", "class": 6, "rating": "A", "cost": 28763610, @@ -209,7 +209,7 @@ "rate": 878 }, "3d": { - "group": "fs", + "grp": "fs", "class": 6, "rating": "B", "cost": 7190903, @@ -217,7 +217,7 @@ "rate": 752 }, "3e": { - "group": "fs", + "grp": "fs", "class": 6, "rating": "C", "cost": 1797726, @@ -225,7 +225,7 @@ "rate": 627 }, "3f": { - "group": "fs", + "grp": "fs", "class": 6, "rating": "D", "cost": 449431, @@ -233,7 +233,7 @@ "rate": 502 }, "3g": { - "group": "fs", + "grp": "fs", "class": 6, "rating": "E", "cost": 107864, @@ -241,7 +241,7 @@ "rate": 376 }, "3h": { - "group": "fs", + "grp": "fs", "class": 7, "rating": "A", "cost": 91180644, @@ -249,7 +249,7 @@ "rate": 1245 }, "3i": { - "group": "fs", + "grp": "fs", "class": 7, "rating": "B", "cost": 22795161, @@ -257,7 +257,7 @@ "rate": 1068 }, "3j": { - "group": "fs", + "grp": "fs", "class": 7, "rating": "C", "cost": 5698790, @@ -265,7 +265,7 @@ "rate": 890 }, "3k": { - "group": "fs", + "grp": "fs", "class": 7, "rating": "D", "cost": 1424698, @@ -273,7 +273,7 @@ "rate": 712 }, "3l": { - "group": "fs", + "grp": "fs", "class": 7, "rating": "E", "cost": 341927, @@ -281,7 +281,7 @@ "rate": 534 }, "3m": { - "group": "fs", + "grp": "fs", "class": 8, "rating": "A", "cost": 289042541, @@ -289,7 +289,7 @@ "rate": 1680 }, "3n": { - "group": "fs", + "grp": "fs", "class": 8, "rating": "B", "cost": 72260660, @@ -297,7 +297,7 @@ "rate": 1440 }, "3o": { - "group": "fs", + "grp": "fs", "class": 8, "rating": "C", "cost": 18065165, @@ -305,7 +305,7 @@ "rate": 1200 }, "3p": { - "group": "fs", + "grp": "fs", "class": 8, "rating": "D", "cost": 4516291, @@ -313,7 +313,7 @@ "rate": 960 }, "3q": { - "group": "fs", + "grp": "fs", "class": 8, "rating": "E", "cost": 1083910, diff --git a/data/components/internal/hatch_breaker_limpet_controller.json b/data/components/internal/hatch_breaker_limpet_controller.json index e2297758..1966d7c8 100644 --- a/data/components/internal/hatch_breaker_limpet_controller.json +++ b/data/components/internal/hatch_breaker_limpet_controller.json @@ -1,7 +1,7 @@ { "Hatch Breaker Limpet Controllers": { "70": { - "group": "hb", + "grp": "hb", "class": 3, "rating": "B", "cost": 43200, @@ -11,7 +11,7 @@ "time": 21 }, "71": { - "group": "hb", + "grp": "hb", "class": 3, "rating": "C", "cost": 21600, @@ -21,7 +21,7 @@ "time": 26 }, "72": { - "group": "hb", + "grp": "hb", "class": 3, "rating": "D", "cost": 10800, @@ -31,7 +31,7 @@ "time": 31 }, "73": { - "group": "hb", + "grp": "hb", "class": 3, "rating": "E", "cost": 5400, @@ -41,7 +41,7 @@ "time": 36 }, "74": { - "group": "hb", + "grp": "hb", "class": 5, "rating": "A", "cost": 777600, @@ -51,7 +51,7 @@ "time": 13 }, "75": { - "group": "hb", + "grp": "hb", "class": 5, "rating": "B", "cost": 388800, @@ -61,7 +61,7 @@ "time": 18 }, "76": { - "group": "hb", + "grp": "hb", "class": 5, "rating": "C", "cost": 194400, @@ -71,7 +71,7 @@ "time": 22 }, "77": { - "group": "hb", + "grp": "hb", "class": 5, "rating": "D", "cost": 97200, @@ -81,7 +81,7 @@ "time": 26 }, "78": { - "group": "hb", + "grp": "hb", "class": 5, "rating": "E", "cost": 48600, @@ -91,7 +91,7 @@ "time": 31 }, "79": { - "group": "hb", + "grp": "hb", "class": 7, "rating": "A", "cost": 6998400, @@ -101,7 +101,7 @@ "time": 11 }, "6q": { - "group": "hb", + "grp": "hb", "class": 1, "rating": "A", "cost": 9600, @@ -111,7 +111,7 @@ "time": 18 }, "6r": { - "group": "hb", + "grp": "hb", "class": 1, "rating": "B", "cost": 4800, @@ -121,7 +121,7 @@ "time": 24 }, "6s": { - "group": "hb", + "grp": "hb", "class": 1, "rating": "C", "cost": 2400, @@ -131,7 +131,7 @@ "time": 30 }, "6t": { - "group": "hb", + "grp": "hb", "class": 1, "rating": "D", "cost": 1200, @@ -141,7 +141,7 @@ "time": 36 }, "6u": { - "group": "hb", + "grp": "hb", "class": 1, "rating": "E", "cost": 600, @@ -151,7 +151,7 @@ "time": 42 }, "6v": { - "group": "hb", + "grp": "hb", "class": 3, "rating": "A", "cost": 86400, @@ -161,7 +161,7 @@ "time": 16 }, "7a": { - "group": "hb", + "grp": "hb", "class": 7, "rating": "B", "cost": 3499200, @@ -171,7 +171,7 @@ "time": 14 }, "7b": { - "group": "hb", + "grp": "hb", "class": 7, "rating": "C", "cost": 1749600, @@ -181,7 +181,7 @@ "time": 18 }, "7c": { - "group": "hb", + "grp": "hb", "class": 7, "rating": "D", "cost": 874800, @@ -191,7 +191,7 @@ "time": 22 }, "7d": { - "group": "hb", + "grp": "hb", "class": 7, "rating": "E", "cost": 437400, diff --git a/data/components/internal/hull_reinforcement_package.json b/data/components/internal/hull_reinforcement_package.json index df962e56..0dce8c75 100644 --- a/data/components/internal/hull_reinforcement_package.json +++ b/data/components/internal/hull_reinforcement_package.json @@ -1,7 +1,7 @@ { "Hull Reinforcement Packages": { "25": { - "group": "hr", + "grp": "hr", "class": 1, "rating": "D", "cost": 15000, @@ -9,7 +9,7 @@ "armouradd": 15 }, "26": { - "group": "hr", + "grp": "hr", "class": 1, "rating": "E", "cost": 5000, @@ -17,7 +17,7 @@ "armouradd": 10 }, "27": { - "group": "hr", + "grp": "hr", "class": 2, "rating": "D", "cost": 36000, @@ -25,7 +25,7 @@ "armouradd": 30 }, "28": { - "group": "hr", + "grp": "hr", "class": 2, "rating": "E", "cost": 12000, @@ -33,7 +33,7 @@ "armouradd": 20 }, "29": { - "group": "hr", + "grp": "hr", "class": 3, "rating": "D", "cost": 84000, @@ -41,7 +41,7 @@ "armouradd": 60 }, "2a": { - "group": "hr", + "grp": "hr", "class": 3, "rating": "E", "cost": 28000, @@ -49,7 +49,7 @@ "armouradd": 40 }, "2b": { - "group": "hr", + "grp": "hr", "class": 4, "rating": "D", "cost": 195000, @@ -57,7 +57,7 @@ "armouradd": 120 }, "2c": { - "group": "hr", + "grp": "hr", "class": 4, "rating": "E", "cost": 65000, @@ -65,7 +65,7 @@ "armouradd": 80 }, "2d": { - "group": "hr", + "grp": "hr", "class": 5, "rating": "D", "cost": 450000, @@ -73,7 +73,7 @@ "armouradd": 240 }, "2e": { - "group": "hr", + "grp": "hr", "class": 5, "rating": "E", "cost": 150000, diff --git a/data/components/internal/refinery.json b/data/components/internal/refinery.json index 346e047c..7f754b91 100644 --- a/data/components/internal/refinery.json +++ b/data/components/internal/refinery.json @@ -1,7 +1,7 @@ { "Refineries": { "20": { - "group": "rf", + "grp": "rf", "class": 4, "rating": "B", "cost": 1500282, @@ -9,7 +9,7 @@ "bins": 9 }, "21": { - "group": "rf", + "grp": "rf", "class": 4, "rating": "C", "cost": 500094, @@ -17,7 +17,7 @@ "bins": 7 }, "22": { - "group": "rf", + "grp": "rf", "class": 4, "rating": "D", "cost": 166698, @@ -25,7 +25,7 @@ "bins": 5 }, "23": { - "group": "rf", + "grp": "rf", "class": 4, "rating": "E", "cost": 55566, @@ -33,7 +33,7 @@ "bins": 4 }, "1g": { - "group": "rf", + "grp": "rf", "class": 1, "rating": "A", "cost": 486000, @@ -41,7 +41,7 @@ "bins": 4 }, "1h": { - "group": "rf", + "grp": "rf", "class": 1, "rating": "B", "cost": 162000, @@ -49,7 +49,7 @@ "bins": 3 }, "1i": { - "group": "rf", + "grp": "rf", "class": 1, "rating": "C", "cost": 54000, @@ -57,7 +57,7 @@ "bins": 2 }, "1j": { - "group": "rf", + "grp": "rf", "class": 1, "rating": "D", "cost": 18000, @@ -65,7 +65,7 @@ "bins": 1 }, "1k": { - "group": "rf", + "grp": "rf", "class": 1, "rating": "E", "cost": 6000, @@ -73,7 +73,7 @@ "bins": 1 }, "1l": { - "group": "rf", + "grp": "rf", "class": 2, "rating": "A", "cost": 1020600, @@ -81,7 +81,7 @@ "bins": 6 }, "1m": { - "group": "rf", + "grp": "rf", "class": 2, "rating": "B", "cost": 340200, @@ -89,7 +89,7 @@ "bins": 5 }, "1n": { - "group": "rf", + "grp": "rf", "class": 2, "rating": "C", "cost": 113400, @@ -97,7 +97,7 @@ "bins": 4 }, "1o": { - "group": "rf", + "grp": "rf", "class": 2, "rating": "D", "cost": 37800, @@ -105,7 +105,7 @@ "bins": 3 }, "1p": { - "group": "rf", + "grp": "rf", "class": 2, "rating": "E", "cost": 12600, @@ -113,7 +113,7 @@ "bins": 2 }, "1q": { - "group": "rf", + "grp": "rf", "class": 3, "rating": "A", "cost": 2143260, @@ -121,7 +121,7 @@ "bins": 8 }, "1r": { - "group": "rf", + "grp": "rf", "class": 3, "rating": "B", "cost": 714420, @@ -129,7 +129,7 @@ "bins": 7 }, "1s": { - "group": "rf", + "grp": "rf", "class": 3, "rating": "C", "cost": 238140, @@ -137,7 +137,7 @@ "bins": 6 }, "1t": { - "group": "rf", + "grp": "rf", "class": 3, "rating": "D", "cost": 79380, @@ -145,7 +145,7 @@ "bins": 4 }, "1u": { - "group": "rf", + "grp": "rf", "class": 3, "rating": "E", "cost": 26460, @@ -153,7 +153,7 @@ "bins": 3 }, "1v": { - "group": "rf", + "grp": "rf", "class": 4, "rating": "A", "cost": 4500846, diff --git a/data/components/internal/scanners.json b/data/components/internal/scanners.json index 7dc44615..2d742cbb 100644 --- a/data/components/internal/scanners.json +++ b/data/components/internal/scanners.json @@ -1,7 +1,7 @@ { "Scanners": { "2f": { - "group": "sc", + "grp": "sc", "name": "Adv. Discovery Scanner", "class": 1, "rating": "C", @@ -11,7 +11,7 @@ "range": null }, "2g": { - "group": "sc", + "grp": "sc", "name": "Inter. Discovery Scanner", "class": 1, "rating": "D", @@ -21,7 +21,7 @@ "range": 1000 }, "2h": { - "group": "sc", + "grp": "sc", "name": "Basic Discovery Scanner", "class": 1, "rating": "E", @@ -31,7 +31,7 @@ "range": 500 }, "2i": { - "group": "sc", + "grp": "sc", "name": "Detailed Surface Scanner", "class": 1, "rating": "C", diff --git a/data/components/internal/shield_cell_bank.json b/data/components/internal/shield_cell_bank.json index 3fd2ef9d..57bb0c95 100644 --- a/data/components/internal/shield_cell_bank.json +++ b/data/components/internal/shield_cell_bank.json @@ -1,7 +1,7 @@ { "Shield Cell Banks": { "50": { - "group": "sb", + "grp": "sb", "class": 1, "rating": "C", "cost": 3231, @@ -11,7 +11,7 @@ "rate": "D" }, "51": { - "group": "sb", + "grp": "sb", "class": 1, "rating": "D", "cost": 1293, @@ -21,7 +21,7 @@ "rate": "E" }, "52": { - "group": "sb", + "grp": "sb", "class": 1, "rating": "E", "cost": 517, @@ -31,7 +31,7 @@ "rate": "E" }, "53": { - "group": "sb", + "grp": "sb", "class": 2, "rating": "A", "cost": 56547, @@ -41,7 +41,7 @@ "rate": "C" }, "54": { - "group": "sb", + "grp": "sb", "class": 2, "rating": "B", "cost": 22619, @@ -51,7 +51,7 @@ "rate": "D" }, "55": { - "group": "sb", + "grp": "sb", "class": 2, "rating": "C", "cost": 9048, @@ -61,7 +61,7 @@ "rate": "D" }, "56": { - "group": "sb", + "grp": "sb", "class": 2, "rating": "D", "cost": 3619, @@ -71,7 +71,7 @@ "rate": "D" }, "57": { - "group": "sb", + "grp": "sb", "class": 2, "rating": "E", "cost": 1448, @@ -81,7 +81,7 @@ "rate": "E" }, "58": { - "group": "sb", + "grp": "sb", "class": 3, "rating": "A", "cost": 158331, @@ -91,7 +91,7 @@ "rate": "C" }, "59": { - "group": "sb", + "grp": "sb", "class": 3, "rating": "B", "cost": 63333, @@ -101,7 +101,7 @@ "rate": "C" }, "60": { - "group": "sb", + "grp": "sb", "class": 7, "rating": "E", "cost": 249137, @@ -111,7 +111,7 @@ "rate": "D" }, "61": { - "group": "sb", + "grp": "sb", "class": 8, "rating": "A", "cost": 27249391, @@ -121,7 +121,7 @@ "rate": "A" }, "62": { - "group": "sb", + "grp": "sb", "class": 8, "rating": "B", "cost": 10899756, @@ -131,7 +131,7 @@ "rate": "A" }, "63": { - "group": "sb", + "grp": "sb", "class": 8, "rating": "C", "cost": 4359903, @@ -141,7 +141,7 @@ "rate": "B" }, "64": { - "group": "sb", + "grp": "sb", "class": 8, "rating": "D", "cost": 1743961, @@ -151,7 +151,7 @@ "rate": "C" }, "65": { - "group": "sb", + "grp": "sb", "class": 8, "rating": "E", "cost": 697584, @@ -161,7 +161,7 @@ "rate": "C" }, "4u": { - "group": "sb", + "grp": "sb", "class": 1, "rating": "A", "cost": 20195, @@ -171,7 +171,7 @@ "rate": "D" }, "4v": { - "group": "sb", + "grp": "sb", "class": 1, "rating": "B", "cost": 8078, @@ -181,7 +181,7 @@ "rate": "D" }, "5a": { - "group": "sb", + "grp": "sb", "class": 3, "rating": "C", "cost": 25333, @@ -191,7 +191,7 @@ "rate": "D" }, "5b": { - "group": "sb", + "grp": "sb", "class": 3, "rating": "D", "cost": 10133, @@ -201,7 +201,7 @@ "rate": "D" }, "5c": { - "group": "sb", + "grp": "sb", "class": 3, "rating": "E", "cost": 4053, @@ -211,7 +211,7 @@ "rate": "D" }, "5d": { - "group": "sb", + "grp": "sb", "class": 4, "rating": "A", "cost": 443328, @@ -221,7 +221,7 @@ "rate": "B" }, "5e": { - "group": "sb", + "grp": "sb", "class": 4, "rating": "B", "cost": 177331, @@ -231,7 +231,7 @@ "rate": "C" }, "5f": { - "group": "sb", + "grp": "sb", "class": 4, "rating": "C", "cost": 70932, @@ -241,7 +241,7 @@ "rate": "C" }, "5g": { - "group": "sb", + "grp": "sb", "class": 4, "rating": "D", "cost": 28373, @@ -251,7 +251,7 @@ "rate": "D" }, "5h": { - "group": "sb", + "grp": "sb", "class": 4, "rating": "E", "cost": 11349, @@ -261,7 +261,7 @@ "rate": "D" }, "5i": { - "group": "sb", + "grp": "sb", "class": 5, "rating": "A", "cost": 1241317, @@ -271,7 +271,7 @@ "rate": "B" }, "5j": { - "group": "sb", + "grp": "sb", "class": 5, "rating": "B", "cost": 496527, @@ -281,7 +281,7 @@ "rate": "B" }, "5k": { - "group": "sb", + "grp": "sb", "class": 5, "rating": "C", "cost": 198611, @@ -291,7 +291,7 @@ "rate": "C" }, "5l": { - "group": "sb", + "grp": "sb", "class": 5, "rating": "D", "cost": 79444, @@ -301,7 +301,7 @@ "rate": "C" }, "5m": { - "group": "sb", + "grp": "sb", "class": 5, "rating": "E", "cost": 31778, @@ -311,7 +311,7 @@ "rate": "D" }, "5n": { - "group": "sb", + "grp": "sb", "class": 6, "rating": "A", "cost": 3475688, @@ -321,7 +321,7 @@ "rate": "A" }, "5o": { - "group": "sb", + "grp": "sb", "class": 6, "rating": "B", "cost": 1390275, @@ -331,7 +331,7 @@ "rate": "B" }, "5p": { - "group": "sb", + "grp": "sb", "class": 6, "rating": "C", "cost": 556110, @@ -341,7 +341,7 @@ "rate": "C" }, "5q": { - "group": "sb", + "grp": "sb", "class": 6, "rating": "D", "cost": 222444, @@ -351,7 +351,7 @@ "rate": "C" }, "5r": { - "group": "sb", + "grp": "sb", "class": 6, "rating": "E", "cost": 88978, @@ -361,7 +361,7 @@ "rate": "D" }, "5s": { - "group": "sb", + "grp": "sb", "class": 7, "rating": "A", "cost": 9731925, @@ -371,7 +371,7 @@ "rate": "A" }, "5t": { - "group": "sb", + "grp": "sb", "class": 7, "rating": "B", "cost": 3892770, @@ -381,7 +381,7 @@ "rate": "B" }, "5u": { - "group": "sb", + "grp": "sb", "class": 7, "rating": "C", "cost": 1557108, @@ -391,7 +391,7 @@ "rate": "B" }, "5v": { - "group": "sb", + "grp": "sb", "class": 7, "rating": "D", "cost": 622843, diff --git a/data/components/internal/shield_generator.json b/data/components/internal/shield_generator.json index 76325d8c..ef164390 100644 --- a/data/components/internal/shield_generator.json +++ b/data/components/internal/shield_generator.json @@ -1,147 +1,7 @@ { "Shield Generators": { - "40": { - "group": "sg", - "class": 3, - "rating": "A", - "cost": 507912, - "mass": 5, - "power": 2.52, - "minmass": 83, - "optmass": 165, - "maxmass": 413, - "minmul": 1.7, - "optmul": 1.2, - "maxmul": 0.7 - }, - "41": { - "group": "sg", - "class": 3, - "rating": "B", - "cost": 169304, - "mass": 8, - "power": 2.16, - "minmass": 83, - "optmass": 165, - "maxmass": 413, - "minmul": 1.6, - "optmul": 1.1, - "maxmul": 0.6 - }, - "42": { - "group": "sg", - "class": 3, - "rating": "C", - "cost": 56435, - "mass": 5, - "power": 1.8, - "minmass": 83, - "optmass": 165, - "maxmass": 413, - "minmul": 1.5, - "optmul": 1, - "maxmul": 0.5 - }, - "43": { - "group": "sg", - "class": 3, - "rating": "D", - "cost": 18812, - "mass": 2, - "power": 1.44, - "minmass": 83, - "optmass": 165, - "maxmass": 413, - "minmul": 1.4, - "optmul": 0.9, - "maxmul": 0.4 - }, - "44": { - "group": "sg", - "class": 3, - "rating": "E", - "cost": 6271, - "mass": 5, - "power": 1.08, - "minmass": 83, - "optmass": 165, - "maxmass": 413, - "minmul": 1.3, - "optmul": 0.8, - "maxmul": 0.3 - }, - "45": { - "group": "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 - }, - "46": { - "group": "sg", - "class": 4, - "rating": "B", - "cost": 536693, - "mass": 16, - "power": 2.64, - "minmass": 143, - "optmass": 285, - "maxmass": 713, - "minmul": 1.6, - "optmul": 1.1, - "maxmul": 0.6 - }, - "47": { - "group": "sg", - "class": 4, - "rating": "C", - "cost": 178898, - "mass": 10, - "power": 2.2, - "minmass": 143, - "optmass": 285, - "maxmass": 713, - "minmul": 1.5, - "optmul": 1, - "maxmul": 0.5 - }, - "48": { - "group": "sg", - "class": 4, - "rating": "D", - "cost": 59633, - "mass": 4, - "power": 1.76, - "minmass": 143, - "optmass": 285, - "maxmass": 713, - "minmul": 1.4, - "optmul": 0.9, - "maxmul": 0.4 - }, - "49": { - "group": "sg", - "class": 4, - "rating": "E", - "cost": 19878, - "mass": 10, - "power": 1.32, - "minmass": 143, - "optmass": 285, - "maxmass": 713, - "minmul": 1.3, - "optmul": 0.8, - "maxmul": 0.3 - }, "3r": { - "group": "sg", + "grp": "sg", "class": 2, "rating": "A", "cost": 160224, @@ -155,7 +15,7 @@ "maxmul": 0.7 }, "3s": { - "group": "sg", + "grp": "sg", "class": 2, "rating": "B", "cost": 53408, @@ -169,7 +29,7 @@ "maxmul": 0.6 }, "3t": { - "group": "sg", + "grp": "sg", "class": 2, "rating": "C", "cost": 17803, @@ -183,7 +43,7 @@ "maxmul": 0.5 }, "3u": { - "group": "sg", + "grp": "sg", "class": 2, "rating": "D", "cost": 5934, @@ -197,7 +57,7 @@ "maxmul": 0.4 }, "3v": { - "group": "sg", + "grp": "sg", "class": 2, "rating": "E", "cost": 1978, @@ -210,8 +70,148 @@ "optmul": 0.8, "maxmul": 0.3 }, + "40": { + "grp": "sg", + "class": 3, + "rating": "A", + "cost": 507912, + "mass": 5, + "power": 2.52, + "minmass": 83, + "optmass": 165, + "maxmass": 413, + "minmul": 1.7, + "optmul": 1.2, + "maxmul": 0.7 + }, + "41": { + "grp": "sg", + "class": 3, + "rating": "B", + "cost": 169304, + "mass": 8, + "power": 2.16, + "minmass": 83, + "optmass": 165, + "maxmass": 413, + "minmul": 1.6, + "optmul": 1.1, + "maxmul": 0.6 + }, + "42": { + "grp": "sg", + "class": 3, + "rating": "C", + "cost": 56435, + "mass": 5, + "power": 1.8, + "minmass": 83, + "optmass": 165, + "maxmass": 413, + "minmul": 1.5, + "optmul": 1, + "maxmul": 0.5 + }, + "43": { + "grp": "sg", + "class": 3, + "rating": "D", + "cost": 18812, + "mass": 2, + "power": 1.44, + "minmass": 83, + "optmass": 165, + "maxmass": 413, + "minmul": 1.4, + "optmul": 0.9, + "maxmul": 0.4 + }, + "44": { + "grp": "sg", + "class": 3, + "rating": "E", + "cost": 6271, + "mass": 5, + "power": 1.08, + "minmass": 83, + "optmass": 165, + "maxmass": 413, + "minmul": 1.3, + "optmul": 0.8, + "maxmul": 0.3 + }, + "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 + }, + "46": { + "grp": "sg", + "class": 4, + "rating": "B", + "cost": 536693, + "mass": 16, + "power": 2.64, + "minmass": 143, + "optmass": 285, + "maxmass": 713, + "minmul": 1.6, + "optmul": 1.1, + "maxmul": 0.6 + }, + "47": { + "grp": "sg", + "class": 4, + "rating": "C", + "cost": 178898, + "mass": 10, + "power": 2.2, + "minmass": 143, + "optmass": 285, + "maxmass": 713, + "minmul": 1.5, + "optmul": 1, + "maxmul": 0.5 + }, + "48": { + "grp": "sg", + "class": 4, + "rating": "D", + "cost": 59633, + "mass": 4, + "power": 1.76, + "minmass": 143, + "optmass": 285, + "maxmass": 713, + "minmul": 1.4, + "optmul": 0.9, + "maxmul": 0.4 + }, + "49": { + "grp": "sg", + "class": 4, + "rating": "E", + "cost": 19878, + "mass": 10, + "power": 1.32, + "minmass": 143, + "optmass": 285, + "maxmass": 713, + "minmul": 1.3, + "optmul": 0.8, + "maxmul": 0.3 + }, "4a": { - "group": "sg", + "grp": "sg", "class": 5, "rating": "A", "cost": 5103953, @@ -225,7 +225,7 @@ "maxmul": 0.7 }, "4b": { - "group": "sg", + "grp": "sg", "class": 5, "rating": "B", "cost": 1701318, @@ -239,7 +239,7 @@ "maxmul": 0.6 }, "4c": { - "group": "sg", + "grp": "sg", "class": 5, "rating": "C", "cost": 567106, @@ -253,7 +253,7 @@ "maxmul": 0.5 }, "4d": { - "group": "sg", + "grp": "sg", "class": 5, "rating": "D", "cost": 189035, @@ -267,7 +267,7 @@ "maxmul": 0.4 }, "4e": { - "group": "sg", + "grp": "sg", "class": 5, "rating": "E", "cost": 63012, @@ -281,7 +281,7 @@ "maxmul": 0.3 }, "4f": { - "group": "sg", + "grp": "sg", "class": 6, "rating": "A", "cost": 16179531, @@ -295,7 +295,7 @@ "maxmul": 0.7 }, "4g": { - "group": "sg", + "grp": "sg", "class": 6, "rating": "B", "cost": 5393177, @@ -309,7 +309,7 @@ "maxmul": 0.6 }, "4h": { - "group": "sg", + "grp": "sg", "class": 6, "rating": "C", "cost": 1797726, @@ -323,7 +323,7 @@ "maxmul": 0.5 }, "4i": { - "group": "sg", + "grp": "sg", "class": 6, "rating": "D", "cost": 599242, @@ -337,7 +337,7 @@ "maxmul": 0.4 }, "4j": { - "group": "sg", + "grp": "sg", "class": 6, "rating": "E", "cost": 199747, @@ -351,7 +351,7 @@ "maxmul": 0.3 }, "4k": { - "group": "sg", + "grp": "sg", "class": 7, "rating": "A", "cost": 51289112, @@ -365,7 +365,7 @@ "maxmul": 0.7 }, "4l": { - "group": "sg", + "grp": "sg", "class": 7, "rating": "B", "cost": 17096371, @@ -379,7 +379,7 @@ "maxmul": 0.6 }, "4m": { - "group": "sg", + "grp": "sg", "class": 7, "rating": "C", "cost": 5698790, @@ -393,7 +393,7 @@ "maxmul": 0.5 }, "4n": { - "group": "sg", + "grp": "sg", "class": 7, "rating": "D", "cost": 1899597, @@ -407,7 +407,7 @@ "maxmul": 0.4 }, "4o": { - "group": "sg", + "grp": "sg", "class": 7, "rating": "E", "cost": 633199, @@ -421,7 +421,7 @@ "maxmul": 0.3 }, "4p": { - "group": "sg", + "grp": "sg", "class": 8, "rating": "A", "cost": 162586486, @@ -435,7 +435,7 @@ "maxmul": 0.7 }, "4q": { - "group": "sg", + "grp": "sg", "class": 8, "rating": "B", "cost": 54195495, @@ -449,7 +449,7 @@ "maxmul": 0.6 }, "4r": { - "group": "sg", + "grp": "sg", "class": 8, "rating": "C", "cost": 18065165, @@ -463,7 +463,7 @@ "maxmul": 0.5 }, "4s": { - "group": "sg", + "grp": "sg", "class": 8, "rating": "D", "cost": 6021722, @@ -477,7 +477,7 @@ "maxmul": 0.4 }, "4t": { - "group": "sg", + "grp": "sg", "class": 8, "rating": "E", "cost": 2007241, diff --git a/data/ships/adder.json b/data/ships/adder.json index e47677c6..3244d629 100644 --- a/data/ships/adder.json +++ b/data/ships/adder.json @@ -1,7 +1,7 @@ { "adder": { "properties": { - "group": "ex", + "grp": "ex", "name": "Adder", "manufacturer": "Zorgon Peterson", "class": 1, diff --git a/data/ships/anaconda.json b/data/ships/anaconda.json index b4ccce83..43c70f44 100644 --- a/data/ships/anaconda.json +++ b/data/ships/anaconda.json @@ -1,7 +1,7 @@ { "anaconda": { "properties": { - "group": "mp", + "grp": "mp", "name": "Anaconda", "manufacturer": "Faulcon DeLacy", "class": 3, diff --git a/data/ships/asp.json b/data/ships/asp.json index 8e44f291..f9370f36 100644 --- a/data/ships/asp.json +++ b/data/ships/asp.json @@ -1,7 +1,7 @@ { "asp": { "properties": { - "group": "ex", + "grp": "ex", "name": "Asp", "manufacturer": "Lakon", "class": 2, diff --git a/data/ships/cobra_mk_iii.json b/data/ships/cobra_mk_iii.json index 40337ffc..b9d9e79d 100644 --- a/data/ships/cobra_mk_iii.json +++ b/data/ships/cobra_mk_iii.json @@ -1,7 +1,7 @@ { "cobra_mk_iii": { "properties": { - "group": "mp", + "grp": "mp", "name": "Cobra Mk III", "manufacturer": "Faulcon DeLacy", "class": 1, diff --git a/data/ships/eagle.json b/data/ships/eagle.json index eb575985..ed0da69f 100644 --- a/data/ships/eagle.json +++ b/data/ships/eagle.json @@ -1,7 +1,7 @@ { "eagle": { "properties": { - "group": "co", + "grp": "co", "name": "Eagle", "manufacturer": "Core Dynamics", "class": 1, diff --git a/data/ships/federal_dropship.json b/data/ships/federal_dropship.json index ebd1ac66..91c3a645 100644 --- a/data/ships/federal_dropship.json +++ b/data/ships/federal_dropship.json @@ -1,7 +1,7 @@ { "federal_dropship": { "properties": { - "group": "mp", + "grp": "mp", "name": "Federal Dropship", "manufacturer": "Core Dynamics", "class": 2, diff --git a/data/ships/fer_de_lance.json b/data/ships/fer_de_lance.json index b4280ce0..057e5454 100644 --- a/data/ships/fer_de_lance.json +++ b/data/ships/fer_de_lance.json @@ -1,7 +1,7 @@ { "fer_de_lance": { "properties": { - "group": "co", + "grp": "co", "name": "Fer-de-Lance", "manufacturer": "Zorgon Peterson", "class": 2, diff --git a/data/ships/hauler.json b/data/ships/hauler.json index 423b7a02..0406127c 100644 --- a/data/ships/hauler.json +++ b/data/ships/hauler.json @@ -1,7 +1,7 @@ { "hauler": { "properties": { - "group": "fr", + "grp": "fr", "name": "Hauler", "manufacturer": "Zorgon Peterson", "class": 1, diff --git a/data/ships/imperial_clipper.json b/data/ships/imperial_clipper.json index fdb6fc81..30e9767b 100644 --- a/data/ships/imperial_clipper.json +++ b/data/ships/imperial_clipper.json @@ -1,7 +1,7 @@ { "imperial_clipper": { "properties": { - "group": "mp", + "grp": "mp", "name": "Imperial Clipper", "manufacturer": "Gutamaya", "class": 3, diff --git a/data/ships/orca.json b/data/ships/orca.json index e0001433..007583d1 100644 --- a/data/ships/orca.json +++ b/data/ships/orca.json @@ -1,7 +1,7 @@ { "orca": { "properties": { - "group": "pa", + "grp": "pa", "name": "Orca", "manufacturer": "Saud Kruger", "class": 3, diff --git a/data/ships/python.json b/data/ships/python.json index 39c46171..0b9bdf12 100644 --- a/data/ships/python.json +++ b/data/ships/python.json @@ -1,7 +1,7 @@ { "python": { "properties": { - "group": "mp", + "grp": "mp", "name": "Python", "manufacturer": "Faulcon DeLacy", "class": 2, diff --git a/data/ships/sidewinder.json b/data/ships/sidewinder.json index bbf9d3dc..bb497a76 100644 --- a/data/ships/sidewinder.json +++ b/data/ships/sidewinder.json @@ -1,7 +1,7 @@ { "sidewinder": { "properties": { - "group": "mp", + "grp": "mp", "name": "Sidewinder", "manufacturer": "Faulcon DeLacy", "class": 1, diff --git a/data/ships/type_6_transporter.json b/data/ships/type_6_transporter.json index 4bce7581..dff0c0de 100644 --- a/data/ships/type_6_transporter.json +++ b/data/ships/type_6_transporter.json @@ -1,7 +1,7 @@ { "type_6_transporter": { "properties": { - "group": "fr", + "grp": "fr", "name": "Type-6 Transporter", "manufacturer": "Lakon", "class": 2, diff --git a/data/ships/type_7_transport.json b/data/ships/type_7_transport.json index b64faa87..9459b361 100644 --- a/data/ships/type_7_transport.json +++ b/data/ships/type_7_transport.json @@ -1,7 +1,7 @@ { "type_7_transport": { "properties": { - "group": "fr", + "grp": "fr", "name": "Type-7 Transport", "manufacturer": "Lakon", "class": 3, diff --git a/data/ships/type_9_heavy.json b/data/ships/type_9_heavy.json index 0249f06e..49b83b9c 100644 --- a/data/ships/type_9_heavy.json +++ b/data/ships/type_9_heavy.json @@ -1,7 +1,7 @@ { "type_9_heavy": { "properties": { - "group": "fr", + "grp": "fr", "name": "Type-9 Heavy", "manufacturer": "Lakon", "class": 3, diff --git a/data/ships/viper.json b/data/ships/viper.json index 259bb7d4..5361040c 100644 --- a/data/ships/viper.json +++ b/data/ships/viper.json @@ -1,7 +1,7 @@ { "viper": { "properties": { - "group": "co", + "grp": "co", "name": "Viper", "manufacturer": "Faulcon DeLacy", "class": 1, diff --git a/data/ships/vulture.json b/data/ships/vulture.json index f3ac35c2..6cba4e31 100644 --- a/data/ships/vulture.json +++ b/data/ships/vulture.json @@ -1,7 +1,7 @@ { "vulture": { "properties": { - "group": "co", + "grp": "co", "name": "Vulture", "manufacturer": "Core Dynamics", "class": 1,