Update yoimiya banner

This commit is contained in:
Made Baruna 2021-08-10 15:44:22 +07:00
parent 12f9fbd644
commit 9ca582af54
No known key found for this signature in database
GPG key ID: 5AA5DA16AA5DCEAD
43 changed files with 3406 additions and 97 deletions

View file

@ -179,6 +179,16 @@ export const banners = {
featuredRare: ['chongyun', 'ningguang', 'yanfei'], featuredRare: ['chongyun', 'ningguang', 'yanfei'],
timezoneDependent: true, timezoneDependent: true,
}, },
{
name: 'Tapestry of Golden Flames',
image: 1,
shortName: 'Yoimiya',
start: '2021-08-10 18:00:00',
end: '2021-08-31 14:59:59',
color: '#F7D69F',
featured: ['yoimiya'],
featuredRare: ['sayu', 'diona', 'xinyan'],
},
], ],
weapons: [ weapons: [
{ {
@ -331,5 +341,16 @@ export const banners = {
featuredRare: ['favonius_sword', 'sacrificial_greatsword', 'favonius_lance', 'favonius_codex', 'the_stringless'], featuredRare: ['favonius_sword', 'sacrificial_greatsword', 'favonius_lance', 'favonius_codex', 'the_stringless'],
timezoneDependent: true, timezoneDependent: true,
}, },
{
name: 'Epitome Invocation',
image: 16,
start: '2021-08-10 18:00:00',
end: '2021-08-31 14:59:59',
shortName: 'Thundering Pulse',
color: '#f542c8',
featured: ['thundering_pulse', 'skyward_blade'],
featuredRare: ['sacrificial_sword', 'rainslasher', 'dragons_bane', 'sacrificial_fragments', 'favonius_warbow'],
timezoneDependent: true,
},
], ],
}; };

View file

