Skip to content

Commit ed6cc49

Browse files
Merge pull request #799 from EDCD/develop
Develop
2 parents c3cb2cf + 070bead commit ed6cc49

34 files changed

+2035
-1538
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## About
44

5-
The Coriolis project was inspired by [E:D Shipyard](http://www.edshipyard.com/) and, of course, [Elite Dangerous](http://www.elitedangerous.com). The ultimate goal of Coriolis is to provide rich features to support in-game play and planning while engaging the E:D community to support its development.
5+
The Coriolis project was inspired by E:D Shipyard and, of course, [Elite Dangerous](http://www.elitedangerous.com). The ultimate goal of Coriolis is to provide rich features to support in-game play and planning while engaging the E:D community to support its development.
66

77
Coriolis was created using assets and imagery from Elite: Dangerous, with the permission of Frontier Developments plc, for non-commercial purposes. It is not endorsed by nor reflects the views or opinions of Frontier Developments and no employee of Frontier Developments was involved in the making of it.
88

src/app/Coriolis.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ export default class Coriolis extends React.Component {
6868
this.state = {
6969
noTouch: !('ontouchstart' in window || navigator.msMaxTouchPoints || navigator.maxTouchPoints),
7070
page: null,
71-
announcements: [],
71+
// Announcements must have an expiry date in format "YYYY-MM-DDTHH:MM:SSZ"
72+
announcements: [{expiry: "2024-11-30T00:00:00Z", text: "Mandalay added"}, {expiry: "2024-12-06T00:00:00Z", text: "Concord Cannon added"}, {expiry: "2024-12-08T00:00:00Z", text: "Boost Interval Feature added"}],
7273
language: getLanguage(Persist.getLangCode()),
7374
route: {},
7475
sizeRatio: Persist.getSizeRatio()

src/app/components/AvailableModulesMenu.jsx

+36-8
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,18 @@ const GRPCAT = {
3939
'ml': 'lasers',
4040
'c': 'projectiles',
4141
'mc': 'projectiles',
42+
'advmc': 'projectiles',
4243
'axmc': 'experimental',
44+
'axmce': 'experimental',
45+
'ntp': 'experimental',
4346
'fc': 'projectiles',
4447
'rfl': 'experimental',
4548
'pa': 'projectiles',
4649
'rg': 'projectiles',
4750
'mr': 'ordnance',
51+
'amr': 'ordnance',
4852
'axmr': 'experimental',
53+
'axmre': 'experimental',
4954
'rcpl': 'experimental',
5055
'dtl': 'experimental',
5156
'tbsc': 'experimental',
@@ -104,16 +109,16 @@ const CATEGORIES = {
104109

105110
// Hardpoints
106111
'lasers': ['pl', 'ul', 'bl'],
107-
'projectiles': ['mc', 'c', 'fc', 'pa', 'rg'],
108-
'ordnance': ['mr', 'tp', 'nl'],
112+
'projectiles': ['mc', 'advmc', 'c', 'fc', 'pa', 'rg'],
113+
'ordnance': ['mr', 'amr', 'tp', 'nl'],
109114
// Utilities
110115
'sb': ['sb'],
111116
'hs': ['hs'],
112117
'csl': ['csl'],
113118
'defence': ['ch', 'po', 'ec'],
114119
'scanners': ['sc', 'ss', 'cs', 'kw', 'ws'], // Overloaded with internal scanners
115120
// Experimental
116-
'experimental': ['axmc', 'axmr', 'rfl', 'tbrfl', 'tbsc', 'tbem', 'xs', 'sfn', 'rcpl', 'dtl', 'rsl', 'mahr',],
121+
'experimental': ['axmc', 'axmce', 'axmr', 'axmre', 'ntp','rfl', 'tbrfl', 'tbsc', 'tbem', 'xs', 'sfn', 'rcpl', 'dtl', 'rsl', 'mahr',],
117122
'weapon stabilizers': ['ews'],
118123
// Guardian
119124
'guardian': ['gpp', 'gpd', 'gpc', 'ggc', 'gsrp', 'gfsb', 'ghrp', 'gmrp', 'gsc'],
@@ -213,16 +218,30 @@ export default class AvailableModulesMenu extends TranslatedComponent {
213218
if (categories.length === 1) {
214219
// Show category header instead of group header
215220
if (m && grp == m.grp) {
216-
list.push(<div ref={(elem) => this.groupElem = elem} key={category}
221+
// If this is a missing module/weapon, skip it
222+
if (m.grp == "mh" || m.grp == "mm"){
223+
continue;
224+
} else {
225+
list.push(<div ref={(elem) => this.groupElem = elem} key={category}
217226
className={'select-category upp'}>{translate(category)}</div>);
227+
}
218228
} else {
219-
list.push(<div key={category} className={'select-category upp'}>{translate(category)}</div>);
229+
if (category == "mh" || category == "mm"){
230+
continue;
231+
} else {
232+
list.push(<div key={category} className={'select-category upp'}>{translate(category)}</div>);
233+
}
220234
}
221235
} else {
222236
// Show category header as well as group header
223237
if (!categoryHeader) {
224-
list.push(<div key={category} className={'select-category upp'}>{translate(category)}</div>);
225-
categoryHeader = true;
238+
if (category == "mh" || category == "mm"){
239+
continue;
240+
}
241+
else {
242+
list.push(<div key={category} className={'select-category upp'}>{translate(category)}</div>);
243+
categoryHeader = true;
244+
}
226245
}
227246
if (m && grp == m.grp) {
228247
list.push(<div ref={(elem) => this.groupElem = elem} key={grp}
@@ -241,7 +260,11 @@ export default class AvailableModulesMenu extends TranslatedComponent {
241260
} else if (i.mount === 'T') {
242261
mount = 'Turreted';
243262
}
244-
const fuzz = { grp, m: i, name: `${i.class}${i.rating}${mount ? ' ' + mount : ''} ${translate(grp)}` };
263+
let special = '';
264+
if (typeof(i.special) !== 'undefined') {
265+
special = `(${translate(i.special)})`;
266+
}
267+
const fuzz = { grp, m: i, name: `${i.class}${i.rating}${mount ? ' ' + mount : ''} ${translate(grp)} ${translate(special)}` };
245268
fuzzy.push(fuzz);
246269
}
247270
}
@@ -298,6 +321,11 @@ export default class AvailableModulesMenu extends TranslatedComponent {
298321
let itemsOnThisRow = 0;
299322
for (let i = 0; i < sortedModules.length; i++) {
300323
let m = sortedModules[i];
324+
// If m.grp is mh or mm, or m.symbol contains 'Missing' skip it
325+
if (m.grp == 'mh' || m.grp == 'mm' || (typeof(m.symbol) !== 'undefined' && m.symbol.includes("Missing"))) {
326+
// If this is a missing module, skip it
327+
continue;
328+
}
301329
let mount = null;
302330
let disabled = false;
303331
prevName = m.name;

src/app/components/HardpointSlot.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ export default class HardpointSlot extends Slot {
136136
{showModuleResistances && m.getThermalResistance() ? <div
137137
className='l'>{translate('thermres')}: {formats.pct(m.getThermalResistance())}</div> : null}
138138
{m.getIntegrity() ? <div className='l'>{translate('integrity')}: {formats.int(m.getIntegrity())}</div> : null}
139+
{m.getInfo() ? <div className='l'>{translate(m.getInfo())}</div> : null}
139140
{m && validMods.length > 0 ? <div className='r' tabIndex="0" ref={modButton => this.modButton = modButton}>
140141
<button tabIndex="-1" onClick={this._toggleModifications.bind(this)} onContextMenu={stopCtxPropagation}
141142
onMouseOver={termtip.bind(null, 'modifications')} onMouseOut={tooltip.bind(null, null)}>

src/app/components/Header.jsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -388,17 +388,18 @@ export default class Header extends TranslatedComponent {
388388
if (this.props.announcements) {
389389
announcements = [];
390390
for (let announce of this.props.announcements) {
391-
if (announce.expiry < Date.now()) {
391+
// Announcement has expired, skip it
392+
if (Date.now() > Date.parse(announce.expiry)) {
392393
continue;
393394
}
395+
// Add announcements which have not expired to the menu
394396
announcements.push(<Announcement text={announce.text} />);
395397
announcements.push(<hr/>);
396398
}
397399
}
398400
return (
399401
<div className='menu-list' onClick={ (e) => e.stopPropagation() } style={{ whiteSpace: 'nowrap' }}>
400402
{announcements}
401-
<hr />
402403
</div>
403404
);
404405
}

src/app/components/InternalSlot.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ export default class InternalSlot extends Slot {
8888
{ m.getHullReinforcement() ? <div className='l'>{translate('armour')}: {formats.int(m.getHullReinforcement() + ship.baseArmour * m.getModValue('hullboost') / 10000)}</div> : null }
8989
{ m.getProtection() ? <div className='l'>{translate('protection')}: {formats.rPct(m.getProtection())}</div> : null }
9090
{ m.getIntegrity() ? <div className='l'>{translate('integrity')}: {formats.int(m.getIntegrity())}</div> : null }
91+
{ m.getInfo() ? <div className='l'>{translate(m.getInfo())}</div> : null }
9192
{ m && validMods.length > 0 ? <div className='r' tabIndex="0" ref={ modButton => this.modButton = modButton }><button tabIndex="-1" onClick={this._toggleModifications.bind(this)} onContextMenu={stopCtxPropagation} onMouseOver={termtip.bind(null, 'modifications')} onMouseOut={tooltip.bind(null, null)}><ListModifications /></button></div> : null }
9293
</div>
9394
</div>;

0 commit comments

Comments
 (0)