* Added Pokémons from Johto region (generation 2), whose ID are from 152 to 251, without images yet.

* Moved fnMapPokemonNameToId from 0Main to 9Load, because it is only used in 9Load.
* Separated sPokemonId from sPokemonName in the data structure, to fix the confusion for Farfetch'd, Nidoran♀, Nidoran♂, and Mr. Mime.
* Advanced to 0.4.0.
* Updated the update information.
This commit is contained in:
依瑪貓 2017-03-01 23:11:17 +08:00
parent 98069f942c
commit f0c756b917
15 changed files with 1046 additions and 101 deletions

View File

@ -20,7 +20,7 @@ Option Explicit
' The base stats of a Pokémon. ' The base stats of a Pokémon.
Type aStats Type aStats
sNo As String sNo As String
sPokemon As String sPokemonId As String
nStamina As Integer nStamina As Integer
nAttack As Integer nAttack As Integer
nDefense As Integer nDefense As Integer
@ -46,7 +46,8 @@ End Type
' The parameters to find the individual values. ' The parameters to find the individual values.
Type aFindIVParam Type aFindIVParam
sPokemon As String sPokemonId As String
sPokemonName As String
nCP As Integer nCP As Integer
nHP As Integer nHP As Integer
nStardust As Integer nStardust As Integer
@ -70,7 +71,7 @@ Sub subMain
If aQuery.bIsCancelled Then If aQuery.bIsCancelled Then
Exit Sub Exit Sub
End If End If
aBaseStats = fnGetBaseStats (aQuery.sPokemon) aBaseStats = fnGetBaseStats (aQuery.sPokemonId)
maIVs = fnFindIV (aBaseStats, aQuery) maIVs = fnFindIV (aBaseStats, aQuery)
If UBound (maIVs) = -1 Then If UBound (maIVs) = -1 Then
MsgBox fnGetResString ("ErrorNotFound") MsgBox fnGetResString ("ErrorNotFound")
@ -85,7 +86,7 @@ Function fnAskParam As aFindIVParam
Dim oList As Object, mPokemons () As String, nI As Integer Dim oList As Object, mPokemons () As String, nI As Integer
Dim bIsBestAttack As Boolean, bIsBestDefense As Boolean Dim bIsBestAttack As Boolean, bIsBestDefense As Boolean
Dim bIsBestHP As Boolean Dim bIsBestHP As Boolean
Dim aQuery As New aFindIVParam Dim aQuery As New aFindIVParam, nSelected As Integer
oDialog = fnLoadParamDialog oDialog = fnLoadParamDialog
If oDialog.execute = 0 Then If oDialog.execute = 0 Then
@ -94,8 +95,11 @@ Function fnAskParam As aFindIVParam
Exit Function Exit Function
End If End If
subReadBaseStats
nSelected = oDialog.getControl ("lstPokemon").getSelectedItemPos
With aQuery With aQuery
.sPokemon = oDialog.getControl ("lstPokemon").getSelectedItem .sPokemonId = maBaseStats (nSelected).sPokemonId
.sPokemonName = oDialog.getControl ("lstPokemon").getSelectedItem
.nCP = oDialog.getControl ("numCP").getValue .nCP = oDialog.getControl ("numCP").getValue
.nHP = oDialog.getControl ("numHP").getValue .nHP = oDialog.getControl ("numHP").getValue
.nStardust = CInt (oDialog.getControl ("lstStardust").getSelectedItem) .nStardust = CInt (oDialog.getControl ("lstStardust").getSelectedItem)
@ -166,7 +170,7 @@ Function fnFindIV ( _
Dim nI As Integer, nJ As Integer Dim nI As Integer, nJ As Integer
Dim fStep As Double, nN As Integer Dim fStep As Double, nN As Integer
If aQuery.sPokemon = "" Then If aQuery.sPokemonId = "" Then
fnFindIV = maIV fnFindIV = maIV
Exit Function Exit Function
End If End If
@ -347,7 +351,7 @@ Sub subSaveIV ( _
"No", "Pokemon", "CP", "HP", "Stardust", _ "No", "Pokemon", "CP", "HP", "Stardust", _
"Lv", "Atk", "Def", "Sta", "IV") "Lv", "Atk", "Def", "Sta", "IV")
nFront = UBound (mRow) nFront = UBound (mRow)
If aQuery.sPokemon = "Eevee" Then If aQuery.sPokemonId = "Eevee" Then
If aQuery.nPlayerLevel <> 0 Then If aQuery.nPlayerLevel <> 0 Then
ReDim Preserve mRow (nFront + 6) As Variant ReDim Preserve mRow (nFront + 6) As Variant
mRow (nFront + 1) = "CP as " _ mRow (nFront + 1) = "CP as " _
@ -403,7 +407,7 @@ Sub subSaveIV ( _
maIVs (nI).fLevel, maIVs (nI).nAttack, _ maIVs (nI).fLevel, maIVs (nI).nAttack, _
maIVs (nI).nDefense, maIVs (nI).nStamina, _ maIVs (nI).nDefense, maIVs (nI).nStamina, _
maIVs (nI).nTotal / 45) maIVs (nI).nTotal / 45)
If aQuery.sPokemon = "Eevee" Then If aQuery.sPokemonId = "Eevee" Then
If aQuery.nPlayerLevel <> 0 Then If aQuery.nPlayerLevel <> 0 Then
ReDim Preserve mRow (nFront + 6) As Variant ReDim Preserve mRow (nFront + 6) As Variant
mRow (nFront + 1) = maIVs (nI).maEvolved (0).nCP mRow (nFront + 1) = maIVs (nI).maEvolved (0).nCP
@ -444,7 +448,7 @@ Sub subSaveIV ( _
' Fills the query information at the first row ' Fills the query information at the first row
mData (1) (0) = aBaseStats.sNo mData (1) (0) = aBaseStats.sNo
mData (1) (1) = aQuery.sPokemon mData (1) (1) = aQuery.sPokemonName
mData (1) (2) = aQuery.nCP mData (1) (2) = aQuery.nCP
mData (1) (3) = aQuery.nHP mData (1) (3) = aQuery.nHP
mData (1) (4) = aQuery.nStardust mData (1) (4) = aQuery.nStardust
@ -474,7 +478,7 @@ Sub subSaveIV ( _
9, 1, 9, UBound (mData)) 9, 1, 9, UBound (mData))
oRange.setPropertyValue ("NumberFormat", 10) oRange.setPropertyValue ("NumberFormat", 10)
If aQuery.sPokemon = "Eevee" Then If aQuery.sPokemonId = "Eevee" Then
oRange = oSheet.getCellRangeByPosition ( _ oRange = oSheet.getCellRangeByPosition ( _
10, 0, 15, 0) 10, 0, 15, 0)
Else Else
@ -501,7 +505,7 @@ Sub subSaveIV ( _
oColumns.getByIndex (7).setPropertyValue ("Width", 860) oColumns.getByIndex (7).setPropertyValue ("Width", 860)
oColumns.getByIndex (8).setPropertyValue ("Width", 860) oColumns.getByIndex (8).setPropertyValue ("Width", 860)
oColumns.getByIndex (9).setPropertyValue ("Width", 1030) oColumns.getByIndex (9).setPropertyValue ("Width", 1030)
If aQuery.sPokemon = "Eevee" Then If aQuery.sPokemonId = "Eevee" Then
If aQuery.nPlayerLevel <> 0 Then If aQuery.nPlayerLevel <> 0 Then
For nI = 0 To 5 Step 2 For nI = 0 To 5 Step 2
oColumns.getByIndex (10 + nI).setPropertyValue ( _ oColumns.getByIndex (10 + nI).setPropertyValue ( _
@ -633,12 +637,12 @@ Function fnCalcHP (aBaseStats As aStats, _
End Function End Function
' fnGetBaseStats: Returns the base stats of the Pokémon. ' fnGetBaseStats: Returns the base stats of the Pokémon.
Function fnGetBaseStats (sPokemon As String) As aStats Function fnGetBaseStats (sPokemonId As String) As aStats
Dim nI As Integer Dim nI As Integer
subReadBaseStats subReadBaseStats
For nI = 0 To UBound (maBaseStats) For nI = 0 To UBound (maBaseStats)
If maBaseStats (nI).sPokemon = sPokemon Then If maBaseStats (nI).sPokemonId = sPokemonId Then
fnGetBaseStats = maBaseStats (nI) fnGetBaseStats = maBaseStats (nI)
Exit Function Exit Function
End If End If
@ -663,29 +667,6 @@ Function fnFloor (fNumber As Double) As Integer
fnFloor = CInt (fNumber - 0.5) fnFloor = CInt (fNumber - 0.5)
End Function End Function
' fnMapPokemonNameToId: Maps the English Pokémon names to their IDs.
Function fnMapPokemonNameToId (sName As String) As String
Dim sId As String
sId = ""
If sName = "Farfetch'd" Then
sId = "Farfetchd"
End If
If sName = "Nidoran♀" Then
sId = "NidoranFemale"
End If
If sName = "Nidoran♂" Then
sId = "NidoranMale"
End If
If sName = "Mr. Mime" Then
sId = "MrMime"
End If
If sId = "" Then
sId = sName
End If
fnMapPokemonNameToId = sId
End Function
' fnMapPokemonIdToName: Maps the Pokémon IDs to their localized names. ' fnMapPokemonIdToName: Maps the Pokémon IDs to their localized names.
Function fnMapPokemonIdToName (sId As String) As String Function fnMapPokemonIdToName (sId As String) As String
fnMapPokemonIdToName = fnGetResString ("Pokemon" & sId) fnMapPokemonIdToName = fnGetResString ("Pokemon" & sId)
@ -702,7 +683,7 @@ Sub subReadBaseStats
For nI = 0 To UBound (mData) For nI = 0 To UBound (mData)
With maBaseStats (nI) With maBaseStats (nI)
.sNo = mData (nI) (1) .sNo = mData (nI) (1)
.sPokemon = mData (nI) (0) .sPokemonId = mData (nI) (0)
.nStamina = mData (nI) (2) .nStamina = mData (nI) (2)
.nAttack = mData (nI) (3) .nAttack = mData (nI) (3)
.nDefense = mData (nI) (4) .nDefense = mData (nI) (4)

View File

@ -72,7 +72,7 @@ Sub subLstPokemonSelected (oEvent As object)
' Updates the Pokémon image. ' Updates the Pokémon image.
nSelected = oDialog.getControl ("lstPokemon").getSelectedItemPos nSelected = oDialog.getControl ("lstPokemon").getSelectedItemPos
subReadBaseStats subReadBaseStats
sImageId = "Pokemon" & maBaseStats (nSelected).sPokemon sImageId = "Pokemon" & maBaseStats (nSelected).sPokemonId
oImageModel = oDialog.getControl ("imgPokemon").getModel oImageModel = oDialog.getControl ("imgPokemon").getModel
oImageModel.setPropertyValue ("ImageURL", _ oImageModel.setPropertyValue ("ImageURL", _
fnGetImageUrl (sImageId)) fnGetImageUrl (sImageId))

View File

@ -13,7 +13,7 @@
' limitations under the License. ' limitations under the License.
' 2Data: The Pokémon GO data for IV calculation ' 2Data: The Pokémon GO data for IV calculation
' by imacat <imacat@mail.imacat.idv.tw>, 2017-02-14 ' by imacat <imacat@mail.imacat.idv.tw>, 2017-03-01
' Generated with 9Load.subReadDataSheets () ' Generated with 9Load.subReadDataSheets ()
Option Explicit Option Explicit
@ -61,8 +61,8 @@ Function fnGetBaseStatsData As Variant
Array ("Ninetales", "038", 146, 169, 204, Array ()), _ Array ("Ninetales", "038", 146, 169, 204, Array ()), _
Array ("Jigglypuff", "039", 230, 80, 44, Array ("Wigglytuff")), _ Array ("Jigglypuff", "039", 230, 80, 44, Array ("Wigglytuff")), _
Array ("Wigglytuff", "040", 280, 156, 93, Array ()), _ Array ("Wigglytuff", "040", 280, 156, 93, Array ()), _
Array ("Zubat", "041", 80, 83, 76, Array ("Golbat")), _ Array ("Zubat", "041", 80, 83, 76, Array ("Golbat", "Crobat")), _
Array ("Golbat", "042", 150, 161, 153, Array ()), _ 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")), _
Array ("Gloom", "044", 120, 153, 139, Array ("Vileplume")), _ Array ("Gloom", "044", 120, 153, 139, Array ("Vileplume")), _
Array ("Vileplume", "045", 150, 202, 170, Array ()), _ Array ("Vileplume", "045", 150, 202, 170, Array ()), _
@ -115,7 +115,7 @@ Function fnGetBaseStatsData As Variant
Array ("Gastly", "092", 60, 186, 70, Array ("Haunter", "Gengar")), _ Array ("Gastly", "092", 60, 186, 70, Array ("Haunter", "Gengar")), _
Array ("Haunter", "093", 90, 223, 112, Array ("Gengar")), _ Array ("Haunter", "093", 90, 223, 112, Array ("Gengar")), _
Array ("Gengar", "094", 120, 261, 156, Array ()), _ Array ("Gengar", "094", 120, 261, 156, Array ()), _
Array ("Onix", "095", 70, 85, 288, Array ()), _ Array ("Onix", "095", 70, 85, 288, Array ("Steelix")), _
Array ("Drowzee", "096", 120, 89, 158, Array ("Hypno")), _ Array ("Drowzee", "096", 120, 89, 158, Array ("Hypno")), _
Array ("Hypno", "097", 170, 144, 215, Array ()), _ Array ("Hypno", "097", 170, 144, 215, Array ()), _
Array ("Krabby", "098", 60, 181, 156, Array ("Kingler")), _ Array ("Krabby", "098", 60, 181, 156, Array ("Kingler")), _
@ -133,17 +133,17 @@ Function fnGetBaseStatsData As Variant
Array ("Weezing", "110", 130, 174, 221, Array ()), _ Array ("Weezing", "110", 130, 174, 221, Array ()), _
Array ("Rhyhorn", "111", 160, 140, 157, Array ("Rhydon")), _ Array ("Rhyhorn", "111", 160, 140, 157, Array ("Rhydon")), _
Array ("Rhydon", "112", 210, 222, 206, Array ()), _ Array ("Rhydon", "112", 210, 222, 206, Array ()), _
Array ("Chansey", "113", 500, 60, 176, Array ()), _ Array ("Chansey", "113", 500, 60, 176, Array ("Blissey")), _
Array ("Tangela", "114", 130, 183, 205, Array ()), _ Array ("Tangela", "114", 130, 183, 205, Array ()), _
Array ("Kangaskhan", "115", 210, 181, 165, Array ()), _ Array ("Kangaskhan", "115", 210, 181, 165, Array ()), _
Array ("Horsea", "116", 60, 129, 125, Array ("Seadra")), _ Array ("Horsea", "116", 60, 129, 125, Array ("Seadra", "Kingdra")), _
Array ("Seadra", "117", 110, 187, 182, Array ()), _ Array ("Seadra", "117", 110, 187, 182, Array ("Kingdra")), _
Array ("Goldeen", "118", 90, 123, 115, Array ("Seaking")), _ Array ("Goldeen", "118", 90, 123, 115, Array ("Seaking")), _
Array ("Seaking", "119", 160, 175, 154, Array ()), _ Array ("Seaking", "119", 160, 175, 154, Array ()), _
Array ("Staryu", "120", 60, 137, 112, Array ("Starmie")), _ Array ("Staryu", "120", 60, 137, 112, Array ("Starmie")), _
Array ("Starmie", "121", 120, 210, 184, Array ()), _ Array ("Starmie", "121", 120, 210, 184, Array ()), _
Array ("MrMime", "122", 80, 192, 233, Array ()), _ Array ("MrMime", "122", 80, 192, 233, Array ()), _
Array ("Scyther", "123", 140, 218, 170, Array ()), _ Array ("Scyther", "123", 140, 218, 170, Array ("Scizor")), _
Array ("Jynx", "124", 130, 223, 182, Array ()), _ Array ("Jynx", "124", 130, 223, 182, Array ()), _
Array ("Electabuzz", "125", 130, 198, 173, Array ()), _ Array ("Electabuzz", "125", 130, 198, 173, Array ()), _
Array ("Magmar", "126", 130, 206, 169, Array ()), _ Array ("Magmar", "126", 130, 206, 169, Array ()), _
@ -157,7 +157,7 @@ Function fnGetBaseStatsData As Variant
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 ()), _
Array ("Porygon", "137", 130, 153, 139, Array ()), _ Array ("Porygon", "137", 130, 153, 139, Array ("Porygon2")), _
Array ("Omanyte", "138", 70, 155, 174, Array ("Omastar")), _ Array ("Omanyte", "138", 70, 155, 174, Array ("Omastar")), _
Array ("Omastar", "139", 140, 207, 227, Array ()), _ Array ("Omastar", "139", 140, 207, 227, Array ()), _
Array ("Kabuto", "140", 60, 148, 162, Array ("Kabutops")), _ Array ("Kabuto", "140", 60, 148, 162, Array ("Kabutops")), _
@ -172,14 +172,106 @@ Function fnGetBaseStatsData As Variant
Array ("Dragonite", "149", 182, 263, 201, Array ()), _ Array ("Dragonite", "149", 182, 263, 201, Array ()), _
Array ("Mewtwo", "150", 212, 330, 200, Array ()), _ Array ("Mewtwo", "150", 212, 330, 200, Array ()), _
Array ("Mew", "151", 200, 210, 209, Array ()), _ Array ("Mew", "151", 200, 210, 209, Array ()), _
Array ("Chikorita", "152", 90, 92, 122, Array ("Bayleef", "Meganium")), _
Array ("Bayleef", "153", 120, 122, 155, Array ("Meganium")), _
Array ("Meganium", "154", 160, 168, 202, Array ()), _
Array ("Cyndaquil", "155", 78, 116, 96, Array ("Quilava", "Typhlosion")), _
Array ("Quilava", "156", 116, 158, 129, Array ("Typhlosion")), _
Array ("Typhlosion", "157", 156, 223, 176, Array ()), _
Array ("Totodile", "158", 100, 117, 116, Array ("Croconaw", "Feraligatr")), _
Array ("Croconaw", "159", 130, 150, 151, Array ("Feraligatr")), _
Array ("Feraligatr", "160", 170, 205, 197, Array ()), _
Array ("Sentret", "161", 70, 79, 77, Array ("Furret")), _
Array ("Furret", "162", 170, 148, 130, Array ()), _
Array ("Hoothoot", "163", 120, 67, 101, Array ("Noctowl")), _
Array ("Noctowl", "164", 200, 145, 179, Array ()), _
Array ("Ledyba", "165", 80, 72, 142, Array ("Ledian")), _
Array ("Ledian", "166", 110, 107, 209, Array ()), _
Array ("Spinarak", "167", 80, 105, 73, Array ("Ariados")), _
Array ("Ariados", "168", 140, 161, 128, Array ()), _
Array ("Crobat", "169", 170, 194, 178, Array ()), _
Array ("Chinchou", "170", 150, 106, 106, Array ("Lanturn")), _
Array ("Lanturn", "171", 250, 146, 146, Array ()), _
Array ("Pichu", "172", 40, 77, 63, Array ("Pikachu", "Raichu")), _ Array ("Pichu", "172", 40, 77, 63, Array ("Pikachu", "Raichu")), _
Array ("Cleffa", "173", 100, 75, 91, Array ("Clefairy", "Clefable")), _ Array ("Cleffa", "173", 100, 75, 91, Array ("Clefairy", "Clefable")), _
Array ("Igglybuff", "174", 180, 69, 34, Array ("Jigglypuff", "Wigglytuff")), _ Array ("Igglybuff", "174", 180, 69, 34, Array ("Jigglypuff", "Wigglytuff")), _
Array ("Togepi", "175", 70, 67, 116, Array ("Togetic")), _ Array ("Togepi", "175", 70, 67, 116, Array ("Togetic")), _
Array ("Togetic", "176", 110, 140, 191, Array ()), _ Array ("Togetic", "176", 110, 139, 191, Array ()), _
Array ("Natu", "177", 80, 134, 89, Array ("Xatu")), _
Array ("Xatu", "178", 130, 192, 146, Array ()), _
Array ("Mareep", "179", 110, 114, 82, Array ("Flaaffy", "Ampharos")), _
Array ("Flaaffy", "180", 140, 145, 112, Array ("Ampharos")), _
Array ("Ampharos", "181", 180, 211, 172, Array ()), _
Array ("Bellossom", "182", 150, 169, 189, Array ()), _
Array ("Marill", "183", 140, 37, 93, Array ("Azumarill")), _
Array ("Azumarill", "184", 200, 112, 152, Array ()), _
Array ("Sudowoodo", "185", 140, 167, 198, Array ()), _
Array ("Politoed", "186", 180, 174, 192, Array ()), _
Array ("Hoppip", "187", 70, 67, 101, Array ("Skiploom", "Jumpluff")), _
Array ("Skiploom", "188", 110, 91, 127, Array ("Jumpluff")), _
Array ("Jumpluff", "189", 150, 118, 197, Array ()), _
Array ("Aipom", "190", 110, 136, 112, Array ()), _
Array ("Sunkern", "191", 60, 55, 55, Array ("Sunflora")), _
Array ("Sunflora", "192", 150, 185, 148, Array ()), _
Array ("Yanma", "193", 130, 154, 94, Array ()), _
Array ("Wooper", "194", 110, 75, 75, Array ("Quagsire")), _
Array ("Quagsire", "195", 190, 152, 152, Array ()), _
Array ("Espeon", "196", 130, 261, 194, Array ()), _
Array ("Umbreon", "197", 190, 126, 250, Array ()), _
Array ("Murkrow", "198", 120, 175, 87, Array ()), _
Array ("Slowking", "199", 190, 177, 194, Array ()), _
Array ("Misdreavus", "200", 120, 167, 167, Array ()), _
Array ("Unown", "201", 96, 136, 91, Array ()), _
Array ("Wobbuffet", "202", 380, 60, 106, Array ()), _
Array ("Girafarig", "203", 140, 182, 133, Array ()), _
Array ("Pineco", "204", 100, 108, 146, Array ("Forretress")), _
Array ("Forretress", "205", 150, 161, 242, Array ()), _
Array ("Dunsparce", "206", 200, 131, 131, Array ()), _
Array ("Gligar", "207", 130, 143, 204, Array ()), _
Array ("Steelix", "208", 150, 148, 333, Array ()), _
Array ("Snubbull", "209", 120, 137, 89, Array ("Granbull")), _
Array ("Granbull", "210", 180, 212, 137, Array ()), _
Array ("Qwilfish", "211", 130, 184, 148, Array ()), _
Array ("Scizor", "212", 140, 236, 191, Array ()), _
Array ("Shuckle", "213", 40, 17, 396, Array ()), _
Array ("Heracross", "214", 160, 234, 189, Array ()), _
Array ("Sneasel", "215", 110, 189, 157, Array ()), _
Array ("Teddiursa", "216", 120, 142, 93, Array ("Ursaring")), _
Array ("Ursaring", "217", 180, 236, 144, Array ()), _
Array ("Slugma", "218", 80, 118, 71, Array ("Magcargo")), _
Array ("Magcargo", "219", 100, 139, 209, Array ()), _
Array ("Swinub", "220", 100, 90, 74, Array ("Piloswine")), _
Array ("Piloswine", "221", 200, 181, 147, Array ()), _
Array ("Corsola", "222", 110, 118, 156, Array ()), _
Array ("Remoraid", "223", 70, 127, 69, Array ("Octillery")), _
Array ("Octillery", "224", 150, 197, 141, Array ()), _
Array ("Delibird", "225", 90, 128, 90, Array ()), _
Array ("Mantine", "226", 130, 148, 260, Array ()), _
Array ("Skarmory", "227", 130, 148, 260, Array ()), _
Array ("Houndour", "228", 90, 152, 93, Array ("Houndoom")), _
Array ("Houndoom", "229", 150, 224, 159, Array ()), _
Array ("Kingdra", "230", 150, 194, 194, Array ()), _
Array ("Phanpy", "231", 180, 107, 107, Array ("Donphan")), _
Array ("Donphan", "232", 180, 214, 214, Array ()), _
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 ("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")), _
Array ("Magby", "240", 90, 151, 108, Array ("Magmar"))) Array ("Magby", "240", 90, 151, 108, Array ("Magmar")), _
Array ("Miltank", "241", 190, 157, 211, Array ()), _
Array ("Blissey", "242", 510, 129, 229, Array ()), _
Array ("Raikou", "243", 180, 241, 210, Array ()), _
Array ("Entei", "244", 230, 235, 176, Array ()), _
Array ("Suicune", "245", 200, 180, 235, Array ()), _
Array ("Larvitar", "246", 100, 115, 93, Array ("Pupitar", "Tyranitar")), _
Array ("Pupitar", "247", 140, 155, 133, Array ("Tyranitar")), _
Array ("Tyranitar", "248", 200, 251, 212, Array ()), _
Array ("Lugia", "249", 212, 193, 323, Array ()), _
Array ("HoOh", "250", 212, 263, 301, Array ()), _
Array ("Celebi", "251", 200, 210, 210, Array ()))
End Function End Function
' fnGetCPMData: Returns the combat power multiplier data. ' fnGetCPMData: Returns the combat power multiplier data.

