From 6d23ff576f0674d2c9c5ec9e534f28b7fcecb011 Mon Sep 17 00:00:00 2001 From: Chris kerr Date: Tue, 30 Jan 2024 18:44:58 -0500 Subject: [PATCH] breeding data fixed --- static/data/data.xml | 9230 +++++++++++++++++++++++++++++++++++++++ static/data/monsters.db | Bin 139264 -> 143360 bytes static/data/remove.py | 75 + 3 files changed, 9305 insertions(+) create mode 100644 static/data/data.xml create mode 100644 static/data/remove.py diff --git a/static/data/data.xml b/static/data/data.xml new file mode 100644 index 0000000..4ccf688 --- /dev/null +++ b/static/data/data.xml @@ -0,0 +1,9230 @@ + + + + + + + + + + Oasis Key World + Near Door Shrine + + + + CallHelp + LushLicks + Imitate + + + + + + + Sky Key World + Heaven Helm Cave Floor 1 + + + + Blaze + Upper + Ramming + + + + + + Bolt + Ironize + Hellblast + + + + + + Lightning + RainSlash + BladeD + + + + + + MPass + SleepAir + LushLicks + + + + + + Sacrifice + Ironize + Chance + + + + + + + Ice Key World + Outside Weston Town + + + + Heal + Upper + BeastCut + + + + + + + Ice Key World + Near Door Shrine + + + + WindBeast + SquallHit + TailWind + + + + + + + Pirate Key World + Hoodsquid Cave + + + + Upper + ChargeUp + Radiant + + + + + + + Elf Key World + Outside Door Shrine + + + + SideStep + LegSweep + Whistle + + + + + + + Sky Key World + Overworld (Tara Version) + + + + PanicAll + Ahhh + LoveRain + + + + + + + Lonely Key World + Overworld (Tara Version) + + + + Sap + Paralyze + SleepAir + + + + + + + Pirate Key World + Area Outside Door Shrine + + + + Firebal + MegaMagic + Radiant + + + + + + + Sky Key World + 1 Screen Left Of Pei Village + + + + Blaze + IceBolt + Beat + + + + + + + Sky Key World + Overworld (Tara Version) + + + + MPass + Barrier + Vivify + + + + + + Sleep + SealPray + LifeSong + + + + + + + Pirate Key World + Moonrock Tower Floor 1 + + + + IceBolt + NumbOff + CallHelp + + + + + + + Sky Key World + Outside Fhunt Village + + + + CallHelp + ChargeUp + WarCry + + + + + + + Pirate Key World + Area Outside Hoodsquid Cave (Cobi Version) + + + + Heal + HealUs + Upper + + + + + + + Sky Key World + Down 1 And Left 4 Screens From Monster King's Castle (Tara Version) + + + + Firebal + Bang + Sacrifice + + + + + + Chance + BigBang + Surge + + + + + + + Sky Key World + Overworld (Tara Version) + + + + BeDragon + FireAir + SuckAir + + + + + + + Sky Key World + Heaven Sword Castle Floor 1 + + + + Surround + PoisonHit + EerieLite + + + + + + + Sky Key World + Outside Hitano Castle (Cobi Version) + + + + HighJump + Ramming + StrongD + + + + + + CleanCut + NapAttack + MouthShut + + + + + + Farewell + Focus + Informer + + + + + + + + + + Bang + BoltSlash + EvilSlash + + + + + + + Sky Key World + Heaven Helm Cave Floor 1 + + + + PanicAll + Paralyze + PalsyAir + + + + + + TwinHits + Berserker + StrongD + + + + + + + Traveler Key World + Outside Merchants' Tower + + + + RockThrow + Berserker + Kamikaze + + + + + + + Pirate Key World + Basement Floor 3 + + + + FireAir + SleepAir + Dodge + + + + + + FireAir + MetalCut + EvilSlash + + + + + + + Pirate Key World + 1 Screen Up From The Port Ritz Town (Cobi Version) + + + + PoisonHit + PoisonGas + LushLicks + + + + + + + Pirate Key World + Land Area 1 Screen Right Of Door Shrine + + + + Firebal + WindBeast + TailWind + + + + + + VacuSlash + DevilCut + PoisonHit + + + + + + + Ice Key World + Outside Castle Of Estria + + + + Sap + Ramming + WarCry + + + + + + Firebal + Sap + FireAir + + + + + + + Limbo Key World + Outside Door Shrine (Cobi Version) + + + + FrigidAir + IceSlash + SuckAll + + + + + + + Sky Key World + Inside Heaven Armor Tower Floor 3 (Cobi Version) + + + + FireAir + MultiCut + SuckAir + + + + + + Sacrifice + Farewell + Berserker + + + + + + + Sky Key World + Outside Heaven Helm Cave + + + + FireAir + FireSlash + SuckAll + + + + + + + Sky Key World + Outside Hitano Castle (Not Village) + + + + Infernos + Surround + PoisonGas + + + + + + + Oasis Key World + 2 Screens Right Of Asiya Town + + + + StopSpell + BeDragon + PoisonHit + + + + + + SlimeBlow + DevilCut + RainSlash + + + + + + Surround + SleepAir + LushLicks + + + + + + + Pirate Key World + Area Outside Port Ritz Town (Cobi Version) + + + + CallHelp + Ramming + SandStorm + + + + + + + Oasis Key World + 1 Screen Right Of Mirage Lake + + + + PoisonHit + Curse + K.O.Dance + + + + + + + Elf Key World + Overworld (Tara Version) + + + + SquallHit + HighJump + PoisonGas + + + + + + + Sky Key World + Overworld (Tara Version) + + + + RockThrow + LushLicks + Errand + + + + + + BigBang + FrigidAir + Meditate + + + + + + FireAir + FireSlash + BiAttack + + + + + + + Ice Key World + Outside Castle Of Estria (Cobi Version) + + + + AquaCut + GigaSlash + EvilSlash + + + + + + FireAir + RockThrow + Massacre + + + + + + + Sky Key World + Outside Heaven Armor Tower (Cobi Version) + + + + EvilSlash + Massacre + LureDance + + + + + + + Pirate Key World + Harmirror Cave Basement Floor 2 + + + + Ironize + MagicBack + Lightning + + + + + + + Sky Key World + Outside Heaven Armor Tower (Cobi Version) + + + + Infernos + CallHelp + BiAttack + + + + + + + Sky Key World + Outside Heaven Helm Cave (Cobi Version) + + + + CleanCut + RainSlash + BladeD + + + + + + + + + + Massacre + Ramming + WarCry + + + + + + + Sky Key World + Inside Fhunt Tower Floor 1 + + + + MagicWall + StrongD + Cover + + + + + + + Sky Key World + Inside Heaven Armor Tower (Tara Version) + + + + Surround + SleepAir + ThickFog + + + + + + + Sky Key World + Overworld (Cobi Version) + + + + TwinSlash + SideStep + Errand + + + + + + + Ice Key World + Overworld (Tara Version) + + + + NapAttack + SleepAir + LushLicks + + + + + + + Sky Key World + Overworld (Tara Version) + + + + ChargeUp + PaniDance + EagleEye + + + + + + + Sky Key World + Outside Pei Village (Cobi Version) + + + + MetalCut + RainSlash + TwinSlash + + + + + + + Sky Key World + Outside Madcondor's Nest + + + + LureDance + MouthShut + EagleEye + + + + + + + Pirate Key World + Land Area 1 Screen Right Of Door Shrine (Cobi Version) + + + + Slow + StopSpell + OddDance + + + + + + + Ice Key World + Near Door Shrine (Cobi Version) + + + + Sleep + RainSlash + GigaSlash + + + + + + IceBolt + ChargeUp + Geyser + + + + + + Berserker + SandStorm + WarCry + + + + + + + Ice Key World + Outside Weston Town + + + + SquallHit + BiAttack + LegSweep + + + + + + + Traveler Key World + Outside Door Shrine + + + + Blaze + Surround + Transform + + + + + + + Sky Key World + Outside Pei Village + + + + Slow + Surround + SlimeBlow + + + + + + + Ice Key World + Outside The Spirit Lake + + + + Sleep + ChargeUp + Berserker + + + + + + Sleep + StopSpell + PsycheUp + + + + + + Infernos + IceBolt + VacuSlash + + + + + + Slow + Ramming + SideStep + + + + + + + Ice Key World + Outside Nofor + + + + ChargeUp + EvilSlash + Kamikaze + + + + + + + Pirate Key World + Area Outside Door Shrine + + + + MetalCut + SquallHit + LushLicks + + + + + + + Pirate Key World + Area Outside Port Of Polona Town + + + + BirdBlow + ZombieCut + Informer + + + + + + + Ice Key World + Outside The Spirit Lake + + + + IceBolt + IceSlash + WarCry + + + + + + Firebal + FrigidAir + BiAttack + + + + + + + Ice Key World + Inside Spooky Forest (Tara Version) + + + + Heal + Vivify + Errand + + + + + + Bang + Massacre + EerieLite + + + + + + VacuSlash + SquallHit + LegSweep + + + + + + + Ice Key World + Outside The Spirit Lake + + + + Upper + PsycheUp + PalsyAir + + + + + + K.O.Dance + Hustle + Imitate + + + + + + + Pirate Key World + 1 Screen Up From The Port Ritz Town + + + + Blaze + CallHelp + MouthShut + + + + + + + Ice Key World + 1 Screen Down From Sleepherb Mountain + + + + Firebal + Slow + SleepAir + + + + + + IceBolt + FrigidAir + LoveRain + + + + + + + + + + Hellblast + Meditate + LifeSong + + + + + + + Ice Key World + 1 Screen Down From Sleepherb Mountain + + + + Shears + ChargeUp + Ramming + + + + + + + Pirate Key World + Moonrock Tower Floor 3 + + + + Heal + Sleep + FrigidAir + + + + + + + Pirate Key World + Harmirror Cave Basement Floor 1 + + + + CurseOff + SquallHit + AquaWall + + + + + + + Sky Key World + Outside Heaven Helm Cave + + + + Heal + WindBeast + LureDance + + + + + + Infernos + WindBeast + AquaCut + + + + + + + Ice Key World + Outside Weston Town + + + + Infernos + PanicAll + EagleEye + + + + + + + Sky Key World + Outside Heaven Sword Castle + + + + Speed + BeastCut + LifeSong + + + + + + + Pirate Key World + Area Outside Yold Village + + + + Antidote + Sleep + RobMagic + + + + + + Firebal + HealUs + MultiCut + + + + + + Ironize + ThickFog + TatsuCall + + + + + + Sleep + PanicAll + Curse + + + + + + + Sky Key World + Outside Heaven Sword Castle + + + + MagicWall + Curse + TailWind + + + + + + + Sky Key World + Outside Fhunt Village + + + + WindBeast + Hustle + Errand + + + + + + PaniDance + LifeDance + Hustle + + + + + + Infernos + Sap + VacuSlash + + + + + + + Sky Key World + Outside Heaven Armor Tower (Tara Version) + + + + VacuSlash + SandStorm + Dodge + + + + + + Beat + FrigidAir + IceSlash + + + + + + MegaMagic + Surge + StrongD + + + + + + + Limbo Key World + Outside Door Shrine + + + + Barrier + EerieLite + Informer + + + + + + + Pirate Key World + Overworld (Tara Version) + + + + Sap + Surround + BugBlow + + + + + + + Ice Key World + Outside Castle Of Estria (Cobi Version) + + + + Infernos + BoltSlash + SideStep + + + + + + + Sky Key World + Outside Pei Village + + + + HighJump + TailWind + EagleEye + + + + + + Hellblast + Lightning + BoltSlash + + + + + + + Ice Key World + Inside Sleepherb Mountain + + + + TwinHits + BugBlow + RainSlash + + + + + + HealUs + FireAir + SuckAll + + + + + + + Sky Key World + Outside Heaven Helm Cave + + + + FireAir + SquallHit + TailWind + + + + + + + + + + + Ice Key World + Inside Sleepherb Mountain + + + + Farewell + ZombieCut + StepGuard + + + + + + + Ice Key World + Inside Spooky Forest (Cobi Version) + + + + Sleep + ZombieCut + StepGuard + + + + + + + Ice Key World + Inside Ice Tower (Tara Version) + + + + Curse + Focus + DanceShut + + + + + + BiAttack + UltraDown + BladeD + + + + + + + Pirate Key World + Land Area 1 Screen Down Of Moonrock Tower (Cobi Version) + + + + K.O.Dance + LureDance + SideStep + + + + + + + Oasis Key World + Near Door Shrine + + + + Paralyze + HighJump + OddDance + + + + + + + Sky Key World + Heaven Helm Cave Floor 1 + + + + CleanCut + Paralyze + Radiant + + + + + + RobMagic + ChargeUp + SleepAir + + + + + + MPass + DeMagic + Pheromone + + + + + + TwinHits + RobMagic + MapMagic + + + + + + + Elf Key World + Outside Door Shrine + + + + NumbOff + Sap + Slow + + + + + + Vivify + SleepAir + SuckAll + + + + + + + Pirate Key World + Overworld (Tara Version) + + + + NapAttack + SleepAir + MouthShut + + + + + + + Ice Key World + Near Door Shrine + + + + NapAttack + HighJump + SleepAir + + + + + + + Ice Key World + Goldmine Cave + + + + MPass + CurseOff + Hustle + + + + + + + Ice Key World + Inside Spooky Forest + + + + DrakSlash + PsycheUp + SleepAir + + + + + + + + + + + Sky Key World + Outside Hitano Castle (Not Village) + + + + Blaze + DeChaos + PalsyAir + + + + + + + Ice Key World + Outside Castle Of Estria (Tara Version) + + + + TwinHits + Barrier + MagicWall + + + + + + Beat + SleepAir + PoisonGas + + + + + + + Elf Key World + Inside Agdevils Hideout (Cobi Version) + + + + StopSpell + CallHelp + RainSlash + + + + + + + Pirate Key World + Area Outside The Door Shrine (Cobi Version) + + + + MPass + OddDance + LureDance + + + + + + + Sky Key World + Outside Fhunt Village + + + + Firebal + Antidote + CurseOff + + + + + + + Sky Key World + Outside Pei Village + + + + Sleep + OddDance + LushLicks + + + + + + + Traveler Key World + Outside Door Shrine + + + + StopSpell + Curse + OddDance + + + + + + + Sky Key World + Outside Heaven Sword Castle + + + + RobMagic + LureDance + EerieLite + + + + + + + Sky Key World + Heaven Helm Cave Floor 1 (Cobi Version) + + + + Bolt + Heal + GigaSlash + + + + + + + + + + + Oasis Key World + 2 Screens Right Of Asiya Town (Tara Version) + + + + Upper + PoisonHit + ThickFog + + + + + + + Elf Key World + Inside Agdevils Hideout + + + + Sleep + FireAir + LegSweep + + + + + + + Pirate Key World + Moonrock Tower 1st Floor + + + + Firebal + Heal + MapMagic + + + + + + + Sky Key World + 1 Screen Left Of Pei Village (Cobi Version) + + + + VacuSlash + Shears + GigaSlash + + + + + + + Elf Key World + 4 Screens Down From The Door Shrine (Cobi Version) + + + + Sap + TwinHits + PalsyAir + + + + + + Beat + MagicBack + CallHelp + + + + + + + Pirate Key World + 1 Screen Up From The Port Ritz Town (Cobi Version) + + + + Speed + WindBeast + MouthShut + + + + + + + Ice Key World + Inside Sleepherb Mountain + + + + WindBeast + Paralyze + Radiant + + + + + + RockThrow + BoltSlash + DevilCut + + + + + + + Traveler Key World + Outside Door Shrine + + + + Surround + CallHelp + Curse + + + + + + + Pirate Key World + Area Outside Yold Village + + + + CallHelp + NapAttack + Kamikaze + + + + + + Upper + CallHelp + MetalCut + + + + + + + Ice Key World + Goldmine Cave + + + + Slow + Shears + StepGuard + + + + + + ZombieCut + RainSlash + EvilSlash + + + + + + + Sky Key World + Overworld (Tara Version) + + + + Infernos + DevilCut + SquallHit + + + + + + + Oasis Key World + Underground Tunnel Stairs At Kalka Town + + + + BeastCut + OddDance + StepGuard + + + + + + RobMagic + Barrier + MagicWall + + + + + + + Oasis Key World + 2 Screens Right Of Asiya Town (Cobi Version) + + + + IceSlash + PoisonGas + Radiant + + + + + + + Elf Key World + 3 Screens Right From Elvin Village + + + + RobMagic + CallHelp + ChargeUp + + + + + + + Sky Key World + Inside Heaven Armor Tower Floor 3 + + + + PoisonHit + Paralyze + TailWind + + + + + + Farewell + StrongD + SuckAll + + + + + + LushLicks + Dodge + Whistle + + + + + + + Traveler Key World + Outside Travelers Hut + + + + LushLicks + Ahhh + Pheromone + + + + + + + Sky Key World + Inside Heaven Armor Tower Floor 1 + + + + Upper + TwinHits + TwinSlash + + + + + + + Sky Key World + Inside Fhunt Tower Floor 4 (Cobi Version) + + + + Firebal + Farewell + Ramming + + + + + + Lightning + BiAttack + PoisonGas + + + + + + + + + + + Sky Key World + Inside Fhunt Tower Floor 4 + + + + Firebal + Ironize + FrigidAir + + + + + + + Ice Key World + Inside Spooky Forest (Cobi Version) + + + + Blaze + FireAir + FrigidAir + + + + + + Bang + Infernos + IceBolt + + + + + + + Pirate Key World + 1 Screen Up From The Port Ritz Town (Cobi Version) + + + + Blaze + Firebal + IceBolt + + + + + + + Elf Key World + 3 Screens Right From Elvin Village + + + + FireSlash + DrakSlash + Cover + + + + + + + Traveler Key World + Outside Travelers Hut + + + + MetalCut + PsycheUp + Massacre + + + + + + + Sky Key World + Inside Fhunt Tower Floor 4 + + + + BeastCut + GigaSlash + Massacre + + + + + + WindBeast + DrakSlash + BirdBlow + + + + + + + Pirate Key World + Harmirror Cave Basement Floor 1 + + + + CleanCut + PalsyAir + Radiant + + + + + + + Sky Key World + Heaven Helm Cave Floor 1 (Tara Version) + + + + Firebal + Heal + StopSpell + + + + + + + Sky Key World + Heaven Sword Castle Basement Floor 2 + + + + Blaze + CleanCut + ThickFog + + + + + + Blaze + ChargeUp + WarCry + + + + + + Bang + Berserker + UltraDown + + + + + + + Sky Key World + Heaven Helm Cave Floor 1 + + + + MagicBack + WarCry + Outside + + + + + + Bang + VacuSlash + BoltSlash + + + + + + + Limbo Key World + Outside Door Shrine + + + + TwinHits + VacuSlash + SquallHit + + + + + + + Sky Key World + Outside Madcondor's Nest + + + + SlimeBlow + ChargeUp + EvilSlash + + + + + + Heal + Sleep + TailWind + + + + + + + Pirate Key World + Overworld (Tara Version) + + + + Antidote + TwinHits + SealPray + + + + + + FireSlash + BoltSlash + AquaCut + + + + + + + Lonely Key World + Overworld + + + + FireSlash + RainSlash + LegSweep + + + + + + + Ice Key World + Ice Tower Floor 1 + + + + Firebal + Sacrifice + SleepAir + + + + + + + Sky Key World + Outside Hitano Castle (Cobi Version) + + + + Infernos + HealUs + VacuSlash + + + + + + Watershot + IceSlash + BladeD + + + + + + + Limbo Key World + Outside Door Shrine + + + + Massacre + Ramming + Cover + + + + + + + Ice Key World + Area Outside Spooky Forest + + + + Vivify + Sap + BirdBlow + + + + + + StopSpell + FireSlash + RainSlash + + + + + + Bang + FrigidAir + Focus + + + + + + Sap + Surround + Shears + + + + + + Blaze + BiAttack + TailWind + + + + + + + + + + + Sky Key World + Heaven Sword Castle Basement Floor 2 + + + + Transform + OddDance + Imitate + + + + + + + Oasis Key World + Underground Tunnel Stairs At Kalka Town + + + + Radiant + MouthShut + Outside + + + + + + + Sky Key World + Heaven Sword Castle Floor 1 (Cobi Version) + + + + Heal + DeChaos + CurseOff + + + + + + Infernos + CurseOff + BirdBlow + + + + + + Infernos + Bolt + Chance + + + + + + Beat + ThickFog + LifeDance + + + + + + + Sky Key World + Outside Heaven Sword Castle + + + + SleepAir + Radiant + ThickFog + + + + + + + Sky Key World + Heaven Sword Castle Floor 1 (Tara Version) + + + + Sap + Slow + MagicBack + + + + + + + Traveler Key World + Merchants' Tower Floor 3 + + + + FrigidAir + IceSlash + TwinSlash + + + + + + + Traveler Key World + Merchants' Tower Floor 2 + + + + Beat + PoisonHit + Dodge + + + + + + + Ice Key World + Inside Spooky Forest (Cobi Version) + + + + FrigidAir + K.O.Dance + ThickFog + + + + + + + Pirate Key World + Pirate Ship (Tara Version) + + + + Surround + PoisonGas + SideStep + + + + + + DevilCut + Curse + EerieLite + + + + + + Sap + BirdBlow + BiAttack + + + + + + Bang + BoltSlash + BiAttack + + + + + + Beat + ThickFog + BladeD + + + + + + + Pirate Key World + Harmirror Cave Basement Floor 3 (Cobi Version) + + + + Lightning + BoltSlash + Kamikaze + + + + + + + Pirate Key World + Pirate Ship (Cobi Version) + + + + PoisonGas + EerieLite + LushLicks + + + + + + + Ice Key World + Area Outside Spooky Forest + + + + Blaze + Firebal + Outside + + + + + + Blaze + IceBolt + Focus + + + + + + + Ice Key World + Goldmine Cave (Cobi Version) + + + + CallHelp + Paralyze + EvilSlash + + + + + + + Ice Key World + Inside Spooky Forest (Tara Version) + + + + Beat + MPass + Vivify + + + + + + CallHelp + AquaCut + SquallHit + + + + + + TakeMagic + K.O.Dance + LifeDance + + + + + + Ironize + MagicWall + StepGuard + + + + + + + Ice Key World + Overworld (Tara Version) + + + + WindBeast + Lightning + Informer + + + + + + HealUs + AquaCut + TatsuCall + + + + + + + + + + + Pirate Key World + Land Area 1 Screen Down Of Moonrock Tower + + + + OddDance + SandStorm + LoveRain + + + + + + IceBolt + FrigidAir + StrongD + + + + + + Sacrifice + Farewell + RockThrow + + + + + + + Pirate Key World + Overworld (Tara Version) + + + + Infernos + Sacrifice + LifeSong + + + + + + + Ice Key World + Goldmine Cave (Tara Version) + + + + Sap + Surround + PanicAll + + + + + + + Sky Key World + Overworld (Cobi Version) + + + + SquallHit + BiAttack + RainSlash + + + + + + Beat + Hellblast + EerieLite + + + + + + + Pirate Key World + Harmirror Cave Basement Floor 2 + + + + Blaze + Beat + EagleEye + + + + + + BigBang + Surge + TatsuCall + + + + + + + Pirate Key World + Harmirror Cave Basement Floor 3 + + + + Sacrifice + SlimeBlow + HighJump + + + + + + + Ice Key World + Inside Ice Tower (Cobi Version) + + + + FireAir + Massacre + SandStorm + + + + + + + Sky Key World + Inside Fhunt Tower Floor 1 + + + + RobMagic + DevilCut + Paralyze + + + + + + BoltSlash + MetalCut + GigaSlash + + + + + + + Ice Key World + Outside Weston Town + + + + FireAir + FrigidAir + SuckAir + + + + + + + Sky Key World + Inside Heaven Armor Tower Floor 1 + + + + TakeMagic + WindBeast + PaniDance + + + + + + + Ice Key World + Ice Tower Floor 1 + + + + ChargeUp + PsycheUp + Meditate + + + + + + + Pirate Key World + Pirate Ship + + + + Firebal + StopSpell + PanicAll + + + + + + Infernos + Barrier + Surge + + + + + + + Sky Key World + Inside Fhunt Tower Floor 1 + + + + MagicBack + Transform + Outside + + + + + + + Oasis Key World + Underground Tunnel Stairs At Kalka Town + + + + Blaze + PsycheUp + Whistle + + + + + + Bang + Bolt + MultiCut + + + + + + + Ice Key World + Ice Tower Floor 1 + + + + OddDance + LureDance + Pheromone + + + + + + Beat + Massacre + Outside + + + + + + + Traveler Key World + Merchants' Tower Floor 1 + + + + Upper + Speed + TwinHits + + + + + + OddDance + Hustle + SideStep + + + + + + Blaze + FireAir + Cover + + + + + + + Lonely Key World + Basement + + + + SlimeBlow + ChargeUp + Ramming + + + + + + + Sky Key World + Inside Fhunt Tower Floor 4 (Tara Version) + + + + StrongD + Cover + SuckAll + + + + + + + Pirate Key World + Harmirror Cave Basement Floor 1 (Cobi Version) + + + + DeChaos + FrigidAir + MapMagic + + + + + + + Sky Key World + Outside Heaven Armor Tower (Cobi Version) + + + + DeChaos + NumbOff + SuckAll + + + + + + + Ice Key World + Outside Castle Of Estria + + + + Heal + MetalCut + EvilSlash + + + + + + + Ice Key World + Goldmine Cave + + + + CallHelp + LegSweep + Dodge + + + + + + + + + + TwinHits + HighJump + SandStorm + + + + + + + Pirate Key World + Hoodsquid Cave (Tara Version) + + + + Barrier + SquallHit + Geyser + + + + + + + Pirate Key World + Hoodsquid Cave (Cobi Version) + + + + Sleep + PsycheUp + PoisonGas + + + + + + + Ice Key World + Surf Outside Castle Of Estria (Cobi Version) + + + + BoltSlash + RainSlash + Dodge + + + + + + + Pirate Key World + Surf Water Outside The Door Shrine + + + + Heal + MPass + LureDance + + + + + + + Traveler Key World + Surf Outside Travelers Hut + + + + Upper + MagicWall + Radiant + + + + + + + Pirate Key World + Hoodsquid Cave (Cobi Version) + + + + Firebal + NapAttack + LushLicks + + + + + + + Pirate Key World + 3 Screens North Of The Door Shrine (Static Boss) + + + + Vivify + RainSlash + PsycheUp + + + + + + CallHelp + BiAttack + LureDance + + + + + + Bolt + Focus + Dodge + + + + + + Antidote + Watershot + Geyser + + + + + + + Pirate Key World + Surf Water Outside The Door Shrine + + + + Speed + TwinHits + Ramming + + + + + + + Ice Key World + Outside Ice Tower (Cobi Version) + + + + Upper + PoisonHit + OddDance + + + + + + + Pirate Key World + Surf Water Outside The Door Shrine + + + + Vivify + Sap + SleepAir + + + + + + + Ice Key World + Surf Outside Castle Of Estria (Cobi Version) + + + + BugBlow + EvilSlash + Massacre + + + + + + + Ice Key World + Surf On Overworld (Tara Version) + + + + Upper + Kamikaze + SandStorm + + + + + + + Pirate Key World + Hoodsquid Cave (Cobi Version) + + + + PanicAll + Watershot + Ramming + + + + + + + Ice Key World + Surf Outside Castle Of Estria + + + + FrigidAir + Geyser + BladeD + + + + + + + Traveler Key World + Surf Outside Travelers Hut + + + + DrakSlash + MetalCut + BiAttack + + + + + + FireAir + Ramming + PoisonGas + + + + + + IceBolt + Sleep + WarCry + + + + + + + Ice Key World + Surf Outside Castle Of Estria + + + + CallHelp + SuckAir + Dodge + + + + + + RobMagic + WindBeast + Berserker + + + + + + + Pirate Key World + Moonrock Tower Floor 1 + + + + Firebal + MouthShut + AquaWall + + + + + + + Pirate Key World + Overworld (Tara Version) + + + + OddDance + PaniDance + Geyser + + + + + + BoltSlash + BeastCut + RainSlash + + + + + + Sap + RainSlash + Cover + + + + + + DrakSlash + SquallHit + GigaSlash + + + + + + + Oasis World + Surf In The Underground Tunnel + + + + Firebal + Paralyze + PoisonGas + + + + + + Bolt + Surround + SleepAir + + + + + + + Pirate Key World + Surf Water Outside The Door Shrine + + + + Watershot + PoisonGas + AquaWall + + + + + + MPass + BiAttack + Hustle + + + + + + + + + + Bolt + Hellblast + Focus + + + + + + FireAir + GigaSlash + Focus + + + + + + FireAir + FrigidAir + PoisonGas + + + + + + MegaMagic + DeMagic + LifeSong + + + + + + Firebal + Bang + TatsuCall + + + + + + Hellblast + FireAir + BiAttack + + + + + + BigBang + Hellblast + TatsuCall + + + + + + Firebal + Bang + ChargeUp + + + + + + Hellblast + FireAir + FrigidAir + + + + + + BigBang + FrigidAir + DeMagic + + + + + + FireAir + Ramming + UltraDown + + + + + + Barrier + WindBeast + MultiCut + + + + + + BiAttack + RainSlash + GigaSlash + + + + + + BigBang + DeMagic + Focus + + + + + + Firebal + BeDragon + Meditate + + + + + + Bang + Hellblast + RockThrow + + + + + + Blaze + Bang + Bolt + + + + + + Bolt + FireAir + FrigidAir + + + + + + FireAir + Massacre + Surge + + + + + + BigBang + FrigidAir + DeMagic + + + + + + FireAir + DeMagic + SuckAir + + + + + + Bang + EvilSlash + Focus + + + + + + HealUs + MPass + Vivify + + + + + + MegaMagic + Hellblast + WhiteFire + + + + + + BeDragon + Chance + TatsuCall + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bounce + Tidalwave + + + + + + + + + + + SamsiCall + + + + + + + + + + + + + + + + + + + + Explodet + WhiteFire + WhiteAir + + + + + LegSweep + + + + + + + + TwinSlash + StrongD + + + + + + + + FireAir + + + + Blaze + + + + Blazemore + + + + SnowStorm + + + + + + + + Lightning + ChargeUp + + + + + Bang + + + + MagicBack + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Beat + + + + Sap + + + + + Surge + UltraDown + + + + + + + + TatsuCall + + + + + + + + + + + + + + Curse + Radiant + + + + + + + + + + + Boom + + + + + Sacrifice + Revive + + + + + + + + + + + Firebal + + + + Firebane + + + + + Blazemore + ChargeUp + + + + + + ChargeUp + SuckAir + Meditate + + + + + + + + + RockThrow + HighJump + + + + + + FireSlash + VacuSlash + BoltSlash + IceSlash + + + + + + + + + + + HealMore + + + + Heal + + + + + + + HealUs + + + + + Thordain + Lightning + + + + + + + + + HealAll + SideStep + + + + + FrigidAir + + + + + + + + SnowStorm + ChargeUp + + + + + IceAir + + + + + Transform + Focus + + + + + Upper + + + + Infernos + + + + Infermore + + + + + + + + + + + + + + Curse + LureDance + + + + + + ChargeUp + Ramming + + + + + + + + + Sacrifice + Hustle + + + + + + Revive + WarCry + + + + + + + + + Meditate + LifeSong + + + + + + + + + + + + + + + + + + + + + + + + StrongD + Guardian + + + + + + Blazemost + Firebolt + Explodet + Infermost + Blizzard + + + + + + + + + + + + + + MPass + + + + MPassmore + + + + + Vacuum + ZombieCut + + + + + + + + + + + + + + + + + + SleepAir + PoisonAir + + + + + + + + + + + + PoisonHit + NapAttack + + + + + + + + PoisonGas + + + + + + + + + + + + + BiAttack + + + + + + + + SquallHit + BiAttack + + + + + + + + Vivify + + + + + + + + + + + + + + + + DiagoCall + + + + + + + + + + BlazeAir + + + + + StopSpell + DanceShut + MouthShut + + + + + + + + LushLicks + + + + + + + + + + + + + Sleep + + + + + + + + + + Slow + + + + IceBolt + + + + + + + Speed + + + + + SpeedUp + ChargeUp + + + + + + + + + + + + + + + + + + + + + + + + Antidote + DeChaos + NumbOff + CurseOff + + + + + + + + + + + + + + + + + + + + Zap + + + + Watershot + + + + + + + + + + + + + + Defense + SlowAll + Surround + + + + + + + + + WindBeast + ChargeUp + + + + + WindBeast + + + + + + + + + + + + + + + + IceStorm + + + + Scorching + + + + + + + CallHelp + + + + Bolt + + + + + + \ No newline at end of file diff --git a/static/data/monsters.db b/static/data/monsters.db index 3a9dfb5b164826683d47a83deee64da537e9f282..2401c67466a38f23d4e39fee9eb39c54dab8701d 100644 GIT binary patch delta 40104 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 ZH|xBLPS>VQ-pA28iiTvMMda^={y(==Kb8Oh diff --git a/static/data/remove.py b/static/data/remove.py new file mode 100644 index 0000000..611c334 --- /dev/null +++ b/static/data/remove.py @@ -0,0 +1,75 @@ +import xml.etree.ElementTree as ET +import sqlite3 + +DATABASE = "monsters.db" + + +def connect_db(): + return sqlite3.connect(DATABASE) + + +def create_tables(): + with connect_db() as conn: + cursor = conn.cursor() + cursor.execute( + """ + CREATE TABLE IF NOT EXISTS breeds ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + target TEXT NOT NULL + ); + """ + ) + cursor.execute( + """ + CREATE TABLE IF NOT EXISTS breed_requirements ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + breed_id INTEGER NOT NULL, + requirement_type TEXT NOT NULL, + requirement_value TEXT NOT NULL, + FOREIGN KEY (breed_id) REFERENCES breeds (id) + ); + """ + ) + conn.commit() + + +def insert_breeding_data(xml_file): + tree = ET.parse(xml_file) + root = tree.getroot() + + with connect_db() as conn: + cursor = conn.cursor() + + for breed_element in root.findall(".//breeds/breed"): + target = breed_element.get("target") + + cursor.execute("INSERT INTO breeds (target) VALUES (?)", (target,)) + breed_id = cursor.lastrowid + + base_requirements = breed_element.find("./base") + insert_breed_requirements(cursor, breed_id, base_requirements, "base") + + mate_requirements = breed_element.find("./mate") + insert_breed_requirements(cursor, breed_id, mate_requirements, "mate") + + conn.commit() + + +def insert_breed_requirements(cursor, breed_id, requirements_element, requirement_type): + for requirement_element in requirements_element.findall("./breed-requirement"): + family = requirement_element.get("family") + monster = requirement_element.get("monster") + + cursor.execute( + """ + INSERT INTO breed_requirements (breed_id, requirement_type, requirement_value) + VALUES (?, ?, ?) + """, + (breed_id, requirement_type, family or monster), + ) + + +if __name__ == "__main__": + create_tables() + insert_breeding_data("data.xml") + print("Breeding data inserted successfully.")