diff --git a/input/kh3/enemies/berserker.toml b/input/kh3/enemies/berserker.toml index cd5e3f4..cc161ae 100644 --- a/input/kh3/enemies/berserker.toml +++ b/input/kh3/enemies/berserker.toml @@ -1,8 +1,13 @@ name = "Berserker" kind = "nobody" +[[world]] +name = "Twilight Town" +rooms = ["The Old Mansion: Battlegate 3"] + [[world]] name = "Arendelle" +rooms = ["Middle Tier: Battlegate 9"] [[drops]] name = "Betwixt Crystal" diff --git a/input/kh3/enemies/magic-popcat.toml b/input/kh3/enemies/magic-popcat.toml new file mode 100644 index 0000000..19f26f8 --- /dev/null +++ b/input/kh3/enemies/magic-popcat.toml @@ -0,0 +1,34 @@ +name = "Magic Popcat" + +[[world]] +name = "Toy Box" + +[[world]] +name = "Arendelle" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "wellspring" + kind = "stone" + +[[drops]] +name = "Hungry Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "hungry" + kind = "shard" + +[[drops]] +name = "Hungry Stone" +kind = "material" +chance = 4 + + [drops.material] + category = "hungry" + kind = "stone" diff --git a/input/kh3/enemies/malachite-bolero.toml b/input/kh3/enemies/malachite-bolero.toml new file mode 100644 index 0000000..12aff02 --- /dev/null +++ b/input/kh3/enemies/malachite-bolero.toml @@ -0,0 +1,25 @@ +name = "Malachite Bolero" + +[[world]] +name = "Kingdom of Corona" + +[[world]] +name = "The Caribbean" + +[[drops]] +name = "Lucid Stone" +kind = "material" +chance = 12 + + [drops.material] + category = "lucid" + kind = "stone" + +[[drops]] +name = "Lucid Gem" +kind = "material" +chance = 6 + + [drops.material] + category = "lucid" + kind = "gem" diff --git a/input/kh3/enemies/marine-rumba.toml b/input/kh3/enemies/marine-rumba.toml new file mode 100644 index 0000000..945441e --- /dev/null +++ b/input/kh3/enemies/marine-rumba.toml @@ -0,0 +1,25 @@ +name = "Marine Rumba" + +[[world]] +name = "Kingdom of Corona" + +[[world]] +name = "The Caribbean" + +[[drops]] +name = "Soothing Stone" +kind = "material" +chance = 12 + + [drops.material] + category = "soothing" + kind = "stone" + +[[drops]] +name = "Soothing Gem" +kind = "material" +chance = 6 + + [drops.material] + category = "soothing" + kind = "gem" diff --git a/input/kh3/enemies/marionette.toml b/input/kh3/enemies/marionette.toml new file mode 100644 index 0000000..fcedd04 --- /dev/null +++ b/input/kh3/enemies/marionette.toml @@ -0,0 +1,22 @@ +name = "Marionette" + +[[world]] +name = "Toy Box" + +[[drops]] +name = "Lightning Shard" +kind = "material" +chance = 12 + + [drops.material] + category = "lightning" + kind = "shard" + +[[drops]] +name = "Lightning Stone" +kind = "material" +chance = 6 + + [drops.material] + category = "lightning" + kind = "stone" diff --git a/input/kh3/enemies/mechanitaur.toml b/input/kh3/enemies/mechanitaur.toml new file mode 100644 index 0000000..881c061 --- /dev/null +++ b/input/kh3/enemies/mechanitaur.toml @@ -0,0 +1,31 @@ +name = "Mechanitaur" + +[[world]] +name = "San Fransokyo" + +[[drops]] +name = "Wellspring Gem" +kind = "material" +chance = 12 + + [drops.material] + category = "wellspring" + kind = "gem" + +[[drops]] +name = "Hungry Crystal" +kind = "material" +chance = 8 + + [drops.material] + category = "hungry" + kind = "crystal" + +[[drops]] +name = "Writhing Crystal" +kind = "material" +chance = 8 + + [drops.material] + category = "writhing" + kind = "crystal" diff --git a/input/kh3/enemies/metal-troll.toml b/input/kh3/enemies/metal-troll.toml new file mode 100644 index 0000000..59e409d --- /dev/null +++ b/input/kh3/enemies/metal-troll.toml @@ -0,0 +1,22 @@ +name = "Metal Troll" + +[[world]] +name = "San Fransokyo" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 30 + + [drops.material] + category = "wellspring" + kind = "stone" + +[[drops]] +name = "Wellspring Gem" +kind = "material" +chance = 20 + + [drops.material] + category = "wellspring" + kind = "gem" diff --git a/input/kh3/enemies/munny-popcat.toml b/input/kh3/enemies/munny-popcat.toml new file mode 100644 index 0000000..5ae345b --- /dev/null +++ b/input/kh3/enemies/munny-popcat.toml @@ -0,0 +1,34 @@ +name = "Munny Popcat" + +[[world]] +name = "Toy Box" + +[[world]] +name = "Kingdom of Corona" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "wellspring" + kind = "stone" + +[[drops]] +name = "Hungry Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "hungry" + kind = "shard" + +[[drops]] +name = "Hungry Stone" +kind = "material" +chance = 4 + + [drops.material] + category = "hungry" + kind = "stone" diff --git a/input/kh3/enemies/neoshadow.toml b/input/kh3/enemies/neoshadow.toml new file mode 100644 index 0000000..265149c --- /dev/null +++ b/input/kh3/enemies/neoshadow.toml @@ -0,0 +1,31 @@ +name = "Neoshadow" + +[[world]] +name = "San Fransokyo" + +[[drops]] +name = "Writhing Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "writhing" + kind = "stone" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "wellspring" + kind = "stone" + +[[drops]] +name = "Writhing Gem" +kind = "material" +chance = 4 + + [drops.material] + category = "writhing" + kind = "gem" diff --git a/input/kh3/enemies/ninja.toml b/input/kh3/enemies/ninja.toml new file mode 100644 index 0000000..94e4346 --- /dev/null +++ b/input/kh3/enemies/ninja.toml @@ -0,0 +1,32 @@ +name = "Ninja" +kind = "nobody" + +[[world]] +name = "Arendelle" + +[[drops]] +name = "Betwixt Stone" +kind = "material" +chance = 18 + + [drops.material] + category = "betwixt" + kind = "stone" + +[[drops]] +name = "Betwixt Gem" +kind = "material" +chance = 12 + + [drops.material] + category = "betwixt" + kind = "gem" + +[[drops]] +name = "Betwixt Crystal" +kind = "material" +chance = 6 + + [drops.material] + category = "betwixt" + kind = "crystal" diff --git a/input/kh3/enemies/parasol-beauty.toml b/input/kh3/enemies/parasol-beauty.toml new file mode 100644 index 0000000..674fa1a --- /dev/null +++ b/input/kh3/enemies/parasol-beauty.toml @@ -0,0 +1,31 @@ +name = "Parasol Beauty" + +[[world]] +name = "Kingdom of Corona" + +[[drops]] +name = "Wellspring Shard" +kind = "material" +chance = 12 + + [drops.material] + category = "wellspring" + kind = "shard" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "wellspring" + kind = "stone" + +[[drops]] +name = "Hungry Stone" +kind = "material" +chance = 4 + + [drops.material] + category = "hungry" + kind = "stone" diff --git a/input/kh3/enemies/patchwork-animals.toml b/input/kh3/enemies/patchwork-animals.toml new file mode 100644 index 0000000..12d8df8 --- /dev/null +++ b/input/kh3/enemies/patchwork-animals.toml @@ -0,0 +1,31 @@ +name = "Patchwork Animals" + +[[world]] +name = "Toy Box" + +[[drops]] +name = "Wellspring Shard" +kind = "material" +chance = 12 + + [drops.material] + category = "wellspring" + kind = "shard" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 4 + + [drops.material] + category = "wellspring" + kind = "stone" + +[[drops]] +name = "Hungry Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "hungry" + kind = "shard" diff --git a/input/kh3/enemies/pogo-shovel.toml b/input/kh3/enemies/pogo-shovel.toml new file mode 100644 index 0000000..94b6baf --- /dev/null +++ b/input/kh3/enemies/pogo-shovel.toml @@ -0,0 +1,31 @@ +name = "Pogo Shovel" + +[[world]] +name = "San Fransokyo" + +[[drops]] +name = "Pulsing Gem" +kind = "material" +chance = 8 + + [drops.material] + category = "pulsing" + kind = "gem" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "wellspring" + kind = "stone" + +[[drops]] +name = "Wellspring Gem" +kind = "material" +chance = 4 + + [drops.material] + category = "wellspring" + kind = "gem" diff --git a/input/kh3/enemies/pole-cannon.toml b/input/kh3/enemies/pole-cannon.toml new file mode 100644 index 0000000..cf89b6e --- /dev/null +++ b/input/kh3/enemies/pole-cannon.toml @@ -0,0 +1,31 @@ +name = "Pole Cannon" + +[[world]] +name = "San Fransokyo" + +[[drops]] +name = "Blazing Shard" +kind = "material" +chance = 12 + + [drops.material] + category = "blazing" + kind = "shard" + +[[drops]] +name = "Blazing Stone" +kind = "material" +chance = 6 + + [drops.material] + category = "blazing" + kind = "stone" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 4 + + [drops.material] + category = "wellspring" + kind = "stone" diff --git a/input/kh3/enemies/popcat.toml b/input/kh3/enemies/popcat.toml new file mode 100644 index 0000000..c3ec631 --- /dev/null +++ b/input/kh3/enemies/popcat.toml @@ -0,0 +1,25 @@ +name = "Popcat" + +[[world]] +name = "Olympus" + +[[world]] +name = "Arendelle" + +[[drops]] +name = "Hungry Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "hungry" + kind = "shard" + +[[drops]] +name = "Hungry Stone" +kind = "material" +chance = 4 + + [drops.material] + category = "hungry" + kind = "stone" diff --git a/input/kh3/enemies/powerwild.toml b/input/kh3/enemies/powerwild.toml new file mode 100644 index 0000000..4682cb2 --- /dev/null +++ b/input/kh3/enemies/powerwild.toml @@ -0,0 +1,31 @@ +name = "Powerwild" + +[[world]] +name = "The Carribean" + +[[drops]] +name = "Pulsing Shard" +kind = "material" +chance = 12 + + [drops.material] + category = "pulsing" + kind = "shard" + +[[drops]] +name = "Pulsing Stone" +kind = "material" +chance = 6 + + [drops.material] + category = "pulsing" + kind = "stone" + +[[drops]] +name = "Wellspring Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "wellspring" + kind = "shard" diff --git a/input/kh3/enemies/puffball.toml b/input/kh3/enemies/puffball.toml new file mode 100644 index 0000000..5a54734 --- /dev/null +++ b/input/kh3/enemies/puffball.toml @@ -0,0 +1,22 @@ +name = "Puffball" + +[[world]] +name = "Kingdom of Corona" + +[[drops]] +name = "Lucid Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "lucid" + kind = "shard" + +[[drops]] +name = "Lucid Stone" +kind = "material" +chance = 4 + + [drops.material] + category = "lucid" + kind = "stone" diff --git a/input/kh3/enemies/reaper.toml b/input/kh3/enemies/reaper.toml new file mode 100644 index 0000000..633b0ca --- /dev/null +++ b/input/kh3/enemies/reaper.toml @@ -0,0 +1,32 @@ +name = "Reaper" +kind = "nobody" + +[[world]] +name = "Kingdom of Corona" + +[[drops]] +name = "Betwixt Shard" +kind = "material" +chance = 18 + + [drops.material] + category = "betwixt" + kind = "shard" + +[[drops]] +name = "Betwixt Stone" +kind = "material" +chance = 12 + + [drops.material] + category = "betwixt" + kind = "stone" + +[[drops]] +name = "Betwixt Gem" +kind = "material" +chance = 8 + + [drops.material] + category = "betwixt" + kind = "gem" diff --git a/input/kh3/enemies/rock-troll.toml b/input/kh3/enemies/rock-troll.toml new file mode 100644 index 0000000..8873e5f --- /dev/null +++ b/input/kh3/enemies/rock-troll.toml @@ -0,0 +1,22 @@ +name = "Rock Troll" + +[[world]] +name = "Olympus" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 30 + + [drops.material] + category = "wellspring" + kind = "stone" + +[[drops]] +name = "Wellspring Gem" +kind = "material" +chance = 20 + + [drops.material] + category = "wellspring" + kind = "gem" diff --git a/input/kh3/enemies/satyr.toml b/input/kh3/enemies/satyr.toml new file mode 100644 index 0000000..4e16fd3 --- /dev/null +++ b/input/kh3/enemies/satyr.toml @@ -0,0 +1,34 @@ +name = "Satyr" + +[[world]] +name = "Olympus" + +[[world]] +name = "Arendelle" + +[[drops]] +name = "Pulsing Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "pulsing" + kind = "stone" + +[[drops]] +name = "Pulsing Gem" +kind = "material" +chance = 4 + + [drops.material] + category = "pulsing" + kind = "gem" + +[[drops]] +name = "Wellspring Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "wellspring" + kind = "shard" diff --git a/input/kh3/enemies/sea-sprite.toml b/input/kh3/enemies/sea-sprite.toml new file mode 100644 index 0000000..83bced9 --- /dev/null +++ b/input/kh3/enemies/sea-sprite.toml @@ -0,0 +1,94 @@ +name = "Sea Sprite" + +[[world]] +name = "The Caribbean" + +[[drops]] +name = "Frost Stone" +kind = "material" +chance = 12 +info = "When blue" + + [drops.material] + category = "frost" + kind = "stone" + +[[drops]] +name = "Frost Gem" +kind = "material" +chance = 6 +info = "When blue" + + [drops.material] + category = "frost" + kind = "gem" + +[[drops]] +name = "Blazing Stone" +kind = "material" +chance = 12 +info = "When red" + + [drops.material] + category = "blazing" + kind = "stone" + +[[drops]] +name = "Blazing Gem" +kind = "material" +chance = 6 +info = "When red" + + [drops.material] + category = "blazing" + kind = "gem" + +[[drops]] +name = "Lightning Stone" +kind = "material" +chance = 12 +info = "When yellow" + + [drops.material] + category = "lightning" + kind = "stone" + +[[drops]] +name = "Lightning Gem" +kind = "material" +chance = 6 +info = "When yellow" + + [drops.material] + category = "lightning" + kind = "gem" + +[[drops]] +name = "Soothing Stone" +kind = "material" +chance = 12 +info = "When iridescent" + + [drops.material] + category = "soothing" + kind = "stone" + +[[drops]] +name = "Soothing Gem" +kind = "material" +chance = 6 +info = "When iridescent" + + [drops.material] + category = "soothing" + kind = "gem" + +[[drops]] +name = "Wellspring Gem" +kind = "material" +chance = 8 +info = "When iridescent" + + [drops.material] + category = "wellspring" + kind = "gem" diff --git a/input/kh3/enemies/shadow.toml b/input/kh3/enemies/shadow.toml new file mode 100644 index 0000000..b6502a9 --- /dev/null +++ b/input/kh3/enemies/shadow.toml @@ -0,0 +1,22 @@ +name = "Shadow" + +[[world]] +name = "Dark World" + +[[drops]] +name = "Writhing Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "writhing" + kind = "shard" + +[[drops]] +name = "Writhing Stone" +kind = "material" +chance = 4 + + [drops.material] + category = "writhing" + kind = "stone" diff --git a/input/kh3/enemies/sniper.toml b/input/kh3/enemies/sniper.toml new file mode 100644 index 0000000..a7aeb31 --- /dev/null +++ b/input/kh3/enemies/sniper.toml @@ -0,0 +1,23 @@ +name = "Sniper" +kind = "nobody" + +[[world]] +name = "Arendelle" + +[[drops]] +name = "Betwixt Shard" +kind = "material" +chance = 18 + + [drops.material] + category = "betwixt" + kind = "shard" + +[[drops]] +name = "Betwixt Stone" +kind = "material" +chance = 12 + + [drops.material] + category = "betwixt" + kind = "stone" diff --git a/input/kh3/enemies/soldier.toml b/input/kh3/enemies/soldier.toml new file mode 100644 index 0000000..ca10d96 --- /dev/null +++ b/input/kh3/enemies/soldier.toml @@ -0,0 +1,31 @@ +name = "Soldier" + +[[world]] +name = "Olympus" + +[[drops]] +name = "Pulsing Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "pulsing" + kind = "shard" + +[[drops]] +name = "Lightning Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "lightning" + kind = "shard" + +[[drops]] +name = "Wellspring Shard" +kind = "material" +chance = 4 + + [drops.material] + category = "wellspring" + kind = "shard" diff --git a/input/kh3/enemies/sorcerer.toml b/input/kh3/enemies/sorcerer.toml new file mode 100644 index 0000000..a9a0725 --- /dev/null +++ b/input/kh3/enemies/sorcerer.toml @@ -0,0 +1,23 @@ +name = "Sorcerer" +kind = "nobody" + +[[world]] +name = "Twilight Town" + +[[drops]] +name = "Twilight Crystal" +kind = "material" +chance = 80 + + [drops.material] + category = "twilight" + kind = "crystal" + +[[drops]] +name = "Hungry Crystal" +kind = "material" +chance = 20 + + [drops.material] + category = "hungry" + kind = "crystal" diff --git a/input/kh3/enemies/spear-lizard.toml b/input/kh3/enemies/spear-lizard.toml new file mode 100644 index 0000000..cd052de --- /dev/null +++ b/input/kh3/enemies/spear-lizard.toml @@ -0,0 +1,31 @@ +name = "Spear Lizard" + +[[world]] +name = "The Caribbean" + +[[drops]] +name = "Soothing Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "soothing" + kind = "stone" + +[[drops]] +name = "Soothing Gem" +kind = "material" +chance = 4 + + [drops.material] + category = "soothing" + kind = "gem" + +[[drops]] +name = "Soothing Crystal" +kind = "material" +chance = 2 + + [drops.material] + category = "soothing" + kind = "crystal" diff --git a/input/kh3/enemies/spiked-turtletoad.toml b/input/kh3/enemies/spiked-turtletoad.toml new file mode 100644 index 0000000..e4c31ca --- /dev/null +++ b/input/kh3/enemies/spiked-turtletoad.toml @@ -0,0 +1,32 @@ +name = "Spiked Turtletoad" +kind = "unversed" + +[[world]] +name = "Monstropolis" + +[[drops]] +name = "Sinister Crystal" +kind = "material" +chance = 20 + + [drops.material] + category = "sinister" + kind = "crystal" + +[[drops]] +name = "Wellspring Gem" +kind = "material" +chance = 10 + + [drops.material] + category = "wellspring" + kind = "gem" + +[[drops]] +name = "Pulsing Gem" +kind = "material" +chance = 8 + + [drops.material] + category = "pulsing" + kind = "gem" diff --git a/input/kh3/enemies/supreme-smasher.toml b/input/kh3/enemies/supreme-smasher.toml new file mode 100644 index 0000000..9c95ad0 --- /dev/null +++ b/input/kh3/enemies/supreme-smasher.toml @@ -0,0 +1,31 @@ +name = "Supreme Smasher" + +[[world]] +name = "Toy Box" + +[[drops]] +name = "Wellspring Shard" +kind = "material" +chance = 162 + + [drops.material] + category = "wellspring" + kind = "shard" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "wellspring" + kind = "stone" + +[[drops]] +name = "Hungry Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "hungry" + kind = "shard" diff --git a/input/kh3/enemies/tireblade.toml b/input/kh3/enemies/tireblade.toml new file mode 100644 index 0000000..fa71b40 --- /dev/null +++ b/input/kh3/enemies/tireblade.toml @@ -0,0 +1,31 @@ +name = "Tireblade" + +[[world]] +name = "San Fransokyo" + +[[drops]] +name = "Lightning Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "lightning" + kind = "stone" + +[[drops]] +name = "Lightning Gem" +kind = "material" +chance = 4 + + [drops.material] + category = "lightning" + kind = "gem" + +[[drops]] +name = "Lightning Crystal" +kind = "material" +chance = 2 + + [drops.material] + category = "lightning" + kind = "crystal" diff --git a/input/kh3/enemies/turtletoad.toml b/input/kh3/enemies/turtletoad.toml new file mode 100644 index 0000000..fcdef69 --- /dev/null +++ b/input/kh3/enemies/turtletoad.toml @@ -0,0 +1,23 @@ +name = "Turtletoad" +kind = "unversed" + +[[world]] +name = "Monstropolis" + +[[drops]] +name = "Sinister Gem" +kind = "material" +chance = 16 + + [drops.material] + category = "sinister" + kind = "gem" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "wellspring" + kind = "stone" diff --git a/input/kh3/enemies/vaporfly.toml b/input/kh3/enemies/vaporfly.toml new file mode 100644 index 0000000..071da32 --- /dev/null +++ b/input/kh3/enemies/vaporfly.toml @@ -0,0 +1,31 @@ +name = "Vaporfly" + +[[world]] +name = "The Caribbean" + +[[drops]] +name = "Lucid Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "lucid" + kind = "stone" + +[[drops]] +name = "Lucid Gem" +kind = "material" +chance = 6 + + [drops.material] + category = "lucid" + kind = "gem" + +[[drops]] +name = "Wellspring Gem" +kind = "material" +chance = 4 + + [drops.material] + category = "wellspring" + kind = "gem" diff --git a/input/kh3/enemies/vermilion-samba.toml b/input/kh3/enemies/vermilion-samba.toml new file mode 100644 index 0000000..d7c003e --- /dev/null +++ b/input/kh3/enemies/vermilion-samba.toml @@ -0,0 +1,22 @@ +name = "Vermilion Samba" + +[[world]] +name = "Monstropolis" + +[[drops]] +name = "Blazing Stone" +kind = "material" +chance = 12 + + [drops.material] + category = "blazing" + kind = "stone" + +[[drops]] +name = "Blazing Gem" +kind = "material" +chance = 6 + + [drops.material] + category = "blazing" + kind = "gem" diff --git a/input/kh3/enemies/vitality-popcat.toml b/input/kh3/enemies/vitality-popcat.toml new file mode 100644 index 0000000..f38f441 --- /dev/null +++ b/input/kh3/enemies/vitality-popcat.toml @@ -0,0 +1,34 @@ +name = "Vitality Popcat" + +[[world]] +name = "Toy Box" + +[[world]] +name = "Arendelle" + +[[drops]] +name = "Wellspring Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "wellspring" + kind = "stone" + +[[drops]] +name = "Hungry Shard" +kind = "material" +chance = 8 + + [drops.material] + category = "hungry" + kind = "shard" + +[[drops]] +name = "Hungry Stone" +kind = "material" +chance = 4 + + [drops.material] + category = "hungry" + kind = "stone" diff --git a/input/kh3/enemies/water-core.toml b/input/kh3/enemies/water-core.toml new file mode 100644 index 0000000..84c331e --- /dev/null +++ b/input/kh3/enemies/water-core.toml @@ -0,0 +1,28 @@ +name = "Water Core" + +[[world]] +name = "Olympus" + +[[world]] +name = "Kingdom of Corona" + +[[world]] +name = "The Caribbean" + +[[drops]] +name = "Soothing Shard" +kind = "material" +chance = 15 + + [drops.material] + category = "soothing" + kind = "shard" + +[[drops]] +name = "Soothing Stone" +kind = "material" +chance = 10 + + [drops.material] + category = "soothing" + kind = "stone" diff --git a/input/kh3/enemies/winterhorn.toml b/input/kh3/enemies/winterhorn.toml new file mode 100644 index 0000000..424737a --- /dev/null +++ b/input/kh3/enemies/winterhorn.toml @@ -0,0 +1,22 @@ +name = "Winterhorn" + +[[world]] +name = "Arendelle" + +[[drops]] +name = "Frost Shard" +kind = "material" +chance = 16 + + [drops.material] + category = "frost" + kind = "shard" + +[[drops]] +name = "Frost Stone" +kind = "material" +chance = 8 + + [drops.material] + category = "frost" + kind = "stone" diff --git a/public/scripts/kh1/drops.js b/public/scripts/common/drops.js similarity index 100% rename from public/scripts/kh1/drops.js rename to public/scripts/common/drops.js diff --git a/public/scripts/kh2/drops.js b/public/scripts/kh2/drops.js deleted file mode 100644 index dab40ad..0000000 --- a/public/scripts/kh2/drops.js +++ /dev/null @@ -1,12 +0,0 @@ -import { - init, - kindFilter, - showOnlyTracked, - track, -} from "../common/mat-kind-filter.js"; - -document.addEventListener("DOMContentLoaded", (event) => { - init(); -}); - -Object.assign(window, { track }); diff --git a/public/styles/common/drops.css b/public/styles/common/drops.css index be8314b..08006ad 100644 --- a/public/styles/common/drops.css +++ b/public/styles/common/drops.css @@ -11,6 +11,7 @@ .enemy { display: flex; + cursor: pointer; } .drop { diff --git a/public/styles/kh1/drops.css b/public/styles/kh1/drops.css deleted file mode 100644 index ca58394..0000000 --- a/public/styles/kh1/drops.css +++ /dev/null @@ -1 +0,0 @@ -@import url("../common/drops.css"); diff --git a/public/styles/kh2/drops.css b/public/styles/kh2/drops.css deleted file mode 100644 index ca58394..0000000 --- a/public/styles/kh2/drops.css +++ /dev/null @@ -1 +0,0 @@ -@import url("../common/drops.css"); diff --git a/src/common/materials.rs b/src/common/materials.rs index 06c0be1..7be929e 100644 --- a/src/common/materials.rs +++ b/src/common/materials.rs @@ -322,7 +322,7 @@ impl MaterialDrops { return GENERIC_MATERIAL_ICON.to_string(); } - let category = self.category.get_category(game); + let category = self.category.get_texture_group(); let kind = self.kind.to_string(); let path = format!( "{}/materials/{}/{}.webp", @@ -330,7 +330,7 @@ impl MaterialDrops { ); let path = path::Path::new(&path); if path.exists() { - format!("{}/{}", self.category.get_category(game), self.kind) + format!("{}/{}", self.category.get_texture_group(), self.kind) } else { GENERIC_MATERIAL_ICON.to_string() } diff --git a/src/kh3.rs b/src/kh3.rs index 3360188..ea7f77e 100644 --- a/src/kh3.rs +++ b/src/kh3.rs @@ -1,12 +1,26 @@ use askama::Template; use food::Recipes; +use itertools::Itertools; -use crate::{RuntimeModule, create_file}; +use crate::{ + RuntimeModule, + common::{Game, enemy::Enemy, materials::MaterialDrops}, + create_file, +}; mod food; +const ENEMIES_PATH: &str = "./input/kh3/enemies"; const RECIPES_PATH: &str = "./input/kh3/recipes.toml"; +#[derive(Template)] +#[template(path = "pages/kh3/drops.html")] +struct DropsTemplate { + pub game: Game, + pub drops: Vec, + pub material_kinds: Vec, +} + #[derive(Template)] #[template(path = "pages/kh3/food-sim.html")] struct RecipesTemplate { @@ -17,10 +31,29 @@ 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 = MaterialDrops::new(enemies); + let material_kinds = drops + .iter() + .map(|d| d.category.get_category(&Game::Kh3)) + .dedup() + .collect(); + tracing::info!("Loading recipes data from {}", RECIPES_PATH); let recipes_str = std::fs::read_to_string(RECIPES_PATH).unwrap(); let recipes = toml::from_str::(&recipes_str).unwrap(); + tracing::info!("Generating the KH3 drops template"); + let drops_template = DropsTemplate { + game: Game::Kh3, + drops, + material_kinds, + }; + + create_file("./out/kh3", "drops", drops_template).unwrap(); + tracing::info!("Generating the KH3 recipes template"); let food_template = RecipesTemplate { recipes }; diff --git a/templates/components/common/drops.html b/templates/components/common/drops.html new file mode 100644 index 0000000..1cd3f0d --- /dev/null +++ b/templates/components/common/drops.html @@ -0,0 +1,11 @@ +{% include "components/common/only-tracked-filter.html" %} +
+{% include "components/common/kind-filters.html" %} +
+ +{% for drop in drops %} + {% call macros::drop("shard") %} + {% call macros::drop("stone") %} + {% call macros::drop("gem") %} + {% call macros::drop("crystal") %} +{% endfor %} diff --git a/templates/pages/index.html b/templates/pages/index.html index f54cd21..dfc9770 100644 --- a/templates/pages/index.html +++ b/templates/pages/index.html @@ -23,6 +23,7 @@ {% if cfg!(feature = "kh3") %}

