Browse Source

- mosre small improvements

master
Quildra 1 year ago
parent
commit
aca7e7fa46
  1. 139
      DBEditor/DBEditor.py
  2. 7
      DataGatherers/DefaultForms.json
  3. 15
      DataGatherers/Update_evolution_information.py
  4. 9
      DataGatherers/update_location_information.py
  5. 111
      Site/OriginDex.py
  6. BIN
      Site/static/images/pokemon/0001-01-000-0.png
  7. BIN
      Site/static/images/pokemon/0001_Bulbasaur.png
  8. BIN
      Site/static/images/pokemon/0002-01-000-0.png
  9. BIN
      Site/static/images/pokemon/0002_Ivysaur.png
  10. BIN
      Site/static/images/pokemon/0003-01-000-1.png
  11. BIN
      Site/static/images/pokemon/0003-01-000-2.png
  12. BIN
      Site/static/images/pokemon/0003-01-001-0.png
  13. BIN
      Site/static/images/pokemon/0003-01-002-0.png
  14. BIN
      Site/static/images/pokemon/0003_Venusaur.png
  15. BIN
      Site/static/images/pokemon/0004-01-000-0.png
  16. BIN
      Site/static/images/pokemon/0004_Charmander.png
  17. BIN
      Site/static/images/pokemon/0005-01-000-0.png
  18. BIN
      Site/static/images/pokemon/0005_Charmeleon.png
  19. BIN
      Site/static/images/pokemon/0006-01-000-0.png
  20. BIN
      Site/static/images/pokemon/0006-01-001-0.png
  21. BIN
      Site/static/images/pokemon/0006-01-002-0.png
  22. BIN
      Site/static/images/pokemon/0006-01-003-0.png
  23. BIN
      Site/static/images/pokemon/0006_Charizard.png
  24. BIN
      Site/static/images/pokemon/0007-01-000-0.png
  25. BIN
      Site/static/images/pokemon/0007_Squirtle.png
  26. BIN
      Site/static/images/pokemon/0008-01-000-0.png
  27. BIN
      Site/static/images/pokemon/0008_Wartortle.png
  28. BIN
      Site/static/images/pokemon/0009-01-000-0.png
  29. BIN
      Site/static/images/pokemon/0009-01-001-0.png
  30. BIN
      Site/static/images/pokemon/0009-01-002-0.png
  31. BIN
      Site/static/images/pokemon/0009_Blastoise.png
  32. BIN
      Site/static/images/pokemon/0010-01-000-0.png
  33. BIN
      Site/static/images/pokemon/0010_Caterpie.png
  34. BIN
      Site/static/images/pokemon/0011-01-000-0.png
  35. BIN
      Site/static/images/pokemon/0011_Metapod.png
  36. BIN
      Site/static/images/pokemon/0012-01-000-1.png
  37. BIN
      Site/static/images/pokemon/0012-01-000-2.png
  38. BIN
      Site/static/images/pokemon/0012-01-001-0.png
  39. BIN
      Site/static/images/pokemon/0012_Butterfree.png
  40. BIN
      Site/static/images/pokemon/0013-01-000-0.png
  41. BIN
      Site/static/images/pokemon/0013_Weedle.png
  42. BIN
      Site/static/images/pokemon/0014-01-000-0.png
  43. BIN
      Site/static/images/pokemon/0014_Kakuna.png
  44. BIN
      Site/static/images/pokemon/0015-01-000-0.png
  45. BIN
      Site/static/images/pokemon/0015-01-001-0.png
  46. BIN
      Site/static/images/pokemon/0015_Beedrill.png
  47. BIN
      Site/static/images/pokemon/0016-01-000-0.png
  48. BIN
      Site/static/images/pokemon/0016_Pidgey.png
  49. BIN
      Site/static/images/pokemon/0017-01-000-0.png
  50. BIN
      Site/static/images/pokemon/0017_Pidgeotto.png
  51. BIN
      Site/static/images/pokemon/0018-01-000-0.png
  52. BIN
      Site/static/images/pokemon/0018-01-001-0.png
  53. BIN
      Site/static/images/pokemon/0018_Pidgeot.png
  54. BIN
      Site/static/images/pokemon/0019-01-000-1.png
  55. BIN
      Site/static/images/pokemon/0019-01-000-2.png
  56. BIN
      Site/static/images/pokemon/0019-01-001-0.png
  57. BIN
      Site/static/images/pokemon/0019_Rattata.png
  58. BIN
      Site/static/images/pokemon/0019_Rattata_(Alolan_Form).png
  59. BIN
      Site/static/images/pokemon/0020-01-000-1.png
  60. BIN
      Site/static/images/pokemon/0020-01-000-2.png
  61. BIN
      Site/static/images/pokemon/0020-01-001-0.png
  62. BIN
      Site/static/images/pokemon/0020_Raticate.png
  63. BIN
      Site/static/images/pokemon/0020_Raticate_(Alolan_Form).png
  64. BIN
      Site/static/images/pokemon/0021-01-000-0.png
  65. BIN
      Site/static/images/pokemon/0021_Spearow.png
  66. BIN
      Site/static/images/pokemon/0022-01-000-0.png
  67. BIN
      Site/static/images/pokemon/0022_Fearow.png
  68. BIN
      Site/static/images/pokemon/0023-01-000-0.png
  69. BIN
      Site/static/images/pokemon/0023_Ekans.png
  70. BIN
      Site/static/images/pokemon/0024-01-000-0.png
  71. BIN
      Site/static/images/pokemon/0024_Arbok.png
  72. BIN
      Site/static/images/pokemon/0025-01-000-1.png
  73. BIN
      Site/static/images/pokemon/0025-01-000-2.png
  74. BIN
      Site/static/images/pokemon/0025-01-001-0.png
  75. BIN
      Site/static/images/pokemon/0025-01-002-0.png
  76. BIN
      Site/static/images/pokemon/0025-01-003-0.png
  77. BIN
      Site/static/images/pokemon/0025-01-004-0.png
  78. BIN
      Site/static/images/pokemon/0025-01-005-0.png
  79. BIN
      Site/static/images/pokemon/0025-01-006-0.png
  80. BIN
      Site/static/images/pokemon/0025-01-007-0.png
  81. BIN
      Site/static/images/pokemon/0025-01-008-0.png
  82. BIN
      Site/static/images/pokemon/0025-01-009-0.png
  83. BIN
      Site/static/images/pokemon/0025_Pikachu.png
  84. BIN
      Site/static/images/pokemon/0025_Pikachu_(Alola_Cap).png
  85. BIN
      Site/static/images/pokemon/0025_Pikachu_(Hoenn_Cap).png
  86. BIN
      Site/static/images/pokemon/0025_Pikachu_(Kalos_Cap).png
  87. BIN
      Site/static/images/pokemon/0025_Pikachu_(Original_Cap).png
  88. BIN
      Site/static/images/pokemon/0025_Pikachu_(Partner_Cap).png
  89. BIN
      Site/static/images/pokemon/0025_Pikachu_(Sinnoh_Cap).png
  90. BIN
      Site/static/images/pokemon/0025_Pikachu_(Unova_Cap).png
  91. BIN
      Site/static/images/pokemon/0025_Pikachu_(World_Cap).png
  92. BIN
      Site/static/images/pokemon/0026-01-000-1.png
  93. BIN
      Site/static/images/pokemon/0026-01-000-2.png
  94. BIN
      Site/static/images/pokemon/0026-01-001-0.png
  95. BIN
      Site/static/images/pokemon/0026_Raichu.png
  96. BIN
      Site/static/images/pokemon/0026_Raichu_(Alolan_Form).png
  97. BIN
      Site/static/images/pokemon/0027-01-000-0.png
  98. BIN
      Site/static/images/pokemon/0027-01-001-0.png
  99. BIN
      Site/static/images/pokemon/0027_Sandshrew.png
  100. BIN
      Site/static/images/pokemon/0027_Sandshrew_(Alolan_Form).png

