Compare commits

...

20 Commits

Author SHA1 Message Date
Alex Williams
fa9fe1c571 Merge pull request #822 from EDCD/develop
Develop
2025-06-28 14:32:28 +01:00
Alex Williams
1dfd3cdc23 Merge pull request #821 from Brighter-Applications/develop
Develop
2025-06-28 14:31:03 +01:00
Alex Williams
a3d7c8b7a7 Features/add corsair (#94)
* Corsair Added Announcement

* Adding FDName Corsair Translation to imperial_corsair Coriolis internal name
2025-06-28 14:27:55 +01:00
Alex Williams
60a05d93c8 Features/add_corsair (#93)
* Corsair Added Announcement

* Adding FDName Corsair Translation to imperial_corsair Coriolis internal name
2025-04-10 12:33:51 +01:00
Alex Williams
7f3056560d Merge pull request #88 from Brighter-Applications/features/add_cobra5
Adding coriolis to fdname conversion
2024-12-13 20:57:51 +00:00
Alex Williams
43718e15cf Adding coriolis to fdname conversion 2024-12-13 20:46:16 +00:00
Alex Williams
8a1ad353e2 Merge pull request #85 from Brighter-Applications/features/add_cobra5
Adding Cobra Mk V
2024-12-13 19:55:37 +00:00
Alex Williams
fbe29d8087 Adding Cobra Mk V 2024-12-13 19:46:46 +00:00
Alex Williams
8583c6a811 Merge pull request #803 from Brighter-Applications/develop
Develop
2024-12-10 23:34:10 +00:00
Alex Williams
620a82faf2 Merge pull request #82 from Brighter-Applications/issues/624_Fix_thermal_values
Fix thermal and efficiency values for blueprint effects. Also fixing …
2024-12-10 23:33:03 +00:00
Alex Williams
8296562640 Fix thermal and efficiency values for blueprint effects. Also fixing jump range calc and display. 2024-12-10 23:23:12 +00:00
Alex Williams
505c6809a1 Merge pull request #800 from Brighter-Applications/develop
Develop
2024-11-25 00:25:31 +00:00
Alex Williams
35a24a55e8 Merge pull request #79 from Brighter-Applications/issues/699_Add_Charge_Rate_To_Rails
Adding 'charge' time into calculation of RoF, as RailGuns have a 'cha…
2024-11-25 00:02:07 +00:00
Alex Williams
b365faed0a Adding 'charge' time into calculation of RoF, as RailGuns have a 'charge' time as well as a reload time. 2024-11-24 23:53:15 +00:00
Alex Williams
060b98cc89 Merge pull request #76 from Brighter-Applications/issues/597_Warn_Users_2083_URL_Length
Checks to see if the URL is over 2083 characters and if it is, presen…
2024-11-24 21:40:56 +00:00
Alex Williams
6a1eae8e9e Checks to see if the URL is over 2083 characters and if it is, presents this as the most likely error with an import. 2024-11-24 21:35:33 +00:00
Alex Williams
98126267e7 Merge pull request #73 from Brighter-Applications/features/Update_About_Page
Updating the about page, removing erroneous link to edshipyard, addin…
2024-11-24 20:24:56 +00:00
Alex Williams
22b73b9b0c Updating the about page, removing erroneous link to edshipyard, adding current info, etc. 2024-11-24 20:23:02 +00:00
Alex Williams
f769a0d40d Merge pull request #70 from Brighter-Applications/features/Add_Specials_Tooltips_Descriptions
Adding functionality to pull the 'description' field from specials an…
2024-11-24 19:04:38 +00:00
Alex Williams
4ae2140178 Adding functionality to pull the 'description' field from specials and show a tooltip, describing what the special does. 2024-11-24 18:51:22 +00:00
12 changed files with 117 additions and 39 deletions

View File

@@ -69,7 +69,7 @@ export default class Coriolis extends React.Component {
noTouch: !('ontouchstart' in window || navigator.msMaxTouchPoints || navigator.maxTouchPoints), noTouch: !('ontouchstart' in window || navigator.msMaxTouchPoints || navigator.maxTouchPoints),
page: null, page: null,
// Announcements must have an expiry date in format "YYYY-MM-DDTHH:MM:SSZ" // Announcements must have an expiry date in format "YYYY-MM-DDTHH:MM:SSZ"
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"}], announcements: [{expiry: "2025-04-10T00:00:00Z", text: "Corsair added"}],
language: getLanguage(Persist.getLangCode()), language: getLanguage(Persist.getLangCode()),
route: {}, route: {},
sizeRatio: Persist.getSizeRatio() sizeRatio: Persist.getSizeRatio()
@@ -123,7 +123,15 @@ export default class Coriolis extends React.Component {
this._showModal(<ModalImport importString={data}/>); this._showModal(<ModalImport importString={data}/>);
} }
} catch (err) { } catch (err) {
this._onError('Failed to import ship', r.path, 0, 0, err); const fullUrl = window.location.href;
if (fullUrl.length >= 2083) {
err = 'URL Length = ' + fullUrl.length;
this._onError('Failed to import ship - Potential URL Length issue', r.path, 0, 0, err);
}
else {
this._onError('Failed to import ship - Unknown Reason', r.path, 0, 0, err);
}
} }
} }