View File

@ -178,6 +178,32 @@ Function fnFindEvolveForms (mData () As Variant) As String
fnFindEvolveForms = sEvolveForms fnFindEvolveForms = sEvolveForms
End Function End Function
' fnMapPokemonNameToId: Maps the English Pokémon names to their IDs.
Function fnMapPokemonNameToId (sName As String) As String
Dim sId As String
sId = ""
If sName = "Farfetch'd" Then
sId = "Farfetchd"
End If
If sName = "Nidoran♀" Then
sId = "NidoranFemale"
End If
If sName = "Nidoran♂" Then
sId = "NidoranMale"
End If
If sName = "Mr. Mime" Then
sId = "MrMime"
End If
If sName = "Ho-Oh" Then
sId = "HoOh"
End If
If sId = "" Then
sId = sName
End If
fnMapPokemonNameToId = sId
End Function
' fnReadCPMSheet: Reads the combat power multiplier sheet. ' fnReadCPMSheet: Reads the combat power multiplier sheet.
Function fnReadCPMSheet As String Function fnReadCPMSheet As String
Dim oSheet As Object, oRange As Object, mData As Variant Dim oSheet As Object, oRange As Object, mData As Variant

View File

@ -1 +1 @@
0.3.0 0.4.0

View File

@ -2,8 +2,8 @@
<description xmlns="http://openoffice.org/extensions/update/2006" <description xmlns="http://openoffice.org/extensions/update/2006"
xmlns:xlink="http://www.w3.org/1999/xlink"> xmlns:xlink="http://www.w3.org/1999/xlink">
<identifier value="tw.idv.imacat.office.pokemongoiv" /> <identifier value="tw.idv.imacat.office.pokemongoiv" />
<version value="0.3.0" /> <version value="0.4.0" />
<update-download> <update-download>
<src xlink:href="https://sourceforge.net/projects/aoo-extensions/files/18585/13/pokemongoiv.oxt" /> <src xlink:href="https://sourceforge.net/projects/aoo-extensions/files/18585/14/pokemongoiv.oxt" />
</update-download> </update-download>
</description> </description>