@ -43,6 +43,24 @@ export const builds = {
}, },
}, },
}, },
sayu: {
roles: {
'COMING SOON': {
recommended: true,
weapons: [],
artifacts: [],
mainStats: {
sands: 'TBD',
goblet: 'TBD',
circlet: 'TBD',
},
subStats: ['TBD'],
talent: ['TBD', 'TBD', 'TBD'],
tip: '',
note: 'Coming Soon!',
},
},
},
traveler_anemo: { traveler_anemo: {
roles: { roles: {
'DPS ANEMO': { 'DPS ANEMO': {
@ -3039,6 +3057,24 @@ export const builds = {
}, },
}, },
}, },
yoimiya: {
roles: {
'COMING SOON': {
recommended: true,
weapons: [],
artifacts: [],
mainStats: {
sands: 'TBD',
goblet: 'TBD',
circlet: 'TBD',
},
subStats: ['TBD'],
talent: ['TBD', 'TBD', 'TBD'],
tip: '',
note: 'Coming Soon!',
},
},
},
diluc: { diluc: {
roles: { roles: {
DPS: { DPS: {

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1779,6 +1779,77 @@ export const characters = {
boss: itemList.shadow_of_the_warrior, boss: itemList.shadow_of_the_warrior,
}, },
}, },
sayu: {
name: 'Sayu',
id: 'sayu',
rarity: 4,
element: elements.anemo,
weapon: weapons.claymore,
sex: 'female',
nation: 'inazuma',
ascension: [
{
items: [
{ item: itemList.vayuda_turquoise_sliver, amount: 1 },
{ item: itemList.none, amount: null },
{ item: itemList.crystal_marrow, amount: 3 },
{ item: itemList.whopperflower_nectar, amount: 3 },
],
mora: 20000,
},
{
items: [
{ item: itemList.vayuda_turquoise_fragment, amount: 3 },
{ item: itemList.marionette_core, amount: 2 },
{ item: itemList.crystal_marrow, amount: 10 },
{ item: itemList.whopperflower_nectar, amount: 15 },
],
mora: 40000,
},
{
items: [
{ item: itemList.vayuda_turquoise_fragment, amount: 6 },
{ item: itemList.marionette_core, amount: 4 },
{ item: itemList.crystal_marrow, amount: 20 },
{ item: itemList.shimmering_nectar, amount: 12 },
],
mora: 60000,
},
{
items: [
{ item: itemList.vayuda_turquoise_chunk, amount: 3 },
{ item: itemList.marionette_core, amount: 8 },
{ item: itemList.crystal_marrow, amount: 30 },
{ item: itemList.shimmering_nectar, amount: 18 },
],
mora: 80000,
},
{
items: [
{ item: itemList.vayuda_turquoise_chunk, amount: 6 },
{ item: itemList.marionette_core, amount: 12 },
{ item: itemList.crystal_marrow, amount: 45 },
{ item: itemList.energy_nectar, amount: 12 },
],
mora: 100000,
},
{
items: [
{ item: itemList.vayuda_turquoise_gemstone, amount: 6 },
{ item: itemList.marionette_core, amount: 20 },
{ item: itemList.crystal_marrow, amount: 60 },
{ item: itemList.energy_nectar, amount: 24 },
],
mora: 120000,
},
],
stats: { hp: 11033, atk: 227, def: 693 },
material: {
book: [itemList.teachings_of_light, itemList.guide_to_light, itemList.philosophies_of_light],
material: [itemList.whopperflower_nectar, itemList.shimmering_nectar, itemList.energy_nectar],
boss: itemList.gilded_scale,
},
},
sucrose: { sucrose: {
name: 'Sucrose', name: 'Sucrose',
id: 'sucrose', id: 'sucrose',
@ -2646,6 +2717,77 @@ export const characters = {
boss: itemList.bloodjade_branch, boss: itemList.bloodjade_branch,
}, },
}, },
yoimiya: {
name: 'Yoimiya',
id: 'yoimiya',
rarity: 5,
element: elements.pyro,
weapon: weapons.bow,
sex: 'female',
nation: 'inazuma',
ascension: [
{
items: [
{ item: itemList.agnidus_agate_sliver, amount: 1 },
{ item: itemList.none, amount: null },
{ item: itemList.naku_weed, amount: 3 },
{ item: itemList.divining_scroll, amount: 3 },
],
mora: 20000,
},
{
items: [
{ item: itemList.agnidus_agate_fragment, amount: 3 },
{ item: itemList.smoldering_pearl, amount: 2 },
{ item: itemList.naku_weed, amount: 10 },
{ item: itemList.divining_scroll, amount: 15 },
],
mora: 40000,
},
{
items: [
{ item: itemList.agnidus_agate_fragment, amount: 6 },
{ item: itemList.smoldering_pearl, amount: 4 },
{ item: itemList.naku_weed, amount: 20 },
{ item: itemList.sealed_scroll, amount: 12 },
],
mora: 60000,
},
{
items: [
{ item: itemList.agnidus_agate_chunk, amount: 3 },
{ item: itemList.smoldering_pearl, amount: 8 },
{ item: itemList.naku_weed, amount: 30 },
{ item: itemList.sealed_scroll, amount: 18 },
],
mora: 80000,
},
{
items: [
{ item: itemList.agnidus_agate_chunk, amount: 6 },
{ item: itemList.smoldering_pearl, amount: 12 },
{ item: itemList.naku_weed, amount: 45 },
{ item: itemList.forbidden_curse_scroll, amount: 12 },
],
mora: 100000,
},
{
items: [
{ item: itemList.agnidus_agate_gemstone, amount: 6 },
{ item: itemList.smoldering_pearl, amount: 20 },
{ item: itemList.naku_weed, amount: 60 },
{ item: itemList.forbidden_curse_scroll, amount: 24 },
],
mora: 120000,
},
],
stats: { hp: 9450, atk: 300, def: 572 },
material: {
book: [itemList.teachings_of_transience, itemList.guide_to_transience, itemList.philosophies_of_transience],
material: [itemList.divining_scroll, itemList.sealed_scroll, itemList.forbidden_curse_scroll],
boss: itemList.dragon_lords_crown,
},
},
zhongli: { zhongli: {
name: 'Zhongli', name: 'Zhongli',
id: 'zhongli', id: 'zhongli',

View file

@ -6669,6 +6669,65 @@ export const weaponList = {
}, },
], ],
}, },
thundering_pulse: {
name: 'Thundering Pulse',
id: 'thundering_pulse',
rarity: 5,
atk: 46,
secondary: 'CRIT DMG',
type: weapons.bow,
source: 'wish',
ascension: [
{
items: [
{ item: itemList.narukamis_wisdom, amount: 5 },
{ item: itemList.dismal_prism, amount: 5 },
{ item: itemList.firm_arrowhead, amount: 3 },
],
mora: 10000,
},
{
items: [
{ item: itemList.narukamis_joy, amount: 5 },
{ item: itemList.dismal_prism, amount: 18 },
{ item: itemList.firm_arrowhead, amount: 12 },
],
mora: 20000,
},
{
items: [
{ item: itemList.narukamis_joy, amount: 9 },
{ item: itemList.crystal_prism, amount: 9 },
{ item: itemList.sharp_arrowhead, amount: 9 },
],
mora: 30000,
},
{
items: [
{ item: itemList.narukamis_affection, amount: 5 },
{ item: itemList.crystal_prism, amount: 18 },
{ item: itemList.sharp_arrowhead, amount: 14 },
],
mora: 45000,
},
{
items: [
{ item: itemList.narukamis_affection, amount: 9 },
{ item: itemList.polarizing_prism, amount: 14 },
{ item: itemList.weathered_arrowhead, amount: 9 },
],
mora: 55000,
},
{
items: [
{ item: itemList.narukamis_valor, amount: 6 },
{ item: itemList.polarizing_prism, amount: 27 },
{ item: itemList.weathered_arrowhead, amount: 18 },
],
mora: 65000,
},
],
},
amenoma_kageuchi: { amenoma_kageuchi: {
name: 'Amenoma Kageuchi', name: 'Amenoma Kageuchi',
id: 'amenoma_kageuchi', id: 'amenoma_kageuchi',

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -13,15 +13,23 @@
const dispatch = createEventDispatcher(); const dispatch = createEventDispatcher();
const featured = { const featured = {
kamisato_ayaka: { yoimiya: {
name: 'Yoimiya',
rarity: 'legendary', rarity: 'legendary',
count: 0, count: 0,
average: '...', average: '...',
percentage: '...', percentage: '...',
}, },
sayu: {
name: 'Sayu',
rarity: 'rare',
count: 0,
average: '...',
percentage: '...',
},
}; };
const bannerId = 300016; const bannerId = 300017;
const image = 'ayaka.png'; const image = 'yoimiya_sayu.png';
let loading = true; let loading = true;
let user = ''; let user = '';
@ -66,24 +74,21 @@
<div class="bg-item rounded-xl p-4 flex flex-col"> <div class="bg-item rounded-xl p-4 flex flex-col">
<div class="relative"> <div class="relative">
<img src="/images/home/{image}" alt="banner" style="min-height: 150px;" /> <img src="/images/home/{image}" alt="banner" style="min-height: 150px;" />
<div class="flex flex-wrap text-white items-center absolute bottom-0 w-full"> <div class="flex flex-wrap text-white justify-end items-center absolute bottom-0 w-full">
{#each Object.entries(featured) as [_, item], i} {#each Object.entries(featured) as [_, item], i}
<div <div
class="flex flex-col pt-2" class="flex flex-col pt-2"
style="background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.75) 17%, rgba(0,0,0,0.75) 70%, rgba(0,0,0,0) 100%); style="background: linear-gradient(270deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.75) 17%, rgba(0,0,0,0.75) 70%, rgba(0,0,0,0) 100%);
{i === 0 ? 'margin-right: 20%;' : ''}" {i === 0 ? 'margin-right: 10%;' : ''}"
> >
<h3 class="text-3xl ml-6 font-black leading-6"> <h3 class="text-3xl mr-4 font-black leading-6 text-right">
{#if loading} {#if loading}
<Icon path={mdiLoading} spin size={0.8} /> <Icon path={mdiLoading} spin size={0.8} />
{:else} {:else}
{item.count} {item.count}
{/if} {/if}
</h3> </h3>
<p class="ml-6 font-sm leading-2"> <p class="mr-4 font-sm leading-2 text-right">{item.name}</p>
<span class="font-semibold">Ayaka</span>
{$t('home.banner.summoned')}
</p>
</div> </div>
{/each} {/each}
</div> </div>

View file

@ -5,7 +5,7 @@
import Item from './_item.svelte'; import Item from './_item.svelte';
import ItemNew from './_itemNew.svelte'; import ItemNew from './_itemNew.svelte';
let showOld = [false, false, false, false]; let showOld = banners.characters.slice(7, banners.characters.length - 3).map((e) => false);
function showOldTally(index) { function showOldTally(index) {
showOld[index] = true; showOld[index] = true;
@ -25,93 +25,45 @@
</p> </p>
<div class="px-4 md:px-8"> <div class="px-4 md:px-8">
<ItemNew type="character" banner={banners.characters[15]} id={300016} featured={['kamisato_ayaka']} />
<ItemNew <ItemNew
type="weapon" type="character"
banner={banners.weapons[14]} banner={banners.characters[16]}
id={400015} id={300017}
featured={['mistsplitter_reforged', 'skyward_spine']} featured={banners.characters[16].featured}
/> />
<ItemNew type="character" banner={banners.characters[14]} id={300015} featured={['kaedehara_kazuha']} /> <ItemNew type="weapon" banner={banners.weapons[15]} id={400016} featured={banners.weapons[15].featured} />
<ItemNew type="weapon" banner={banners.weapons[13]} id={400014} featured={['freedom-sworn', 'skyward_atlas']} />
<ItemNew type="character" banner={banners.characters[13]} id={300014} featured={['klee']} />
<ItemNew <ItemNew
type="weapon" type="character"
banner={banners.weapons[12]} banner={banners.characters[15]}
id={400013} id={300016}
featured={['lost_prayer_to_the_sacred_winds', 'skyward_pride']} featured={banners.characters[15].featured}
/> />
<ItemNew type="character" banner={banners.standard[0]} id={200001} /> <ItemNew type="weapon" banner={banners.weapons[14]} id={400015} featured={banners.weapons[14].featured} />
{#if showOld[0]} {#each showOld as show, i}
<ItemNew type="character" banner={banners.characters[12]} id={300013} featured={['eula']} /> {#if show}
<ItemNew <svelte:component
type="weapon" this={i < showOld.length - 3 ? ItemNew : Item}
banner={banners.weapons[11]} type="character"
id={400012} banner={banners.characters[banners.characters.length - 3 - i]}
featured={['song_of_broken_pines', 'aquila_favonia']} id={300015 - i}
/> featured={banners.characters[banners.characters.length - 3 - i].featured}
{:else} />
<Button on:click={() => showOldTally(0)}> <svelte:component
{$t('wish.tally.show')} this={i < showOld.length - 3 ? ItemNew : Item}
{banners.characters[12].name} & {banners.weapons[11].name} type="weapon"
</Button> banner={banners.weapons[banners.weapons.length - 3 - i]}
<div class="mb-2" /> id={400014 - i}
{/if} featured={banners.weapons[banners.weapons.length - 3 - i].featured}
{#if showOld[1]} />
<ItemNew type="character" banner={banners.characters[11]} id={300012} featured={['zhongli', 'yanfei']} /> {:else}
<ItemNew <Button on:click={() => showOldTally(i)}>
type="weapon" {$t('wish.tally.show')}
banner={banners.weapons[10]} {banners.characters[banners.characters.length - 3 - i].name} &
id={400011} {banners.weapons[banners.weapons.length - 3 - i].name}
featured={['summit_shaper', 'memory_of_dust']} </Button>
/> <div class="mb-2" />
{:else} {/if}
<Button on:click={() => showOldTally(1)}> {/each}
{$t('wish.tally.show')}
{banners.characters[11].name} & {banners.weapons[10].name}
</Button>
<div class="mb-2" />
{/if}
{#if showOld[2]}
<Item type="character" banner={banners.characters[10]} id={300011} featured={['tartaglia', 'rosaria']} />
<Item
type="weapon"
banner={banners.weapons[9]}
id={400010}
featured={['skyward_harp', 'lost_prayer_to_the_sacred_winds']}
/>
{:else}
<Button on:click={() => showOldTally(2)}>
{$t('wish.tally.show')}
{banners.characters[10].name} & {banners.weapons[9].name}
</Button>
<div class="mb-2" />
{/if}
{#if showOld[3]}
<Item type="character" banner={banners.characters[9]} id={300010} featured={['venti']} />
<Item
type="weapon"
banner={banners.weapons[8]}
id={400009}
featured={['skyward_harp', 'lost_prayer_to_the_sacred_winds']}
/>
{:else}
<Button on:click={() => showOldTally(3)}>
{$t('wish.tally.show')}
{banners.characters[9].name} & {banners.weapons[8].name}
</Button>
<div class="mb-2" />
{/if}
{#if showOld[4]}
<Item type="character" banner={banners.characters[8]} id={300009} featured={['hu_tao']} />
<Item type="weapon" banner={banners.weapons[7]} id={400008} featured={['wolfs_gravestone', 'staff_of_homa']} />
{:else}
<Button on:click={() => showOldTally(4)}>
{$t('wish.tally.show')}
{banners.characters[8].name} & {banners.weapons[7].name}
</Button>
<div class="mb-2" />
{/if}
</div> </div>
</div> </div>
</div> </div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 84 KiB