From 0968bfc157c034c8897a302f2281d0630b55d7e6 Mon Sep 17 00:00:00 2001 From: Wynd Date: Sat, 28 Sep 2024 16:32:23 +0300 Subject: [PATCH] Reorganizing assets for game specific mods --- .gitignore | 1 + index.html | 4166 ----------------- input/{ => bbs}/abilities.json | 0 input/{ => bbs}/commands.json | 0 input/{ => bbs}/finish-commands.json | 0 src/bbs.rs | 164 + src/main.rs | 161 +- .../components/{ => bbs}/char-filters.html | 0 templates/components/{ => bbs}/search.html | 0 .../components/{ => bbs}/type-filters.html | 0 templates/pages/bbs-commands.html | 205 + 11 files changed, 372 insertions(+), 4325 deletions(-) delete mode 100644 index.html rename input/{ => bbs}/abilities.json (100%) rename input/{ => bbs}/commands.json (100%) rename input/{ => bbs}/finish-commands.json (100%) create mode 100644 src/bbs.rs rename templates/components/{ => bbs}/char-filters.html (100%) rename templates/components/{ => bbs}/search.html (100%) rename templates/components/{ => bbs}/type-filters.html (100%) create mode 100644 templates/pages/bbs-commands.html diff --git a/.gitignore b/.gitignore index ff47c2d..bc84197 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ # will have compiled files and executables debug/ target/ +out/ # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html diff --git a/index.html b/index.html deleted file mode 100644 index 26ef4a1..0000000 --- a/index.html +++ /dev/null @@ -1,4166 +0,0 @@ - - - - Commands - - - -
-
- - - - - - - -
- - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CharacterCommandIngredient AIngredient BTypeChanceAbilities
Abounding CrystalFleeting CrystalHungry CrystalPulsing CrystalShimmering CrystalSoothing CrystalWellspring Crystal
-
- - - - A -
-
BlitzWishing EdgeBarrier SurgeP90%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - V - -
-
BlitzQuick BlitzSlot EdgeO90%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - - A -
-
BlitzQuick BlitzSlot EdgeO100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - - V - -
-
BlitzStun EdgeSlot EdgeK90%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - - A -
-
BlitzStun EdgeSlot EdgeK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - - -
-
Meteor CrashQuakeBlitzN100%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - - -
-
Meteor CrashFire StrikeBrutal BlastD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Magic HourAerogaBarrier SurgeN90%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - - - A -
-
Magic HourZero GravigaBlitzO90%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Fire DashSliding DashFireD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Fire DashSliding DashFiraC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Fire DashConfusion StrikeFireD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - - -
-
Dark HazeFire DashZero GraviraD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - - -
-
Dark HazeFire DashBlackoutA100%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - T - - -
-
Dark HazeFire SurgeZero GravityC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - T - - -
-
Sonic BladeBlitzDark HazeD90%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Sonic BladeBlitzAir SlideN90%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - V - A -
-
Sonic BladeFire DashThunder SurgeK90%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - - -
-
Chaos BladeDark HazeSonic BladeB90%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - - -
-
ZantetsukenDark HazeStopgaB80%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - - -
-
ZantetsukenSonic BladeStopgaF80%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - T - V - A -
-
Strike RaidQuick BlitzSliding DashO100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Freeze RaidStrike RaidBlizzaraI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
Freeze RaidBlizzard EdgeBinding StrikeK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - V - -
-
Treasure RaidStrike RaidSlot EdgeO100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - - V - -
-
Treasure RaidSlot EdgeMagnetD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - - V - -
-
Treasure RaidSlot EdgeMagneraK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - V - -
-
Spark RaidFreeze RaidMagnegaJ100%Exp ChanceReload BoostTreasure MagnetCombo F BoostThunder BoostDefenderOnce More
-
- - - V - -
-
Spark RaidTreasure RaidMagnegaN100%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - - V - -
-
Spark RaidThunder SurgeDodge RollP20%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - V - -
-
Spark RaidThundagaDodge RollL20%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - V - -
-
Spark RaidDodge RollStun BlockL20%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - V - -
-
Wind RaidFreeze RaidAerogaB100%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - - V - -
-
Wind RaidTreasure RaidAerogaF100%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - T - V - A -
-
Fire SurgeFire DashIgniteD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Fire SurgeFire DashFiraA100%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
Fire SurgeConfusion StrikeFiraO100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Fire SurgeBinding StrikeFiraK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - - A -
-
Barrier SurgeFire DashBarrierD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Barrier SurgeStun EdgeBarrierK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Thunder SurgeFire DashThundaraD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Thunder SurgeFreeze RaidThundaraG100%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Thunder SurgeStun EdgeThundaraI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
Thunder SurgeConfusion StrikeThundaraI95%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - - -
-
Ars SolumDark HazeSonic BladeB20%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - - -
-
Ars SolumDark HazeStopgaB20%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - - -
-
Ars SolumSonic BladeStopgaF20%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - T - - -
-
Ars SolumSliding DashThunderK5%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - - -
-
Ars SolumStrike RaidThunderL5%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - - -
-
Ars SolumStrike RaidThundaraK5%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - - -
-
Ars SolumConfusion StrikeThundaraI5%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - - V - -
-
Ars ArcanumBlitzAerial SlamF100%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - - V - -
-
Ars ArcanumQuick BlitzSlot EdgeO10%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - - V - -
-
Ars ArcanumFire StrikeAeroraC10%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - - V - -
-
Ars ArcanumQuick BlitzBlizzardG5%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - - V - -
-
Ars ArcanumQuick BlitzBlizzaraH5%Exp WalkerMagic HasteHP Prize PlusCombo F BoostBlizzard ScreenItem BoostAir Combo Plus
-
- - - V - -
-
Ars ArcanumSliding DashBlizzardE5%Lucky StrikeMagic HasteHP Prize PlusLeaf BracerBlizzard BoostItem BoostCombo Plus
-
- - - V - -
-
Ars ArcanumSliding DashBlizzaraG5%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - - V - -
-
Ars ArcanumPoison EdgeCuraP5%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - V - -
-
Ars ArcanumBlizzard EdgeCuraG5%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - - V - A -
-
Time SplicerAerial SlamStopgaF100%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - - - A -
-
Time SplicerStopgaBarrierC20%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Time SplicerBarrier SurgeWishing EdgeP10%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - V - A -
-
Time SplicerStun EdgeSlot EdgeK10%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Poison EdgeQuick BlitzPoisonO95%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Poison EdgeSliding DashPoisonK95%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Poison EdgeStrike RaidPoisonD95%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Wishing EdgeStrike RaidBarrier SurgeO100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - - - A -
-
Wishing EdgeBarrier SurgeStun EdgeK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - - A -
-
Wishing EdgeStun EdgeBinding StrikeJ100%Exp ChanceReload BoostTreasure MagnetCombo F BoostThunder BoostDefenderOnce More
-
- - T - V - A -
-
Blizzard EdgeQuick BlitzBlizzardG95%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Blizzard EdgeQuick BlitzBlizzaraH95%Exp WalkerMagic HasteHP Prize PlusCombo F BoostBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Blizzard EdgeSliding DashBlizzardE95%Lucky StrikeMagic HasteHP Prize PlusLeaf BracerBlizzard BoostItem BoostCombo Plus
-
- - T - V - A -
-
Blizzard EdgeSliding DashBlizzaraG95%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Stun EdgeSliding DashThunderK95%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Stun EdgeStrike RaidThunderL95%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Stun EdgeStrike RaidThundaraK95%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - - A -
-
Slot EdgeWishing EdgeCureO100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Slot EdgePoison EdgeCuraP95%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Slot EdgeBlizzard EdgeCuraG95%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - -
-
Slot EdgeCuragaRenewal BlockN90%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - V - -
-
Slot EdgeCuragaFocus BlockP90%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - - A -
-
Slot EdgeCuragaRenewal BarrierN90%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - - - A -
-
Slot EdgeCuragaFocus BarrierP90%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Fire StrikePoison EdgeFiraD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Fire StrikeWishing EdgeIgniteA100%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
Fire StrikeStun EdgeFireK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Confusion StrikeQuick BlitzConfuseO100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Confusion StrikeSliding DashZero GravityK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Confusion StrikeStrike RaidConfuseG100%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Binding StrikeQuick BlitzBindK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Binding StrikeStrike RaidBindO100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Binding StrikeStun EdgeZero GravityI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - - -
-
Brutal BlastStun EdgeMine ShieldO70%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - - -
-
Brutal BlastBinding StrikeMine SquareL70%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - V - -
-
Tornado StrikeConfusion StrikeAerogaG100%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - - V - -
-
Tornado StrikeBinding StrikeAerogaF100%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - T - V - A -
-
Magnet SpiralBinding StrikeCollision MagnetK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Magnet SpiralBinding StrikeMagnegaJ100%Exp ChanceReload BoostTreasure MagnetCombo F BoostThunder BoostDefenderOnce More
-
- - T - V - A -
-
Magnet SpiralQuick BlitzMagneraK20%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Magnet SpiralStun EdgeMagneraL20%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Magnet SpiralZero GraviraMagnetI20%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - - -
-
WindcutterBinding StrikeAerogaF100%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - T - - -
-
WindcutterConfusion StrikeAerogaG100%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - - -
-
Limit StormBrutal BlastConfusion StrikeG100%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - - -
-
Limit StormBrutal BlastBinding StrikeD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - - V - -
-
SalvationWind RaidCuragaN100%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - V - A -
-
Collision MagnetQuick BlitzMagneraK80%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Collision MagnetStun EdgeMagneraL80%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Collision MagnetZero GraviraMagnetI80%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - - -
-
Geo ImpactBrutal BlastBrutal BlastN70%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - - -
-
SacrificeDark HazeWarpB100%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - - -
-
SacrificePoison EdgeWarpD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - V - -
-
Break TimeCuragaRenewal BlockN10%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - - - A -
-
Break TimeCuragaRenewal BarrierN10%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - V - -
-
Break TimeCuragaFocus BlockP10%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - - A -
-
Break TimeCuragaFocus BarrierP10%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
FiraFire DashFireD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
FiraFire StrikeFireD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
FiraFireFireA100%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
FiraFireIgniteC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
FiragaFire DashFiraD90%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
FiragaFireFiraA90%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
FiragaFiraFiraB90%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - - -
-
Dark FiragaDark HazeFiragaD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - - -
-
Dark FiragaFiragaBlackoutB100%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - V - A -
-
Fission FiragaFiraAerogaA80%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
Fission FiragaFiragaAeroraA80%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
Fission FiragaFiragaAerogaB80%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - - - A -
-
Triple FiragaFiraFiragaA95%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - - - A -
-
Triple FiragaBlitzFiragaD90%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Triple FiragaFiragaFiragaB90%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - V - A -
-
Crawling FireFiragaSlowA80%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
Crawling FireFiragaStopraD80%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Crawling FireFiragaStopgaB80%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - V - A -
-
BlizzaraStrike RaidBlizzardG100%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
BlizzaraBlizzard EdgeBlizzardG100%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
BlizzaraBlizzardBlizzardE100%Lucky StrikeMagic HasteHP Prize PlusLeaf BracerBlizzard BoostItem BoostCombo Plus
-
- - T - V - A -
-
BlizzaraBlizzardAeroH100%Exp WalkerMagic HasteHP Prize PlusCombo F BoostBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
BlizzagaBlizzard EdgeBlizzaraG100%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
BlizzagaBlizzardBlizzaraE100%Lucky StrikeMagic HasteHP Prize PlusLeaf BracerBlizzard BoostItem BoostCombo Plus
-
- - T - V - A -
-
BlizzagaBlizzaraBlizzaraF100%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - - - A -
-
Triple BlizzagaBlitzBlizzagaG100%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - - - A -
-
Triple BlizzagaBlizzaraBlizzagaE100%Lucky StrikeMagic HasteHP Prize PlusLeaf BracerBlizzard BoostItem BoostCombo Plus
-
- - - - A -
-
Triple BlizzagaBlizzagaBlizzagaF100%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - T - V - A -
-
ThundaraStun EdgeThunderK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
ThundaraThunderThunderI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
ThundaraZero GravityMagnetL100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
ThundagaBinding StrikeThundaraK90%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
ThundagaThunderThundaraI90%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
ThundagaThundaraThundaraJ90%Exp ChanceReload BoostTreasure MagnetCombo F BoostThunder BoostDefenderOnce More
-
- - - - A -
-
Thundaga ShotStrike RaidThundagaI85%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - - - A -
-
Thundaga ShotFreeze RaidThundagaE85%Lucky StrikeMagic HasteHP Prize PlusLeaf BracerBlizzard BoostItem BoostCombo Plus
-
- - - - A -
-
Thundaga ShotFiragaThundagaA85%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
CuraThunderCureI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
CuraCureCureM100%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - T - V - A -
-
CuraCureAeroO100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
CuragaCureCuraM100%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - T - V - A -
-
CuragaCuraCuraN100%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - V - A -
-
Mine ShieldFiraZero GravityA100%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - T - V - -
-
Mine ShieldFiraBlockC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Mine ShieldIgniteStopD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - V - -
-
Mine ShieldStopraBlockM100%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - T - V - A -
-
Mine SquareFiraStopA100%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - - - A -
-
Mine SquareFiraBarrierC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Mine SquareAeroraIgniteD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Mine SquareStopraBarrierM100%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - - - A -
-
Seeker MineMine ShieldMine SquareB100%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - - - A -
-
Seeker MineMine ShieldMagnegaC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Seeker MineMine SquareMagnegaD100%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Zero GraviraThunderZero GravityI90%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
Zero GraviraZero GravityZero GravityM90%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - T - V - A -
-
Zero GraviraMagnetAeroP90%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Zero GravigaThundaraZero GraviraI80%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
Zero GravigaZero GravityZero GraviraM80%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - T - V - A -
-
Zero GravigaZero GraviraZero GraviraN80%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - V - A -
-
MagneraStun EdgeMagnetK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
MagneraThunderMagnetI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
MagneraMagnetMagnetM100%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - T - V - A -
-
MagnegaMagnetMagneraI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
MagnegaMagneraMagneraJ100%Exp ChanceReload BoostTreasure MagnetCombo F BoostThunder BoostDefenderOnce More
-
- - - - A -
-
Munny MagnetWishing EdgeMagneraK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - - A -
-
Munny MagnetThundaraMagneraI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - - - A -
-
Energy MagnetCureMagneraM100%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - - - A -
-
Energy MagnetCuraMagneraN100%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - - - A -
-
D-Link MagnetZero GraviraMagneraL100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - - A -
-
D-Link MagnetMagneraStopraI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
AeroraQuick BlitzAeroG95%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
AeroraThunderAeroI95%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
AeroraAeroAeroE95%Lucky StrikeMagic HasteHP Prize PlusLeaf BracerBlizzard BoostItem BoostCombo Plus
-
- - T - V - A -
-
AerogaQuick BlitzAeroraO90%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
AerogaAeroAeroraM90%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - T - V - A -
-
AerogaAeroraAeroraN90%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - - -
-
WarpThundaraZero GraviraI20%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - - -
-
WarpZero GravityZero GraviraM20%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - T - - -
-
WarpZero GraviraZero GraviraN20%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - - -
-
WarpThunderZero GravityI10%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - - -
-
WarpMagnetAeroP10%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - T - - -
-
WarpZero GravityZero GravityM10%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - - V - -
-
FaithWind RaidBreak TimeN100%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - V - A -
-
Deep FreezeFreeze RaidBlizzagaG100%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
Deep FreezeBinding StrikeBlizzagaH100%Exp WalkerMagic HasteHP Prize PlusCombo F BoostBlizzard ScreenItem BoostAir Combo Plus
-
- - - - A -
-
Deep FreezeBlizzagaTriple BlizzagaF100%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - - - A -
-
GlacierBlizzagaDeep FreezeE100%Lucky StrikeMagic HasteHP Prize PlusLeaf BracerBlizzard BoostItem BoostCombo Plus
-
- - - - A -
-
GlacierTriple BlizzagaDeep FreezeF100%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - - - A -
-
Ice BarrageBlizzagaMine ShieldF100%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - - - A -
-
Ice BarrageBlizzagaMine SquareH100%Exp WalkerMagic HasteHP Prize PlusCombo F BoostBlizzard ScreenItem BoostAir Combo Plus
-
- - - - A -
-
Firaga BurstFiraAerogaA20%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - - - A -
-
Firaga BurstFiragaAeroraA20%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - - - A -
-
Firaga BurstFiragaAerogaB20%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - - - A -
-
Firaga BurstFiragaSlowA20%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - - - A -
-
Firaga BurstFiragaStopraD20%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Firaga BurstFiragaStopgaB20%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - - - A -
-
Raging StormFission FiragaFiraga BurstB100%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - - - A -
-
Raging StormBlitzFiragaD10%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Raging StormFire DashFiraD10%Link Prize PlusAttack HasteHP Prize PlusLeaf BracerFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Raging StormFire SurgeCartwheelC10%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Raging StormFireFiraA10%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - - - A -
-
Raging StormFiraFiraB10%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - - - A -
-
Raging StormFiraFiragaA10%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - - - A -
-
Raging StormFiragaFiragaB10%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - V - A -
-
Mega FlareFission FiragaCrawling FireB100%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - - -
-
QuakeBrutal BlastZero GravigaB90%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - - -
-
QuakeBrutal BlastMagnegaC90%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - T - - -
-
QuakeStun EdgeMine ShieldO30%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - T - - -
-
QuakeBinding StrikeMine SquareL30%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - - -
-
QuakeBrutal BlastBrutal BlastN30%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - - -
-
MeteorGeo ImpactQuakeB100%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - - -
-
MeteorBrutal BlastZero GravigaB10%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - - -
-
MeteorBrutal BlastMagnegaC10%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - - V - -
-
TornadoMagnegaAerogaN100%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - - V - -
-
TornadoQuick BlitzAeroraO10%Lucky StrikeAttack HasteTreasure MagnetFinish BoostDark ScreenItem BoostAir Combo Plus
-
- - - V - -
-
TornadoAeroAeroraM10%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - - V - -
-
TornadoAeroraAeroraN10%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - - V - -
-
TornadoQuick BlitzAeroG5%Lucky StrikeAttack HasteHP Prize PlusLeaf BracerBlizzard ScreenItem BoostAir Combo Plus
-
- - - V - -
-
TornadoThunderAeroI5%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - - V - -
-
TornadoAeroAeroE5%Lucky StrikeMagic HasteHP Prize PlusLeaf BracerBlizzard BoostItem BoostCombo Plus
-
- - T - V - A -
-
TranscendenceMagnet SpiralZero GravigaJ100%Exp ChanceReload BoostTreasure MagnetCombo F BoostThunder BoostDefenderOnce More
-
- - T - - -
-
MiniMagneraWarpN100%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - V - A -
-
MiniMagnegaMagnegaJ100%Exp ChanceReload BoostTreasure MagnetCombo F BoostThunder BoostDefenderOnce More
-
- - T - V - A -
-
MiniMagnegaBindI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
BlackoutZero GravityConfuseM100%Lucky StrikeMagic HasteTreasure MagnetCombo F BoostCure BoostItem BoostCombo Plus
-
- - T - V - A -
-
BlackoutZero GraviraConfuseN100%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - T - V - A -
-
BlackoutZero GraviraPoisonP100%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - A -
-
IgniteFireBindA100%Link Prize PlusMagic HasteHP Prize PlusLeaf BracerFire BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
IgniteFiraBindC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
StopraSlowSlowL100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
StopraSlowStopK100%Link Prize PlusAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - A -
-
StopraStopStopI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
StopgaStopStopraI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - A -
-
StopgaStopraStopraJ100%Exp ChanceReload BoostTreasure MagnetCombo F BoostThunder BoostDefenderOnce More
-
- - - V - A -
-
Homing SlideSliding DashMagneraP100%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - V - A -
-
Homing SlideSliding DashAir SlideC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - - V - A -
-
Homing SlideMagnetAir SlideL100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - V - -
-
Thunder RollThunder SurgeDodge RollP80%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - V - -
-
Thunder RollThundagaDodge RollL80%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - V - -
-
Thunder RollStun BlockDodge RollL80%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - - A -
-
FirewheelFiragaCartwheelB100%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - - - A -
-
FirewheelFission FiragaCartwheelB100%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - - - A -
-
FirewheelFire SurgeCartwheelC90%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - T - V - A -
-
Ice SlideBlizzard EdgeAir SlideF100%Lucky StrikeReload BoostHP Prize PlusSecond ChanceBlizzard BoostDamage SyphonAir Combo Plus
-
- - T - V - A -
-
Ice SlideBlizzagaAir SlideH100%Exp WalkerMagic HasteHP Prize PlusCombo F BoostBlizzard ScreenItem BoostAir Combo Plus
-
- - - V - -
-
Fire GlideFire SurgeGlideC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - - V - -
-
Fire GlideFiragaGlideB100%Exp ChanceReload BoostHP Prize PlusFinish BoostFire BoostDamage SyphonOnce More
-
- - T - V - -
-
Renewal BlockCuragaBlockP100%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - T - V - -
-
Renewal BlockEsunaBlockC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - T - V - -
-
Stun BlockStun EdgeBlockL100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - V - -
-
Stun BlockThundagaBlockI100%Link Prize PlusMagic HasteTreasure MagnetCombo F BoostThunder BoostHP BoostAir Combo Plus
-
- - T - V - -
-
Poison BlockPoison EdgeBlockH80%Exp WalkerMagic HasteHP Prize PlusCombo F BoostBlizzard ScreenItem BoostAir Combo Plus
-
- - T - V - -
-
Poison BlockPoisonBlockP80%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - - A -
-
Renewal BarrierCuragaBarrierP100%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - - A -
-
Renewal BarrierEsunaBarrierN100%Lucky StrikeReload BoostTreasure MagnetSecond ChanceCure BoostDefenderCombo Plus
-
- - - - A -
-
Confuse BarrierConfusion StrikeBarrierC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Confuse BarrierConfuseBarrierL100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - - - A -
-
Stop BarrierStopgaBarrierC80%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - T - - -
-
Payback FangSliding DashCounter HammerP100%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - V - -
-
Payback RaidSliding DashStrike RaidP100%Exp WalkerMagic HasteTreasure MagnetCombo F BoostDark ScreenItem BoostAir Combo Plus
-
- - - - A -
-
Payback SurgeSliding DashFire SurgeC100%Link Prize PlusAttack HasteHP Prize PlusFinish BoostFire ScreenHP BoostCombo Plus
-
- - - - A -
-
Payback SurgeSliding DashThunder SurgeL100%Lucky StrikeAttack HasteTreasure MagnetFinish BoostThunder ScreenHP BoostCombo Plus
-
- - T - - -
-
Lightning RayBlitzDark Haze-10%-------
-
- - T - V - A -
-
Lightning RayBlitzAir Slide-10%-------
-
- - T - V - A -
-
Lightning RayFire DashThunder Surge-10%-------
-
- - T - V - A -
-
Lightning RayBinding StrikeThundara-10%-------
-
- - T - V - A -
-
Lightning RayThunderThundara-10%-------
-
- - T - V - A -
-
Lightning RayThundaraThundara-10%-------
-
- - - - A -
-
Lightning RayAerogaBarrier Surge-10%-------
-
- - - - A -
-
Meteor ShowerStrike RaidThundaga-15%-------
-
- - - - A -
-
Meteor ShowerFreeze RaidThundaga-15%-------
-
- - - - A -
-
Meteor ShowerFiragaThundaga-15%-------
-
- - - - A -
-
Meteor ShowerBlitzZero Graviga-10%-------
-
- - T - V - -
-
Bio BarragePoison EdgeBlock-20%-------
-
- - T - V - -
-
Bio BarragePoisonBLock-20%-------
-
- - T - V - A -
-
Bio BarrageQuick BlitzPoison-5%-------
-
- - T - V - A -
-
Bio BarrageSliding DashPoison-5%-------
-
- - T - V - A -
-
Bio BarrageStrike RaidPoison-5%-------
- - - \ No newline at end of file diff --git a/input/abilities.json b/input/bbs/abilities.json similarity index 100% rename from input/abilities.json rename to input/bbs/abilities.json diff --git a/input/commands.json b/input/bbs/commands.json similarity index 100% rename from input/commands.json rename to input/bbs/commands.json diff --git a/input/finish-commands.json b/input/bbs/finish-commands.json similarity index 100% rename from input/finish-commands.json rename to input/bbs/finish-commands.json diff --git a/src/bbs.rs b/src/bbs.rs new file mode 100644 index 0000000..5b5cc23 --- /dev/null +++ b/src/bbs.rs @@ -0,0 +1,164 @@ +use std::collections::HashMap; + +use askama::Template; +use itertools::Itertools; +use serde::Deserialize; + +#[derive(Debug, Deserialize, PartialEq, Eq)] +enum Character { + #[serde(alias = "A")] + Aqua, + #[serde(alias = "V")] + Ventus, + #[serde(alias = "T")] + Terra, +} + +#[derive(Debug, Deserialize, Clone, PartialEq, Eq, PartialOrd, Ord)] +struct Ability { + name: String, + from: String, + category: String, + max: u8, + types: Vec, +} + +#[derive(Debug, Deserialize)] +struct Command { + name: String, + category: String, + char: Vec, + #[serde(default)] + starting: Option, + #[serde(default)] + info: Option, + #[serde(default)] + recipes: Vec, +} + +impl Command {} + +#[derive(Debug, Deserialize)] +struct CommandRecipe { + char: Vec, + r#type: char, + ingredients: (String, String), + chance: u8, + #[serde(skip_deserializing)] + abilities: Vec<(String, Ability)>, +} + +impl CommandRecipe { + pub fn get_ability(&self, crystal: &str) -> Option { + if self.r#type == '-' { + return None; + } + + for ability in self.abilities.iter() { + if ability.0 == crystal { + return Some(ability.1.clone()); + } + } + + // This should never happen unless the json files are wrong + panic!( + "No ability found for {} + {} and {}", + self.ingredients.0, self.ingredients.1, crystal + ); + } + + pub fn can_unlock(&self, char: Character) -> bool { + self.char.contains(&char) + } + + pub fn get_unlock_chars(&self) -> String { + let mut id = String::new(); + if self.can_unlock(Character::Terra) { + id += "T" + } + + if self.can_unlock(Character::Ventus) { + if !id.is_empty() { + id += " "; + } + id += "V"; + } + + if self.can_unlock(Character::Aqua) { + if !id.is_empty() { + id += " "; + } + id += "A"; + } + + id + } + + pub fn set_abilities(&mut self, abilities: &[Ability]) { + let mut vec: Vec<(String, Ability)> = vec![]; + + for ability in abilities.iter() { + if ability.types.contains(&self.r#type) { + vec.push((ability.from.clone(), ability.clone())); + } + } + vec.sort(); + self.abilities = vec; + } +} + +#[derive(Debug, Deserialize)] +struct Finisher { + name: String, + char: Vec, + level: u8, + #[serde(default)] + follows: Vec, + goal: String, + color: String, +} + +#[derive(Template)] +#[template(path = "pages/bbs-commands.html", whitespace = "suppress")] +struct CommandsTemplate { + pub commands: Vec, + pub crystals: Vec, +} + +const ABILITIES_PATH: &str = "./input/bbs/abilities.json"; +const FINISHERS_PATH: &str = "./input/bbs/finish-commands.json"; +const COMMANDS_PATH: &str = "./input/bbs/commands.json"; + +pub fn init() { + tracing::info!("Loading abilities json data from {}", ABILITIES_PATH); + let abilities_str = std::fs::read_to_string(ABILITIES_PATH).unwrap(); + let abilities = serde_json::from_str::>(&abilities_str).unwrap(); + + tracing::info!("Loading finishers json data from {}", ABILITIES_PATH); + let finishers_str = std::fs::read_to_string(FINISHERS_PATH).unwrap(); + let finishers = serde_json::from_str::>(&finishers_str).unwrap(); + + tracing::info!("Loading commands json data from {}", ABILITIES_PATH); + let commands_str = std::fs::read_to_string(COMMANDS_PATH).unwrap(); + let mut commands = serde_json::from_str::>(&commands_str).unwrap(); + + // Create a vec with all the crystal variants found in abilities + let crystals = abilities + .iter() + .map(|x| x.from.clone()) + .unique() + .sorted() + .collect(); + + // Create a vec of crystals and what ability they give for each recipe + for cmd in commands.iter_mut() { + for recipe in cmd.recipes.iter_mut() { + recipe.set_abilities(&abilities); + } + } + + tracing::info!("Generating the commands table template"); + let template = CommandsTemplate { commands, crystals }; + + std::fs::write("./out/index.html", template.render().unwrap()).unwrap(); +} diff --git a/src/main.rs b/src/main.rs index 0c067c2..ced6d0e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,136 +1,9 @@ #![allow(dead_code)] -use std::collections::HashMap; - -use askama::Template; -use itertools::Itertools; -use serde::Deserialize; use tracing_subscriber::EnvFilter; -#[derive(Debug, Deserialize, PartialEq, Eq)] -enum Character { - #[serde(alias = "A")] - Aqua, - #[serde(alias = "V")] - Ventus, - #[serde(alias = "T")] - Terra, -} +mod bbs; -#[derive(Debug, Deserialize, Clone, PartialEq, Eq, PartialOrd, Ord)] -struct Ability { - name: String, - from: String, - category: String, - max: u8, - types: Vec, -} - -#[derive(Debug, Deserialize)] -struct Command { - name: String, - category: String, - char: Vec, - #[serde(default)] - starting: Option, - #[serde(default)] - info: Option, - #[serde(default)] - recipes: Vec, -} - -impl Command {} - -#[derive(Debug, Deserialize)] -struct CommandRecipe { - char: Vec, - r#type: char, - ingredients: (String, String), - chance: u8, - #[serde(skip_deserializing)] - abilities: Vec<(String, Ability)>, -} - -impl CommandRecipe { - pub fn get_ability(&self, crystal: &str) -> Option { - if self.r#type == '-' { - return None; - } - - for ability in self.abilities.iter() { - if ability.0 == crystal { - return Some(ability.1.clone()); - } - } - - // This should never happen unless the json files are wrong - panic!( - "No ability found for {} + {} and {}", - self.ingredients.0, self.ingredients.1, crystal - ); - } - - pub fn can_unlock(&self, char: Character) -> bool { - self.char.contains(&char) - } - - pub fn get_unlock_chars(&self) -> String { - let mut id = String::new(); - if self.can_unlock(Character::Terra) { - id += "T" - } - - if self.can_unlock(Character::Ventus) { - if !id.is_empty() { - id += " "; - } - id += "V"; - } - - if self.can_unlock(Character::Aqua) { - if !id.is_empty() { - id += " "; - } - id += "A"; - } - - id - } - - pub fn set_abilities(&mut self, abilities: &[Ability]) { - let mut vec: Vec<(String, Ability)> = vec![]; - - for ability in abilities.iter() { - if ability.types.contains(&self.r#type) { - vec.push((ability.from.clone(), ability.clone())); - } - } - vec.sort(); - self.abilities = vec; - } -} - -#[derive(Debug, Deserialize)] -struct Finisher { - name: String, - char: Vec, - level: u8, - #[serde(default)] - follows: Vec, - goal: String, - color: String, -} - -#[derive(Template)] -#[template(path = "pages/commands.html", whitespace = "suppress")] -struct CommandsTemplate { - pub commands: Vec, - pub crystals: Vec, -} - -const ABILITIES_PATH: &str = "./input/abilities.json"; -const FINISHERS_PATH: &str = "./input/finish-commands.json"; -const COMMANDS_PATH: &str = "./input/commands.json"; pub const VERSION: &str = env!("CARGO_PKG_VERSION"); fn main() { @@ -140,35 +13,5 @@ fn main() { .event_format(tracing_subscriber::fmt::format().with_source_location(true)) .init(); - tracing::info!("Loading abilities json data from {}", ABILITIES_PATH); - let abilities_str = std::fs::read_to_string(ABILITIES_PATH).unwrap(); - let abilities = serde_json::from_str::>(&abilities_str).unwrap(); - - tracing::info!("Loading finishers json data from {}", ABILITIES_PATH); - let finishers_str = std::fs::read_to_string(FINISHERS_PATH).unwrap(); - let finishers = serde_json::from_str::>(&finishers_str).unwrap(); - - tracing::info!("Loading commands json data from {}", ABILITIES_PATH); - let commands_str = std::fs::read_to_string(COMMANDS_PATH).unwrap(); - let mut commands = serde_json::from_str::>(&commands_str).unwrap(); - - // Create a vec with all the crystal variants found in abilities - let crystals = abilities - .iter() - .map(|x| x.from.clone()) - .unique() - .sorted() - .collect(); - - // Create a vec of crystals and what ability they give for each recipe - for cmd in commands.iter_mut() { - for recipe in cmd.recipes.iter_mut() { - recipe.set_abilities(&abilities); - } - } - - tracing::info!("Generating the commands table template"); - let template = CommandsTemplate { commands, crystals }; - - std::fs::write("./index.html", template.render().unwrap()).unwrap(); + bbs::init(); } diff --git a/templates/components/char-filters.html b/templates/components/bbs/char-filters.html similarity index 100% rename from templates/components/char-filters.html rename to templates/components/bbs/char-filters.html diff --git a/templates/components/search.html b/templates/components/bbs/search.html similarity index 100% rename from templates/components/search.html rename to templates/components/bbs/search.html diff --git a/templates/components/type-filters.html b/templates/components/bbs/type-filters.html similarity index 100% rename from templates/components/type-filters.html rename to templates/components/bbs/type-filters.html diff --git a/templates/pages/bbs-commands.html b/templates/pages/bbs-commands.html new file mode 100644 index 0000000..5bb1fb5 --- /dev/null +++ b/templates/pages/bbs-commands.html @@ -0,0 +1,205 @@ +{% extends "layouts/base.html" %} + +{% block title %}Commands{% endblock %} + +{% block head %} + +{% endblock %} + +{% block content %} + {% include "components/bbs/search.html" %} +
+ {% include "components/bbs/type-filters.html" %} +
+ {% include "components/bbs/char-filters.html" %} + + + + + + + + + + + + + + {% for crystal in crystals %} + + {% endfor %} + + + + {% for cmd in commands %} + {% for recipe in cmd.recipes %} + + + + + + + + {% for crystal in crystals %} + {% let ability = recipe.get_ability(crystal) %} + + {% endfor %} + + {% endfor %} + {% endfor %} + +
CharacterCommandIngredient AIngredient BTypeChanceAbilities
{{ crystal }}
+
+ + + {% if recipe.can_unlock(Character::Terra) %}T{% endif %} + + + {% if recipe.can_unlock(Character::Ventus) %}V{% endif %} + + + {% if recipe.can_unlock(Character::Aqua) %}A{% endif %} + +
+
{{ cmd.name }}{{ recipe.ingredients.0 }}{{ recipe.ingredients.1 }}{{ recipe.type }}{{ recipe.chance }}% + {% if ability.is_some() %} + {{ ability.unwrap().name }} + {% else %} + - + {% endif %} +
+{% endblock %}