View File

@ -1095,6 +1095,106 @@
<value>%origin%/icons/pokemons/mew.png</value> <value>%origin%/icons/pokemons/mew.png</value>
</prop> </prop>
</node> </node>
<node oor:name="PokemonChikorita" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonBayleef" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonMeganium" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonCyndaquil" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonQuilava" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonTyphlosion" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonTotodile" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonCroconaw" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonFeraligatr" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSentret" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonFurret" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonHoothoot" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonNoctowl" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonLedyba" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonLedian" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSpinarak" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonAriados" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonCrobat" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonChinchou" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonLanturn" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonPichu" oor:op="replace"> <node oor:name="PokemonPichu" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true"> <prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/pokemons/pichu.png</value> <value>%origin%/icons/pokemons/pichu.png</value>
@ -1120,6 +1220,311 @@
<value>%origin%/icons/pokemons/togetic.png</value> <value>%origin%/icons/pokemons/togetic.png</value>
</prop> </prop>
</node> </node>
<node oor:name="PokemonNatu" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonXatu" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonMareep" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonFlaaffy" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonAmpharos" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonBellossom" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonMarill" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonAzumarill" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSudowoodo" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonPolitoed" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonHoppip" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSkiploom" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonJumpluff" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonAipom" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSunkern" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSunflora" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonYanma" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonWooper" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonQuagsire" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonEspeon" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonUmbreon" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonMurkrow" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSlowking" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonMisdreavus" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonUnown" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonWobbuffet" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonGirafarig" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonPineco" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonForretress" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonDunsparce" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonGligar" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSteelix" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSnubbull" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonGranbull" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonQwilfish" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonScizor" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonShuckle" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonHeracross" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSneasel" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonTeddiursa" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonUrsaring" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSlugma" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonMagcargo" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSwinub" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonPiloswine" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonCorsola" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonRemoraid" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonOctillery" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonDelibird" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonMantine" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSkarmory" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonHoundour" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonHoundoom" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonKingdra" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonPhanpy" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonDonphan" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonPorygon2" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonStantler" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSmeargle" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonTyrogue" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonHitmontop" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSmoochum" oor:op="replace"> <node oor:name="PokemonSmoochum" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true"> <prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/pokemons/smoochum.png</value> <value>%origin%/icons/pokemons/smoochum.png</value>
@ -1135,5 +1540,60 @@
<value>%origin%/icons/pokemons/magby.png</value> <value>%origin%/icons/pokemons/magby.png</value>
</prop> </prop>
</node> </node>
<node oor:name="PokemonMiltank" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonBlissey" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonRaikou" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonEntei" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonSuicune" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonLarvitar" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonPupitar" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonTyranitar" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonLugia" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonHoOh" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
<node oor:name="PokemonCelebi" oor:op="replace">
<prop oor:name="Url" oor:type="xs:string" oor:localized="true">
<value>%origin%/icons/unknown.png</value>
</prop>
</node>
</node> </node>
</oor:component-data> </oor:component-data>