Kingdom Hearts III

{% endif %} diff --git a/templates/pages/kh1/drops.html b/templates/pages/kh1/drops.html index bf3fe05..2ab07b3 100644 --- a/templates/pages/kh1/drops.html +++ b/templates/pages/kh1/drops.html @@ -4,23 +4,13 @@ {% block title %}KH1 - Drops{% endblock %} {% block head %} - + {% endblock %} {% block content %} - {% include "components/common/only-tracked-filter.html" %} -
- {% include "components/common/kind-filters.html" %} -
- - {% for drop in drops %} - {% call macros::drop("shard") %} - {% call macros::drop("stone") %} - {% call macros::drop("gem") %} - {% call macros::drop("crystal") %} - {% endfor %} + {% include "components/common/drops.html" %} {% endblock %} diff --git a/templates/pages/kh2/drops.html b/templates/pages/kh2/drops.html index a10ffbc..100bc63 100644 --- a/templates/pages/kh2/drops.html +++ b/templates/pages/kh2/drops.html @@ -4,23 +4,13 @@ {% block title %}KH2 - Drops{% endblock %} {% block head %} - + {% endblock %} {% block content %} - {% include "components/common/only-tracked-filter.html" %} -
- {% include "components/common/kind-filters.html" %} -
- - {% for drop in drops %} - {% call macros::drop("shard") %} - {% call macros::drop("stone") %} - {% call macros::drop("gem") %} - {% call macros::drop("crystal") %} - {% endfor %} + {% include "components/common/drops.html" %} {% endblock %} diff --git a/templates/pages/kh3/drops.html b/templates/pages/kh3/drops.html new file mode 100644 index 0000000..100bc63 --- /dev/null +++ b/templates/pages/kh3/drops.html @@ -0,0 +1,16 @@ +{% extends "layouts/base.html" %} +{% import "macros/common/macros.html" as macros %} + +{% block title %}KH2 - Drops{% endblock %} + +{% block head %} + + +{% endblock %} + +{% block content %} + {% include "components/common/drops.html" %} +{% endblock %}