From 8b0e822ea96e8f7b8d2a11832050463cdbf2425c Mon Sep 17 00:00:00 2001 From: Cmdr McDonald Date: Thu, 23 Mar 2017 10:14:43 +0000 Subject: [PATCH] Fixes --- src/app/components/ModificationsMenu.jsx | 8 +++++--- src/app/pages/OutfittingPage.jsx | 4 ++-- src/app/shipyard/Ship.js | 12 ++++++------ src/app/utils/BlueprintFunctions.js | 16 ++++++++++------ 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/app/components/ModificationsMenu.jsx b/src/app/components/ModificationsMenu.jsx index ee950579..6486d951 100644 --- a/src/app/components/ModificationsMenu.jsx +++ b/src/app/components/ModificationsMenu.jsx @@ -133,7 +133,7 @@ export default class ModificationsMenu extends TranslatedComponent { * @param {int} special The name of the selected special */ _specialSelected(special) { - const { m } = this.props; + const { m, ship } = this.props; if (m.blueprint) { if (special === null) { @@ -141,6 +141,9 @@ export default class ModificationsMenu extends TranslatedComponent { } else { m.blueprint.special = Modifications.specials[special]; } + ship.recalculateDps(); + ship.recalculateHps(); + ship.recalculateEps(); } const specialMenuOpened = false; @@ -300,8 +303,7 @@ export default class ModificationsMenu extends TranslatedComponent { onContextMenu={stopCtxPropagation} > { haveBlueprint ? -
{blueprintLabel}
- : +
{blueprintLabel}
:
{translate('PHRASE_SELECT_BLUEPRINT')}
} { showBlueprintsMenu ? this.state.blueprints : null } { showSpecial ?
{specialLabel}
: null } diff --git a/src/app/pages/OutfittingPage.jsx b/src/app/pages/OutfittingPage.jsx index 81372ec8..18dae989 100644 --- a/src/app/pages/OutfittingPage.jsx +++ b/src/app/pages/OutfittingPage.jsx @@ -204,8 +204,8 @@ export default class OutfittingPage extends Page { opponentSys = parseFloat(opponentControl[0]); opponentEng = parseFloat(opponentControl[1]); opponentWep = parseFloat(opponentControl[2]); - } - } + } + } } else { // Ship is a stock build opponent.buildWith(Ships[shipId].defaults); diff --git a/src/app/shipyard/Ship.js b/src/app/shipyard/Ship.js index d207279e..cfa9a1f4 100755 --- a/src/app/shipyard/Ship.js +++ b/src/app/shipyard/Ship.js @@ -613,9 +613,9 @@ export default class Ship { module.blueprint = getBlueprint(blueprints[i + 1].fdname, module); module.blueprint.grade = blueprints[i + 1].grade; module.blueprint.special = blueprints[i + 1].special; - } else { + } else { module.blueprint = {}; - } + } } this.use(standard[i], module, true); } @@ -641,9 +641,9 @@ export default class Ship { module.blueprint = getBlueprint(blueprints[cl + i].fdname, module); module.blueprint.grade = blueprints[cl + i].grade; module.blueprint.special = blueprints[cl + i].special; - } else { + } else { module.blueprint = {}; - } + } } this.use(hps[i], module, true); } @@ -667,9 +667,9 @@ export default class Ship { module.blueprint = getBlueprint(blueprints[cl + i].fdname, module); module.blueprint.grade = blueprints[cl + i].grade; module.blueprint.special = blueprints[cl + i].special; - } else { + } else { module.blueprint = {}; - } + } } this.use(internal[i], module, true); } diff --git a/src/app/utils/BlueprintFunctions.js b/src/app/utils/BlueprintFunctions.js index 7dcddf04..2a55a56d 100644 --- a/src/app/utils/BlueprintFunctions.js +++ b/src/app/utils/BlueprintFunctions.js @@ -3,12 +3,12 @@ import { Modifications } from 'coriolis-data/dist'; /** * Generate a tooltip with details of a blueprint's effects + * @param {Object} translate The translate object * @param {Object} features The features of the blueprint * @param {Object} m The module to compare with * @returns {Object} The react components */ -export function blueprintTooltip(translate, features, m) -{ +export function blueprintTooltip(translate, features, m) { const results = []; for (const feature in features) { const featureIsBeneficial = isBeneficial(feature, features[feature]); @@ -75,7 +75,9 @@ export function blueprintTooltip(translate, features, m) /** * Is this blueprint feature beneficial? - * + * @param {string} feature The name of the feature + * @param {array} values The value of the feature + * @returns {boolean} True if this feature is beneficial */ export function isBeneficial(feature, values) { const fact = (values[0] < 0 || (values[0] === 0 && values[1] < 0)); @@ -88,7 +90,9 @@ export function isBeneficial(feature, values) { /** * Is this feature value beneficial? - * + * @param {string} feature The name of the feature + * @param {number} value The value of the feature + * @returns {boolean} True if this value is beneficial */ export function isValueBeneficial(feature, value) { if (Modifications.modifications[feature].higherbetter) { @@ -134,8 +138,8 @@ export function getBlueprint(name, module) { for (const grade in blueprint.grades) { for (const feature in blueprint.grades[grade].features) { if (feature === 'shieldboost') { - blueprint.grades[grade].features[feature][0] = ((1 + blueprint.grades[grade].features[feature][0]) * (1 + module.shieldboost) - 1)/ module.shieldboost - 1; - blueprint.grades[grade].features[feature][1] = ((1 + blueprint.grades[grade].features[feature][1]) * (1 + module.shieldboost) - 1)/ module.shieldboost - 1; + blueprint.grades[grade].features[feature][0] = ((1 + blueprint.grades[grade].features[feature][0]) * (1 + module.shieldboost) - 1) / module.shieldboost - 1; + blueprint.grades[grade].features[feature][1] = ((1 + blueprint.grades[grade].features[feature][1]) * (1 + module.shieldboost) - 1) / module.shieldboost - 1; } } }