diff --git a/input/kh1/synthesis.toml b/input/kh1/synthesis.toml index 90f4473..6f13e18 100644 --- a/input/kh1/synthesis.toml +++ b/input/kh1/synthesis.toml @@ -5,12 +5,12 @@ name = "List I" [[sets]] id = 2 name = "List II" -requirement = "Create three unique items" +requirement = "Create four unique items" [[sets]] id = 3 name = "List III" -requirement = "Create nine unique items" +requirement = "Create ten unique items" [[sets]] id = 4 @@ -22,49 +22,48 @@ id = 5 name = "List V" requirement = "Create all items so far" -[[sets]] -id = 6 -name = "List VI" -requirement = "Create all items so far" - [[recipes]] -result = "Mega-Potion" +result = "Cottage" set = 1 [[recipes.items]] - name = "Spirit Shard" - amount = 1 + name = "Bright Shard" + amount = 2 [[recipes.items]] - name = "Power Shard" - amount = 1 + name = "Blaze Shard" + amount = 3 + +[[recipes]] +result = "Elixir" +set = 1 + + [[recipes.items]] + name = "Blaze Shard" + amount = 2 + + [[recipes.items]] + name = "Frost Shard" + amount = 2 + + [[recipes.items]] + name = "Thunder Shard" + amount = 2 [[recipes.items]] name = "Mythril Shard" amount = 4 -[[recipes]] -result = "Cottage" -set = 1 - - [[recipes.items]] - name = "Lucid Shard" - amount = 1 - - [[recipes.items]] - name = "Bright Shard" - amount = 1 - [[recipes]] result = "Energy Bangle" set = 1 [[recipes.items]] - name = "Spirit Shard" + name = "Power Shard" amount = 2 [[recipes.items]] - name = "Bright Shard" + name = "Frost Shard" amount = 1 [[recipes]] @@ -72,87 +71,75 @@ result = "Power Chain" set = 1 [[recipes.items]] - name = "Power Shard" + name = "Spirit Shard" amount = 2 [[recipes.items]] - name = "Lucid Shard" - amount = 1 - -[[recipes]] -result = "Magic Armlet" -set = 1 - - [[recipes.items]] - name = "Blaze Shard" - amount = 3 - - [[recipes.items]] - name = "Frost Shard" - amount = 3 - - [[recipes.items]] - name = "Thunder Shard" - amount = 3 - -[[recipes]] -result = "EXP Earring" -set = 1 - - [[recipes.items]] - name = "Fury Stone" - amount = 1 - - [[recipes.items]] - name = "Power Stone" - amount = 1 - - [[recipes.items]] - name = "Mythril Stone" - amount = 1 - - [[recipes.items]] - name = "Serenity Power" - amount = 1 - - [[recipes.items]] - name = "Dark Matter" - amount = 3 - -[[recipes]] -result = "Mega-Ether" -set = 2 - - [[recipes.items]] - name = "Blaze Shard" - amount = 1 - - [[recipes.items]] - name = "Frost Shard" - amount = 1 - - [[recipes.items]] - name = "Thunder Shard" - amount = 1 - - [[recipes.items]] - name = "Mythril" + name = "Power Shard" amount = 2 [[recipes]] result = "Guard Earring" -set = 2 +set = 1 [[recipes.items]] - name = "Bright Shard" + name = "Spirit Shard" amount = 3 [[recipes.items]] - name = "Frost Shard" + name = "Thunder Shard" + amount = 1 + +[[recipes]] +result = "Dark Ring" +set = 1 + + [[recipes.items]] + name = "Lucid Shard" + amount = 2 + + [[recipes.items]] + name = "Bright Shard" amount = 1 [[recipes.items]] name = "Mythril Shard" + amount = 2 + +[[recipes]] +result = "Mega-Potion" +set = 2 + + [[recipes.items]] + name = "Blaze Gem" + amount = 1 + + [[recipes.items]] + name = "Frost Gem" + amount = 1 + + [[recipes.items]] + name = "Thunder Gem" + amount = 1 + + [[recipes.items]] + name = "Mythril Shard" + amount = 2 + +[[recipes]] +result = "AP Up" +set = 2 + + [[recipes.items]] + name = "Spirit Shard" + amount = 3 + + [[recipes.items]] + name = "Spirit Gem" + amount = 2 + + [[recipes.items]] + name = "Mythril" amount = 3 [[recipes]] @@ -160,15 +147,19 @@ result = "Angel Bangle" set = 2 [[recipes.items]] - name = "Thunder Shard" + name = "Spirit Shard" + amount = 3 + + [[recipes.items]] + name = "Power Shard" amount = 3 [[recipes.items]] name = "Bright Gem" - amount = 1 + amount = 3 [[recipes]] -result = "Golem Chain" +result = "Magic Armlet" set = 2 [[recipes.items]] @@ -176,95 +167,91 @@ set = 2 amount = 3 [[recipes.items]] - name = "Spirit Gem" - amount = 1 - -[[recipes]] -result = "Rune Armlet" -set = 2 - - [[recipes.items]] - name = "Blaze Gem" + name = "Frost Shard" amount = 3 [[recipes.items]] - name = "Frost Gem" + name = "Thunder Shard" amount = 3 - [[recipes.items]] - name = "Thunder Gem" - amount = 3 - -[[recipes]] -result = "Moogle Badge" -set = 2 - - [[recipes.items]] - name = "Blazing Stone" - amount = 1 - - [[recipes.items]] - name = "Frost Stone" - amount = 1 - - [[recipes.items]] - name = "Lightning Stone" - amount = 1 - [[recipes.items]] name = "Mythril" - amount = 5 + amount = 2 + +[[recipes]] +result = "Golem Chain" +set = 2 [[recipes.items]] - name = "Orichalcum" + name = "Power Shard" amount = 3 -[[recipes]] -result = "AP Up" -set = 3 + [[recipes.items]] + name = "Power Gem" + amount = 1 [[recipes.items]] - name = "Blaze Gem" - amount = 2 - - [[recipes.items]] - name = "Frost Gem" - amount = 2 - - [[recipes.items]] - name = "Thunder Gem" - amount = 2 - - [[recipes.items]] - name = "Mythril" - amount = 4 + name = "Lucid Gem" + amount = 1 [[recipes]] -result = "Dark Ring" -set = 3 +result = "Master Earring" +set = 2 + + [[recipes.items]] + name = "Lucid Shard" + amount = 3 [[recipes.items]] name = "Lucid Gem" amount = 2 [[recipes.items]] - name = "Bright Gem" + name = "Spirit Gem" amount = 2 [[recipes]] -result = "Master Earring" +result = "Mega-Ether" set = 3 [[recipes.items]] - name = "Spirit Shard" - amount = 5 - - [[recipes.items]] - name = "Spirit Gem" + name = "Blaze Gem" amount = 3 [[recipes.items]] - name = "Fury Stone" + name = "Frost Gem" + amount = 3 + + [[recipes.items]] + name = "Thunder Gem" + amount = 3 + + [[recipes.items]] + name = "Bright Gem" + amount = 5 + + [[recipes.items]] + name = "Bright Crystal" + amount = 1 + +[[recipes]] +result = "Defense Up" +set = 3 + + [[recipes.items]] + name = "Lucid Shard" + amount = 5 + + [[recipes.items]] + name = "Lucid Gem" + amount = 3 + + [[recipes.items]] + name = "Lucid Crystal" + amount = 1 + + [[recipes.items]] + name = "Mystery Goo" amount = 1 [[recipes]] @@ -272,21 +259,105 @@ result = "Gaia Bangle" set = 3 [[recipes.items]] - name = "Lucid Shard" + name = "Power Shard" amount = 5 [[recipes.items]] - name = "Lucid Gem" + name = "Power Gem" amount = 3 [[recipes.items]] - name = "Lightning Stone" + name = "Bright Crystal" amount = 1 [[recipes]] -result = "Titan Chain" +result = "Rune Armlet" set = 3 + [[recipes.items]] + name = "Blaze Gem" + amount = 2 + + [[recipes.items]] + name = "Frost Gem" + amount = 2 + + [[recipes.items]] + name = "Thunder Gem" + amount = 2 + + [[recipes.items]] + name = "Mythril" + amount = 3 + +[[recipes]] +result = "Heartguard" +set = 3 + + [[recipes.items]] + name = "Spirit Shard" + amount = 3 + + [[recipes.items]] + name = "Power Shard" + amount = 3 + + [[recipes.items]] + name = "Power Crystal" + amount = 1 + +[[recipes]] +result = "Three Stars" +set = 3 + + [[recipes.items]] + name = "Blaze Shard" + amount = 3 + + [[recipes.items]] + name = "Frost Shard" + amount = 3 + + [[recipes.items]] + name = "Thunder Shard" + amount = 3 + + [[recipes.items]] + name = "Orichalcum" + amount = 1 + + [[recipes.items]] + name = "Shiny Crystal" + amount = 1 + +[[recipes]] +result = "Megalixir" +set = 4 + + [[recipes.items]] + name = "Bright Shard" + amount = 5 + + [[recipes.items]] + name = "Bright Gem" + amount = 3 + + [[recipes.items]] + name = "Bright Crystal" + amount = 1 + + [[recipes.items]] + name = "Shiny Crystal" + amount = 1 + + [[recipes.items]] + name = "Gale" + amount = 2 + +[[recipes]] +result = "Power Up" +set = 4 + [[recipes.items]] name = "Power Shard" amount = 5 @@ -296,188 +367,20 @@ set = 3 amount = 3 [[recipes.items]] - name = "Power Stone" - amount = 1 - -[[recipes]] -result = "Mythril" -set = 3 - - [[recipes.items]] - name = "Mythril Shard" - amount = 5 - - [[recipes.items]] - name = "Mythril Stone" + name = "Power Crystal" amount = 1 [[recipes.items]] name = "Mystery Goo" amount = 1 -[[recipes]] -result = "Elixir" -set = 4 - - [[recipes.items]] - name = "Power Crystal" - amount = 1 - - [[recipes.items]] - name = "Shiny Crystal" - amount = 1 - - [[recipes.items]] - name = "Bright Crystal" - amount = 2 - - [[recipes.items]] - name = "Orichalcum" - amount = 3 - -[[recipes]] -result = "Defense Up" -set = 4 - - [[recipes.items]] - name = "Lucid Shard" - amount = 3 - - [[recipes.items]] - name = "Bright Shard" - amount = 3 - - [[recipes.items]] - name = "Bright Gem" - amount = 2 - - [[recipes.items]] - name = "Power Crystal" - amount = 1 - [[recipes.items]] name = "Orichalcum" - amount = 5 - -[[recipes]] -result = "Heartguard" -set = 4 - - [[recipes.items]] - name = "Lucid Gem" - amount = 3 - - [[recipes.items]] - name = "Lucid Crystal" - amount = 1 - - [[recipes.items]] - name = "Bright Crystal" - amount = 1 - -[[recipes]] -result = "Three Stars" -set = 4 - - [[recipes.items]] - name = "Power Gem" - amount = 5 - - [[recipes.items]] - name = "Mystery Goo" - amount = 3 - - [[recipes.items]] - name = "Shiny Crystal" - amount = 1 - -[[recipes]] -result = "Atlas Armlet" -set = 4 - - [[recipes.items]] - name = "Blaze Shard" - amount = 5 - - [[recipes.items]] - name = "Frost Shard" - amount = 5 - - [[recipes.items]] - name = "Thunder Shard" - amount = 5 - - [[recipes.items]] - name = "Mystery Goo" - amount = 1 - - [[recipes.items]] - name = "Dark Matter" - amount = 3 - -[[recipes]] -result = "Crystal Crown" -set = 4 - - [[recipes.items]] - name = "Lucid Crystal" - amount = 5 - - [[recipes.items]] - name = "Power Crystal" - amount = 1 - - [[recipes.items]] - name = "Shiny Crystal" - amount = 1 - - [[recipes.items]] - name = "Blazing Stone" - amount = 3 - - [[recipes.items]] - name = "Frost Stone" - amount = 3 - -[[recipes]] -result = "Dark Matter" -set = 5 - - [[recipes.items]] - name = "Lucid Shard" - amount = 9 - - [[recipes.items]] - name = "Gale" - amount = 1 - - [[recipes.items]] - name = "Mythril" amount = 2 [[recipes]] -result = "Megalixir" -set = 5 - - [[recipes.items]] - name = "Lucid Gem" - amount = 5 - - [[recipes.items]] - name = "Lucid Crystal" - amount = 3 - - [[recipes.items]] - name = "Gale" - amount = 2 - - [[recipes.items]] - name = "Dark Matter" - amount = 1 - -[[recipes]] -result = "Power Up" -set = 5 +result = "Titan Chain" +set = 4 [[recipes.items]] name = "Spirit Shard" @@ -488,64 +391,52 @@ set = 5 amount = 3 [[recipes.items]] - name = "Power Shard" - amount = 5 - - [[recipes.items]] - name = "Power Gem" - amount = 3 - - [[recipes.items]] - name = "Dark Matter" + name = "Lucid Crystal" amount = 1 [[recipes]] -result = "Cosmic Arts" -set = 5 +result = "Atlas Armlet" +set = 4 [[recipes.items]] - name = "Bright Shard" - amount = 5 + name = "Shiny Crystal" + amount = 2 [[recipes.items]] - name = "Bright Gem" - amount = 3 - - [[recipes.items]] - name = "Bright Crystal" - amount = 1 - - [[recipes.items]] - name = "Mythril Stone" - amount = 3 - -[[recipes]] -result = "EXP Bracelet" -set = 5 - - [[recipes.items]] - name = "Energy Stone" - amount = 1 - - [[recipes.items]] - name = "Dazzling Stone" - amount = 1 - - [[recipes.items]] - name = "Stormy Stone" + name = "Mystery Goo" amount = 1 [[recipes.items]] name = "Orichalcum" - amount = 8 + amount = 3 [[recipes.items]] - name = "Dark Matter" + name = "Gale" + amount = 1 + +[[recipes]] +result = "Crystal Crown" +set = 4 + + [[recipes.items]] + name = "Lucid Crystal" + amount = 3 + + [[recipes.items]] + name = "Power Crystal" + amount = 3 + + [[recipes.items]] + name = "Shiny Crystal" + amount = 3 + + [[recipes.items]] + name = "Bright Crystal" amount = 3 [[recipes]] result = "Ribbon" -set = 5 +set = 4 [[recipes.items]] name = "Blaze Gem" @@ -559,57 +450,25 @@ set = 5 name = "Thunder Gem" amount = 5 + [[recipes.items]] + name = "Bright Gem" + amount = 5 + [[recipes.items]] name = "Gale" - amount = 1 - - [[recipes.items]] - name = "Serenity Power" amount = 3 -[[recipes]] -result = "Fantasista" -set = 6 - - [[recipes.items]] - name = "Fury Stone" - amount = 3 - - [[recipes.items]] - name = "Power Stone" - amount = 3 - - [[recipes.items]] - name = "Mythril Stone" - amount = 3 - - [[recipes.items]] - name = "Energy Stone" - amount = 5 - -[[recipes]] -result = "Seven Elements" -set = 6 - - [[recipes.items]] - name = "Blazing Stone" - amount = 3 - - [[recipes.items]] - name = "Frost Stone" - amount = 3 - - [[recipes.items]] - name = "Lightning Stone" - amount = 3 - - [[recipes.items]] - name = "Dazzling Stone" - amount = 5 - [[recipes]] result = "Ultima Weapon" -set = 6 +set = 5 + + [[recipes.items]] + name = "Lucid Gem" + amount = 5 + + [[recipes.items]] + name = "Power Gem" + amount = 5 [[recipes.items]] name = "Thunder Gem" @@ -617,16 +476,8 @@ set = 6 [[recipes.items]] name = "Mystery Goo" - amount = 5 - - [[recipes.items]] - name = "Serenity Power" amount = 3 [[recipes.items]] - name = "Stormy Stone" - amount = 3 - - [[recipes.items]] - name = "Dark Matter" + name = "Gale" amount = 3 diff --git a/input/kh1/enemies/air-pirate.toml b/input/kh1fm/enemies/air-pirate.toml similarity index 100% rename from input/kh1/enemies/air-pirate.toml rename to input/kh1fm/enemies/air-pirate.toml diff --git a/input/kh1/enemies/air-soldier.toml b/input/kh1fm/enemies/air-soldier.toml similarity index 100% rename from input/kh1/enemies/air-soldier.toml rename to input/kh1fm/enemies/air-soldier.toml diff --git a/input/kh1/enemies/angel-star.toml b/input/kh1fm/enemies/angel-star.toml similarity index 100% rename from input/kh1/enemies/angel-star.toml rename to input/kh1fm/enemies/angel-star.toml diff --git a/input/kh1/enemies/aquatank.toml b/input/kh1fm/enemies/aquatank.toml similarity index 100% rename from input/kh1/enemies/aquatank.toml rename to input/kh1fm/enemies/aquatank.toml diff --git a/input/kh1/enemies/bandit.toml b/input/kh1fm/enemies/bandit.toml similarity index 100% rename from input/kh1/enemies/bandit.toml rename to input/kh1fm/enemies/bandit.toml diff --git a/input/kh1/enemies/barrel-spider.toml b/input/kh1fm/enemies/barrel-spider.toml similarity index 100% rename from input/kh1/enemies/barrel-spider.toml rename to input/kh1fm/enemies/barrel-spider.toml diff --git a/input/kh1/enemies/battleship.toml b/input/kh1fm/enemies/battleship.toml similarity index 100% rename from input/kh1/enemies/battleship.toml rename to input/kh1fm/enemies/battleship.toml diff --git a/input/kh1/enemies/black-ballade.toml b/input/kh1fm/enemies/black-ballade.toml similarity index 100% rename from input/kh1/enemies/black-ballade.toml rename to input/kh1fm/enemies/black-ballade.toml diff --git a/input/kh1/enemies/blue-rhapsody.toml b/input/kh1fm/enemies/blue-rhapsody.toml similarity index 100% rename from input/kh1/enemies/blue-rhapsody.toml rename to input/kh1fm/enemies/blue-rhapsody.toml diff --git a/input/kh1/enemies/bouncywild.toml b/input/kh1fm/enemies/bouncywild.toml similarity index 100% rename from input/kh1/enemies/bouncywild.toml rename to input/kh1fm/enemies/bouncywild.toml diff --git a/input/kh1/enemies/chimera.toml b/input/kh1fm/enemies/chimera.toml similarity index 100% rename from input/kh1/enemies/chimera.toml rename to input/kh1fm/enemies/chimera.toml diff --git a/input/kh1/enemies/darkball.toml b/input/kh1fm/enemies/darkball.toml similarity index 100% rename from input/kh1/enemies/darkball.toml rename to input/kh1fm/enemies/darkball.toml diff --git a/input/kh1/enemies/defender.toml b/input/kh1fm/enemies/defender.toml similarity index 100% rename from input/kh1/enemies/defender.toml rename to input/kh1fm/enemies/defender.toml diff --git a/input/kh1/enemies/fat-bandit.toml b/input/kh1fm/enemies/fat-bandit.toml similarity index 100% rename from input/kh1/enemies/fat-bandit.toml rename to input/kh1fm/enemies/fat-bandit.toml diff --git a/input/kh1/enemies/gargoyle.toml b/input/kh1fm/enemies/gargoyle.toml similarity index 100% rename from input/kh1/enemies/gargoyle.toml rename to input/kh1fm/enemies/gargoyle.toml diff --git a/input/kh1/enemies/gigas-shadow.toml b/input/kh1fm/enemies/gigas-shadow.toml similarity index 100% rename from input/kh1/enemies/gigas-shadow.toml rename to input/kh1fm/enemies/gigas-shadow.toml diff --git a/input/kh1/enemies/grand-ghost.toml b/input/kh1fm/enemies/grand-ghost.toml similarity index 100% rename from input/kh1/enemies/grand-ghost.toml rename to input/kh1fm/enemies/grand-ghost.toml diff --git a/input/kh1/enemies/green-requiem.toml b/input/kh1fm/enemies/green-requiem.toml similarity index 100% rename from input/kh1/enemies/green-requiem.toml rename to input/kh1fm/enemies/green-requiem.toml diff --git a/input/kh1/enemies/invisible.toml b/input/kh1fm/enemies/invisible.toml similarity index 100% rename from input/kh1/enemies/invisible.toml rename to input/kh1fm/enemies/invisible.toml diff --git a/input/kh1/enemies/jet-balloon.toml b/input/kh1fm/enemies/jet-balloon.toml similarity index 100% rename from input/kh1/enemies/jet-balloon.toml rename to input/kh1fm/enemies/jet-balloon.toml diff --git a/input/kh1/enemies/large-body.toml b/input/kh1fm/enemies/large-body.toml similarity index 100% rename from input/kh1/enemies/large-body.toml rename to input/kh1fm/enemies/large-body.toml diff --git a/input/kh1/enemies/neoshadow.toml b/input/kh1fm/enemies/neoshadow.toml similarity index 100% rename from input/kh1/enemies/neoshadow.toml rename to input/kh1fm/enemies/neoshadow.toml diff --git a/input/kh1/enemies/pink-agaricus.toml b/input/kh1fm/enemies/pink-agaricus.toml similarity index 100% rename from input/kh1/enemies/pink-agaricus.toml rename to input/kh1fm/enemies/pink-agaricus.toml diff --git a/input/kh1/enemies/pirate.toml b/input/kh1fm/enemies/pirate.toml similarity index 100% rename from input/kh1/enemies/pirate.toml rename to input/kh1fm/enemies/pirate.toml diff --git a/input/kh1/enemies/pot-scorpion.toml b/input/kh1fm/enemies/pot-scorpion.toml similarity index 100% rename from input/kh1/enemies/pot-scorpion.toml rename to input/kh1fm/enemies/pot-scorpion.toml diff --git a/input/kh1/enemies/pot-spider.toml b/input/kh1fm/enemies/pot-spider.toml similarity index 100% rename from input/kh1/enemies/pot-spider.toml rename to input/kh1fm/enemies/pot-spider.toml diff --git a/input/kh1/enemies/powerwild.toml b/input/kh1fm/enemies/powerwild.toml similarity index 100% rename from input/kh1/enemies/powerwild.toml rename to input/kh1fm/enemies/powerwild.toml diff --git a/input/kh1/enemies/red-nocturne.toml b/input/kh1fm/enemies/red-nocturne.toml similarity index 100% rename from input/kh1/enemies/red-nocturne.toml rename to input/kh1fm/enemies/red-nocturne.toml diff --git a/input/kh1/enemies/screwdiver.toml b/input/kh1fm/enemies/screwdiver.toml similarity index 100% rename from input/kh1/enemies/screwdiver.toml rename to input/kh1fm/enemies/screwdiver.toml diff --git a/input/kh1/enemies/sea-neon.toml b/input/kh1fm/enemies/sea-neon.toml similarity index 100% rename from input/kh1/enemies/sea-neon.toml rename to input/kh1fm/enemies/sea-neon.toml diff --git a/input/kh1/enemies/search-ghost.toml b/input/kh1fm/enemies/search-ghost.toml similarity index 100% rename from input/kh1/enemies/search-ghost.toml rename to input/kh1fm/enemies/search-ghost.toml diff --git a/input/kh1/enemies/shadow.toml b/input/kh1fm/enemies/shadow.toml similarity index 100% rename from input/kh1/enemies/shadow.toml rename to input/kh1fm/enemies/shadow.toml diff --git a/input/kh1/enemies/sheltering-zone.toml b/input/kh1fm/enemies/sheltering-zone.toml similarity index 100% rename from input/kh1/enemies/sheltering-zone.toml rename to input/kh1fm/enemies/sheltering-zone.toml diff --git a/input/kh1/enemies/sniperwild.toml b/input/kh1fm/enemies/sniperwild.toml similarity index 100% rename from input/kh1/enemies/sniperwild.toml rename to input/kh1fm/enemies/sniperwild.toml diff --git a/input/kh1/enemies/soldier.toml b/input/kh1fm/enemies/soldier.toml similarity index 100% rename from input/kh1/enemies/soldier.toml rename to input/kh1fm/enemies/soldier.toml diff --git a/input/kh1/enemies/stealth-soldier.toml b/input/kh1fm/enemies/stealth-soldier.toml similarity index 100% rename from input/kh1/enemies/stealth-soldier.toml rename to input/kh1fm/enemies/stealth-soldier.toml diff --git a/input/kh1/enemies/wight-knight.toml b/input/kh1fm/enemies/wight-knight.toml similarity index 100% rename from input/kh1/enemies/wight-knight.toml rename to input/kh1fm/enemies/wight-knight.toml diff --git a/input/kh1/enemies/wizard.toml b/input/kh1fm/enemies/wizard.toml similarity index 100% rename from input/kh1/enemies/wizard.toml rename to input/kh1fm/enemies/wizard.toml diff --git a/input/kh1/enemies/wyvern.toml b/input/kh1fm/enemies/wyvern.toml similarity index 100% rename from input/kh1/enemies/wyvern.toml rename to input/kh1fm/enemies/wyvern.toml diff --git a/input/kh1/enemies/yellow-opera.toml b/input/kh1fm/enemies/yellow-opera.toml similarity index 100% rename from input/kh1/enemies/yellow-opera.toml rename to input/kh1fm/enemies/yellow-opera.toml diff --git a/input/kh1fm/synthesis.toml b/input/kh1fm/synthesis.toml new file mode 100644 index 0000000..90f4473 --- /dev/null +++ b/input/kh1fm/synthesis.toml @@ -0,0 +1,632 @@ +[[sets]] +id = 1 +name = "List I" + +[[sets]] +id = 2 +name = "List II" +requirement = "Create three unique items" + +[[sets]] +id = 3 +name = "List III" +requirement = "Create nine unique items" + +[[sets]] +id = 4 +name = "List IV" +requirement = "Create fifteen unique items" + +[[sets]] +id = 5 +name = "List V" +requirement = "Create all items so far" + +[[sets]] +id = 6 +name = "List VI" +requirement = "Create all items so far" + +[[recipes]] +result = "Mega-Potion" +set = 1 + + [[recipes.items]] + name = "Spirit Shard" + amount = 1 + + [[recipes.items]] + name = "Power Shard" + amount = 1 + + [[recipes.items]] + name = "Mythril Shard" + amount = 4 + +[[recipes]] +result = "Cottage" +set = 1 + + [[recipes.items]] + name = "Lucid Shard" + amount = 1 + + [[recipes.items]] + name = "Bright Shard" + amount = 1 + +[[recipes]] +result = "Energy Bangle" +set = 1 + + [[recipes.items]] + name = "Spirit Shard" + amount = 2 + + [[recipes.items]] + name = "Bright Shard" + amount = 1 + +[[recipes]] +result = "Power Chain" +set = 1 + + [[recipes.items]] + name = "Power Shard" + amount = 2 + + [[recipes.items]] + name = "Lucid Shard" + amount = 1 + +[[recipes]] +result = "Magic Armlet" +set = 1 + + [[recipes.items]] + name = "Blaze Shard" + amount = 3 + + [[recipes.items]] + name = "Frost Shard" + amount = 3 + + [[recipes.items]] + name = "Thunder Shard" + amount = 3 + +[[recipes]] +result = "EXP Earring" +set = 1 + + [[recipes.items]] + name = "Fury Stone" + amount = 1 + + [[recipes.items]] + name = "Power Stone" + amount = 1 + + [[recipes.items]] + name = "Mythril Stone" + amount = 1 + + [[recipes.items]] + name = "Serenity Power" + amount = 1 + + [[recipes.items]] + name = "Dark Matter" + amount = 3 + +[[recipes]] +result = "Mega-Ether" +set = 2 + + [[recipes.items]] + name = "Blaze Shard" + amount = 1 + + [[recipes.items]] + name = "Frost Shard" + amount = 1 + + [[recipes.items]] + name = "Thunder Shard" + amount = 1 + + [[recipes.items]] + name = "Mythril" + amount = 2 + +[[recipes]] +result = "Guard Earring" +set = 2 + + [[recipes.items]] + name = "Bright Shard" + amount = 3 + + [[recipes.items]] + name = "Frost Shard" + amount = 1 + + [[recipes.items]] + name = "Mythril Shard" + amount = 3 + +[[recipes]] +result = "Angel Bangle" +set = 2 + + [[recipes.items]] + name = "Thunder Shard" + amount = 3 + + [[recipes.items]] + name = "Bright Gem" + amount = 1 + +[[recipes]] +result = "Golem Chain" +set = 2 + + [[recipes.items]] + name = "Blaze Shard" + amount = 3 + + [[recipes.items]] + name = "Spirit Gem" + amount = 1 + +[[recipes]] +result = "Rune Armlet" +set = 2 + + [[recipes.items]] + name = "Blaze Gem" + amount = 3 + + [[recipes.items]] + name = "Frost Gem" + amount = 3 + + [[recipes.items]] + name = "Thunder Gem" + amount = 3 + +[[recipes]] +result = "Moogle Badge" +set = 2 + + [[recipes.items]] + name = "Blazing Stone" + amount = 1 + + [[recipes.items]] + name = "Frost Stone" + amount = 1 + + [[recipes.items]] + name = "Lightning Stone" + amount = 1 + + [[recipes.items]] + name = "Mythril" + amount = 5 + + [[recipes.items]] + name = "Orichalcum" + amount = 3 + +[[recipes]] +result = "AP Up" +set = 3 + + [[recipes.items]] + name = "Blaze Gem" + amount = 2 + + [[recipes.items]] + name = "Frost Gem" + amount = 2 + + [[recipes.items]] + name = "Thunder Gem" + amount = 2 + + [[recipes.items]] + name = "Mythril" + amount = 4 + +[[recipes]] +result = "Dark Ring" +set = 3 + + [[recipes.items]] + name = "Lucid Gem" + amount = 2 + + [[recipes.items]] + name = "Bright Gem" + amount = 2 + +[[recipes]] +result = "Master Earring" +set = 3 + + [[recipes.items]] + name = "Spirit Shard" + amount = 5 + + [[recipes.items]] + name = "Spirit Gem" + amount = 3 + + [[recipes.items]] + name = "Fury Stone" + amount = 1 + +[[recipes]] +result = "Gaia Bangle" +set = 3 + + [[recipes.items]] + name = "Lucid Shard" + amount = 5 + + [[recipes.items]] + name = "Lucid Gem" + amount = 3 + + [[recipes.items]] + name = "Lightning Stone" + amount = 1 + +[[recipes]] +result = "Titan Chain" +set = 3 + + [[recipes.items]] + name = "Power Shard" + amount = 5 + + [[recipes.items]] + name = "Power Gem" + amount = 3 + + [[recipes.items]] + name = "Power Stone" + amount = 1 + +[[recipes]] +result = "Mythril" +set = 3 + + [[recipes.items]] + name = "Mythril Shard" + amount = 5 + + [[recipes.items]] + name = "Mythril Stone" + amount = 1 + + [[recipes.items]] + name = "Mystery Goo" + amount = 1 + +[[recipes]] +result = "Elixir" +set = 4 + + [[recipes.items]] + name = "Power Crystal" + amount = 1 + + [[recipes.items]] + name = "Shiny Crystal" + amount = 1 + + [[recipes.items]] + name = "Bright Crystal" + amount = 2 + + [[recipes.items]] + name = "Orichalcum" + amount = 3 + +[[recipes]] +result = "Defense Up" +set = 4 + + [[recipes.items]] + name = "Lucid Shard" + amount = 3 + + [[recipes.items]] + name = "Bright Shard" + amount = 3 + + [[recipes.items]] + name = "Bright Gem" + amount = 2 + + [[recipes.items]] + name = "Power Crystal" + amount = 1 + + [[recipes.items]] + name = "Orichalcum" + amount = 5 + +[[recipes]] +result = "Heartguard" +set = 4 + + [[recipes.items]] + name = "Lucid Gem" + amount = 3 + + [[recipes.items]] + name = "Lucid Crystal" + amount = 1 + + [[recipes.items]] + name = "Bright Crystal" + amount = 1 + +[[recipes]] +result = "Three Stars" +set = 4 + + [[recipes.items]] + name = "Power Gem" + amount = 5 + + [[recipes.items]] + name = "Mystery Goo" + amount = 3 + + [[recipes.items]] + name = "Shiny Crystal" + amount = 1 + +[[recipes]] +result = "Atlas Armlet" +set = 4 + + [[recipes.items]] + name = "Blaze Shard" + amount = 5 + + [[recipes.items]] + name = "Frost Shard" + amount = 5 + + [[recipes.items]] + name = "Thunder Shard" + amount = 5 + + [[recipes.items]] + name = "Mystery Goo" + amount = 1 + + [[recipes.items]] + name = "Dark Matter" + amount = 3 + +[[recipes]] +result = "Crystal Crown" +set = 4 + + [[recipes.items]] + name = "Lucid Crystal" + amount = 5 + + [[recipes.items]] + name = "Power Crystal" + amount = 1 + + [[recipes.items]] + name = "Shiny Crystal" + amount = 1 + + [[recipes.items]] + name = "Blazing Stone" + amount = 3 + + [[recipes.items]] + name = "Frost Stone" + amount = 3 + +[[recipes]] +result = "Dark Matter" +set = 5 + + [[recipes.items]] + name = "Lucid Shard" + amount = 9 + + [[recipes.items]] + name = "Gale" + amount = 1 + + [[recipes.items]] + name = "Mythril" + amount = 2 + +[[recipes]] +result = "Megalixir" +set = 5 + + [[recipes.items]] + name = "Lucid Gem" + amount = 5 + + [[recipes.items]] + name = "Lucid Crystal" + amount = 3 + + [[recipes.items]] + name = "Gale" + amount = 2 + + [[recipes.items]] + name = "Dark Matter" + amount = 1 + +[[recipes]] +result = "Power Up" +set = 5 + + [[recipes.items]] + name = "Spirit Shard" + amount = 5 + + [[recipes.items]] + name = "Spirit Gem" + amount = 3 + + [[recipes.items]] + name = "Power Shard" + amount = 5 + + [[recipes.items]] + name = "Power Gem" + amount = 3 + + [[recipes.items]] + name = "Dark Matter" + amount = 1 + +[[recipes]] +result = "Cosmic Arts" +set = 5 + + [[recipes.items]] + name = "Bright Shard" + amount = 5 + + [[recipes.items]] + name = "Bright Gem" + amount = 3 + + [[recipes.items]] + name = "Bright Crystal" + amount = 1 + + [[recipes.items]] + name = "Mythril Stone" + amount = 3 + +[[recipes]] +result = "EXP Bracelet" +set = 5 + + [[recipes.items]] + name = "Energy Stone" + amount = 1 + + [[recipes.items]] + name = "Dazzling Stone" + amount = 1 + + [[recipes.items]] + name = "Stormy Stone" + amount = 1 + + [[recipes.items]] + name = "Orichalcum" + amount = 8 + + [[recipes.items]] + name = "Dark Matter" + amount = 3 + +[[recipes]] +result = "Ribbon" +set = 5 + + [[recipes.items]] + name = "Blaze Gem" + amount = 5 + + [[recipes.items]] + name = "Frost Gem" + amount = 5 + + [[recipes.items]] + name = "Thunder Gem" + amount = 5 + + [[recipes.items]] + name = "Gale" + amount = 1 + + [[recipes.items]] + name = "Serenity Power" + amount = 3 + +[[recipes]] +result = "Fantasista" +set = 6 + + [[recipes.items]] + name = "Fury Stone" + amount = 3 + + [[recipes.items]] + name = "Power Stone" + amount = 3 + + [[recipes.items]] + name = "Mythril Stone" + amount = 3 + + [[recipes.items]] + name = "Energy Stone" + amount = 5 + +[[recipes]] +result = "Seven Elements" +set = 6 + + [[recipes.items]] + name = "Blazing Stone" + amount = 3 + + [[recipes.items]] + name = "Frost Stone" + amount = 3 + + [[recipes.items]] + name = "Lightning Stone" + amount = 3 + + [[recipes.items]] + name = "Dazzling Stone" + amount = 5 + +[[recipes]] +result = "Ultima Weapon" +set = 6 + + [[recipes.items]] + name = "Thunder Gem" + amount = 5 + + [[recipes.items]] + name = "Mystery Goo" + amount = 5 + + [[recipes.items]] + name = "Serenity Power" + amount = 3 + + [[recipes.items]] + name = "Stormy Stone" + amount = 3 + + [[recipes.items]] + name = "Dark Matter" + amount = 3 diff --git a/input/kh2/enemies/aerial-champ.toml b/input/kh2fm/enemies/aerial-champ.toml similarity index 100% rename from input/kh2/enemies/aerial-champ.toml rename to input/kh2fm/enemies/aerial-champ.toml diff --git a/input/kh2/enemies/aerial-knocker.toml b/input/kh2fm/enemies/aerial-knocker.toml similarity index 100% rename from input/kh2/enemies/aerial-knocker.toml rename to input/kh2fm/enemies/aerial-knocker.toml diff --git a/input/kh2/enemies/aerial-viking.toml b/input/kh2fm/enemies/aerial-viking.toml similarity index 100% rename from input/kh2/enemies/aerial-viking.toml rename to input/kh2fm/enemies/aerial-viking.toml diff --git a/input/kh2/enemies/aeroplane.toml b/input/kh2fm/enemies/aeroplane.toml similarity index 100% rename from input/kh2/enemies/aeroplane.toml rename to input/kh2fm/enemies/aeroplane.toml diff --git a/input/kh2/enemies/air-pirate.toml b/input/kh2fm/enemies/air-pirate.toml similarity index 100% rename from input/kh2/enemies/air-pirate.toml rename to input/kh2fm/enemies/air-pirate.toml diff --git a/input/kh2/enemies/armored-knight.toml b/input/kh2fm/enemies/armored-knight.toml similarity index 100% rename from input/kh2/enemies/armored-knight.toml rename to input/kh2fm/enemies/armored-knight.toml diff --git a/input/kh2/enemies/assassin.toml b/input/kh2fm/enemies/assassin.toml similarity index 100% rename from input/kh2/enemies/assassin.toml rename to input/kh2fm/enemies/assassin.toml diff --git a/input/kh2/enemies/assault-rider.toml b/input/kh2fm/enemies/assault-rider.toml similarity index 100% rename from input/kh2/enemies/assault-rider.toml rename to input/kh2fm/enemies/assault-rider.toml diff --git a/input/kh2/enemies/beffudler.toml b/input/kh2fm/enemies/beffudler.toml similarity index 100% rename from input/kh2/enemies/beffudler.toml rename to input/kh2fm/enemies/beffudler.toml diff --git a/input/kh2/enemies/berserker.toml b/input/kh2fm/enemies/berserker.toml similarity index 100% rename from input/kh2/enemies/berserker.toml rename to input/kh2fm/enemies/berserker.toml diff --git a/input/kh2/enemies/bolt-tower.toml b/input/kh2fm/enemies/bolt-tower.toml similarity index 100% rename from input/kh2/enemies/bolt-tower.toml rename to input/kh2fm/enemies/bolt-tower.toml diff --git a/input/kh2/enemies/bookmaster.toml b/input/kh2fm/enemies/bookmaster.toml similarity index 100% rename from input/kh2/enemies/bookmaster.toml rename to input/kh2fm/enemies/bookmaster.toml diff --git a/input/kh2/enemies/bulky-vendor.toml b/input/kh2fm/enemies/bulky-vendor.toml similarity index 100% rename from input/kh2/enemies/bulky-vendor.toml rename to input/kh2fm/enemies/bulky-vendor.toml diff --git a/input/kh2/enemies/camo-cannon.toml b/input/kh2fm/enemies/camo-cannon.toml similarity index 100% rename from input/kh2/enemies/camo-cannon.toml rename to input/kh2fm/enemies/camo-cannon.toml diff --git a/input/kh2/enemies/cannon-gun.toml b/input/kh2fm/enemies/cannon-gun.toml similarity index 100% rename from input/kh2/enemies/cannon-gun.toml rename to input/kh2fm/enemies/cannon-gun.toml diff --git a/input/kh2/enemies/creeper-plant.toml b/input/kh2fm/enemies/creeper-plant.toml similarity index 100% rename from input/kh2/enemies/creeper-plant.toml rename to input/kh2fm/enemies/creeper-plant.toml diff --git a/input/kh2/enemies/creeper.toml b/input/kh2fm/enemies/creeper.toml similarity index 100% rename from input/kh2/enemies/creeper.toml rename to input/kh2fm/enemies/creeper.toml diff --git a/input/kh2/enemies/crescendo.toml b/input/kh2fm/enemies/crescendo.toml similarity index 100% rename from input/kh2/enemies/crescendo.toml rename to input/kh2fm/enemies/crescendo.toml diff --git a/input/kh2/enemies/crimson-jazz.toml b/input/kh2fm/enemies/crimson-jazz.toml similarity index 100% rename from input/kh2/enemies/crimson-jazz.toml rename to input/kh2fm/enemies/crimson-jazz.toml diff --git a/input/kh2/enemies/dancer.toml b/input/kh2fm/enemies/dancer.toml similarity index 100% rename from input/kh2/enemies/dancer.toml rename to input/kh2fm/enemies/dancer.toml diff --git a/input/kh2/enemies/dargoon.toml b/input/kh2fm/enemies/dargoon.toml similarity index 100% rename from input/kh2/enemies/dargoon.toml rename to input/kh2fm/enemies/dargoon.toml diff --git a/input/kh2/enemies/devastator.toml b/input/kh2fm/enemies/devastator.toml similarity index 100% rename from input/kh2/enemies/devastator.toml rename to input/kh2fm/enemies/devastator.toml diff --git a/input/kh2/enemies/driller-mole.toml b/input/kh2fm/enemies/driller-mole.toml similarity index 100% rename from input/kh2/enemies/driller-mole.toml rename to input/kh2fm/enemies/driller-mole.toml diff --git a/input/kh2/enemies/dusk.toml b/input/kh2fm/enemies/dusk.toml similarity index 100% rename from input/kh2/enemies/dusk.toml rename to input/kh2fm/enemies/dusk.toml diff --git a/input/kh2/enemies/emerald-blues.toml b/input/kh2fm/enemies/emerald-blues.toml similarity index 100% rename from input/kh2/enemies/emerald-blues.toml rename to input/kh2fm/enemies/emerald-blues.toml diff --git a/input/kh2/enemies/fat-bandit.toml b/input/kh2fm/enemies/fat-bandit.toml similarity index 100% rename from input/kh2/enemies/fat-bandit.toml rename to input/kh2fm/enemies/fat-bandit.toml diff --git a/input/kh2/enemies/fiery-globe.toml b/input/kh2fm/enemies/fiery-globe.toml similarity index 100% rename from input/kh2/enemies/fiery-globe.toml rename to input/kh2fm/enemies/fiery-globe.toml diff --git a/input/kh2/enemies/fortuneteller.toml b/input/kh2fm/enemies/fortuneteller.toml similarity index 100% rename from input/kh2/enemies/fortuneteller.toml rename to input/kh2fm/enemies/fortuneteller.toml diff --git a/input/kh2/enemies/gambler.toml b/input/kh2fm/enemies/gambler.toml similarity index 100% rename from input/kh2/enemies/gambler.toml rename to input/kh2fm/enemies/gambler.toml diff --git a/input/kh2/enemies/gargoyle-knight.toml b/input/kh2fm/enemies/gargoyle-knight.toml similarity index 100% rename from input/kh2/enemies/gargoyle-knight.toml rename to input/kh2fm/enemies/gargoyle-knight.toml diff --git a/input/kh2/enemies/gargoyle-warrior.toml b/input/kh2fm/enemies/gargoyle-warrior.toml similarity index 100% rename from input/kh2/enemies/gargoyle-warrior.toml rename to input/kh2fm/enemies/gargoyle-warrior.toml diff --git a/input/kh2/enemies/graveyard.toml b/input/kh2fm/enemies/graveyard.toml similarity index 100% rename from input/kh2/enemies/graveyard.toml rename to input/kh2fm/enemies/graveyard.toml diff --git a/input/kh2/enemies/hammer-frame.toml b/input/kh2fm/enemies/hammer-frame.toml similarity index 100% rename from input/kh2/enemies/hammer-frame.toml rename to input/kh2fm/enemies/hammer-frame.toml diff --git a/input/kh2/enemies/hook-bat.toml b/input/kh2fm/enemies/hook-bat.toml similarity index 100% rename from input/kh2/enemies/hook-bat.toml rename to input/kh2fm/enemies/hook-bat.toml diff --git a/input/kh2/enemies/hot-rod.toml b/input/kh2fm/enemies/hot-rod.toml similarity index 100% rename from input/kh2/enemies/hot-rod.toml rename to input/kh2fm/enemies/hot-rod.toml diff --git a/input/kh2/enemies/icy-cube.toml b/input/kh2fm/enemies/icy-cube.toml similarity index 100% rename from input/kh2/enemies/icy-cube.toml rename to input/kh2fm/enemies/icy-cube.toml diff --git a/input/kh2/enemies/iron-hammer.toml b/input/kh2fm/enemies/iron-hammer.toml similarity index 100% rename from input/kh2/enemies/iron-hammer.toml rename to input/kh2fm/enemies/iron-hammer.toml diff --git a/input/kh2/enemies/lance-soldier.toml b/input/kh2fm/enemies/lance-soldier.toml similarity index 100% rename from input/kh2/enemies/lance-soldier.toml rename to input/kh2fm/enemies/lance-soldier.toml diff --git a/input/kh2/enemies/lance-warrior.toml b/input/kh2fm/enemies/lance-warrior.toml similarity index 100% rename from input/kh2/enemies/lance-warrior.toml rename to input/kh2fm/enemies/lance-warrior.toml diff --git a/input/kh2/enemies/large-body.toml b/input/kh2fm/enemies/large-body.toml similarity index 100% rename from input/kh2/enemies/large-body.toml rename to input/kh2fm/enemies/large-body.toml diff --git a/input/kh2/enemies/living-bone.toml b/input/kh2fm/enemies/living-bone.toml similarity index 100% rename from input/kh2/enemies/living-bone.toml rename to input/kh2fm/enemies/living-bone.toml diff --git a/input/kh2/enemies/luna-bandit.toml b/input/kh2fm/enemies/luna-bandit.toml similarity index 100% rename from input/kh2/enemies/luna-bandit.toml rename to input/kh2fm/enemies/luna-bandit.toml diff --git a/input/kh2/enemies/mad-ride.toml b/input/kh2fm/enemies/mad-ride.toml similarity index 100% rename from input/kh2/enemies/mad-ride.toml rename to input/kh2fm/enemies/mad-ride.toml diff --git a/input/kh2/enemies/magic-phantom.toml b/input/kh2fm/enemies/magic-phantom.toml similarity index 100% rename from input/kh2/enemies/magic-phantom.toml rename to input/kh2fm/enemies/magic-phantom.toml diff --git a/input/kh2/enemies/magnum-loader.toml b/input/kh2fm/enemies/magnum-loader.toml similarity index 100% rename from input/kh2/enemies/magnum-loader.toml rename to input/kh2fm/enemies/magnum-loader.toml diff --git a/input/kh2/enemies/minute-bomb.toml b/input/kh2fm/enemies/minute-bomb.toml similarity index 100% rename from input/kh2/enemies/minute-bomb.toml rename to input/kh2fm/enemies/minute-bomb.toml diff --git a/input/kh2/enemies/morning-star.toml b/input/kh2fm/enemies/morning-star.toml similarity index 100% rename from input/kh2/enemies/morning-star.toml rename to input/kh2fm/enemies/morning-star.toml diff --git a/input/kh2/enemies/necromancer.toml b/input/kh2fm/enemies/necromancer.toml similarity index 100% rename from input/kh2/enemies/necromancer.toml rename to input/kh2fm/enemies/necromancer.toml diff --git a/input/kh2/enemies/neoshadow.toml b/input/kh2fm/enemies/neoshadow.toml similarity index 100% rename from input/kh2/enemies/neoshadow.toml rename to input/kh2fm/enemies/neoshadow.toml diff --git a/input/kh2/enemies/nightwalker.toml b/input/kh2fm/enemies/nightwalker.toml similarity index 100% rename from input/kh2/enemies/nightwalker.toml rename to input/kh2fm/enemies/nightwalker.toml diff --git a/input/kh2/enemies/rabid-dog.toml b/input/kh2fm/enemies/rabid-dog.toml similarity index 100% rename from input/kh2/enemies/rabid-dog.toml rename to input/kh2fm/enemies/rabid-dog.toml diff --git a/input/kh2/enemies/rapid-thruster.toml b/input/kh2fm/enemies/rapid-thruster.toml similarity index 100% rename from input/kh2/enemies/rapid-thruster.toml rename to input/kh2fm/enemies/rapid-thruster.toml diff --git a/input/kh2/enemies/reckless.toml b/input/kh2fm/enemies/reckless.toml similarity index 100% rename from input/kh2/enemies/reckless.toml rename to input/kh2fm/enemies/reckless.toml diff --git a/input/kh2/enemies/runemaster.toml b/input/kh2fm/enemies/runemaster.toml similarity index 100% rename from input/kh2/enemies/runemaster.toml rename to input/kh2fm/enemies/runemaster.toml diff --git a/input/kh2/enemies/samurai.toml b/input/kh2fm/enemies/samurai.toml similarity index 100% rename from input/kh2/enemies/samurai.toml rename to input/kh2fm/enemies/samurai.toml diff --git a/input/kh2/enemies/shadow.toml b/input/kh2fm/enemies/shadow.toml similarity index 100% rename from input/kh2/enemies/shadow.toml rename to input/kh2fm/enemies/shadow.toml diff --git a/input/kh2/enemies/shaman.toml b/input/kh2fm/enemies/shaman.toml similarity index 100% rename from input/kh2/enemies/shaman.toml rename to input/kh2fm/enemies/shaman.toml diff --git a/input/kh2/enemies/silver-rock.toml b/input/kh2fm/enemies/silver-rock.toml similarity index 100% rename from input/kh2/enemies/silver-rock.toml rename to input/kh2fm/enemies/silver-rock.toml diff --git a/input/kh2/enemies/sniper.toml b/input/kh2fm/enemies/sniper.toml similarity index 100% rename from input/kh2/enemies/sniper.toml rename to input/kh2fm/enemies/sniper.toml diff --git a/input/kh2/enemies/soldier.toml b/input/kh2fm/enemies/soldier.toml similarity index 100% rename from input/kh2/enemies/soldier.toml rename to input/kh2fm/enemies/soldier.toml diff --git a/input/kh2/enemies/sorcerer.toml b/input/kh2fm/enemies/sorcerer.toml similarity index 100% rename from input/kh2/enemies/sorcerer.toml rename to input/kh2fm/enemies/sorcerer.toml diff --git a/input/kh2/enemies/spring-metal.toml b/input/kh2fm/enemies/spring-metal.toml similarity index 100% rename from input/kh2/enemies/spring-metal.toml rename to input/kh2fm/enemies/spring-metal.toml diff --git a/input/kh2/enemies/strafer.toml b/input/kh2fm/enemies/strafer.toml similarity index 100% rename from input/kh2/enemies/strafer.toml rename to input/kh2fm/enemies/strafer.toml diff --git a/input/kh2/enemies/surveillance-robot.toml b/input/kh2fm/enemies/surveillance-robot.toml similarity index 100% rename from input/kh2/enemies/surveillance-robot.toml rename to input/kh2fm/enemies/surveillance-robot.toml diff --git a/input/kh2/enemies/tornado-step.toml b/input/kh2fm/enemies/tornado-step.toml similarity index 100% rename from input/kh2/enemies/tornado-step.toml rename to input/kh2fm/enemies/tornado-step.toml diff --git a/input/kh2/enemies/toy-soldier.toml b/input/kh2fm/enemies/toy-soldier.toml similarity index 100% rename from input/kh2/enemies/toy-soldier.toml rename to input/kh2fm/enemies/toy-soldier.toml diff --git a/input/kh2/enemies/trick-ghost.toml b/input/kh2fm/enemies/trick-ghost.toml similarity index 100% rename from input/kh2/enemies/trick-ghost.toml rename to input/kh2fm/enemies/trick-ghost.toml diff --git a/input/kh2/enemies/wight-knight.toml b/input/kh2fm/enemies/wight-knight.toml similarity index 100% rename from input/kh2/enemies/wight-knight.toml rename to input/kh2fm/enemies/wight-knight.toml diff --git a/public/scripts/common/helper.js b/public/scripts/common/helper.js index c72899f..4390c6c 100644 --- a/public/scripts/common/helper.js +++ b/public/scripts/common/helper.js @@ -1,3 +1,9 @@ +export function getGame(url) { + let last = url.lastIndexOf("/", url.length); + let first = url.lastIndexOf("/", last - 1) + 1; + return url.substring(first, last); +} + export function debounce(callback, wait = 300) { let timeoutId = null; return (...args) => { diff --git a/public/scripts/common/mat-kind-filter.js b/public/scripts/common/mat-kind-filter.js index ed180e9..0461995 100644 --- a/public/scripts/common/mat-kind-filter.js +++ b/public/scripts/common/mat-kind-filter.js @@ -1,3 +1,5 @@ +import { getGame } from "./helper.js"; + const TRACKED_STORAGE_NAME = "/drops/tracked/"; let gameName; @@ -6,11 +8,7 @@ export let showOnlyTracked = false; export let kindFilter = new Set(); export function init() { - const url = window.location.href; - const firstPoint = url.indexOf("/", 8); - const subUrl = url.substring(firstPoint + 1); - const finalPoint = subUrl.indexOf("/"); - gameName = subUrl.substring(0, finalPoint); + gameName = getGame(window.location.href); loadTracked(); diff --git a/public/scripts/kh1/synth.js b/public/scripts/kh1/synth.js index 6f5e1ee..405cce2 100644 --- a/public/scripts/kh1/synth.js +++ b/public/scripts/kh1/synth.js @@ -1,22 +1,29 @@ import "../common/prototypes.js"; +import { getGame } from "../common/helper.js"; -const RECIPE_STORAGE_NAME = "kh1/synth/"; -const LIST_STORAGE_NAME = "kh1/synth/needed-mats"; +const RECIPE_STORAGE_NAME = "/synth/"; +const LIST_STORAGE_NAME = "/synth/needed-mats"; let markedNeededMaterials = []; +let gameName; document.addEventListener("DOMContentLoaded", (event) => { + gameName = getGame(window.location.href); + const recipes = document.querySelectorAll(".recipe"); for (const recipe of recipes) { recipe.checked = - localStorage.getItem(RECIPE_STORAGE_NAME + recipe.id) === "true" ?? - false; + localStorage.getItem(gameName + RECIPE_STORAGE_NAME + recipe.id) === + "true" ?? false; updateSynthRecipeState(recipe); recipe.addEventListener("input", function () { // Change the recipe's state and update and needed materials list based on the remaining recipes - localStorage.setItem(RECIPE_STORAGE_NAME + this.id, this.checked); + localStorage.setItem( + gameName + RECIPE_STORAGE_NAME + this.id, + this.checked, + ); updateSynthRecipeState(this); calcNeededMats(); }); @@ -30,8 +37,8 @@ document.addEventListener("DOMContentLoaded", (event) => { } // Turn the single saved string into an array with each material - if (localStorage.getItem(LIST_STORAGE_NAME) != null) { - let saved = localStorage.getItem(LIST_STORAGE_NAME); + if (localStorage.getItem(gameName + LIST_STORAGE_NAME) != null) { + let saved = localStorage.getItem(gameName + LIST_STORAGE_NAME); saved = saved.split(","); markedNeededMaterials = saved; markedNeededMaterials = markedNeededMaterials.filter( @@ -132,7 +139,7 @@ function updateMarkedNeededMats(ingredient) { markedNeededMaterials.push(ingredient); } markedNeededMaterials = markedNeededMaterials.filter((n) => n && n !== ""); - localStorage.setItem(LIST_STORAGE_NAME, markedNeededMaterials); + localStorage.setItem(gameName + LIST_STORAGE_NAME, markedNeededMaterials); } function markNeededMat(mat) { diff --git a/src/common.rs b/src/common.rs index 1e3060e..454aeef 100644 --- a/src/common.rs +++ b/src/common.rs @@ -8,10 +8,24 @@ pub mod enemy; pub mod materials; pub mod synthesis; +#[derive(Debug, Clone, Default, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)] +pub struct GameProps { + is_final_mix: bool, +} + +impl GameProps { + pub fn final_mix() -> Self { + Self { + is_final_mix: true, + ..Default::default() + } + } +} + #[derive(Debug, Clone, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)] pub enum Game { - Kh1, - Kh2, + Kh1(GameProps), + Kh2(GameProps), Kh3, Bbs, Ddd, @@ -20,8 +34,8 @@ pub enum Game { impl Display for Game { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let str = match self { - Game::Kh1 => "kh1", - Game::Kh2 => "kh2", + Game::Kh1(_) => "kh1", + Game::Kh2(_) => "kh2", Game::Kh3 => "kh3", Game::Bbs => "bbs", Game::Ddd => "ddd", diff --git a/src/common/materials.rs b/src/common/materials.rs index 7be929e..642ca90 100644 --- a/src/common/materials.rs +++ b/src/common/materials.rs @@ -5,7 +5,7 @@ use serde::Deserialize; use crate::ASSETS_FOLDER_PATH; use super::{ - Game, + Game, GameProps, enemy::{Enemy, EnemyDrop}, }; @@ -46,11 +46,11 @@ pub enum MaterialCategory { Serenity, Twilight, - // KH1 Only + // Kh1(_) Only Spirit, Stormy, - // KH2 Only + // Kh2(_) Only Remembrance, Tranquility, Illusion, @@ -180,40 +180,40 @@ impl MaterialCategory { pub fn get_category(&self, game: &Game) -> String { match self { MaterialCategory::Blazing => match game { - Game::Kh1 => "blaze".to_string(), + Game::Kh1(_) => "blaze".to_string(), _ => "blazing".to_string(), }, MaterialCategory::Bright => match game { - Game::Kh1 | Game::Kh2 => "bright".to_string(), + Game::Kh1(_) | Game::Kh2(_) => "bright".to_string(), _ => "soothing".to_string(), }, MaterialCategory::Dense => match game { - Game::Kh2 => "dense".to_string(), + Game::Kh2(_) => "dense".to_string(), _ => "betwixt".to_string(), }, MaterialCategory::Dark => match game { - Game::Kh2 => "dark".to_string(), + Game::Kh2(_) => "dark".to_string(), _ => "writhing".to_string(), }, MaterialCategory::Energy => match game { - Game::Kh1 | Game::Kh2 => "energy".to_string(), + Game::Kh1(_) | Game::Kh2(_) => "energy".to_string(), _ => "wellspring".to_string(), }, MaterialCategory::Lightning => match game { - Game::Kh1 => "thunder".to_string(), + Game::Kh1(_) => "thunder".to_string(), _ => "lightning".to_string(), }, MaterialCategory::Power => match game { - Game::Kh1 | Game::Kh2 => "power".to_string(), + Game::Kh1(_) | Game::Kh2(_) => "power".to_string(), _ => "pulsing".to_string(), }, MaterialCategory::Shimmering => match game { - Game::Kh1 => "shiny".to_string(), + Game::Kh1(_) => "shiny".to_string(), _ => "shimmering".to_string(), }, MaterialCategory::Serenity => match game { - Game::Kh1 => "mystery".to_string(), - Game::Kh2 => "serenity".to_string(), + Game::Kh1(_) => "mystery".to_string(), + Game::Kh2(_) => "serenity".to_string(), _ => "hungry".to_string(), }, _ => self.get_texture_group(), @@ -318,9 +318,9 @@ impl MaterialDrops { } pub fn texture(&self, game: &Game) -> String { - if *game == Game::Kh1 { + if let Game::Kh1(_) = *game { return GENERIC_MATERIAL_ICON.to_string(); - } + }; let category = self.category.get_texture_group(); let kind = self.kind.to_string(); diff --git a/src/kh1.rs b/src/kh1.rs index 3ce4568..5caffa1 100644 --- a/src/kh1.rs +++ b/src/kh1.rs @@ -25,19 +25,9 @@ pub struct Module; impl RuntimeModule for Module { fn start_module() { - tracing::info!("Loading enemy data from {}", ENEMIES_PATH); - let enemies = Enemy::import(ENEMIES_PATH); - - let drops = Drops::new(Game::Kh1, enemies); - tracing::info!("Loading synthesis data from {}", SYNTHESIS_PATH); let synth = Synthesis::new(SYNTHESIS_PATH); - tracing::info!("Generating the KH1 drops template"); - let drops_template = DropsTemplate { data: drops }; - - create_file("./out/kh1", "drops", drops_template).unwrap(); - tracing::info!("Generating the KH1 synth template"); let synth_template = SynthTemplate { data: synth }; diff --git a/src/kh1fm.rs b/src/kh1fm.rs new file mode 100644 index 0000000..6619ab5 --- /dev/null +++ b/src/kh1fm.rs @@ -0,0 +1,46 @@ +use askama::Template; + +use crate::{ + RuntimeModule, + common::{Game, GameProps, drops::Drops, enemy::Enemy, synthesis::Synthesis}, + create_file, +}; + +const ENEMIES_PATH: &str = "./input/kh1fm/enemies"; +const SYNTHESIS_PATH: &str = "./input/kh1fm/synthesis.toml"; + +#[derive(Template)] +#[template(path = "pages/kh1/drops.html")] +struct DropsTemplate { + pub data: Drops, +} + +#[derive(Template)] +#[template(path = "pages/kh1/synth.html")] +struct SynthTemplate { + pub data: Synthesis, +} + +pub struct Module; + +impl RuntimeModule for Module { + fn start_module() { + tracing::info!("Loading enemy data from {}", ENEMIES_PATH); + let enemies = Enemy::import(ENEMIES_PATH); + + let drops = Drops::new(Game::Kh1(GameProps::final_mix()), enemies); + + tracing::info!("Loading synthesis data from {}", SYNTHESIS_PATH); + let synth = Synthesis::new(SYNTHESIS_PATH); + + tracing::info!("Generating the KH1FM, drops template"); + let drops_template = DropsTemplate { data: drops }; + + create_file("./out/kh1fm", "drops", drops_template).unwrap(); + + tracing::info!("Generating the KH1FM synth template"); + let synth_template = SynthTemplate { data: synth }; + + create_file("./out/kh1fm", "synth", synth_template).unwrap(); + } +} diff --git a/src/kh2.rs b/src/kh2fm.rs similarity index 58% rename from src/kh2.rs rename to src/kh2fm.rs index 1e764df..30878cc 100644 --- a/src/kh2.rs +++ b/src/kh2fm.rs @@ -2,11 +2,11 @@ use askama::Template; use crate::{ RuntimeModule, - common::{Game, drops::Drops, enemy::Enemy}, + common::{Game, GameProps, drops::Drops, enemy::Enemy}, create_file, }; -const ENEMIES_PATH: &str = "./input/kh2/enemies"; +const ENEMIES_PATH: &str = "./input/kh2fm/enemies"; #[derive(Template)] #[template(path = "pages/kh2/drops.html")] @@ -21,11 +21,11 @@ impl RuntimeModule for Module { tracing::info!("Loading enemy data from {}", ENEMIES_PATH); let enemies = Enemy::import(ENEMIES_PATH); - let drops = Drops::new(Game::Kh2, enemies); + let drops = Drops::new(Game::Kh2(GameProps::final_mix()), enemies); - tracing::info!("Generating the KH2 drops template"); + tracing::info!("Generating the KH2FM drops template"); let drops_template = DropsTemplate { data: drops }; - create_file("./out/kh2", "drops", drops_template).unwrap(); + create_file("./out/kh2fm", "drops", drops_template).unwrap(); } } diff --git a/src/main.rs b/src/main.rs index 341ec38..5785e94 100644 --- a/src/main.rs +++ b/src/main.rs @@ -22,8 +22,11 @@ mod ddd; #[cfg(feature = "kh1")] mod kh1; +#[cfg(feature = "kh1")] +mod kh1fm; + #[cfg(feature = "kh2")] -mod kh2; +mod kh2fm; #[cfg(feature = "kh3")] mod kh3; @@ -99,10 +102,13 @@ fn main() { start_module::(); #[cfg(feature = "kh1")] - start_module::(); + { + start_module::(); + start_module::(); + } #[cfg(feature = "kh2")] - start_module::(); + start_module::(); #[cfg(feature = "kh3")] start_module::(); diff --git a/templates/pages/index.html b/templates/pages/index.html index 3b78dfc..9fcb4ed 100644 --- a/templates/pages/index.html +++ b/templates/pages/index.html @@ -6,6 +6,36 @@ {% endblock %} {% block content %} + {% if cfg!(feature = "kh3") %} +

Kingdom Hearts III

+ + {% endif %} + + {% if cfg!(feature = "kh2") %} +

Kingdom Hearts II Final Mix

+ + {% endif %} + + {% if cfg!(feature = "kh1") %} +

Kingdom Hearts I

+ + +

Kingdom Hearts I Final Mix

+ + {% endif %} + {% if cfg!(feature = "bbs") %}

Kingdom Hearts Birth by Sleep

{% endif %} - - {% if cfg!(feature = "kh3") %} -

Kingdom Hearts III

- - {% endif %} - - {% if cfg!(feature = "kh2") %} -

Kingdom Hearts II

- - {% endif %} - - {% if cfg!(feature = "kh1") %} -

Kingdom Hearts I

- - {% endif %} {% endblock %} diff --git a/templates/pages/kh1/drops.html b/templates/pages/kh1/drops.html index e310abf..24f59c8 100644 --- a/templates/pages/kh1/drops.html +++ b/templates/pages/kh1/drops.html @@ -1,7 +1,7 @@ {% extends "layouts/base.html" %} {% import "macros/common/drops.html" as drops_macros %} -{% block title %}KH1 - Drops{% endblock %} +{% block title %}KH1FM - Drops{% endblock %} {% block head %} diff --git a/templates/pages/kh1/synth.html b/templates/pages/kh1/synth.html index 0320e38..63a9f3f 100644 --- a/templates/pages/kh1/synth.html +++ b/templates/pages/kh1/synth.html @@ -1,6 +1,6 @@ {% extends "layouts/base.html" %} -{% block title %}KH1 - Sythensis{% endblock %} +{% block title %}KH1FM - Sythensis{% endblock %} {% block head %} diff --git a/templates/pages/kh2/drops.html b/templates/pages/kh2/drops.html index 616a8c8..0e01582 100644 --- a/templates/pages/kh2/drops.html +++ b/templates/pages/kh2/drops.html @@ -1,7 +1,7 @@ {% extends "layouts/base.html" %} {% import "macros/common/drops.html" as drops_macros %} -{% block title %}KH2 - Drops{% endblock %} +{% block title %}KH2FM - Drops{% endblock %} {% block head %}