View File

@ -22,7 +22,7 @@ Option Explicit
&apos; The base stats of a Pokémon. &apos; The base stats of a Pokémon.
Type aStats Type aStats
sNo As String sNo As String
sPokemon As String sPokemonId As String
nStamina As Integer nStamina As Integer
nAttack As Integer nAttack As Integer
nDefense As Integer nDefense As Integer
@ -48,7 +48,8 @@ End Type
&apos; The parameters to find the individual values. &apos; The parameters to find the individual values.
Type aFindIVParam Type aFindIVParam
sPokemon As String sPokemonId As String
sPokemonName As String
nCP As Integer nCP As Integer
nHP As Integer nHP As Integer
nStardust As Integer nStardust As Integer
@ -72,7 +73,7 @@ Sub subMain
If aQuery.bIsCancelled Then If aQuery.bIsCancelled Then
Exit Sub Exit Sub
End If End If
aBaseStats = fnGetBaseStats (aQuery.sPokemon) aBaseStats = fnGetBaseStats (aQuery.sPokemonId)
maIVs = fnFindIV (aBaseStats, aQuery) maIVs = fnFindIV (aBaseStats, aQuery)
If UBound (maIVs) = -1 Then If UBound (maIVs) = -1 Then
MsgBox fnGetResString (&quot;ErrorNotFound&quot;) MsgBox fnGetResString (&quot;ErrorNotFound&quot;)
@ -87,7 +88,7 @@ Function fnAskParam As aFindIVParam
Dim oList As Object, mPokemons () As String, nI As Integer Dim oList As Object, mPokemons () As String, nI As Integer
Dim bIsBestAttack As Boolean, bIsBestDefense As Boolean Dim bIsBestAttack As Boolean, bIsBestDefense As Boolean
Dim bIsBestHP As Boolean Dim bIsBestHP As Boolean
Dim aQuery As New aFindIVParam Dim aQuery As New aFindIVParam, nSelected As Integer
oDialog = fnLoadParamDialog oDialog = fnLoadParamDialog
If oDialog.execute = 0 Then If oDialog.execute = 0 Then
@ -96,8 +97,11 @@ Function fnAskParam As aFindIVParam
Exit Function Exit Function
End If End If
subReadBaseStats
nSelected = oDialog.getControl (&quot;lstPokemon&quot;).getSelectedItemPos
With aQuery With aQuery
.sPokemon = oDialog.getControl (&quot;lstPokemon&quot;).getSelectedItem .sPokemonId = maBaseStats (nSelected).sPokemonId
.sPokemonName = oDialog.getControl (&quot;lstPokemon&quot;).getSelectedItem
.nCP = oDialog.getControl (&quot;numCP&quot;).getValue .nCP = oDialog.getControl (&quot;numCP&quot;).getValue
.nHP = oDialog.getControl (&quot;numHP&quot;).getValue .nHP = oDialog.getControl (&quot;numHP&quot;).getValue
.nStardust = CInt (oDialog.getControl (&quot;lstStardust&quot;).getSelectedItem) .nStardust = CInt (oDialog.getControl (&quot;lstStardust&quot;).getSelectedItem)
@ -168,7 +172,7 @@ Function fnFindIV ( _
Dim nI As Integer, nJ As Integer Dim nI As Integer, nJ As Integer
Dim fStep As Double, nN As Integer Dim fStep As Double, nN As Integer
If aQuery.sPokemon = &quot;&quot; Then If aQuery.sPokemonId = &quot;&quot; Then
fnFindIV = maIV fnFindIV = maIV
Exit Function Exit Function
End If End If
@ -349,7 +353,7 @@ Sub subSaveIV ( _
&quot;No&quot;, &quot;Pokemon&quot;, &quot;CP&quot;, &quot;HP&quot;, &quot;Stardust&quot;, _ &quot;No&quot;, &quot;Pokemon&quot;, &quot;CP&quot;, &quot;HP&quot;, &quot;Stardust&quot;, _
&quot;Lv&quot;, &quot;Atk&quot;, &quot;Def&quot;, &quot;Sta&quot;, &quot;IV&quot;) &quot;Lv&quot;, &quot;Atk&quot;, &quot;Def&quot;, &quot;Sta&quot;, &quot;IV&quot;)
nFront = UBound (mRow) nFront = UBound (mRow)
If aQuery.sPokemon = &quot;Eevee&quot; Then If aQuery.sPokemonId = &quot;Eevee&quot; Then
If aQuery.nPlayerLevel &lt;&gt; 0 Then If aQuery.nPlayerLevel &lt;&gt; 0 Then
ReDim Preserve mRow (nFront + 6) As Variant ReDim Preserve mRow (nFront + 6) As Variant
mRow (nFront + 1) = &quot;CP as &quot; _ mRow (nFront + 1) = &quot;CP as &quot; _
@ -405,7 +409,7 @@ Sub subSaveIV ( _
maIVs (nI).fLevel, maIVs (nI).nAttack, _ maIVs (nI).fLevel, maIVs (nI).nAttack, _
maIVs (nI).nDefense, maIVs (nI).nStamina, _ maIVs (nI).nDefense, maIVs (nI).nStamina, _
maIVs (nI).nTotal / 45) maIVs (nI).nTotal / 45)
If aQuery.sPokemon = &quot;Eevee&quot; Then If aQuery.sPokemonId = &quot;Eevee&quot; Then
If aQuery.nPlayerLevel &lt;&gt; 0 Then If aQuery.nPlayerLevel &lt;&gt; 0 Then
ReDim Preserve mRow (nFront + 6) As Variant ReDim Preserve mRow (nFront + 6) As Variant
mRow (nFront + 1) = maIVs (nI).maEvolved (0).nCP mRow (nFront + 1) = maIVs (nI).maEvolved (0).nCP
@ -446,7 +450,7 @@ Sub subSaveIV ( _
&apos; Fills the query information at the first row &apos; Fills the query information at the first row
mData (1) (0) = aBaseStats.sNo mData (1) (0) = aBaseStats.sNo
mData (1) (1) = aQuery.sPokemon mData (1) (1) = aQuery.sPokemonName
mData (1) (2) = aQuery.nCP mData (1) (2) = aQuery.nCP
mData (1) (3) = aQuery.nHP mData (1) (3) = aQuery.nHP
mData (1) (4) = aQuery.nStardust mData (1) (4) = aQuery.nStardust
@ -476,7 +480,7 @@ Sub subSaveIV ( _
9, 1, 9, UBound (mData)) 9, 1, 9, UBound (mData))
oRange.setPropertyValue (&quot;NumberFormat&quot;, 10) oRange.setPropertyValue (&quot;NumberFormat&quot;, 10)
If aQuery.sPokemon = &quot;Eevee&quot; Then If aQuery.sPokemonId = &quot;Eevee&quot; Then
oRange = oSheet.getCellRangeByPosition ( _ oRange = oSheet.getCellRangeByPosition ( _
10, 0, 15, 0) 10, 0, 15, 0)
Else Else
@ -503,7 +507,7 @@ Sub subSaveIV ( _
oColumns.getByIndex (7).setPropertyValue (&quot;Width&quot;, 860) oColumns.getByIndex (7).setPropertyValue (&quot;Width&quot;, 860)
oColumns.getByIndex (8).setPropertyValue (&quot;Width&quot;, 860) oColumns.getByIndex (8).setPropertyValue (&quot;Width&quot;, 860)
oColumns.getByIndex (9).setPropertyValue (&quot;Width&quot;, 1030) oColumns.getByIndex (9).setPropertyValue (&quot;Width&quot;, 1030)
If aQuery.sPokemon = &quot;Eevee&quot; Then If aQuery.sPokemonId = &quot;Eevee&quot; Then
If aQuery.nPlayerLevel &lt;&gt; 0 Then If aQuery.nPlayerLevel &lt;&gt; 0 Then
For nI = 0 To 5 Step 2 For nI = 0 To 5 Step 2
oColumns.getByIndex (10 + nI).setPropertyValue ( _ oColumns.getByIndex (10 + nI).setPropertyValue ( _
@ -635,12 +639,12 @@ Function fnCalcHP (aBaseStats As aStats, _
End Function End Function
&apos; fnGetBaseStats: Returns the base stats of the Pokémon. &apos; fnGetBaseStats: Returns the base stats of the Pokémon.
Function fnGetBaseStats (sPokemon As String) As aStats Function fnGetBaseStats (sPokemonId As String) As aStats
Dim nI As Integer Dim nI As Integer
subReadBaseStats subReadBaseStats
For nI = 0 To UBound (maBaseStats) For nI = 0 To UBound (maBaseStats)
If maBaseStats (nI).sPokemon = sPokemon Then If maBaseStats (nI).sPokemonId = sPokemonId Then
fnGetBaseStats = maBaseStats (nI) fnGetBaseStats = maBaseStats (nI)
Exit Function Exit Function
End If End If
@ -665,29 +669,6 @@ Function fnFloor (fNumber As Double) As Integer
fnFloor = CInt (fNumber - 0.5) fnFloor = CInt (fNumber - 0.5)
End Function End Function
&apos; fnMapPokemonNameToId: Maps the English Pokémon names to their IDs.
Function fnMapPokemonNameToId (sName As String) As String
Dim sId As String
sId = &quot;&quot;
If sName = &quot;Farfetch&apos;d&quot; Then
sId = &quot;Farfetchd&quot;
End If
If sName = &quot;Nidoran♀&quot; Then
sId = &quot;NidoranFemale&quot;
End If
If sName = &quot;Nidoran♂&quot; Then
sId = &quot;NidoranMale&quot;
End If
If sName = &quot;Mr. Mime&quot; Then
sId = &quot;MrMime&quot;
End If
If sId = &quot;&quot; Then
sId = sName
End If
fnMapPokemonNameToId = sId
End Function
&apos; fnMapPokemonIdToName: Maps the Pokémon IDs to their localized names. &apos; fnMapPokemonIdToName: Maps the Pokémon IDs to their localized names.
Function fnMapPokemonIdToName (sId As String) As String Function fnMapPokemonIdToName (sId As String) As String
fnMapPokemonIdToName = fnGetResString (&quot;Pokemon&quot; &amp; sId) fnMapPokemonIdToName = fnGetResString (&quot;Pokemon&quot; &amp; sId)
@ -704,7 +685,7 @@ Sub subReadBaseStats
For nI = 0 To UBound (mData) For nI = 0 To UBound (mData)
With maBaseStats (nI) With maBaseStats (nI)
.sNo = mData (nI) (1) .sNo = mData (nI) (1)
.sPokemon = mData (nI) (0) .sPokemonId = mData (nI) (0)
.nStamina = mData (nI) (2) .nStamina = mData (nI) (2)
.nAttack = mData (nI) (3) .nAttack = mData (nI) (3)
.nDefense = mData (nI) (4) .nDefense = mData (nI) (4)

View File

@ -74,7 +74,7 @@ Sub subLstPokemonSelected (oEvent As object)
&apos; Updates the Pokémon image. &apos; Updates the Pokémon image.
nSelected = oDialog.getControl (&quot;lstPokemon&quot;).getSelectedItemPos nSelected = oDialog.getControl (&quot;lstPokemon&quot;).getSelectedItemPos
subReadBaseStats subReadBaseStats
sImageId = &quot;Pokemon&quot; &amp; maBaseStats (nSelected).sPokemon sImageId = &quot;Pokemon&quot; &amp; maBaseStats (nSelected).sPokemonId
oImageModel = oDialog.getControl (&quot;imgPokemon&quot;).getModel oImageModel = oDialog.getControl (&quot;imgPokemon&quot;).getModel
oImageModel.setPropertyValue (&quot;ImageURL&quot;, _ oImageModel.setPropertyValue (&quot;ImageURL&quot;, _
fnGetImageUrl (sImageId)) fnGetImageUrl (sImageId))

View File

@ -15,7 +15,7 @@
&apos; limitations under the License. &apos; limitations under the License.
&apos; 2Data: The Pokémon GO data for IV calculation &apos; 2Data: The Pokémon GO data for IV calculation
&apos; by imacat &lt;imacat@mail.imacat.idv.tw&gt;, 2017-02-14 &apos; by imacat &lt;imacat@mail.imacat.idv.tw&gt;, 2017-03-01
&apos; Generated with 9Load.subReadDataSheets () &apos; Generated with 9Load.subReadDataSheets ()
Option Explicit Option Explicit
@ -63,8 +63,8 @@ Function fnGetBaseStatsData As Variant
Array (&quot;Ninetales&quot;, &quot;038&quot;, 146, 169, 204, Array ()), _ Array (&quot;Ninetales&quot;, &quot;038&quot;, 146, 169, 204, Array ()), _
Array (&quot;Jigglypuff&quot;, &quot;039&quot;, 230, 80, 44, Array (&quot;Wigglytuff&quot;)), _ Array (&quot;Jigglypuff&quot;, &quot;039&quot;, 230, 80, 44, Array (&quot;Wigglytuff&quot;)), _
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;)), _ 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 ()), _ 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;)), _
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;)), _
Array (&quot;Vileplume&quot;, &quot;045&quot;, 150, 202, 170, Array ()), _ Array (&quot;Vileplume&quot;, &quot;045&quot;, 150, 202, 170, Array ()), _
@ -117,7 +117,7 @@ Function fnGetBaseStatsData As Variant
Array (&quot;Gastly&quot;, &quot;092&quot;, 60, 186, 70, Array (&quot;Haunter&quot;, &quot;Gengar&quot;)), _ Array (&quot;Gastly&quot;, &quot;092&quot;, 60, 186, 70, Array (&quot;Haunter&quot;, &quot;Gengar&quot;)), _
Array (&quot;Haunter&quot;, &quot;093&quot;, 90, 223, 112, Array (&quot;Gengar&quot;)), _ Array (&quot;Haunter&quot;, &quot;093&quot;, 90, 223, 112, Array (&quot;Gengar&quot;)), _
Array (&quot;Gengar&quot;, &quot;094&quot;, 120, 261, 156, Array ()), _ Array (&quot;Gengar&quot;, &quot;094&quot;, 120, 261, 156, Array ()), _
Array (&quot;Onix&quot;, &quot;095&quot;, 70, 85, 288, Array ()), _ Array (&quot;Onix&quot;, &quot;095&quot;, 70, 85, 288, Array (&quot;Steelix&quot;)), _
Array (&quot;Drowzee&quot;, &quot;096&quot;, 120, 89, 158, Array (&quot;Hypno&quot;)), _ Array (&quot;Drowzee&quot;, &quot;096&quot;, 120, 89, 158, Array (&quot;Hypno&quot;)), _
Array (&quot;Hypno&quot;, &quot;097&quot;, 170, 144, 215, Array ()), _ Array (&quot;Hypno&quot;, &quot;097&quot;, 170, 144, 215, Array ()), _
Array (&quot;Krabby&quot;, &quot;098&quot;, 60, 181, 156, Array (&quot;Kingler&quot;)), _ Array (&quot;Krabby&quot;, &quot;098&quot;, 60, 181, 156, Array (&quot;Kingler&quot;)), _
@ -135,17 +135,17 @@ Function fnGetBaseStatsData As Variant
Array (&quot;Weezing&quot;, &quot;110&quot;, 130, 174, 221, Array ()), _ Array (&quot;Weezing&quot;, &quot;110&quot;, 130, 174, 221, Array ()), _
Array (&quot;Rhyhorn&quot;, &quot;111&quot;, 160, 140, 157, Array (&quot;Rhydon&quot;)), _ Array (&quot;Rhyhorn&quot;, &quot;111&quot;, 160, 140, 157, Array (&quot;Rhydon&quot;)), _
Array (&quot;Rhydon&quot;, &quot;112&quot;, 210, 222, 206, Array ()), _ Array (&quot;Rhydon&quot;, &quot;112&quot;, 210, 222, 206, Array ()), _
Array (&quot;Chansey&quot;, &quot;113&quot;, 500, 60, 176, Array ()), _ Array (&quot;Chansey&quot;, &quot;113&quot;, 500, 60, 176, Array (&quot;Blissey&quot;)), _
Array (&quot;Tangela&quot;, &quot;114&quot;, 130, 183, 205, Array ()), _ Array (&quot;Tangela&quot;, &quot;114&quot;, 130, 183, 205, Array ()), _
Array (&quot;Kangaskhan&quot;, &quot;115&quot;, 210, 181, 165, Array ()), _ Array (&quot;Kangaskhan&quot;, &quot;115&quot;, 210, 181, 165, Array ()), _
Array (&quot;Horsea&quot;, &quot;116&quot;, 60, 129, 125, Array (&quot;Seadra&quot;)), _ Array (&quot;Horsea&quot;, &quot;116&quot;, 60, 129, 125, Array (&quot;Seadra&quot;, &quot;Kingdra&quot;)), _
Array (&quot;Seadra&quot;, &quot;117&quot;, 110, 187, 182, Array ()), _ Array (&quot;Seadra&quot;, &quot;117&quot;, 110, 187, 182, Array (&quot;Kingdra&quot;)), _
Array (&quot;Goldeen&quot;, &quot;118&quot;, 90, 123, 115, Array (&quot;Seaking&quot;)), _ Array (&quot;Goldeen&quot;, &quot;118&quot;, 90, 123, 115, Array (&quot;Seaking&quot;)), _
Array (&quot;Seaking&quot;, &quot;119&quot;, 160, 175, 154, Array ()), _ Array (&quot;Seaking&quot;, &quot;119&quot;, 160, 175, 154, Array ()), _
Array (&quot;Staryu&quot;, &quot;120&quot;, 60, 137, 112, Array (&quot;Starmie&quot;)), _ Array (&quot;Staryu&quot;, &quot;120&quot;, 60, 137, 112, Array (&quot;Starmie&quot;)), _
Array (&quot;Starmie&quot;, &quot;121&quot;, 120, 210, 184, Array ()), _ Array (&quot;Starmie&quot;, &quot;121&quot;, 120, 210, 184, Array ()), _
Array (&quot;MrMime&quot;, &quot;122&quot;, 80, 192, 233, Array ()), _ Array (&quot;MrMime&quot;, &quot;122&quot;, 80, 192, 233, Array ()), _
Array (&quot;Scyther&quot;, &quot;123&quot;, 140, 218, 170, Array ()), _ Array (&quot;Scyther&quot;, &quot;123&quot;, 140, 218, 170, Array (&quot;Scizor&quot;)), _
Array (&quot;Jynx&quot;, &quot;124&quot;, 130, 223, 182, Array ()), _ Array (&quot;Jynx&quot;, &quot;124&quot;, 130, 223, 182, Array ()), _
Array (&quot;Electabuzz&quot;, &quot;125&quot;, 130, 198, 173, Array ()), _ Array (&quot;Electabuzz&quot;, &quot;125&quot;, 130, 198, 173, Array ()), _
Array (&quot;Magmar&quot;, &quot;126&quot;, 130, 206, 169, Array ()), _ Array (&quot;Magmar&quot;, &quot;126&quot;, 130, 206, 169, Array ()), _
@ -159,7 +159,7 @@ Function fnGetBaseStatsData As Variant
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 ()), _
Array (&quot;Porygon&quot;, &quot;137&quot;, 130, 153, 139, Array ()), _ Array (&quot;Porygon&quot;, &quot;137&quot;, 130, 153, 139, Array (&quot;Porygon2&quot;)), _
Array (&quot;Omanyte&quot;, &quot;138&quot;, 70, 155, 174, Array (&quot;Omastar&quot;)), _ Array (&quot;Omanyte&quot;, &quot;138&quot;, 70, 155, 174, Array (&quot;Omastar&quot;)), _
Array (&quot;Omastar&quot;, &quot;139&quot;, 140, 207, 227, Array ()), _ Array (&quot;Omastar&quot;, &quot;139&quot;, 140, 207, 227, Array ()), _
Array (&quot;Kabuto&quot;, &quot;140&quot;, 60, 148, 162, Array (&quot;Kabutops&quot;)), _ Array (&quot;Kabuto&quot;, &quot;140&quot;, 60, 148, 162, Array (&quot;Kabutops&quot;)), _
@ -174,14 +174,106 @@ Function fnGetBaseStatsData As Variant
Array (&quot;Dragonite&quot;, &quot;149&quot;, 182, 263, 201, Array ()), _ Array (&quot;Dragonite&quot;, &quot;149&quot;, 182, 263, 201, Array ()), _
Array (&quot;Mewtwo&quot;, &quot;150&quot;, 212, 330, 200, Array ()), _ Array (&quot;Mewtwo&quot;, &quot;150&quot;, 212, 330, 200, Array ()), _
Array (&quot;Mew&quot;, &quot;151&quot;, 200, 210, 209, Array ()), _ Array (&quot;Mew&quot;, &quot;151&quot;, 200, 210, 209, Array ()), _
Array (&quot;Chikorita&quot;, &quot;152&quot;, 90, 92, 122, Array (&quot;Bayleef&quot;, &quot;Meganium&quot;)), _
Array (&quot;Bayleef&quot;, &quot;153&quot;, 120, 122, 155, Array (&quot;Meganium&quot;)), _
Array (&quot;Meganium&quot;, &quot;154&quot;, 160, 168, 202, Array ()), _
Array (&quot;Cyndaquil&quot;, &quot;155&quot;, 78, 116, 96, Array (&quot;Quilava&quot;, &quot;Typhlosion&quot;)), _
Array (&quot;Quilava&quot;, &quot;156&quot;, 116, 158, 129, Array (&quot;Typhlosion&quot;)), _
Array (&quot;Typhlosion&quot;, &quot;157&quot;, 156, 223, 176, Array ()), _
Array (&quot;Totodile&quot;, &quot;158&quot;, 100, 117, 116, Array (&quot;Croconaw&quot;, &quot;Feraligatr&quot;)), _
Array (&quot;Croconaw&quot;, &quot;159&quot;, 130, 150, 151, Array (&quot;Feraligatr&quot;)), _
Array (&quot;Feraligatr&quot;, &quot;160&quot;, 170, 205, 197, Array ()), _
Array (&quot;Sentret&quot;, &quot;161&quot;, 70, 79, 77, Array (&quot;Furret&quot;)), _
Array (&quot;Furret&quot;, &quot;162&quot;, 170, 148, 130, Array ()), _
Array (&quot;Hoothoot&quot;, &quot;163&quot;, 120, 67, 101, Array (&quot;Noctowl&quot;)), _
Array (&quot;Noctowl&quot;, &quot;164&quot;, 200, 145, 179, Array ()), _
Array (&quot;Ledyba&quot;, &quot;165&quot;, 80, 72, 142, Array (&quot;Ledian&quot;)), _
Array (&quot;Ledian&quot;, &quot;166&quot;, 110, 107, 209, Array ()), _
Array (&quot;Spinarak&quot;, &quot;167&quot;, 80, 105, 73, Array (&quot;Ariados&quot;)), _
Array (&quot;Ariados&quot;, &quot;168&quot;, 140, 161, 128, Array ()), _
Array (&quot;Crobat&quot;, &quot;169&quot;, 170, 194, 178, Array ()), _
Array (&quot;Chinchou&quot;, &quot;170&quot;, 150, 106, 106, Array (&quot;Lanturn&quot;)), _
Array (&quot;Lanturn&quot;, &quot;171&quot;, 250, 146, 146, Array ()), _
Array (&quot;Pichu&quot;, &quot;172&quot;, 40, 77, 63, Array (&quot;Pikachu&quot;, &quot;Raichu&quot;)), _ Array (&quot;Pichu&quot;, &quot;172&quot;, 40, 77, 63, Array (&quot;Pikachu&quot;, &quot;Raichu&quot;)), _
Array (&quot;Cleffa&quot;, &quot;173&quot;, 100, 75, 91, Array (&quot;Clefairy&quot;, &quot;Clefable&quot;)), _ Array (&quot;Cleffa&quot;, &quot;173&quot;, 100, 75, 91, Array (&quot;Clefairy&quot;, &quot;Clefable&quot;)), _
Array (&quot;Igglybuff&quot;, &quot;174&quot;, 180, 69, 34, Array (&quot;Jigglypuff&quot;, &quot;Wigglytuff&quot;)), _ Array (&quot;Igglybuff&quot;, &quot;174&quot;, 180, 69, 34, Array (&quot;Jigglypuff&quot;, &quot;Wigglytuff&quot;)), _
Array (&quot;Togepi&quot;, &quot;175&quot;, 70, 67, 116, Array (&quot;Togetic&quot;)), _ Array (&quot;Togepi&quot;, &quot;175&quot;, 70, 67, 116, Array (&quot;Togetic&quot;)), _
Array (&quot;Togetic&quot;, &quot;176&quot;, 110, 140, 191, Array ()), _ Array (&quot;Togetic&quot;, &quot;176&quot;, 110, 139, 191, Array ()), _
Array (&quot;Natu&quot;, &quot;177&quot;, 80, 134, 89, Array (&quot;Xatu&quot;)), _
Array (&quot;Xatu&quot;, &quot;178&quot;, 130, 192, 146, Array ()), _
Array (&quot;Mareep&quot;, &quot;179&quot;, 110, 114, 82, Array (&quot;Flaaffy&quot;, &quot;Ampharos&quot;)), _
Array (&quot;Flaaffy&quot;, &quot;180&quot;, 140, 145, 112, Array (&quot;Ampharos&quot;)), _
Array (&quot;Ampharos&quot;, &quot;181&quot;, 180, 211, 172, Array ()), _
Array (&quot;Bellossom&quot;, &quot;182&quot;, 150, 169, 189, Array ()), _
Array (&quot;Marill&quot;, &quot;183&quot;, 140, 37, 93, Array (&quot;Azumarill&quot;)), _
Array (&quot;Azumarill&quot;, &quot;184&quot;, 200, 112, 152, Array ()), _
Array (&quot;Sudowoodo&quot;, &quot;185&quot;, 140, 167, 198, Array ()), _
Array (&quot;Politoed&quot;, &quot;186&quot;, 180, 174, 192, Array ()), _
Array (&quot;Hoppip&quot;, &quot;187&quot;, 70, 67, 101, Array (&quot;Skiploom&quot;, &quot;Jumpluff&quot;)), _
Array (&quot;Skiploom&quot;, &quot;188&quot;, 110, 91, 127, Array (&quot;Jumpluff&quot;)), _
Array (&quot;Jumpluff&quot;, &quot;189&quot;, 150, 118, 197, Array ()), _
Array (&quot;Aipom&quot;, &quot;190&quot;, 110, 136, 112, Array ()), _
Array (&quot;Sunkern&quot;, &quot;191&quot;, 60, 55, 55, Array (&quot;Sunflora&quot;)), _
Array (&quot;Sunflora&quot;, &quot;192&quot;, 150, 185, 148, Array ()), _
Array (&quot;Yanma&quot;, &quot;193&quot;, 130, 154, 94, Array ()), _
Array (&quot;Wooper&quot;, &quot;194&quot;, 110, 75, 75, Array (&quot;Quagsire&quot;)), _
Array (&quot;Quagsire&quot;, &quot;195&quot;, 190, 152, 152, Array ()), _
Array (&quot;Espeon&quot;, &quot;196&quot;, 130, 261, 194, Array ()), _
Array (&quot;Umbreon&quot;, &quot;197&quot;, 190, 126, 250, Array ()), _
Array (&quot;Murkrow&quot;, &quot;198&quot;, 120, 175, 87, Array ()), _
Array (&quot;Slowking&quot;, &quot;199&quot;, 190, 177, 194, Array ()), _
Array (&quot;Misdreavus&quot;, &quot;200&quot;, 120, 167, 167, Array ()), _
Array (&quot;Unown&quot;, &quot;201&quot;, 96, 136, 91, Array ()), _
Array (&quot;Wobbuffet&quot;, &quot;202&quot;, 380, 60, 106, Array ()), _
Array (&quot;Girafarig&quot;, &quot;203&quot;, 140, 182, 133, Array ()), _
Array (&quot;Pineco&quot;, &quot;204&quot;, 100, 108, 146, Array (&quot;Forretress&quot;)), _
Array (&quot;Forretress&quot;, &quot;205&quot;, 150, 161, 242, Array ()), _
Array (&quot;Dunsparce&quot;, &quot;206&quot;, 200, 131, 131, Array ()), _
Array (&quot;Gligar&quot;, &quot;207&quot;, 130, 143, 204, Array ()), _
Array (&quot;Steelix&quot;, &quot;208&quot;, 150, 148, 333, Array ()), _
Array (&quot;Snubbull&quot;, &quot;209&quot;, 120, 137, 89, Array (&quot;Granbull&quot;)), _
Array (&quot;Granbull&quot;, &quot;210&quot;, 180, 212, 137, Array ()), _
Array (&quot;Qwilfish&quot;, &quot;211&quot;, 130, 184, 148, Array ()), _
Array (&quot;Scizor&quot;, &quot;212&quot;, 140, 236, 191, Array ()), _
Array (&quot;Shuckle&quot;, &quot;213&quot;, 40, 17, 396, Array ()), _
Array (&quot;Heracross&quot;, &quot;214&quot;, 160, 234, 189, Array ()), _
Array (&quot;Sneasel&quot;, &quot;215&quot;, 110, 189, 157, Array ()), _
Array (&quot;Teddiursa&quot;, &quot;216&quot;, 120, 142, 93, Array (&quot;Ursaring&quot;)), _
Array (&quot;Ursaring&quot;, &quot;217&quot;, 180, 236, 144, Array ()), _
Array (&quot;Slugma&quot;, &quot;218&quot;, 80, 118, 71, Array (&quot;Magcargo&quot;)), _
Array (&quot;Magcargo&quot;, &quot;219&quot;, 100, 139, 209, Array ()), _
Array (&quot;Swinub&quot;, &quot;220&quot;, 100, 90, 74, Array (&quot;Piloswine&quot;)), _
Array (&quot;Piloswine&quot;, &quot;221&quot;, 200, 181, 147, Array ()), _
Array (&quot;Corsola&quot;, &quot;222&quot;, 110, 118, 156, Array ()), _
Array (&quot;Remoraid&quot;, &quot;223&quot;, 70, 127, 69, Array (&quot;Octillery&quot;)), _
Array (&quot;Octillery&quot;, &quot;224&quot;, 150, 197, 141, Array ()), _
Array (&quot;Delibird&quot;, &quot;225&quot;, 90, 128, 90, Array ()), _
Array (&quot;Mantine&quot;, &quot;226&quot;, 130, 148, 260, Array ()), _
Array (&quot;Skarmory&quot;, &quot;227&quot;, 130, 148, 260, Array ()), _
Array (&quot;Houndour&quot;, &quot;228&quot;, 90, 152, 93, Array (&quot;Houndoom&quot;)), _
Array (&quot;Houndoom&quot;, &quot;229&quot;, 150, 224, 159, Array ()), _
Array (&quot;Kingdra&quot;, &quot;230&quot;, 150, 194, 194, Array ()), _
Array (&quot;Phanpy&quot;, &quot;231&quot;, 180, 107, 107, Array (&quot;Donphan&quot;)), _
Array (&quot;Donphan&quot;, &quot;232&quot;, 180, 214, 214, 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;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;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;)), _
Array (&quot;Magby&quot;, &quot;240&quot;, 90, 151, 108, Array (&quot;Magmar&quot;))) Array (&quot;Magby&quot;, &quot;240&quot;, 90, 151, 108, Array (&quot;Magmar&quot;)), _
Array (&quot;Miltank&quot;, &quot;241&quot;, 190, 157, 211, Array ()), _
Array (&quot;Blissey&quot;, &quot;242&quot;, 510, 129, 229, Array ()), _
Array (&quot;Raikou&quot;, &quot;243&quot;, 180, 241, 210, Array ()), _
Array (&quot;Entei&quot;, &quot;244&quot;, 230, 235, 176, Array ()), _
Array (&quot;Suicune&quot;, &quot;245&quot;, 200, 180, 235, Array ()), _
Array (&quot;Larvitar&quot;, &quot;246&quot;, 100, 115, 93, Array (&quot;Pupitar&quot;, &quot;Tyranitar&quot;)), _
Array (&quot;Pupitar&quot;, &quot;247&quot;, 140, 155, 133, Array (&quot;Tyranitar&quot;)), _
Array (&quot;Tyranitar&quot;, &quot;248&quot;, 200, 251, 212, Array ()), _
Array (&quot;Lugia&quot;, &quot;249&quot;, 212, 193, 323, Array ()), _
Array (&quot;HoOh&quot;, &quot;250&quot;, 212, 263, 301, Array ()), _
Array (&quot;Celebi&quot;, &quot;251&quot;, 200, 210, 210, Array ()))
End Function End Function
&apos; fnGetCPMData: Returns the combat power multiplier data. &apos; fnGetCPMData: Returns the combat power multiplier data.

