forked from xziino/ff14-mitigator
Compare commits
No commits in common. "eecab6d76a628ff95f11c70e5a159df3c0969e89" and "4345fadc1cb2ad8cbc11d42804009922219eee2d" have entirely different histories.
eecab6d76a
...
4345fadc1c
@ -2,11 +2,6 @@
|
|||||||
require_once __DIR__ . '/config.php';
|
require_once __DIR__ . '/config.php';
|
||||||
session_start_safe();
|
session_start_safe();
|
||||||
|
|
||||||
function auth_start_href(): string {
|
|
||||||
$return = $_SERVER['REQUEST_URI'] ?? '/';
|
|
||||||
return 'auth/start.php?return=' . urlencode($return);
|
|
||||||
}
|
|
||||||
|
|
||||||
$authenticated = !empty($_SESSION['access_token'])
|
$authenticated = !empty($_SESSION['access_token'])
|
||||||
&& ($_SESSION['token_expires'] ?? 0) > time();
|
&& ($_SESSION['token_expires'] ?? 0) > time();
|
||||||
|
|
||||||
|
|||||||
@ -599,23 +599,11 @@ function timelineScale(plan) {
|
|||||||
return { duration, width: Math.max(720, Math.ceil(duration / 1000 * pxPerSecond)) };
|
return { duration, width: Math.max(720, Math.ceil(duration / 1000 * pxPerSecond)) };
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sortierreihenfolge im Gantt: Healer → Phys.Range → Caster → Melee → Tank
|
|
||||||
const JOB_GANTT_ORDER = {
|
|
||||||
'WHM': 0, 'SCH': 1, 'AST': 2, 'SGE': 3,
|
|
||||||
'BRD': 10, 'MCH': 11, 'DNC': 12,
|
|
||||||
'BLM': 20, 'SMN': 21, 'RDM': 22, 'PCT': 23,
|
|
||||||
'MNK': 30, 'DRG': 31, 'NIN': 32, 'SAM': 33, 'RPR': 34, 'VPR': 35,
|
|
||||||
'PLD': 40, 'WAR': 41, 'DRK': 42, 'GNB': 43,
|
|
||||||
};
|
|
||||||
|
|
||||||
function timelinePlayerRows(plan) {
|
function timelinePlayerRows(plan) {
|
||||||
const roster = plan.playerRoster ?? [];
|
const roster = plan.playerRoster ?? [];
|
||||||
const rows = [];
|
const rows = [];
|
||||||
const jobEntries = (plan.jobComposition ?? [])
|
(plan.jobComposition ?? []).forEach((job, idx) => {
|
||||||
.map((job, idx) => ({ job, idx }))
|
if (!job) return;
|
||||||
.filter(e => !!e.job)
|
|
||||||
.sort((a, b) => (JOB_GANTT_ORDER[a.job] ?? 99) - (JOB_GANTT_ORDER[b.job] ?? 99));
|
|
||||||
jobEntries.forEach(({ job, idx }) => {
|
|
||||||
const name = roster[idx]?.name ?? '';
|
const name = roster[idx]?.name ?? '';
|
||||||
const role = JOB_ROLE[job] ?? '';
|
const role = JOB_ROLE[job] ?? '';
|
||||||
const abilities = (JOB_ABILITIES[job] ?? [])
|
const abilities = (JOB_ABILITIES[job] ?? [])
|
||||||
@ -1314,7 +1302,6 @@ function initTimeline(planId) {
|
|||||||
const timestamp = found ? assignmentStartMs(found.mechanic, found.assignment) : 0;
|
const timestamp = found ? assignmentStartMs(found.mechanic, found.assignment) : 0;
|
||||||
const items = rows
|
const items = rows
|
||||||
.filter(row => jobCanUseAbility(row.job, block.dataset.ability))
|
.filter(row => jobCanUseAbility(row.job, block.dataset.ability))
|
||||||
.filter((row, idx, arr) => arr.findIndex(r => r.job === row.job) === idx)
|
|
||||||
.map(row => ({
|
.map(row => ({
|
||||||
label: `${row.job}${row.name ? ` · ${row.name}` : ''}`,
|
label: `${row.job}${row.name ? ` · ${row.name}` : ''}`,
|
||||||
icon: MITIG_ICONS[block.dataset.ability] ?? '',
|
icon: MITIG_ICONS[block.dataset.ability] ?? '',
|
||||||
@ -1840,7 +1827,6 @@ function aoeEventsToMechanics(aoeEvents, fightStart, phases, players, withMitiga
|
|||||||
? Math.round(relevantTargets.reduce((s, t) => s + t.unmitigatedAmount, 0) / relevantTargets.length)
|
? Math.round(relevantTargets.reduce((s, t) => s + t.unmitigatedAmount, 0) / relevantTargets.length)
|
||||||
: 0;
|
: 0;
|
||||||
|
|
||||||
const IMPORT_OFFSET_MS = -3000;
|
|
||||||
let assignments = [];
|
let assignments = [];
|
||||||
if (withMitigations) {
|
if (withMitigations) {
|
||||||
const seen = new Set();
|
const seen = new Set();
|
||||||
@ -1855,7 +1841,6 @@ function aoeEventsToMechanics(aoeEvents, fightStart, phases, players, withMitiga
|
|||||||
actionId: m.extraAbilityGameID ?? null,
|
actionId: m.extraAbilityGameID ?? null,
|
||||||
job: guessJob(key, players),
|
job: guessJob(key, players),
|
||||||
buffType: m.buffType ?? '',
|
buffType: m.buffType ?? '',
|
||||||
timestamp: Math.max(0, relTs + IMPORT_OFFSET_MS),
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user