View File

@@ -57,7 +57,7 @@ export default class JumpRange extends TranslatedComponent {
const fuel = this.state.fuelLevel * ship.fuelCapacity; const fuel = this.state.fuelLevel * ship.fuelCapacity;
// Obtain the jump range // Obtain the jump range
return Calc.jumpRange(ship.unladenMass + fuel + cargo, fsd, fuel, ship); return Calc.jumpRange(ship.unladenMass + cargo, fsd, fuel, ship);
} }
/** /**

View File

@@ -126,7 +126,6 @@ export default class PowerManagement extends TranslatedComponent {
} }
// If this is a Guardian Shield Reinforcement Package or Guardian Hull Reinforcement Package, or Guardian Module Reinforcement Package, it cannot change priority // If this is a Guardian Shield Reinforcement Package or Guardian Hull Reinforcement Package, or Guardian Module Reinforcement Package, it cannot change priority
console.log(slot);
let priorityField; let priorityField;
if (m.symbol) { if (m.symbol) {
if (m.symbol.match(/GuardianShield/i) || m.symbol.match(/GuardianHull/i) || m.symbol.match(/GuardianModule/i)) { if (m.symbol.match(/GuardianShield/i) || m.symbol.match(/GuardianHull/i) || m.symbol.match(/GuardianModule/i)) {

View File

@@ -109,11 +109,11 @@ export default class ShipSummaryTable extends TranslatedComponent {
<td onMouseEnter={termtip.bind(null, boostTooltip, { cap: 0 })} onMouseLeave={hide}>{ canBoost ? <span>{int(ship.calcSpeed(4, ship.fuelCapacity, 0, true))}{u['m/s']}</span> : <span className='warning'>0 <Warning/></span> }</td> <td onMouseEnter={termtip.bind(null, boostTooltip, { cap: 0 })} onMouseLeave={hide}>{ canBoost ? <span>{int(ship.calcSpeed(4, ship.fuelCapacity, 0, true))}{u['m/s']}</span> : <span className='warning'>0 <Warning/></span> }</td>
<td>{distBoost !== 'No Boost' ? formats.time(distBoost) : 'No Boost'}</td> <td>{distBoost !== 'No Boost' ? formats.time(distBoost) : 'No Boost'}</td>
<td>{ship.boostInt && ship.boostInt !== 'undefined' ? formats.time(ship.boostInt) : 0 }</td> <td>{ship.boostInt && ship.boostInt !== 'undefined' ? formats.time(ship.boostInt) : 0 }</td>
<td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_MAX_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{ canJump ? <span>{ f2(Calc.jumpRange(ship.unladenMass + ship.standard[2].m.getMaxFuelPerJump(), ship.standard[2].m, ship.standard[2].m.getMaxFuelPerJump(), ship))}{u.LY}</span> : <span className='warning'>0 <Warning/></span> }</td> <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_MAX_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{ canJump ? <span>{ f2(Calc.jumpRange(ship.unladenMass - ship.fuelCapacity + ship.standard[2].m.getMaxFuelPerJump(), ship.standard[2].m, ship.standard[2].m.getMaxFuelPerJump(), ship))}{u.LY}</span> : <span className='warning'>0 <Warning/></span> }</td>
<td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_UNLADEN_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{ canJump ? <span>{f2(Calc.jumpRange(ship.unladenMass + ship.fuelCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span> : <span className='warning'>0 <Warning/></span> }</td> <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_UNLADEN_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{ canJump ? <span>{f2(Calc.jumpRange(ship.unladenMass, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span> : <span className='warning'>0 <Warning/></span> }</td>
<td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_LADEN_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{ canJump ? <span>{f2(Calc.jumpRange(ship.unladenMass + ship.fuelCapacity + ship.cargoCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span> : <span className='warning'>0 <Warning/></span> }</td> <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_LADEN_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{ canJump ? <span>{f2(Calc.jumpRange(ship.unladenMass + ship.cargoCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span> : <span className='warning'>0 <Warning/></span> }</td>
<td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_UNLADEN_TOTAL_JUMP', { cap: 0 })} onMouseLeave={hide}>{ canJump ? <span>{f2(Calc.totalJumpRange(ship.unladenMass + ship.fuelCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span> : <span className='warning'>0 <Warning/></span> }</td> <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_UNLADEN_TOTAL_JUMP', { cap: 0 })} onMouseLeave={hide}>{ canJump ? <span>{f2(Calc.totalJumpRange(ship.unladenMass, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span> : <span className='warning'>0 <Warning/></span> }</td>
<td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_LADEN_TOTAL_JUMP', { cap: 0 })} onMouseLeave={hide}>{ canJump ? <span>{f2(Calc.totalJumpRange(ship.unladenMass + ship.fuelCapacity + ship.cargoCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span> : <span className='warning'>0 <Warning/></span> }</td> <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_LADEN_TOTAL_JUMP', { cap: 0 })} onMouseLeave={hide}>{ canJump ? <span>{f2(Calc.totalJumpRange(ship.unladenMass + ship.cargoCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span> : <span className='warning'>0 <Warning/></span> }</td>
<td className={sgClassNames} onMouseEnter={termtip.bind(null, sgTooltip, { cap: 0 })} onMouseLeave={hide}>{int(ship.shield)}{u.MJ}</td> <td className={sgClassNames} onMouseEnter={termtip.bind(null, sgTooltip, { cap: 0 })} onMouseLeave={hide}>{int(ship.shield)}{u.MJ}</td>
<td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_INTEGRITY', { cap: 0 })} onMouseLeave={hide}>{int(ship.armour)}</td> <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_INTEGRITY', { cap: 0 })} onMouseLeave={hide}>{int(ship.armour)}</td>
<td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_DPS', { cap: 0 })} onMouseLeave={hide}>{f1(ship.totalDps)}</td> <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_DPS', { cap: 0 })} onMouseLeave={hide}>{f1(ship.totalDps)}</td>

View File

@@ -75,8 +75,8 @@
"TT_SUMMARY_SHIELDS_NONFUNCTIONAL": "No shield generator or shield generator powered off", "TT_SUMMARY_SHIELDS_NONFUNCTIONAL": "No shield generator or shield generator powered off",
"TT_SUMMARY_INTEGRITY": "Ship integrity, including bulkheads and hull reinforcement packages", "TT_SUMMARY_INTEGRITY": "Ship integrity, including bulkheads and hull reinforcement packages",
"TT_SUMMARY_HULL_MASS": "Mass of the hull prior to any modules being installed", "TT_SUMMARY_HULL_MASS": "Mass of the hull prior to any modules being installed",
"TT_SUMMARY_UNLADEN_MASS": "Mass of the hull and modules prior to any fuel or cargo", "TT_SUMMARY_UNLADEN_MASS": "Mass of the hull and modules prior to any cargo or passengers",
"TT_SUMMARY_LADEN_MASS": "Mass of the hull and modules with full fuel and cargo", "TT_SUMMARY_LADEN_MASS": "Mass of the hull and modules with full fuel, cargo, passengers, etc.",
"TT_SUMMARY_DPS": "Damage per second with all weapons firing", "TT_SUMMARY_DPS": "Damage per second with all weapons firing",
"TT_SUMMARY_EPS": "WEP capacitor consumed per second with all weapons firing", "TT_SUMMARY_EPS": "WEP capacitor consumed per second with all weapons firing",
"TT_SUMMARY_TTD": "Time to drain WEP capacitor with all weapons firing and 4 pips to WEP", "TT_SUMMARY_TTD": "Time to drain WEP capacitor with all weapons firing and 4 pips to WEP",

View File

@@ -33,24 +33,27 @@ export default class AboutPage extends Page {
</h1> </h1>
<p> <p>
This is a clone of the Coriolis project, whose original author is This is now the only active version of the Coriolis project. The original author has handed over the maintenance of the project to the {' '}
currently unable to maintain it. This clone is maintained by the{' '}
<a href="http://edcd.github.io/">EDCD community</a>. <a href="http://edcd.github.io/">EDCD community</a>.
</p> </p>
<h3>Expectations</h3>
<p> <p>
To recover your builds, go to{' '} Although every attempt is made to update the data as soon as possible, following the release of new modules and ships, there may be a delay, of up-to a few days, before the data is available. Wherever possible, the current maintainers aim to keep this delay to a minimum. Please be aware that the project maintainers are volunteers and have real lives to attend to, so please be patient. If you would like to help with the maintenance of the project, please see the link to the EDCD Discord Server below, where you can get involved.
<a href="https://coriolis.io/" target="_blank">
https://coriolis.io/
</a>
, backup your builds (Settings / Backup), copy the text, return here
and import (Settings / Import).
</p> </p>
<p> <p>
The Coriolis project was inspired by{' '} There are, some missing modules from the time where the project was essentially not being maintained. These modules are gradually being added to the Coriolis database as and when the maintainers have the time to do so.
<a href="http://www.edshipyard.com/" target="_blank"> </p>
E:D Shipyard <p>
</a>{' '} Please check the {' '} <a href="https://github.com/EDCD/coriolis/issues/" target="_blank" >Github Issues List</a> for any specific modules you cannot find and see if there is an open request for them. If not, please feel free to open a new issue, however, please note that there is an existing issue open for the addition of pre-engineered modules, so please do not open a new issue for these.
and, of course,{' '} </p>
<h3>Donations</h3>
<p>
If you would like to donate to the project, in order to help with the costs of hosting and maintainence, please see the link to the {' '}
<a href="https://github.com/Brighter-Applications/coriolis" target="_blank">Current Maintainers version of the Git Repository</a> and use the 'Sponsor' button at the top of the page.
</p>
<h3>History</h3>
<p>
The Coriolis project was inspired by 'E:D Shipyard' (Now Defunct) and, of course,{' '}
<a href="http://www.elitedangerous.com" target="_blank"> <a href="http://www.elitedangerous.com" target="_blank">
Elite Dangerous Elite Dangerous
</a> </a>

View File

@@ -33,7 +33,7 @@ export default class ErrorDetails extends React.Component {
<div style={{ marginTop: '2em' }}> <div style={{ marginTop: '2em' }}>
<div><span className='warning'>Browser:</span> {window.navigator.userAgent}</div> <div><span className='warning'>Browser:</span> {window.navigator.userAgent}</div>
<div><span className='warning'>Path:</span> {this.context.route.canonicalPath}</div> <div><span className='warning'>Path:</span> {this.context.route.canonicalPath}</div>
<div><span className='warning'>Error:</span> {error.type || 'Unknown'}</div> <div><span className='warning'>Error:</span> {ed["error"] || 'Unknown'}</div>
<div className='warning'>Details:</div> <div className='warning'>Details:</div>
<div><pre>{typeof ed == 'object' ? Object.keys(ed).map((e) => `${e}: ${ed[e]}\n`) : ed}</pre></div> <div><pre>{typeof ed == 'object' ? Object.keys(ed).map((e) => `${e}: ${ed[e]}\n`) : ed}</pre></div>
</div> </div>
@@ -42,18 +42,67 @@ export default class ErrorDetails extends React.Component {
const importerror = ed && ed.scriptUrl && ed.scriptUrl.indexOf('/import') != -1; const importerror = ed && ed.scriptUrl && ed.scriptUrl.indexOf('/import') != -1;
return <div className='error'> if (ed['error'].match(/URL Length/i)) {
<h1>Jameson, we have a problem..</h1> return <div className='error'>
<h1><small>{error.message}</small></h1> <h1>Jameson, we have a problem..</h1>
Import Error handling has been improved, but still isn't perfect. <br/>MOST Import failures are a result of missing modules in Coriolis, <br />OR incorrect import strings generated by third party apps. If you're seeing this page, we may have failed to handle the errors in your import correctly. Please see the data output below, specifically the 'scriptUrl:' section if it's there and then if you feel confident enough, please check the github issues page linked below and see if there is a similar issue already logged. If not, please create a new issue with the data below. If you're not confident, please ask for help on the Coriolis Channel of the EDCD Discord server. <h1><small>{error.message}</small></h1>
It looks as though you've encountered a URL Length issue for your browser.
<br /><br />
This is a known issue with Internet Explorer and Edge, as well as Google Chrome, all of which only support 2083 characters and your URL is:
<br /><br />
{ed["error"]} characters.
<br /><br />
Please try using another browser first, before reporting an issue, such as Firefox which supports 65,536 characters or Safari, which supports 80,000 characters.
<br /><br />
Don't copy the URL from Explorer, Edge or Chrome, as they will have truncated it and the data string will be incorrect. You'll need to change your default browser settings, so that when you click the link, it opens in the browser you want to use.
<br /><br />
If you're already using Firefox, which supports up to 65,536 characters or Safari, which supports up to 80,000 characters, please see the data output below.
<br/><br />
<h3>Data Output</h3>
{content}
</div>;
}
else {
return <div className='error'>
<h1>Jameson, we have a problem..</h1>
<h1><small>{error.message}</small></h1>
Import Error handling has been improved, but still isn't perfect.
<br /><br />
If you're seeing this page, we may have failed to handle the errors in your import correctly. Please check the common import failures list and then the data output below, specifically the 'scriptUrl:' section if it's there and then if you feel confident enough, please check the github issues page linked below and see if there is a similar issue already logged. If not, please create a new issue with the data below. If you're not confident, please ask for help on the Coriolis Channel of the EDCD Discord server.
<br /><br />
<h3>Common Import Failures</h3>
<ul>
<li>
Previously, most failures were a result of missing modules in Coriolis, although this is rarer now since the import system was improved. If you're using a module in game and you know it isn't in Coriolis, this could be the problem, please check the data output section below.
</li>
<li>
Incorrect import strings generated by third party apps do still occur, please check the data output below and if the import was from something like EDMC, please check you're using the latest version.
</li>
<li>
You've hit a 'maximum URL Length' for your browser. This is a known issue with Internet Explorer and Edge, as well as Google Chrome, all of which only support 2083 characters. Please try using another browser first, before reporting an issue, such as Firefox which supports 65,536 characters or Safari, which supports 80,000 characters. Don't copy the URL from Explorer, Edge or Chrome, as they will have truncated it and the data string will be incorrect. You'll need to change your default browser settings, so that when you click the link, it opens in the browser you want to use.
</li>
<li>
{importerror ? <div>If you are attempting to import a ship from EDDI or EDMC and are seeing a 'Z_BUF_ERROR' it means that the URL has not been understood correctly by the browser. This is a common problem when using Microsoft Internet Explorer or Microsoft Edge, and you should use another browser instead.</div> : null }
</li>
</ul>
<br/> <br/>
<div>Please note that this site uses Google Analytics to track performance and usage. If you are blocking cookies, for example using Ghostery, please disable blocking for this site and try again.</div>
<br/> <br/>
<br/> <h3>Data Output</h3>
{importerror ? <div>If you are attempting to import a ship from EDDI or EDMC and are seeing a 'Z_BUF_ERROR' it means that the URL has not been provided correctly. This is a common problem when using Microsoft Internet Explorer or Microsoft Edge, and you should use another browser instead.</div> : null } {content}
<br/> </div>;
<div>Please note that this site uses Google Analytics to track performance and usage. If you are blocking cookies, for example using Ghostery, please disable blocking for this site and try again.</div> }
<br/>
{content}
</div>;
} }
} }

View File

@@ -927,8 +927,9 @@ export default class Module {
const burst = this.get('burst', modified) || 1; const burst = this.get('burst', modified) || 1;
const burstRoF = this.get('burstrof', modified) || 1; const burstRoF = this.get('burstrof', modified) || 1;
const intRoF = this.get('rof', modified); const intRoF = this.get('rof', modified);
const charge = this.get('charge', modified) || 0;
return burst / (((burst - 1) / burstRoF) + 1 / intRoF); return burst / (((burst - 1) / burstRoF) + 1 / intRoF + charge);
} }
/** /**

View File

@@ -1210,12 +1210,11 @@ export default class Ship {
.value(); .value();
// Update global stats // Update global stats
this.unladenMass = unladenMass; this.unladenMass = unladenMass + fuelCapacity;
this.cargoCapacity = cargoCapacity; this.cargoCapacity = cargoCapacity;
this.fuelCapacity = fuelCapacity; this.fuelCapacity = fuelCapacity;
this.passengerCapacity = passengerCapacity; this.passengerCapacity = passengerCapacity;
this.ladenMass = unladenMass + fuelCapacity + cargoCapacity; this.ladenMass = unladenMass + fuelCapacity + cargoCapacity;
return this; return this;
} }

View File

@@ -12,6 +12,7 @@ import { STATS_FORMATTING } from '../shipyard/StatsFormatting';
* @returns {Object} The react components * @returns {Object} The react components
*/ */
export function specialToolTip(translate, blueprint, grp, m, specialName) { export function specialToolTip(translate, blueprint, grp, m, specialName) {
const description = [];
const effects = []; const effects = [];
if (!blueprint || !blueprint.features) { if (!blueprint || !blueprint.features) {
return undefined; return undefined;
@@ -19,6 +20,15 @@ export function specialToolTip(translate, blueprint, grp, m, specialName) {
if (m) { if (m) {
// We also add in any benefits from specials that aren't covered above // We also add in any benefits from specials that aren't covered above
if (m.blueprint) { if (m.blueprint) {
if (specialName) {
if (Modifications.specials[specialName].description) {
description.push(
<div className={'success'} style={{ maxWidth: 350, padding: 5, marginBottom: 10 }}>
{Modifications.specials[specialName].description}
</div>
);
}
}
for (const feature in Modifications.modifierActions[specialName]) { for (const feature in Modifications.modifierActions[specialName]) {
// if (!blueprint.features[feature] && !m.mods.feature) { // if (!blueprint.features[feature] && !m.mods.feature) {
const featureDef = Modifications.modifications[feature]; const featureDef = Modifications.modifications[feature];
@@ -53,6 +63,7 @@ export function specialToolTip(translate, blueprint, grp, m, specialName) {
return ( return (
<div> <div>
{description}
<table width='100%'> <table width='100%'>
<tbody> <tbody>
{effects} {effects}

View File

@@ -14,6 +14,8 @@ export const SHIP_FD_NAME_TO_CORIOLIS_NAME = {
'BelugaLiner': 'beluga', 'BelugaLiner': 'beluga',
'CobraMkIII': 'cobra_mk_iii', 'CobraMkIII': 'cobra_mk_iii',
'CobraMkIV': 'cobra_mk_iv', 'CobraMkIV': 'cobra_mk_iv',
'CobraMkV': 'cobramkv',
'Corsair': 'imperial_corsair',
'Cutter': 'imperial_cutter', 'Cutter': 'imperial_cutter',
'DiamondBackXL': 'diamondback_explorer', 'DiamondBackXL': 'diamondback_explorer',
'DiamondBack': 'diamondback', 'DiamondBack': 'diamondback',

View File

@@ -9,6 +9,12 @@
} }
} }
ul {
padding: 0;
margin: 0;
text-align: left;
}
pre { pre {
white-space: pre-wrap; white-space: pre-wrap;
white-space: -moz-pre-wrap; white-space: -moz-pre-wrap;