View File

@ -180,6 +180,32 @@ Function fnFindEvolveForms (mData () As Variant) As String
fnFindEvolveForms = sEvolveForms fnFindEvolveForms = sEvolveForms
End Function End Function
&apos; fnMapPokemonNameToId: Maps the English Pokémon names to their IDs.
Function fnMapPokemonNameToId (sName As String) As String
Dim sId As String
sId = &quot;&quot;
If sName = &quot;Farfetch&apos;d&quot; Then
sId = &quot;Farfetchd&quot;
End If
If sName = &quot;Nidoran♀&quot; Then
sId = &quot;NidoranFemale&quot;
End If
If sName = &quot;Nidoran♂&quot; Then
sId = &quot;NidoranMale&quot;
End If
If sName = &quot;Mr. Mime&quot; Then
sId = &quot;MrMime&quot;
End If
If sName = &quot;Ho-Oh&quot; Then
sId = &quot;HoOh&quot;
End If
If sId = &quot;&quot; Then
sId = sName
End If
fnMapPokemonNameToId = sId
End Function
&apos; fnReadCPMSheet: Reads the combat power multiplier sheet. &apos; fnReadCPMSheet: Reads the combat power multiplier sheet.
Function fnReadCPMSheet As String Function fnReadCPMSheet As String
Dim oSheet As Object, oRange As Object, mData As Variant Dim oSheet As Object, oRange As Object, mData As Variant

