From 231f854a1a7fe3ac99aecb97121727997cf8f23f Mon Sep 17 00:00:00 2001 From: ana Date: Mon, 9 Aug 2021 15:24:32 +0200 Subject: feat: display sprite spawn times --- src/App.svelte | 37 ++++++++++++++++++++++++++++++------- src/bestiary.js | 25 ++++++++++++++++++++++++- 2 files changed, 54 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/App.svelte b/src/App.svelte index b16929b..cd6102b 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -136,9 +136,16 @@ @@ -146,7 +153,16 @@
regular enemies
@@ -154,9 +170,16 @@ diff --git a/src/bestiary.js b/src/bestiary.js index e38fc90..9a2728c 100644 --- a/src/bestiary.js +++ b/src/bestiary.js @@ -13,6 +13,18 @@ const bestiaries = { hydatos: hydatosB, }; +export const logograms = { + CONCEPTUAL: 0, + FUNDAMENTAL: 1, + OFFENSIVE: 2, + PROTECTIVE: 3, + CURATIVE: 4, + TACTICAL: 5, + INMICAL: 6, + MITIGATIVE: 7, + OBSCURE: 8, +}; + export function getMatches(forecast, level) { let res = []; bestiaries[forecast[0].zone].forEach((b) => { @@ -21,13 +33,18 @@ export function getMatches(forecast, level) { (b.levelRange && b.levelRange[0] - 2 <= level && b.levelRange[1] >= level) ) { res.push({ - name: b.name, + name: b.name.trim(), level: b.level, levelRange: b.levelRange, elem: b.elem, special: b.type > 0, mutating: b.type === 1, augmenting: b.type === 2, + spawning: + !b.spawnConditions || + b.spawnConditions.includes(forecast[0].currWeather), + nextSpawn: + !b.spawnConditions || findNextSpawn(forecast, b.spawnConditions), uptime: findForecastMatch(forecast, b.conditions), }); } @@ -51,6 +68,12 @@ function findForecastMatch(forecast, conditions) { }; } +function findNextSpawn(forecast, spawnConditions) { + return forecast.find((f) => { + return spawnConditions.includes(forecast.currWeather); + }); +} + function forecastMatches(forecast, condition, index) { const currWeather = forecast[index].currWeather; return condition.some((c) => c === currWeather); -- cgit 1.4.1-2-gfad0