Update yoimiya banner

pull/1/head
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'],
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: [
{
@ -331,5 +341,16 @@ export const banners = {
featuredRare: ['favonius_sword', 'sacrificial_greatsword', 'favonius_lance', 'favonius_codex', 'the_stringless'],
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: {
roles: {
'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: {
roles: {
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,
},
},
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: {
name: 'Sucrose',
id: 'sucrose',
@ -2646,6 +2717,77 @@ export const characters = {
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: {
name: '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: {
name: '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 featured = {
kamisato_ayaka: {
yoimiya: {
name: 'Yoimiya',
rarity: 'legendary',
count: 0,
average: '...',
percentage: '...',
},
sayu: {
name: 'Sayu',
rarity: 'rare',
count: 0,
average: '...',
percentage: '...',
},
};
const bannerId = 300016;
const image = 'ayaka.png';
const bannerId = 300017;
const image = 'yoimiya_sayu.png';
let loading = true;
let user = '';
@ -66,24 +74,21 @@
<div class="bg-item rounded-xl p-4 flex flex-col">
<div class="relative">
<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}
<div
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%);
{i === 0 ? 'margin-right: 20%;' : ''}"
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: 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}
<Icon path={mdiLoading} spin size={0.8} />
{:else}
{item.count}
{/if}
</h3>
<p class="ml-6 font-sm leading-2">
<span class="font-semibold">Ayaka</span>
{$t('home.banner.summoned')}
</p>
<p class="mr-4 font-sm leading-2 text-right">{item.name}</p>
</div>
{/each}
</div>

View File

@ -5,7 +5,7 @@
import Item from './_item.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) {
showOld[index] = true;
@ -25,93 +25,45 @@
</p>
<div class="px-4 md:px-8">
<ItemNew type="character" banner={banners.characters[15]} id={300016} featured={['kamisato_ayaka']} />
<ItemNew
type="weapon"
banner={banners.weapons[14]}
id={400015}
featured={['mistsplitter_reforged', 'skyward_spine']}
type="character"
banner={banners.characters[16]}
id={300017}
featured={banners.characters[16].featured}
/>
<ItemNew type="character" banner={banners.characters[14]} id={300015} featured={['kaedehara_kazuha']} />
<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 type="weapon" banner={banners.weapons[15]} id={400016} featured={banners.weapons[15].featured} />
<ItemNew
type="weapon"
banner={banners.weapons[12]}
id={400013}
featured={['lost_prayer_to_the_sacred_winds', 'skyward_pride']}
type="character"
banner={banners.characters[15]}
id={300016}
featured={banners.characters[15].featured}
/>
<ItemNew type="character" banner={banners.standard[0]} id={200001} />
{#if showOld[0]}
<ItemNew type="character" banner={banners.characters[12]} id={300013} featured={['eula']} />
<ItemNew
type="weapon"
banner={banners.weapons[11]}
id={400012}
featured={['song_of_broken_pines', 'aquila_favonia']}
/>
{:else}
<Button on:click={() => showOldTally(0)}>
{$t('wish.tally.show')}
{banners.characters[12].name} & {banners.weapons[11].name}
</Button>
<div class="mb-2" />
{/if}
{#if showOld[1]}
<ItemNew type="character" banner={banners.characters[11]} id={300012} featured={['zhongli', 'yanfei']} />
<ItemNew
type="weapon"
banner={banners.weapons[10]}
id={400011}
featured={['summit_shaper', 'memory_of_dust']}
/>
{:else}
<Button on:click={() => showOldTally(1)}>
{$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}
<ItemNew type="weapon" banner={banners.weapons[14]} id={400015} featured={banners.weapons[14].featured} />
{#each showOld as show, i}
{#if show}
<svelte:component
this={i < showOld.length - 3 ? ItemNew : Item}
type="character"
banner={banners.characters[banners.characters.length - 3 - i]}
id={300015 - i}
featured={banners.characters[banners.characters.length - 3 - i].featured}
/>
<svelte:component
this={i < showOld.length - 3 ? ItemNew : Item}
type="weapon"
banner={banners.weapons[banners.weapons.length - 3 - i]}
id={400014 - i}
featured={banners.weapons[banners.weapons.length - 3 - i].featured}
/>
{:else}
<Button on:click={() => showOldTally(i)}>
{$t('wish.tally.show')}
{banners.characters[banners.characters.length - 3 - i].name} &
{banners.weapons[banners.weapons.length - 3 - i].name}
</Button>
<div class="mb-2" />
{/if}
{/each}
</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