View File

@ -250,3 +250,14 @@
1238.lstPokemon.StringItemList=Kussilla 1238.lstPokemon.StringItemList=Kussilla
1239.lstPokemon.StringItemList=Elekid 1239.lstPokemon.StringItemList=Elekid
1240.lstPokemon.StringItemList=Magby 1240.lstPokemon.StringItemList=Magby
1241.lstPokemon.StringItemList=Miltank
1242.lstPokemon.StringItemList=Heiteira
1243.lstPokemon.StringItemList=Raikou
1244.lstPokemon.StringItemList=Entei
1245.lstPokemon.StringItemList=Suicune
1246.lstPokemon.StringItemList=Larvitar
1247.lstPokemon.StringItemList=Pupitar
1248.lstPokemon.StringItemList=Despotar
1249.lstPokemon.StringItemList=Lugia
1250.lstPokemon.StringItemList=Ho-Oh
1251.lstPokemon.StringItemList=Celebi

View File

@ -161,11 +161,103 @@
1149.lstPokemon.StringItemList=Dragonite 1149.lstPokemon.StringItemList=Dragonite
1150.lstPokemon.StringItemList=Mewtwo 1150.lstPokemon.StringItemList=Mewtwo
1151.lstPokemon.StringItemList=Mew 1151.lstPokemon.StringItemList=Mew
1152.lstPokemon.StringItemList=Chikorita
1153.lstPokemon.StringItemList=Bayleef
1154.lstPokemon.StringItemList=Meganium
1155.lstPokemon.StringItemList=Cyndaquil
1156.lstPokemon.StringItemList=Quilava
1157.lstPokemon.StringItemList=Typhlosion
1158.lstPokemon.StringItemList=Totodile
1159.lstPokemon.StringItemList=Croconaw
1160.lstPokemon.StringItemList=Feraligatr
1161.lstPokemon.StringItemList=Sentret
1162.lstPokemon.StringItemList=Furret
1163.lstPokemon.StringItemList=Hoothoot
1164.lstPokemon.StringItemList=Noctowl
1165.lstPokemon.StringItemList=Ledyba
1166.lstPokemon.StringItemList=Ledian
1167.lstPokemon.StringItemList=Spinarak
1168.lstPokemon.StringItemList=Ariados
1169.lstPokemon.StringItemList=Crobat
1170.lstPokemon.StringItemList=Chinchou
1171.lstPokemon.StringItemList=Lanturn
1172.lstPokemon.StringItemList=Pichu 1172.lstPokemon.StringItemList=Pichu
1173.lstPokemon.StringItemList=Cleffa 1173.lstPokemon.StringItemList=Cleffa
1174.lstPokemon.StringItemList=Igglybuff 1174.lstPokemon.StringItemList=Igglybuff
1175.lstPokemon.StringItemList=Togepi 1175.lstPokemon.StringItemList=Togepi
1176.lstPokemon.StringItemList=Togetic 1176.lstPokemon.StringItemList=Togetic
1177.lstPokemon.StringItemList=Natu
1178.lstPokemon.StringItemList=Xatu
1179.lstPokemon.StringItemList=Mareep
1180.lstPokemon.StringItemList=Flaaffy
1181.lstPokemon.StringItemList=Ampharos
1182.lstPokemon.StringItemList=Bellossom
1183.lstPokemon.StringItemList=Marill
1184.lstPokemon.StringItemList=Azumarill
1185.lstPokemon.StringItemList=Sudowoodo
1186.lstPokemon.StringItemList=Politoed
1187.lstPokemon.StringItemList=Hoppip
1188.lstPokemon.StringItemList=Skiploom
1189.lstPokemon.StringItemList=Jumpluff
1190.lstPokemon.StringItemList=Aipom
1191.lstPokemon.StringItemList=Sunkern
1192.lstPokemon.StringItemList=Sunflora
1193.lstPokemon.StringItemList=Yanma
1194.lstPokemon.StringItemList=Wooper
1195.lstPokemon.StringItemList=Quagsire
1196.lstPokemon.StringItemList=Espeon
1197.lstPokemon.StringItemList=Umbreon
1198.lstPokemon.StringItemList=Murkrow
1199.lstPokemon.StringItemList=Slowking
1200.lstPokemon.StringItemList=Misdreavus
1201.lstPokemon.StringItemList=Unown
1202.lstPokemon.StringItemList=Wobbuffet
1203.lstPokemon.StringItemList=Girafarig
1204.lstPokemon.StringItemList=Pineco
1205.lstPokemon.StringItemList=Forretress
1206.lstPokemon.StringItemList=Dunsparce
1207.lstPokemon.StringItemList=Gligar
1208.lstPokemon.StringItemList=Steelix
1209.lstPokemon.StringItemList=Snubbull
1210.lstPokemon.StringItemList=Granbull
1211.lstPokemon.StringItemList=Qwilfish
1212.lstPokemon.StringItemList=Scizor
1213.lstPokemon.StringItemList=Shuckle
1214.lstPokemon.StringItemList=Heracross
1215.lstPokemon.StringItemList=Sneasel
1216.lstPokemon.StringItemList=Teddiursa
1217.lstPokemon.StringItemList=Ursaring
1218.lstPokemon.StringItemList=Slugma
1219.lstPokemon.StringItemList=Magcargo
1220.lstPokemon.StringItemList=Swinub
1221.lstPokemon.StringItemList=Piloswine
1222.lstPokemon.StringItemList=Corsola
1223.lstPokemon.StringItemList=Remoraid
1224.lstPokemon.StringItemList=Octillery
1225.lstPokemon.StringItemList=Delibird
1226.lstPokemon.StringItemList=Mantine
1227.lstPokemon.StringItemList=Skarmory
1228.lstPokemon.StringItemList=Houndour
1229.lstPokemon.StringItemList=Houndoom
1230.lstPokemon.StringItemList=Kingdra
1231.lstPokemon.StringItemList=Phanpy
1232.lstPokemon.StringItemList=Donphan
1233.lstPokemon.StringItemList=Porygon2
1234.lstPokemon.StringItemList=Stantler
1235.lstPokemon.StringItemList=Smeargle
1236.lstPokemon.StringItemList=Tyrogue
1237.lstPokemon.StringItemList=Hitmontop
1238.lstPokemon.StringItemList=Smoochum 1238.lstPokemon.StringItemList=Smoochum
1239.lstPokemon.StringItemList=Elekid 1239.lstPokemon.StringItemList=Elekid
1240.lstPokemon.StringItemList=Magby 1240.lstPokemon.StringItemList=Magby
1241.lstPokemon.StringItemList=Miltank
1242.lstPokemon.StringItemList=Blissey
1243.lstPokemon.StringItemList=Raikou
1244.lstPokemon.StringItemList=Entei
1245.lstPokemon.StringItemList=Suicune
1246.lstPokemon.StringItemList=Larvitar
1247.lstPokemon.StringItemList=Pupitar
1248.lstPokemon.StringItemList=Tyranitar
1249.lstPokemon.StringItemList=Lugia
1250.lstPokemon.StringItemList=Ho-Oh
1251.lstPokemon.StringItemList=Celebi

