From 11372de7db37c467083abfb8efe36a2cf97128f2 Mon Sep 17 00:00:00 2001 From: Matt Isenhower Date: Mon, 13 Mar 2023 21:25:45 -0700 Subject: [PATCH] Add King Salmonid guesses --- app/data/updaters/StageScheduleUpdater.mjs | 52 +++++++++++++++++- app/social/generators/SalmonRunStatus.mjs | 6 ++ src/assets/i18n/en-US.json | 6 +- src/assets/img/king-cohozuna.png | Bin 0 -> 13204 bytes src/assets/img/king-horrorboros.png | Bin 0 -> 19322 bytes .../salmonrun/ExpandedSalmonRunRow.vue | 13 +++-- src/components/salmonrun/KingSalmonid.vue | 25 +++++++++ src/components/salmonrun/SalmonRunRow.vue | 3 + 8 files changed, 98 insertions(+), 7 deletions(-) create mode 100644 src/assets/img/king-cohozuna.png create mode 100644 src/assets/img/king-horrorboros.png create mode 100644 src/components/salmonrun/KingSalmonid.vue diff --git a/app/data/updaters/StageScheduleUpdater.mjs b/app/data/updaters/StageScheduleUpdater.mjs index 4aac05e..4f4d415 100644 --- a/app/data/updaters/StageScheduleUpdater.mjs +++ b/app/data/updaters/StageScheduleUpdater.mjs @@ -1,4 +1,6 @@ +import ValueCache from "../../common/ValueCache.mjs"; import DataUpdater from "./DataUpdater.mjs"; +import _ from 'lodash'; export default class StageScheduleUpdater extends DataUpdater { @@ -40,7 +42,53 @@ export default class StageScheduleUpdater extends DataUpdater }, ]; - getData(locale) { - return this.splatnet(locale).getStageScheduleData(); + async getData(locale) { + let data = await this.splatnet(locale).getStageScheduleData(); + + await this.processKingSalmonids(data); + + return data; + } + + async processKingSalmonids(data) { + let cache = new ValueCache('kingsalmonids'); + let guesses = (await cache.getData()) || []; + + // Get all known schedule times + let schedules = _.sortBy([ + ..._.get(data, 'data.coopGroupingSchedule.regularSchedules.nodes'), + ..._.get(data, 'data.coopGroupingSchedule.bigRunSchedules.nodes'), + ..._.get(data, 'data.coopGroupingSchedule.teamContestSchedules.nodes'), + ], 'startTime'); + + // Remove cached times that don't exist anymore + guesses = guesses.filter(g => schedules.some(s => s.startTime === g.startTime)); + + // Process each schedule + let king = null; + for (let schedule of schedules) { + // Look for an existing guess + let guess = guesses.find(g => g.startTime === schedule.startTime); + + // Determine the king for the current rotation + king = guess ? guess.king : this.nextKingSalmonid(king); + + // If we didn't have it cached, add this guess to the cache + if (!guess) { + guesses.push({ startTime: schedule.startTime, king }); + } + + schedule.__splatoon3ink_king_salmonid_guess = king; + } + + await cache.setData(_.sortBy(guesses, 'startTime')); + } + + nextKingSalmonid(last = null) { + const sequence = ['Cohozuna', 'Horrorboros']; + + let index = sequence.indexOf(last) + 1; + + return sequence[index % sequence.length]; } } diff --git a/app/social/generators/SalmonRunStatus.mjs b/app/social/generators/SalmonRunStatus.mjs index 1a9e11b..25f8bb6 100644 --- a/app/social/generators/SalmonRunStatus.mjs +++ b/app/social/generators/SalmonRunStatus.mjs @@ -36,6 +36,12 @@ export default class SalmonRunStatus extends StatusGenerator lines.push(''); + let king = schedule.__splatoon3ink_king_salmonid_guess; + if (king) { + lines.push(`King Salmonid guess: ${king}`); + lines.push(''); + } + lines.push('Current weapons:'); lines.push(...schedule.settings.weapons.map(w => `– ${w.name}`)); diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 8f1486a..f118039 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -35,7 +35,11 @@ "salmonrun": { "title": "Salmon Run", "weapons": "Supplied Weapons", - "bigrun": "Big Run" + "bigrun": "Big Run", + "kings": { + "maybe-cohozuna": "Maybe: Cohozuna?", + "maybe-horrorboros": "Maybe: Horrorboros?" + } }, "festival": { "title": "Splatfests", diff --git a/src/assets/img/king-cohozuna.png b/src/assets/img/king-cohozuna.png new file mode 100644 index 0000000000000000000000000000000000000000..a9723507665280088e1d0181e469355e405c9c6e GIT binary patch literal 13204 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 bK)?F`sQ0Eh%|lT#00000NkvXXu0mjfA_EO> literal 0 HcmV?d00001 diff --git a/src/components/salmonrun/ExpandedSalmonRunRow.vue b/src/components/salmonrun/ExpandedSalmonRunRow.vue index f7881ed..8b33657 100644 --- a/src/components/salmonrun/ExpandedSalmonRunRow.vue +++ b/src/components/salmonrun/ExpandedSalmonRunRow.vue @@ -8,13 +8,15 @@
+ + {{ $t('time.remaining', { time: formatDurationFromNow(schedule.endTime) }) }}
@@ -52,6 +56,7 @@ import { formatDurationFromNow, formatDurationHoursFromNow } from '@/common/time'; import { useTimeStore } from '../../stores/time.mjs'; import StageImage from '../StageImage.vue'; +import KingSalmonid from './KingSalmonid.vue'; import SalmonRunWeapons from './SalmonRunWeapons.vue'; defineProps({ diff --git a/src/components/salmonrun/KingSalmonid.vue b/src/components/salmonrun/KingSalmonid.vue new file mode 100644 index 0000000..6099dd0 --- /dev/null +++ b/src/components/salmonrun/KingSalmonid.vue @@ -0,0 +1,25 @@ + + + diff --git a/src/components/salmonrun/SalmonRunRow.vue b/src/components/salmonrun/SalmonRunRow.vue index a05712e..09a877d 100644 --- a/src/components/salmonrun/SalmonRunRow.vue +++ b/src/components/salmonrun/SalmonRunRow.vue @@ -21,6 +21,8 @@
+ + {{ $t(`splatnet.stages.${schedule.settings.coopStage.id}.name`, schedule.settings.coopStage.name) }} @@ -38,6 +40,7 @@