From 4f53d759997e7def6f7904f3b0a4bfe46b69a176 Mon Sep 17 00:00:00 2001 From: Greg Matthews Date: Sat, 11 Nov 2017 13:23:09 -0800 Subject: [PATCH 01/25] Fix whitespace in html --- src/app/pages/ShipyardPage.jsx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/app/pages/ShipyardPage.jsx b/src/app/pages/ShipyardPage.jsx index 8ef8f8e4..b5060d3c 100644 --- a/src/app/pages/ShipyardPage.jsx +++ b/src/app/pages/ShipyardPage.jsx @@ -316,16 +316,16 @@ export default class ShipyardPage extends Page { {translate('internal compartments')} - {units.CR} - {units.T} - {units['m/s']} - {units['m/s']} -   - {units.MJ} - {units['m/s']} - {units['m/s']} - {units.LY} - {units.T} + {units.CR} + {units.T} + {units['m/s']} + {units['m/s']} +   + {units.MJ} + {units['m/s']} + {units['m/s']} + {units.LY} + {units.T} {'pp'} {'th'} {'fsd'} From e19688e96fa44d848f6df0d96977300c615441ee Mon Sep 17 00:00:00 2001 From: Greg Matthews Date: Sat, 11 Nov 2017 13:23:42 -0800 Subject: [PATCH 02/25] Add alternate row highlighting for sorted value --- src/app/pages/ShipyardPage.jsx | 22 ++++++++++++++++++---- src/less/colors.less | 1 + src/less/table.less | 4 ++++ 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/app/pages/ShipyardPage.jsx b/src/app/pages/ShipyardPage.jsx index b5060d3c..20359dba 100644 --- a/src/app/pages/ShipyardPage.jsx +++ b/src/app/pages/ShipyardPage.jsx @@ -139,15 +139,16 @@ export default class ShipyardPage extends Page { * @param {Object} u Localized unit map * @param {Function} fInt Localized integer formatter * @param {Function} fRound Localized round formatter + * @param {Boolean} highlight Should this row be highlighted * @return {React.Component} Table Row */ - _shipRowElement(s, translate, u, fInt, fRound) { + _shipRowElement(s, translate, u, fInt, fRound, highlight) { let noTouch = this.context.noTouch; return {s.manufacturer} @@ -246,13 +247,26 @@ export default class ShipyardPage extends Page { let shipRows = new Array(shipSummaries.length); let detailRows = new Array(shipSummaries.length); + let sortValue = null; + let backgroundHighlight = false; + for (let s of shipSummaries) { - detailRows[i] = this._shipRowElement(s, translate, units, fInt, formats.f1); + let tmpSortValue = s[shipPredicate]; + if( shipPredicateIndex != undefined ) { + tmpSortValue = tmpSortValue[shipPredicateIndex]; + } + + if( tmpSortValue != sortValue ) { + backgroundHighlight = !backgroundHighlight; + sortValue = tmpSortValue; + } + + detailRows[i] = this._shipRowElement(s, translate, units, fInt, formats.f1, backgroundHighlight); shipRows[i] = ( {s.name} diff --git a/src/less/colors.less b/src/less/colors.less index 4814e724..2a18f6de 100755 --- a/src/less/colors.less +++ b/src/less/colors.less @@ -18,6 +18,7 @@ @bg: rgba(30,30,30,1); @bgBlack: #000; @primary-bg: fadeout(darken(@primary, 47%), 15%); +@alt-primary-bg: fadeout(darken(@primary, 42%), 15%); // Lighter brown background @secondary-bg: fadeout(darken(@secondary, @bgDarken), @bgTransparency); // Brown background @warning-bg: fadeout(darken(@warning, @bgDarken), @bgTransparency); // Dark Red diff --git a/src/less/table.less b/src/less/table.less index 93f6f8e3..1cce0319 100755 --- a/src/less/table.less +++ b/src/less/table.less @@ -54,6 +54,10 @@ tbody tr { .no-touch &.highlight:hover, .no-touch &.highlighted { background-color: @warning-bg; } + + &.alt { + background-color: @alt-primary-bg; + } } td { From 54ddb0d0148cb5b897e2a7c1404bd837149158f4 Mon Sep 17 00:00:00 2001 From: Greg Matthews Date: Sat, 11 Nov 2017 13:29:59 -0800 Subject: [PATCH 03/25] Rename sortValue and tmpSortValue to be more meaningful --- src/app/pages/ShipyardPage.jsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/pages/ShipyardPage.jsx b/src/app/pages/ShipyardPage.jsx index 20359dba..74404f45 100644 --- a/src/app/pages/ShipyardPage.jsx +++ b/src/app/pages/ShipyardPage.jsx @@ -247,18 +247,18 @@ export default class ShipyardPage extends Page { let shipRows = new Array(shipSummaries.length); let detailRows = new Array(shipSummaries.length); - let sortValue = null; + let lastShipSortValue = null; let backgroundHighlight = false; for (let s of shipSummaries) { - let tmpSortValue = s[shipPredicate]; + let shipSortValue = s[shipPredicate]; if( shipPredicateIndex != undefined ) { - tmpSortValue = tmpSortValue[shipPredicateIndex]; + shipSortValue = shipSortValue[shipPredicateIndex]; } - if( tmpSortValue != sortValue ) { + if( shipSortValue != lastShipSortValue ) { backgroundHighlight = !backgroundHighlight; - sortValue = tmpSortValue; + lastShipSortValue = shipSortValue; } detailRows[i] = this._shipRowElement(s, translate, units, fInt, formats.f1, backgroundHighlight); From 31dc789f6ed05a1dc0efd301b106195f7fc18e36 Mon Sep 17 00:00:00 2001 From: willyb321 Date: Sun, 17 Dec 2017 11:15:51 +1100 Subject: [PATCH 04/25] initial (re)implementation of engineer mods still some kinds to work out. --- src/app/utils/CompanionApiUtils.js | 102 ++++++++++++++++------------- 1 file changed, 58 insertions(+), 44 deletions(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 036cfd36..d0ad793e 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -123,6 +123,7 @@ export function shipModelFromJson(json) { */ export function shipFromJson(json) { // Start off building a basic ship + console.log(json); const shipModel = shipModelFromJson(json); if (!shipModel) { throw 'No such ship found: "' + json.name + '"'; @@ -158,13 +159,13 @@ export function shipFromJson(json) { throw 'Unknown bulkheads "' + armourJson.name + '"'; } ship.bulkheads.enabled = true; - if (armourJson.modifiers) _addModifications(ship.bulkheads.m, armourJson.modifiers, armourJson.recipeName, armourJson.recipeLevel); + if (json.modules.Armour.WorkInProgress_modifications) _addModifications(ship.bulkheads.m, json.modules.Armour.WorkInProgress_modifications, json.modules.Armour.engineer.recipeName, json.modules.Armour.engineer.recipeLevel); // Add the standard modules // Power plant const powerplantJson = json.modules.PowerPlant.module; const powerplant = _moduleFromEdId(powerplantJson.id); - if (powerplantJson.modifiers) _addModifications(powerplant, powerplantJson.modifiers, powerplantJson.recipeName, powerplantJson.recipeLevel); + if (json.modules.PowerPlant.WorkInProgress_modifications) _addModifications(powerplant, json.modules.PowerPlant.WorkInProgress_modifications, json.modules.PowerPlant.engineer.recipeName, json.modules.PowerPlant.engineer.recipeLevel); ship.use(ship.standard[0], powerplant, true); ship.standard[0].enabled = powerplantJson.on === true; ship.standard[0].priority = powerplantJson.priority; @@ -172,7 +173,7 @@ export function shipFromJson(json) { // Thrusters const thrustersJson = json.modules.MainEngines.module; const thrusters = _moduleFromEdId(thrustersJson.id); - if (thrustersJson.modifiers) _addModifications(thrusters, thrustersJson.modifiers, thrustersJson.recipeName, thrustersJson.recipeLevel); + if (json.modules.MainEngines.WorkInProgress_modifications) _addModifications(thrusters, json.modules.MainEngines.WorkInProgress_modifications, json.modules.MainEngines.engineer.recipeName, json.modules.MainEngines.engineer.recipeLevel); ship.use(ship.standard[1], thrusters, true); ship.standard[1].enabled = thrustersJson.on === true; ship.standard[1].priority = thrustersJson.priority; @@ -180,7 +181,7 @@ export function shipFromJson(json) { // FSD const frameshiftdriveJson = json.modules.FrameShiftDrive.module; const frameshiftdrive = _moduleFromEdId(frameshiftdriveJson.id); - if (frameshiftdriveJson.modifiers) _addModifications(frameshiftdrive, frameshiftdriveJson.modifiers, frameshiftdriveJson.recipeName, frameshiftdriveJson.recipeLevel); + if (json.modules.FrameShiftDrive.WorkInProgress_modifications) _addModifications(frameshiftdrive, json.modules.FrameShiftDrive.WorkInProgress_modifications, json.modules.FrameShiftDrive.engineer.recipeName, json.modules.FrameShiftDrive.engineer.recipeLevel); ship.use(ship.standard[2], frameshiftdrive, true); ship.standard[2].enabled = frameshiftdriveJson.on === true; ship.standard[2].priority = frameshiftdriveJson.priority; @@ -188,7 +189,7 @@ export function shipFromJson(json) { // Life support const lifesupportJson = json.modules.LifeSupport.module; const lifesupport = _moduleFromEdId(lifesupportJson.id); - if (lifesupportJson.modifiers)_addModifications(lifesupport, lifesupportJson.modifiers, lifesupportJson.recipeName, lifesupportJson.recipeLevel); + if (json.modules.LifeSupport.WorkInProgress_modifications) _addModifications(lifesupport, json.modules.LifeSupport.WorkInProgress_modifications, json.modules.LifeSupport.engineer.recipeName, json.modules.LifeSupport.engineer.recipeLevel); ship.use(ship.standard[3], lifesupport, true); ship.standard[3].enabled = lifesupportJson.on === true; ship.standard[3].priority = lifesupportJson.priority; @@ -196,16 +197,17 @@ export function shipFromJson(json) { // Power distributor const powerdistributorJson = json.modules.PowerDistributor.module; const powerdistributor = _moduleFromEdId(powerdistributorJson.id); - if (powerdistributorJson.modifiers) _addModifications(powerdistributor, powerdistributorJson.modifiers, powerdistributorJson.recipeName, powerdistributorJson.recipeLevel); - ship.use(ship.standard[4], powerdistributor, true); + if (json.modules.PowerDistributor.WorkInProgress_modifications) _addModifications(powerdistributor, json.modules.PowerDistributor.WorkInProgress_modifications, json.modules.PowerDistributor.engineer.recipeName, json.modules.PowerDistributor.engineer.recipeLevel); + ship.use(ship.standard[4], powerdistributor, true); ship.standard[4].enabled = powerdistributorJson.on === true; ship.standard[4].priority = powerdistributorJson.priority; // Sensors const sensorsJson = json.modules.Radar.module; const sensors = _moduleFromEdId(sensorsJson.id); - if (sensorsJson.modifiers) _addModifications(sensors, sensorsJson.modifiers, sensorsJson.recipeName, sensorsJson.recipeLevel); - ship.use(ship.standard[5], sensors, true); + if (json.modules.Radar.WorkInProgress_modifications) _addModifications(sensors, json.modules.Radar.WorkInProgress_modifications, json.modules.Radar.engineer.recipeName, json.modules.Radar.engineer.recipeLevel); + + ship.use(ship.standard[5], sensors, true); ship.standard[5].enabled = sensorsJson.on === true; ship.standard[5].priority = sensorsJson.priority; @@ -240,7 +242,7 @@ export function shipFromJson(json) { } else { const hardpointJson = hardpointSlot.module; const hardpoint = _moduleFromEdId(hardpointJson.id); - if (hardpointJson.modifiers) _addModifications(hardpoint, hardpointJson.modifiers, hardpointJson.recipeName, hardpointJson.recipeLevel); + if (hardpointSlot.WorkInProgress_modifications) _addModifications(hardpoint, hardpointSlot.WorkInProgress_modifications, hardpointSlot.engineer.recipeName, hardpointSlot.engineer.recipeLevel, hardpointSlot.specialModifications); ship.use(ship.hardpoints[hardpointArrayNum], hardpoint, true); ship.hardpoints[hardpointArrayNum].enabled = hardpointJson.on === true; ship.hardpoints[hardpointArrayNum].priority = hardpointJson.priority; @@ -282,7 +284,7 @@ export function shipFromJson(json) { } else { const internalJson = internalSlot.module; const internal = _moduleFromEdId(internalJson.id); - if (internalJson.modifiers) _addModifications(internal, internalJson.modifiers, internalJson.recipeName, internalJson.recipeLevel); + if (internalSlot.WorkInProgress_modifications) _addModifications(internal, internalSlot.WorkInProgress_modifications, internalSlot.engineer.recipeName, internalSlot.engineer.recipeLevel); ship.use(ship.internal[i], internal, true); ship.internal[i].enabled = internalJson.on === true; ship.internal[i].priority = internalJson.priority; @@ -299,37 +301,48 @@ export function shipFromJson(json) { * @param {Object} modifiers the modifiers * @param {Object} blueprint the blueprint of the modification * @param {Object} grade the grade of the modification + * @param {Object} specialModifications special modification */ -function _addModifications(module, modifiers, blueprint, grade) { - if (!modifiers || !modifiers.modifiers) return; - +function _addModifications(module, modifiers, blueprint, grade, specialModifications) { + console.log(module); + console.log(modifiers); + if (!modifiers) return; + let special; - for (const i in modifiers.modifiers) { + if (specialModifications) { + special = Modifications.specials[Object.keys(specialModifications)[0]] + } + for (const i in modifiers) { // Some special modifications - if (modifiers.modifiers[i].name === 'mod_weapon_clip_size_override') { + if (modifiers[i].name === 'mod_weapon_clip_size_override') { // This is a numeric addition to the clip size, but we need to work it out in terms of being a percentage so // that it works the same as other modifications const origClip = module.clip || 1; - module.setModValue('clip', ((modifiers.modifiers[i].value - origClip) / origClip) * 10000); - } else if (modifiers.modifiers[i].name === 'mod_weapon_burst_size') { + module.setModValue('clip', ((modifiers[i].value - origClip) / origClip) * 10000); + } else if (modifiers[i].name === 'mod_weapon_burst_size') { // This is an absolute number that acts as an override - module.setModValue('burst', modifiers.modifiers[i].value * 100); - } else if (modifiers.modifiers[i].name === 'mod_weapon_burst_rof') { + module.setModValue('burst', modifiers[i].value * 100); + } else if (modifiers[i].name === 'mod_weapon_burst_rof') { // This is an absolute number that acts as an override - module.setModValue('burstrof', modifiers.modifiers[i].value * 100); - } else if (modifiers.modifiers[i].name === 'mod_weapon_falloffrange_from_range') { + module.setModValue('burstrof', modifiers[i].value * 100); + } else if (modifiers[i].name === 'mod_weapon_falloffrange_from_range') { // Obtain the falloff value directly from the range module.setModValue('fallofffromrange', 1); - } else if (modifiers.modifiers[i].name && modifiers.modifiers[i].name.startsWith('special_')) { + } else if (modifiers[i].name && modifiers[i].name.startsWith('special_')) { // We don't add special effects directly, but keep a note of them so they can be added when fetching values - special = Modifications.specials[modifiers.modifiers[i].name]; + special = Modifications.specials[modifiers[i].name]; } else { // Look up the modifiers to find what we need to do - const modifierActions = Modifications.modifierActions[modifiers.modifiers[i].name]; - const value = modifiers.modifiers[i].value; - + const modifierActions = Modifications.modifierActions[i]; + let value; + if (i === 'shieldbst') { + value = modifiers[i].value - 1; + } else { + value = modifiers[i].value - 1; + } // Carry out the required changes for (const action in modifierActions) { + console.log(action); if (isNaN(modifierActions[action])) { module.setModValue(action, modifierActions[action]); } else { @@ -339,6 +352,7 @@ function _addModifications(module, modifiers, blueprint, grade) { mod = 0; } module.setModValue(action, ((1 + mod) * (1 + actionValue) - 1) * 10000); + // Bulkhead boost is based off the inherent boost of the module } } } @@ -354,7 +368,7 @@ function _addModifications(module, modifiers, blueprint, grade) { module.blueprint.special = special; } } - + // Need to fix up a few items // Shield boosters are treated internally as straight modifiers, so rather than (for example) @@ -377,20 +391,20 @@ function _addModifications(module, modifiers, blueprint, grade) { module.setModValue('thermres', ((module.getModValue('thermres') / 10000) * -1) * 10000); } } - + // Shield generator resistance is actually a damage modifier, so needs to be inverted. // In addition, the modification is based off the inherent resistance of the module - if (ModuleUtils.isShieldGenerator(module.grp)) { - if (module.getModValue('explres')) { - module.setModValue('explres', ((1 - (1 - module.explres) * (1 + module.getModValue('explres') / 10000)) - module.explres) * 10000); - } - if (module.getModValue('kinres')) { - module.setModValue('kinres', ((1 - (1 - module.kinres) * (1 + module.getModValue('kinres') / 10000)) - module.kinres) * 10000); - } - if (module.getModValue('thermres')) { - module.setModValue('thermres', ((1 - (1 - module.thermres) * (1 + module.getModValue('thermres') / 10000)) - module.thermres) * 10000); - } - } + // if (ModuleUtils.isShieldGenerator(module.grp)) { + // if (module.getModValue('explres')) { + // module.setModValue('explres', ((1 - (1 - module.explres) * (1 + module.getModValue('explres') / 10000)) - module.explres) * 10000); + // } + // if (module.getModValue('kinres')) { + // module.setModValue('kinres', ((1 - (1 - module.kinres) * (1 + module.getModValue('kinres') / 10000)) - module.kinres) * 10000); + // } + // if (module.getModValue('thermres')) { + // module.setModValue('thermres', ((1 - (1 - module.thermres) * (1 + module.getModValue('thermres') / 10000)) - module.thermres) * 10000); + // } + // } // Hull reinforcement package resistance is actually a damage modifier, so needs to be inverted. // In addition, the modification is based off the inherent resistance of the module @@ -405,7 +419,7 @@ function _addModifications(module, modifiers, blueprint, grade) { module.setModValue('thermres', ((1 - (1 - module.thermres) * (1 + module.getModValue('thermres') / 10000)) - module.thermres) * 10000); } } - + // Bulkhead resistance is actually a damage modifier, so needs to be inverted. // In addition, the modification is based off the inherent resistance of the module if (module.grp == 'bh') { @@ -422,11 +436,11 @@ function _addModifications(module, modifiers, blueprint, grade) { // Bulkhead boost is based off the inherent boost of the module if (module.grp == 'bh') { - const alteredBoost = (1 + module.hullboost) * (1 + module.getModValue('hullboost') / 10000) - 1; - module.setModValue('hullboost', (alteredBoost / module.hullboost - 1) * 10000); + const alteredBoost = (1 + module.hullboost) * (1 + module.getModValue('hullboost') / 10000) - 1; + module.setModValue('hullboost', (alteredBoost / module.hullboost - 1) * 1000); } - // Jitter is an absolute number, so we need to divide it by 100 + // Jitter is an absolute number, so we need to divide it by 100 if (module.getModValue('jitter')) { module.setModValue('jitter', module.getModValue('jitter') / 100); } From 64c5d542e9d7a1da0724d9fe243d5c0bd32410ea Mon Sep 17 00:00:00 2001 From: willyb321 Date: Sun, 17 Dec 2017 12:27:04 +1100 Subject: [PATCH 05/25] more work on mods --- src/app/utils/CompanionApiUtils.js | 32 ++++++++++++++---------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index d0ad793e..7df9de23 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -342,7 +342,6 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat } // Carry out the required changes for (const action in modifierActions) { - console.log(action); if (isNaN(modifierActions[action])) { module.setModValue(action, modifierActions[action]); } else { @@ -352,7 +351,6 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat mod = 0; } module.setModValue(action, ((1 + mod) * (1 + actionValue) - 1) * 10000); - // Bulkhead boost is based off the inherent boost of the module } } } @@ -394,21 +392,7 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat // Shield generator resistance is actually a damage modifier, so needs to be inverted. // In addition, the modification is based off the inherent resistance of the module - // if (ModuleUtils.isShieldGenerator(module.grp)) { - // if (module.getModValue('explres')) { - // module.setModValue('explres', ((1 - (1 - module.explres) * (1 + module.getModValue('explres') / 10000)) - module.explres) * 10000); - // } - // if (module.getModValue('kinres')) { - // module.setModValue('kinres', ((1 - (1 - module.kinres) * (1 + module.getModValue('kinres') / 10000)) - module.kinres) * 10000); - // } - // if (module.getModValue('thermres')) { - // module.setModValue('thermres', ((1 - (1 - module.thermres) * (1 + module.getModValue('thermres') / 10000)) - module.thermres) * 10000); - // } - // } - - // Hull reinforcement package resistance is actually a damage modifier, so needs to be inverted. - // In addition, the modification is based off the inherent resistance of the module - if (module.grp === 'hr') { + if (ModuleUtils.isShieldGenerator(module.grp)) { if (module.getModValue('explres')) { module.setModValue('explres', ((1 - (1 - module.explres) * (1 + module.getModValue('explres') / 10000)) - module.explres) * 10000); } @@ -420,6 +404,20 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat } } + // Hull reinforcement package resistance is actually a damage modifier, so needs to be inverted. + // In addition, the modification is based off the inherent resistance of the module + // if (module.grp === 'hr') { + // if (module.getModValue('explres')) { + // module.setModValue('explres', ((1 - (1 - module.explres) * (1 + module.getModValue('explres') / 10000)) - module.explres) * 10000); + // } + // if (module.getModValue('kinres')) { + // module.setModValue('kinres', ((1 - (1 - module.kinres) * (1 + module.getModValue('kinres') / 10000)) - module.kinres) * 10000); + // } + // if (module.getModValue('thermres')) { + // module.setModValue('thermres', ((1 - (1 - module.thermres) * (1 + module.getModValue('thermres') / 10000)) - module.thermres) * 10000); + // } + // } + // Bulkhead resistance is actually a damage modifier, so needs to be inverted. // In addition, the modification is based off the inherent resistance of the module if (module.grp == 'bh') { From 162156bb2b6ab2114b17f600e76820772e4adcbb Mon Sep 17 00:00:00 2001 From: willyb321 Date: Sun, 17 Dec 2017 12:46:18 +1100 Subject: [PATCH 06/25] fix random weird indents --- src/app/utils/CompanionApiUtils.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 7df9de23..40e165fd 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -197,17 +197,16 @@ export function shipFromJson(json) { // Power distributor const powerdistributorJson = json.modules.PowerDistributor.module; const powerdistributor = _moduleFromEdId(powerdistributorJson.id); - if (json.modules.PowerDistributor.WorkInProgress_modifications) _addModifications(powerdistributor, json.modules.PowerDistributor.WorkInProgress_modifications, json.modules.PowerDistributor.engineer.recipeName, json.modules.PowerDistributor.engineer.recipeLevel); - ship.use(ship.standard[4], powerdistributor, true); + if (json.modules.PowerDistributor.WorkInProgress_modifications) _addModifications(powerdistributor, json.modules.PowerDistributor.WorkInProgress_modifications, json.modules.PowerDistributor.engineer.recipeName, json.modules.PowerDistributor.engineer.recipeLevel); + ship.use(ship.standard[4], powerdistributor, true); ship.standard[4].enabled = powerdistributorJson.on === true; ship.standard[4].priority = powerdistributorJson.priority; // Sensors const sensorsJson = json.modules.Radar.module; const sensors = _moduleFromEdId(sensorsJson.id); - if (json.modules.Radar.WorkInProgress_modifications) _addModifications(sensors, json.modules.Radar.WorkInProgress_modifications, json.modules.Radar.engineer.recipeName, json.modules.Radar.engineer.recipeLevel); - - ship.use(ship.standard[5], sensors, true); + if (json.modules.Radar.WorkInProgress_modifications) _addModifications(sensors, json.modules.Radar.WorkInProgress_modifications, json.modules.Radar.engineer.recipeName, json.modules.Radar.engineer.recipeLevel); + ship.use(ship.standard[5], sensors, true); ship.standard[5].enabled = sensorsJson.on === true; ship.standard[5].priority = sensorsJson.priority; @@ -242,7 +241,7 @@ export function shipFromJson(json) { } else { const hardpointJson = hardpointSlot.module; const hardpoint = _moduleFromEdId(hardpointJson.id); - if (hardpointSlot.WorkInProgress_modifications) _addModifications(hardpoint, hardpointSlot.WorkInProgress_modifications, hardpointSlot.engineer.recipeName, hardpointSlot.engineer.recipeLevel, hardpointSlot.specialModifications); + if (hardpointSlot.WorkInProgress_modifications) _addModifications(hardpoint, hardpointSlot.WorkInProgress_modifications, hardpointSlot.engineer.recipeName, hardpointSlot.engineer.recipeLevel, hardpointSlot.specialModifications); ship.use(ship.hardpoints[hardpointArrayNum], hardpoint, true); ship.hardpoints[hardpointArrayNum].enabled = hardpointJson.on === true; ship.hardpoints[hardpointArrayNum].priority = hardpointJson.priority; From bdbfb28c4a95a0ce9d7675b7f4059d9da47bdf2f Mon Sep 17 00:00:00 2001 From: willyb321 Date: Sun, 17 Dec 2017 12:47:02 +1100 Subject: [PATCH 07/25] missed a spot --- src/app/utils/CompanionApiUtils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 40e165fd..c7e6808f 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -189,7 +189,7 @@ export function shipFromJson(json) { // Life support const lifesupportJson = json.modules.LifeSupport.module; const lifesupport = _moduleFromEdId(lifesupportJson.id); - if (json.modules.LifeSupport.WorkInProgress_modifications) _addModifications(lifesupport, json.modules.LifeSupport.WorkInProgress_modifications, json.modules.LifeSupport.engineer.recipeName, json.modules.LifeSupport.engineer.recipeLevel); + if (json.modules.LifeSupport.WorkInProgress_modifications) _addModifications(lifesupport, json.modules.LifeSupport.WorkInProgress_modifications, json.modules.LifeSupport.engineer.recipeName, json.modules.LifeSupport.engineer.recipeLevel); ship.use(ship.standard[3], lifesupport, true); ship.standard[3].enabled = lifesupportJson.on === true; ship.standard[3].priority = lifesupportJson.priority; From 9aa986a1337d93358e74d5c81c59d2c35c24f62f Mon Sep 17 00:00:00 2001 From: willyb321 Date: Sun, 17 Dec 2017 12:48:13 +1100 Subject: [PATCH 08/25] thanks webstorm --- src/app/utils/CompanionApiUtils.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index c7e6808f..d24f19c7 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -433,11 +433,11 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat // Bulkhead boost is based off the inherent boost of the module if (module.grp == 'bh') { - const alteredBoost = (1 + module.hullboost) * (1 + module.getModValue('hullboost') / 10000) - 1; - module.setModValue('hullboost', (alteredBoost / module.hullboost - 1) * 1000); + const alteredBoost = (1 + module.hullboost) * (1 + module.getModValue('hullboost') / 10000) - 1; + module.setModValue('hullboost', (alteredBoost / module.hullboost - 1) * 1000); } - // Jitter is an absolute number, so we need to divide it by 100 + // Jitter is an absolute number, so we need to divide it by 100 if (module.getModValue('jitter')) { module.setModValue('jitter', module.getModValue('jitter') / 100); } From 1da69664d754a42fac9c34b05a3cbb3ec5c78a9b Mon Sep 17 00:00:00 2001 From: willyb321 Date: Sun, 17 Dec 2017 14:49:51 +1100 Subject: [PATCH 09/25] shields should be accurate now dont now what the issue with hull is if you see it let me know --- src/app/utils/CompanionApiUtils.js | 35 ++++++++++++++++-------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index d24f19c7..2ae6d7da 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -303,8 +303,8 @@ export function shipFromJson(json) { * @param {Object} specialModifications special modification */ function _addModifications(module, modifiers, blueprint, grade, specialModifications) { - console.log(module); - console.log(modifiers); + console.log(module); + console.log(modifiers); if (!modifiers) return; let special; @@ -334,11 +334,14 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat // Look up the modifiers to find what we need to do const modifierActions = Modifications.modifierActions[i]; let value; - if (i === 'shieldbst') { + if (i === 'OutfittingFieldType_DefenceModifierShieldMultiplier') { value = modifiers[i].value - 1; - } else { + } else if (i === 'OutfittingFieldType_DefenceModifierHealthMultiplier') { + //TODO: fix the hull strength. not sure whats wrong with it. + value = modifiers[i].value - 1// - module.hullboost; + } else { value = modifiers[i].value - 1; - } + } // Carry out the required changes for (const action in modifierActions) { if (isNaN(modifierActions[action])) { @@ -405,17 +408,17 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat // Hull reinforcement package resistance is actually a damage modifier, so needs to be inverted. // In addition, the modification is based off the inherent resistance of the module - // if (module.grp === 'hr') { - // if (module.getModValue('explres')) { - // module.setModValue('explres', ((1 - (1 - module.explres) * (1 + module.getModValue('explres') / 10000)) - module.explres) * 10000); - // } - // if (module.getModValue('kinres')) { - // module.setModValue('kinres', ((1 - (1 - module.kinres) * (1 + module.getModValue('kinres') / 10000)) - module.kinres) * 10000); - // } - // if (module.getModValue('thermres')) { - // module.setModValue('thermres', ((1 - (1 - module.thermres) * (1 + module.getModValue('thermres') / 10000)) - module.thermres) * 10000); - // } - // } + if (module.grp === 'hr') { + if (module.getModValue('explres')) { + module.setModValue('explres', ((1 - (1 - module.explres) * (1 + module.getModValue('explres') / 10000)) - module.explres) * 10000); + } + if (module.getModValue('kinres')) { + module.setModValue('kinres', ((1 - (1 - module.kinres) * (1 + module.getModValue('kinres') / 10000)) - module.kinres) * 10000); + } + if (module.getModValue('thermres')) { + module.setModValue('thermres', ((1 - (1 - module.thermres) * (1 + module.getModValue('thermres') / 10000)) - module.thermres) * 10000); + } + } // Bulkhead resistance is actually a damage modifier, so needs to be inverted. // In addition, the modification is based off the inherent resistance of the module From 752e03fa0fc8ec225a34c8ef59512aa8c08b389e Mon Sep 17 00:00:00 2001 From: willyb321 Date: Sun, 17 Dec 2017 18:24:34 +1100 Subject: [PATCH 10/25] possible armour fix need more data to confirm however --- src/app/utils/CompanionApiUtils.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 2ae6d7da..92475760 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -336,10 +336,14 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat let value; if (i === 'OutfittingFieldType_DefenceModifierShieldMultiplier') { value = modifiers[i].value - 1; - } else if (i === 'OutfittingFieldType_DefenceModifierHealthMultiplier') { + } else if (i === 'OutfittingFieldType_DefenceModifierHealthMultiplier' && blueprint === 'Armour_Thermic') { //TODO: fix the hull strength. not sure whats wrong with it. - value = modifiers[i].value - 1// - module.hullboost; - } else { + value = (modifiers[i].value - module.hullboost) / module.hullboost; + console.log(value); + } else if (i === 'OutfittingFieldType_DefenceModifierHealthMultiplier') { + value = modifiers[i].value / module.hullboost; + console.log(value); + } else { value = modifiers[i].value - 1; } // Carry out the required changes From c2f1fa81af19641bb825c782b835f2e4fa4d2502 Mon Sep 17 00:00:00 2001 From: willyb321 Date: Sun, 17 Dec 2017 18:48:24 +1100 Subject: [PATCH 11/25] remove console logs --- src/app/utils/CompanionApiUtils.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 92475760..930c9f7a 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -123,7 +123,6 @@ export function shipModelFromJson(json) { */ export function shipFromJson(json) { // Start off building a basic ship - console.log(json); const shipModel = shipModelFromJson(json); if (!shipModel) { throw 'No such ship found: "' + json.name + '"'; @@ -303,8 +302,6 @@ export function shipFromJson(json) { * @param {Object} specialModifications special modification */ function _addModifications(module, modifiers, blueprint, grade, specialModifications) { - console.log(module); - console.log(modifiers); if (!modifiers) return; let special; @@ -339,10 +336,8 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat } else if (i === 'OutfittingFieldType_DefenceModifierHealthMultiplier' && blueprint === 'Armour_Thermic') { //TODO: fix the hull strength. not sure whats wrong with it. value = (modifiers[i].value - module.hullboost) / module.hullboost; - console.log(value); } else if (i === 'OutfittingFieldType_DefenceModifierHealthMultiplier') { value = modifiers[i].value / module.hullboost; - console.log(value); } else { value = modifiers[i].value - 1; } From ba2e46f88f4be944e9fcb187b42c5fe750d141cd Mon Sep 17 00:00:00 2001 From: willyb321 Date: Tue, 19 Dec 2017 14:49:04 +1100 Subject: [PATCH 12/25] fix rate of fire probably --- src/app/utils/CompanionApiUtils.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 930c9f7a..6317482e 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -338,6 +338,8 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat value = (modifiers[i].value - module.hullboost) / module.hullboost; } else if (i === 'OutfittingFieldType_DefenceModifierHealthMultiplier') { value = modifiers[i].value / module.hullboost; + } else if (i === 'OutfittingFieldType_RateOfFire') { + value = (1 / Math.abs(modifiers[i].value)); } else { value = modifiers[i].value - 1; } @@ -444,11 +446,6 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat module.setModValue('jitter', module.getModValue('jitter') / 100); } - // FD uses interval between bursts internally, so we need to translate this to a real rate of fire - if (module.getModValue('rof')) { - module.setModValue('rof', ((1 / (1 + module.getModValue('rof') / 10000)) - 1) * 10000); - } - // Clip size is rounded up so that the result is a whole number if (module.getModValue('clip')) { const individual = 1 / (module.clip || 1); From 1a1d539c60fb99d017aa389a2a043f81e67eb33c Mon Sep 17 00:00:00 2001 From: willyb321 Date: Tue, 19 Dec 2017 16:13:30 +1100 Subject: [PATCH 13/25] fix engagement range slider and armour integrity hopefully --- src/app/components/EngagementRange.jsx | 2 +- src/app/utils/CompanionApiUtils.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/components/EngagementRange.jsx b/src/app/components/EngagementRange.jsx index 84749a46..87168b20 100644 --- a/src/app/components/EngagementRange.jsx +++ b/src/app/components/EngagementRange.jsx @@ -25,7 +25,7 @@ export default class EngagementRange extends TranslatedComponent { const { ship } = props; - const maxRange = this._calcMaxRange(ship); + const maxRange = Math.round(this._calcMaxRange(ship)); this.state = { maxRange diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 6317482e..79e6a286 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -303,7 +303,8 @@ export function shipFromJson(json) { */ function _addModifications(module, modifiers, blueprint, grade, specialModifications) { if (!modifiers) return; - + console.log(module); + console.log(modifiers); let special; if (specialModifications) { special = Modifications.specials[Object.keys(specialModifications)[0]] @@ -333,10 +334,9 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat let value; if (i === 'OutfittingFieldType_DefenceModifierShieldMultiplier') { value = modifiers[i].value - 1; - } else if (i === 'OutfittingFieldType_DefenceModifierHealthMultiplier' && blueprint === 'Armour_Thermic') { - //TODO: fix the hull strength. not sure whats wrong with it. + } else if (i === 'OutfittingFieldType_DefenceModifierHealthMultiplier' && blueprint.startsWith('Armour_')) { value = (modifiers[i].value - module.hullboost) / module.hullboost; - } else if (i === 'OutfittingFieldType_DefenceModifierHealthMultiplier') { + } else if (i === 'OutfittingFieldType_DefenceModifierHealthMultiplier') { value = modifiers[i].value / module.hullboost; } else if (i === 'OutfittingFieldType_RateOfFire') { value = (1 / Math.abs(modifiers[i].value)); From f41e2d0552fdb3021b77e8408fa13393023d00f0 Mon Sep 17 00:00:00 2001 From: willyb321 Date: Tue, 19 Dec 2017 16:28:05 +1100 Subject: [PATCH 14/25] fix indent and hopefully fix ammo clip dont know if it was broken, if someone has it DM it to me thanks --- src/app/utils/CompanionApiUtils.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 79e6a286..137c3cb9 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -306,12 +306,12 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat console.log(module); console.log(modifiers); let special; - if (specialModifications) { - special = Modifications.specials[Object.keys(specialModifications)[0]] - } + if (specialModifications) { + special = Modifications.specials[Object.keys(specialModifications)[0]] + } for (const i in modifiers) { // Some special modifications - if (modifiers[i].name === 'mod_weapon_clip_size_override') { + if (i === 'OutfittingFieldType_AmmoClipSize' || modifiers[i].name === 'mod_weapon_clip_size_override') { // This is a numeric addition to the clip size, but we need to work it out in terms of being a percentage so // that it works the same as other modifications const origClip = module.clip || 1; From 1c627297b8e5c55ecbeb69d32eaf80c973351457 Mon Sep 17 00:00:00 2001 From: willyb321 Date: Tue, 19 Dec 2017 16:34:53 +1100 Subject: [PATCH 15/25] shorten the terrible _addModifications call --- src/app/utils/CompanionApiUtils.js | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 137c3cb9..39b0f74a 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -141,6 +141,8 @@ export function shipFromJson(json) { ship.cargoHatch.enabled = false; ship.cargoHatch.priority = 4; } + + let rootModule; // Add the bulkheads const armourJson = json.modules.Armour.module; @@ -158,13 +160,15 @@ export function shipFromJson(json) { throw 'Unknown bulkheads "' + armourJson.name + '"'; } ship.bulkheads.enabled = true; - if (json.modules.Armour.WorkInProgress_modifications) _addModifications(ship.bulkheads.m, json.modules.Armour.WorkInProgress_modifications, json.modules.Armour.engineer.recipeName, json.modules.Armour.engineer.recipeLevel); + rootModule = json.modules.Armour; + if (rootModule.WorkInProgress_modifications) _addModifications(ship.bulkheads.m, rootModule.WorkInProgress_modifications, rootModule.engineer.recipeName, rootModule.engineer.recipeLevel); // Add the standard modules // Power plant const powerplantJson = json.modules.PowerPlant.module; const powerplant = _moduleFromEdId(powerplantJson.id); - if (json.modules.PowerPlant.WorkInProgress_modifications) _addModifications(powerplant, json.modules.PowerPlant.WorkInProgress_modifications, json.modules.PowerPlant.engineer.recipeName, json.modules.PowerPlant.engineer.recipeLevel); + rootModule = json.modules.PowerPlant; + if (rootModule.WorkInProgress_modifications) _addModifications(powerplant, rootModule.WorkInProgress_modifications, rootModule.engineer.recipeName, rootModule.engineer.recipeLevel); ship.use(ship.standard[0], powerplant, true); ship.standard[0].enabled = powerplantJson.on === true; ship.standard[0].priority = powerplantJson.priority; @@ -172,7 +176,8 @@ export function shipFromJson(json) { // Thrusters const thrustersJson = json.modules.MainEngines.module; const thrusters = _moduleFromEdId(thrustersJson.id); - if (json.modules.MainEngines.WorkInProgress_modifications) _addModifications(thrusters, json.modules.MainEngines.WorkInProgress_modifications, json.modules.MainEngines.engineer.recipeName, json.modules.MainEngines.engineer.recipeLevel); + rootModule = json.modules.MainEngines; + if (rootModule.WorkInProgress_modifications) _addModifications(thrusters, rootModule.WorkInProgress_modifications, rootModule.engineer.recipeName, rootModule.engineer.recipeLevel); ship.use(ship.standard[1], thrusters, true); ship.standard[1].enabled = thrustersJson.on === true; ship.standard[1].priority = thrustersJson.priority; @@ -180,7 +185,8 @@ export function shipFromJson(json) { // FSD const frameshiftdriveJson = json.modules.FrameShiftDrive.module; const frameshiftdrive = _moduleFromEdId(frameshiftdriveJson.id); - if (json.modules.FrameShiftDrive.WorkInProgress_modifications) _addModifications(frameshiftdrive, json.modules.FrameShiftDrive.WorkInProgress_modifications, json.modules.FrameShiftDrive.engineer.recipeName, json.modules.FrameShiftDrive.engineer.recipeLevel); + rootModule = json.modules.FrameShiftDrive; + if (rootModule.WorkInProgress_modifications) _addModifications(frameshiftdrive, rootModule.WorkInProgress_modifications, rootModule.engineer.recipeName, rootModule.engineer.recipeLevel); ship.use(ship.standard[2], frameshiftdrive, true); ship.standard[2].enabled = frameshiftdriveJson.on === true; ship.standard[2].priority = frameshiftdriveJson.priority; @@ -188,7 +194,8 @@ export function shipFromJson(json) { // Life support const lifesupportJson = json.modules.LifeSupport.module; const lifesupport = _moduleFromEdId(lifesupportJson.id); - if (json.modules.LifeSupport.WorkInProgress_modifications) _addModifications(lifesupport, json.modules.LifeSupport.WorkInProgress_modifications, json.modules.LifeSupport.engineer.recipeName, json.modules.LifeSupport.engineer.recipeLevel); + rootModule = json.modules.LifeSupport; + if (rootModule.WorkInProgress_modifications) _addModifications(lifesupport, rootModule.WorkInProgress_modifications, rootModule.engineer.recipeName, rootModule.engineer.recipeLevel); ship.use(ship.standard[3], lifesupport, true); ship.standard[3].enabled = lifesupportJson.on === true; ship.standard[3].priority = lifesupportJson.priority; @@ -196,7 +203,8 @@ export function shipFromJson(json) { // Power distributor const powerdistributorJson = json.modules.PowerDistributor.module; const powerdistributor = _moduleFromEdId(powerdistributorJson.id); - if (json.modules.PowerDistributor.WorkInProgress_modifications) _addModifications(powerdistributor, json.modules.PowerDistributor.WorkInProgress_modifications, json.modules.PowerDistributor.engineer.recipeName, json.modules.PowerDistributor.engineer.recipeLevel); + rootModule = json.modules.PowerDistributor; + if (rootModule.WorkInProgress_modifications) _addModifications(powerdistributor, rootModule.WorkInProgress_modifications, rootModule.engineer.recipeName, rootModule.engineer.recipeLevel); ship.use(ship.standard[4], powerdistributor, true); ship.standard[4].enabled = powerdistributorJson.on === true; ship.standard[4].priority = powerdistributorJson.priority; @@ -204,7 +212,8 @@ export function shipFromJson(json) { // Sensors const sensorsJson = json.modules.Radar.module; const sensors = _moduleFromEdId(sensorsJson.id); - if (json.modules.Radar.WorkInProgress_modifications) _addModifications(sensors, json.modules.Radar.WorkInProgress_modifications, json.modules.Radar.engineer.recipeName, json.modules.Radar.engineer.recipeLevel); + rootModule = json.modules.Radar; + if (rootModule.WorkInProgress_modifications) _addModifications(sensors, rootModule.WorkInProgress_modifications, rootModule.engineer.recipeName, rootModule.engineer.recipeLevel); ship.use(ship.standard[5], sensors, true); ship.standard[5].enabled = sensorsJson.on === true; ship.standard[5].priority = sensorsJson.priority; @@ -240,7 +249,8 @@ export function shipFromJson(json) { } else { const hardpointJson = hardpointSlot.module; const hardpoint = _moduleFromEdId(hardpointJson.id); - if (hardpointSlot.WorkInProgress_modifications) _addModifications(hardpoint, hardpointSlot.WorkInProgress_modifications, hardpointSlot.engineer.recipeName, hardpointSlot.engineer.recipeLevel, hardpointSlot.specialModifications); + rootModule = hardpointSlot; + if (rootModule.WorkInProgress_modifications) _addModifications(hardpoint, rootModule.WorkInProgress_modifications, rootModule.engineer.recipeName, rootModule.engineer.recipeLevel, rootModule.specialModifications); ship.use(ship.hardpoints[hardpointArrayNum], hardpoint, true); ship.hardpoints[hardpointArrayNum].enabled = hardpointJson.on === true; ship.hardpoints[hardpointArrayNum].priority = hardpointJson.priority; @@ -282,7 +292,8 @@ export function shipFromJson(json) { } else { const internalJson = internalSlot.module; const internal = _moduleFromEdId(internalJson.id); - if (internalSlot.WorkInProgress_modifications) _addModifications(internal, internalSlot.WorkInProgress_modifications, internalSlot.engineer.recipeName, internalSlot.engineer.recipeLevel); + rootModule = internalSlot; + if (rootModule.WorkInProgress_modifications) _addModifications(internal, rootModule.WorkInProgress_modifications, rootModule.engineer.recipeName, rootModule.engineer.recipeLevel); ship.use(ship.internal[i], internal, true); ship.internal[i].enabled = internalJson.on === true; ship.internal[i].priority = internalJson.priority; From 4ed167de2215bb5d6c79d98f2e7a674456be101a Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 23 Dec 2017 12:03:21 +0000 Subject: [PATCH 16/25] Add T10 --- src/app/utils/CompanionApiUtils.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 036cfd36..664a93ed 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -35,6 +35,7 @@ const SHIP_FD_NAME_TO_CORIOLIS_NAME = { 'Type6': 'type_6_transporter', 'Type7': 'type_7_transport', 'Type9': 'type_9_heavy', + 'Type10': 'type_10_defender', 'Viper': 'viper', 'Viper_MkIV': 'viper_mk_iv', 'Vulture': 'vulture' From 3cc422596f5166752138aaaedf6ea3c77cfbf91b Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 24 Dec 2017 09:46:49 +0000 Subject: [PATCH 17/25] Something something consistant naming --- src/app/utils/CompanionApiUtils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 664a93ed..9072c2ba 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -35,7 +35,7 @@ const SHIP_FD_NAME_TO_CORIOLIS_NAME = { 'Type6': 'type_6_transporter', 'Type7': 'type_7_transport', 'Type9': 'type_9_heavy', - 'Type10': 'type_10_defender', + 'Type9_Military': 'type_10_defender', 'Viper': 'viper', 'Viper_MkIV': 'viper_mk_iv', 'Vulture': 'vulture' From 3c8dfebfdcf18a5c432faa4b6f8d34f461df2a6b Mon Sep 17 00:00:00 2001 From: Greg Matthews Date: Wed, 10 Jan 2018 21:14:06 -0800 Subject: [PATCH 18/25] Issue #186. Added passenger totals to shipyard screen --- src/app/pages/ShipyardPage.jsx | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/app/pages/ShipyardPage.jsx b/src/app/pages/ShipyardPage.jsx index 74404f45..1e74466f 100644 --- a/src/app/pages/ShipyardPage.jsx +++ b/src/app/pages/ShipyardPage.jsx @@ -25,6 +25,25 @@ function countInt(slot) { this.int[slot.maxClass - 1]++; // Subtract 1 since there is no Class 0 Internal compartment this.intCount++; this.maxCargo += crEligible ? ModuleUtils.findInternal('cr', slot.maxClass, 'E').cargo : 0; + + // if no eligiblity, then assume pce + let passSlotType = null; + let passSlotRating = null; + if (!slot.eligible || slot.eligible.pce) { + passSlotType = 'pce'; + passSlotRating = 'E'; + } else if (slot.eligible.pci) { + passSlotType = 'pci'; + passSlotRating = 'D'; + } else if (slot.eligible.pcm) { + passSlotType = 'pcm'; + passSlotRating = 'C'; + } else if (slot.eligible.pcq) { + passSlotType = 'pcq'; + passSlotRating = 'B'; + } + let passengerBay = passSlotType ? ModuleUtils.findInternal(passSlotType, slot.maxClass, passSlotRating) : null; + this.maxPassengers += passengerBay ? passengerBay.passengers : 0; } /** @@ -39,6 +58,7 @@ function shipSummary(shipId, shipData) { hpCount: 0, intCount: 0, maxCargo: 0, + maxPassengers: 0, hp: [0, 0, 0, 0, 0], // Utility, Small, Medium, Large, Huge int: [0, 0, 0, 0, 0, 0, 0, 0], // Sizes 1 - 8 standard: shipData.slots.standard, @@ -167,6 +187,7 @@ export default class ShipyardPage extends Page { {fInt(s.topBoost)} {fRound(s.maxJumpRange)} {fInt(s.maxCargo)} + {fInt(s.maxPassengers)} {s.standard[0]} {s.standard[1]} {s.standard[2]} @@ -307,7 +328,7 @@ export default class ShipyardPage extends Page { {translate('hrd')}   {translate('base')} - {translate('max')} + {translate('max')} @@ -324,6 +345,7 @@ export default class ShipyardPage extends Page { {translate('boost')} {translate('jump')} {translate('cargo')} + {translate('passengers')} {translate('core module classes')} {translate('hardpoints')} @@ -340,6 +362,7 @@ export default class ShipyardPage extends Page { {units['m/s']} {units.LY} {units.T} +   {'pp'} {'th'} {'fsd'} From 6e965e2e98cc0102ad5a2dfecc38a1406b34217e Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 11 Jan 2018 21:59:20 +0000 Subject: [PATCH 19/25] Version Bump --- ChangeLog.md | 4 ++++ package.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index 870d1bc0..2a04ba03 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,7 @@ +#2.5.0 + * willyb321 and myself have conquered engineering. Mainly him though... + * Use coriolis-data 2.5.0 + #2.4.2 Lots of kind people have helped out for this release! Check out the PR history! * Uses coriolis-data update: diff --git a/package.json b/package.json index a57defa6..e7201500 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coriolis_shipyard", - "version": "2.4.2", + "version": "2.5.0", "repository": { "type": "git", "url": "https://github.com/EDCD/coriolis" From e968e62fcaca6a634b2c0396c34d7b226a0e4839 Mon Sep 17 00:00:00 2001 From: willyb321 Date: Tue, 16 Jan 2018 08:14:21 +1100 Subject: [PATCH 20/25] Fix clip size (hopefully) --- src/app/utils/CompanionApiUtils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/utils/CompanionApiUtils.js b/src/app/utils/CompanionApiUtils.js index 7cb7c2c3..b568ac91 100644 --- a/src/app/utils/CompanionApiUtils.js +++ b/src/app/utils/CompanionApiUtils.js @@ -323,7 +323,7 @@ function _addModifications(module, modifiers, blueprint, grade, specialModificat } for (const i in modifiers) { // Some special modifications - if (i === 'OutfittingFieldType_AmmoClipSize' || modifiers[i].name === 'mod_weapon_clip_size_override') { + if (modifiers[i].name === 'mod_weapon_clip_size_override') { // This is a numeric addition to the clip size, but we need to work it out in terms of being a percentage so // that it works the same as other modifications const origClip = module.clip || 1; From bf20d3236419e6146ea145bd72dc2491ed51ff60 Mon Sep 17 00:00:00 2001 From: Sean McIntyre Date: Mon, 22 Jan 2018 15:20:41 -0500 Subject: [PATCH 21/25] Adding AX modules --- package-lock.json | 2 +- package.json | 2 +- src/app/components/AvailableModulesMenu.jsx | 12 ++++++++---- src/app/i18n/en.json | 4 ++++ src/app/shipyard/Constants.js | 6 +++++- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1ea63c67..dad33ac1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "coriolis_shipyard", - "version": "2.4.1", + "version": "2.5.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a57defa6..ae06e517 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "babel-polyfill": "*", "browserify-zlib-next": "^1.0.1", "classnames": "^2.2.5", - "coriolis-data": "../coriolis-data", + "coriolis-data": "file:../coriolis-data", "d3": "4.8.0", "detect-browser": "^1.7.0", "fbemitter": "^2.1.1", diff --git a/src/app/components/AvailableModulesMenu.jsx b/src/app/components/AvailableModulesMenu.jsx index 37fb865a..06d4bfb7 100644 --- a/src/app/components/AvailableModulesMenu.jsx +++ b/src/app/components/AvailableModulesMenu.jsx @@ -37,10 +37,12 @@ const GRPCAT = { 'ml': 'lasers', 'c': 'projectiles', 'mc': 'projectiles', + 'axmc': 'projectiles', 'fc': 'projectiles', 'pa': 'projectiles', 'rg': 'projectiles', 'mr': 'ordnance', + 'axmr': 'ordnance', 'tp': 'ordnance', 'nl': 'ordnance', 'sc': 'scanners', @@ -49,9 +51,11 @@ const GRPCAT = { 'cs': 'scanners', 'kw': 'scanners', 'ws': 'scanners', + 'xs': 'scanners', 'ch': 'defence', 'po': 'defence', 'ec': 'defence', + 'sfn': 'defence' }; // Order here is the order in which items will be shown in the modules menu const CATEGORIES = { @@ -69,13 +73,13 @@ const CATEGORIES = { 'dc': ['dc'], // Hardpoints 'lasers': ['pl', 'ul', 'bl', 'ml'], - 'projectiles': ['mc', 'c', 'fc', 'pa', 'rg'], - 'ordnance': ['mr', 'tp', 'nl'], + 'projectiles': ['mc', 'axmc', 'c', 'fc', 'pa', 'rg'], + 'ordnance': ['mr', 'axmr', 'tp', 'nl'], // Utilities 'sb': ['sb'], 'hs': ['hs'], - 'defence': ['ch', 'po', 'ec'], - 'scanners': ['sc', 'ss', 'cs', 'kw', 'ws'], // Overloaded with internal scanners + 'defence': ['ch', 'po', 'ec', 'sfn'], + 'scanners': ['sc', 'ss', 'cs', 'kw', 'ws', 'xs'], // Overloaded with internal scanners }; /** diff --git a/src/app/i18n/en.json b/src/app/i18n/en.json index dd1521c8..466408c0 100644 --- a/src/app/i18n/en.json +++ b/src/app/i18n/en.json @@ -98,8 +98,10 @@ "kw": "Kill Warrant Scanner", "ls": "Life Support", "mc": "Multi-cannon", + "axmc": "AX Multi-cannon", "ml": "Mining Laser", "mr": "Missile Rack", + "axmr": "AX Missile Rack", "mrp": "Module Reinforcement Package", "nl": "Mine Launcher", "pa": "Plasma Accelerator", @@ -121,6 +123,7 @@ "sb": "Shield Booster", "sc": "Stellar Scanners", "scb": "Shield Cell Bank", + "sfn": "Shutdown Field Neutraliser", "sg": "Shield Generator", "ss": "Surface Scanners", "t": "thrusters", @@ -128,6 +131,7 @@ "ul": "Burst Laser", "ws": "Frame Shift Wake Scanner", "rpl": "Repair Limpet Controller", + "xs": "Xeno Scanner", "emptyrestricted": "empty (restricted)", "damage dealt to": "Damage dealt to", "damage received from": "Damage received from", diff --git a/src/app/shipyard/Constants.js b/src/app/shipyard/Constants.js index 262120ef..fc77c654 100755 --- a/src/app/shipyard/Constants.js +++ b/src/app/shipyard/Constants.js @@ -64,13 +64,17 @@ export const ModuleGroupToName = { nl: 'Mine Launcher', ml: 'Mining Laser', mr: 'Missile Rack', + axmr: 'AX Missile Rack', pa: 'Plasma Accelerator', po: 'Point Defence', mc: 'Multi-cannon', + axmc: 'AX Multi-cannon', pl: 'Pulse Laser', rg: 'Rail Gun', sb: 'Shield Booster', - tp: 'Torpedo Pylon' + tp: 'Torpedo Pylon', + sfn: 'Shutdown Field Neutraliser', + xs: 'Xeno Scanner' }; let GrpNameToCodeMap = {}; From d82cd6a89e35d446c55c55e224030f824095d46a Mon Sep 17 00:00:00 2001 From: Sean McIntyre Date: Mon, 22 Jan 2018 15:21:59 -0500 Subject: [PATCH 22/25] Removing unnecessary change --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ae06e517..a57defa6 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "babel-polyfill": "*", "browserify-zlib-next": "^1.0.1", "classnames": "^2.2.5", - "coriolis-data": "file:../coriolis-data", + "coriolis-data": "../coriolis-data", "d3": "4.8.0", "detect-browser": "^1.7.0", "fbemitter": "^2.1.1", From 56ca73b4ad77c62556cd2f4c42b716a532f16cb1 Mon Sep 17 00:00:00 2001 From: Sean McIntyre Date: Mon, 22 Jan 2018 16:43:29 -0500 Subject: [PATCH 23/25] Forgot Remote Release Flak Launcher --- src/app/components/AvailableModulesMenu.jsx | 3 ++- src/app/i18n/en.json | 1 + src/app/shipyard/Constants.js | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/app/components/AvailableModulesMenu.jsx b/src/app/components/AvailableModulesMenu.jsx index 06d4bfb7..e39876d6 100644 --- a/src/app/components/AvailableModulesMenu.jsx +++ b/src/app/components/AvailableModulesMenu.jsx @@ -39,6 +39,7 @@ const GRPCAT = { 'mc': 'projectiles', 'axmc': 'projectiles', 'fc': 'projectiles', + 'rfl': 'projectiles', 'pa': 'projectiles', 'rg': 'projectiles', 'mr': 'ordnance', @@ -73,7 +74,7 @@ const CATEGORIES = { 'dc': ['dc'], // Hardpoints 'lasers': ['pl', 'ul', 'bl', 'ml'], - 'projectiles': ['mc', 'axmc', 'c', 'fc', 'pa', 'rg'], + 'projectiles': ['mc', 'axmc', 'c', 'fc', 'rfl', 'pa', 'rg'], 'ordnance': ['mr', 'axmr', 'tp', 'nl'], // Utilities 'sb': ['sb'], diff --git a/src/app/i18n/en.json b/src/app/i18n/en.json index 466408c0..8eb87450 100644 --- a/src/app/i18n/en.json +++ b/src/app/i18n/en.json @@ -118,6 +118,7 @@ "psg": "Prismatic Shield Generator", "pv": "Planetary Vehicle Hangar", "rf": "Refinery", + "rfl": "Remote Release Flak Launcher", "rg": "Rail Gun", "s": "Sensors", "sb": "Shield Booster", diff --git a/src/app/shipyard/Constants.js b/src/app/shipyard/Constants.js index fc77c654..5763923a 100755 --- a/src/app/shipyard/Constants.js +++ b/src/app/shipyard/Constants.js @@ -58,6 +58,7 @@ export const ModuleGroupToName = { cm: 'Countermeasure', ec: 'Electronic Countermeasure', fc: 'Fragment Cannon', + rfl: 'Remote Release Flak Launcher', hs: 'Heat Sink Launcher', ws: 'Frame Shift Wake Scanner', kw: 'Kill Warrant Scanner', From 95c474dc0533ea25e5a3af17649747efb8cbc550 Mon Sep 17 00:00:00 2001 From: Sean McIntyre Date: Mon, 22 Jan 2018 16:48:10 -0500 Subject: [PATCH 24/25] Recategorizing experimental modules into an "experimental" category --- src/app/components/AvailableModulesMenu.jsx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/app/components/AvailableModulesMenu.jsx b/src/app/components/AvailableModulesMenu.jsx index e39876d6..680001ba 100644 --- a/src/app/components/AvailableModulesMenu.jsx +++ b/src/app/components/AvailableModulesMenu.jsx @@ -37,13 +37,13 @@ const GRPCAT = { 'ml': 'lasers', 'c': 'projectiles', 'mc': 'projectiles', - 'axmc': 'projectiles', + 'axmc': 'experimental', 'fc': 'projectiles', - 'rfl': 'projectiles', + 'rfl': 'experimental', 'pa': 'projectiles', 'rg': 'projectiles', 'mr': 'ordnance', - 'axmr': 'ordnance', + 'axmr': 'experimental', 'tp': 'ordnance', 'nl': 'ordnance', 'sc': 'scanners', @@ -74,13 +74,15 @@ const CATEGORIES = { 'dc': ['dc'], // Hardpoints 'lasers': ['pl', 'ul', 'bl', 'ml'], - 'projectiles': ['mc', 'axmc', 'c', 'fc', 'rfl', 'pa', 'rg'], - 'ordnance': ['mr', 'axmr', 'tp', 'nl'], + 'projectiles': ['mc', 'c', 'fc', 'pa', 'rg'], + 'ordnance': ['mr', 'tp', 'nl'], // Utilities 'sb': ['sb'], 'hs': ['hs'], - 'defence': ['ch', 'po', 'ec', 'sfn'], - 'scanners': ['sc', 'ss', 'cs', 'kw', 'ws', 'xs'], // Overloaded with internal scanners + 'defence': ['ch', 'po', 'ec'], + 'scanners': ['sc', 'ss', 'cs', 'kw', 'ws'], // Overloaded with internal scanners + // Experimental + 'experimental': ['axmc', 'axmr', 'rfl', 'xs', 'sfn'] }; /** From c630dbbed03a0b4204e6ae004553cdf90c982ddb Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 24 Jan 2018 09:18:21 +0000 Subject: [PATCH 25/25] Version Bump --- ChangeLog.md | 6 + package-lock.json | 913 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 3 files changed, 920 insertions(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index 2a04ba03..f064705f 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,9 @@ +#2.5.1 + * Passenger count on main page + * AX Modules + * Engineering fixes + * Use coriolis-data 2.5.1 + #2.5.0 * willyb321 and myself have conquered engineering. Mainly him though... * Use coriolis-data 2.5.0 diff --git a/package-lock.json b/package-lock.json index dad33ac1..e81bff1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1943,6 +1943,7 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", + "fsevents": "1.1.3", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -5034,6 +5035,910 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.8.0", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -7860,6 +8765,13 @@ "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", "dev": true }, + "nan": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", + "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "dev": true, + "optional": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -9823,6 +10735,7 @@ "anymatch": "1.3.2", "exec-sh": "0.2.1", "fb-watchman": "2.0.0", + "fsevents": "1.1.3", "minimatch": "3.0.4", "minimist": "1.2.0", "walker": "1.0.7", diff --git a/package.json b/package.json index e7201500..395a33d9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coriolis_shipyard", - "version": "2.5.0", + "version": "2.5.1", "repository": { "type": "git", "url": "https://github.com/EDCD/coriolis"