View File

@ -161,11 +161,103 @@
1149.lstPokemon.StringItemList=Dragonite 1149.lstPokemon.StringItemList=Dragonite
1150.lstPokemon.StringItemList=Mewtwo 1150.lstPokemon.StringItemList=Mewtwo
1151.lstPokemon.StringItemList=Mew 1151.lstPokemon.StringItemList=Mew
1152.lstPokemon.StringItemList=Chikorita
1153.lstPokemon.StringItemList=Bayleef
1154.lstPokemon.StringItemList=Meganium
1155.lstPokemon.StringItemList=Cyndaquil
1156.lstPokemon.StringItemList=Quilava
1157.lstPokemon.StringItemList=Typhlosion
1158.lstPokemon.StringItemList=Totodile
1159.lstPokemon.StringItemList=Croconaw
1160.lstPokemon.StringItemList=Feraligatr
1161.lstPokemon.StringItemList=Sentret
1162.lstPokemon.StringItemList=Furret
1163.lstPokemon.StringItemList=Hoothoot
1164.lstPokemon.StringItemList=Noctowl
1165.lstPokemon.StringItemList=Ledyba
1166.lstPokemon.StringItemList=Ledian
1167.lstPokemon.StringItemList=Spinarak
1168.lstPokemon.StringItemList=Ariados
1169.lstPokemon.StringItemList=Crobat
1170.lstPokemon.StringItemList=Chinchou
1171.lstPokemon.StringItemList=Lanturn
1172.lstPokemon.StringItemList=Pichu 1172.lstPokemon.StringItemList=Pichu
1173.lstPokemon.StringItemList=Cleffa 1173.lstPokemon.StringItemList=Cleffa
1174.lstPokemon.StringItemList=Igglybuff 1174.lstPokemon.StringItemList=Igglybuff
1175.lstPokemon.StringItemList=Togepi 1175.lstPokemon.StringItemList=Togepi
1176.lstPokemon.StringItemList=Togetic 1176.lstPokemon.StringItemList=Togetic
1177.lstPokemon.StringItemList=Natu
1178.lstPokemon.StringItemList=Xatu
1179.lstPokemon.StringItemList=Mareep
1180.lstPokemon.StringItemList=Flaaffy
1181.lstPokemon.StringItemList=Ampharos
1182.lstPokemon.StringItemList=Bellossom
1183.lstPokemon.StringItemList=Marill
1184.lstPokemon.StringItemList=Azumarill
1185.lstPokemon.StringItemList=Sudowoodo
1186.lstPokemon.StringItemList=Politoed
1187.lstPokemon.StringItemList=Hoppip
1188.lstPokemon.StringItemList=Skiploom
1189.lstPokemon.StringItemList=Jumpluff
1190.lstPokemon.StringItemList=Aipom
1191.lstPokemon.StringItemList=Sunkern
1192.lstPokemon.StringItemList=Sunflora
1193.lstPokemon.StringItemList=Yanma
1194.lstPokemon.StringItemList=Wooper
1195.lstPokemon.StringItemList=Quagsire
1196.lstPokemon.StringItemList=Espeon
1197.lstPokemon.StringItemList=Umbreon
1198.lstPokemon.StringItemList=Murkrow
1199.lstPokemon.StringItemList=Slowking
1200.lstPokemon.StringItemList=Misdreavus
1201.lstPokemon.StringItemList=Unown
1202.lstPokemon.StringItemList=Wobbuffet
1203.lstPokemon.StringItemList=Girafarig
1204.lstPokemon.StringItemList=Pineco
1205.lstPokemon.StringItemList=Forretress
1206.lstPokemon.StringItemList=Dunsparce
1207.lstPokemon.StringItemList=Gligar
1208.lstPokemon.StringItemList=Steelix
1209.lstPokemon.StringItemList=Snubbull
1210.lstPokemon.StringItemList=Granbull
1211.lstPokemon.StringItemList=Qwilfish
1212.lstPokemon.StringItemList=Scizor
1213.lstPokemon.StringItemList=Shuckle
1214.lstPokemon.StringItemList=Heracross
1215.lstPokemon.StringItemList=Sneasel
1216.lstPokemon.StringItemList=Teddiursa
1217.lstPokemon.StringItemList=Ursaring
1218.lstPokemon.StringItemList=Slugma
1219.lstPokemon.StringItemList=Magcargo
1220.lstPokemon.StringItemList=Swinub
1221.lstPokemon.StringItemList=Piloswine
1222.lstPokemon.StringItemList=Corsola
1223.lstPokemon.StringItemList=Remoraid
1224.lstPokemon.StringItemList=Octillery
1225.lstPokemon.StringItemList=Delibird
1226.lstPokemon.StringItemList=Mantine
1227.lstPokemon.StringItemList=Skarmory
1228.lstPokemon.StringItemList=Houndour
1229.lstPokemon.StringItemList=Houndoom
1230.lstPokemon.StringItemList=Kingdra
1231.lstPokemon.StringItemList=Phanpy
1232.lstPokemon.StringItemList=Donphan
1233.lstPokemon.StringItemList=Porygon2
1234.lstPokemon.StringItemList=Stantler
1235.lstPokemon.StringItemList=Smeargle
1236.lstPokemon.StringItemList=Tyrogue
1237.lstPokemon.StringItemList=Hitmontop
1238.lstPokemon.StringItemList=Smoochum 1238.lstPokemon.StringItemList=Smoochum
1239.lstPokemon.StringItemList=Elekid 1239.lstPokemon.StringItemList=Elekid
1240.lstPokemon.StringItemList=Magby 1240.lstPokemon.StringItemList=Magby
1241.lstPokemon.StringItemList=Miltank
1242.lstPokemon.StringItemList=Blissey
1243.lstPokemon.StringItemList=Raikou
1244.lstPokemon.StringItemList=Entei
1245.lstPokemon.StringItemList=Suicune
1246.lstPokemon.StringItemList=Larvitar
1247.lstPokemon.StringItemList=Pupitar
1248.lstPokemon.StringItemList=Tyranitar
1249.lstPokemon.StringItemList=Lugia
1250.lstPokemon.StringItemList=Ho-Oh
1251.lstPokemon.StringItemList=Celebi

