mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-09 22:55:35 +00:00
Ensure module ordering is consistent
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
* Add movement summary to outfitting page
|
* Add movement summary to outfitting page
|
||||||
* Add standard internal class sizes to shipyard page
|
* Add standard internal class sizes to shipyard page
|
||||||
* Fix issue when importing Viper Mk IV
|
* Fix issue when importing Viper Mk IV
|
||||||
|
* Ensure ordering of all types of modules (standard, internal, utilities) is consistent
|
||||||
|
|
||||||
#2.2.5
|
#2.2.5
|
||||||
* Calculate rate of fire for multi-burst weapons
|
* Calculate rate of fire for multi-burst weapons
|
||||||
|
|||||||
@@ -93,8 +93,10 @@ export default class AvailableModulesMenu extends TranslatedComponent {
|
|||||||
let prevClass = null, prevRating = null;
|
let prevClass = null, prevRating = null;
|
||||||
let elems = [];
|
let elems = [];
|
||||||
|
|
||||||
for (let i = 0; i < modules.length; i++) {
|
const sortedModules = modules.sort(this._moduleOrder);
|
||||||
let m = modules[i];
|
|
||||||
|
for (let i = 0; i < sortedModules.length; i++) {
|
||||||
|
let m = sortedModules[i];
|
||||||
let mount = null;
|
let mount = null;
|
||||||
let disabled = m.maxmass && (mass + (m.mass ? m.mass : 0)) > m.maxmass;
|
let disabled = m.maxmass && (mass + (m.mass ? m.mass : 0)) > m.maxmass;
|
||||||
let active = mountedModule && mountedModule.id === m.id;
|
let active = mountedModule && mountedModule.id === m.id;
|
||||||
@@ -126,7 +128,7 @@ export default class AvailableModulesMenu extends TranslatedComponent {
|
|||||||
case 'T': mount = <MountTurret className={'lg'}/>; break;
|
case 'T': mount = <MountTurret className={'lg'}/>; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i > 0 && modules.length > 3 && m.class != prevClass && (m.rating != prevRating || m.mount) && m.grp != 'pa') {
|
if (i > 0 && sortedModules.length > 3 && m.class != prevClass && (m.rating != prevRating || m.mount) && m.grp != 'pa') {
|
||||||
elems.push(<br key={'b' + m.grp + i} />);
|
elems.push(<br key={'b' + m.grp + i} />);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -201,6 +203,32 @@ export default class AvailableModulesMenu extends TranslatedComponent {
|
|||||||
this.context.tooltip();
|
this.context.tooltip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_moduleOrder(a, b) {
|
||||||
|
// Named modules go last
|
||||||
|
if (!a.name && b.name) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (a.name && !b.name) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
// Class ordered from highest (8) to lowest (1)
|
||||||
|
if (a.class < b.class) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (a.class > b.class) {
|
||||||
|
return -1;
|
||||||
|
// Rating ordered from lowest (E) to highest (A)
|
||||||
|
}
|
||||||
|
if (a.rating < b.rating) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (a.rating > b.rating) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
// Do not attempt to order by name at this point, as that mucks up the order of armour
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scroll to mounted (if it exists) module group on mount
|
* Scroll to mounted (if it exists) module group on mount
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ export default class MovementSummary extends TranslatedComponent {
|
|||||||
<td>2</td>
|
<td>2</td>
|
||||||
<td>3</td>
|
<td>3</td>
|
||||||
<td>4</td>
|
<td>4</td>
|
||||||
<td>4B</td>
|
<td onMouseOver={termtip.bind(null, '4b')} onMouseOut={tooltip.bind(null, null)}>4B</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td className='ri'>{translate('speed')} ({units['m/s']})</td>
|
<td className='ri'>{translate('speed')} ({units['m/s']})</td>
|
||||||
|
|||||||
@@ -109,6 +109,7 @@ export const terms = {
|
|||||||
'recovery': 'Recovery',
|
'recovery': 'Recovery',
|
||||||
'recharge': 'Recharge',
|
'recharge': 'Recharge',
|
||||||
'engine pips': 'Engine Pips',
|
'engine pips': 'Engine Pips',
|
||||||
|
'4b': '4 pips and boost',
|
||||||
'speed': 'Speed',
|
'speed': 'Speed',
|
||||||
'pitch': 'Pitch',
|
'pitch': 'Pitch',
|
||||||
'roll': 'Roll',
|
'roll': 'Roll',
|
||||||
|
|||||||
Reference in New Issue
Block a user