* Restructured the code and moved the report creation to an independent module. Moved the IV sorting to the report module. The main module is now only doing IV finding.
* Changed the reported estimated CPs from values to formulas. * Moved the localized Pokémon names from the DialogStrings to AddonConfiguration, so that they can also be used in the report, too. * Changed the report logic to report the estimated maximum CPs of the last evolution forms, instead of several special rules. * Localized the report headers.
This commit is contained in:
parent
4a663f7449
commit
1e9835372f
@ -25,6 +25,7 @@ Type aStats
|
|||||||
nAttack As Integer
|
nAttack As Integer
|
||||||
nDefense As Integer
|
nDefense As Integer
|
||||||
mEvolved () As String
|
mEvolved () As String
|
||||||
|
bIsLastForm As Boolean
|
||||||
End Type
|
End Type
|
||||||
|
|
||||||
' The individual values of a Pokémon.
|
' The individual values of a Pokémon.
|
||||||
@ -33,15 +34,10 @@ Type aIV
|
|||||||
nStamina As Integer
|
nStamina As Integer
|
||||||
nAttack As Integer
|
nAttack As Integer
|
||||||
nDefense As Integer
|
nDefense As Integer
|
||||||
|
' For sorting
|
||||||
nTotal As Integer
|
nTotal As Integer
|
||||||
nMaxCP As Integer
|
nMaxCP As Integer
|
||||||
maEvolved () As aEvolvedStats
|
nMaxMaxCP As Integer
|
||||||
End Type
|
|
||||||
|
|
||||||
' The calculated evolved stats of a Pokémon.
|
|
||||||
Type aEvolvedStats
|
|
||||||
nCP As Integer
|
|
||||||
nMaxCP As Integer
|
|
||||||
End Type
|
End Type
|
||||||
|
|
||||||
' The parameters to find the individual values.
|
' The parameters to find the individual values.
|
||||||
@ -76,49 +72,30 @@ Sub subMain
|
|||||||
If UBound (maIVs) = -1 Then
|
If UBound (maIVs) = -1 Then
|
||||||
MsgBox fnGetResString ("ErrorNotFound")
|
MsgBox fnGetResString ("ErrorNotFound")
|
||||||
Else
|
Else
|
||||||
subSaveIV (aBaseStats, aQuery, maIVs)
|
subCreateReport (aBaseStats, aQuery, maIVs)
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' fnFindIV: Finds the possible individual values of the Pokémon
|
' fnFindIV: Finds the possible individual values of the Pokémon
|
||||||
Function fnFindIV ( _
|
Function fnFindIV ( _
|
||||||
aBaseStats As aStats, aQuery As aFindIVParam) As Variant
|
aBaseStats As aStats, aQuery As aFindIVParam) As Variant
|
||||||
Dim nEvolved As Integer
|
Dim maIV () As New aIV, nN As Integer
|
||||||
Dim maEvBaseStats () As New aStats, aTempStats As New aStats
|
|
||||||
Dim maIV () As New aIV, aTempIV As New aIV
|
|
||||||
Dim fLevel As Double, nStamina As Integer
|
Dim fLevel As Double, nStamina As Integer
|
||||||
Dim nAttack As Integer, nDefense As integer
|
Dim nAttack As Integer, nDefense As integer
|
||||||
Dim nI As Integer, nJ As Integer
|
Dim nI As Integer, nJ As Integer, fLevelStep As Double
|
||||||
Dim fStep As Double, nN As Integer, fMaxLevel As Double
|
|
||||||
|
|
||||||
If aQuery.sPokemonId = "" Then
|
If aQuery.sPokemonId = "" Then
|
||||||
fnFindIV = maIV
|
fnFindIV = maIV
|
||||||
Exit Function
|
Exit Function
|
||||||
End If
|
End If
|
||||||
If aQuery.bIsNew Then
|
If aQuery.bIsNew Then
|
||||||
fStep = 1
|
fLevelStep = 1
|
||||||
Else
|
Else
|
||||||
fStep = 0.5
|
fLevelStep = 0.5
|
||||||
End If
|
End If
|
||||||
subReadStardust
|
subReadStardust
|
||||||
nEvolved = UBound (aBaseStats.mEvolved)
|
|
||||||
If nEvolved > -1 Then
|
|
||||||
ReDim Preserve maEvBaseStats (nEvolved) As New aStats
|
|
||||||
For nI = 0 To nEvolved
|
|
||||||
aTempStats = fnGetBaseStats (aBaseStats.mEvolved (nI))
|
|
||||||
With maEvBaseStats (nI)
|
|
||||||
.nAttack = aTempStats.nAttack
|
|
||||||
.nDefense = aTempStats.nDefense
|
|
||||||
.nStamina = aTempStats.nStamina
|
|
||||||
End With
|
|
||||||
Next nI
|
|
||||||
End If
|
|
||||||
nN = -1
|
nN = -1
|
||||||
fMaxLevel = aQuery.nPlayerLevel + 1.5
|
For fLevel = 1 To UBound (mStardust) Step fLevelStep
|
||||||
If fMaxLevel > 40 Then
|
|
||||||
fMaxLevel = 40
|
|
||||||
End If
|
|
||||||
For fLevel = 1 To UBound (mStardust) Step fStep
|
|
||||||
If mStardust (CInt (fLevel - 0.5)) = aQuery.nStardust Then
|
If mStardust (CInt (fLevel - 0.5)) = aQuery.nStardust Then
|
||||||
For nStamina = 0 To 15
|
For nStamina = 0 To 15
|
||||||
If fnCalcHP (aBaseStats, fLevel, nStamina) = aQuery.nHP Then
|
If fnCalcHP (aBaseStats, fLevel, nStamina) = aQuery.nHP Then
|
||||||
@ -133,30 +110,7 @@ Function fnFindIV ( _
|
|||||||
.nAttack = nAttack
|
.nAttack = nAttack
|
||||||
.nDefense = nDefense
|
.nDefense = nDefense
|
||||||
.nStamina = nStamina
|
.nStamina = nStamina
|
||||||
.nTotal = nAttack _
|
|
||||||
+ nDefense + nStamina
|
|
||||||
End With
|
End With
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
maIV (nN).nMaxCP = fnCalcCP ( _
|
|
||||||
aBaseStats, fMaxLevel, _
|
|
||||||
nAttack, nDefense, nStamina)
|
|
||||||
End If
|
|
||||||
maIV (nN).maEvolved _
|
|
||||||
= fnGetEvolvedArray (nEvolved)
|
|
||||||
For nI = 0 To nEvolved
|
|
||||||
maIV (nN).maEvolved (nI).nCP _
|
|
||||||
= fnCalcCP ( _
|
|
||||||
maEvBaseStats (nI), _
|
|
||||||
fLevel, nAttack, _
|
|
||||||
nDefense, nStamina)
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
maIV (nN).maEvolved (nI).nMaxCP _
|
|
||||||
= fnCalcCP ( _
|
|
||||||
maEvBaseStats (nI), _
|
|
||||||
fMaxLevel, nAttack, _
|
|
||||||
nDefense, nStamina)
|
|
||||||
End If
|
|
||||||
Next nI
|
|
||||||
End If
|
End If
|
||||||
Next nDefense
|
Next nDefense
|
||||||
Next nAttack
|
Next nAttack
|
||||||
@ -164,309 +118,9 @@ Function fnFindIV ( _
|
|||||||
Next nStamina
|
Next nStamina
|
||||||
End If
|
End If
|
||||||
Next fLevel
|
Next fLevel
|
||||||
' Sorts the IVs
|
|
||||||
For nI = 0 To UBound (maIV) - 1
|
|
||||||
For nJ = nI + 1 To UBound (maIV)
|
|
||||||
If fnCompareIV (maIV (nI), maIV (nJ)) > 0 Then
|
|
||||||
' This is an array of data. The data are actually
|
|
||||||
' allocated in sequences. maIV (nI) is not a
|
|
||||||
' reference. They cannot simply be assigned.
|
|
||||||
subCopyIV (maIV (nI), aTempIV)
|
|
||||||
subCopyIV (maIV (nJ), maIV (nI))
|
|
||||||
subCopyIV (aTempIV, maIV (nJ))
|
|
||||||
End If
|
|
||||||
Next nJ
|
|
||||||
Next nI
|
|
||||||
fnFindIV = maIV
|
fnFindIV = maIV
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
' fnCompareIV: Compare two IVs for sorting
|
|
||||||
Function fnCompareIV (aIVa As aIV, aIVb As aIV) As Double
|
|
||||||
Dim nCPa As Integer, nCPb As Integer, nI As Integer
|
|
||||||
|
|
||||||
nCPa = aIVa.nMaxCP
|
|
||||||
For nI = 0 To UBound (aIVa.maEvolved)
|
|
||||||
If nCPa < aIVa.maEvolved (nI).nMaxCP Then
|
|
||||||
nCPa = aIVa.maEvolved (nI).nMaxCP
|
|
||||||
End If
|
|
||||||
Next nI
|
|
||||||
nCPb = aIVb.nMaxCP
|
|
||||||
For nI = 0 To UBound (aIVb.maEvolved)
|
|
||||||
If nCPb < aIVb.maEvolved (nI).nMaxCP Then
|
|
||||||
nCPb = aIVb.maEvolved (nI).nMaxCP
|
|
||||||
End If
|
|
||||||
Next nI
|
|
||||||
fnCompareIV = nCPb - nCPa
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
|
|
||||||
nCPa = 0
|
|
||||||
For nI = 0 To UBound (aIVa.maEvolved)
|
|
||||||
If nCPa < aIVa.maEvolved (nI).nCP Then
|
|
||||||
nCPa = aIVa.maEvolved (nI).nCP
|
|
||||||
End If
|
|
||||||
Next nI
|
|
||||||
nCPb = 0
|
|
||||||
For nI = 0 To UBound (aIVb.maEvolved)
|
|
||||||
If nCPb < aIVb.maEvolved (nI).nCP Then
|
|
||||||
nCPb = aIVb.maEvolved (nI).nCP
|
|
||||||
End If
|
|
||||||
Next nI
|
|
||||||
fnCompareIV = nCPb - nCPa
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
|
|
||||||
fnCompareIV = aIVb.nTotal - aIVa.nTotal
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
fnCompareIV = aIVb.fLevel - aIVa.fLevel
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
fnCompareIV = aIVb.nStamina - aIVa.nStamina
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
fnCompareIV = aIVb.nAttack - aIVa.nAttack
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
fnCompareIV = aIVb.nDefense - aIVa.nDefense
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' subCopyIV: Copies one IV to another
|
|
||||||
Function subCopyIV (aFrom As aIV, aTo As aIV) As Double
|
|
||||||
Dim nI As Integer
|
|
||||||
|
|
||||||
With aTo
|
|
||||||
.nAttack = aFrom.nAttack
|
|
||||||
.nDefense = aFrom.nDefense
|
|
||||||
.nStamina = aFrom.nStamina
|
|
||||||
.nTotal = aFrom.nTotal
|
|
||||||
.nMaxCP = aFrom.nMaxCP
|
|
||||||
End With
|
|
||||||
aTo.maEvolved = fnGetEvolvedArray (UBound (aFrom.maEvolved))
|
|
||||||
For nI = 0 To UBound (aFrom.maEvolved)
|
|
||||||
With aTo.maEvolved (nI)
|
|
||||||
.nCP = aFrom.maEvolved (nI).nCP
|
|
||||||
.nMaxCP = aFrom.maEvolved (nI).nMaxCP
|
|
||||||
End With
|
|
||||||
Next nI
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' subSaveIV: Saves the found IV
|
|
||||||
Sub subSaveIV ( _
|
|
||||||
aBaseStats As aStats, aQuery As aFindIVParam, maIVs () As aIV)
|
|
||||||
Dim oDoc As Object, oSheet As Object
|
|
||||||
Dim oRange As Object, oColumns As Object, oRows As Object
|
|
||||||
Dim nI As Integer, nJ As Integer, nFront As Integer
|
|
||||||
Dim nEvolved As Integer
|
|
||||||
Dim mData (Ubound (maIVs) + 1) As Variant, mRow () As Variant
|
|
||||||
Dim mProps () As New com.sun.star.beans.PropertyValue
|
|
||||||
|
|
||||||
oDoc = StarDesktop.loadComponentFromURL ( _
|
|
||||||
"private:factory/scalc", "_default", 0, mProps)
|
|
||||||
oSheet = oDoc.getSheets.getByIndex (0)
|
|
||||||
nEvolved = UBound (maIVs (0).maEvolved) + 1
|
|
||||||
|
|
||||||
mRow = Array ( _
|
|
||||||
"No", "Pokemon", "CP", "HP", "Stardust", _
|
|
||||||
"Lv", "Atk", "Def", "Sta", "IV")
|
|
||||||
nFront = UBound (mRow)
|
|
||||||
If aQuery.sPokemonId = "Eevee" Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + 6) As Variant
|
|
||||||
mRow (nFront + 1) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (0)
|
|
||||||
mRow (nFront + 2) = "Powered-up as " _
|
|
||||||
& aBaseStats.mEvolved (0)
|
|
||||||
mRow (nFront + 3) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (1)
|
|
||||||
mRow (nFront + 4) = "Powered-up as " _
|
|
||||||
& aBaseStats.mEvolved (1)
|
|
||||||
mRow (nFront + 5) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (2)
|
|
||||||
mRow (nFront + 6) = "Powered-up as " _
|
|
||||||
& aBaseStats.mEvolved (2)
|
|
||||||
Else
|
|
||||||
ReDim Preserve mRow (nFront + 3) As Variant
|
|
||||||
mRow (nFront + 1) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (0)
|
|
||||||
mRow (nFront + 2) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (1)
|
|
||||||
mRow (nFront + 3) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (2)
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If nEvolved = 0 Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + 1) As Variant
|
|
||||||
mRow (nFront + 1) = "Powered-up"
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + nEvolved + 1) As Variant
|
|
||||||
For nJ = 0 To nEvolved - 1
|
|
||||||
mRow (nFront + nJ + 1) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (nJ)
|
|
||||||
Next nJ
|
|
||||||
mRow (UBound (mRow)) = "Powered-up as " _
|
|
||||||
& aBaseStats.mEvolved (nEvolved - 1)
|
|
||||||
Else
|
|
||||||
ReDim Preserve mRow (nFront + nEvolved) As Variant
|
|
||||||
For nJ = 0 To nEvolved - 1
|
|
||||||
mRow (nFront + nJ + 1) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (nJ)
|
|
||||||
Next nJ
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
mData (0) = mRow
|
|
||||||
|
|
||||||
For nI = 0 To UBound (maIVs)
|
|
||||||
mRow = Array ( _
|
|
||||||
"", "", "", "", "", _
|
|
||||||
maIVs (nI).fLevel, maIVs (nI).nAttack, _
|
|
||||||
maIVs (nI).nDefense, maIVs (nI).nStamina, _
|
|
||||||
maIVs (nI).nTotal / 45)
|
|
||||||
If aQuery.sPokemonId = "Eevee" Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + 6) As Variant
|
|
||||||
mRow (nFront + 1) = maIVs (nI).maEvolved (0).nCP
|
|
||||||
mRow (nFront + 2) = maIVs (nI).maEvolved (0).nMaxCP
|
|
||||||
mRow (nFront + 3) = maIVs (nI).maEvolved (1).nCP
|
|
||||||
mRow (nFront + 4) = maIVs (nI).maEvolved (1).nMaxCP
|
|
||||||
mRow (nFront + 5) = maIVs (nI).maEvolved (2).nCP
|
|
||||||
mRow (nFront + 6) = maIVs (nI).maEvolved (2).nMaxCP
|
|
||||||
Else
|
|
||||||
ReDim Preserve mRow (nFront + 3) As Variant
|
|
||||||
mRow (nFront + 1) = maIVs (nI).maEvolved (0).nCP
|
|
||||||
mRow (nFront + 2) = maIVs (nI).maEvolved (1).nCP
|
|
||||||
mRow (nFront + 3) = maIVs (nI).maEvolved (2).nCP
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If nEvolved = 0 Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + 1) As Variant
|
|
||||||
mRow (nFront + 1) = maIVs (nI).nMaxCP
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + nEvolved + 1) As Variant
|
|
||||||
For nJ = 0 To nEvolved - 1
|
|
||||||
mRow (nFront + nJ + 1) = maIVs (nI).maEvolved (nJ).nCP
|
|
||||||
Next nJ
|
|
||||||
mRow (UBound (mRow)) = maIVs (nI).maEvolved (nEvolved - 1).nMaxCP
|
|
||||||
Else
|
|
||||||
ReDim Preserve mRow (nFront + nEvolved) As Variant
|
|
||||||
For nJ = 0 To nEvolved - 1
|
|
||||||
mRow (nFront + nJ + 1) = maIVs (nI).maEvolved (nJ).nCP
|
|
||||||
Next nJ
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
mData (nI + 1) = mRow
|
|
||||||
Next nI
|
|
||||||
|
|
||||||
' Fills the query information at the first row
|
|
||||||
mData (1) (0) = aBaseStats.sNo
|
|
||||||
mData (1) (1) = aQuery.sPokemonName
|
|
||||||
mData (1) (2) = aQuery.nCP
|
|
||||||
mData (1) (3) = aQuery.nHP
|
|
||||||
mData (1) (4) = aQuery.nStardust
|
|
||||||
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
0, 0, UBound (mData (0)), UBound (mData))
|
|
||||||
oRange.setDataArray (mData)
|
|
||||||
oRange.setPropertyValue ("VertJustify", _
|
|
||||||
com.sun.star.table.CellVertJustify.TOP)
|
|
||||||
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
0, 1, 0, UBound (mData))
|
|
||||||
oRange.merge (True)
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
1, 1, 1, UBound (mData))
|
|
||||||
oRange.merge (True)
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
2, 1, 2, UBound (mData))
|
|
||||||
oRange.merge (True)
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
3, 1, 3, UBound (mData))
|
|
||||||
oRange.merge (True)
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
4, 1, 4, UBound (mData))
|
|
||||||
oRange.merge (True)
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
9, 1, 9, UBound (mData))
|
|
||||||
oRange.setPropertyValue ("NumberFormat", 10)
|
|
||||||
|
|
||||||
If aQuery.sPokemonId = "Eevee" Then
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
10, 0, 15, 0)
|
|
||||||
Else
|
|
||||||
If nEvolved = 0 Then
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
10, 0, 10, 0)
|
|
||||||
Else
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
10, 0, 10 + nEvolved + 1, 0)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
oRange.setPropertyValue ("IsTextWrapped", True)
|
|
||||||
|
|
||||||
oRows = oSheet.getRows
|
|
||||||
oRows.getByIndex (0).setPropertyValue ("Height", 840)
|
|
||||||
oColumns = oSheet.getColumns
|
|
||||||
oColumns.getByIndex (0).setPropertyValue ("Width", 890)
|
|
||||||
oColumns.getByIndex (1).setPropertyValue ("Width", 2310)
|
|
||||||
oColumns.getByIndex (2).setPropertyValue ("Width", 890)
|
|
||||||
oColumns.getByIndex (3).setPropertyValue ("Width", 890)
|
|
||||||
oColumns.getByIndex (4).setPropertyValue ("Width", 1780)
|
|
||||||
oColumns.getByIndex (5).setPropertyValue ("Width", 860)
|
|
||||||
oColumns.getByIndex (6).setPropertyValue ("Width", 860)
|
|
||||||
oColumns.getByIndex (7).setPropertyValue ("Width", 860)
|
|
||||||
oColumns.getByIndex (8).setPropertyValue ("Width", 860)
|
|
||||||
oColumns.getByIndex (9).setPropertyValue ("Width", 1030)
|
|
||||||
If aQuery.sPokemonId = "Eevee" Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
For nI = 0 To 5 Step 2
|
|
||||||
oColumns.getByIndex (10 + nI).setPropertyValue ( _
|
|
||||||
"Width", 2310)
|
|
||||||
oColumns.getByIndex (10 + nI + 1).setPropertyValue ( _
|
|
||||||
"Width", 2810)
|
|
||||||
Next nI
|
|
||||||
Else
|
|
||||||
For nI = 0 To 2
|
|
||||||
oColumns.getByIndex (10 + nI).setPropertyValue ( _
|
|
||||||
"Width", 2310)
|
|
||||||
Next nI
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If nEvolved = 0 Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
oColumns.getByIndex (10).setPropertyValue ( _
|
|
||||||
"Width", 2200)
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
For nI = 0 To nEvolved - 1
|
|
||||||
oColumns.getByIndex (10 + nI).setPropertyValue ( _
|
|
||||||
"Width", 2310)
|
|
||||||
Next nI
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
oColumns.getByIndex ( _
|
|
||||||
10 + nEvolved).setPropertyValue ( _
|
|
||||||
"Width", 2810)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' fnFilterAppraisals: Filters the IV by the appraisals.
|
' fnFilterAppraisals: Filters the IV by the appraisals.
|
||||||
Function fnFilterAppraisals (aQuery As aFindIVParam, _
|
Function fnFilterAppraisals (aQuery As aFindIVParam, _
|
||||||
nAttack As Integer, nDefense As Integer, _
|
nAttack As Integer, nDefense As Integer, _
|
||||||
@ -585,8 +239,8 @@ Function fnGetCPM (fLevel As Double) As Double
|
|||||||
If CInt (fLevel) = fLevel Then
|
If CInt (fLevel) = fLevel Then
|
||||||
fnGetCPM = mCPM (fLevel)
|
fnGetCPM = mCPM (fLevel)
|
||||||
Else
|
Else
|
||||||
fnGetCPM = ((mCpm (fLevel - 0.5) ^ 2 _
|
fnGetCPM = ((mCPM (fLevel - 0.5) ^ 2 _
|
||||||
+ mCpm (fLevel + 0.5) ^ 2) / 2) ^ 0.5
|
+ mCPM (fLevel + 0.5) ^ 2) / 2) ^ 0.5
|
||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@ -595,56 +249,6 @@ Function fnFloor (fNumber As Double) As Integer
|
|||||||
fnFloor = CInt (fNumber - 0.5)
|
fnFloor = CInt (fNumber - 0.5)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
' fnMapPokemonIdToName: Maps the Pokémon IDs to their localized names.
|
|
||||||
Function fnMapPokemonIdToName (sId As String) As String
|
|
||||||
fnMapPokemonIdToName = fnGetResString ("Pokemon" & sId)
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' subReadBaseStats: Reads the base stats table.
|
|
||||||
Sub subReadBaseStats
|
|
||||||
Dim mData As Variant, nI As Integer, nJ As Integer
|
|
||||||
DIm nEvolved As Integer
|
|
||||||
|
|
||||||
If UBound (maBaseStats) = -1 Then
|
|
||||||
mData = fnGetBaseStatsData
|
|
||||||
ReDim Preserve maBaseStats (UBound (mData)) As New aStats
|
|
||||||
For nI = 0 To UBound (mData)
|
|
||||||
With maBaseStats (nI)
|
|
||||||
.sNo = mData (nI) (1)
|
|
||||||
.sPokemonId = mData (nI) (0)
|
|
||||||
.nStamina = mData (nI) (2)
|
|
||||||
.nAttack = mData (nI) (3)
|
|
||||||
.nDefense = mData (nI) (4)
|
|
||||||
End With
|
|
||||||
nEvolved = UBound (mData (nI) (5))
|
|
||||||
maBaseStats (nI).mEvolved = fnGetStringArray (nEvolved)
|
|
||||||
For nJ = 0 To nEvolved
|
|
||||||
maBaseStats (nI).mEvolved (nJ) = mData (nI) (5) (nJ)
|
|
||||||
Next nJ
|
|
||||||
Next nI
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' fnGetStringArray: Obtains a blank string array
|
|
||||||
Function fnGetStringArray (nUBound As Integer) As Variant
|
|
||||||
Dim mData () As String
|
|
||||||
|
|
||||||
If nUBound >= 0 Then
|
|
||||||
ReDim Preserve mData (nUBound) As String
|
|
||||||
End If
|
|
||||||
fnGetStringArray = mData
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' fnGetEvolvedArray: Obtains a blank aEvolvedStats array
|
|
||||||
Function fnGetEvolvedArray (nUBound As Integer) As Variant
|
|
||||||
Dim mData () As New aEvolvedStats
|
|
||||||
|
|
||||||
If nUBound >= 0 Then
|
|
||||||
ReDim Preserve mData (nUBound) As New aEvolvedStats
|
|
||||||
End If
|
|
||||||
fnGetEvolvedArray = mData
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' fnReplace: Replaces all occurrances of a term to another.
|
' fnReplace: Replaces all occurrances of a term to another.
|
||||||
Function fnReplace ( _
|
Function fnReplace ( _
|
||||||
sText As String, sFrom As String, sTo As String) As String
|
sText As String, sFrom As String, sTo As String) As String
|
||||||
@ -660,6 +264,37 @@ Function fnReplace ( _
|
|||||||
fnReplace = sResult
|
fnReplace = sResult
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
' subReadBaseStats: Reads the base stats table.
|
||||||
|
Sub subReadBaseStats
|
||||||
|
Dim mData As Variant, nI As Integer, nJ As Integer, nK As Integer
|
||||||
|
Dim nEvolved As Integer, mEvolved () As Variant
|
||||||
|
|
||||||
|
If UBound (maBaseStats) = -1 Then
|
||||||
|
mData = fnGetBaseStatsData
|
||||||
|
ReDim Preserve maBaseStats (UBound (mData)) As New aStats
|
||||||
|
For nI = 0 To UBound (mData)
|
||||||
|
With maBaseStats (nI)
|
||||||
|
.sNo = mData (nI) (1)
|
||||||
|
.sPokemonId = mData (nI) (0)
|
||||||
|
.nStamina = mData (nI) (2)
|
||||||
|
.nAttack = mData (nI) (3)
|
||||||
|
.nDefense = mData (nI) (4)
|
||||||
|
End With
|
||||||
|
nEvolved = UBound (mData (nI) (5)) + 1
|
||||||
|
mEvolved = Array ()
|
||||||
|
maBaseStats (nI).bIsLastForm = True
|
||||||
|
If nEvolved > 0 Then
|
||||||
|
ReDim mEvolved (nEvolved - 1) As Variant
|
||||||
|
For nJ = 0 To nEvolved - 1
|
||||||
|
mEvolved (nJ) = mData (nI) (5) (nJ)
|
||||||
|
Next nJ
|
||||||
|
maBaseStats (nI).mEvolved = mEvolved
|
||||||
|
maBaseStats (nI).bIsLastForm = False
|
||||||
|
End If
|
||||||
|
Next nI
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
' subReadCPM: Reads the CPM table.
|
' subReadCPM: Reads the CPM table.
|
||||||
Sub subReadCPM
|
Sub subReadCPM
|
||||||
If UBound (mCPM) = -1 Then
|
If UBound (mCPM) = -1 Then
|
||||||
|
@ -50,6 +50,19 @@ Function fnAskParam As aFindIVParam
|
|||||||
oDialog.getControl ("cbxBest3").setVisible (False)
|
oDialog.getControl ("cbxBest3").setVisible (False)
|
||||||
oDialog.getControl ("lstMax").setVisible (False)
|
oDialog.getControl ("lstMax").setVisible (False)
|
||||||
|
|
||||||
|
' Adds the Pokémons by their localized names.
|
||||||
|
subReadBaseStats
|
||||||
|
ReDim mPokemons (UBound (maBaseStats)) As String
|
||||||
|
For nI = 0 To UBound (maBaseStats)
|
||||||
|
mPokemons (nI) = fnGetResString ( _
|
||||||
|
"Pokemon" & maBaseStats (nI).sPokemonId)
|
||||||
|
Next nI
|
||||||
|
oList = oDialog.getControl ("lstPokemon")
|
||||||
|
If oList.getItemCount > 0 Then
|
||||||
|
getItemCount.removeItems (0, oList.getItemCount)
|
||||||
|
End If
|
||||||
|
oList.addItems (mPokemons, 0)
|
||||||
|
|
||||||
oDialog.getControl ("imgPokemon").getModel.setPropertyValue ( _
|
oDialog.getControl ("imgPokemon").getModel.setPropertyValue ( _
|
||||||
"ImageURL", fnGetImageUrl ("Unknown"))
|
"ImageURL", fnGetImageUrl ("Unknown"))
|
||||||
oDialog.getControl ("imgTeamLogo").getModel.setPropertyValue ( _
|
oDialog.getControl ("imgTeamLogo").getModel.setPropertyValue ( _
|
||||||
|
379
PokemonGoIV/2Report.vb
Normal file
379
PokemonGoIV/2Report.vb
Normal file
@ -0,0 +1,379 @@
|
|||||||
|
' Copyright (c) 2017 imacat.
|
||||||
|
'
|
||||||
|
' Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
' you may not use this file except in compliance with the License.
|
||||||
|
' You may obtain a copy of the License at
|
||||||
|
'
|
||||||
|
' http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
'
|
||||||
|
' Unless required by applicable law or agreed to in writing, software
|
||||||
|
' distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
' See the License for the specific language governing permissions and
|
||||||
|
' limitations under the License.
|
||||||
|
|
||||||
|
' 2Report: The Pokémon GO IV report generator.
|
||||||
|
' by imacat <imacat@mail.imacat.idv.tw>, 2017-06-07
|
||||||
|
|
||||||
|
Option Explicit
|
||||||
|
|
||||||
|
' The base stats of a Pokémon.
|
||||||
|
Type aStats
|
||||||
|
sNo As String
|
||||||
|
sPokemonId As String
|
||||||
|
nStamina As Integer
|
||||||
|
nAttack As Integer
|
||||||
|
nDefense As Integer
|
||||||
|
mEvolved () As String
|
||||||
|
End Type
|
||||||
|
|
||||||
|
' The individual values of a Pokémon.
|
||||||
|
Type aIV
|
||||||
|
fLevel As Double
|
||||||
|
nStamina As Integer
|
||||||
|
nAttack As Integer
|
||||||
|
nDefense As Integer
|
||||||
|
' For sorting
|
||||||
|
nTotal As Integer
|
||||||
|
nMaxCP As Integer
|
||||||
|
nMaxMaxCP As Integer
|
||||||
|
End Type
|
||||||
|
|
||||||
|
' The parameters to find the individual values.
|
||||||
|
Type aFindIVParam
|
||||||
|
sPokemonId As String
|
||||||
|
sPokemonName As String
|
||||||
|
nCP As Integer
|
||||||
|
nHP As Integer
|
||||||
|
nStardust As Integer
|
||||||
|
nPlayerLevel As Integer
|
||||||
|
bIsNew As Boolean
|
||||||
|
nTotal As Integer
|
||||||
|
sBest As String
|
||||||
|
nMax As Integer
|
||||||
|
bIsCancelled As Boolean
|
||||||
|
End Type
|
||||||
|
|
||||||
|
' subCreateReport: Creates the Pokémon GO IV report.
|
||||||
|
Sub subCreateReport ( _
|
||||||
|
aBaseStats As aStats, aQuery As aFindIVParam, maIVs () As aIV)
|
||||||
|
Dim oDoc As Object, oSheet As Object
|
||||||
|
Dim oRange As Object, oColumns As Object, oRows As Object
|
||||||
|
Dim oCell As Object, sFormula As String
|
||||||
|
Dim nI As Integer, nJ As Integer, nCol As Integer
|
||||||
|
Dim nLeadCols As Integer, nTotalCols As Integer
|
||||||
|
Dim nEvolved As Integer, fMaxLevel As Double
|
||||||
|
Dim sCPM As String, sMaxCPM As String
|
||||||
|
Dim sColIVAttack As String, sColIVDefense As String
|
||||||
|
Dim sColIVStamina As String
|
||||||
|
Dim sPokemonName As String
|
||||||
|
Dim mData (Ubound (maIVs) + 1) As Variant, mRow () As Variant
|
||||||
|
Dim maEvBaseStats () As Variant
|
||||||
|
Dim mProps () As New com.sun.star.beans.PropertyValue
|
||||||
|
|
||||||
|
oDoc = StarDesktop.loadComponentFromURL ( _
|
||||||
|
"private:factory/scalc", "_default", 0, mProps)
|
||||||
|
oSheet = oDoc.getSheets.getByIndex (0)
|
||||||
|
|
||||||
|
nEvolved = UBound (aBaseStats.mEvolved) + 1
|
||||||
|
If nEvolved > 0 Then
|
||||||
|
ReDim maEvBaseStats (nEvolved - 1) As Variant
|
||||||
|
For nJ = 0 To nEvolved - 1
|
||||||
|
maEvBaseStats (nJ) = fnGetBaseStats (aBaseStats.mEvolved (nJ))
|
||||||
|
Next nJ
|
||||||
|
End If
|
||||||
|
|
||||||
|
If aQuery.nPlayerLevel <> 0 Then
|
||||||
|
fMaxLevel = aQuery.nPlayerLevel + 1.5
|
||||||
|
If fMaxLevel > 40 Then
|
||||||
|
fMaxLevel = 40
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
fMaxLevel = 40
|
||||||
|
End If
|
||||||
|
sMaxCPM = fnGetCPMFormula (fMaxLevel)
|
||||||
|
|
||||||
|
' Sorts the IVs
|
||||||
|
subSortIVs (aBaseStats, maEvBaseStats, maIVs, fMaxLevel)
|
||||||
|
|
||||||
|
' Fills in the report data.
|
||||||
|
mRow = Array ( _
|
||||||
|
fnGetResString ("ReportNo"), _
|
||||||
|
fnGetResString ("ReportPokemon"), _
|
||||||
|
fnGetResString ("ReportCP"), _
|
||||||
|
fnGetResString ("ReportHP"), _
|
||||||
|
fnGetResString ("ReportStardust"), _
|
||||||
|
fnGetResString ("ReportLevel"), _
|
||||||
|
fnGetResString ("ReportAttack"), _
|
||||||
|
fnGetResString ("ReportDefense"), _
|
||||||
|
fnGetResString ("ReportStamina"), _
|
||||||
|
fnGetResString ("ReportIVPercent"))
|
||||||
|
nLeadCols = UBound (mRow) + 1
|
||||||
|
|
||||||
|
nTotalCols = nLeadCols
|
||||||
|
If aBaseStats.bIsLastForm Then
|
||||||
|
nTotalCols = nTotalCols + 1
|
||||||
|
End If
|
||||||
|
For nJ = 0 To nEvolved - 1
|
||||||
|
nTotalCols = nTotalCols + 1
|
||||||
|
If maEvBaseStats (nJ).bIsLastForm Then
|
||||||
|
nTotalCols = nTotalCols + 1
|
||||||
|
End If
|
||||||
|
Next nJ
|
||||||
|
|
||||||
|
ReDim Preserve mRow (nTotalCols - 1) As Variant
|
||||||
|
nCol = nLeadCols
|
||||||
|
If aBaseStats.bIsLastForm Then
|
||||||
|
mRow (nCol) = fnReplace (fnGetResString ("ReportCPPowerUp"), _
|
||||||
|
"[Level]", fMaxLevel)
|
||||||
|
nCol = nCol + 1
|
||||||
|
End If
|
||||||
|
For nJ = 0 To nEvolved - 1
|
||||||
|
sPokemonName = fnGetResString ( _
|
||||||
|
"Pokemon" & aBaseStats.mEvolved (nJ))
|
||||||
|
mRow (nCol) = fnReplace (fnGetResString ("ReportCPEvolve"), _
|
||||||
|
"[Pokémon]", sPokemonName)
|
||||||
|
nCol = nCol + 1
|
||||||
|
If maEvBaseStats (nJ).bIsLastForm Then
|
||||||
|
mRow (nCol) = fnReplace (fnReplace ( _
|
||||||
|
fnGetResString ("ReportCPEvolvePowerUp"), _
|
||||||
|
"[Pokémon]", sPokemonName), _
|
||||||
|
"[Level]", fMaxLevel)
|
||||||
|
End If
|
||||||
|
Next nJ
|
||||||
|
mData (0) = mRow
|
||||||
|
|
||||||
|
For nI = 0 To UBound (maIVs)
|
||||||
|
mRow = Array ( _
|
||||||
|
"", "", "", "", "", _
|
||||||
|
maIVs (nI).fLevel, maIVs (nI).nAttack, _
|
||||||
|
maIVs (nI).nDefense, maIVs (nI).nStamina, "")
|
||||||
|
ReDim Preserve mRow (nTotalCols - 1) As Variant
|
||||||
|
For nJ = nLeadCols To nEvolved - 1
|
||||||
|
mRow (nJ) = ""
|
||||||
|
Next nJ
|
||||||
|
mData (nI + 1) = mRow
|
||||||
|
Next nI
|
||||||
|
|
||||||
|
' Fills the query information at the first row
|
||||||
|
mData (1) (0) = aBaseStats.sNo
|
||||||
|
mData (1) (1) = aQuery.sPokemonName
|
||||||
|
mData (1) (2) = aQuery.nCP
|
||||||
|
mData (1) (3) = aQuery.nHP
|
||||||
|
mData (1) (4) = aQuery.nStardust
|
||||||
|
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
0, 0, UBound (mData (0)), UBound (mData))
|
||||||
|
oRange.setDataArray (mData)
|
||||||
|
oRange.setPropertyValue ("VertJustify", _
|
||||||
|
com.sun.star.table.CellVertJustify.TOP)
|
||||||
|
|
||||||
|
' Fills in the CP calculation.
|
||||||
|
For nI = 0 To UBound (maIVs)
|
||||||
|
sCPM = fnGetCPMFormula (maIVs (nI).fLevel)
|
||||||
|
sColIVAttack = "G" & (nI + 2)
|
||||||
|
sColIVDefense = "H" & (nI + 2)
|
||||||
|
sColIVStamina = "I" & (nI + 2)
|
||||||
|
|
||||||
|
oCell = oSheet.getCellByPosition (nLeadCols - 1, nI + 1)
|
||||||
|
sFormula = "=(" & sColIVAttack & "+" & sColIVDefense _
|
||||||
|
& "+" & sColIVStamina & ")/45"
|
||||||
|
oCell.setFormula (sFormula)
|
||||||
|
|
||||||
|
nCol = nLeadCols
|
||||||
|
If aBaseStats.bIsLastForm Then
|
||||||
|
oCell = oSheet.getCellByPosition (nCol, nI + 1)
|
||||||
|
sFormula = fnGetCPFormula (aBaseStats, _
|
||||||
|
sColIVAttack, sColIVDefense, sColIVStamina, sMaxCPM)
|
||||||
|
oCell.setFormula (sFormula)
|
||||||
|
nCol = nCol + 1
|
||||||
|
End If
|
||||||
|
For nJ = 0 To nEvolved - 1
|
||||||
|
oCell = oSheet.getCellByPosition (nCol, nI + 1)
|
||||||
|
sFormula = fnGetCPFormula (maEvBaseStats (nJ), _
|
||||||
|
sColIVAttack, sColIVDefense, sColIVStamina, sCPM)
|
||||||
|
oCell.setFormula (sFormula)
|
||||||
|
nCol = nCol + 1
|
||||||
|
If maEvBaseStats (nJ).bIsLastForm Then
|
||||||
|
oCell = oSheet.getCellByPosition (nCol, nI + 1)
|
||||||
|
sFormula = fnGetCPFormula (maEvBaseStats (nJ), _
|
||||||
|
sColIVAttack, sColIVDefense, sColIVStamina, sMaxCPM)
|
||||||
|
oCell.setFormula (sFormula)
|
||||||
|
nCol = nCol + 1
|
||||||
|
End If
|
||||||
|
Next nJ
|
||||||
|
Next nI
|
||||||
|
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
0, 1, 0, UBound (mData))
|
||||||
|
oRange.merge (True)
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
1, 1, 1, UBound (mData))
|
||||||
|
oRange.merge (True)
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
2, 1, 2, UBound (mData))
|
||||||
|
oRange.merge (True)
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
3, 1, 3, UBound (mData))
|
||||||
|
oRange.merge (True)
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
4, 1, 4, UBound (mData))
|
||||||
|
oRange.merge (True)
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
9, 1, 9, UBound (mData))
|
||||||
|
oRange.setPropertyValue ("NumberFormat", 10)
|
||||||
|
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
nLeadCols, 0, nTotalCols - 1, 0)
|
||||||
|
oRange.setPropertyValue ("IsTextWrapped", True)
|
||||||
|
|
||||||
|
oColumns = oSheet.getColumns
|
||||||
|
oColumns.getByIndex (0).setPropertyValue ("Width", 890)
|
||||||
|
oColumns.getByIndex (1).setPropertyValue ("Width", 2310)
|
||||||
|
oColumns.getByIndex (2).setPropertyValue ("Width", 890)
|
||||||
|
oColumns.getByIndex (3).setPropertyValue ("Width", 890)
|
||||||
|
oColumns.getByIndex (4).setPropertyValue ("Width", 1780)
|
||||||
|
oColumns.getByIndex (5).setPropertyValue ("Width", 860)
|
||||||
|
oColumns.getByIndex (6).setPropertyValue ("Width", 860)
|
||||||
|
oColumns.getByIndex (7).setPropertyValue ("Width", 860)
|
||||||
|
oColumns.getByIndex (8).setPropertyValue ("Width", 860)
|
||||||
|
oColumns.getByIndex (9).setPropertyValue ("Width", 1030)
|
||||||
|
For nJ = nLeadCols To nTotalCols - 1
|
||||||
|
oColumns.getByIndex (nJ).setPropertyValue ( _
|
||||||
|
"Width", 2810)
|
||||||
|
Next nJ
|
||||||
|
oRows = oSheet.getRows
|
||||||
|
oRows.getByIndex (0).setPropertyValue ("OptimalHeight", True)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' subSortIVs: Sorts the IVs
|
||||||
|
Sub subSortIVs ( _
|
||||||
|
aBaseStats As aStats, maEvBaseStats () As aIV, _
|
||||||
|
maIVs () As aIV, fMaxLevel As Double)
|
||||||
|
Dim nI As Integer, nJ As Integer
|
||||||
|
Dim nCP As Integer
|
||||||
|
|
||||||
|
' Calculate the sorting keys.
|
||||||
|
For nI = 0 To UBound (maIVs) - 1
|
||||||
|
maIVs (nI).nTotal = maIVs (nI).nAttack + maIVs (nI).nDefense _
|
||||||
|
+ maIVs (nI).nStamina
|
||||||
|
maIVs (nI).nMaxCP = fnCalcCP (aBaseStats, _
|
||||||
|
maIVs (nI).fLevel, maIVs (nI).nAttack, _
|
||||||
|
maIVs (nI).nDefense, maIVs (nI).nStamina)
|
||||||
|
maIVs (nI).nMaxMaxCP = fnCalcCP (aBaseStats, _
|
||||||
|
fMaxLevel, maIVs (nI).nAttack, _
|
||||||
|
maIVs (nI).nDefense, maIVs (nI).nStamina)
|
||||||
|
For nJ = 0 To UBound (aBaseStats.mEvolved)
|
||||||
|
nCP = fnCalcCP (maEvBaseStats (nJ), _
|
||||||
|
maIVs (nI).fLevel, maIVs (nI).nAttack, _
|
||||||
|
maIVs (nI).nDefense, maIVs (nI).nStamina)
|
||||||
|
If maIVs (nI).nMaxCP < nCP Then
|
||||||
|
maIVs (nI).nMaxCP = nCP
|
||||||
|
End If
|
||||||
|
nCP = fnCalcCP (maEvBaseStats (nJ), _
|
||||||
|
fMaxLevel, maIVs (nI).nAttack, _
|
||||||
|
maIVs (nI).nDefense, maIVs (nI).nStamina)
|
||||||
|
If maIVs (nI).nMaxMaxCP < nCP Then
|
||||||
|
maIVs (nI).nMaxMaxCP = nCP
|
||||||
|
End If
|
||||||
|
Next nJ
|
||||||
|
Next nI
|
||||||
|
' Sort the IVs.
|
||||||
|
For nI = 0 To UBound (maIVs) - 1
|
||||||
|
For nJ = nI + 1 To UBound (maIVs)
|
||||||
|
If fnCompareIV (maIVs (nI), maIVs (nJ)) > 0 Then
|
||||||
|
' This is an array of data. The data are actually
|
||||||
|
' allocated in sequences. maIVs (nI) is not a
|
||||||
|
' reference. They cannot simply be assigned.
|
||||||
|
subSwapIV (maIVs (nI), maIVs (nJ))
|
||||||
|
End If
|
||||||
|
Next nJ
|
||||||
|
Next nI
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' fnCompareIV: Compare two IVs for sorting
|
||||||
|
Function fnCompareIV (aIVa As aIV, aIVb As aIV) As Double
|
||||||
|
Dim nCPa As Integer, nCPb As Integer, nI As Integer
|
||||||
|
|
||||||
|
fnCompareIV = aIVb.nMaxMaxCP - aIVa.nMaxMaxCP
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.nMaxCP - aIVa.nMaxCP
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.nTotal - aIVa.nTotal
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.fLevel - aIVa.fLevel
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.nStamina - aIVa.nStamina
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.nAttack - aIVa.nAttack
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.nDefense - aIVa.nDefense
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
|
' subSwapIV: Swaps two IVs
|
||||||
|
Function subSwapIV (aIVa As aIV, aIVb As aIV) As Double
|
||||||
|
Dim aTempIV As New aIV
|
||||||
|
|
||||||
|
With aTempIV
|
||||||
|
.nAttack = aIVa.nAttack
|
||||||
|
.nDefense = aIVa.nDefense
|
||||||
|
.nStamina = aIVa.nStamina
|
||||||
|
.nTotal = aIVa.nTotal
|
||||||
|
.nMaxCP = aIVa.nMaxCP
|
||||||
|
.nMaxMaxCP = aIVa.nMaxMaxCP
|
||||||
|
End With
|
||||||
|
With aIVa
|
||||||
|
.nAttack = aIVb.nAttack
|
||||||
|
.nDefense = aIVb.nDefense
|
||||||
|
.nStamina = aIVb.nStamina
|
||||||
|
.nTotal = aIVb.nTotal
|
||||||
|
.nMaxCP = aIVb.nMaxCP
|
||||||
|
.nMaxMaxCP = aIVb.nMaxMaxCP
|
||||||
|
End With
|
||||||
|
With aIVb
|
||||||
|
.nAttack = aTempIV.nAttack
|
||||||
|
.nDefense = aTempIV.nDefense
|
||||||
|
.nStamina = aTempIV.nStamina
|
||||||
|
.nTotal = aTempIV.nTotal
|
||||||
|
.nMaxCP = aTempIV.nMaxCP
|
||||||
|
.nMaxMaxCP = aTempIV.nMaxMaxCP
|
||||||
|
End With
|
||||||
|
End Function
|
||||||
|
|
||||||
|
' fnGetCPFormula: Obtains the CP formula
|
||||||
|
Function fnGetCPFormula ( _
|
||||||
|
aBaseStats As aStats, sColIVAttack As String, _
|
||||||
|
sColIVDefense As String, sColIVStamina As String, _
|
||||||
|
sCPM As String) As String
|
||||||
|
fnGetCPFormula = "=FLOOR(" _
|
||||||
|
& "(" & aBaseStats.nAttack & "+" & sColIVAttack & ")" _
|
||||||
|
& "*SQRT(" & aBaseStats.nDefense & "+" & sColIVDefense & ")" _
|
||||||
|
& "*SQRT(" & aBaseStats.nStamina & "+" & sColIVStamina & ")" _
|
||||||
|
& "*POWER(" & sCPM & ";2)/10;1)"
|
||||||
|
End Function
|
||||||
|
|
||||||
|
' fnGetCPMFormula: Obtains the CPM
|
||||||
|
Function fnGetCPMFormula (fLevel As Double) As String
|
||||||
|
If fLevel = CInt (fLevel) Then
|
||||||
|
fnGetCPMFormula = "" & mCPM (fLevel)
|
||||||
|
Else
|
||||||
|
fnGetCPMFormula = "SQRT((" _
|
||||||
|
& "POWER(" & mCPM (fLevel - 0.5) & ";2)" _
|
||||||
|
& "+POWER(" & mCPM (fLevel + 0.5) & ";2))/2)"
|
||||||
|
End If
|
||||||
|
End Function
|
@ -12,7 +12,7 @@
|
|||||||
' See the License for the specific language governing permissions and
|
' See the License for the specific language governing permissions and
|
||||||
' limitations under the License.
|
' limitations under the License.
|
||||||
|
|
||||||
' 2Data: The Pokémon GO data for IV calculation
|
' 3Data: The Pokémon GO data for IV calculation
|
||||||
' by imacat <imacat@mail.imacat.idv.tw>, 2017-03-01
|
' by imacat <imacat@mail.imacat.idv.tw>, 2017-03-01
|
||||||
' Generated with 9Load.subReadDataSheets ()
|
' Generated with 9Load.subReadDataSheets ()
|
||||||
|
|
@ -37,7 +37,7 @@ Sub subReadDataSheets
|
|||||||
& "' See the License for the specific language governing permissions and" & Chr (10) _
|
& "' See the License for the specific language governing permissions and" & Chr (10) _
|
||||||
& "' limitations under the License." & Chr (10) _
|
& "' limitations under the License." & Chr (10) _
|
||||||
& Chr (10) _
|
& Chr (10) _
|
||||||
& "' 2Data: The Pokémon GO data for IV calculation" & Chr (10) _
|
& "' 3Data: The Pokémon GO data for IV calculation" & Chr (10) _
|
||||||
& "' by imacat <imacat@mail.imacat.idv.tw>, " & Format (Date (), "yyyy-mm-dd") & Chr (10) _
|
& "' by imacat <imacat@mail.imacat.idv.tw>, " & Format (Date (), "yyyy-mm-dd") & Chr (10) _
|
||||||
& "' Generated with 9Load.subReadDataSheets ()" & Chr (10) _
|
& "' Generated with 9Load.subReadDataSheets ()" & Chr (10) _
|
||||||
& Chr (10) _
|
& Chr (10) _
|
||||||
|
2
TODO
2
TODO
@ -1,5 +1,7 @@
|
|||||||
PokemonGoIV TODO
|
PokemonGoIV TODO
|
||||||
|
|
||||||
|
* Update the Pokémon database for the complex evolution forms
|
||||||
|
like Eevee, Slowpoke, etc.
|
||||||
* Center the dialog.
|
* Center the dialog.
|
||||||
* Pokémons that are not released in the game yet, so their image
|
* Pokémons that are not released in the game yet, so their image
|
||||||
icons are missing.
|
icons are missing.
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -27,6 +27,7 @@ Type aStats
|
|||||||
nAttack As Integer
|
nAttack As Integer
|
||||||
nDefense As Integer
|
nDefense As Integer
|
||||||
mEvolved () As String
|
mEvolved () As String
|
||||||
|
bIsLastForm As Boolean
|
||||||
End Type
|
End Type
|
||||||
|
|
||||||
' The individual values of a Pokémon.
|
' The individual values of a Pokémon.
|
||||||
@ -35,15 +36,10 @@ Type aIV
|
|||||||
nStamina As Integer
|
nStamina As Integer
|
||||||
nAttack As Integer
|
nAttack As Integer
|
||||||
nDefense As Integer
|
nDefense As Integer
|
||||||
|
' For sorting
|
||||||
nTotal As Integer
|
nTotal As Integer
|
||||||
nMaxCP As Integer
|
nMaxCP As Integer
|
||||||
maEvolved () As aEvolvedStats
|
nMaxMaxCP As Integer
|
||||||
End Type
|
|
||||||
|
|
||||||
' The calculated evolved stats of a Pokémon.
|
|
||||||
Type aEvolvedStats
|
|
||||||
nCP As Integer
|
|
||||||
nMaxCP As Integer
|
|
||||||
End Type
|
End Type
|
||||||
|
|
||||||
' The parameters to find the individual values.
|
' The parameters to find the individual values.
|
||||||
@ -78,49 +74,30 @@ Sub subMain
|
|||||||
If UBound (maIVs) = -1 Then
|
If UBound (maIVs) = -1 Then
|
||||||
MsgBox fnGetResString ("ErrorNotFound")
|
MsgBox fnGetResString ("ErrorNotFound")
|
||||||
Else
|
Else
|
||||||
subSaveIV (aBaseStats, aQuery, maIVs)
|
subCreateReport (aBaseStats, aQuery, maIVs)
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' fnFindIV: Finds the possible individual values of the Pokémon
|
' fnFindIV: Finds the possible individual values of the Pokémon
|
||||||
Function fnFindIV ( _
|
Function fnFindIV ( _
|
||||||
aBaseStats As aStats, aQuery As aFindIVParam) As Variant
|
aBaseStats As aStats, aQuery As aFindIVParam) As Variant
|
||||||
Dim nEvolved As Integer
|
Dim maIV () As New aIV, nN As Integer
|
||||||
Dim maEvBaseStats () As New aStats, aTempStats As New aStats
|
|
||||||
Dim maIV () As New aIV, aTempIV As New aIV
|
|
||||||
Dim fLevel As Double, nStamina As Integer
|
Dim fLevel As Double, nStamina As Integer
|
||||||
Dim nAttack As Integer, nDefense As integer
|
Dim nAttack As Integer, nDefense As integer
|
||||||
Dim nI As Integer, nJ As Integer
|
Dim nI As Integer, nJ As Integer, fLevelStep As Double
|
||||||
Dim fStep As Double, nN As Integer, fMaxLevel As Double
|
|
||||||
|
|
||||||
If aQuery.sPokemonId = "" Then
|
If aQuery.sPokemonId = "" Then
|
||||||
fnFindIV = maIV
|
fnFindIV = maIV
|
||||||
Exit Function
|
Exit Function
|
||||||
End If
|
End If
|
||||||
If aQuery.bIsNew Then
|
If aQuery.bIsNew Then
|
||||||
fStep = 1
|
fLevelStep = 1
|
||||||
Else
|
Else
|
||||||
fStep = 0.5
|
fLevelStep = 0.5
|
||||||
End If
|
End If
|
||||||
subReadStardust
|
subReadStardust
|
||||||
nEvolved = UBound (aBaseStats.mEvolved)
|
|
||||||
If nEvolved > -1 Then
|
|
||||||
ReDim Preserve maEvBaseStats (nEvolved) As New aStats
|
|
||||||
For nI = 0 To nEvolved
|
|
||||||
aTempStats = fnGetBaseStats (aBaseStats.mEvolved (nI))
|
|
||||||
With maEvBaseStats (nI)
|
|
||||||
.nAttack = aTempStats.nAttack
|
|
||||||
.nDefense = aTempStats.nDefense
|
|
||||||
.nStamina = aTempStats.nStamina
|
|
||||||
End With
|
|
||||||
Next nI
|
|
||||||
End If
|
|
||||||
nN = -1
|
nN = -1
|
||||||
fMaxLevel = aQuery.nPlayerLevel + 1.5
|
For fLevel = 1 To UBound (mStardust) Step fLevelStep
|
||||||
If fMaxLevel > 40 Then
|
|
||||||
fMaxLevel = 40
|
|
||||||
End If
|
|
||||||
For fLevel = 1 To UBound (mStardust) Step fStep
|
|
||||||
If mStardust (CInt (fLevel - 0.5)) = aQuery.nStardust Then
|
If mStardust (CInt (fLevel - 0.5)) = aQuery.nStardust Then
|
||||||
For nStamina = 0 To 15
|
For nStamina = 0 To 15
|
||||||
If fnCalcHP (aBaseStats, fLevel, nStamina) = aQuery.nHP Then
|
If fnCalcHP (aBaseStats, fLevel, nStamina) = aQuery.nHP Then
|
||||||
@ -135,30 +112,7 @@ Function fnFindIV ( _
|
|||||||
.nAttack = nAttack
|
.nAttack = nAttack
|
||||||
.nDefense = nDefense
|
.nDefense = nDefense
|
||||||
.nStamina = nStamina
|
.nStamina = nStamina
|
||||||
.nTotal = nAttack _
|
|
||||||
+ nDefense + nStamina
|
|
||||||
End With
|
End With
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
maIV (nN).nMaxCP = fnCalcCP ( _
|
|
||||||
aBaseStats, fMaxLevel, _
|
|
||||||
nAttack, nDefense, nStamina)
|
|
||||||
End If
|
|
||||||
maIV (nN).maEvolved _
|
|
||||||
= fnGetEvolvedArray (nEvolved)
|
|
||||||
For nI = 0 To nEvolved
|
|
||||||
maIV (nN).maEvolved (nI).nCP _
|
|
||||||
= fnCalcCP ( _
|
|
||||||
maEvBaseStats (nI), _
|
|
||||||
fLevel, nAttack, _
|
|
||||||
nDefense, nStamina)
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
maIV (nN).maEvolved (nI).nMaxCP _
|
|
||||||
= fnCalcCP ( _
|
|
||||||
maEvBaseStats (nI), _
|
|
||||||
fMaxLevel, nAttack, _
|
|
||||||
nDefense, nStamina)
|
|
||||||
End If
|
|
||||||
Next nI
|
|
||||||
End If
|
End If
|
||||||
Next nDefense
|
Next nDefense
|
||||||
Next nAttack
|
Next nAttack
|
||||||
@ -166,309 +120,9 @@ Function fnFindIV ( _
|
|||||||
Next nStamina
|
Next nStamina
|
||||||
End If
|
End If
|
||||||
Next fLevel
|
Next fLevel
|
||||||
' Sorts the IVs
|
|
||||||
For nI = 0 To UBound (maIV) - 1
|
|
||||||
For nJ = nI + 1 To UBound (maIV)
|
|
||||||
If fnCompareIV (maIV (nI), maIV (nJ)) > 0 Then
|
|
||||||
' This is an array of data. The data are actually
|
|
||||||
' allocated in sequences. maIV (nI) is not a
|
|
||||||
' reference. They cannot simply be assigned.
|
|
||||||
subCopyIV (maIV (nI), aTempIV)
|
|
||||||
subCopyIV (maIV (nJ), maIV (nI))
|
|
||||||
subCopyIV (aTempIV, maIV (nJ))
|
|
||||||
End If
|
|
||||||
Next nJ
|
|
||||||
Next nI
|
|
||||||
fnFindIV = maIV
|
fnFindIV = maIV
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
' fnCompareIV: Compare two IVs for sorting
|
|
||||||
Function fnCompareIV (aIVa As aIV, aIVb As aIV) As Double
|
|
||||||
Dim nCPa As Integer, nCPb As Integer, nI As Integer
|
|
||||||
|
|
||||||
nCPa = aIVa.nMaxCP
|
|
||||||
For nI = 0 To UBound (aIVa.maEvolved)
|
|
||||||
If nCPa < aIVa.maEvolved (nI).nMaxCP Then
|
|
||||||
nCPa = aIVa.maEvolved (nI).nMaxCP
|
|
||||||
End If
|
|
||||||
Next nI
|
|
||||||
nCPb = aIVb.nMaxCP
|
|
||||||
For nI = 0 To UBound (aIVb.maEvolved)
|
|
||||||
If nCPb < aIVb.maEvolved (nI).nMaxCP Then
|
|
||||||
nCPb = aIVb.maEvolved (nI).nMaxCP
|
|
||||||
End If
|
|
||||||
Next nI
|
|
||||||
fnCompareIV = nCPb - nCPa
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
|
|
||||||
nCPa = 0
|
|
||||||
For nI = 0 To UBound (aIVa.maEvolved)
|
|
||||||
If nCPa < aIVa.maEvolved (nI).nCP Then
|
|
||||||
nCPa = aIVa.maEvolved (nI).nCP
|
|
||||||
End If
|
|
||||||
Next nI
|
|
||||||
nCPb = 0
|
|
||||||
For nI = 0 To UBound (aIVb.maEvolved)
|
|
||||||
If nCPb < aIVb.maEvolved (nI).nCP Then
|
|
||||||
nCPb = aIVb.maEvolved (nI).nCP
|
|
||||||
End If
|
|
||||||
Next nI
|
|
||||||
fnCompareIV = nCPb - nCPa
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
|
|
||||||
fnCompareIV = aIVb.nTotal - aIVa.nTotal
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
fnCompareIV = aIVb.fLevel - aIVa.fLevel
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
fnCompareIV = aIVb.nStamina - aIVa.nStamina
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
fnCompareIV = aIVb.nAttack - aIVa.nAttack
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
fnCompareIV = aIVb.nDefense - aIVa.nDefense
|
|
||||||
If fnCompareIV <> 0 Then
|
|
||||||
Exit Function
|
|
||||||
End If
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' subCopyIV: Copies one IV to another
|
|
||||||
Function subCopyIV (aFrom As aIV, aTo As aIV) As Double
|
|
||||||
Dim nI As Integer
|
|
||||||
|
|
||||||
With aTo
|
|
||||||
.nAttack = aFrom.nAttack
|
|
||||||
.nDefense = aFrom.nDefense
|
|
||||||
.nStamina = aFrom.nStamina
|
|
||||||
.nTotal = aFrom.nTotal
|
|
||||||
.nMaxCP = aFrom.nMaxCP
|
|
||||||
End With
|
|
||||||
aTo.maEvolved = fnGetEvolvedArray (UBound (aFrom.maEvolved))
|
|
||||||
For nI = 0 To UBound (aFrom.maEvolved)
|
|
||||||
With aTo.maEvolved (nI)
|
|
||||||
.nCP = aFrom.maEvolved (nI).nCP
|
|
||||||
.nMaxCP = aFrom.maEvolved (nI).nMaxCP
|
|
||||||
End With
|
|
||||||
Next nI
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' subSaveIV: Saves the found IV
|
|
||||||
Sub subSaveIV ( _
|
|
||||||
aBaseStats As aStats, aQuery As aFindIVParam, maIVs () As aIV)
|
|
||||||
Dim oDoc As Object, oSheet As Object
|
|
||||||
Dim oRange As Object, oColumns As Object, oRows As Object
|
|
||||||
Dim nI As Integer, nJ As Integer, nFront As Integer
|
|
||||||
Dim nEvolved As Integer
|
|
||||||
Dim mData (Ubound (maIVs) + 1) As Variant, mRow () As Variant
|
|
||||||
Dim mProps () As New com.sun.star.beans.PropertyValue
|
|
||||||
|
|
||||||
oDoc = StarDesktop.loadComponentFromURL ( _
|
|
||||||
"private:factory/scalc", "_default", 0, mProps)
|
|
||||||
oSheet = oDoc.getSheets.getByIndex (0)
|
|
||||||
nEvolved = UBound (maIVs (0).maEvolved) + 1
|
|
||||||
|
|
||||||
mRow = Array ( _
|
|
||||||
"No", "Pokemon", "CP", "HP", "Stardust", _
|
|
||||||
"Lv", "Atk", "Def", "Sta", "IV")
|
|
||||||
nFront = UBound (mRow)
|
|
||||||
If aQuery.sPokemonId = "Eevee" Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + 6) As Variant
|
|
||||||
mRow (nFront + 1) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (0)
|
|
||||||
mRow (nFront + 2) = "Powered-up as " _
|
|
||||||
& aBaseStats.mEvolved (0)
|
|
||||||
mRow (nFront + 3) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (1)
|
|
||||||
mRow (nFront + 4) = "Powered-up as " _
|
|
||||||
& aBaseStats.mEvolved (1)
|
|
||||||
mRow (nFront + 5) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (2)
|
|
||||||
mRow (nFront + 6) = "Powered-up as " _
|
|
||||||
& aBaseStats.mEvolved (2)
|
|
||||||
Else
|
|
||||||
ReDim Preserve mRow (nFront + 3) As Variant
|
|
||||||
mRow (nFront + 1) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (0)
|
|
||||||
mRow (nFront + 2) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (1)
|
|
||||||
mRow (nFront + 3) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (2)
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If nEvolved = 0 Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + 1) As Variant
|
|
||||||
mRow (nFront + 1) = "Powered-up"
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + nEvolved + 1) As Variant
|
|
||||||
For nJ = 0 To nEvolved - 1
|
|
||||||
mRow (nFront + nJ + 1) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (nJ)
|
|
||||||
Next nJ
|
|
||||||
mRow (UBound (mRow)) = "Powered-up as " _
|
|
||||||
& aBaseStats.mEvolved (nEvolved - 1)
|
|
||||||
Else
|
|
||||||
ReDim Preserve mRow (nFront + nEvolved) As Variant
|
|
||||||
For nJ = 0 To nEvolved - 1
|
|
||||||
mRow (nFront + nJ + 1) = "CP as " _
|
|
||||||
& aBaseStats.mEvolved (nJ)
|
|
||||||
Next nJ
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
mData (0) = mRow
|
|
||||||
|
|
||||||
For nI = 0 To UBound (maIVs)
|
|
||||||
mRow = Array ( _
|
|
||||||
"", "", "", "", "", _
|
|
||||||
maIVs (nI).fLevel, maIVs (nI).nAttack, _
|
|
||||||
maIVs (nI).nDefense, maIVs (nI).nStamina, _
|
|
||||||
maIVs (nI).nTotal / 45)
|
|
||||||
If aQuery.sPokemonId = "Eevee" Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + 6) As Variant
|
|
||||||
mRow (nFront + 1) = maIVs (nI).maEvolved (0).nCP
|
|
||||||
mRow (nFront + 2) = maIVs (nI).maEvolved (0).nMaxCP
|
|
||||||
mRow (nFront + 3) = maIVs (nI).maEvolved (1).nCP
|
|
||||||
mRow (nFront + 4) = maIVs (nI).maEvolved (1).nMaxCP
|
|
||||||
mRow (nFront + 5) = maIVs (nI).maEvolved (2).nCP
|
|
||||||
mRow (nFront + 6) = maIVs (nI).maEvolved (2).nMaxCP
|
|
||||||
Else
|
|
||||||
ReDim Preserve mRow (nFront + 3) As Variant
|
|
||||||
mRow (nFront + 1) = maIVs (nI).maEvolved (0).nCP
|
|
||||||
mRow (nFront + 2) = maIVs (nI).maEvolved (1).nCP
|
|
||||||
mRow (nFront + 3) = maIVs (nI).maEvolved (2).nCP
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If nEvolved = 0 Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + 1) As Variant
|
|
||||||
mRow (nFront + 1) = maIVs (nI).nMaxCP
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
ReDim Preserve mRow (nFront + nEvolved + 1) As Variant
|
|
||||||
For nJ = 0 To nEvolved - 1
|
|
||||||
mRow (nFront + nJ + 1) = maIVs (nI).maEvolved (nJ).nCP
|
|
||||||
Next nJ
|
|
||||||
mRow (UBound (mRow)) = maIVs (nI).maEvolved (nEvolved - 1).nMaxCP
|
|
||||||
Else
|
|
||||||
ReDim Preserve mRow (nFront + nEvolved) As Variant
|
|
||||||
For nJ = 0 To nEvolved - 1
|
|
||||||
mRow (nFront + nJ + 1) = maIVs (nI).maEvolved (nJ).nCP
|
|
||||||
Next nJ
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
mData (nI + 1) = mRow
|
|
||||||
Next nI
|
|
||||||
|
|
||||||
' Fills the query information at the first row
|
|
||||||
mData (1) (0) = aBaseStats.sNo
|
|
||||||
mData (1) (1) = aQuery.sPokemonName
|
|
||||||
mData (1) (2) = aQuery.nCP
|
|
||||||
mData (1) (3) = aQuery.nHP
|
|
||||||
mData (1) (4) = aQuery.nStardust
|
|
||||||
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
0, 0, UBound (mData (0)), UBound (mData))
|
|
||||||
oRange.setDataArray (mData)
|
|
||||||
oRange.setPropertyValue ("VertJustify", _
|
|
||||||
com.sun.star.table.CellVertJustify.TOP)
|
|
||||||
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
0, 1, 0, UBound (mData))
|
|
||||||
oRange.merge (True)
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
1, 1, 1, UBound (mData))
|
|
||||||
oRange.merge (True)
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
2, 1, 2, UBound (mData))
|
|
||||||
oRange.merge (True)
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
3, 1, 3, UBound (mData))
|
|
||||||
oRange.merge (True)
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
4, 1, 4, UBound (mData))
|
|
||||||
oRange.merge (True)
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
9, 1, 9, UBound (mData))
|
|
||||||
oRange.setPropertyValue ("NumberFormat", 10)
|
|
||||||
|
|
||||||
If aQuery.sPokemonId = "Eevee" Then
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
10, 0, 15, 0)
|
|
||||||
Else
|
|
||||||
If nEvolved = 0 Then
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
10, 0, 10, 0)
|
|
||||||
Else
|
|
||||||
oRange = oSheet.getCellRangeByPosition ( _
|
|
||||||
10, 0, 10 + nEvolved + 1, 0)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
oRange.setPropertyValue ("IsTextWrapped", True)
|
|
||||||
|
|
||||||
oRows = oSheet.getRows
|
|
||||||
oRows.getByIndex (0).setPropertyValue ("Height", 840)
|
|
||||||
oColumns = oSheet.getColumns
|
|
||||||
oColumns.getByIndex (0).setPropertyValue ("Width", 890)
|
|
||||||
oColumns.getByIndex (1).setPropertyValue ("Width", 2310)
|
|
||||||
oColumns.getByIndex (2).setPropertyValue ("Width", 890)
|
|
||||||
oColumns.getByIndex (3).setPropertyValue ("Width", 890)
|
|
||||||
oColumns.getByIndex (4).setPropertyValue ("Width", 1780)
|
|
||||||
oColumns.getByIndex (5).setPropertyValue ("Width", 860)
|
|
||||||
oColumns.getByIndex (6).setPropertyValue ("Width", 860)
|
|
||||||
oColumns.getByIndex (7).setPropertyValue ("Width", 860)
|
|
||||||
oColumns.getByIndex (8).setPropertyValue ("Width", 860)
|
|
||||||
oColumns.getByIndex (9).setPropertyValue ("Width", 1030)
|
|
||||||
If aQuery.sPokemonId = "Eevee" Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
For nI = 0 To 5 Step 2
|
|
||||||
oColumns.getByIndex (10 + nI).setPropertyValue ( _
|
|
||||||
"Width", 2310)
|
|
||||||
oColumns.getByIndex (10 + nI + 1).setPropertyValue ( _
|
|
||||||
"Width", 2810)
|
|
||||||
Next nI
|
|
||||||
Else
|
|
||||||
For nI = 0 To 2
|
|
||||||
oColumns.getByIndex (10 + nI).setPropertyValue ( _
|
|
||||||
"Width", 2310)
|
|
||||||
Next nI
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If nEvolved = 0 Then
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
oColumns.getByIndex (10).setPropertyValue ( _
|
|
||||||
"Width", 2200)
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
For nI = 0 To nEvolved - 1
|
|
||||||
oColumns.getByIndex (10 + nI).setPropertyValue ( _
|
|
||||||
"Width", 2310)
|
|
||||||
Next nI
|
|
||||||
If aQuery.nPlayerLevel <> 0 Then
|
|
||||||
oColumns.getByIndex ( _
|
|
||||||
10 + nEvolved).setPropertyValue ( _
|
|
||||||
"Width", 2810)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' fnFilterAppraisals: Filters the IV by the appraisals.
|
' fnFilterAppraisals: Filters the IV by the appraisals.
|
||||||
Function fnFilterAppraisals (aQuery As aFindIVParam, _
|
Function fnFilterAppraisals (aQuery As aFindIVParam, _
|
||||||
nAttack As Integer, nDefense As Integer, _
|
nAttack As Integer, nDefense As Integer, _
|
||||||
@ -587,8 +241,8 @@ Function fnGetCPM (fLevel As Double) As Double
|
|||||||
If CInt (fLevel) = fLevel Then
|
If CInt (fLevel) = fLevel Then
|
||||||
fnGetCPM = mCPM (fLevel)
|
fnGetCPM = mCPM (fLevel)
|
||||||
Else
|
Else
|
||||||
fnGetCPM = ((mCpm (fLevel - 0.5) ^ 2 _
|
fnGetCPM = ((mCPM (fLevel - 0.5) ^ 2 _
|
||||||
+ mCpm (fLevel + 0.5) ^ 2) / 2) ^ 0.5
|
+ mCPM (fLevel + 0.5) ^ 2) / 2) ^ 0.5
|
||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@ -597,56 +251,6 @@ Function fnFloor (fNumber As Double) As Integer
|
|||||||
fnFloor = CInt (fNumber - 0.5)
|
fnFloor = CInt (fNumber - 0.5)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
' fnMapPokemonIdToName: Maps the Pokémon IDs to their localized names.
|
|
||||||
Function fnMapPokemonIdToName (sId As String) As String
|
|
||||||
fnMapPokemonIdToName = fnGetResString ("Pokemon" & sId)
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' subReadBaseStats: Reads the base stats table.
|
|
||||||
Sub subReadBaseStats
|
|
||||||
Dim mData As Variant, nI As Integer, nJ As Integer
|
|
||||||
DIm nEvolved As Integer
|
|
||||||
|
|
||||||
If UBound (maBaseStats) = -1 Then
|
|
||||||
mData = fnGetBaseStatsData
|
|
||||||
ReDim Preserve maBaseStats (UBound (mData)) As New aStats
|
|
||||||
For nI = 0 To UBound (mData)
|
|
||||||
With maBaseStats (nI)
|
|
||||||
.sNo = mData (nI) (1)
|
|
||||||
.sPokemonId = mData (nI) (0)
|
|
||||||
.nStamina = mData (nI) (2)
|
|
||||||
.nAttack = mData (nI) (3)
|
|
||||||
.nDefense = mData (nI) (4)
|
|
||||||
End With
|
|
||||||
nEvolved = UBound (mData (nI) (5))
|
|
||||||
maBaseStats (nI).mEvolved = fnGetStringArray (nEvolved)
|
|
||||||
For nJ = 0 To nEvolved
|
|
||||||
maBaseStats (nI).mEvolved (nJ) = mData (nI) (5) (nJ)
|
|
||||||
Next nJ
|
|
||||||
Next nI
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' fnGetStringArray: Obtains a blank string array
|
|
||||||
Function fnGetStringArray (nUBound As Integer) As Variant
|
|
||||||
Dim mData () As String
|
|
||||||
|
|
||||||
If nUBound >= 0 Then
|
|
||||||
ReDim Preserve mData (nUBound) As String
|
|
||||||
End If
|
|
||||||
fnGetStringArray = mData
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' fnGetEvolvedArray: Obtains a blank aEvolvedStats array
|
|
||||||
Function fnGetEvolvedArray (nUBound As Integer) As Variant
|
|
||||||
Dim mData () As New aEvolvedStats
|
|
||||||
|
|
||||||
If nUBound >= 0 Then
|
|
||||||
ReDim Preserve mData (nUBound) As New aEvolvedStats
|
|
||||||
End If
|
|
||||||
fnGetEvolvedArray = mData
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' fnReplace: Replaces all occurrances of a term to another.
|
' fnReplace: Replaces all occurrances of a term to another.
|
||||||
Function fnReplace ( _
|
Function fnReplace ( _
|
||||||
sText As String, sFrom As String, sTo As String) As String
|
sText As String, sFrom As String, sTo As String) As String
|
||||||
@ -662,6 +266,37 @@ Function fnReplace ( _
|
|||||||
fnReplace = sResult
|
fnReplace = sResult
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
' subReadBaseStats: Reads the base stats table.
|
||||||
|
Sub subReadBaseStats
|
||||||
|
Dim mData As Variant, nI As Integer, nJ As Integer, nK As Integer
|
||||||
|
Dim nEvolved As Integer, mEvolved () As Variant
|
||||||
|
|
||||||
|
If UBound (maBaseStats) = -1 Then
|
||||||
|
mData = fnGetBaseStatsData
|
||||||
|
ReDim Preserve maBaseStats (UBound (mData)) As New aStats
|
||||||
|
For nI = 0 To UBound (mData)
|
||||||
|
With maBaseStats (nI)
|
||||||
|
.sNo = mData (nI) (1)
|
||||||
|
.sPokemonId = mData (nI) (0)
|
||||||
|
.nStamina = mData (nI) (2)
|
||||||
|
.nAttack = mData (nI) (3)
|
||||||
|
.nDefense = mData (nI) (4)
|
||||||
|
End With
|
||||||
|
nEvolved = UBound (mData (nI) (5)) + 1
|
||||||
|
mEvolved = Array ()
|
||||||
|
maBaseStats (nI).bIsLastForm = True
|
||||||
|
If nEvolved > 0 Then
|
||||||
|
ReDim mEvolved (nEvolved - 1) As Variant
|
||||||
|
For nJ = 0 To nEvolved - 1
|
||||||
|
mEvolved (nJ) = mData (nI) (5) (nJ)
|
||||||
|
Next nJ
|
||||||
|
maBaseStats (nI).mEvolved = mEvolved
|
||||||
|
maBaseStats (nI).bIsLastForm = False
|
||||||
|
End If
|
||||||
|
Next nI
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
' subReadCPM: Reads the CPM table.
|
' subReadCPM: Reads the CPM table.
|
||||||
Sub subReadCPM
|
Sub subReadCPM
|
||||||
If UBound (mCPM) = -1 Then
|
If UBound (mCPM) = -1 Then
|
||||||
|
@ -52,6 +52,19 @@ Function fnAskParam As aFindIVParam
|
|||||||
oDialog.getControl ("cbxBest3").setVisible (False)
|
oDialog.getControl ("cbxBest3").setVisible (False)
|
||||||
oDialog.getControl ("lstMax").setVisible (False)
|
oDialog.getControl ("lstMax").setVisible (False)
|
||||||
|
|
||||||
|
' Adds the Pokémons by their localized names.
|
||||||
|
subReadBaseStats
|
||||||
|
ReDim mPokemons (UBound (maBaseStats)) As String
|
||||||
|
For nI = 0 To UBound (maBaseStats)
|
||||||
|
mPokemons (nI) = fnGetResString ( _
|
||||||
|
"Pokemon" & maBaseStats (nI).sPokemonId)
|
||||||
|
Next nI
|
||||||
|
oList = oDialog.getControl ("lstPokemon")
|
||||||
|
If oList.getItemCount > 0 Then
|
||||||
|
getItemCount.removeItems (0, oList.getItemCount)
|
||||||
|
End If
|
||||||
|
oList.addItems (mPokemons, 0)
|
||||||
|
|
||||||
oDialog.getControl ("imgPokemon").getModel.setPropertyValue ( _
|
oDialog.getControl ("imgPokemon").getModel.setPropertyValue ( _
|
||||||
"ImageURL", fnGetImageUrl ("Unknown"))
|
"ImageURL", fnGetImageUrl ("Unknown"))
|
||||||
oDialog.getControl ("imgTeamLogo").getModel.setPropertyValue ( _
|
oDialog.getControl ("imgTeamLogo").getModel.setPropertyValue ( _
|
||||||
|
382
oxt/PokemonGoIV/2Report.xba
Normal file
382
oxt/PokemonGoIV/2Report.xba
Normal file
@ -0,0 +1,382 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
||||||
|
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="2Report" script:language="StarBasic">' Copyright (c) 2017 imacat.
|
||||||
|
'
|
||||||
|
' Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
' you may not use this file except in compliance with the License.
|
||||||
|
' You may obtain a copy of the License at
|
||||||
|
'
|
||||||
|
' http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
'
|
||||||
|
' Unless required by applicable law or agreed to in writing, software
|
||||||
|
' distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
' See the License for the specific language governing permissions and
|
||||||
|
' limitations under the License.
|
||||||
|
|
||||||
|
' 2Report: The Pokémon GO IV report generator.
|
||||||
|
' by imacat <imacat@mail.imacat.idv.tw>, 2017-06-07
|
||||||
|
|
||||||
|
Option Explicit
|
||||||
|
|
||||||
|
' The base stats of a Pokémon.
|
||||||
|
Type aStats
|
||||||
|
sNo As String
|
||||||
|
sPokemonId As String
|
||||||
|
nStamina As Integer
|
||||||
|
nAttack As Integer
|
||||||
|
nDefense As Integer
|
||||||
|
mEvolved () As String
|
||||||
|
End Type
|
||||||
|
|
||||||
|
' The individual values of a Pokémon.
|
||||||
|
Type aIV
|
||||||
|
fLevel As Double
|
||||||
|
nStamina As Integer
|
||||||
|
nAttack As Integer
|
||||||
|
nDefense As Integer
|
||||||
|
' For sorting
|
||||||
|
nTotal As Integer
|
||||||
|
nMaxCP As Integer
|
||||||
|
nMaxMaxCP As Integer
|
||||||
|
End Type
|
||||||
|
|
||||||
|
' The parameters to find the individual values.
|
||||||
|
Type aFindIVParam
|
||||||
|
sPokemonId As String
|
||||||
|
sPokemonName As String
|
||||||
|
nCP As Integer
|
||||||
|
nHP As Integer
|
||||||
|
nStardust As Integer
|
||||||
|
nPlayerLevel As Integer
|
||||||
|
bIsNew As Boolean
|
||||||
|
nTotal As Integer
|
||||||
|
sBest As String
|
||||||
|
nMax As Integer
|
||||||
|
bIsCancelled As Boolean
|
||||||
|
End Type
|
||||||
|
|
||||||
|
' subCreateReport: Creates the Pokémon GO IV report.
|
||||||
|
Sub subCreateReport ( _
|
||||||
|
aBaseStats As aStats, aQuery As aFindIVParam, maIVs () As aIV)
|
||||||
|
Dim oDoc As Object, oSheet As Object
|
||||||
|
Dim oRange As Object, oColumns As Object, oRows As Object
|
||||||
|
Dim oCell As Object, sFormula As String
|
||||||
|
Dim nI As Integer, nJ As Integer, nCol As Integer
|
||||||
|
Dim nLeadCols As Integer, nTotalCols As Integer
|
||||||
|
Dim nEvolved As Integer, fMaxLevel As Double
|
||||||
|
Dim sCPM As String, sMaxCPM As String
|
||||||
|
Dim sColIVAttack As String, sColIVDefense As String
|
||||||
|
Dim sColIVStamina As String
|
||||||
|
Dim sPokemonName As String
|
||||||
|
Dim mData (Ubound (maIVs) + 1) As Variant, mRow () As Variant
|
||||||
|
Dim maEvBaseStats () As Variant
|
||||||
|
Dim mProps () As New com.sun.star.beans.PropertyValue
|
||||||
|
|
||||||
|
oDoc = StarDesktop.loadComponentFromURL ( _
|
||||||
|
"private:factory/scalc", "_default", 0, mProps)
|
||||||
|
oSheet = oDoc.getSheets.getByIndex (0)
|
||||||
|
|
||||||
|
nEvolved = UBound (aBaseStats.mEvolved) + 1
|
||||||
|
If nEvolved > 0 Then
|
||||||
|
ReDim maEvBaseStats (nEvolved - 1) As Variant
|
||||||
|
For nJ = 0 To nEvolved - 1
|
||||||
|
maEvBaseStats (nJ) = fnGetBaseStats (aBaseStats.mEvolved (nJ))
|
||||||
|
Next nJ
|
||||||
|
End If
|
||||||
|
|
||||||
|
If aQuery.nPlayerLevel <> 0 Then
|
||||||
|
fMaxLevel = aQuery.nPlayerLevel + 1.5
|
||||||
|
If fMaxLevel > 40 Then
|
||||||
|
fMaxLevel = 40
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
fMaxLevel = 40
|
||||||
|
End If
|
||||||
|
sMaxCPM = fnGetCPMFormula (fMaxLevel)
|
||||||
|
|
||||||
|
' Sorts the IVs
|
||||||
|
subSortIVs (aBaseStats, maEvBaseStats, maIVs, fMaxLevel)
|
||||||
|
|
||||||
|
' Fills in the report data.
|
||||||
|
mRow = Array ( _
|
||||||
|
fnGetResString ("ReportNo"), _
|
||||||
|
fnGetResString ("ReportPokemon"), _
|
||||||
|
fnGetResString ("ReportCP"), _
|
||||||
|
fnGetResString ("ReportHP"), _
|
||||||
|
fnGetResString ("ReportStardust"), _
|
||||||
|
fnGetResString ("ReportLevel"), _
|
||||||
|
fnGetResString ("ReportAttack"), _
|
||||||
|
fnGetResString ("ReportDefense"), _
|
||||||
|
fnGetResString ("ReportStamina"), _
|
||||||
|
fnGetResString ("ReportIVPercent"))
|
||||||
|
nLeadCols = UBound (mRow) + 1
|
||||||
|
|
||||||
|
nTotalCols = nLeadCols
|
||||||
|
If aBaseStats.bIsLastForm Then
|
||||||
|
nTotalCols = nTotalCols + 1
|
||||||
|
End If
|
||||||
|
For nJ = 0 To nEvolved - 1
|
||||||
|
nTotalCols = nTotalCols + 1
|
||||||
|
If maEvBaseStats (nJ).bIsLastForm Then
|
||||||
|
nTotalCols = nTotalCols + 1
|
||||||
|
End If
|
||||||
|
Next nJ
|
||||||
|
|
||||||
|
ReDim Preserve mRow (nTotalCols - 1) As Variant
|
||||||
|
nCol = nLeadCols
|
||||||
|
If aBaseStats.bIsLastForm Then
|
||||||
|
mRow (nCol) = fnReplace (fnGetResString ("ReportCPPowerUp"), _
|
||||||
|
"[Level]", fMaxLevel)
|
||||||
|
nCol = nCol + 1
|
||||||
|
End If
|
||||||
|
For nJ = 0 To nEvolved - 1
|
||||||
|
sPokemonName = fnGetResString ( _
|
||||||
|
"Pokemon" & aBaseStats.mEvolved (nJ))
|
||||||
|
mRow (nCol) = fnReplace (fnGetResString ("ReportCPEvolve"), _
|
||||||
|
"[Pokémon]", sPokemonName)
|
||||||
|
nCol = nCol + 1
|
||||||
|
If maEvBaseStats (nJ).bIsLastForm Then
|
||||||
|
mRow (nCol) = fnReplace (fnReplace ( _
|
||||||
|
fnGetResString ("ReportCPEvolvePowerUp"), _
|
||||||
|
"[Pokémon]", sPokemonName), _
|
||||||
|
"[Level]", fMaxLevel)
|
||||||
|
End If
|
||||||
|
Next nJ
|
||||||
|
mData (0) = mRow
|
||||||
|
|
||||||
|
For nI = 0 To UBound (maIVs)
|
||||||
|
mRow = Array ( _
|
||||||
|
"", "", "", "", "", _
|
||||||
|
maIVs (nI).fLevel, maIVs (nI).nAttack, _
|
||||||
|
maIVs (nI).nDefense, maIVs (nI).nStamina, "")
|
||||||
|
ReDim Preserve mRow (nTotalCols - 1) As Variant
|
||||||
|
For nJ = nLeadCols To nEvolved - 1
|
||||||
|
mRow (nJ) = ""
|
||||||
|
Next nJ
|
||||||
|
mData (nI + 1) = mRow
|
||||||
|
Next nI
|
||||||
|
|
||||||
|
' Fills the query information at the first row
|
||||||
|
mData (1) (0) = aBaseStats.sNo
|
||||||
|
mData (1) (1) = aQuery.sPokemonName
|
||||||
|
mData (1) (2) = aQuery.nCP
|
||||||
|
mData (1) (3) = aQuery.nHP
|
||||||
|
mData (1) (4) = aQuery.nStardust
|
||||||
|
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
0, 0, UBound (mData (0)), UBound (mData))
|
||||||
|
oRange.setDataArray (mData)
|
||||||
|
oRange.setPropertyValue ("VertJustify", _
|
||||||
|
com.sun.star.table.CellVertJustify.TOP)
|
||||||
|
|
||||||
|
' Fills in the CP calculation.
|
||||||
|
For nI = 0 To UBound (maIVs)
|
||||||
|
sCPM = fnGetCPMFormula (maIVs (nI).fLevel)
|
||||||
|
sColIVAttack = "G" & (nI + 2)
|
||||||
|
sColIVDefense = "H" & (nI + 2)
|
||||||
|
sColIVStamina = "I" & (nI + 2)
|
||||||
|
|
||||||
|
oCell = oSheet.getCellByPosition (nLeadCols - 1, nI + 1)
|
||||||
|
sFormula = "=(" & sColIVAttack & "+" & sColIVDefense _
|
||||||
|
& "+" & sColIVStamina & ")/45"
|
||||||
|
oCell.setFormula (sFormula)
|
||||||
|
|
||||||
|
nCol = nLeadCols
|
||||||
|
If aBaseStats.bIsLastForm Then
|
||||||
|
oCell = oSheet.getCellByPosition (nCol, nI + 1)
|
||||||
|
sFormula = fnGetCPFormula (aBaseStats, _
|
||||||
|
sColIVAttack, sColIVDefense, sColIVStamina, sMaxCPM)
|
||||||
|
oCell.setFormula (sFormula)
|
||||||
|
nCol = nCol + 1
|
||||||
|
End If
|
||||||
|
For nJ = 0 To nEvolved - 1
|
||||||
|
oCell = oSheet.getCellByPosition (nCol, nI + 1)
|
||||||
|
sFormula = fnGetCPFormula (maEvBaseStats (nJ), _
|
||||||
|
sColIVAttack, sColIVDefense, sColIVStamina, sCPM)
|
||||||
|
oCell.setFormula (sFormula)
|
||||||
|
nCol = nCol + 1
|
||||||
|
If maEvBaseStats (nJ).bIsLastForm Then
|
||||||
|
oCell = oSheet.getCellByPosition (nCol, nI + 1)
|
||||||
|
sFormula = fnGetCPFormula (maEvBaseStats (nJ), _
|
||||||
|
sColIVAttack, sColIVDefense, sColIVStamina, sMaxCPM)
|
||||||
|
oCell.setFormula (sFormula)
|
||||||
|
nCol = nCol + 1
|
||||||
|
End If
|
||||||
|
Next nJ
|
||||||
|
Next nI
|
||||||
|
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
0, 1, 0, UBound (mData))
|
||||||
|
oRange.merge (True)
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
1, 1, 1, UBound (mData))
|
||||||
|
oRange.merge (True)
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
2, 1, 2, UBound (mData))
|
||||||
|
oRange.merge (True)
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
3, 1, 3, UBound (mData))
|
||||||
|
oRange.merge (True)
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
4, 1, 4, UBound (mData))
|
||||||
|
oRange.merge (True)
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
9, 1, 9, UBound (mData))
|
||||||
|
oRange.setPropertyValue ("NumberFormat", 10)
|
||||||
|
|
||||||
|
oRange = oSheet.getCellRangeByPosition ( _
|
||||||
|
nLeadCols, 0, nTotalCols - 1, 0)
|
||||||
|
oRange.setPropertyValue ("IsTextWrapped", True)
|
||||||
|
|
||||||
|
oColumns = oSheet.getColumns
|
||||||
|
oColumns.getByIndex (0).setPropertyValue ("Width", 890)
|
||||||
|
oColumns.getByIndex (1).setPropertyValue ("Width", 2310)
|
||||||
|
oColumns.getByIndex (2).setPropertyValue ("Width", 890)
|
||||||
|
oColumns.getByIndex (3).setPropertyValue ("Width", 890)
|
||||||
|
oColumns.getByIndex (4).setPropertyValue ("Width", 1780)
|
||||||
|
oColumns.getByIndex (5).setPropertyValue ("Width", 860)
|
||||||
|
oColumns.getByIndex (6).setPropertyValue ("Width", 860)
|
||||||
|
oColumns.getByIndex (7).setPropertyValue ("Width", 860)
|
||||||
|
oColumns.getByIndex (8).setPropertyValue ("Width", 860)
|
||||||
|
oColumns.getByIndex (9).setPropertyValue ("Width", 1030)
|
||||||
|
For nJ = nLeadCols To nTotalCols - 1
|
||||||
|
oColumns.getByIndex (nJ).setPropertyValue ( _
|
||||||
|
"Width", 2810)
|
||||||
|
Next nJ
|
||||||
|
oRows = oSheet.getRows
|
||||||
|
oRows.getByIndex (0).setPropertyValue ("OptimalHeight", True)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' subSortIVs: Sorts the IVs
|
||||||
|
Sub subSortIVs ( _
|
||||||
|
aBaseStats As aStats, maEvBaseStats () As aIV, _
|
||||||
|
maIVs () As aIV, fMaxLevel As Double)
|
||||||
|
Dim nI As Integer, nJ As Integer
|
||||||
|
Dim nCP As Integer
|
||||||
|
|
||||||
|
' Calculate the sorting keys.
|
||||||
|
For nI = 0 To UBound (maIVs) - 1
|
||||||
|
maIVs (nI).nTotal = maIVs (nI).nAttack + maIVs (nI).nDefense _
|
||||||
|
+ maIVs (nI).nStamina
|
||||||
|
maIVs (nI).nMaxCP = fnCalcCP (aBaseStats, _
|
||||||
|
maIVs (nI).fLevel, maIVs (nI).nAttack, _
|
||||||
|
maIVs (nI).nDefense, maIVs (nI).nStamina)
|
||||||
|
maIVs (nI).nMaxMaxCP = fnCalcCP (aBaseStats, _
|
||||||
|
fMaxLevel, maIVs (nI).nAttack, _
|
||||||
|
maIVs (nI).nDefense, maIVs (nI).nStamina)
|
||||||
|
For nJ = 0 To UBound (aBaseStats.mEvolved)
|
||||||
|
nCP = fnCalcCP (maEvBaseStats (nJ), _
|
||||||
|
maIVs (nI).fLevel, maIVs (nI).nAttack, _
|
||||||
|
maIVs (nI).nDefense, maIVs (nI).nStamina)
|
||||||
|
If maIVs (nI).nMaxCP < nCP Then
|
||||||
|
maIVs (nI).nMaxCP = nCP
|
||||||
|
End If
|
||||||
|
nCP = fnCalcCP (maEvBaseStats (nJ), _
|
||||||
|
fMaxLevel, maIVs (nI).nAttack, _
|
||||||
|
maIVs (nI).nDefense, maIVs (nI).nStamina)
|
||||||
|
If maIVs (nI).nMaxMaxCP < nCP Then
|
||||||
|
maIVs (nI).nMaxMaxCP = nCP
|
||||||
|
End If
|
||||||
|
Next nJ
|
||||||
|
Next nI
|
||||||
|
' Sort the IVs.
|
||||||
|
For nI = 0 To UBound (maIVs) - 1
|
||||||
|
For nJ = nI + 1 To UBound (maIVs)
|
||||||
|
If fnCompareIV (maIVs (nI), maIVs (nJ)) > 0 Then
|
||||||
|
' This is an array of data. The data are actually
|
||||||
|
' allocated in sequences. maIVs (nI) is not a
|
||||||
|
' reference. They cannot simply be assigned.
|
||||||
|
subSwapIV (maIVs (nI), maIVs (nJ))
|
||||||
|
End If
|
||||||
|
Next nJ
|
||||||
|
Next nI
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' fnCompareIV: Compare two IVs for sorting
|
||||||
|
Function fnCompareIV (aIVa As aIV, aIVb As aIV) As Double
|
||||||
|
Dim nCPa As Integer, nCPb As Integer, nI As Integer
|
||||||
|
|
||||||
|
fnCompareIV = aIVb.nMaxMaxCP - aIVa.nMaxMaxCP
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.nMaxCP - aIVa.nMaxCP
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.nTotal - aIVa.nTotal
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.fLevel - aIVa.fLevel
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.nStamina - aIVa.nStamina
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.nAttack - aIVa.nAttack
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
fnCompareIV = aIVb.nDefense - aIVa.nDefense
|
||||||
|
If fnCompareIV <> 0 Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
|
' subSwapIV: Swaps two IVs
|
||||||
|
Function subSwapIV (aIVa As aIV, aIVb As aIV) As Double
|
||||||
|
Dim aTempIV As New aIV
|
||||||
|
|
||||||
|
With aTempIV
|
||||||
|
.nAttack = aIVa.nAttack
|
||||||
|
.nDefense = aIVa.nDefense
|
||||||
|
.nStamina = aIVa.nStamina
|
||||||
|
.nTotal = aIVa.nTotal
|
||||||
|
.nMaxCP = aIVa.nMaxCP
|
||||||
|
.nMaxMaxCP = aIVa.nMaxMaxCP
|
||||||
|
End With
|
||||||
|
With aIVa
|
||||||
|
.nAttack = aIVb.nAttack
|
||||||
|
.nDefense = aIVb.nDefense
|
||||||
|
.nStamina = aIVb.nStamina
|
||||||
|
.nTotal = aIVb.nTotal
|
||||||
|
.nMaxCP = aIVb.nMaxCP
|
||||||
|
.nMaxMaxCP = aIVb.nMaxMaxCP
|
||||||
|
End With
|
||||||
|
With aIVb
|
||||||
|
.nAttack = aTempIV.nAttack
|
||||||
|
.nDefense = aTempIV.nDefense
|
||||||
|
.nStamina = aTempIV.nStamina
|
||||||
|
.nTotal = aTempIV.nTotal
|
||||||
|
.nMaxCP = aTempIV.nMaxCP
|
||||||
|
.nMaxMaxCP = aTempIV.nMaxMaxCP
|
||||||
|
End With
|
||||||
|
End Function
|
||||||
|
|
||||||
|
' fnGetCPFormula: Obtains the CP formula
|
||||||
|
Function fnGetCPFormula ( _
|
||||||
|
aBaseStats As aStats, sColIVAttack As String, _
|
||||||
|
sColIVDefense As String, sColIVStamina As String, _
|
||||||
|
sCPM As String) As String
|
||||||
|
fnGetCPFormula = "=FLOOR(" _
|
||||||
|
& "(" & aBaseStats.nAttack & "+" & sColIVAttack & ")" _
|
||||||
|
& "*SQRT(" & aBaseStats.nDefense & "+" & sColIVDefense & ")" _
|
||||||
|
& "*SQRT(" & aBaseStats.nStamina & "+" & sColIVStamina & ")" _
|
||||||
|
& "*POWER(" & sCPM & ";2)/10;1)"
|
||||||
|
End Function
|
||||||
|
|
||||||
|
' fnGetCPMFormula: Obtains the CPM
|
||||||
|
Function fnGetCPMFormula (fLevel As Double) As String
|
||||||
|
If fLevel = CInt (fLevel) Then
|
||||||
|
fnGetCPMFormula = "" & mCPM (fLevel)
|
||||||
|
Else
|
||||||
|
fnGetCPMFormula = "SQRT((" _
|
||||||
|
& "POWER(" & mCPM (fLevel - 0.5) & ";2)" _
|
||||||
|
& "+POWER(" & mCPM (fLevel + 0.5) & ";2))/2)"
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
</script:module>
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
||||||
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="2Data" script:language="StarBasic">' Copyright (c) 2016-2017 imacat.
|
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="3Data" script:language="StarBasic">' Copyright (c) 2016-2017 imacat.
|
||||||
'
|
'
|
||||||
' Licensed under the Apache License, Version 2.0 (the "License");
|
' Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
' you may not use this file except in compliance with the License.
|
' you may not use this file except in compliance with the License.
|
||||||
@ -14,7 +14,7 @@
|
|||||||
' See the License for the specific language governing permissions and
|
' See the License for the specific language governing permissions and
|
||||||
' limitations under the License.
|
' limitations under the License.
|
||||||
|
|
||||||
' 2Data: The Pokémon GO data for IV calculation
|
' 3Data: The Pokémon GO data for IV calculation
|
||||||
' by imacat <imacat@mail.imacat.idv.tw>, 2017-03-01
|
' by imacat <imacat@mail.imacat.idv.tw>, 2017-03-01
|
||||||
' Generated with 9Load.subReadDataSheets ()
|
' Generated with 9Load.subReadDataSheets ()
|
||||||
|
|
@ -39,7 +39,7 @@ Sub subReadDataSheets
|
|||||||
& "' See the License for the specific language governing permissions and" & Chr (10) _
|
& "' See the License for the specific language governing permissions and" & Chr (10) _
|
||||||
& "' limitations under the License." & Chr (10) _
|
& "' limitations under the License." & Chr (10) _
|
||||||
& Chr (10) _
|
& Chr (10) _
|
||||||
& "' 2Data: The Pokémon GO data for IV calculation" & Chr (10) _
|
& "' 3Data: The Pokémon GO data for IV calculation" & Chr (10) _
|
||||||
& "' by imacat <imacat@mail.imacat.idv.tw>, " & Format (Date (), "yyyy-mm-dd") & Chr (10) _
|
& "' by imacat <imacat@mail.imacat.idv.tw>, " & Format (Date (), "yyyy-mm-dd") & Chr (10) _
|
||||||
& "' Generated with 9Load.subReadDataSheets ()" & Chr (10) _
|
& "' Generated with 9Load.subReadDataSheets ()" & Chr (10) _
|
||||||
& Chr (10) _
|
& Chr (10) _
|
||||||
|
@ -10,254 +10,3 @@
|
|||||||
9.DlgMain.rdoTeamValor.Label=Team W~agemut
|
9.DlgMain.rdoTeamValor.Label=Team W~agemut
|
||||||
10.DlgMain.rdoTeamMystic.Label=Team W~eisheit
|
10.DlgMain.rdoTeamMystic.Label=Team W~eisheit
|
||||||
11.DlgMain.rdoTeamInstinct.Label=Team ~Intuition
|
11.DlgMain.rdoTeamInstinct.Label=Team ~Intuition
|
||||||
1001.lstPokemon.StringItemList=Bisasam
|
|
||||||
1002.lstPokemon.StringItemList=Bisaknosp
|
|
||||||
1003.lstPokemon.StringItemList=Bisaflor
|
|
||||||
1004.lstPokemon.StringItemList=Glumanda
|
|
||||||
1005.lstPokemon.StringItemList=Glutexo
|
|
||||||
1006.lstPokemon.StringItemList=Glurak
|
|
||||||
1007.lstPokemon.StringItemList=Schiggy
|
|
||||||
1008.lstPokemon.StringItemList=Schillok
|
|
||||||
1009.lstPokemon.StringItemList=Turtok
|
|
||||||
1010.lstPokemon.StringItemList=Raupy
|
|
||||||
1011.lstPokemon.StringItemList=Safcon
|
|
||||||
1012.lstPokemon.StringItemList=Smettbo
|
|
||||||
1013.lstPokemon.StringItemList=Hornliu
|
|
||||||
1014.lstPokemon.StringItemList=Kokuna
|
|
||||||
1015.lstPokemon.StringItemList=Bibor
|
|
||||||
1016.lstPokemon.StringItemList=Taubsi
|
|
||||||
1017.lstPokemon.StringItemList=Tauboga
|
|
||||||
1018.lstPokemon.StringItemList=Tauboss
|
|
||||||
1019.lstPokemon.StringItemList=Rattfratz
|
|
||||||
1020.lstPokemon.StringItemList=Rattikarl
|
|
||||||
1021.lstPokemon.StringItemList=Habitak
|
|
||||||
1022.lstPokemon.StringItemList=Ibitak
|
|
||||||
1023.lstPokemon.StringItemList=Rettan
|
|
||||||
1024.lstPokemon.StringItemList=Arbok
|
|
||||||
1025.lstPokemon.StringItemList=Pikachu
|
|
||||||
1026.lstPokemon.StringItemList=Raichu
|
|
||||||
1027.lstPokemon.StringItemList=Sandan
|
|
||||||
1028.lstPokemon.StringItemList=Sandamer
|
|
||||||
1029.lstPokemon.StringItemList=Nidoran\u2640
|
|
||||||
1030.lstPokemon.StringItemList=Nidorina
|
|
||||||
1031.lstPokemon.StringItemList=Nidoqueen
|
|
||||||
1032.lstPokemon.StringItemList=Nidoran\u2642
|
|
||||||
1033.lstPokemon.StringItemList=Nidorino
|
|
||||||
1034.lstPokemon.StringItemList=Nidoking
|
|
||||||
1035.lstPokemon.StringItemList=Piepi
|
|
||||||
1036.lstPokemon.StringItemList=Pixi
|
|
||||||
1037.lstPokemon.StringItemList=Vulpix
|
|
||||||
1038.lstPokemon.StringItemList=Vulnona
|
|
||||||
1039.lstPokemon.StringItemList=Pummeluff
|
|
||||||
1040.lstPokemon.StringItemList=Knuddeluff
|
|
||||||
1041.lstPokemon.StringItemList=Zubat
|
|
||||||
1042.lstPokemon.StringItemList=Golbat
|
|
||||||
1043.lstPokemon.StringItemList=Myrapla
|
|
||||||
1044.lstPokemon.StringItemList=Duflor
|
|
||||||
1045.lstPokemon.StringItemList=Giflor
|
|
||||||
1046.lstPokemon.StringItemList=Paras
|
|
||||||
1047.lstPokemon.StringItemList=Parasek
|
|
||||||
1048.lstPokemon.StringItemList=Bluzuk
|
|
||||||
1049.lstPokemon.StringItemList=Omot
|
|
||||||
1050.lstPokemon.StringItemList=Digda
|
|
||||||
1051.lstPokemon.StringItemList=Digdri
|
|
||||||
1052.lstPokemon.StringItemList=Mauzi
|
|
||||||
1053.lstPokemon.StringItemList=Snobilikat
|
|
||||||
1054.lstPokemon.StringItemList=Enton
|
|
||||||
1055.lstPokemon.StringItemList=Entoron
|
|
||||||
1056.lstPokemon.StringItemList=Menki
|
|
||||||
1057.lstPokemon.StringItemList=Rasaff
|
|
||||||
1058.lstPokemon.StringItemList=Fukano
|
|
||||||
1059.lstPokemon.StringItemList=Arkani
|
|
||||||
1060.lstPokemon.StringItemList=Quapsel
|
|
||||||
1061.lstPokemon.StringItemList=Quaputzi
|
|
||||||
1062.lstPokemon.StringItemList=Quappo
|
|
||||||
1063.lstPokemon.StringItemList=Abra
|
|
||||||
1064.lstPokemon.StringItemList=Kadabra
|
|
||||||
1065.lstPokemon.StringItemList=Simsala
|
|
||||||
1066.lstPokemon.StringItemList=Machollo
|
|
||||||
1067.lstPokemon.StringItemList=Maschock
|
|
||||||
1068.lstPokemon.StringItemList=Machomei
|
|
||||||
1069.lstPokemon.StringItemList=Knofensa
|
|
||||||
1070.lstPokemon.StringItemList=Ultrigaria
|
|
||||||
1071.lstPokemon.StringItemList=Sarzenia
|
|
||||||
1072.lstPokemon.StringItemList=Tentacha
|
|
||||||
1073.lstPokemon.StringItemList=Tentoxa
|
|
||||||
1074.lstPokemon.StringItemList=Kleinstein
|
|
||||||
1075.lstPokemon.StringItemList=Georok
|
|
||||||
1076.lstPokemon.StringItemList=Geowaz
|
|
||||||
1077.lstPokemon.StringItemList=Ponita
|
|
||||||
1078.lstPokemon.StringItemList=Gallopa
|
|
||||||
1079.lstPokemon.StringItemList=Flegmon
|
|
||||||
1080.lstPokemon.StringItemList=Lahmus
|
|
||||||
1081.lstPokemon.StringItemList=Magnetilo
|
|
||||||
1082.lstPokemon.StringItemList=Magneton
|
|
||||||
1083.lstPokemon.StringItemList=Porenta
|
|
||||||
1084.lstPokemon.StringItemList=Dodu
|
|
||||||
1085.lstPokemon.StringItemList=Dodri
|
|
||||||
1086.lstPokemon.StringItemList=Jurob
|
|
||||||
1087.lstPokemon.StringItemList=Jugong
|
|
||||||
1088.lstPokemon.StringItemList=Sleima
|
|
||||||
1089.lstPokemon.StringItemList=Sleimok
|
|
||||||
1090.lstPokemon.StringItemList=Muschas
|
|
||||||
1091.lstPokemon.StringItemList=Austos
|
|
||||||
1092.lstPokemon.StringItemList=Nebulak
|
|
||||||
1093.lstPokemon.StringItemList=Alpollo
|
|
||||||
1094.lstPokemon.StringItemList=Gengar
|
|
||||||
1095.lstPokemon.StringItemList=Onix
|
|
||||||
1096.lstPokemon.StringItemList=Traumato
|
|
||||||
1097.lstPokemon.StringItemList=Hypno
|
|
||||||
1098.lstPokemon.StringItemList=Krabby
|
|
||||||
1099.lstPokemon.StringItemList=Kingler
|
|
||||||
1100.lstPokemon.StringItemList=Voltobal
|
|
||||||
1101.lstPokemon.StringItemList=Lektrobal
|
|
||||||
1102.lstPokemon.StringItemList=Owei
|
|
||||||
1103.lstPokemon.StringItemList=Kokowei
|
|
||||||
1104.lstPokemon.StringItemList=Tragosso
|
|
||||||
1105.lstPokemon.StringItemList=Knogga
|
|
||||||
1106.lstPokemon.StringItemList=Kicklee
|
|
||||||
1107.lstPokemon.StringItemList=Nockchan
|
|
||||||
1108.lstPokemon.StringItemList=Schlurp
|
|
||||||
1109.lstPokemon.StringItemList=Smogon
|
|
||||||
1110.lstPokemon.StringItemList=Smogmog
|
|
||||||
1111.lstPokemon.StringItemList=Rihorn
|
|
||||||
1112.lstPokemon.StringItemList=Rizeros
|
|
||||||
1113.lstPokemon.StringItemList=Chaneira
|
|
||||||
1114.lstPokemon.StringItemList=Tangela
|
|
||||||
1115.lstPokemon.StringItemList=Kangama
|
|
||||||
1116.lstPokemon.StringItemList=Seeper
|
|
||||||
1117.lstPokemon.StringItemList=Seemon
|
|
||||||
1118.lstPokemon.StringItemList=Goldini
|
|
||||||
1119.lstPokemon.StringItemList=Golking
|
|
||||||
1120.lstPokemon.StringItemList=Sterndu
|
|
||||||
1121.lstPokemon.StringItemList=Starmie
|
|
||||||
1122.lstPokemon.StringItemList=Pantimos
|
|
||||||
1123.lstPokemon.StringItemList=Sichlor
|
|
||||||
1124.lstPokemon.StringItemList=Rossana
|
|
||||||
1125.lstPokemon.StringItemList=Elektek
|
|
||||||
1126.lstPokemon.StringItemList=Magmar
|
|
||||||
1127.lstPokemon.StringItemList=Pinsir
|
|
||||||
1128.lstPokemon.StringItemList=Tauros
|
|
||||||
1129.lstPokemon.StringItemList=Karpador
|
|
||||||
1130.lstPokemon.StringItemList=Garados
|
|
||||||
1131.lstPokemon.StringItemList=Lapras
|
|
||||||
1132.lstPokemon.StringItemList=Ditto
|
|
||||||
1133.lstPokemon.StringItemList=Evoli
|
|
||||||
1134.lstPokemon.StringItemList=Aquana
|
|
||||||
1135.lstPokemon.StringItemList=Blitza
|
|
||||||
1136.lstPokemon.StringItemList=Flamara
|
|
||||||
1137.lstPokemon.StringItemList=Porygon
|
|
||||||
1138.lstPokemon.StringItemList=Amonitas
|
|
||||||
1139.lstPokemon.StringItemList=Amoroso
|
|
||||||
1140.lstPokemon.StringItemList=Kabuto
|
|
||||||
1141.lstPokemon.StringItemList=Kabutops
|
|
||||||
1142.lstPokemon.StringItemList=Aerodactyl
|
|
||||||
1143.lstPokemon.StringItemList=Relaxo
|
|
||||||
1144.lstPokemon.StringItemList=Arktos
|
|
||||||
1145.lstPokemon.StringItemList=Zapdos
|
|
||||||
1146.lstPokemon.StringItemList=Lavados
|
|
||||||
1147.lstPokemon.StringItemList=Dratini
|
|
||||||
1148.lstPokemon.StringItemList=Dragonir
|
|
||||||
1149.lstPokemon.StringItemList=Dragoran
|
|
||||||
1150.lstPokemon.StringItemList=Mewtu
|
|
||||||
1151.lstPokemon.StringItemList=Mew
|
|
||||||
1152.lstPokemon.StringItemList=Endivie
|
|
||||||
1153.lstPokemon.StringItemList=Lorblatt
|
|
||||||
1154.lstPokemon.StringItemList=Meganie
|
|
||||||
1155.lstPokemon.StringItemList=Feurigel
|
|
||||||
1156.lstPokemon.StringItemList=Igelavar
|
|
||||||
1157.lstPokemon.StringItemList=Tornupto
|
|
||||||
1158.lstPokemon.StringItemList=Karnimani
|
|
||||||
1159.lstPokemon.StringItemList=Tyracroc
|
|
||||||
1160.lstPokemon.StringItemList=Impergator
|
|
||||||
1161.lstPokemon.StringItemList=Wiesor
|
|
||||||
1162.lstPokemon.StringItemList=Wiesenior
|
|
||||||
1163.lstPokemon.StringItemList=Hoothoot
|
|
||||||
1164.lstPokemon.StringItemList=Noctuh
|
|
||||||
1165.lstPokemon.StringItemList=Ledyba
|
|
||||||
1166.lstPokemon.StringItemList=Ledian
|
|
||||||
1167.lstPokemon.StringItemList=Webarak
|
|
||||||
1168.lstPokemon.StringItemList=Ariados
|
|
||||||
1169.lstPokemon.StringItemList=Iksbat
|
|
||||||
1170.lstPokemon.StringItemList=Lampi
|
|
||||||
1171.lstPokemon.StringItemList=Lanturn
|
|
||||||
1172.lstPokemon.StringItemList=Pichu
|
|
||||||
1173.lstPokemon.StringItemList=Pii
|
|
||||||
1174.lstPokemon.StringItemList=Fluffeluff
|
|
||||||
1175.lstPokemon.StringItemList=Togepi
|
|
||||||
1176.lstPokemon.StringItemList=Togetic
|
|
||||||
1177.lstPokemon.StringItemList=Natu
|
|
||||||
1178.lstPokemon.StringItemList=Xatu
|
|
||||||
1179.lstPokemon.StringItemList=Voltilamm
|
|
||||||
1180.lstPokemon.StringItemList=Waaty
|
|
||||||
1181.lstPokemon.StringItemList=Ampharos
|
|
||||||
1182.lstPokemon.StringItemList=Blubella
|
|
||||||
1183.lstPokemon.StringItemList=Marill
|
|
||||||
1184.lstPokemon.StringItemList=Azumarill
|
|
||||||
1185.lstPokemon.StringItemList=Mogelbaum
|
|
||||||
1186.lstPokemon.StringItemList=Quaxo
|
|
||||||
1187.lstPokemon.StringItemList=Hoppspross
|
|
||||||
1188.lstPokemon.StringItemList=Hubelupf
|
|
||||||
1189.lstPokemon.StringItemList=Papungha
|
|
||||||
1190.lstPokemon.StringItemList=Griffel
|
|
||||||
1191.lstPokemon.StringItemList=Sonnkern
|
|
||||||
1192.lstPokemon.StringItemList=Sonnflora
|
|
||||||
1193.lstPokemon.StringItemList=Yanma
|
|
||||||
1194.lstPokemon.StringItemList=Felino
|
|
||||||
1195.lstPokemon.StringItemList=Morlord
|
|
||||||
1196.lstPokemon.StringItemList=Psiana
|
|
||||||
1197.lstPokemon.StringItemList=Nachtara
|
|
||||||
1198.lstPokemon.StringItemList=Kramurx
|
|
||||||
1199.lstPokemon.StringItemList=Laschoking
|
|
||||||
1200.lstPokemon.StringItemList=Traunfugil
|
|
||||||
1201.lstPokemon.StringItemList=Icognito
|
|
||||||
1202.lstPokemon.StringItemList=Woingenau
|
|
||||||
1203.lstPokemon.StringItemList=Girafarig
|
|
||||||
1204.lstPokemon.StringItemList=Tannza
|
|
||||||
1205.lstPokemon.StringItemList=Forstellka
|
|
||||||
1206.lstPokemon.StringItemList=Dummisel
|
|
||||||
1207.lstPokemon.StringItemList=Skorgla
|
|
||||||
1208.lstPokemon.StringItemList=Stahlos
|
|
||||||
1209.lstPokemon.StringItemList=Snubbull
|
|
||||||
1210.lstPokemon.StringItemList=Granbull
|
|
||||||
1211.lstPokemon.StringItemList=Baldorfish
|
|
||||||
1212.lstPokemon.StringItemList=Scherox
|
|
||||||
1213.lstPokemon.StringItemList=Pottrott
|
|
||||||
1214.lstPokemon.StringItemList=Skaraborn
|
|
||||||
1215.lstPokemon.StringItemList=Sniebel
|
|
||||||
1216.lstPokemon.StringItemList=Teddiursa
|
|
||||||
1217.lstPokemon.StringItemList=Ursaring
|
|
||||||
1218.lstPokemon.StringItemList=Schneckmag
|
|
||||||
1219.lstPokemon.StringItemList=Magcargo
|
|
||||||
1220.lstPokemon.StringItemList=Quiekel
|
|
||||||
1221.lstPokemon.StringItemList=Keifel
|
|
||||||
1222.lstPokemon.StringItemList=Corasonn
|
|
||||||
1223.lstPokemon.StringItemList=Remoraid
|
|
||||||
1224.lstPokemon.StringItemList=Octillery
|
|
||||||
1225.lstPokemon.StringItemList=Botogel
|
|
||||||
1226.lstPokemon.StringItemList=Mantax
|
|
||||||
1227.lstPokemon.StringItemList=Panzaeron
|
|
||||||
1228.lstPokemon.StringItemList=Hunduster
|
|
||||||
1229.lstPokemon.StringItemList=Hundemon
|
|
||||||
1230.lstPokemon.StringItemList=Seedraking
|
|
||||||
1231.lstPokemon.StringItemList=Phanpy
|
|
||||||
1232.lstPokemon.StringItemList=Donphan
|
|
||||||
1233.lstPokemon.StringItemList=Porygon2
|
|
||||||
1234.lstPokemon.StringItemList=Damhirplex
|
|
||||||
1235.lstPokemon.StringItemList=Farbeagle
|
|
||||||
1236.lstPokemon.StringItemList=Rabauz
|
|
||||||
1237.lstPokemon.StringItemList=Kapoera
|
|
||||||
1238.lstPokemon.StringItemList=Kussilla
|
|
||||||
1239.lstPokemon.StringItemList=Elekid
|
|
||||||
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
|
|
||||||
|
@ -10,254 +10,3 @@
|
|||||||
9.DlgMain.rdoTeamValor.Label=Team ~Valor
|
9.DlgMain.rdoTeamValor.Label=Team ~Valor
|
||||||
10.DlgMain.rdoTeamMystic.Label=Team ~Mystic
|
10.DlgMain.rdoTeamMystic.Label=Team ~Mystic
|
||||||
11.DlgMain.rdoTeamInstinct.Label=Team ~Instinct
|
11.DlgMain.rdoTeamInstinct.Label=Team ~Instinct
|
||||||
1001.lstPokemon.StringItemList=Bulbasaur
|
|
||||||
1002.lstPokemon.StringItemList=Ivysaur
|
|
||||||
1003.lstPokemon.StringItemList=Venusaur
|
|
||||||
1004.lstPokemon.StringItemList=Charmander
|
|
||||||
1005.lstPokemon.StringItemList=Charmeleon
|
|
||||||
1006.lstPokemon.StringItemList=Charizard
|
|
||||||
1007.lstPokemon.StringItemList=Squirtle
|
|
||||||
1008.lstPokemon.StringItemList=Wartortle
|
|
||||||
1009.lstPokemon.StringItemList=Blastoise
|
|
||||||
1010.lstPokemon.StringItemList=Caterpie
|
|
||||||
1011.lstPokemon.StringItemList=Metapod
|
|
||||||
1012.lstPokemon.StringItemList=Butterfree
|
|
||||||
1013.lstPokemon.StringItemList=Weedle
|
|
||||||
1014.lstPokemon.StringItemList=Kakuna
|
|
||||||
1015.lstPokemon.StringItemList=Beedrill
|
|
||||||
1016.lstPokemon.StringItemList=Pidgey
|
|
||||||
1017.lstPokemon.StringItemList=Pidgeotto
|
|
||||||
1018.lstPokemon.StringItemList=Pidgeot
|
|
||||||
1019.lstPokemon.StringItemList=Rattata
|
|
||||||
1020.lstPokemon.StringItemList=Raticate
|
|
||||||
1021.lstPokemon.StringItemList=Spearow
|
|
||||||
1022.lstPokemon.StringItemList=Fearow
|
|
||||||
1023.lstPokemon.StringItemList=Ekans
|
|
||||||
1024.lstPokemon.StringItemList=Arbok
|
|
||||||
1025.lstPokemon.StringItemList=Pikachu
|
|
||||||
1026.lstPokemon.StringItemList=Raichu
|
|
||||||
1027.lstPokemon.StringItemList=Sandshrew
|
|
||||||
1028.lstPokemon.StringItemList=Sandslash
|
|
||||||
1029.lstPokemon.StringItemList=Nidoran\u2640
|
|
||||||
1030.lstPokemon.StringItemList=Nidorina
|
|
||||||
1031.lstPokemon.StringItemList=Nidoqueen
|
|
||||||
1032.lstPokemon.StringItemList=Nidoran\u2642
|
|
||||||
1033.lstPokemon.StringItemList=Nidorino
|
|
||||||
1034.lstPokemon.StringItemList=Nidoking
|
|
||||||
1035.lstPokemon.StringItemList=Clefairy
|
|
||||||
1036.lstPokemon.StringItemList=Clefable
|
|
||||||
1037.lstPokemon.StringItemList=Vulpix
|
|
||||||
1038.lstPokemon.StringItemList=Ninetales
|
|
||||||
1039.lstPokemon.StringItemList=Jigglypuff
|
|
||||||
1040.lstPokemon.StringItemList=Wigglytuff
|
|
||||||
1041.lstPokemon.StringItemList=Zubat
|
|
||||||
1042.lstPokemon.StringItemList=Golbat
|
|
||||||
1043.lstPokemon.StringItemList=Oddish
|
|
||||||
1044.lstPokemon.StringItemList=Gloom
|
|
||||||
1045.lstPokemon.StringItemList=Vileplume
|
|
||||||
1046.lstPokemon.StringItemList=Paras
|
|
||||||
1047.lstPokemon.StringItemList=Parasect
|
|
||||||
1048.lstPokemon.StringItemList=Venonat
|
|
||||||
1049.lstPokemon.StringItemList=Venomoth
|
|
||||||
1050.lstPokemon.StringItemList=Diglett
|
|
||||||
1051.lstPokemon.StringItemList=Dugtrio
|
|
||||||
1052.lstPokemon.StringItemList=Meowth
|
|
||||||
1053.lstPokemon.StringItemList=Persian
|
|
||||||
1054.lstPokemon.StringItemList=Psyduck
|
|
||||||
1055.lstPokemon.StringItemList=Golduck
|
|
||||||
1056.lstPokemon.StringItemList=Mankey
|
|
||||||
1057.lstPokemon.StringItemList=Primeape
|
|
||||||
1058.lstPokemon.StringItemList=Growlithe
|
|
||||||
1059.lstPokemon.StringItemList=Arcanine
|
|
||||||
1060.lstPokemon.StringItemList=Poliwag
|
|
||||||
1061.lstPokemon.StringItemList=Poliwhirl
|
|
||||||
1062.lstPokemon.StringItemList=Poliwrath
|
|
||||||
1063.lstPokemon.StringItemList=Abra
|
|
||||||
1064.lstPokemon.StringItemList=Kadabra
|
|
||||||
1065.lstPokemon.StringItemList=Alakazam
|
|
||||||
1066.lstPokemon.StringItemList=Machop
|
|
||||||
1067.lstPokemon.StringItemList=Machoke
|
|
||||||
1068.lstPokemon.StringItemList=Machamp
|
|
||||||
1069.lstPokemon.StringItemList=Bellsprout
|
|
||||||
1070.lstPokemon.StringItemList=Weepinbell
|
|
||||||
1071.lstPokemon.StringItemList=Victreebel
|
|
||||||
1072.lstPokemon.StringItemList=Tentacool
|
|
||||||
1073.lstPokemon.StringItemList=Tentacruel
|
|
||||||
1074.lstPokemon.StringItemList=Geodude
|
|
||||||
1075.lstPokemon.StringItemList=Graveler
|
|
||||||
1076.lstPokemon.StringItemList=Golem
|
|
||||||
1077.lstPokemon.StringItemList=Ponyta
|
|
||||||
1078.lstPokemon.StringItemList=Rapidash
|
|
||||||
1079.lstPokemon.StringItemList=Slowpoke
|
|
||||||
1080.lstPokemon.StringItemList=Slowbro
|
|
||||||
1081.lstPokemon.StringItemList=Magnemite
|
|
||||||
1082.lstPokemon.StringItemList=Magneton
|
|
||||||
1083.lstPokemon.StringItemList=Farfetch'd
|
|
||||||
1084.lstPokemon.StringItemList=Doduo
|
|
||||||
1085.lstPokemon.StringItemList=Dodrio
|
|
||||||
1086.lstPokemon.StringItemList=Seel
|
|
||||||
1087.lstPokemon.StringItemList=Dewgong
|
|
||||||
1088.lstPokemon.StringItemList=Grimer
|
|
||||||
1089.lstPokemon.StringItemList=Muk
|
|
||||||
1090.lstPokemon.StringItemList=Shellder
|
|
||||||
1091.lstPokemon.StringItemList=Cloyster
|
|
||||||
1092.lstPokemon.StringItemList=Gastly
|
|
||||||
1093.lstPokemon.StringItemList=Haunter
|
|
||||||
1094.lstPokemon.StringItemList=Gengar
|
|
||||||
1095.lstPokemon.StringItemList=Onix
|
|
||||||
1096.lstPokemon.StringItemList=Drowzee
|
|
||||||
1097.lstPokemon.StringItemList=Hypno
|
|
||||||
1098.lstPokemon.StringItemList=Krabby
|
|
||||||
1099.lstPokemon.StringItemList=Kingler
|
|
||||||
1100.lstPokemon.StringItemList=Voltorb
|
|
||||||
1101.lstPokemon.StringItemList=Electrode
|
|
||||||
1102.lstPokemon.StringItemList=Exeggcute
|
|
||||||
1103.lstPokemon.StringItemList=Exeggutor
|
|
||||||
1104.lstPokemon.StringItemList=Cubone
|
|
||||||
1105.lstPokemon.StringItemList=Marowak
|
|
||||||
1106.lstPokemon.StringItemList=Hitmonlee
|
|
||||||
1107.lstPokemon.StringItemList=Hitmonchan
|
|
||||||
1108.lstPokemon.StringItemList=Lickitung
|
|
||||||
1109.lstPokemon.StringItemList=Koffing
|
|
||||||
1110.lstPokemon.StringItemList=Weezing
|
|
||||||
1111.lstPokemon.StringItemList=Rhyhorn
|
|
||||||
1112.lstPokemon.StringItemList=Rhydon
|
|
||||||
1113.lstPokemon.StringItemList=Chansey
|
|
||||||
1114.lstPokemon.StringItemList=Tangela
|
|
||||||
1115.lstPokemon.StringItemList=Kangaskhan
|
|
||||||
1116.lstPokemon.StringItemList=Horsea
|
|
||||||
1117.lstPokemon.StringItemList=Seadra
|
|
||||||
1118.lstPokemon.StringItemList=Goldeen
|
|
||||||
1119.lstPokemon.StringItemList=Seaking
|
|
||||||
1120.lstPokemon.StringItemList=Staryu
|
|
||||||
1121.lstPokemon.StringItemList=Starmie
|
|
||||||
1122.lstPokemon.StringItemList=Mr. Mime
|
|
||||||
1123.lstPokemon.StringItemList=Scyther
|
|
||||||
1124.lstPokemon.StringItemList=Jynx
|
|
||||||
1125.lstPokemon.StringItemList=Electabuzz
|
|
||||||
1126.lstPokemon.StringItemList=Magmar
|
|
||||||
1127.lstPokemon.StringItemList=Pinsir
|
|
||||||
1128.lstPokemon.StringItemList=Tauros
|
|
||||||
1129.lstPokemon.StringItemList=Magikarp
|
|
||||||
1130.lstPokemon.StringItemList=Gyarados
|
|
||||||
1131.lstPokemon.StringItemList=Lapras
|
|
||||||
1132.lstPokemon.StringItemList=Ditto
|
|
||||||
1133.lstPokemon.StringItemList=Eevee
|
|
||||||
1134.lstPokemon.StringItemList=Vaporeon
|
|
||||||
1135.lstPokemon.StringItemList=Jolteon
|
|
||||||
1136.lstPokemon.StringItemList=Flareon
|
|
||||||
1137.lstPokemon.StringItemList=Porygon
|
|
||||||
1138.lstPokemon.StringItemList=Omanyte
|
|
||||||
1139.lstPokemon.StringItemList=Omastar
|
|
||||||
1140.lstPokemon.StringItemList=Kabuto
|
|
||||||
1141.lstPokemon.StringItemList=Kabutops
|
|
||||||
1142.lstPokemon.StringItemList=Aerodactyl
|
|
||||||
1143.lstPokemon.StringItemList=Snorlax
|
|
||||||
1144.lstPokemon.StringItemList=Articuno
|
|
||||||
1145.lstPokemon.StringItemList=Zapdos
|
|
||||||
1146.lstPokemon.StringItemList=Moltres
|
|
||||||
1147.lstPokemon.StringItemList=Dratini
|
|
||||||
1148.lstPokemon.StringItemList=Dragonair
|
|
||||||
1149.lstPokemon.StringItemList=Dragonite
|
|
||||||
1150.lstPokemon.StringItemList=Mewtwo
|
|
||||||
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
|
|
||||||
1173.lstPokemon.StringItemList=Cleffa
|
|
||||||
1174.lstPokemon.StringItemList=Igglybuff
|
|
||||||
1175.lstPokemon.StringItemList=Togepi
|
|
||||||
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
|
|
||||||
1239.lstPokemon.StringItemList=Elekid
|
|
||||||
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
|
|
||||||
|
@ -10,254 +10,3 @@
|
|||||||
9.DlgMain.rdoTeamValor.Label=\u6b66\u52c7\u968a(~V)
|
9.DlgMain.rdoTeamValor.Label=\u6b66\u52c7\u968a(~V)
|
||||||
10.DlgMain.rdoTeamMystic.Label=\u53e1\u667a\u968a(~M)
|
10.DlgMain.rdoTeamMystic.Label=\u53e1\u667a\u968a(~M)
|
||||||
11.DlgMain.rdoTeamInstinct.Label=\u9748\u7280\u968a(~I)
|
11.DlgMain.rdoTeamInstinct.Label=\u9748\u7280\u968a(~I)
|
||||||
1001.lstPokemon.StringItemList=\u5999\u86d9\u7a2e\u5b50
|
|
||||||
1002.lstPokemon.StringItemList=\u5999\u86d9\u8349
|
|
||||||
1003.lstPokemon.StringItemList=\u5999\u86d9\u82b1
|
|
||||||
1004.lstPokemon.StringItemList=\u5c0f\u706b\u9f8d
|
|
||||||
1005.lstPokemon.StringItemList=\u706b\u6050\u9f8d
|
|
||||||
1006.lstPokemon.StringItemList=\u5674\u706b\u9f8d
|
|
||||||
1007.lstPokemon.StringItemList=\u5091\u5c3c\u9f9c
|
|
||||||
1008.lstPokemon.StringItemList=\u5361\u54aa\u9f9c
|
|
||||||
1009.lstPokemon.StringItemList=\u6c34\u7bad\u9f9c
|
|
||||||
1010.lstPokemon.StringItemList=\u7da0\u6bdb\u87f2
|
|
||||||
1011.lstPokemon.StringItemList=\u9435\u7532\u86f9
|
|
||||||
1012.lstPokemon.StringItemList=\u5df4\u5927\u8776
|
|
||||||
1013.lstPokemon.StringItemList=\u7368\u89d2\u87f2
|
|
||||||
1014.lstPokemon.StringItemList=\u9435\u6bbc\u86f9
|
|
||||||
1015.lstPokemon.StringItemList=\u5927\u91dd\u8702
|
|
||||||
1016.lstPokemon.StringItemList=\u6ce2\u6ce2
|
|
||||||
1017.lstPokemon.StringItemList=\u6bd4\u6bd4\u9ce5
|
|
||||||
1018.lstPokemon.StringItemList=\u5927\u6bd4\u9ce5
|
|
||||||
1019.lstPokemon.StringItemList=\u5c0f\u62c9\u9054
|
|
||||||
1020.lstPokemon.StringItemList=\u62c9\u9054
|
|
||||||
1021.lstPokemon.StringItemList=\u70c8\u96c0
|
|
||||||
1022.lstPokemon.StringItemList=\u5927\u5634\u96c0
|
|
||||||
1023.lstPokemon.StringItemList=\u963f\u67cf\u86c7
|
|
||||||
1024.lstPokemon.StringItemList=\u963f\u67cf\u602a
|
|
||||||
1025.lstPokemon.StringItemList=\u76ae\u5361\u4e18
|
|
||||||
1026.lstPokemon.StringItemList=\u96f7\u4e18
|
|
||||||
1027.lstPokemon.StringItemList=\u7a7f\u5c71\u9f20
|
|
||||||
1028.lstPokemon.StringItemList=\u7a7f\u5c71\u738b
|
|
||||||
1029.lstPokemon.StringItemList=\u5c3c\u591a\u862d
|
|
||||||
1030.lstPokemon.StringItemList=\u5c3c\u591a\u5a1c
|
|
||||||
1031.lstPokemon.StringItemList=\u5c3c\u591a\u540e
|
|
||||||
1032.lstPokemon.StringItemList=\u5c3c\u591a\u6717
|
|
||||||
1033.lstPokemon.StringItemList=\u5c3c\u591a\u5229\u8afe
|
|
||||||
1034.lstPokemon.StringItemList=\u5c3c\u591a\u738b
|
|
||||||
1035.lstPokemon.StringItemList=\u76ae\u76ae
|
|
||||||
1036.lstPokemon.StringItemList=\u76ae\u53ef\u897f
|
|
||||||
1037.lstPokemon.StringItemList=\u516d\u5c3e
|
|
||||||
1038.lstPokemon.StringItemList=\u4e5d\u5c3e
|
|
||||||
1039.lstPokemon.StringItemList=\u80d6\u4e01
|
|
||||||
1040.lstPokemon.StringItemList=\u80d6\u53ef\u4e01
|
|
||||||
1041.lstPokemon.StringItemList=\u8d85\u97f3\u8760
|
|
||||||
1042.lstPokemon.StringItemList=\u5927\u5634\u8760
|
|
||||||
1043.lstPokemon.StringItemList=\u8d70\u8def\u8349
|
|
||||||
1044.lstPokemon.StringItemList=\u81ed\u81ed\u82b1
|
|
||||||
1045.lstPokemon.StringItemList=\u9738\u738b\u82b1
|
|
||||||
1046.lstPokemon.StringItemList=\u6d3e\u62c9\u65af
|
|
||||||
1047.lstPokemon.StringItemList=\u6d3e\u62c9\u65af\u7279
|
|
||||||
1048.lstPokemon.StringItemList=\u6bdb\u7403
|
|
||||||
1049.lstPokemon.StringItemList=\u6469\u9b6f\u86fe
|
|
||||||
1050.lstPokemon.StringItemList=\u5730\u9f20
|
|
||||||
1051.lstPokemon.StringItemList=\u4e09\u5730\u9f20
|
|
||||||
1052.lstPokemon.StringItemList=\u55b5\u55b5
|
|
||||||
1053.lstPokemon.StringItemList=\u8c93\u8001\u5927
|
|
||||||
1054.lstPokemon.StringItemList=\u53ef\u9054\u9d28
|
|
||||||
1055.lstPokemon.StringItemList=\u54e5\u9054\u9d28
|
|
||||||
1056.lstPokemon.StringItemList=\u7334\u602a
|
|
||||||
1057.lstPokemon.StringItemList=\u706b\u7206\u7334
|
|
||||||
1058.lstPokemon.StringItemList=\u5361\u8482\u72d7
|
|
||||||
1059.lstPokemon.StringItemList=\u98a8\u901f\u72d7
|
|
||||||
1060.lstPokemon.StringItemList=\u868a\u9999\u874c\u86aa
|
|
||||||
1061.lstPokemon.StringItemList=\u868a\u9999\u541b
|
|
||||||
1062.lstPokemon.StringItemList=\u868a\u9999\u6cf3\u58eb
|
|
||||||
1063.lstPokemon.StringItemList=\u51f1\u897f
|
|
||||||
1064.lstPokemon.StringItemList=\u52c7\u57fa\u62c9
|
|
||||||
1065.lstPokemon.StringItemList=\u80e1\u5730
|
|
||||||
1066.lstPokemon.StringItemList=\u8155\u529b
|
|
||||||
1067.lstPokemon.StringItemList=\u8c6a\u529b
|
|
||||||
1068.lstPokemon.StringItemList=\u602a\u529b
|
|
||||||
1069.lstPokemon.StringItemList=\u5587\u53ed\u82bd
|
|
||||||
1070.lstPokemon.StringItemList=\u53e3\u5446\u82b1
|
|
||||||
1071.lstPokemon.StringItemList=\u5927\u98df\u82b1
|
|
||||||
1072.lstPokemon.StringItemList=\u746a\u7459\u6c34\u6bcd
|
|
||||||
1073.lstPokemon.StringItemList=\u6bd2\u523a\u6c34\u6bcd
|
|
||||||
1074.lstPokemon.StringItemList=\u5c0f\u62f3\u77f3
|
|
||||||
1075.lstPokemon.StringItemList=\u9686\u9686\u77f3
|
|
||||||
1076.lstPokemon.StringItemList=\u9686\u9686\u5ca9
|
|
||||||
1077.lstPokemon.StringItemList=\u5c0f\u706b\u99ac
|
|
||||||
1078.lstPokemon.StringItemList=\u70c8\u7130\u99ac
|
|
||||||
1079.lstPokemon.StringItemList=\u5446\u5446\u7378
|
|
||||||
1080.lstPokemon.StringItemList=\u5446\u6bbc\u7378
|
|
||||||
1081.lstPokemon.StringItemList=\u5c0f\u78c1\u602a
|
|
||||||
1082.lstPokemon.StringItemList=\u4e09\u5408\u4e00\u78c1\u602a
|
|
||||||
1083.lstPokemon.StringItemList=\u5927\u8525\u9d28
|
|
||||||
1084.lstPokemon.StringItemList=\u561f\u561f
|
|
||||||
1085.lstPokemon.StringItemList=\u561f\u561f\u5229
|
|
||||||
1086.lstPokemon.StringItemList=\u5c0f\u6d77\u7345
|
|
||||||
1087.lstPokemon.StringItemList=\u767d\u6d77\u7345
|
|
||||||
1088.lstPokemon.StringItemList=\u81ed\u6ce5
|
|
||||||
1089.lstPokemon.StringItemList=\u81ed\u81ed\u6ce5
|
|
||||||
1090.lstPokemon.StringItemList=\u5927\u820c\u8c9d
|
|
||||||
1091.lstPokemon.StringItemList=\u523a\u7532\u8c9d
|
|
||||||
1092.lstPokemon.StringItemList=\u9b3c\u65af
|
|
||||||
1093.lstPokemon.StringItemList=\u9b3c\u65af\u901a
|
|
||||||
1094.lstPokemon.StringItemList=\u803f\u9b3c
|
|
||||||
1095.lstPokemon.StringItemList=\u5927\u5ca9\u86c7
|
|
||||||
1096.lstPokemon.StringItemList=\u50ac\u7720\u8c98
|
|
||||||
1097.lstPokemon.StringItemList=\u5f15\u5922\u8c98\u4eba
|
|
||||||
1098.lstPokemon.StringItemList=\u5927\u9257\u87f9
|
|
||||||
1099.lstPokemon.StringItemList=\u5de8\u9257\u87f9
|
|
||||||
1100.lstPokemon.StringItemList=\u9739\u9742\u96fb\u7403
|
|
||||||
1101.lstPokemon.StringItemList=\u9811\u76ae\u96f7\u5f48
|
|
||||||
1102.lstPokemon.StringItemList=\u86cb\u86cb
|
|
||||||
1103.lstPokemon.StringItemList=\u6930\u86cb\u6a39
|
|
||||||
1104.lstPokemon.StringItemList=\u5361\u62c9\u5361\u62c9
|
|
||||||
1105.lstPokemon.StringItemList=\u560e\u5566\u560e\u5566
|
|
||||||
1106.lstPokemon.StringItemList=\u98db\u817f\u90ce
|
|
||||||
1107.lstPokemon.StringItemList=\u5feb\u62f3\u90ce
|
|
||||||
1108.lstPokemon.StringItemList=\u5927\u820c\u982d
|
|
||||||
1109.lstPokemon.StringItemList=\u74e6\u65af\u86cb
|
|
||||||
1110.lstPokemon.StringItemList=\u96d9\u5f48\u74e6\u65af
|
|
||||||
1111.lstPokemon.StringItemList=\u7368\u89d2\u7280\u725b
|
|
||||||
1112.lstPokemon.StringItemList=\u947d\u89d2\u7280\u7378
|
|
||||||
1113.lstPokemon.StringItemList=\u5409\u5229\u86cb
|
|
||||||
1114.lstPokemon.StringItemList=\u8513\u85e4\u602a
|
|
||||||
1115.lstPokemon.StringItemList=\u888b\u7378
|
|
||||||
1116.lstPokemon.StringItemList=\u58a8\u6d77\u99ac
|
|
||||||
1117.lstPokemon.StringItemList=\u6d77\u523a\u9f8d
|
|
||||||
1118.lstPokemon.StringItemList=\u89d2\u91d1\u9b5a
|
|
||||||
1119.lstPokemon.StringItemList=\u91d1\u9b5a\u738b
|
|
||||||
1120.lstPokemon.StringItemList=\u6d77\u661f\u661f
|
|
||||||
1121.lstPokemon.StringItemList=\u5bf6\u77f3\u6d77\u661f
|
|
||||||
1122.lstPokemon.StringItemList=\u9b54\u7246\u4eba\u5076
|
|
||||||
1123.lstPokemon.StringItemList=\u98db\u5929\u87b3\u8782
|
|
||||||
1124.lstPokemon.StringItemList=\u8ff7\u5507\u59d0
|
|
||||||
1125.lstPokemon.StringItemList=\u96fb\u64ca\u7378
|
|
||||||
1126.lstPokemon.StringItemList=\u9d28\u5634\u706b\u7378
|
|
||||||
1127.lstPokemon.StringItemList=\u51f1\u7f85\u65af
|
|
||||||
1128.lstPokemon.StringItemList=\u80af\u6cf0\u7f85
|
|
||||||
1129.lstPokemon.StringItemList=\u9bc9\u9b5a\u738b
|
|
||||||
1130.lstPokemon.StringItemList=\u66b4\u9bc9\u9f8d
|
|
||||||
1131.lstPokemon.StringItemList=\u62c9\u666e\u62c9\u65af
|
|
||||||
1132.lstPokemon.StringItemList=\u767e\u8b8a\u602a
|
|
||||||
1133.lstPokemon.StringItemList=\u4f0a\u5e03
|
|
||||||
1134.lstPokemon.StringItemList=\u6c34\u4f0a\u5e03
|
|
||||||
1135.lstPokemon.StringItemList=\u96f7\u4f0a\u5e03
|
|
||||||
1136.lstPokemon.StringItemList=\u706b\u4f0a\u5e03
|
|
||||||
1137.lstPokemon.StringItemList=\u591a\u908a\u7378
|
|
||||||
1138.lstPokemon.StringItemList=\u83ca\u77f3\u7378
|
|
||||||
1139.lstPokemon.StringItemList=\u591a\u523a\u83ca\u77f3\u7378
|
|
||||||
1140.lstPokemon.StringItemList=\u5316\u77f3\u76d4
|
|
||||||
1141.lstPokemon.StringItemList=\u942e\u5200\u76d4
|
|
||||||
1142.lstPokemon.StringItemList=\u5316\u77f3\u7ffc\u9f8d
|
|
||||||
1143.lstPokemon.StringItemList=\u5361\u6bd4\u7378
|
|
||||||
1144.lstPokemon.StringItemList=\u6025\u51cd\u9ce5
|
|
||||||
1145.lstPokemon.StringItemList=\u9583\u96fb\u9ce5
|
|
||||||
1146.lstPokemon.StringItemList=\u706b\u7130\u9ce5
|
|
||||||
1147.lstPokemon.StringItemList=\u8ff7\u4f60\u9f8d
|
|
||||||
1148.lstPokemon.StringItemList=\u54c8\u514b\u9f8d
|
|
||||||
1149.lstPokemon.StringItemList=\u5feb\u9f8d
|
|
||||||
1150.lstPokemon.StringItemList=\u8d85\u5922
|
|
||||||
1151.lstPokemon.StringItemList=\u5922\u5e7b
|
|
||||||
1152.lstPokemon.StringItemList=\u83ca\u8349\u8449
|
|
||||||
1153.lstPokemon.StringItemList=\u6708\u6842\u8449
|
|
||||||
1154.lstPokemon.StringItemList=\u5927\u7afa\u8475
|
|
||||||
1155.lstPokemon.StringItemList=\u706b\u7403\u9f20
|
|
||||||
1156.lstPokemon.StringItemList=\u706b\u5ca9\u9f20
|
|
||||||
1157.lstPokemon.StringItemList=\u706b\u7206\u7378
|
|
||||||
1158.lstPokemon.StringItemList=\u5c0f\u92f8\u9c77
|
|
||||||
1159.lstPokemon.StringItemList=\u85cd\u9c77
|
|
||||||
1160.lstPokemon.StringItemList=\u5927\u529b\u9c77
|
|
||||||
1161.lstPokemon.StringItemList=\u5c3e\u7acb
|
|
||||||
1162.lstPokemon.StringItemList=\u5927\u5c3e\u7acb
|
|
||||||
1163.lstPokemon.StringItemList=\u5495\u5495
|
|
||||||
1164.lstPokemon.StringItemList=\u8c93\u982d\u591c\u9df9
|
|
||||||
1165.lstPokemon.StringItemList=\u82ad\u74e2\u87f2
|
|
||||||
1166.lstPokemon.StringItemList=\u5b89\u74e2\u87f2
|
|
||||||
1167.lstPokemon.StringItemList=\u5713\u7d72\u86db
|
|
||||||
1168.lstPokemon.StringItemList=\u963f\u5229\u591a\u65af
|
|
||||||
1169.lstPokemon.StringItemList=\u53c9\u5b57\u8760
|
|
||||||
1170.lstPokemon.StringItemList=\u71c8\u7c60\u9b5a
|
|
||||||
1171.lstPokemon.StringItemList=\u96fb\u71c8\u602a
|
|
||||||
1172.lstPokemon.StringItemList=\u76ae\u4e18
|
|
||||||
1173.lstPokemon.StringItemList=\u76ae\u5bf6\u5bf6
|
|
||||||
1174.lstPokemon.StringItemList=\u5bf6\u5bf6\u4e01
|
|
||||||
1175.lstPokemon.StringItemList=\u6ce2\u514b\u6bd4
|
|
||||||
1176.lstPokemon.StringItemList=\u6ce2\u514b\u57fa\u53e4
|
|
||||||
1177.lstPokemon.StringItemList=\u5929\u7136\u96c0
|
|
||||||
1178.lstPokemon.StringItemList=\u5929\u7136\u9ce5
|
|
||||||
1179.lstPokemon.StringItemList=\u54a9\u5229\u7f8a
|
|
||||||
1180.lstPokemon.StringItemList=\u8338\u8338\u7f8a
|
|
||||||
1181.lstPokemon.StringItemList=\u96fb\u9f8d
|
|
||||||
1182.lstPokemon.StringItemList=\u7f8e\u9e97\u82b1
|
|
||||||
1183.lstPokemon.StringItemList=\u746a\u529b\u9732
|
|
||||||
1184.lstPokemon.StringItemList=\u746a\u529b\u9732\u9e97
|
|
||||||
1185.lstPokemon.StringItemList=\u6a39\u624d\u602a
|
|
||||||
1186.lstPokemon.StringItemList=\u868a\u9999\u86d9\u7687
|
|
||||||
1187.lstPokemon.StringItemList=\u6bfd\u5b50\u8349
|
|
||||||
1188.lstPokemon.StringItemList=\u6bfd\u5b50\u82b1
|
|
||||||
1189.lstPokemon.StringItemList=\u6bfd\u5b50\u68c9
|
|
||||||
1190.lstPokemon.StringItemList=\u9577\u5c3e\u602a\u624b
|
|
||||||
1191.lstPokemon.StringItemList=\u5411\u65e5\u7a2e\u5b50
|
|
||||||
1192.lstPokemon.StringItemList=\u5411\u65e5\u82b1\u602a
|
|
||||||
1193.lstPokemon.StringItemList=\u873b\u873b\u8713
|
|
||||||
1194.lstPokemon.StringItemList=\u70cf\u6ce2
|
|
||||||
1195.lstPokemon.StringItemList=\u6cbc\u738b
|
|
||||||
1196.lstPokemon.StringItemList=\u592a\u967d\u4f0a\u5e03
|
|
||||||
1197.lstPokemon.StringItemList=\u6708\u4eae\u4f0a\u5e03
|
|
||||||
1198.lstPokemon.StringItemList=\u9ed1\u6697\u9d09
|
|
||||||
1199.lstPokemon.StringItemList=\u5446\u5446\u738b
|
|
||||||
1200.lstPokemon.StringItemList=\u5922\u5996
|
|
||||||
1201.lstPokemon.StringItemList=\u672a\u77e5\u5716\u9a30
|
|
||||||
1202.lstPokemon.StringItemList=\u679c\u7136\u7fc1
|
|
||||||
1203.lstPokemon.StringItemList=\u9e92\u9e9f\u5947
|
|
||||||
1204.lstPokemon.StringItemList=\u699b\u679c\u7403
|
|
||||||
1205.lstPokemon.StringItemList=\u4f5b\u70c8\u6258\u65af
|
|
||||||
1206.lstPokemon.StringItemList=\u571f\u9f8d\u5f1f\u5f1f
|
|
||||||
1207.lstPokemon.StringItemList=\u5929\u880d
|
|
||||||
1208.lstPokemon.StringItemList=\u5927\u92fc\u86c7
|
|
||||||
1209.lstPokemon.StringItemList=\u5e03\u9b6f
|
|
||||||
1210.lstPokemon.StringItemList=\u5e03\u9b6f\u7687
|
|
||||||
1211.lstPokemon.StringItemList=\u5343\u91dd\u9b5a
|
|
||||||
1212.lstPokemon.StringItemList=\u5de8\u9257\u87b3\u8782
|
|
||||||
1213.lstPokemon.StringItemList=\u58fa\u58fa
|
|
||||||
1214.lstPokemon.StringItemList=\u8d6b\u62c9\u514b\u7f85\u65af
|
|
||||||
1215.lstPokemon.StringItemList=\u72c3\u62c9
|
|
||||||
1216.lstPokemon.StringItemList=\u718a\u5bf6\u5bf6
|
|
||||||
1217.lstPokemon.StringItemList=\u5708\u5708\u718a
|
|
||||||
1218.lstPokemon.StringItemList=\u7194\u5ca9\u87f2
|
|
||||||
1219.lstPokemon.StringItemList=\u7194\u5ca9\u8778\u725b
|
|
||||||
1220.lstPokemon.StringItemList=\u5c0f\u5c71\u8c6c
|
|
||||||
1221.lstPokemon.StringItemList=\u9577\u6bdb\u8c6c
|
|
||||||
1222.lstPokemon.StringItemList=\u592a\u967d\u73ca\u745a
|
|
||||||
1223.lstPokemon.StringItemList=\u9435\u70ae\u9b5a
|
|
||||||
1224.lstPokemon.StringItemList=\u7ae0\u9b5a\u6876
|
|
||||||
1225.lstPokemon.StringItemList=\u4fe1\u4f7f\u9ce5
|
|
||||||
1226.lstPokemon.StringItemList=\u5de8\u7fc5\u98db\u9b5a
|
|
||||||
1227.lstPokemon.StringItemList=\u76d4\u7532\u9ce5
|
|
||||||
1228.lstPokemon.StringItemList=\u6234\u9b6f\u6bd4
|
|
||||||
1229.lstPokemon.StringItemList=\u9ed1\u9b6f\u52a0
|
|
||||||
1230.lstPokemon.StringItemList=\u523a\u9f8d\u738b
|
|
||||||
1231.lstPokemon.StringItemList=\u5c0f\u5c0f\u8c61
|
|
||||||
1232.lstPokemon.StringItemList=\u9813\u7532
|
|
||||||
1233.lstPokemon.StringItemList=\u591a\u908a\u7378\u2161
|
|
||||||
1234.lstPokemon.StringItemList=\u9a5a\u89d2\u9e7f
|
|
||||||
1235.lstPokemon.StringItemList=\u5716\u5716\u72ac
|
|
||||||
1236.lstPokemon.StringItemList=\u7121\u754f\u5c0f\u5b50
|
|
||||||
1237.lstPokemon.StringItemList=\u6230\u821e\u90ce
|
|
||||||
1238.lstPokemon.StringItemList=\u8ff7\u5507\u5a03
|
|
||||||
1239.lstPokemon.StringItemList=\u96fb\u64ca\u602a
|
|
||||||
1240.lstPokemon.StringItemList=\u9d28\u5634\u5bf6\u5bf6
|
|
||||||
1241.lstPokemon.StringItemList=\u5927\u5976\u7f50
|
|
||||||
1242.lstPokemon.StringItemList=\u5e78\u798f\u86cb
|
|
||||||
1243.lstPokemon.StringItemList=\u96f7\u516c
|
|
||||||
1244.lstPokemon.StringItemList=\u708e\u5e1d
|
|
||||||
1245.lstPokemon.StringItemList=\u6c34\u541b
|
|
||||||
1246.lstPokemon.StringItemList=\u5e7c\u57fa\u62c9\u65af
|
|
||||||
1247.lstPokemon.StringItemList=\u6c99\u57fa\u62c9\u65af
|
|
||||||
1248.lstPokemon.StringItemList=\u73ed\u57fa\u62c9\u65af
|
|
||||||
1249.lstPokemon.StringItemList=\u6d1b\u5947\u4e9e
|
|
||||||
1250.lstPokemon.StringItemList=\u9cf3\u738b
|
|
||||||
1251.lstPokemon.StringItemList=\u6642\u62c9\u6bd4
|
|
||||||
|
@ -11,257 +11,6 @@
|
|||||||
<dlg:text dlg:id="txtPokemon" dlg:tab-index="16" dlg:left="5" dlg:top="26" dlg:width="30" dlg:height="8" dlg:value="&2.DlgMain.txtPokemon.Label"/>
|
<dlg:text dlg:id="txtPokemon" dlg:tab-index="16" dlg:left="5" dlg:top="26" dlg:width="30" dlg:height="8" dlg:value="&2.DlgMain.txtPokemon.Label"/>
|
||||||
<dlg:menulist dlg:id="lstPokemon" dlg:tab-index="0" dlg:left="35" dlg:top="24" dlg:width="55" dlg:height="12" dlg:spin="true" dlg:linecount="20">
|
<dlg:menulist dlg:id="lstPokemon" dlg:tab-index="0" dlg:left="35" dlg:top="24" dlg:width="55" dlg:height="12" dlg:spin="true" dlg:linecount="20">
|
||||||
<dlg:menupopup>
|
<dlg:menupopup>
|
||||||
<dlg:menuitem dlg:value="&1001.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1002.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1003.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1004.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1005.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1006.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1007.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1008.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1009.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1010.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1011.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1012.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1013.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1014.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1015.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1016.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1017.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1018.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1019.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1020.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1021.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1022.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1023.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1024.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1025.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1026.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1027.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1028.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1029.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1030.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1031.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1032.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1033.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1034.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1035.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1036.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1037.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1038.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1039.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1040.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1041.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1042.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1043.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1044.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1045.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1046.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1047.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1048.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1049.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1050.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1051.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1052.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1053.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1054.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1055.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1056.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1057.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1058.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1059.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1060.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1061.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1062.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1063.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1064.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1065.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1066.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1067.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1068.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1069.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1070.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1071.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1072.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1073.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1074.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1075.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1076.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1077.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1078.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1079.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1080.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1081.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1082.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1083.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1084.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1085.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1086.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1087.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1088.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1089.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1090.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1091.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1092.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1093.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1094.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1095.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1096.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1097.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1098.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1099.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1100.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1101.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1102.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1103.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1104.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1105.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1106.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1107.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1108.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1109.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1110.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1111.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1112.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1113.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1114.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1115.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1116.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1117.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1118.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1119.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1120.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1121.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1122.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1123.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1124.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1125.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1126.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1127.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1128.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1129.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1130.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1131.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1132.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1133.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1134.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1135.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1136.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1137.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1138.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1139.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1140.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1141.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1142.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1143.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1144.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1145.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1146.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1147.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1148.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1149.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1150.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1151.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1152.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1153.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1154.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1155.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1156.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1157.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1158.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1159.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1160.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1161.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1162.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1163.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1164.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1165.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1166.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1167.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1168.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1169.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1170.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1171.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1172.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1173.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1174.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1175.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1176.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1177.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1178.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1179.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1180.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1181.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1182.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1183.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1184.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1185.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1186.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1187.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1188.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1189.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1190.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1191.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1192.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1193.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1194.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1195.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1196.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1197.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1198.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1199.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1200.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1201.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1202.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1203.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1204.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1205.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1206.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1207.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1208.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1209.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1210.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1211.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1212.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1213.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1214.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1215.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1216.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1217.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1218.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1219.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1220.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1221.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1222.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1223.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1224.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1225.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1226.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1227.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1228.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1229.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1230.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1231.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1232.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1233.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1234.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1235.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1236.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1237.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1238.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1239.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1240.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1241.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1242.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1243.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1244.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1245.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1246.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1247.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1248.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1249.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&1250.lstPokemon.StringItemList"/>
|
|
||||||
<dlg:menuitem dlg:value="&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&location=application" script:language="Script"/>
|
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:PokemonGoIV.1Dialog.subLstPokemonSelected?language=Basic&location=application" script:language="Script"/>
|
||||||
</dlg:menulist>
|
</dlg:menulist>
|
||||||
|
@ -2,9 +2,10 @@
|
|||||||
<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
|
<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
|
||||||
<library:library xmlns:library="http://openoffice.org/2000/library" library:name="PokemonGoIV" library:readonly="false" library:passwordprotected="false">
|
<library:library xmlns:library="http://openoffice.org/2000/library" library:name="PokemonGoIV" library:readonly="false" library:passwordprotected="false">
|
||||||
<library:element library:name="0Main"/>
|
<library:element library:name="0Main"/>
|
||||||
<library:element library:name="2Data"/>
|
<library:element library:name="3Data"/>
|
||||||
<library:element library:name="9Load"/>
|
<library:element library:name="9Load"/>
|
||||||
<library:element library:name="8Width"/>
|
<library:element library:name="8Width"/>
|
||||||
<library:element library:name="1Dialog"/>
|
<library:element library:name="1Dialog"/>
|
||||||
<library:element library:name="7Registry"/>
|
<library:element library:name="7Registry"/>
|
||||||
|
<library:element library:name="2Report"/>
|
||||||
</library:library>
|
</library:library>
|
Loading…
Reference in New Issue
Block a user