View File

@ -162,14 +162,106 @@
<dlg:menuitem dlg:value="&amp;1149.lstPokemon.StringItemList"/> <dlg:menuitem dlg:value="&amp;1149.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1150.lstPokemon.StringItemList"/> <dlg:menuitem dlg:value="&amp;1150.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1151.lstPokemon.StringItemList"/> <dlg:menuitem dlg:value="&amp;1151.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1152.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1153.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1154.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1155.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1156.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1157.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1158.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1159.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1160.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1161.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1162.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1163.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1164.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1165.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1166.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1167.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1168.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1169.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1170.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1171.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1172.lstPokemon.StringItemList"/> <dlg:menuitem dlg:value="&amp;1172.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1173.lstPokemon.StringItemList"/> <dlg:menuitem dlg:value="&amp;1173.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1174.lstPokemon.StringItemList"/> <dlg:menuitem dlg:value="&amp;1174.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1175.lstPokemon.StringItemList"/> <dlg:menuitem dlg:value="&amp;1175.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1176.lstPokemon.StringItemList"/> <dlg:menuitem dlg:value="&amp;1176.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1177.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1178.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1179.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1180.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1181.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1182.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1183.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1184.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1185.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1186.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1187.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1188.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1189.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1190.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1191.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1192.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1193.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1194.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1195.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1196.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1197.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1198.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1199.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1200.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1201.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1202.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1203.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1204.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1205.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1206.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1207.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1208.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1209.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1210.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1211.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1212.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1213.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1214.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1215.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1216.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1217.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1218.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1219.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1220.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1221.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1222.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1223.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1224.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1225.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1226.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1227.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1228.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1229.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1230.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1231.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1232.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1233.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1234.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1235.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1236.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1237.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1238.lstPokemon.StringItemList"/> <dlg:menuitem dlg:value="&amp;1238.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1239.lstPokemon.StringItemList"/> <dlg:menuitem dlg:value="&amp;1239.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1240.lstPokemon.StringItemList"/> <dlg:menuitem dlg:value="&amp;1240.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1241.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1242.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1243.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1244.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1245.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1246.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1247.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1248.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1249.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1250.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1251.lstPokemon.StringItemList"/>
</dlg:menupopup> </dlg:menupopup>
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:PokemonGoIV.1Dialog.subLstPokemonSelected?language=Basic&amp;location=application" script:language="Script"/> <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:PokemonGoIV.1Dialog.subLstPokemonSelected?language=Basic&amp;location=application" script:language="Script"/>
</dlg:menulist> </dlg:menulist>