diff options
author | ana <ana@ana.st> | 2021-08-09 15:24:32 +0200 |
---|---|---|
committer | ana <ana@ana.st> | 2021-08-09 15:24:32 +0200 |
commit | 231f854a1a7fe3ac99aecb97121727997cf8f23f (patch) | |
tree | a1fd219f02dc4b87279f8667b80b95776fb01d46 /src/bestiary.js | |
parent | 0bc1d415c477e0f73f22de4245ac29b9fb5500ce (diff) | |
download | eureka-marks-231f854a1a7fe3ac99aecb97121727997cf8f23f.tar.gz |
feat: display sprite spawn times
Diffstat (limited to 'src/bestiary.js')
-rw-r--r-- | src/bestiary.js | 25 |
1 files changed, 24 insertions, 1 deletions
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); |