mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-09 06:43:24 +00:00
Use better DPE calculation methodology
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
* Add falloff for weapons
|
* Add falloff for weapons
|
||||||
* Use falloff when calculating weapon effectiveness in damage dealt
|
* Use falloff when calculating weapon effectiveness in damage dealt
|
||||||
* Add engagement range slider to allow user to see change in weapon effectiveness with range
|
* Add engagement range slider to allow user to see change in weapon effectiveness with range
|
||||||
|
* Use better DPE calculation methodology
|
||||||
|
|
||||||
#2.2.8
|
#2.2.8
|
||||||
* Fix issue where filling all internals with cargo racks would include restricted slots
|
* Fix issue where filling all internals with cargo racks would include restricted slots
|
||||||
|
|||||||
@@ -947,51 +947,27 @@ export default class Ship {
|
|||||||
for (let slotNum in this.hardpoints) {
|
for (let slotNum in this.hardpoints) {
|
||||||
const slot = this.hardpoints[slotNum];
|
const slot = this.hardpoints[slotNum];
|
||||||
if (slot.m && slot.enabled && slot.m.getDps()) {
|
if (slot.m && slot.enabled && slot.m.getDps()) {
|
||||||
const dpe = slot.m.getDps() / slot.m.getEps();
|
const dpe = slot.m.getEps() === 0 ? 0 : slot.m.getDps() / slot.m.getEps();
|
||||||
const dps = slot.m.getDps();
|
const dps = slot.m.getDps();
|
||||||
const sdps = slot.m.getClip() ? (slot.m.getClip() * slot.m.getDps() / slot.m.getRoF()) / ((slot.m.getClip() / slot.m.getRoF()) + slot.m.getReload()) : dps;
|
const sdps = slot.m.getClip() ? (slot.m.getClip() * slot.m.getDps() / slot.m.getRoF()) / ((slot.m.getClip() / slot.m.getRoF()) + slot.m.getReload()) : dps;
|
||||||
|
|
||||||
totalDpe += dpe;
|
totalDpe += dpe;
|
||||||
totalDps += dps;
|
totalDps += dps;
|
||||||
totalSDps += sdps;
|
totalSDps += sdps;
|
||||||
if (slot.m.getDamageType() === 'E') {
|
if (slot.m.getDamageType().indexOf('E') != -1) {
|
||||||
totalExplDpe += dpe;
|
totalExplDpe += dpe / slot.m.getDamageType().length;
|
||||||
totalExplDps += dps;
|
totalExplDps += dps / slot.m.getDamageType().length;
|
||||||
totalExplSDps += sdps;
|
totalExplSDps += sdps / slot.m.getDamageType().length;
|
||||||
}
|
}
|
||||||
if (slot.m.getDamageType() === 'K') {
|
if (slot.m.getDamageType().indexOf('K') != -1) {
|
||||||
totalKinDpe += dpe;
|
totalKinDpe += dpe / slot.m.getDamageType().length;
|
||||||
totalKinDps += dps;
|
totalKinDps += dps / slot.m.getDamageType().length;
|
||||||
totalKinSDps += sdps;
|
totalKinSDps += sdps / slot.m.getDamageType().length;
|
||||||
}
|
}
|
||||||
if (slot.m.getDamageType() === 'T') {
|
if (slot.m.getDamageType().indexOf('T') != -1) {
|
||||||
totalThermDpe += dpe;
|
totalThermDpe += dpe / slot.m.getDamageType().length;
|
||||||
totalThermDps += dps;
|
totalThermDps += dps / slot.m.getDamageType().length;
|
||||||
totalThermSDps += sdps;
|
totalThermSDps += sdps / slot.m.getDamageType().length;
|
||||||
}
|
|
||||||
if (slot.m.getDamageType() === 'EK') {
|
|
||||||
totalExplDpe += dpe / 2;
|
|
||||||
totalKinDpe += dpe / 2;
|
|
||||||
totalExplDps += dps / 2;
|
|
||||||
totalKinDps += dps / 2;
|
|
||||||
totalExplSDps += sdps / 2;
|
|
||||||
totalKinSDps += sdps / 2;
|
|
||||||
}
|
|
||||||
if (slot.m.getDamageType() === 'ET') {
|
|
||||||
totalExplDpe += dpe / 2;
|
|
||||||
totalThermDpe += dpe / 2;
|
|
||||||
totalExplDps += dps / 2;
|
|
||||||
totalThermDps += dps / 2;
|
|
||||||
totalExplSDps += sdps / 2;
|
|
||||||
totalThermSDps += sdps / 2;
|
|
||||||
}
|
|
||||||
if (slot.m.getDamageType() === 'KT') {
|
|
||||||
totalKinDpe += dpe / 2;
|
|
||||||
totalThermDpe += dpe / 2;
|
|
||||||
totalKinDps += dps / 2;
|
|
||||||
totalThermDps += dps / 2;
|
|
||||||
totalKinSDps += sdps / 2;
|
|
||||||
totalThermSDps += sdps / 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user