Updated the Pokémon database for the complex evolvement paths of Oddish, Gloom, Slowpoke, Tyrogue, and Eevee.

This commit is contained in:
依瑪貓 2017-06-08 23:54:51 +08:00
parent 798dc52517
commit bc2313ec53
5 changed files with 110 additions and 76 deletions

View File

@ -13,7 +13,7 @@
' limitations under the License. ' limitations under the License.
' 3Data: The Pokémon GO data for IV calculation ' 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 () ' Generated with 9Load.subReadDataSheets ()
Option Explicit Option Explicit
@ -63,8 +63,8 @@ Function fnGetBaseStatsData As Variant
Array ("Wigglytuff", "040", 280, 156, 93, Array ()), _ Array ("Wigglytuff", "040", 280, 156, 93, Array ()), _
Array ("Zubat", "041", 80, 83, 76, Array ("Golbat", "Crobat")), _ Array ("Zubat", "041", 80, 83, 76, Array ("Golbat", "Crobat")), _
Array ("Golbat", "042", 150, 161, 153, Array ("Crobat")), _ Array ("Golbat", "042", 150, 161, 153, Array ("Crobat")), _
Array ("Oddish", "043", 90, 131, 116, Array ("Gloom", "Vileplume")), _ Array ("Oddish", "043", 90, 131, 116, Array ("Gloom", "Vileplume", "Bellossom")), _
Array ("Gloom", "044", 120, 153, 139, Array ("Vileplume")), _ Array ("Gloom", "044", 120, 153, 139, Array ("Vileplume", "Bellossom")), _
Array ("Vileplume", "045", 150, 202, 170, Array ()), _ Array ("Vileplume", "045", 150, 202, 170, Array ()), _
Array ("Paras", "046", 70, 121, 99, Array ("Parasect")), _ Array ("Paras", "046", 70, 121, 99, Array ("Parasect")), _
Array ("Parasect", "047", 120, 165, 146, Array ()), _ Array ("Parasect", "047", 120, 165, 146, Array ()), _
@ -99,7 +99,7 @@ Function fnGetBaseStatsData As Variant
Array ("Golem", "076", 160, 211, 229, Array ()), _ Array ("Golem", "076", 160, 211, 229, Array ()), _
Array ("Ponyta", "077", 100, 170, 132, Array ("Rapidash")), _ Array ("Ponyta", "077", 100, 170, 132, Array ("Rapidash")), _
Array ("Rapidash", "078", 130, 207, 167, Array ()), _ 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 ("Slowbro", "080", 190, 177, 194, Array ()), _
Array ("Magnemite", "081", 50, 165, 128, Array ("Magneton")), _ Array ("Magnemite", "081", 50, 165, 128, Array ("Magneton")), _
Array ("Magneton", "082", 100, 223, 182, Array ()), _ Array ("Magneton", "082", 100, 223, 182, Array ()), _
@ -153,7 +153,7 @@ Function fnGetBaseStatsData As Variant
Array ("Gyarados", "130", 190, 237, 197, Array ()), _ Array ("Gyarados", "130", 190, 237, 197, Array ()), _
Array ("Lapras", "131", 260, 186, 190, Array ()), _ Array ("Lapras", "131", 260, 186, 190, Array ()), _
Array ("Ditto", "132", 96, 91, 91, 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 ("Vaporeon", "134", 260, 205, 177, Array ()), _
Array ("Jolteon", "135", 130, 232, 201, Array ()), _ Array ("Jolteon", "135", 130, 232, 201, Array ()), _
Array ("Flareon", "136", 130, 246, 204, Array ()), _ Array ("Flareon", "136", 130, 246, 204, Array ()), _
@ -256,7 +256,7 @@ Function fnGetBaseStatsData As Variant
Array ("Porygon2", "233", 170, 198, 183, Array ()), _ Array ("Porygon2", "233", 170, 198, 183, Array ()), _
Array ("Stantler", "234", 146, 192, 132, Array ()), _ Array ("Stantler", "234", 146, 192, 132, Array ()), _
Array ("Smeargle", "235", 110, 40, 88, 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 ("Hitmontop", "237", 100, 173, 214, Array ()), _
Array ("Smoochum", "238", 90, 153, 116, Array ("Jynx")), _ Array ("Smoochum", "238", 90, 153, 116, Array ("Jynx")), _
Array ("Elekid", "239", 90, 135, 110, Array ("Electabuzz")), _ Array ("Elekid", "239", 90, 135, 110, Array ("Electabuzz")), _

View File

@ -175,42 +175,60 @@ Function fnFindEvolveForms (mData () As Variant) As String
Dim nJ As Integer, nStart As Integer, nEnd As Integer Dim nJ As Integer, nStart As Integer, nEnd As Integer
Dim sEvolveForms As String 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 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 Else
For nJ = 6 To 8 For nJ = nStart To 8
If mData (nJ) = mData (0) Then If mData (nJ) = "" Then
nStart = nJ + 1 nEnd = nJ - 1
nJ = 9 nJ = 9
Else
If nJ = 8 Then
nEnd = 8
nJ = 9
End If
End If End If
Next nJ Next nJ
If nStart = 9 Then End If
nEnd = 8 If nEnd = nStart - 1 Then
Else sEvolveForms = "Array ()"
For nJ = nStart To 8 Else
If mData (nJ) = "" Then sEvolveForms = """" _
nEnd = nJ - 1 & fnMapPokemonNameToId (mData (nStart)) & """"
nJ = 9 For nJ = nStart + 1 To nEnd
Else sEvolveForms = sEvolveForms _
If nJ = 8 Then & ", """ _
nEnd = 8 & fnMapPokemonNameToId (mData (nJ)) & """"
nJ = 9 Next nJ
End If sEvolveForms = "Array (" & sEvolveForms & ")"
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 End If
fnFindEvolveForms = sEvolveForms fnFindEvolveForms = sEvolveForms
End Function End Function

2
TODO
View File

@ -1,7 +1,5 @@
PokemonGoIV TODO PokemonGoIV TODO
* Update the Pokémon database for the complex evolution forms
like Eevee, Slowpoke, etc.
* Center the dialog. * Center the dialog.
* Pokémons that are not released in the game yet, so their image * Pokémons that are not released in the game yet, so their image
icons are missing. icons are missing.

View File

@ -15,7 +15,7 @@
&apos; limitations under the License. &apos; limitations under the License.
&apos; 3Data: The Pokémon GO data for IV calculation &apos; 3Data: The Pokémon GO data for IV calculation
&apos; by imacat &lt;imacat@mail.imacat.idv.tw&gt;, 2017-03-01 &apos; by imacat &lt;imacat@mail.imacat.idv.tw&gt;, 2017-06-08
&apos; Generated with 9Load.subReadDataSheets () &apos; Generated with 9Load.subReadDataSheets ()
Option Explicit Option Explicit
@ -65,8 +65,8 @@ Function fnGetBaseStatsData As Variant
Array (&quot;Wigglytuff&quot;, &quot;040&quot;, 280, 156, 93, Array ()), _ Array (&quot;Wigglytuff&quot;, &quot;040&quot;, 280, 156, 93, Array ()), _
Array (&quot;Zubat&quot;, &quot;041&quot;, 80, 83, 76, Array (&quot;Golbat&quot;, &quot;Crobat&quot;)), _ Array (&quot;Zubat&quot;, &quot;041&quot;, 80, 83, 76, Array (&quot;Golbat&quot;, &quot;Crobat&quot;)), _
Array (&quot;Golbat&quot;, &quot;042&quot;, 150, 161, 153, Array (&quot;Crobat&quot;)), _ Array (&quot;Golbat&quot;, &quot;042&quot;, 150, 161, 153, Array (&quot;Crobat&quot;)), _
Array (&quot;Oddish&quot;, &quot;043&quot;, 90, 131, 116, Array (&quot;Gloom&quot;, &quot;Vileplume&quot;)), _ Array (&quot;Oddish&quot;, &quot;043&quot;, 90, 131, 116, Array (&quot;Gloom&quot;, &quot;Vileplume&quot;, &quot;Bellossom&quot;)), _
Array (&quot;Gloom&quot;, &quot;044&quot;, 120, 153, 139, Array (&quot;Vileplume&quot;)), _ Array (&quot;Gloom&quot;, &quot;044&quot;, 120, 153, 139, Array (&quot;Vileplume&quot;, &quot;Bellossom&quot;)), _
Array (&quot;Vileplume&quot;, &quot;045&quot;, 150, 202, 170, Array ()), _ Array (&quot;Vileplume&quot;, &quot;045&quot;, 150, 202, 170, Array ()), _
Array (&quot;Paras&quot;, &quot;046&quot;, 70, 121, 99, Array (&quot;Parasect&quot;)), _ Array (&quot;Paras&quot;, &quot;046&quot;, 70, 121, 99, Array (&quot;Parasect&quot;)), _
Array (&quot;Parasect&quot;, &quot;047&quot;, 120, 165, 146, Array ()), _ Array (&quot;Parasect&quot;, &quot;047&quot;, 120, 165, 146, Array ()), _
@ -101,7 +101,7 @@ Function fnGetBaseStatsData As Variant
Array (&quot;Golem&quot;, &quot;076&quot;, 160, 211, 229, Array ()), _ Array (&quot;Golem&quot;, &quot;076&quot;, 160, 211, 229, Array ()), _
Array (&quot;Ponyta&quot;, &quot;077&quot;, 100, 170, 132, Array (&quot;Rapidash&quot;)), _ Array (&quot;Ponyta&quot;, &quot;077&quot;, 100, 170, 132, Array (&quot;Rapidash&quot;)), _
Array (&quot;Rapidash&quot;, &quot;078&quot;, 130, 207, 167, Array ()), _ Array (&quot;Rapidash&quot;, &quot;078&quot;, 130, 207, 167, Array ()), _
Array (&quot;Slowpoke&quot;, &quot;079&quot;, 180, 109, 109, Array (&quot;Slowbro&quot;)), _ Array (&quot;Slowpoke&quot;, &quot;079&quot;, 180, 109, 109, Array (&quot;Slowbro&quot;, &quot;Slowking&quot;)), _
Array (&quot;Slowbro&quot;, &quot;080&quot;, 190, 177, 194, Array ()), _ Array (&quot;Slowbro&quot;, &quot;080&quot;, 190, 177, 194, Array ()), _
Array (&quot;Magnemite&quot;, &quot;081&quot;, 50, 165, 128, Array (&quot;Magneton&quot;)), _ Array (&quot;Magnemite&quot;, &quot;081&quot;, 50, 165, 128, Array (&quot;Magneton&quot;)), _
Array (&quot;Magneton&quot;, &quot;082&quot;, 100, 223, 182, Array ()), _ Array (&quot;Magneton&quot;, &quot;082&quot;, 100, 223, 182, Array ()), _
@ -155,7 +155,7 @@ Function fnGetBaseStatsData As Variant
Array (&quot;Gyarados&quot;, &quot;130&quot;, 190, 237, 197, Array ()), _ Array (&quot;Gyarados&quot;, &quot;130&quot;, 190, 237, 197, Array ()), _
Array (&quot;Lapras&quot;, &quot;131&quot;, 260, 186, 190, Array ()), _ Array (&quot;Lapras&quot;, &quot;131&quot;, 260, 186, 190, Array ()), _
Array (&quot;Ditto&quot;, &quot;132&quot;, 96, 91, 91, Array ()), _ Array (&quot;Ditto&quot;, &quot;132&quot;, 96, 91, 91, Array ()), _
Array (&quot;Eevee&quot;, &quot;133&quot;, 110, 104, 121, Array (&quot;Vaporeon&quot;, &quot;Jolteon&quot;, &quot;Flareon&quot;)), _ Array (&quot;Eevee&quot;, &quot;133&quot;, 110, 104, 121, Array (&quot;Vaporeon&quot;, &quot;Jolteon&quot;, &quot;Flareon&quot;, &quot;Espeon&quot;, &quot;Umbreon&quot;)), _
Array (&quot;Vaporeon&quot;, &quot;134&quot;, 260, 205, 177, Array ()), _ Array (&quot;Vaporeon&quot;, &quot;134&quot;, 260, 205, 177, Array ()), _
Array (&quot;Jolteon&quot;, &quot;135&quot;, 130, 232, 201, Array ()), _ Array (&quot;Jolteon&quot;, &quot;135&quot;, 130, 232, 201, Array ()), _
Array (&quot;Flareon&quot;, &quot;136&quot;, 130, 246, 204, Array ()), _ Array (&quot;Flareon&quot;, &quot;136&quot;, 130, 246, 204, Array ()), _
@ -258,7 +258,7 @@ Function fnGetBaseStatsData As Variant
Array (&quot;Porygon2&quot;, &quot;233&quot;, 170, 198, 183, Array ()), _ Array (&quot;Porygon2&quot;, &quot;233&quot;, 170, 198, 183, Array ()), _
Array (&quot;Stantler&quot;, &quot;234&quot;, 146, 192, 132, Array ()), _ Array (&quot;Stantler&quot;, &quot;234&quot;, 146, 192, 132, Array ()), _
Array (&quot;Smeargle&quot;, &quot;235&quot;, 110, 40, 88, Array ()), _ Array (&quot;Smeargle&quot;, &quot;235&quot;, 110, 40, 88, Array ()), _
Array (&quot;Tyrogue&quot;, &quot;236&quot;, 70, 64, 64, Array (&quot;Hitmonlee&quot;)), _ Array (&quot;Tyrogue&quot;, &quot;236&quot;, 70, 64, 64, Array (&quot;Hitmonlee&quot;, &quot;Hitmonchan&quot;, &quot;Hitmontop&quot;)), _
Array (&quot;Hitmontop&quot;, &quot;237&quot;, 100, 173, 214, Array ()), _ Array (&quot;Hitmontop&quot;, &quot;237&quot;, 100, 173, 214, Array ()), _
Array (&quot;Smoochum&quot;, &quot;238&quot;, 90, 153, 116, Array (&quot;Jynx&quot;)), _ Array (&quot;Smoochum&quot;, &quot;238&quot;, 90, 153, 116, Array (&quot;Jynx&quot;)), _
Array (&quot;Elekid&quot;, &quot;239&quot;, 90, 135, 110, Array (&quot;Electabuzz&quot;)), _ Array (&quot;Elekid&quot;, &quot;239&quot;, 90, 135, 110, Array (&quot;Electabuzz&quot;)), _

View File

@ -177,42 +177,60 @@ Function fnFindEvolveForms (mData () As Variant) As String
Dim nJ As Integer, nStart As Integer, nEnd As Integer Dim nJ As Integer, nStart As Integer, nEnd As Integer
Dim sEvolveForms As String Dim sEvolveForms As String
&apos; Special cases
If mData (0) = &quot;Oddish&quot; Then
fnFindEvolveForms = &quot;Array (&quot;&quot;Gloom&quot;&quot;, &quot;&quot;Vileplume&quot;&quot;, &quot;&quot;Bellossom&quot;&quot;)&quot;
Exit Function
End If
If mData (0) = &quot;Gloom&quot; Then
fnFindEvolveForms = &quot;Array (&quot;&quot;Vileplume&quot;&quot;, &quot;&quot;Bellossom&quot;&quot;)&quot;
Exit Function
End If
If mData (0) = &quot;Slowpoke&quot; Then
fnFindEvolveForms = &quot;Array (&quot;&quot;Slowbro&quot;&quot;, &quot;&quot;Slowking&quot;&quot;)&quot;
Exit Function
End If
If mData (0) = &quot;Tyrogue&quot; Then
fnFindEvolveForms = &quot;Array (&quot;&quot;Hitmonlee&quot;&quot;, &quot;&quot;Hitmonchan&quot;&quot;, &quot;&quot;Hitmontop&quot;&quot;)&quot;
Exit Function
End If
If mData (0) = &quot;Eevee&quot; Then If mData (0) = &quot;Eevee&quot; Then
sEvolveForms = &quot;Array (&quot;&quot;Vaporeon&quot;&quot;, &quot;&quot;Jolteon&quot;&quot;, &quot;&quot;Flareon&quot;&quot;)&quot; fnFindEvolveForms = &quot;Array (&quot;&quot;Vaporeon&quot;&quot;, &quot;&quot;Jolteon&quot;&quot;, &quot;&quot;Flareon&quot;&quot;, &quot;&quot;Espeon&quot;&quot;, &quot;&quot;Umbreon&quot;&quot;)&quot;
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 Else
For nJ = 6 To 8 For nJ = nStart To 8
If mData (nJ) = mData (0) Then If mData (nJ) = &quot;&quot; Then
nStart = nJ + 1 nEnd = nJ - 1
nJ = 9 nJ = 9
Else
If nJ = 8 Then
nEnd = 8
nJ = 9
End If
End If End If
Next nJ Next nJ
If nStart = 9 Then End If
nEnd = 8 If nEnd = nStart - 1 Then
Else sEvolveForms = &quot;Array ()&quot;
For nJ = nStart To 8 Else
If mData (nJ) = &quot;&quot; Then sEvolveForms = &quot;&quot;&quot;&quot; _
nEnd = nJ - 1 &amp; fnMapPokemonNameToId (mData (nStart)) &amp; &quot;&quot;&quot;&quot;
nJ = 9 For nJ = nStart + 1 To nEnd
Else sEvolveForms = sEvolveForms _
If nJ = 8 Then &amp; &quot;, &quot;&quot;&quot; _
nEnd = 8 &amp; fnMapPokemonNameToId (mData (nJ)) &amp; &quot;&quot;&quot;&quot;
nJ = 9 Next nJ
End If sEvolveForms = &quot;Array (&quot; &amp; sEvolveForms &amp; &quot;)&quot;
End If
Next nJ
End If
If nEnd = nStart - 1 Then
sEvolveForms = &quot;Array ()&quot;
Else
sEvolveForms = &quot;&quot;&quot;&quot; _
&amp; fnMapPokemonNameToId (mData (nStart)) &amp; &quot;&quot;&quot;&quot;
For nJ = nStart + 1 To nEnd
sEvolveForms = sEvolveForms _
&amp; &quot;, &quot;&quot;&quot; _
&amp; fnMapPokemonNameToId (mData (nJ)) &amp; &quot;&quot;&quot;&quot;
Next nJ
sEvolveForms = &quot;Array (&quot; &amp; sEvolveForms &amp; &quot;)&quot;
End If
End If End If
fnFindEvolveForms = sEvolveForms fnFindEvolveForms = sEvolveForms
End Function End Function