mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-09 22:55:35 +00:00
Merge branch 'release/2.3.7'
This commit is contained in:
@@ -3,7 +3,7 @@ notifications:
|
|||||||
email: false
|
email: false
|
||||||
sudo: false
|
sudo: false
|
||||||
node_js:
|
node_js:
|
||||||
- "4.2.6"
|
- "4.8.1"
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- node_modules
|
- node_modules
|
||||||
|
|||||||
@@ -1,3 +1,11 @@
|
|||||||
|
#2.3.7
|
||||||
|
* Fixed Travis test issues
|
||||||
|
* Bumped NodeJS version to provide better compatability and support
|
||||||
|
* Added updated German Translation
|
||||||
|
* Fixed issues with Safari
|
||||||
|
* Use coriolis-data 2.3.7
|
||||||
|
* Fixed Orca mass-lock
|
||||||
|
|
||||||
#2.3.6
|
#2.3.6
|
||||||
* Update miner role to provide better defaults
|
* Update miner role to provide better defaults
|
||||||
* Fix issue where torpedo special effects were not showing
|
* Fix issue where torpedo special effects were not showing
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ describe('Import Modal', function() {
|
|||||||
expect(modal.state.singleBuild).toBe(true);
|
expect(modal.state.singleBuild).toBe(true);
|
||||||
clickProceed();
|
clickProceed();
|
||||||
expect(MockRouter.go.mock.calls.length).toBe(1);
|
expect(MockRouter.go.mock.calls.length).toBe(1);
|
||||||
expect(MockRouter.go.mock.calls[0][0]).toBe('/outfit/anaconda?code=A4putkFklkdzsuf52c0o0o0o1m1m0q0q0404-0l0b0100034k5n052d04---0303326b.AwRj4zNLaA%3D%3D.CwBhCYzBGW9qCTSqq5xA.H4sIAAAAAAAAA2MUe8HMwPD%2FPwMcAABTINwTEgAAAA%3D%3D&bn=Test%20My%20Ship');
|
expect(MockRouter.go.mock.calls[0][0]).toBe('/outfit/anaconda?code=A4putkFklkdzsuf52c0o0o0o1m1m0q0q0404-0l0b0100034k5n052d04---0303326b.AwRj4zNLaA%3D%3D.CwBhCYzBGW9qCTSqq5xA.H4sIAAAAAAAAA2MUe8HMwPD%2FPwMAAGvB0AkAAAA%3D&bn=Test%20My%20Ship');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -186,7 +186,7 @@ describe('Import Modal', function() {
|
|||||||
expect(modal.state.singleBuild).toBe(true);
|
expect(modal.state.singleBuild).toBe(true);
|
||||||
clickProceed();
|
clickProceed();
|
||||||
expect(MockRouter.go.mock.calls.length).toBe(1);
|
expect(MockRouter.go.mock.calls.length).toBe(1);
|
||||||
expect(MockRouter.go.mock.calls[0][0]).toBe('/outfit/asp?code=A0pftiFflfddsnf5------020202033c044002v62f2i.AwRj4yvI.CwRgDBldHnJA.H4sIAAAAAAAAA2P858DAwPCXEUhwHPvx%2F78YG5AltB7I%2F8%2F0TwImJboDSPJ%2F%2B%2Ff%2Fv%2FKlX%2F%2F%2Fi3AwMTBIfARK%2FGf%2BJwVSxArStVAYqOjvz%2F%2F%2FJVo5GRhE2IBc4SKQSSz%2FDGEmCa398P8%2F%2F2%2BgTf%2F%2FAwDFxwtofAAAAA%3D%3D&bn=Multi-purpose%20Asp%20Explorer');
|
expect(MockRouter.go.mock.calls[0][0]).toBe('/outfit/asp?code=A0pftiFflfddsnf5------020202033c044002v62f2i.AwRj4yvI.CwRgDBldHnJA.H4sIAAAAAAAAA2P858DAwPCXEUhwHPvx%2F78YG5AltB7I%2F8%2F0TwImJboDSPJ%2F%2B%2Ff%2Fv%2FKlX%2F%2F%2Fi3AwMTBIfARK%2FGf%2BJwVSxArStVAYqOjvz%2F%2F%2FJVo5GRhE2IBc4SKQSSz%2FDGEmCa398P8%2F%2F2%2BgTf%2F%2FA7kMAExxqlSAAAAA&bn=Multi-purpose%20Asp%20Explorer');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('imports a valid v4 build with modifications', function() {
|
it('imports a valid v4 build with modifications', function() {
|
||||||
@@ -198,7 +198,7 @@ describe('Import Modal', function() {
|
|||||||
expect(modal.state.singleBuild).toBe(true);
|
expect(modal.state.singleBuild).toBe(true);
|
||||||
clickProceed();
|
clickProceed();
|
||||||
expect(MockRouter.go.mock.calls.length).toBe(1);
|
expect(MockRouter.go.mock.calls.length).toBe(1);
|
||||||
expect(MockRouter.go.mock.calls[0][0]).toBe('/outfit/imperial_courier?code=A0patzF5l0das8f31a1a270202000e402t0101-2f.AwRj4zKA.CwRgDBldLiQ%3D.H4sIAAAAAAAAA12OP0tCYRjFj9fuVbvF1du9ekkT8s%2FkIg4NElyIBBd321yaGvwUQTS3N7UFfYygIT9EoyQUJA36ns47XJCWA%2B%2Fz%2Bz3Pe3ImBbDNKaqNPSBoGrL4ngfomKpFGiJ%2BLgHteR1IPjxJT5pF11uSeXNsJVcRfgdC92syWUuK0iMdKZqrjJ%2F0aoA71lJ5oKf38knWcCiptCPdhJIerdS00vlK0qktlqoj983UmqqHjQ33VsW8eazFmaTyULP2hQ4lX8LBme6g%2F6v0TTdbxJ2KhdEIaCw15MF%2FNB0L%2BS2hwEwyFM8KgP%2BqEpWWA3Qu9Z3z9kPWHzakt7Dt%2BAeD7ghSTgEAAA%3D%3D&bn=Multi-purpose%20Imperial%20Courier');
|
expect(MockRouter.go.mock.calls[0][0]).toBe('/outfit/imperial_courier?code=A0patzF5l0das8f31a1a270202000e402t0101-2f.AwRj4zKA.CwRgDBldLiQ%3D.H4sIAAAAAAAAA12OPUvDYBSFT1OTfkRJjUkbbC3Yj8mlODgUISAtdOlety5ODv0Vgji7O7kJ%2FgzBQX%2BEY7Gg0NKhfY%2FnHQLFDBdynufe9%2BRMCmCb06g29oCgacjiRx6gY6oWKUT8UgLaszqQfHmSnpVFN1uSeXNsJVcj%2FA2EHlZkspIUpUc6UjTXGT85qwHuSEuVc%2F16r99kDQeSSjvSbSjpyUpNK10uJJ3aYqk6smwm1lQ9bOxw71TMm8VanEqq9JW1r3Qo%2BREOLnQHvbWmb7rZIu5VLIyGQGOukPv%2F0WQk5LeEAjPOUDwtAP6bShy2HKAz0HPO%2B5KsP25I79O2I7LvD%2Bz4Il1XAQAA&bn=Multi-purpose%20Imperial%20Courier');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -240,7 +240,7 @@ describe('Import Modal', function() {
|
|||||||
expect(modal.state.singleBuild).toBe(true);
|
expect(modal.state.singleBuild).toBe(true);
|
||||||
clickProceed();
|
clickProceed();
|
||||||
expect(MockRouter.go.mock.calls.length).toBe(1);
|
expect(MockRouter.go.mock.calls.length).toBe(1);
|
||||||
expect(MockRouter.go.mock.calls[0][0]).toBe('/outfit/federal_corvette?code=A2putsFklndzsxf50x0x7l28281919040404040402020l06p05sf63c5ifr--v66g2f.AwRj4zNaqA%3D%3D.CwRgDBldUExuBiIlUA%3D%3D.H4sIAAAAAAAAA02SPy9DURjG3%2F65vW1v47TXVbeqqF7EQtIIBomRJswsYmISH8BgkFhqFZ9AwlALMYitkXQyEF2k4SMYJNK0dV7PK7nc5ck55%2Fm9z%2FnznpBeJqLvECQbM4hUjZnjO5hyWGfFikAGGjGiku0QuddhQCNdZmdWM9snsDmih4REOdlnNvz9DrPrJIicPdSwoZf8pAnTIpq8x7DYADS%2Bi5DERY85%2BYqpmkc6x%2FWGf6beKCR3YBIZFZCxCgrtczjuOmo4qTf94F4KYuxhz5jjEhXmUJNexFrpIUo02ALN1j9u1JMgD%2FMga1GfbMNRd9iHUwGy%2BpspZF3IBSGvMFJluS%2FuR24FJ2KlV%2Fxju6sQq4lhRsQTUVUJTgegLtS6EUjEE1HPAmUC0KdAjwKJeCKqD8zoURx72gHyDW9nvQhJGHkyUscS1x%2BAZnAlqwU%2FI%2BKJKEvextXrf93eQrR1KUlS5HWwGC61mfOn0oN3IM4OHoBzuuIHj33hS5jT8KeamIYa0sjhgH%2BLfplP4kcwD5Xl3xR1wfeHtqWzBHHX8I9SH9Je%2FgGvXxeungIAAA%3D%3D&bn=Imported%20Federal%20Corvette');
|
expect(MockRouter.go.mock.calls[0][0]).toBe('/outfit/federal_corvette?code=A2putsFklndzsxf50x0x7l28281919040404040402020l06p05sf63c5ifr--v66g2f.AwRj4zNaqA%3D%3D.CwRgDBldUExuBiIlUA%3D%3D.H4sIAAAAAAAAA12STy8DURTFb1szU53Ga8dg2qqqDmJDIoKFxJImumYjVrVqfAALC4lNbcUnkLCoDbEQu0bSlQVhI8JHsJBIQ73rXMkwMYuT9%2Bb87nl%2F7ovoRSL6ikD6TYNINZg5XsWUo7pfrBikr2USlRyXyDuLAhr6ZHanNLOzD5tjOiskysk5dOBvfTB7bjeRW0MNG3ohSBq1bKKxKwyLLUAjmwjpPu4wJx4xVbNI57heDfbUKUAy2xaRUQZpllHoHMHxKqjhhF4LgjtJiFHDmqbrEeVnUJOax7%2FSdRfRwBNotv9wo5kAuZMD2egKyDYcdYl1OBki6z%2BZQjaFnBPyFCM1LefF%2BcgrY0es9FKwbW8ZYj9gmBbxRVRdglMh6BNqnwsk4ouoO4HSIehNoBuBRHwR1QOmsBvHmk6IfMbd2fdCEka%2BjNSexPWGoEkcyX6CnxbxRZQtd%2BPpym%2B31xFtn0iSFPkf%2BBkttZlzB9KDFyBuFRfAGV0Ogoff8SSsCfjjD5hGWtLIwZB%2FgX5Zt%2BLHMI9My7sp6nzgZzekswTxVvCOkq%2FSXqb%2F3zfLxh6HrwIAAA%3D%3D&bn=Imported%20Federal%20Corvette');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('imports a valid companion API build', function() {
|
it('imports a valid companion API build', function() {
|
||||||
@@ -252,7 +252,7 @@ describe('Import Modal', function() {
|
|||||||
expect(modal.state.singleBuild).toBe(true);
|
expect(modal.state.singleBuild).toBe(true);
|
||||||
clickProceed();
|
clickProceed();
|
||||||
expect(MockRouter.go.mock.calls.length).toBe(1);
|
expect(MockRouter.go.mock.calls.length).toBe(1);
|
||||||
expect(MockRouter.go.mock.calls[0][0]).toBe('/outfit/beluga?code=A0pktsFplCdpsnf70t0t2727270004040404043c4fmimlmm04mc0iv62i2f.AwRj4yukg%3D%3D%3D.CwRgDBldHi8IUA%3D%3D.H4sIAAAAAAAAA2P8Z8%2FAwPCXEUiIKTMxMPCv%2F%2Ff%2FP8cFIPGf6Z8YTEr0GjMDg%2FJWICERBOTzn%2Fn7%2F7%2FIO5Ai5n9SIEWsQEIoSxAolfbt%2F3%2BJPk4GBhE7YQYGYVmgcuVnf4Aq%2FwMAIrEcGGsAAAA%3D&bn=Imported%20Beluga%20Liner');
|
expect(MockRouter.go.mock.calls[0][0]).toBe('/outfit/beluga?code=A0pktsFplCdpsnf70t0t2727270004040404043c4fmimlmm04mc0iv62i2f.AwRj4yukg%3D%3D%3D.CwRgDBldHi8IUA%3D%3D.H4sIAAAAAAAAA2P8Z8%2FAwPCXEUiIKTMxMPCv%2F%2Ff%2FP8cFIPGf6Z8YTEr0GjMDg%2FJWICERBOTzn%2Fn7%2F7%2FIO5Ai5n9SIEWsQEIoSxAolfbt%2F3%2BJPk4GBhE7YQYGYVmgcuVnf4Aq%2FwOVAAAyiFctbgAAAA%3D%3D&bn=Imported%20Beluga%20Liner');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('imports a valid companion API build', function() {
|
it('imports a valid companion API build', function() {
|
||||||
@@ -276,7 +276,7 @@ describe('Import Modal', function() {
|
|||||||
expect(modal.state.singleBuild).toBe(true);
|
expect(modal.state.singleBuild).toBe(true);
|
||||||
clickProceed();
|
clickProceed();
|
||||||
expect(MockRouter.go.mock.calls.length).toBe(1);
|
expect(MockRouter.go.mock.calls.length).toBe(1);
|
||||||
expect(MockRouter.go.mock.calls[0][0]).toBe('outfit/cobra_mk_iii?code=A0p0tdFaldd3sdf4------34---2f2i.AwRj4yKA.CwRgDMYExre1Rcg%3D..EweloBhBGA2EoFMCGBzANokMK6A%3D');
|
expect(MockRouter.go.mock.calls[0][0]).toBe('/outfit/cobra_mk_iii?code=A0p0tdFaldd3sdf4------34---2f2i.AwRj4yKA.CwRgDMYExrezBUg%3D.&bn=Imported%20Cobra%20Mk%20III');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "coriolis_shipyard",
|
"name": "coriolis_shipyard",
|
||||||
"version": "2.3.6",
|
"version": "2.3.7",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/EDCD/coriolis"
|
"url": "https://github.com/EDCD/coriolis"
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
"homepage": "https://coriolis.edcd.io",
|
"homepage": "https://coriolis.edcd.io",
|
||||||
"bugs": "https://github.com/EDCD/coriolis/issues",
|
"bugs": "https://github.com/EDCD/coriolis/issues",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engine": "node >= 4.0.0",
|
"engine": "node >= 4.8.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"prepublish": "rollup -c && uglifyjs d3.js -c -m -o d3.min.js",
|
"prepublish": "rollup -c && uglifyjs d3.js -c -m -o d3.min.js",
|
||||||
@@ -84,7 +84,8 @@
|
|||||||
"style-loader": "^0.16.1",
|
"style-loader": "^0.16.1",
|
||||||
"url-loader": "^0.5.8",
|
"url-loader": "^0.5.8",
|
||||||
"webpack": "^2.4.1",
|
"webpack": "^2.4.1",
|
||||||
"webpack-dev-server": "^2.4.4"
|
"webpack-dev-server": "^2.4.4",
|
||||||
|
"uglify-js": "^2.4.11"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"babel-polyfill": "*",
|
"babel-polyfill": "*",
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ export default class HardpointSlot extends Slot {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const className = cn('details', enabled ? '' : 'disabled')
|
const className = cn('details', enabled ? '' : 'disabled');
|
||||||
return <div className={className} draggable='true' onDragStart={drag} onDragEnd={drop}>
|
return <div className={className} draggable='true' onDragStart={drag} onDragEnd={drop}>
|
||||||
<div className={'cb'}>
|
<div className={'cb'}>
|
||||||
<div className={'l'}>
|
<div className={'l'}>
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ export default class InternalSlot extends Slot {
|
|||||||
|
|
||||||
let mass = m.getMass() || m.cargo || m.fuel || 0;
|
let mass = m.getMass() || m.cargo || m.fuel || 0;
|
||||||
|
|
||||||
const className = cn('details', enabled ? '' : 'disabled')
|
const className = cn('details', enabled ? '' : 'disabled');
|
||||||
return <div className={className} draggable='true' onDragStart={drag} onDragEnd={drop}>
|
return <div className={className} draggable='true' onDragStart={drag} onDragEnd={drop}>
|
||||||
<div className={'cb'}>
|
<div className={'cb'}>
|
||||||
<div className={'l'}>{classRating} {translate(m.name || m.grp)}{m.mods && Object.keys(m.mods).length > 0 ? <span onMouseOver={termtip.bind(null, modTT)} onMouseOut={tooltip.bind(null, null)}><Modified /></span> : ''}</div>
|
<div className={'l'}>{classRating} {translate(m.name || m.grp)}{m.mods && Object.keys(m.mods).length > 0 ? <span onMouseOver={termtip.bind(null, modTT)} onMouseOut={tooltip.bind(null, null)}><Modified /></span> : ''}</div>
|
||||||
|
|||||||
@@ -216,7 +216,6 @@ export default class InternalSlotSection extends SlotSection {
|
|||||||
onChange={this.props.onChange}
|
onChange={this.props.onChange}
|
||||||
onSelect={this._selectModule.bind(this, s)}
|
onSelect={this._selectModule.bind(this, s)}
|
||||||
selected={currentMenu == s}
|
selected={currentMenu == s}
|
||||||
enabled={s.enabled}
|
|
||||||
eligible={s.eligible}
|
eligible={s.eligible}
|
||||||
m={s.m}
|
m={s.m}
|
||||||
drag={this._drag.bind(this, s)}
|
drag={this._drag.bind(this, s)}
|
||||||
|
|||||||
@@ -23,11 +23,11 @@ export default class ShipPicker extends TranslatedComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* constructor
|
||||||
* @param {Object} props React Component properties
|
* @param {object} props Properties react
|
||||||
* @param {Object} context React Component context
|
* @param {object} context react context
|
||||||
*/
|
*/
|
||||||
constructor(props, context) {
|
constructor(props, context) { // eslint-disable-line
|
||||||
super(props);
|
super(props);
|
||||||
|
|
||||||
this.shipOrder = Object.keys(Ships).sort();
|
this.shipOrder = Object.keys(Ships).sort();
|
||||||
@@ -39,8 +39,8 @@ export default class ShipPicker extends TranslatedComponent {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Update ship
|
* Update ship
|
||||||
* @param {object} ship the ship
|
* @param {object} ship the ship
|
||||||
* @param {string} build the build, if present
|
* @param {string} build the build, if present
|
||||||
*/
|
*/
|
||||||
_shipChange(ship, build) {
|
_shipChange(ship, build) {
|
||||||
this._closeMenu();
|
this._closeMenu();
|
||||||
|
|||||||
@@ -74,7 +74,6 @@ export default class UtilitySlotSection extends SlotSection {
|
|||||||
dragOver={this._dragOverSlot.bind(this, h)}
|
dragOver={this._dragOverSlot.bind(this, h)}
|
||||||
drop={this._drop}
|
drop={this._drop}
|
||||||
dropClass={this._dropClass(h, originSlot, targetSlot)}
|
dropClass={this._dropClass(h, originSlot, targetSlot)}
|
||||||
enabled={h.enabled}
|
|
||||||
ship={ship}
|
ship={ship}
|
||||||
m={h.m}
|
m={h.m}
|
||||||
enabled={h.enabled ? true : false}
|
enabled={h.enabled ? true : false}
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ export const terms = {
|
|||||||
TT_SUMMARY_EPS: 'WAF Kondensator Verbrauch pro Sekunde wenn alle Waffen feuern',
|
TT_SUMMARY_EPS: 'WAF Kondensator Verbrauch pro Sekunde wenn alle Waffen feuern',
|
||||||
TT_SUMMARY_TTD: 'Zeit um den WAF Kondensator aufzubrauchen wenn alle Waffen feuern und 4 PIPS auf dem WAF Kondesator',
|
TT_SUMMARY_TTD: 'Zeit um den WAF Kondensator aufzubrauchen wenn alle Waffen feuern und 4 PIPS auf dem WAF Kondesator',
|
||||||
TT_SUMMARY_MAX_SINGLE_JUMP: 'Weitest mögliche Sprungreichweite ohne Ladung und nur genügend Treibstoff für den Sprung selbst',
|
TT_SUMMARY_MAX_SINGLE_JUMP: 'Weitest mögliche Sprungreichweite ohne Ladung und nur genügend Treibstoff für den Sprung selbst',
|
||||||
TT_SUMMARY_UNLADEN_SINGLE_JUMP: 'Weitest mögliche Sprungreichweite ohne Ladung unf einem vollen Tank',
|
TT_SUMMARY_UNLADEN_SINGLE_JUMP: 'Weitest mögliche Sprungreichweite ohne Ladung und einem vollen Tank',
|
||||||
TT_SUMMARY_LADEN_SINGLE_JUMP: 'Weitest mögliche Sprungreichweite mit voller Ladung und einem vollen Tank',
|
TT_SUMMARY_LADEN_SINGLE_JUMP: 'Weitest mögliche Sprungreichweite mit voller Ladung und einem vollen Tank',
|
||||||
TT_SUMMARY_UNLADEN_TOTAL_JUMP: 'Weitest mögliche Sprungreichweite ohne Ladung, einem vollen Tank und der weitest möglichen Sprungreichweite bei jedem Sprung',
|
TT_SUMMARY_UNLADEN_TOTAL_JUMP: 'Weitest mögliche Sprungreichweite ohne Ladung, einem vollen Tank und der weitest möglichen Sprungreichweite bei jedem Sprung',
|
||||||
TT_SUMMARY_LADEN_TOTAL_JUMP: 'Weitest mögliche Sprungreichweite mit maximaler Ladung, einem vollen Tank und der weitest möglichen Sprungreichweite bei jedem Sprung',
|
TT_SUMMARY_LADEN_TOTAL_JUMP: 'Weitest mögliche Sprungreichweite mit maximaler Ladung, einem vollen Tank und der weitest möglichen Sprungreichweite bei jedem Sprung',
|
||||||
@@ -142,7 +142,7 @@ export const terms = {
|
|||||||
rg: 'Schienenkanone',
|
rg: 'Schienenkanone',
|
||||||
s: 'Sensoren',
|
s: 'Sensoren',
|
||||||
sb: 'Schildverstärker',
|
sb: 'Schildverstärker',
|
||||||
sc: 'Aufklärungsscanner',
|
sc: 'Himmelskörperscanner',
|
||||||
scb: 'Schildzellenbatterie',
|
scb: 'Schildzellenbatterie',
|
||||||
sg: 'Schildgenerator',
|
sg: 'Schildgenerator',
|
||||||
ss: 'Oberflächensensor',
|
ss: 'Oberflächensensor',
|
||||||
@@ -150,6 +150,7 @@ export const terms = {
|
|||||||
tp: 'Torpedopylone',
|
tp: 'Torpedopylone',
|
||||||
ul: 'Salvenlaser',
|
ul: 'Salvenlaser',
|
||||||
ws: 'Frameshiftwolkenscanner',
|
ws: 'Frameshiftwolkenscanner',
|
||||||
|
hrd: 'Hüllenhärte',
|
||||||
|
|
||||||
// Items on the outfitting page
|
// Items on the outfitting page
|
||||||
// Notification of restricted slot
|
// Notification of restricted slot
|
||||||
@@ -192,7 +193,7 @@ export const terms = {
|
|||||||
'recharge': 'Auflaung',
|
'recharge': 'Auflaung',
|
||||||
'engine pips': 'Schubpriorität',
|
'engine pips': 'Schubpriorität',
|
||||||
'4b': '4 PIPS und Boost',
|
'4b': '4 PIPS und Boost',
|
||||||
'speed': 'Geschwindigkeit',
|
'speed': 'Tempo',
|
||||||
'pitch': 'Kippen',
|
'pitch': 'Kippen',
|
||||||
'roll': 'Rollen',
|
'roll': 'Rollen',
|
||||||
'yaw': 'Gieren',
|
'yaw': 'Gieren',
|
||||||
@@ -220,7 +221,7 @@ export const terms = {
|
|||||||
hullreinforcement: 'Hüllenverstärkung',
|
hullreinforcement: 'Hüllenverstärkung',
|
||||||
integrity: 'Integrität',
|
integrity: 'Integrität',
|
||||||
jitter: 'Schwankungsbreite',
|
jitter: 'Schwankungsbreite',
|
||||||
kinres: 'Kinetischer Widerstabd',
|
kinres: 'Kinetischer Widerstand',
|
||||||
maxfuel: 'Maximaler Treibstoff pro Sprung',
|
maxfuel: 'Maximaler Treibstoff pro Sprung',
|
||||||
mass: 'Masse',
|
mass: 'Masse',
|
||||||
optmass: 'Optimale Masse',
|
optmass: 'Optimale Masse',
|
||||||
@@ -286,6 +287,154 @@ export const terms = {
|
|||||||
bulkheads: 'Hüllenpanzerung',
|
bulkheads: 'Hüllenpanzerung',
|
||||||
reinforcement: 'Hüllenverstärkung',
|
reinforcement: 'Hüllenverstärkung',
|
||||||
|
|
||||||
|
// Optional module groups (only these, that are not in the list with the short terms)
|
||||||
|
'hangars': 'Hangars',
|
||||||
|
'limpet controllers': 'Drohnensteuerung',
|
||||||
|
'passenger cabins': 'Passagierkabinen',
|
||||||
|
'structural reinforcement': 'Strukturverstärkungen',
|
||||||
|
|
||||||
|
// Hardpoint module groups
|
||||||
|
'lasers': 'Laser',
|
||||||
|
'projectiles': 'Projektilwaffen',
|
||||||
|
'ordnance': 'Artillerie',
|
||||||
|
|
||||||
|
// Armour modules
|
||||||
|
'Lightweight Alloy': 'leichte Legierung',
|
||||||
|
'Reinforced Alloy': 'verstärkte Legierung',
|
||||||
|
'Military Grade Composite': 'Militär-Komposit',
|
||||||
|
'Mirrored Surface Composite': 'Gespiegelte-Oberfläche-Komposit',
|
||||||
|
'Reactive Surface Composite': 'Reaktive-Oberfläche-Komposit',
|
||||||
|
|
||||||
|
// Scanner modules
|
||||||
|
'scanners': 'Scanner',
|
||||||
|
'Basic Discovery Scanner': 'Aufklärungsscanner (einf.)',
|
||||||
|
'Advanced Discovery Scanner': 'Aufklärungsscanner (fortgeschr.)',
|
||||||
|
'Detailed Surface Scanner': 'Detail-Oberflächenscanner',
|
||||||
|
'Intermedia Discovery Scanner': 'Intermedia Discovery Scanner',
|
||||||
|
|
||||||
|
// Docking modules
|
||||||
|
'Standard Docking Computer': 'Standard-Landecomputer',
|
||||||
|
|
||||||
|
// Point defence modules
|
||||||
|
'Point Defence': 'Punktverteidigung',
|
||||||
|
|
||||||
|
// Chaff launcher modules
|
||||||
|
'Chaff Launcher': 'Düppel-Werfer',
|
||||||
|
|
||||||
|
// Heat sink launcher modules
|
||||||
|
'Heat Sink Launcher': 'Kühlkörperwerfer',
|
||||||
|
|
||||||
|
// Panel headings and subheadings
|
||||||
|
'power and costs': 'Energie und Kosten',
|
||||||
|
'costs': 'Kosten',
|
||||||
|
'retrofit costs': 'Umrüstkosten',
|
||||||
|
'reload costs': 'Nachladekosten',
|
||||||
|
'profiles': 'Profile',
|
||||||
|
'engine profile': 'Antriebsprofil',
|
||||||
|
'fsd profile': 'Frameshit Antriebsprofil',
|
||||||
|
'movement profile': 'Bewegungsprofil',
|
||||||
|
'damage to opponent\'s shields': 'Gegnerischer Schildschaden',
|
||||||
|
'damage to opponent\'s hull': 'Gegnerischer Hüllenschaden',
|
||||||
|
'offence': 'Offensiv',
|
||||||
|
'defence': 'Defensiv',
|
||||||
|
'shield metrics': 'Schildwerte',
|
||||||
|
'raw shield strength': 'Pure Schildstärke',
|
||||||
|
'shield sources': 'Schildzusammensetzung',
|
||||||
|
'damage taken': 'Erhaltener Schaden',
|
||||||
|
'effective shield': 'Effektiver Schildwert',
|
||||||
|
'armour metrics': 'Panzerungswerte',
|
||||||
|
'raw armour strength': 'Pure Panzerungsstärke',
|
||||||
|
'armour sources': 'Panzerungszusammensetzung',
|
||||||
|
'raw module armour': 'Pure Modulpanzerung',
|
||||||
|
'effective armour': 'Effektive Panzerung',
|
||||||
|
'offence metrics': 'Offensivwerte',
|
||||||
|
'defence metrics': 'Defensivwerte',
|
||||||
|
|
||||||
|
// internal module panel header
|
||||||
|
'Maximize Jump Range': 'Sprungreichweite maximieren',
|
||||||
|
'roles': 'Rollen',
|
||||||
|
'Multi-purpose': 'Allrounder',
|
||||||
|
'Combat': 'Kampf',
|
||||||
|
'Trader': 'Handel',
|
||||||
|
'Shielded Trader': 'Handel (mit Schild)',
|
||||||
|
'Explorer': 'Entdecker',
|
||||||
|
'Planetary Explorer': 'Planetenentdecker',
|
||||||
|
'Miner': 'Erzabbau',
|
||||||
|
'Shielded Miner': 'Erzabbau (mit Schild)',
|
||||||
|
'Racer': 'Geschwindigkeit',
|
||||||
|
|
||||||
|
// Misc items
|
||||||
|
'fuel carried': 'geladener Treibstoff',
|
||||||
|
'cargo carried': 'geladene Fracht',
|
||||||
|
'ship control': 'Energieverteilung',
|
||||||
|
'opponent': 'Gegner',
|
||||||
|
'opponent\'s shields': 'Gegnerische Schilde',
|
||||||
|
'opponent\'s armour': 'Gegenerische Panzerung',
|
||||||
|
'shield damage sources': 'Schadensquellen (Schild)',
|
||||||
|
'armour damage sources': 'Schadensquellen (Panzerung)',
|
||||||
|
'never': 'Niemals',
|
||||||
|
'stock': 'Standard',
|
||||||
|
'boost': 'Boost',
|
||||||
|
'ship': 'Schiff',
|
||||||
|
'laden': 'Beladen',
|
||||||
|
'unladen': 'Leer',
|
||||||
|
'jump range': 'Sprungreichweite',
|
||||||
|
'total laden': 'gesamt beladen',
|
||||||
|
'total unladen': 'gesamt leer',
|
||||||
|
'cargo': 'Fracht',
|
||||||
|
'hull': 'Hülle',
|
||||||
|
'Enter Name': 'Name eingeben',
|
||||||
|
'fuel': 'Tank',
|
||||||
|
|
||||||
|
// Items on the ship list page
|
||||||
|
// Ship list
|
||||||
|
'manufacturer': 'Hersteller',
|
||||||
|
'cost': 'Preis',
|
||||||
|
'size': 'Größe',
|
||||||
|
'small': 'Klein',
|
||||||
|
'medium': 'Mittel',
|
||||||
|
'large': 'Groß',
|
||||||
|
'agility': 'MNV',
|
||||||
|
'base': 'Basis',
|
||||||
|
'armour': 'Panzerung',
|
||||||
|
'shields': 'Schilde',
|
||||||
|
'jump': 'Sprung',
|
||||||
|
'core module classes': 'Basismodulklassen',
|
||||||
|
'Power Plant': 'Kraftwerk',
|
||||||
|
th: 'Schubdüsen',
|
||||||
|
fsd: 'Frameshiftantrieb',
|
||||||
|
ls: 'Lebenserhaltung',
|
||||||
|
pd: 'Energieverteiler',
|
||||||
|
s: 'Sensoren',
|
||||||
|
'hardpoints': 'Aufhängungen',
|
||||||
|
'internal compartments': 'Optionale Modulklassen',
|
||||||
|
|
||||||
|
// Menu items
|
||||||
|
'ships': 'Schiffe',
|
||||||
|
'builds': 'eigene builds',
|
||||||
|
'compare': 'Vergleiche',
|
||||||
|
'compare all': 'Alle vergleichen',
|
||||||
|
'create new': 'Neu anlegen',
|
||||||
|
'none created': 'Keine angelegt',
|
||||||
|
'insurance': 'Versicherung',
|
||||||
|
'discount': 'Nachlass',
|
||||||
|
'settings': 'Einstellungen',
|
||||||
|
'module resistances': 'Modulwiderstände',
|
||||||
|
'comparisons': 'Vergleiche',
|
||||||
|
'backup': 'Sichern',
|
||||||
|
'detailed export': 'Detaillierter Export',
|
||||||
|
'import': 'Importieren',
|
||||||
|
'delete all': 'Alles löschen',
|
||||||
|
'about': 'Über',
|
||||||
|
|
||||||
|
|
||||||
|
// Items on the outfitting page
|
||||||
|
'core internal': 'Intern (basis)',
|
||||||
|
'optional internal': 'Intern (optional)',
|
||||||
|
'utility mounts': 'Werkzeug-Steckplätze',
|
||||||
|
'empty': 'leer',
|
||||||
|
'empty all': 'Alles leeren',
|
||||||
|
|
||||||
// Help text
|
// Help text
|
||||||
HELP_TEXT: `
|
HELP_TEXT: `
|
||||||
<h1>Einführung</h1>
|
<h1>Einführung</h1>
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ export const terms = {
|
|||||||
TT_SUMMARY_UNLADEN_TOTAL_JUMP: 'Самая дальняя общая дистанция без груза, с полным топливным баком и при прыжках на максимальное расстояние',
|
TT_SUMMARY_UNLADEN_TOTAL_JUMP: 'Самая дальняя общая дистанция без груза, с полным топливным баком и при прыжках на максимальное расстояние',
|
||||||
TT_SUMMARY_LADEN_TOTAL_JUMP: 'Самая дальняя общая дистанция с полным грузовым отсеком, с полным топливным баком и при прыжках на максимальное расстояние',
|
TT_SUMMARY_LADEN_TOTAL_JUMP: 'Самая дальняя общая дистанция с полным грузовым отсеком, с полным топливным баком и при прыжках на максимальное расстояние',
|
||||||
|
|
||||||
HELP_MODIFICATIONS_MENU: 'Ткните на номер чтобы ввести новое значение, или потяните вдоль полосы для малых изменений',
|
HELP_MODIFICATIONS_MENU: 'Ткните на номер чтобы ввести новое значение, или потяните вдоль полосы для малых изменений',
|
||||||
|
|
||||||
// Other languages fallback to these values
|
// Other languages fallback to these values
|
||||||
// Only Translate to other languages if the name is different in-game
|
// Only Translate to other languages if the name is different in-game
|
||||||
|
|||||||
@@ -279,7 +279,6 @@ export function miner(ship, shielded) {
|
|||||||
// 0 if we only have 1 cargo slot, otherwise minium of 1 and maximum of 6 (excluding size modifier)
|
// 0 if we only have 1 cargo slot, otherwise minium of 1 and maximum of 6 (excluding size modifier)
|
||||||
const sizeModifier = ship.class == 2 ? 1.2 : ship.class == 3 ? 1.5 : 1;
|
const sizeModifier = ship.class == 2 ? 1.2 : ship.class == 3 ? 1.5 : 1;
|
||||||
let collectorLimpetsRequired = potentialCargo.length == 1 ? 0 : Math.ceil(sizeModifier * Math.min(6, Math.floor(miningLaserDps / 1.25)));
|
let collectorLimpetsRequired = potentialCargo.length == 1 ? 0 : Math.ceil(sizeModifier * Math.min(6, Math.floor(miningLaserDps / 1.25)));
|
||||||
console.log(`${collectorLimpetsRequired}`);
|
|
||||||
|
|
||||||
if (collectorLimpetsRequired > 0) {
|
if (collectorLimpetsRequired > 0) {
|
||||||
const collectorOrder = [1, 2, 3, 4, 5, 6, 7, 8];
|
const collectorOrder = [1, 2, 3, 4, 5, 6, 7, 8];
|
||||||
@@ -303,7 +302,7 @@ export function miner(ship, shielded) {
|
|||||||
.reduce(function(a, b) {
|
.reduce(function(a, b) {
|
||||||
return a + b.m.getEps();
|
return a + b.m.getEps();
|
||||||
}, 0);
|
}, 0);
|
||||||
standardOpts.pd = ship.getAvailableModules().matchingPowerDist({weprate: wepRateRequired}).id;
|
standardOpts.pd = ship.getAvailableModules().matchingPowerDist({ weprate: wepRateRequired }).id;
|
||||||
|
|
||||||
// Fill the empty internals with cargo racks
|
// Fill the empty internals with cargo racks
|
||||||
for (let i = ship.internal.length; i--;) {
|
for (let i = ship.internal.length; i--;) {
|
||||||
|
|||||||
@@ -36,6 +36,23 @@
|
|||||||
</script>
|
</script>
|
||||||
<script async src='https://www.google-analytics.com/analytics.js'></script>
|
<script async src='https://www.google-analytics.com/analytics.js'></script>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
|
<!-- Piwik -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
var _paq = _paq || [];
|
||||||
|
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||||
|
_paq.push(["setCookieDomain", "*.coriolis.edcd.io"]);
|
||||||
|
_paq.push(['trackPageView']);
|
||||||
|
_paq.push(['enableLinkTracking']);
|
||||||
|
(function() {
|
||||||
|
var u="//stats.isadankme.me/";
|
||||||
|
_paq.push(['setTrackerUrl', u+'piwik.php']);
|
||||||
|
_paq.push(['setSiteId', '4']);
|
||||||
|
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||||
|
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<!-- End Piwik Code -->
|
||||||
</head>
|
</head>
|
||||||
<body style="background-color:#000;">
|
<body style="background-color:#000;">
|
||||||
<section id="coriolis"></section>
|
<section id="coriolis"></section>
|
||||||
|
|||||||
@@ -60,6 +60,9 @@
|
|||||||
|
|
||||||
.summary {
|
.summary {
|
||||||
stroke: @fg;
|
stroke: @fg;
|
||||||
stroke-width: 10;
|
|
||||||
fill: @fg;
|
fill: @fg;
|
||||||
|
|
||||||
|
svg {
|
||||||
|
stroke-width: 10;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,7 +88,6 @@ select {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
line-height:@optionSpacing;
|
line-height:@optionSpacing;
|
||||||
color: @primary-disabled;
|
color: @primary-disabled;
|
||||||
stroke-width: 0.5em;
|
|
||||||
stroke: @primary-disabled;
|
stroke: @primary-disabled;
|
||||||
|
|
||||||
.no-touch &:hover {
|
.no-touch &:hover {
|
||||||
@@ -96,6 +95,10 @@ select {
|
|||||||
color: @primary;
|
color: @primary;
|
||||||
stroke: @primary;
|
stroke: @primary;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
svg {
|
||||||
|
stroke-width: 0.5em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.lc, .c {
|
.lc, .c {
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
border: 1px solid @primary-disabled;
|
border: 1px solid @primary-disabled;
|
||||||
color: @fg;
|
color: @fg;
|
||||||
stroke: @fg;
|
stroke: @fg;
|
||||||
stroke-width: 20;
|
|
||||||
fill: @fg;
|
fill: @fg;
|
||||||
|
|
||||||
.details-container {
|
.details-container {
|
||||||
@@ -57,11 +56,13 @@
|
|||||||
width: 1.2em;
|
width: 1.2em;
|
||||||
color: @primary-disabled;
|
color: @primary-disabled;
|
||||||
stroke: @primary-disabled;
|
stroke: @primary-disabled;
|
||||||
stroke-width: 20;
|
|
||||||
border-right: 1px solid @primary-disabled;
|
border-right: 1px solid @primary-disabled;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-top: 0.2em;
|
padding-top: 0.2em;
|
||||||
padding-left: 0.05em;
|
padding-left: 0.05em;
|
||||||
|
svg {
|
||||||
|
stroke-width: 20;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.empty {
|
.empty {
|
||||||
@@ -69,16 +70,17 @@
|
|||||||
font-size: 1.3em;
|
font-size: 1.3em;
|
||||||
color: lighten(@primary-bg, 12%);
|
color: lighten(@primary-bg, 12%);
|
||||||
stroke: lighten(@primary-bg, 12%);
|
stroke: lighten(@primary-bg, 12%);
|
||||||
stroke-width: 20;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
letter-spacing: 0.1em;
|
letter-spacing: 0.1em;
|
||||||
line-height: 1.7em;
|
line-height: 1.7em;
|
||||||
|
svg {
|
||||||
|
stroke-width: 20;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.selected {
|
&.selected {
|
||||||
color: @primary-bg;
|
color: @primary-bg;
|
||||||
stroke: @primary-bg;
|
stroke: @primary-bg;
|
||||||
stroke-width: 20;
|
|
||||||
fill: @primary-bg;
|
fill: @primary-bg;
|
||||||
background-color: @primary;
|
background-color: @primary;
|
||||||
border: 1px solid @primary;
|
border: 1px solid @primary;
|
||||||
@@ -86,13 +88,18 @@
|
|||||||
.sz {
|
.sz {
|
||||||
color: @primary;
|
color: @primary;
|
||||||
stroke: @primary;
|
stroke: @primary;
|
||||||
stroke-width: 20;
|
|
||||||
background-color: @primary-bg;
|
background-color: @primary-bg;
|
||||||
border-right: 1px solid @primary;
|
border-right: 1px solid @primary;
|
||||||
|
svg {
|
||||||
|
stroke-width: 20;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.details {
|
.details {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
svg {
|
||||||
|
stroke-width: 20;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.eligible {
|
&.eligible {
|
||||||
@@ -144,4 +151,8 @@
|
|||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
svg {
|
||||||
|
stroke-width: 20;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user