diff --git a/src/routes/_index/item.svelte b/src/routes/_index/item.svelte index 8d99cbdb..8539a7ba 100644 --- a/src/routes/_index/item.svelte +++ b/src/routes/_index/item.svelte @@ -12,21 +12,47 @@ const dispatch = createEventDispatcher(); let today = getCurrentDay(); - let characterItems = {}; + let characterItems = []; let weaponItems = {}; + const order = { + teachings_of_freedom: 0, + teachings_of_prosperity: 1, + teachings_of_transience: 2, + teachings_of_admonition: 3, + teachings_of_resistance: 4, + teachings_of_diligence: 5, + teachings_of_elegance: 6, + teachings_of_ingenuity: 7, + teachings_of_ballad: 8, + teachings_of_gold: 9, + teachings_of_light: 10, + teachings_of_praxis: 11, + }; + function parseTalentBook() { const _characters = {}; const _weapons = {}; for (const [_, character] of Object.entries(characters)) { + const isTraveler = character.id.startsWith('traveler'); const item = character.material.book[0]; - if (!item.day.includes(today)) continue; - - if (_characters[item.id] === undefined) { - _characters[item.id] = []; + if (!isTraveler) { + if (!item.day.includes(today)) continue; + if (_characters[item.id] === undefined) { + _characters[item.id] = []; + } + _characters[item.id].push(character.id); + } else { + for (let i = 0; i <= 2; i++) { + const e = character.material.book[i]; + if (!e.day.includes(today)) continue; + if (_characters[e.parent] === undefined) { + _characters[e.parent] = []; + } + _characters[e.parent].push(character.id); + } } - _characters[item.id].push(character.id); } for (const [_, weapon] of Object.entries(weaponList)) { @@ -41,7 +67,7 @@ } } - characterItems = _characters; + characterItems = Object.entries(_characters).sort((a, b) => order[a[0]] - order[b[0]]); weaponItems = _weapons; } @@ -69,22 +95,30 @@
![]() |
{#each characters as char}
-
+
![]() ![]() |
@@ -93,7 +127,7 @@
{#each Object.entries(weaponItems) as [id, _]}
- ![]() ![]() |