mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-09 06:43:24 +00:00
Fix shield boost values; add tooltips
This commit is contained in:
@@ -111,8 +111,11 @@ export default class ModificationsMenu extends TranslatedComponent {
|
||||
const { m, ship } = this.props;
|
||||
const features = m.blueprint.features[m.blueprint.grade];
|
||||
for (const featureName in features) {
|
||||
if (Modifications.modifications[featureName].method == 'overwrite') {
|
||||
ship.setModification(m, featureName, features[featureName][1]);
|
||||
} else {
|
||||
let value = features[featureName][0];
|
||||
if (m.grp == 'sb') {
|
||||
if (m.grp == 'sb' && featureName == 'shieldboost') {
|
||||
// Shield boosters are a special case. Their boost is dependent on their base so we need to calculate the value here
|
||||
value = ((1 + m.shieldboost)*(1 + value) - 1) / m.shieldboost - 1
|
||||
}
|
||||
@@ -123,6 +126,7 @@ export default class ModificationsMenu extends TranslatedComponent {
|
||||
ship.setModification(m, featureName, value * 100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.setState({ modifications: this._setModifications(this.props) });
|
||||
this.props.onChange();
|
||||
@@ -135,8 +139,11 @@ export default class ModificationsMenu extends TranslatedComponent {
|
||||
const { m, ship } = this.props;
|
||||
const features = m.blueprint.features[m.blueprint.grade];
|
||||
for (const featureName in features) {
|
||||
if (Modifications.modifications[featureName].method == 'overwrite') {
|
||||
ship.setModification(m, featureName, features[featureName][1]);
|
||||
} else {
|
||||
let value = features[featureName][0] + (Math.random() * (features[featureName][1] - features[featureName][0]));
|
||||
if (m.grp == 'sb') {
|
||||
if (m.grp == 'sb' && featureName == 'shieldboost') {
|
||||
// Shield boosters are a special case. Their boost is dependent on their base so we need to calculate the value here
|
||||
value = ((1 + m.shieldboost)*(1 + value) - 1) / m.shieldboost - 1
|
||||
}
|
||||
@@ -147,6 +154,7 @@ export default class ModificationsMenu extends TranslatedComponent {
|
||||
ship.setModification(m, featureName, value * 100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.setState({ modifications: this._setModifications(this.props) });
|
||||
this.props.onChange();
|
||||
@@ -159,8 +167,11 @@ export default class ModificationsMenu extends TranslatedComponent {
|
||||
const { m, ship } = this.props;
|
||||
const features = m.blueprint.features[m.blueprint.grade];
|
||||
for (const featureName in features) {
|
||||
if (Modifications.modifications[featureName].method == 'overwrite') {
|
||||
ship.setModification(m, featureName, features[featureName][1]);
|
||||
} else {
|
||||
let value = features[featureName][1];
|
||||
if (m.grp == 'sb') {
|
||||
if (m.grp == 'sb' && featureName == 'shieldboost') {
|
||||
// Shield boosters are a special case. Their boost is dependent on their base so we need to calculate the value here
|
||||
value = ((1 + m.shieldboost)*(1 + value) - 1) / m.shieldboost - 1
|
||||
}
|
||||
@@ -171,6 +182,7 @@ export default class ModificationsMenu extends TranslatedComponent {
|
||||
ship.setModification(m, featureName, value * 100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.setState({ modifications: this._setModifications(this.props) });
|
||||
this.props.onChange();
|
||||
@@ -211,7 +223,7 @@ export default class ModificationsMenu extends TranslatedComponent {
|
||||
blueprintLabel = translate(m.blueprint.name) + ' ' + translate('grade') + ' ' + m.blueprint.grade;
|
||||
haveBlueprint = true;
|
||||
} else {
|
||||
blueprintLabel = translate('select a blueprint');
|
||||
blueprintLabel = translate('PHRASE_SELECT_BLUEPRINT');
|
||||
}
|
||||
|
||||
return (
|
||||
@@ -220,17 +232,17 @@ export default class ModificationsMenu extends TranslatedComponent {
|
||||
onClick={(e) => e.stopPropagation() }
|
||||
onContextMenu={stopCtxPropagation}
|
||||
>
|
||||
<div className={ cn('section-menu', { selected: blueprintMenuOpened })} style={{ cursor: 'pointer' }} onClick={_toggleBlueprintsMenu}>{blueprintLabel}</div>
|
||||
<div className={ cn('section-menu', { selected: true })} style={{ cursor: 'pointer' }} onClick={_toggleBlueprintsMenu}>{blueprintLabel}</div>
|
||||
{ blueprintMenuOpened ? this.state.blueprints : '' }
|
||||
{ haveBlueprint ?
|
||||
<table style={{ width: '100%' }}>
|
||||
<table style={{ width: '100%', backgroundColor: 'transparent' }}>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td> { translate('roll') } </td>
|
||||
<td style={{ cursor: 'pointer' }} onClick={_rollWorst}> { translate('worst') } </td>
|
||||
<td style={{ cursor: 'pointer' }} onClick={_rollRandom}> { translate('random') } </td>
|
||||
<td style={{ cursor: 'pointer' }} onClick={_rollBest}> { translate('best') } </td>
|
||||
<td style={{ cursor: 'pointer' }} onClick={_reset}> { translate('reset') } </td>
|
||||
<td> { translate('roll') }: </td>
|
||||
<td style={{ cursor: 'pointer' }} onClick={_rollWorst} onMouseOver={termtip.bind(null, 'PHRASE_BLUEPRINT_WORST')} onMouseOut={tooltip.bind(null, null)}> { translate('worst') } </td>
|
||||
<td style={{ cursor: 'pointer' }} onClick={_rollRandom} onMouseOver={termtip.bind(null, 'PHRASE_BLUEPRINT_RANDOM')} onMouseOut={tooltip.bind(null, null)}> { translate('random') } </td>
|
||||
<td style={{ cursor: 'pointer' }} onClick={_rollBest}onMouseOver={termtip.bind(null, 'PHRASE_BLUEPRINT_BEST')} onMouseOut={tooltip.bind(null, null)}> { translate('best') } </td>
|
||||
<td style={{ cursor: 'pointer' }} onClick={_reset}onMouseOver={termtip.bind(null, 'PHRASE_BLUEPRINT_RESET')} onMouseOut={tooltip.bind(null, null)}> { translate('reset') } </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table> : '' }
|
||||
|
||||
@@ -29,6 +29,11 @@ export const terms = {
|
||||
PHRASE_UNLADEN: 'Ship mass excluding fuel and cargo',
|
||||
PHRASE_UPDATE_RDY: 'Update Available! Click to refresh',
|
||||
PHRASE_ENGAGEMENT_RANGE: 'The distance between your ship and its target',
|
||||
PHRASE_SELECT_BLUEPRINT: 'Click to select a blueprint',
|
||||
PHRASE_BLUEPRINT_WORST: 'Worst primary values for this blueprint',
|
||||
PHRASE_BLUEPRINT_RANDOM: 'Random selection between worst and best primary values for this blueprint',
|
||||
PHRASE_BLUEPRINT_BEST: 'Best primary values for this blueprint',
|
||||
PHRASE_BLUEPRINT_RESET: 'Remove all modifications and blueprint',
|
||||
|
||||
HELP_MODIFICATIONS_MENU: 'Click on a number to enter a new value, or drag along the bar for small changes',
|
||||
|
||||
@@ -102,6 +107,12 @@ export const terms = {
|
||||
|
||||
rebuildsperbay: 'Rebuilds per bay',
|
||||
|
||||
// Blueprint rolls
|
||||
worst: 'Worst',
|
||||
random: 'Random',
|
||||
best: 'Best',
|
||||
reset: 'Reset',
|
||||
|
||||
// Weapon, offence, defence and movement
|
||||
dpe: 'Damage per MJ of energy',
|
||||
dps: 'Damage per second',
|
||||
|
||||
Reference in New Issue
Block a user