139
DBEditor/DBEditor.py

@ -86,11 +86,13 @@ class DBEditor(QMainWindow):
disk_cursor = disk_conn.cursor()
# Create tables in the file-based database
self.create_games_table(disk_cursor)
self.create_pokemon_forms_table(disk_cursor)
self.create_pokemon_storage_table(disk_cursor)
self.create_evolution_chains_table(disk_cursor)
self.create_exclusive_encounter_groups_table(disk_cursor)
self.create_encounters_table(disk_cursor)
self.create_mark_table(disk_cursor)
# Commit changes to the file-based database
disk_conn.commit()
@ -118,7 +120,8 @@ class DBEditor(QMainWindow):
name TEXT NOT NULL,
form_name TEXT,
national_dex INTEGER NOT NULL,
generation INTEGER NOT NULL
generation INTEGER NOT NULL,
is_baby_form BOOLEAN
)
''')
@ -199,6 +202,131 @@ class DBEditor(QMainWindow):
ADD COLUMN starter BOOLEAN
''')
def create_mark_table(self, cursor):
cursor.execute('''
CREATE TABLE IF NOT EXISTS marks (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
icon_path TEXT NOT NULL
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS mark_game_associations (
mark_id INTEGER,
game_id INTEGER,
FOREIGN KEY (mark_id) REFERENCES marks (id),
FOREIGN KEY (game_id) REFERENCES games (id),
PRIMARY KEY (mark_id, game_id)
)
''')
marks = [
("Game Boy", "images/marks/GB_icon_HOME.png", ["Red", "Blue", "Yellow", "Gold", "Silver", "Crystal", "Ruby", "Sapphire", "Emerald", "FireRed", "LeafGreen"]),
("Kalos", "images/marks/Blue_pentagon_HOME.png", ["X", "Y", "Omega Ruby", "Alpha Sapphire"]),
("Alola", "images/marks/Black_clover_HOME.png", ["Sun", "Moon", "Ultra Sun", "Ultra Moon"]),
("Let's Go", "images/marks/Let's_Go_icon_HOME.png", ["Let's Go Pikachu", "Let's Go Eevee"]),
("Galar", "images/marks/Galar_symbol_HOME.png", ["Sword", "Shield"]),
("Sinnoh", "images/marks/BDSP_icon_HOME.png", ["Brilliant Diamond", "Shining Pearl"]),
("Hisui", "images/marks/Arceus_mark_HOME.png", ["Legends Arceus"]),
("Paldea", "images/marks/Paldea_icon_HOME.png", ["Scarlet", "Violet"]),
]
for mark in marks:
cursor.execute('''
INSERT OR IGNORE INTO marks (name, icon_path)
VALUES (?, ?)
''', (mark[0], mark[1]))
mark_id = cursor.lastrowid
for game_name in mark[2]:
cursor.execute('''
INSERT OR IGNORE INTO mark_game_associations (mark_id, game_id)
SELECT ?, id FROM games WHERE name = ?
''', (mark_id, game_name))
def create_games_table(self, cursor):
cursor.execute('''
CREATE TABLE IF NOT EXISTS games (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
generation INTEGER NOT NULL
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS alternate_game_names (
id INTEGER PRIMARY KEY,
game_id INTEGER NOT NULL,
alternate_name TEXT NOT NULL,
FOREIGN KEY (game_id) REFERENCES games (id),
UNIQUE (alternate_name COLLATE NOCASE)
)
''')
games = [
("Red", 1, ["Red Version"]),
("Blue", 1, ["Blue Version"]),
("Yellow", 1, ["Yellow Version"]),
("Gold", 2, ["Gold Version"]),
("Silver", 2, ["Silver Version"]),
("Crystal", 2, ["Crystal Version"]),
("Ruby", 3, ["Ruby Version"]),
("Sapphire", 3, ["Sapphire Version"]),
("Emerald", 3, ["Emerald Version"]),
("FireRed", 3, ["Fire Red", "Fire-Red"]),
("LeafGreen", 3, ["Leaf Green", "Leaf-Green"]),
("Diamond", 4, ["Diamond Version"]),
("Pearl", 4, ["Pearl Version"]),
("Platinum", 4, ["Platinum Version"]),
("HeartGold", 4, ["Heart Gold", "Heart-Gold"]),
("SoulSilver", 4, ["Soul Silver", "Soul-Silver"]),
("Black", 5, ["Black Version"]),
("White", 5, ["White Version"]),
("Black 2", 5, ["Black Version 2", "Black-2"]),
("White 2", 5, ["White Version 2", "White-2"]),
("X", 6, ["X Version"]),
("Y", 6, ["Y Version"]),
("Omega Ruby", 6, ["Omega Ruby Version", "Omega-Ruby"]),
("Alpha Sapphire", 6, ["Alpha Sapphire Version", "Alpha-Sapphire"]),
("Sun", 7, ["Sun Version"]),
("Moon", 7, ["Moon Version"]),
("Ultra Sun", 7, ["Ultra Sun Version", "Ultra-Sun"]),
("Ultra Moon", 7, ["Ultra Moon Version", "Ultra-Moon"]),
("Let's Go Pikachu", 7, ["Let's Go, Pikachu!", "Lets Go Pikachu"]),
("Let's Go Eevee", 7, ["Let's Go, Eevee!", "Lets Go Eevee"]),
("Sword", 8, ["Sword Version"]),
("Shield", 8, ["Shield Version"]),
("Expansion Pass", 8, ["Expansion Pass (Sword)", "Expansion Pass (Shield)"]),
("Brilliant Diamond", 8, ["Brilliant Diamond Version", "Brilliant-Diamond"]),
("Shining Pearl", 8, ["Shining Pearl Version", "Shining-Pearl"]),
("Legends Arceus", 8, ["Legends: Arceus", "Legends-Arceus"]),
("Scarlet", 9, ["Scarlet Version"]),
("Violet", 9, ["Violet Version"]),
("The Teal Mask", 9, ["The Teal Mask Version", "The Teal Mask (Scarlet)", "The Teal Mask (Violet)"]),
("The Hidden Treasure of Area Zero", 9, ["The Hidden Treasure of Area Zero Version", "The Hidden Treasure of Area Zero (Scarlet)", "The Hidden Treasure of Area Zero (Violet)"]),
("Pokémon Home", 98, ["Pokémon HOME"]),
("Pokémon Go", 99, ["Pokémon GO"]),
]
for game in games:
cursor.execute('''
INSERT OR IGNORE INTO games (name, generation)
VALUES (?, ?)
''', (game[0], game[1]))
game_id = cursor.lastrowid
# Insert alternate names
for alt_name in game[2]:
cursor.execute('''
INSERT OR IGNORE INTO alternate_game_names (game_id, alternate_name)
VALUES (?, ?)
''', (game_id, alt_name))
def load_and_apply_patches(self):
try:
@ -283,12 +411,14 @@ class DBEditor(QMainWindow):
self.national_dex_label = QLabel()
self.generation_label = QLabel()
self.home_checkbox = QCheckBox("Available in Home")
self.is_baby_form_checkbox = QCheckBox("Is Baby Form")
self.edit_form.addRow("Name:", self.name_label)
self.edit_form.addRow("Form:", self.form_name_label)
self.edit_form.addRow("National Dex:", self.national_dex_label)
self.edit_form.addRow("Generation:", self.generation_label)
self.edit_form.addRow(self.home_checkbox)
self.edit_form.addRow(self.is_baby_form_checkbox)
text_layout.addLayout(self.edit_form)
@ -408,7 +538,7 @@ class DBEditor(QMainWindow):
pfic = current.data(Qt.ItemDataRole.UserRole)
self.cursor.execute('''
SELECT pf.name, pf.form_name, pf.national_dex, pf.generation, ps.storable_in_home
SELECT pf.name, pf.form_name, pf.national_dex, pf.generation, ps.storable_in_home, pf.is_baby_form
FROM pokemon_forms pf
LEFT JOIN pokemon_storage ps ON pf.PFIC = ps.PFIC
WHERE pf.PFIC = ?
@ -416,12 +546,13 @@ class DBEditor(QMainWindow):
pokemon_data = self.cursor.fetchone()
if pokemon_data:
name, form_name, national_dex, generation, storable_in_home = pokemon_data
name, form_name, national_dex, generation, storable_in_home, is_baby_form = pokemon_data
self.name_label.setText(name)
self.form_name_label.setText(form_name if form_name else "")
self.national_dex_label.setText(str(national_dex))
self.generation_label.setText(str(generation))
self.home_checkbox.setChecked(bool(storable_in_home))
self.is_baby_form_checkbox.setChecked(bool(is_baby_form))
self.home_checkbox.stateChanged.connect(self.update_home_storable)
# Load and display the image
@ -1035,6 +1166,8 @@ class DBEditor(QMainWindow):
# Process the Pokémon data
process_pokemon_for_location_data(pfic, name, form, national_dex, default_forms, cache, temp_conn)
temp_conn.backup(self.conn)
# Close the temporary connection
temp_conn.close()

7
DataGatherers/DefaultForms.json

@ -43,5 +43,10 @@
"Single Strike Style",
"Green Plumage",
"Two-Segment Form",
"Standard Form"
"Standard Form",
"Counterfeit Form",
"Unremarkable Form",
"Antique Form",
"Phony Form",
"Masterpiece Form"
]

15
DataGatherers/Update_evolution_information.py

@ -100,12 +100,27 @@ def process_evolution_chain(conn, evolution_chain, cache, gender: Optional[str]
evolution_info = EvolutionInfo(from_pfic, to_pfic, stage.next_stage.method)
insert_evolution_info(conn, evolution_info)
if "breed" in stage.next_stage.method.lower():
update_pokemon_baby_status(conn, from_pfic, True)
for branch in stage.branches:
to_pfic = get_pokemon_form_by_name(conn, branch.pokemon, branch.form, gender=gender)
if to_pfic:
evolution_info = EvolutionInfo(from_pfic, to_pfic, branch.method)
insert_evolution_info(conn, evolution_info)
if "breed" in branch.method.lower():
update_pokemon_baby_status(conn, from_pfic, True)
def update_pokemon_baby_status(conn, from_pfic, is_baby_form):
cursor = conn.cursor()
cursor.execute('''
UPDATE pokemon_forms
SET is_baby_form = ?
WHERE PFIC = ?
''', (is_baby_form, from_pfic))
conn.commit()
def update_evolution_chains():
cache = CacheManager()
conn = create_evolution_table()

9
DataGatherers/update_location_information.py

@ -65,7 +65,7 @@ all_games = [
"X", "Y", "Omega Ruby", "Alpha Sapphire",
"Ultra Sun", "Ultra Moon", "Sun", "Moon",
"Sword", "Shield", "Expansion Pass",
"Brilliant Diamond", "Shining Pearl",
"Brilliant Diamond", "Shining Pearl"
"Legends: Arceus",
"Scarlet", "Violet", "The Teal Mask", "The Hidden Treasure of Area Zero", "The Hidden Treasure of Area Zero (Scarlet)", "The Hidden Treasure of Area Zero (Violet)", "The Teal Mask (Scarlet)", "The Teal Mask (Violet)",
"Unknown",
@ -340,6 +340,9 @@ def process_pokemon_for_location_data(pfic, name, form, national_dex, default_fo
if name == "Minior":
form = None
if name.lower() == "ho-oh":
name = "Ho-Oh"
if form and form.lower() == "female":
form = None
@ -359,7 +362,7 @@ def process_pokemon_for_location_data(pfic, name, form, national_dex, default_fo
for location in encounter_data[encounter]:
if location == "":
return
continue
test_location = location["location"].strip().lower()
ignore_location = False
@ -369,7 +372,7 @@ def process_pokemon_for_location_data(pfic, name, form, national_dex, default_fo
break
if ignore_location:
return
continue
if print_encounter:
print(f"Found in {encounter}:")

111
Site/OriginDex.py

@ -8,20 +8,49 @@ app = Flask(__name__)
def load_pokemon_data():
pokemon_list = []
conn = sqlite3.connect('pokemon_database.db')
conn = sqlite3.connect('pokemon_forms.db')
cursor = conn.cursor()
cursor.execute('''
SELECT p.national_dex_number, p.name, pf.form_name, pf.image_path, pf.is_default, p.introduced_in_gen,
g.name AS earliest_game, m.icon_path AS mark_icon
FROM pokemon p
JOIN pokemon_forms pf ON p.national_dex_number = pf.pokemon_id
LEFT JOIN form_encounters fe ON pf.id = fe.form_id
LEFT JOIN games g ON fe.game_id = g.id
WITH RECURSIVE EvolutionChain AS (
SELECT PFIC, from_pfic
FROM evolution_chains
UNION ALL
SELECT ec.PFIC, e.from_pfic
FROM evolution_chains ec
JOIN EvolutionChain e ON ec.from_pfic = e.PFIC
),
BaseForm AS (
SELECT PFIC, MIN(from_pfic) AS base_pfic
FROM EvolutionChain
GROUP BY PFIC
),
EarliestGamePerPokemon AS (
SELECT e.pfic, MIN(g.generation) as min_generation, g.name as earliest_game
FROM encounters e
JOIN games g ON e.game = g.name
GROUP BY e.pfic
),
FirstGameInEarliestGen AS (
SELECT eg.pfic, MIN(g.id) as first_game_id
FROM EarliestGamePerPokemon eg
JOIN games g ON eg.min_generation = g.generation
GROUP BY eg.pfic
)
SELECT
pf.national_dex, pf.name, pf.form_name, pf.PFIC, pf.generation,
ps.storable_in_home, eg.earliest_game,
m.icon_path as mark_icon, m.id as mark_id
FROM pokemon_forms pf
JOIN pokemon_storage ps ON pf.PFIC = ps.PFIC
LEFT JOIN BaseForm bf ON pf.PFIC = bf.PFIC
LEFT JOIN EarliestGamePerPokemon eg ON COALESCE(bf.base_pfic, pf.PFIC) = eg.pfic
LEFT JOIN FirstGameInEarliestGen fg ON COALESCE(bf.base_pfic, pf.PFIC) = fg.pfic
LEFT JOIN games g ON fg.first_game_id = g.id
LEFT JOIN mark_game_associations mga ON g.id = mga.game_id
LEFT JOIN marks m ON mga.mark_id = m.id
GROUP BY p.national_dex_number, pf.id
ORDER BY p.national_dex_number, pf.is_default DESC, pf.form_name
WHERE ps.storable_in_home = 1
ORDER BY pf.PFIC
''')
current_group = []
@ -30,20 +59,24 @@ def load_pokemon_data():
pokemon_forms = []
for row in cursor.fetchall():
national_dex_number, name, form_name, image_path, is_default, introduced_in_gen, earliest_game, mark_icon = row
national_dex, name, form_name, pfic, generation, storable_in_home, earliest_game, mark_icon, mark_id = row
pokemon = {
'ID': national_dex_number,
'ID': national_dex,
'Name': name,
'Form': form_name,
'Image': image_path,
'IsDefault': is_default,
'Generation': introduced_in_gen,
'Form': form_name if form_name else "Default",
'Image': f"images/pokemon/{pfic}.png",
'IsDefault': form_name is None or form_name == '',
'Generation': generation,
'EarliestGame': earliest_game,
'MarkIcon': mark_icon
'StorableInHome': storable_in_home,
'MarkIcon': mark_icon,
'MarkID': mark_id
}
if national_dex_number != current_dex_number:
if national_dex != current_dex_number:
if pokemon_forms:
for form in pokemon_forms:
current_group.append(form)
@ -51,16 +84,16 @@ def load_pokemon_data():
pokemon_list.append(current_group)
current_group = []
pokemon_forms = []
current_dex_number = national_dex_number
current_dex_number = national_dex
if is_default:
if current_generation is None or introduced_in_gen != current_generation:
if form_name is None or form_name == '':
if current_generation is None or generation != current_generation:
if current_group:
while len(current_group) < 30:
current_group.append(None) # Add empty slots
pokemon_list.append(current_group)
current_group = []
current_generation = introduced_in_gen
current_generation = generation
pokemon_forms.append(pokemon)
@ -87,23 +120,37 @@ def index():
@app.route('/pokemon/<int:dex_number>')
def pokemon_details(dex_number):
conn = sqlite3.connect('pokemon_database.db')
conn = sqlite3.connect('pokemon_forms.db') # Updated database name
cursor = conn.cursor()
cursor.execute('''
SELECT pf.form_name, g.name, l.name, em.name
FROM form_encounters fe
JOIN games g ON fe.game_id = g.id
JOIN locations l ON fe.location_id = l.id
JOIN encounter_methods em ON fe.encounter_method_id = em.id
JOIN pokemon_forms pf ON fe.form_id = pf.id
WHERE pf.pokemon_id = ?
ORDER BY pf.is_default DESC, pf.form_name, g.generation, g.name, l.name
SELECT pf.form_name, e.game, e.location, e.day, e.time,
e.dual_slot, e.static_encounter, e.static_encounter_count,
e.extra_text, e.stars, e.fishing, e.rods, e.starter
FROM pokemon_forms pf
JOIN encounters e ON pf.PFIC = e.pfic
WHERE pf.national_dex = ?
ORDER BY pf.form_name, e.game, e.location
''', (dex_number,))
encounters = [
{'form': form, 'game': game, 'location': location, 'method': method}
for form, game, location, method in cursor.fetchall()
{
'form': form,
'game': game,
'location': location,
'day': day,
'time': time,
'dual_slot': dual_slot,
'static_encounter': static_encounter,
'static_encounter_count': static_encounter_count,
'extra_text': extra_text,
'stars': stars,
'fishing': fishing,
'rods': rods,
'starter': starter
}
for form, game, location, day, time, dual_slot, static_encounter, static_encounter_count,
extra_text, stars, fishing, rods, starter in cursor.fetchall()
]
conn.close()

BIN
Site/static/images/pokemon/0001-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
Site/static/images/pokemon/0001_Bulbasaur.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

BIN
Site/static/images/pokemon/0002-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0002_Ivysaur.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0003-01-000-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0003-01-000-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0003-01-001-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
Site/static/images/pokemon/0003-01-002-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0003_Venusaur.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0004-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
Site/static/images/pokemon/0004_Charmander.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

BIN
Site/static/images/pokemon/0005-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0005_Charmeleon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0006-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
Site/static/images/pokemon/0006-01-001-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
Site/static/images/pokemon/0006-01-002-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
Site/static/images/pokemon/0006-01-003-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
Site/static/images/pokemon/0006_Charizard.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0007-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
Site/static/images/pokemon/0007_Squirtle.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

BIN
Site/static/images/pokemon/0008-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
Site/static/images/pokemon/0008_Wartortle.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

BIN
Site/static/images/pokemon/0009-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0009-01-001-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
Site/static/images/pokemon/0009-01-002-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
Site/static/images/pokemon/0009_Blastoise.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

BIN
Site/static/images/pokemon/0010-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
Site/static/images/pokemon/0010_Caterpie.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

BIN
Site/static/images/pokemon/0011-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

BIN
Site/static/images/pokemon/0011_Metapod.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

BIN
Site/static/images/pokemon/0012-01-000-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
Site/static/images/pokemon/0012-01-000-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
Site/static/images/pokemon/0012-01-001-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
Site/static/images/pokemon/0012_Butterfree.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

BIN
Site/static/images/pokemon/0013-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

BIN
Site/static/images/pokemon/0013_Weedle.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

BIN
Site/static/images/pokemon/0014-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

BIN
Site/static/images/pokemon/0014_Kakuna.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

BIN
Site/static/images/pokemon/0015-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
Site/static/images/pokemon/0015-01-001-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
Site/static/images/pokemon/0015_Beedrill.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

BIN
Site/static/images/pokemon/0016-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
Site/static/images/pokemon/0016_Pidgey.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

BIN
Site/static/images/pokemon/0017-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0017_Pidgeotto.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0018-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
Site/static/images/pokemon/0018-01-001-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0018_Pidgeot.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

BIN
Site/static/images/pokemon/0019-01-000-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
Site/static/images/pokemon/0019-01-000-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
Site/static/images/pokemon/0019-01-001-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
Site/static/images/pokemon/0019_Rattata.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

BIN
Site/static/images/pokemon/0019_Rattata_(Alolan_Form).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

BIN
Site/static/images/pokemon/0020-01-000-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
Site/static/images/pokemon/0020-01-000-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0020-01-001-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0020_Raticate.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0020_Raticate_(Alolan_Form).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0021-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
Site/static/images/pokemon/0021_Spearow.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0022-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
Site/static/images/pokemon/0022_Fearow.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

BIN
Site/static/images/pokemon/0023-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
Site/static/images/pokemon/0023_Ekans.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0024-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0024_Arbok.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

BIN
Site/static/images/pokemon/0025-01-000-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

BIN
Site/static/images/pokemon/0025-01-000-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

BIN
Site/static/images/pokemon/0025-01-001-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
Site/static/images/pokemon/0025-01-002-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
Site/static/images/pokemon/0025-01-003-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
Site/static/images/pokemon/0025-01-004-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
Site/static/images/pokemon/0025-01-005-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
Site/static/images/pokemon/0025-01-006-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
Site/static/images/pokemon/0025-01-007-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
Site/static/images/pokemon/0025-01-008-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
Site/static/images/pokemon/0025-01-009-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
Site/static/images/pokemon/0025_Pikachu.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

BIN
Site/static/images/pokemon/0025_Pikachu_(Alola_Cap).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

BIN
Site/static/images/pokemon/0025_Pikachu_(Hoenn_Cap).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

BIN
Site/static/images/pokemon/0025_Pikachu_(Kalos_Cap).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

BIN
Site/static/images/pokemon/0025_Pikachu_(Original_Cap).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

BIN
Site/static/images/pokemon/0025_Pikachu_(Partner_Cap).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

BIN
Site/static/images/pokemon/0025_Pikachu_(Sinnoh_Cap).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

BIN
Site/static/images/pokemon/0025_Pikachu_(Unova_Cap).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

BIN
Site/static/images/pokemon/0025_Pikachu_(World_Cap).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

BIN
Site/static/images/pokemon/0026-01-000-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
Site/static/images/pokemon/0026-01-000-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
Site/static/images/pokemon/0026-01-001-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0026_Raichu.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

BIN
Site/static/images/pokemon/0026_Raichu_(Alolan_Form).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0027-01-000-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0027-01-001-0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
Site/static/images/pokemon/0027_Sandshrew.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
Site/static/images/pokemon/0027_Sandshrew_(Alolan_Form).png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save