From bc2313ec53c9cf030b3df7a44c02243d5d244e67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E7=91=AA=E8=B2=93?= Date: Thu, 8 Jun 2017 23:54:51 +0800 Subject: [PATCH] =?UTF-8?q?Updated=20the=20Pok=C3=A9mon=20database=20for?= =?UTF-8?q?=20the=20complex=20evolvement=20paths=20of=20Oddish,=20Gloom,?= =?UTF-8?q?=20Slowpoke,=20Tyrogue,=20and=20Eevee.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PokemonGoIV/3Data.vb | 12 +++--- PokemonGoIV/9Load.vb | 80 ++++++++++++++++++++++++--------------- TODO | 2 - oxt/PokemonGoIV/3Data.xba | 12 +++--- oxt/PokemonGoIV/9Load.xba | 80 ++++++++++++++++++++++++--------------- 5 files changed, 110 insertions(+), 76 deletions(-) diff --git a/PokemonGoIV/3Data.vb b/PokemonGoIV/3Data.vb index 0d6a9cf..5d4bf8a 100644 --- a/PokemonGoIV/3Data.vb +++ b/PokemonGoIV/3Data.vb @@ -13,7 +13,7 @@ ' limitations under the License. ' 3Data: The Pokémon GO data for IV calculation -' by imacat , 2017-03-01 +' by imacat , 2017-06-08 ' Generated with 9Load.subReadDataSheets () Option Explicit @@ -63,8 +63,8 @@ Function fnGetBaseStatsData As Variant Array ("Wigglytuff", "040", 280, 156, 93, Array ()), _ Array ("Zubat", "041", 80, 83, 76, Array ("Golbat", "Crobat")), _ Array ("Golbat", "042", 150, 161, 153, Array ("Crobat")), _ - Array ("Oddish", "043", 90, 131, 116, Array ("Gloom", "Vileplume")), _ - Array ("Gloom", "044", 120, 153, 139, Array ("Vileplume")), _ + Array ("Oddish", "043", 90, 131, 116, Array ("Gloom", "Vileplume", "Bellossom")), _ + Array ("Gloom", "044", 120, 153, 139, Array ("Vileplume", "Bellossom")), _ Array ("Vileplume", "045", 150, 202, 170, Array ()), _ Array ("Paras", "046", 70, 121, 99, Array ("Parasect")), _ Array ("Parasect", "047", 120, 165, 146, Array ()), _ @@ -99,7 +99,7 @@ Function fnGetBaseStatsData As Variant Array ("Golem", "076", 160, 211, 229, Array ()), _ Array ("Ponyta", "077", 100, 170, 132, Array ("Rapidash")), _ Array ("Rapidash", "078", 130, 207, 167, Array ()), _ - Array ("Slowpoke", "079", 180, 109, 109, Array ("Slowbro")), _ + Array ("Slowpoke", "079", 180, 109, 109, Array ("Slowbro", "Slowking")), _ Array ("Slowbro", "080", 190, 177, 194, Array ()), _ Array ("Magnemite", "081", 50, 165, 128, Array ("Magneton")), _ Array ("Magneton", "082", 100, 223, 182, Array ()), _ @@ -153,7 +153,7 @@ Function fnGetBaseStatsData As Variant Array ("Gyarados", "130", 190, 237, 197, Array ()), _ Array ("Lapras", "131", 260, 186, 190, Array ()), _ Array ("Ditto", "132", 96, 91, 91, Array ()), _ - Array ("Eevee", "133", 110, 104, 121, Array ("Vaporeon", "Jolteon", "Flareon")), _ + Array ("Eevee", "133", 110, 104, 121, Array ("Vaporeon", "Jolteon", "Flareon", "Espeon", "Umbreon")), _ Array ("Vaporeon", "134", 260, 205, 177, Array ()), _ Array ("Jolteon", "135", 130, 232, 201, Array ()), _ Array ("Flareon", "136", 130, 246, 204, Array ()), _ @@ -256,7 +256,7 @@ Function fnGetBaseStatsData As Variant Array ("Porygon2", "233", 170, 198, 183, Array ()), _ Array ("Stantler", "234", 146, 192, 132, Array ()), _ Array ("Smeargle", "235", 110, 40, 88, Array ()), _ - Array ("Tyrogue", "236", 70, 64, 64, Array ("Hitmonlee")), _ + Array ("Tyrogue", "236", 70, 64, 64, Array ("Hitmonlee", "Hitmonchan", "Hitmontop")), _ Array ("Hitmontop", "237", 100, 173, 214, Array ()), _ Array ("Smoochum", "238", 90, 153, 116, Array ("Jynx")), _ Array ("Elekid", "239", 90, 135, 110, Array ("Electabuzz")), _ diff --git a/PokemonGoIV/9Load.vb b/PokemonGoIV/9Load.vb index 2d54e2c..e120163 100644 --- a/PokemonGoIV/9Load.vb +++ b/PokemonGoIV/9Load.vb @@ -175,42 +175,60 @@ Function fnFindEvolveForms (mData () As Variant) As String Dim nJ As Integer, nStart As Integer, nEnd As Integer Dim sEvolveForms As String + ' Special cases + If mData (0) = "Oddish" Then + fnFindEvolveForms = "Array (""Gloom"", ""Vileplume"", ""Bellossom"")" + Exit Function + End If + If mData (0) = "Gloom" Then + fnFindEvolveForms = "Array (""Vileplume"", ""Bellossom"")" + Exit Function + End If + If mData (0) = "Slowpoke" Then + fnFindEvolveForms = "Array (""Slowbro"", ""Slowking"")" + Exit Function + End If + If mData (0) = "Tyrogue" Then + fnFindEvolveForms = "Array (""Hitmonlee"", ""Hitmonchan"", ""Hitmontop"")" + Exit Function + End If If mData (0) = "Eevee" Then - sEvolveForms = "Array (""Vaporeon"", ""Jolteon"", ""Flareon"")" + fnFindEvolveForms = "Array (""Vaporeon"", ""Jolteon"", ""Flareon"", ""Espeon"", ""Umbreon"")" + Exit Function + End If + + For nJ = 6 To 8 + If mData (nJ) = mData (0) Then + nStart = nJ + 1 + nJ = 9 + End If + Next nJ + If nStart = 9 Then + nEnd = 8 Else - For nJ = 6 To 8 - If mData (nJ) = mData (0) Then - nStart = nJ + 1 + For nJ = nStart To 8 + If mData (nJ) = "" Then + nEnd = nJ - 1 nJ = 9 + Else + If nJ = 8 Then + nEnd = 8 + nJ = 9 + End If End If Next nJ - If nStart = 9 Then - nEnd = 8 - Else - For nJ = nStart To 8 - If mData (nJ) = "" Then - nEnd = nJ - 1 - nJ = 9 - Else - If nJ = 8 Then - nEnd = 8 - nJ = 9 - End If - End If - Next nJ - End If - If nEnd = nStart - 1 Then - sEvolveForms = "Array ()" - Else - sEvolveForms = """" _ - & fnMapPokemonNameToId (mData (nStart)) & """" - For nJ = nStart + 1 To nEnd - sEvolveForms = sEvolveForms _ - & ", """ _ - & fnMapPokemonNameToId (mData (nJ)) & """" - Next nJ - sEvolveForms = "Array (" & sEvolveForms & ")" - End If + End If + If nEnd = nStart - 1 Then + sEvolveForms = "Array ()" + Else + sEvolveForms = """" _ + & fnMapPokemonNameToId (mData (nStart)) & """" + For nJ = nStart + 1 To nEnd + sEvolveForms = sEvolveForms _ + & ", """ _ + & fnMapPokemonNameToId (mData (nJ)) & """" + Next nJ + sEvolveForms = "Array (" & sEvolveForms & ")" End If fnFindEvolveForms = sEvolveForms End Function diff --git a/TODO b/TODO index 976eed6..7d37c53 100644 --- a/TODO +++ b/TODO @@ -1,7 +1,5 @@ PokemonGoIV TODO -* Update the Pokémon database for the complex evolution forms - like Eevee, Slowpoke, etc. * Center the dialog. * Pokémons that are not released in the game yet, so their image icons are missing. diff --git a/oxt/PokemonGoIV/3Data.xba b/oxt/PokemonGoIV/3Data.xba index 33bf0d7..3f69001 100644 --- a/oxt/PokemonGoIV/3Data.xba +++ b/oxt/PokemonGoIV/3Data.xba @@ -15,7 +15,7 @@ ' limitations under the License. ' 3Data: The Pokémon GO data for IV calculation -' by imacat <imacat@mail.imacat.idv.tw>, 2017-03-01 +' by imacat <imacat@mail.imacat.idv.tw>, 2017-06-08 ' Generated with 9Load.subReadDataSheets () Option Explicit @@ -65,8 +65,8 @@ Function fnGetBaseStatsData As Variant Array ("Wigglytuff", "040", 280, 156, 93, Array ()), _ Array ("Zubat", "041", 80, 83, 76, Array ("Golbat", "Crobat")), _ Array ("Golbat", "042", 150, 161, 153, Array ("Crobat")), _ - Array ("Oddish", "043", 90, 131, 116, Array ("Gloom", "Vileplume")), _ - Array ("Gloom", "044", 120, 153, 139, Array ("Vileplume")), _ + Array ("Oddish", "043", 90, 131, 116, Array ("Gloom", "Vileplume", "Bellossom")), _ + Array ("Gloom", "044", 120, 153, 139, Array ("Vileplume", "Bellossom")), _ Array ("Vileplume", "045", 150, 202, 170, Array ()), _ Array ("Paras", "046", 70, 121, 99, Array ("Parasect")), _ Array ("Parasect", "047", 120, 165, 146, Array ()), _ @@ -101,7 +101,7 @@ Function fnGetBaseStatsData As Variant Array ("Golem", "076", 160, 211, 229, Array ()), _ Array ("Ponyta", "077", 100, 170, 132, Array ("Rapidash")), _ Array ("Rapidash", "078", 130, 207, 167, Array ()), _ - Array ("Slowpoke", "079", 180, 109, 109, Array ("Slowbro")), _ + Array ("Slowpoke", "079", 180, 109, 109, Array ("Slowbro", "Slowking")), _ Array ("Slowbro", "080", 190, 177, 194, Array ()), _ Array ("Magnemite", "081", 50, 165, 128, Array ("Magneton")), _ Array ("Magneton", "082", 100, 223, 182, Array ()), _ @@ -155,7 +155,7 @@ Function fnGetBaseStatsData As Variant Array ("Gyarados", "130", 190, 237, 197, Array ()), _ Array ("Lapras", "131", 260, 186, 190, Array ()), _ Array ("Ditto", "132", 96, 91, 91, Array ()), _ - Array ("Eevee", "133", 110, 104, 121, Array ("Vaporeon", "Jolteon", "Flareon")), _ + Array ("Eevee", "133", 110, 104, 121, Array ("Vaporeon", "Jolteon", "Flareon", "Espeon", "Umbreon")), _ Array ("Vaporeon", "134", 260, 205, 177, Array ()), _ Array ("Jolteon", "135", 130, 232, 201, Array ()), _ Array ("Flareon", "136", 130, 246, 204, Array ()), _ @@ -258,7 +258,7 @@ Function fnGetBaseStatsData As Variant Array ("Porygon2", "233", 170, 198, 183, Array ()), _ Array ("Stantler", "234", 146, 192, 132, Array ()), _ Array ("Smeargle", "235", 110, 40, 88, Array ()), _ - Array ("Tyrogue", "236", 70, 64, 64, Array ("Hitmonlee")), _ + Array ("Tyrogue", "236", 70, 64, 64, Array ("Hitmonlee", "Hitmonchan", "Hitmontop")), _ Array ("Hitmontop", "237", 100, 173, 214, Array ()), _ Array ("Smoochum", "238", 90, 153, 116, Array ("Jynx")), _ Array ("Elekid", "239", 90, 135, 110, Array ("Electabuzz")), _ diff --git a/oxt/PokemonGoIV/9Load.xba b/oxt/PokemonGoIV/9Load.xba index f805f80..96a49a5 100644 --- a/oxt/PokemonGoIV/9Load.xba +++ b/oxt/PokemonGoIV/9Load.xba @@ -177,42 +177,60 @@ Function fnFindEvolveForms (mData () As Variant) As String Dim nJ As Integer, nStart As Integer, nEnd As Integer Dim sEvolveForms As String + ' Special cases + If mData (0) = "Oddish" Then + fnFindEvolveForms = "Array (""Gloom"", ""Vileplume"", ""Bellossom"")" + Exit Function + End If + If mData (0) = "Gloom" Then + fnFindEvolveForms = "Array (""Vileplume"", ""Bellossom"")" + Exit Function + End If + If mData (0) = "Slowpoke" Then + fnFindEvolveForms = "Array (""Slowbro"", ""Slowking"")" + Exit Function + End If + If mData (0) = "Tyrogue" Then + fnFindEvolveForms = "Array (""Hitmonlee"", ""Hitmonchan"", ""Hitmontop"")" + Exit Function + End If If mData (0) = "Eevee" Then - sEvolveForms = "Array (""Vaporeon"", ""Jolteon"", ""Flareon"")" + fnFindEvolveForms = "Array (""Vaporeon"", ""Jolteon"", ""Flareon"", ""Espeon"", ""Umbreon"")" + Exit Function + End If + + For nJ = 6 To 8 + If mData (nJ) = mData (0) Then + nStart = nJ + 1 + nJ = 9 + End If + Next nJ + If nStart = 9 Then + nEnd = 8 Else - For nJ = 6 To 8 - If mData (nJ) = mData (0) Then - nStart = nJ + 1 + For nJ = nStart To 8 + If mData (nJ) = "" Then + nEnd = nJ - 1 nJ = 9 + Else + If nJ = 8 Then + nEnd = 8 + nJ = 9 + End If End If Next nJ - If nStart = 9 Then - nEnd = 8 - Else - For nJ = nStart To 8 - If mData (nJ) = "" Then - nEnd = nJ - 1 - nJ = 9 - Else - If nJ = 8 Then - nEnd = 8 - nJ = 9 - End If - End If - Next nJ - End If - If nEnd = nStart - 1 Then - sEvolveForms = "Array ()" - Else - sEvolveForms = """" _ - & fnMapPokemonNameToId (mData (nStart)) & """" - For nJ = nStart + 1 To nEnd - sEvolveForms = sEvolveForms _ - & ", """ _ - & fnMapPokemonNameToId (mData (nJ)) & """" - Next nJ - sEvolveForms = "Array (" & sEvolveForms & ")" - End If + End If + If nEnd = nStart - 1 Then + sEvolveForms = "Array ()" + Else + sEvolveForms = """" _ + & fnMapPokemonNameToId (mData (nStart)) & """" + For nJ = nStart + 1 To nEnd + sEvolveForms = sEvolveForms _ + & ", """ _ + & fnMapPokemonNameToId (mData (nJ)) & """" + Next nJ + sEvolveForms = "Array (" & sEvolveForms & ")" End If fnFindEvolveForms = sEvolveForms End Function