diff --git a/public/assets/honkai3rd/elfs/be.png b/public/assets/honkai3rd/elfs/be.png new file mode 100644 index 00000000..048b49d6 Binary files /dev/null and b/public/assets/honkai3rd/elfs/be.png differ diff --git a/public/assets/honkai3rd/elfs/bl.png b/public/assets/honkai3rd/elfs/bl.png new file mode 100644 index 00000000..039daf62 Binary files /dev/null and b/public/assets/honkai3rd/elfs/bl.png differ diff --git a/public/assets/honkai3rd/elfs/bof.png b/public/assets/honkai3rd/elfs/bof.png new file mode 100644 index 00000000..92bca4b0 Binary files /dev/null and b/public/assets/honkai3rd/elfs/bof.png differ diff --git a/public/assets/honkai3rd/elfs/icon-be.png b/public/assets/honkai3rd/elfs/icon-be.png new file mode 100644 index 00000000..2cc74d30 Binary files /dev/null and b/public/assets/honkai3rd/elfs/icon-be.png differ diff --git a/public/assets/honkai3rd/elfs/icon-bl.png b/public/assets/honkai3rd/elfs/icon-bl.png new file mode 100644 index 00000000..aea01a1e Binary files /dev/null and b/public/assets/honkai3rd/elfs/icon-bl.png differ diff --git a/public/assets/honkai3rd/elfs/icon-bof.png b/public/assets/honkai3rd/elfs/icon-bof.png new file mode 100644 index 00000000..ce0fae6b Binary files /dev/null and b/public/assets/honkai3rd/elfs/icon-bof.png differ diff --git a/public/assets/honkai3rd/elfs/icon-jw.png b/public/assets/honkai3rd/elfs/icon-jw.png new file mode 100644 index 00000000..32b97a44 Binary files /dev/null and b/public/assets/honkai3rd/elfs/icon-jw.png differ diff --git a/public/assets/honkai3rd/elfs/icon-kl.png b/public/assets/honkai3rd/elfs/icon-kl.png new file mode 100644 index 00000000..bc754d15 Binary files /dev/null and b/public/assets/honkai3rd/elfs/icon-kl.png differ diff --git a/public/assets/honkai3rd/elfs/icon-se.png b/public/assets/honkai3rd/elfs/icon-se.png new file mode 100644 index 00000000..71481fd9 Binary files /dev/null and b/public/assets/honkai3rd/elfs/icon-se.png differ diff --git a/public/assets/honkai3rd/elfs/icon-sr.png b/public/assets/honkai3rd/elfs/icon-sr.png new file mode 100644 index 00000000..cc76117d Binary files /dev/null and b/public/assets/honkai3rd/elfs/icon-sr.png differ diff --git a/public/assets/honkai3rd/elfs/icon-tz.png b/public/assets/honkai3rd/elfs/icon-tz.png new file mode 100644 index 00000000..95e95562 Binary files /dev/null and b/public/assets/honkai3rd/elfs/icon-tz.png differ diff --git a/public/assets/honkai3rd/elfs/icon-we.png b/public/assets/honkai3rd/elfs/icon-we.png new file mode 100644 index 00000000..c022294a Binary files /dev/null and b/public/assets/honkai3rd/elfs/icon-we.png differ diff --git a/public/assets/honkai3rd/elfs/jw.png b/public/assets/honkai3rd/elfs/jw.png new file mode 100644 index 00000000..8cb14dec Binary files /dev/null and b/public/assets/honkai3rd/elfs/jw.png differ diff --git a/public/assets/honkai3rd/elfs/kl.png b/public/assets/honkai3rd/elfs/kl.png new file mode 100644 index 00000000..76193385 Binary files /dev/null and b/public/assets/honkai3rd/elfs/kl.png differ diff --git a/public/assets/honkai3rd/elfs/se.png b/public/assets/honkai3rd/elfs/se.png new file mode 100644 index 00000000..f60b9d4b Binary files /dev/null and b/public/assets/honkai3rd/elfs/se.png differ diff --git a/public/assets/honkai3rd/elfs/sr.png b/public/assets/honkai3rd/elfs/sr.png new file mode 100644 index 00000000..a90403c5 Binary files /dev/null and b/public/assets/honkai3rd/elfs/sr.png differ diff --git a/public/assets/honkai3rd/elfs/tz.png b/public/assets/honkai3rd/elfs/tz.png new file mode 100644 index 00000000..b219a522 Binary files /dev/null and b/public/assets/honkai3rd/elfs/tz.png differ diff --git a/public/assets/honkai3rd/elfs/we.png b/public/assets/honkai3rd/elfs/we.png new file mode 100644 index 00000000..87314ab1 Binary files /dev/null and b/public/assets/honkai3rd/elfs/we.png differ diff --git a/public/data/elfs/be.json b/public/data/elfs/be.json new file mode 100644 index 00000000..dada7336 --- /dev/null +++ b/public/data/elfs/be.json @@ -0,0 +1,84 @@ +{ + "id": "be", + "name": "Blood Embrace", + "baseRank": 1, + "strengths": ["physical dmg"], + "skillRows": [ + [ + { + "type": "basic", + "name": "Ax of Destruction", + "description": "Unleashes a mighty forward swing with a giant ax, dealing 490% ATK of Physical DMG, and restores 8 SP upon hit.\nATK Interval: 3.3s", + "requiredRank": 1 + }, + { + "type": "passive", + "name": "Glary Imprint", + "description": "ELF's Basic ATK has a 50% chance of dealing 300.0% more DMG; CD: 5s.", + "requiredRank": 3 + } + ], + [ + { + "type": "ultimate", + "name": "Bloody Sentence", + "description": "Charge at the target while swinging a giant ax, dealing 360% x 3 ATK of Physical DMG to nearby enemies, then toss ax into the sky. When the ax slams on the ground, deal 2900% ATK of AOE Physical DMG near the target. Bloody Sentence deals 100% more shield DMG and 3,000 more DMG against shields.\nCD: 30s\nSP: 75", + "requiredRank": 1 + }, + + { + "type": "passive", + "name": "Final Judgment", + "description": "ELF's Ultimate deals 30.0% more Total DMG.", + "requiredRank": 3 + }, + { + "type": "passive", + + "name": "Raging Wrath", + "description": "After unleashing ELF's Ultimate, ELF's Basic ATK deals 30.0% more Total DMG for 15s.", + "requiredRank": 4 + } + ], + [ + { + "type": "passive", + "name": "Siphon Life", + "description": "ELF's Physical DMG increases by 50% deals 200% more damage against shields or enemies that only take fixed amounts of damage.", + "requiredRank": 1 + }, + { + "type": "passive", + "name": "Godsbane Grip", + "description": "ELF deals 20.0% more Total DMG for 15s after ELF breaks an enemy shield.", + "requiredRank": 4 + } + ], + [ + { + "type": "passive", + "name": "Holy Light", + "description": "ELF's initial SP increases by 40.0.", + "requiredRank": 1 + }, + { + "type": "passive", + "name": "Greed", + "description": "ELF deals 12.0% more Physical DMG.", + "requiredRank": 1 + }, + { + "type": "passive", + "name": "Armor Breaker", + "description": "ELF deals 30.0% more DMG against shields.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Pride", + "description": "ELF deals 10.0% more Total DMG.", + "requiredRank": 3 + } + ] + ] +} diff --git a/public/data/elfs/bella.json b/public/data/elfs/bella.json new file mode 100644 index 00000000..be0514e3 --- /dev/null +++ b/public/data/elfs/bella.json @@ -0,0 +1,106 @@ +{ + "id": "bl", + "name": "Bella", + "baseRank": 2, + "strengths": ["lightning dmg"], + "skillRows": [ + [ + { + "type": "basic", + "name": "Thundering Verdict", + "description": "Basic ATKs deal 540% ATK of Lightning DMG. Restores 1.85 SP every second in battle.\nATK Interval: 3.3s", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Galvanize", + "description": "ELF deals 20.0% bonus Lightning DMG.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Fulminating Blast", + "description": "ELF's attacks have a 50.0% chance to deal 250.0% ATK of bonus Lightning DMG. CD: 6s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Conducting Rod", + "description": "ELF deals 25.0% bonus Total DMG when there's only one enemy on the field.", + "requiredRank": 3 + } + ], + [ + { + "type": "ultimate", + "name": "Lightning Arrows", + "description": "Shoots multiple thunderbolts dealing 300% x 2 + 160% x 10 + 560% ATK of Lightning DMG and boosting Lightning DMG taken by enemies hit by 8.0% for 6s (can be refreshed). If the last hit lands on a single target, it deals 800% ATK of bonus Lightning DMG and paralyzes the enemy for 1.0s.\nCD: 35s\nSP: 75", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Dragon Rage", + "description": "When there's only one enemy on the field, every thunderbolt of Ultimate deals 40.0% bonus Lightning DMG.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Lethal Smite", + "description": "Ultimate boosts Lightning DMG taken by enemies hit by 7.0%.", + "requiredRank": 3 + }, + { + "type": "passive", + "name": "Conducting Cage", + "description": "The Lightning DMG bonus of Ultimate's last hit lasts 10.0%.", + "requiredRank": 4 + } + ], + [ + { + "type": "passive", + "name": "Dragon Guard", + "description": "[Team] With a Fast ATK leader, the team deals 8% bonus Elemental DMG.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Electrifying Dance", + "description": "ELF's has 50.0 bonus initial SP.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Dragon Blood", + "description": "[Team] ELF deals 15% bonus Lightning DMG when there's at least one Lightning DMG dealer on the team.", + "requiredRank": 3 + }, + { + "type": "passive", + "name": "Electrine Soul", + "description": "[Team] With a Lightning DMG leader, team deals 6% bonus Lightning DMG.", + "requiredRank": 4 + } + ], + [ + { + "type": "team", + "name": "Lunar Mending", + "description": "Restores 300.0 HP for the deployed Valkyrie when her HP drops below 50%. CD: 50s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Harmony Crescent", + "description": "Lunar Mending's CD is reduced to 30s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Moon Touch", + "description": "Lunar Mending restores 450.0 HP instead.", + "requiredRank": 3 + } + ] + ] +} diff --git a/public/data/elfs/bof.json b/public/data/elfs/bof.json new file mode 100644 index 00000000..d34e6d44 --- /dev/null +++ b/public/data/elfs/bof.json @@ -0,0 +1,100 @@ +{ + "id": "bof", + "name": "Book of Fuxi", + "baseRank": 2, + "strengths": ["fire dmg"], + "skillRows": [ + [ + { + "type": "basic", + "name": "Shenzhou Will", + "description": "Fire multiple shells, dealing 550% ATK of Fire DMG against the target and restores 3 SP upon hit; CD: 2s.\nATK Interval: 3.3s", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Persistence", + "description": "ELF's Basic ATK hit additionally restores 10 SP for the ELF; CD: 2s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Scorching", + "description": "ELF's Basic ATK hit has a 18.0% chance to deal 200.0% more Fire DMG; CD: 10s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Fiery Soul", + "description": "ELF's Basic ATK hit on a Ignited target boosts ELF's Total DMG by 15.0% for 10s.", + "requiredRank": 2 + } + ], + [ + { + "type": "ultimate", + "name": "Flame Circle", + "description": "Force activates the QTE of Valkyrie(s) capable of dealing Fire DMG on the team, and summons a magic fire circle (lasts 10s) to seal enemies within, dealing 5 x 1000% ATK of Fire DMG against them and inflicting a debuff on them to make them take 10.0% more All Elemental DMG.\nCD: 35s\nSP: 75", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Unification", + "description": "Within the next 5s after unleashing ELF's Ultimate, the whole team's QTE skills deal 15.0% more Total DMG.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Ashes", + "description": "When the magic circle ends, enemies still within the AOE take 10.0% more Elemental DMG for 5s.", + "requiredRank": 3 + } + ], + [ + { + "type": "passive", + "name": "Roar of the Flame", + "description": "[Team-triggered] With a Valkyrie capable of dealing Fire DMG as the team leader, the whole team gains 9.0% Fire DMG and 6.0% Ice and Lightning DMG.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Abundance", + "description": "ELF's initial SP increases by 40.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Joined Flames", + "description": "[Team-triggered] ELF's ALL Elemental DMG increases by 15.0% when there are 2 Valkyries capable of dealing Fire DMG on the team.", + "requiredRank": 3 + }, + { + "type": "passive", + "name": "Nature Harmony", + "description": "[Team-triggered] Team deals 6.0% more Elemental DMG when the team is formed by Valkyries with three different Types.", + "requiredRank": 4 + } + ], + [ + { + "type": "team", + "name": "Free Will", + "description": "When a Valkyrie performs Ultimate Evasion, the ELF restores 15 SP and provides a buff for the Valkyrie, which boosts her Fire DMG by 8.0% for 8s; CD: 15s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Still Water", + "description": "CD of Free Will decreases to 11s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Hong Meng", + "description": "Within the next 6s after triggering Free Will, the Valkyrie's next Charged/Combo ATK additionally deals 120.0% ATK of AOE Fire DMG.", + "requiredRank": 3 + } + ] + ] +} diff --git a/public/data/elfs/jw.json b/public/data/elfs/jw.json new file mode 100644 index 00000000..92d95f37 --- /dev/null +++ b/public/data/elfs/jw.json @@ -0,0 +1,65 @@ +{ + "id": "jw", + "name": "Jingwei's Wings", + "baseRank": 1, + "strengths": ["fire dmg"], + "skillRows": [ + [ + { + "type": "basic", + "name": "Pinion", + "description": "Uses the Blazing Pinion to deal 400% ATK of Fire DMG against the target spot, and restores 5 SP upon hit.\nATK Interval: 3.3s", + "requiredRank": 1 + }, + { + "type": "passive", + "name": "Light Pursuer", + "description": "ELF's Basic ATK deals 25.0% more Total DMG.", + "requiredRank": 1 + } + ], + [ + { + "type": "ultimate", + "name": "Legacy of Starfire", + "description": "Perform Jingwei's Dance to heal Valkyries on the field for 100 HP per 0.25s for a total of 5 times. Once the Dance ends, the ELF releases her ,requiredRank:2},fiery energy to deal 1400% ATK of Fire DMG to enemies near the Valkyrie.\nCD: 40s\nSP: 50", + "requiredRank": 1 + } + ], + + [ + { + "type": "passive", + "name": "Fire Fairy", + "description": "ELF's Fire DMG increases by 20% and heals 30% more HP for the Valkyries.", + "requiredRank": 1 + } + ], + [ + { + "type": "passive", + "name": "Recuperation", + "description": "When ELF casts Ultimate, heals the Valkyrie for 270 HP.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Resuscitation", + "description": "ELF healing effects improve by 24.0%.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Fire Signet", + "description": "ELF Basic ATK additionally restores 5 SP; CD: 6s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Contemplation", + "description": "ELF's SP recovery rate increases by 12.0%.", + "requiredRank": 3 + } + ] + ] +} diff --git a/public/data/elfs/kl.json b/public/data/elfs/kl.json new file mode 100644 index 00000000..cf39486c --- /dev/null +++ b/public/data/elfs/kl.json @@ -0,0 +1,112 @@ +{ + "id": "kl", + "name": "Klein", + "baseRank": 2, + "strengths": ["lightning dmg", "paralyze"], + "skillRows": [ + [ + { + "type": "basic", + "name": "A New Request?", + "description": "ELF has two forms of Basic ATK:\nBasic ATK 1: Launch syringes to deal 5 × 120% ATK of Lighting DMG.\nBasic ATK 2: Unleash biochemical lightning to deal 3 × 200% ATK of Lighting DMG.\nATK Interval: 3.3s", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Sure, No Problem", + "description": "Each hit of Basic ATK has a 50.0% chance to inflict one stack of Fatigue on enemies. The chance is doubled on enemies not yet inflicted.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Just Put It There", + "description": "ELF restores 2.1 SP per second in battle.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "I'll Finish It on Time", + "description": "ELF's basic ATKs deal 30.0% bonus Lightning DMG to enemies with Fatigue.", + "requiredRank": 3 + } + ], + [ + { + "type": "ultimate", + "name": "Quick Sleep Helper", + "description": "Take out a massive syringe and smash it at enemies to trigger a toxic explosion and deal 1800% ATK of Lighting DMG. The syringe then stays on the field and spread toxin to deal 7 × 300% ATK of Lightning DMG. Casting Ultimate reduces character switch CD by 8s. The 1st hit makes enemies take 10.0% bonus Lighting DMG for 15s. Ultimate inflicts Fatigue on enemies hit for 8s and each stack deals 20% ATK of Lightning DMG per second. Triggering it again resets the duration. 5 stacks max.\nCD: 45s\nSP: 75", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Puts You to Sleep Instantly", + "description": "The 1st hit paralyzes enemies for 2.0s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Never Gonna Wake Up Again", + "description": "ELF Ultimate makes enemies take 15.0% bonus Lightning DMG instead.", + "requiredRank": 3 + }, + { + "type": "passive", + "name": "Hmm, Very Helpful", + "description": "ELF Ultimate deals 40.0% bonus Total DMG. Casting Ultimate triggers the QTE of all Lightning DMG dealers on the team.", + "requiredRank": 3 + } + ], + [ + { + "type": "passive", + "name": "Still Got Work to Do", + "description": "[Lineup] Elf deals 25% bonus Lightning DMG when the team leader is a Lightning DMG dealer.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Have to Get Myself Together", + "description": "ELF's initial SP increases by 50.0.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Can't Fall Asleep", + "description": "[Lineup] Lightning DMG dealers on the team deal 6.0% bonus Lightning DMG to paralyzed or fatigued enemies.", + "requiredRank": 3 + }, + { + "type": "passive", + "name": "Can't... Sleep...", + "description": "[Lineup] Every Lightning DMG dealer on the team reduces ELF's Ultimate CD by 8.0%.", + "requiredRank": 3 + } + ], + [ + { + "type": "passive", + "name": "Did I Fall Asleep?", + "description": "Valkyries dealing Combo ATK DMG adds 1 to the count for up to once per second. When the count reaches 3, ELF performs a Joint ATK, clears the count, and launches multiple syringes at the target, dealing 10 x 80% ATK of Lightning DMG. CD: 20s. The count cannot exceed 2 during CD and starts with 2 when the battle begins.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "What Time Is It Now?", + "description": "Joint ATKs can inflict Fatigue.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Oh No... I'm Done!", + "description": "ELF Joint ATKs boost team Total DMG by 5.0% for 12s.", + "requiredRank": 4 + }, + { + "type": "passive", + "name": "Another Sleepless Night", + "description": "Joint ATK CD is reduced to 15.0s.", + "requiredRank": 4 + } + ] + ] +} diff --git a/public/data/elfs/se.json b/public/data/elfs/se.json new file mode 100644 index 00000000..dff3d935 --- /dev/null +++ b/public/data/elfs/se.json @@ -0,0 +1,102 @@ +{ + "id": "se", + "name": "Selune's Elegy", + "baseRank": 2, + "strengths": ["ice dmg", "freeze"], + "skillRows": [ + [ + { + "type": "basic", + "name": "Shadow Strike", + "description": "Swings her scythe to unleash multiple ATKs, dealing a total of 560% of Ice DMG; restores 8 SP upon hit.\nATK Interval: 3.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Fighting Will", + "description": "Each of ELF's Basic ATK hits boosts ELF's Total DMG by 6.0% for 5s; stacks up to 3 times.", + "requiredRank": 3 + }, + { + "type": "passive", + "name": "Imprisonment", + "description": "ELF's Basic ATK has a 10% chance to additionally deal 150.0% ATK of Ice DMG; CD: 20s.", + "requiredRank": 4 + } + ], + [ + { + "type": "ultimate", + "name": "Selune's Requiem", + "description": "Throws her scythe to deal 400% x 5 ATK of AOE Ice DMG and summons Death's Aura that immobilizes enemies within and makes them take 5% more Ice DMG; Selune's Elegy attacks random targets in the Aura AOE 7 times (each target takes no more than 4 times of attack), with each attack dealing 800.0% ATK of Ice DMG against the target and nearby enemies; then deals 1500% ATK of Ice DMG against enemies within the Aura AOE, knocks them airborne, and freezes them for 3s.\nCD: 30s\nSP: 75", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Icebound Rift", + "description": "After an enemy has been knocked airborne, the duration of the freezing effect extends to 6.0s and additionally deals 250.0% Ice DMG.", + "requiredRank": 3 + }, + + { + "type": "passive", + "name": "Ultimate Blitz", + "description": "After unleashing ELF's Ultimate, ELF gains 25.0% Total DMG for 15s (effect duration resets when triggered again).", + "requiredRank": 4 + } + ], + [ + { + "type": "passive", + "name": "Dark Form", + "description": "ELF's Ice DMG increases by 40.0%. Enemies will still take 5% more Ice DMG for 10s after escaping from Death's Aura.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Convergence", + "description": "ELF gains 1% Ice DMG for Each hit against the same target; effect maxes at 15.0% and resets when the target is changed.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Field Captivity", + "description": "[Team-triggered] With any Valkyrie(s) capable of dealing Ice DMG on the team, the Ice Vulnerability effect of Death's Aura is enhanced to 10.0%.", + "requiredRank": 4 + }, + { + "type": "passive", + "name": "Frozen", + "description": "ELF's Ice DMG increases by 12.0%.", + + "requiredRank": 4 + } + ], + [ + { + "type": "passive", + "name": "Energy Charge", + "description": "ELF's SP recovery rate increases by 12.0%.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Phantom Flash", + "description": "ELF's Ultimate CD shortens by 30.0%.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Revelation", + "description": "ELF's initial SP increases by 40.0.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Extinction", + "description": "ELF's Total DMG increases by 10.0%.", + "requiredRank": 3 + } + ] + ] +} diff --git a/public/data/elfs/sr.json b/public/data/elfs/sr.json new file mode 100644 index 00000000..fa1a3d4a --- /dev/null +++ b/public/data/elfs/sr.json @@ -0,0 +1,108 @@ +{ + "id": "sr", + "name": "Sirin", + "baseRank": 2, + "strengths": ["fire dmg", "ignite"], + "skillRows": [ + [ + { + "type": "basic", + "name": "Snip☆Magic", + "description": "ELF has two forms of Basic ATK:\nBasic ATK 1: Use scissors to snip twice each dealing 300% ATK of Fire DMG.\nBasic ATK 2: Spin scissors to deal 150% ATK of requiredRank:2},Fire DMG 4 times.\nATK Interval: 3.3s", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Heat Up", + "description": "ELF restores 2.0 SP per second in battle.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Fire Mark", + "description": "ELF's Basic ATKs boost her Total DMG by 50.0% on hit for 10s.", + "requiredRank": 3 + } + ], + [ + { + "type": "ultimate", + "name": "Shackle☆Magic", + "description": "ELF casts a spell at the target location to create a magic field that ignites, immobilizes enemies within and explodes with a 2.5s delay dealing 3 x requiredRank:2},700% + 1800% ATK of Fire DMG throughout the duration. Enemies within the field take 10.0% bonus Fire DMG for 13s. Restores 200 HP for all Valkyries.\nCD: 35s\nSP: 75", + "requiredRank": 2 + }, + + { + "type": "passive", + "name": "Fiery Lock", + "description": "ELF's initial SP increases by 50.0.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Cube of Conviction", + "description": "ELF's Ultimate deals 60.0% bonus Fire DMG.", + "requiredRank": 3 + }, + { + "type": "passive", + "name": "Fire of Blessings", + "description": "The HP regen max charges from ELF's Ultimate increase to 25.0.", + "requiredRank": 4 + } + ], + [ + { + "type": "passive", + "name": "Sweet☆Magic", + "description": "After Elf's Ultimate is cast, team obtains 20 charges of HP regen. Any team member whose HP is below 100% consumes 1 charge to restore 60 HP when she hit,requiredRank:2},s an enemy.", + + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Caramel Pudding", + "description": "ELF restores 20.0% more HP for Valkyries whose HP is below 50%.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Choc Lava Cake", + "description": "[Lineup] ELF's Ultimate makes enemies take 15.0% bonus Fire DMG instead when there are 2 or more Fire DMG dealers on the team.", + "requiredRank": 3 + }, + { + "type": "passive", + "name": "Double Sugar", + "description": "[Lineup] When team leader is a Fire DMG dealer, team deals 10.0% bonus Fire DMG.", + "requiredRank": 4 + } + ], + [ + { + "type": "passive", + "name": "Friendship☆Magic", + "description": "When a Valkyrie uses a weapon skill, ELF summons a black hole to fire 6 magic missiles each dealing 140% ATK of Fire DMG. CD: 15s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Sirin's Help", + "description": "Enemies hit by ELF's Joint ATKs take 10.0% bonus shield DMG for 12s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Sirin's Support", + "description": "Joint ATK's cooldown is reduced to 10.0s", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Sirin's Regard", + "description": "Joint ATKs deal 200.0% bonus DMG to enemies or their shields which take fixed DMG.", + "requiredRank": 3 + } + ] + ] +} diff --git a/public/data/elfs/tz.json b/public/data/elfs/tz.json new file mode 100644 index 00000000..795cfa00 --- /dev/null +++ b/public/data/elfs/tz.json @@ -0,0 +1,101 @@ +{ + "id": "tz", + "name": "Tesla ZERO", + "baseRank": 2, + "strengths": ["physical dmg"], + "skillRows": [ + [ + { + "type": "basic", + "name": "EM Haymaker", + "description": "Basic ATK deals 400.0% ATK of Physical DMG.\nATK Interval: 3.3s", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Charge", + "description": "ELF's Basic ATKs restore 5.0 bonus SP on hit for itself. CD: 2s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Disruptive Punch", + "description": "ELF's attacks have a 20.0% chance to deal 150.0% bonus Physical DMG. CD: 10s.", + "requiredRank": 3 + }, + { + "type": "passive", + "name": "Smelter Knuckle", + "description": "ELF deals 6.0% bonus Total DMG for 10s after landing a hit. 3 stacks max. CD: 1s.", + "requiredRank": 4 + } + ], + [ + { + "type": "ultimate", + "name": "Power: ULTRA", + "description": "ELF enters burst mode and launches fast attacks in midair for 10s. Each sequence deals 100.0% ATK of Physical DMG. ELF's Crit Rate increases by 12.0% every second (5 stacks max) until burst mode ends. ELF skill button is lit up at max stacks.\nCD: 35s\nSP: 75", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Super RAD", + "description": "The 1st attack in burst mode bleeds enemies for 10.0s, dealing 100% ATK of Physical DMG per second and enabling ELF to Deal 12.0% bonus Total DMG to bleeding enemies within 10.0s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Fine Tuning", + "description": "ELF's initial SP increases by 50.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Super Critical", + "description": "ELF's Ultimate Deals 20.0% bonus Total DMG.", + "requiredRank": 3 + } + ], + [ + { + "type": "passive", + "name": "Harmonic Link", + "description": "[Team] Team deals 3.0% bonus Physical DMG and an additional 2.0% bonus Physical DMG if all 3 members are the same type.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Rapid Harmonics", + "description": "[Team] With at least 1 Fast ATK Valkyrie, team deals 4.0% bonus Physical DMG and the last hit of ELF's Ultimate become Heavy ATK with strong trauma charge.", + "requiredRank": 3 + }, + { + "type": "passive", + "name": "Super Overdrive", + "description": "[Team] With at least 1 Burst Valkyrie, team deals 4.0% bonus Physical DMG and every hit of ELF's Ultimate deals 50.0% ATK of bonus Physical DMG.", + "requiredRank": 4 + } + ], + + [ + { + "type": "ultimate", + "name": "Hard Trauma", + "description": "When ELF skill is cast again during burst mode or when burst mode ends, ELF leaps up to deal 1,800.0% x2 ATK of Physical DMG and ELF skill enters cooldown.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Burst Charge", + "description": "Then the last hit of Ultimate crits, ELF restores 1.5 SP per second for 5s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Particle Stream", + "description": "The last sequence of Ultimate makes enemies take 6.0% bonus Physical DMG for 10s.", + "requiredRank": 3 + } + ] + ] +} diff --git a/public/data/elfs/we.json b/public/data/elfs/we.json new file mode 100644 index 00000000..b8f0b80b --- /dev/null +++ b/public/data/elfs/we.json @@ -0,0 +1,94 @@ +{ + "id": "we", + "name": "Water's Edge", + "baseRank": 2, + "strengths": ["ice dmg", "gather"], + "skillRows": [ + [ + { + "type": "basic", + "name": "Blade Downpour", + "description": "ELF has two Basic ATKs:\nBasic ATK 1: Launch two water projectiles each dealing 240% ATK of Ice DMG.\nBasic ATK 2: Swing the sword to emit a marching wave dealing 480% ATK of Ice DMG.\nATK Interval: 3.3s", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Pending Rain", + "description": "ELF restores 2.2 SP per second in battle.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Imminent Storm", + "description": "ELF's Basic ATKs deal 30.0% bonus Total DMG.", + "requiredRank": 3 + } + ], + [ + { + "type": "ultimate", + "name": "Purge of Evil", + "description": "Channel a formation to gather enemies in a large area dealing 800% + 5 x 100% + 800% ATK of Ice DMG over 7s. Enemies within become Sunken and take 10.0% bonus Ice DMG until the formation ends.\nDealing over 500 Ice DMG to enemies within the formation enhances the gathering for 1s. CD: 1s.\nCD: 30s\nSP: 75", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Refreshing Dew", + "description": "When the formation ends, enemies still within stay Sunken for 6.0s longer.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Tainted Heart", + "description": "Sunken enemies take 6.0% further bonus Ice DMG.", + "requiredRank": 3 + }, + { + "type": "passive", + "name": "Clairvoyance", + "description": "ELF's Ultimate deals 30.0% bonus Total DMG.", + "requiredRank": 4 + } + ], + [ + { + "type": "passive", + "name": "Shoreless", + "description": "[Team] With one or more Ice DMG dealers on the team, Sunken enemies take 8.0% bonus Ice DMG.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Shapeless", + "description": "ELF has 50.0 bonus initial SP.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Traceless", + "description": "[Team] With two or more Ice DMG dealers on the team, the Sunken status lasts for 3.0s longer additionally after the formation ends.", + "requiredRank": 3 + } + ], + [ + { + "type": "team", + "name": "Water's Bane", + "description": "When a QTE hits, ELF launches a blade wave dealing 800.0% ATK of Ice DMG to enemies on its path. CD: 10s.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Roaring Tides", + "description": "ELF's Joint ATKs deal 30.0% bonus Ice DMG.", + "requiredRank": 2 + }, + { + "type": "passive", + "name": "Unbridled Influx", + "description": "ELF's Joint ATKs restore 9.0 SP.", + "requiredRank": 3 + } + ] + ] +} diff --git a/src/data/honkai3rd/elfs.ts b/src/data/honkai3rd/elfs.ts new file mode 100644 index 00000000..3bbc2ffc --- /dev/null +++ b/src/data/honkai3rd/elfs.ts @@ -0,0 +1,45 @@ +import { readdirSync, readJsonFileSync } from '../../lib/data' + +export interface ElfSkill { + type: 'passive' | 'basic' | 'ultimate' | 'team' + name: string + requiredRank: number + description: string +} + +export interface ElfData { + id: string + name: string + baseRank: number + strengths: string[] + skillRows: [ElfSkill[], ElfSkill[], ElfSkill[], ElfSkill[]] +} + +const elfFileNameList = readdirSync('elfs') +const elfDataList = elfFileNameList + .map((fileName) => { + const filePathname = 'elfs/' + fileName + const data = readJsonFileSync(filePathname) as ElfData + + return data + }) + .sort((a, b) => { + let compareResult = a.name + .replace(/ \(.\)/, '') + .localeCompare(b.name.replace(/ \(.\)/, '')) + + return compareResult + }) + +const elfMap = elfDataList.reduce((map, stigmata) => { + map.set(stigmata.id, stigmata) + return map +}, new Map()) + +export function listElfs() { + return elfDataList +} + +export function getElfById(id: string) { + return elfMap.get(id) +}