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.
' 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
@ -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")), _

View File

@ -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

2
TODO
View File

@ -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.

View File

@ -15,7 +15,7 @@
&apos; limitations under the License.
&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 ()
Option Explicit
@ -65,8 +65,8 @@ Function fnGetBaseStatsData As Variant
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;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;Gloom&quot;, &quot;044&quot;, 120, 153, 139, Array (&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;, &quot;Bellossom&quot;)), _
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;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;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;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;Magnemite&quot;, &quot;081&quot;, 50, 165, 128, Array (&quot;Magneton&quot;)), _
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;Lapras&quot;, &quot;131&quot;, 260, 186, 190, 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;Jolteon&quot;, &quot;135&quot;, 130, 232, 201, 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;Stantler&quot;, &quot;234&quot;, 146, 192, 132, 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;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;)), _

View File

@ -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
&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
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
For nJ = 6 To 8
If mData (nJ) = mData (0) Then
nStart = nJ + 1
For nJ = nStart To 8
If mData (nJ) = &quot;&quot; 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) = &quot;&quot; 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 = &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
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
fnFindEvolveForms = sEvolveForms
End Function