Merge branch 'deutsch'

This commit is contained in:
依瑪貓 2017-02-19 00:14:56 +08:00
commit a506d876ba
25 changed files with 429 additions and 114 deletions

View File

@ -1,4 +1,4 @@
' Copyright (c) 2016 imacat.
' Copyright (c) 2016-2017 imacat.
'
' Licensed under the Apache License, Version 2.0 (the "License");
' you may not use this file except in compliance with the License.
@ -49,7 +49,7 @@ Type aFindIVParam
sPokemon As String
nCP As Integer
nHP As Integer
nStarDust As Integer
nStardust As Integer
nPlayerLevel As Integer
bIsNew As Boolean
nTotal As Integer
@ -59,7 +59,7 @@ Type aFindIVParam
End Type
Private maBaseStats () As New aStats
Private mCPM () As Double, mStarDust () As Integer
Private mCPM () As Double, mStardust () As Integer
' subMain: The main program
Sub subMain
@ -113,7 +113,7 @@ Function fnAskParam As aFindIVParam
.sPokemon = oDialog.getControl ("lstPokemon").getSelectedItem
.nCP = oDialog.getControl ("numCP").getValue
.nHP = oDialog.getControl ("numHP").getValue
.nStarDust = CInt (oDialog.getControl ("lstStarDust").getSelectedItem)
.nStardust = CInt (oDialog.getControl ("lstStardust").getSelectedItem)
.nPlayerLevel = CInt (oDialog.getControl ("lstPlayerLevel").getSelectedItem)
.nTotal = oDialog.getControl ("lstTotal").getSelectedItemPos + 1
.nMax = oDialog.getControl ("lstMax").getSelectedItemPos + 1
@ -174,19 +174,19 @@ End Function
Sub subBtnOKCheck (oEvent As object)
Dim oDialog As Object
Dim oPokemon As Object, oCP As Object
Dim oHP As Object, oStarDust As Object, oOK As Object
Dim oHP As Object, oStardust As Object, oOK As Object
oDialog = oEvent.Source.getContext
oPokemon = oDialog.getControl ("lstPokemon")
oCP = oDialog.getControl ("numCP")
oHP = oDialog.getControl ("numHP")
oStarDust = oDialog.getControl ("lstStarDust")
oStardust = oDialog.getControl ("lstStardust")
oOK = oDialog.getControl ("btnOK")
If oPokemon.getSelectedItemPos <> -1 _
And oCP.getText <> "" _
And oHP.getText <> "" _
And oStarDust.getSelectedItemPos <> -1 Then
And oStardust.getSelectedItemPos <> -1 Then
oOK.setEnable (True)
Else
oOK.setEnable (False)
@ -330,21 +330,16 @@ Sub subUpdateBestStatAppraisal (oDialog As Object, sAppraisal)
Dim oText As Object, oList As Object, nX As Integer
Dim sBefore As String, nBeforeWidth As Integer
Dim sAfter As String, nAfterWidth As Integer
Dim nDialogWidth As Integer
Dim nPos As Integer
Dim mItems () As String
nPos = InStr (sAppraisal, "[Stat]")
sBefore = Left (sAppraisal, nPos - 1)
If Right (sBefore, 1) <> " " Then
sBefore = sBefore & " "
End If
nBeforeWidth = CInt (Len (sBefore) * 2.3)
nBeforeWidth = CInt (Len (sBefore) * 2.8)
sAfter = Right (sAppraisal, _
Len (sAppraisal) - nPos - Len ("[Stat]") + 1)
If Left (sAfter, 1) <> " " Then
sAfter = " " & sAfter
End If
nAfterWidth = CInt (Len (sAfter) * 2.3)
nDialogWidth = oDialog.getModel.getPropertyValue ("Width")
oText = oDialog.getControl ("txtBestBefore")
oText.getModel.setPropertyValue ("Width", nBeforeWidth)
@ -361,8 +356,9 @@ Sub subUpdateBestStatAppraisal (oDialog As Object, sAppraisal)
oList.addItems (mItems, 0)
oList.getModel.setPropertyValue ("PositionX", nX)
oList.setVisible (True)
nX = nX + oList.getModel.getPropertyValue ("Width") + 2
nX = nX + oList.getModel.getPropertyValue ("Width")
nAfterWidth = nDialogWidth - nX - 10
oText = oDialog.getControl ("txtBestAfter")
oText.getModel.setPropertyValue ("PositionX", nX)
oText.getModel.setPropertyValue ("Width", nAfterWidth)
@ -571,7 +567,7 @@ Function fnFindIV ( _
Else
fStep = 0.5
End If
subReadStarDust
subReadStardust
nEvolved = UBound (aBaseStats.mEvolved)
If nEvolved > -1 Then
ReDim Preserve maEvBaseStats (nEvolved) As New aStats
@ -585,8 +581,8 @@ Function fnFindIV ( _
Next nI
End If
nN = -1
For fLevel = 1 To UBound (mStarDust) Step fStep
If mStarDust (CInt (fLevel - 0.5)) = aQuery.nStarDust Then
For fLevel = 1 To UBound (mStardust) Step fStep
If mStardust (CInt (fLevel - 0.5)) = aQuery.nStardust Then
For nStamina = 0 To 15
If fnCalcHP (aBaseStats, fLevel, nStamina) = aQuery.nHP Then
For nAttack = 0 To 15
@ -740,7 +736,7 @@ Sub subSaveIV ( _
nEvolved = UBound (maIVs (0).maEvolved) + 1
mRow = Array ( _
"No", "Pokemon", "CP", "HP", "Star dust", _
"No", "Pokemon", "CP", "HP", "Stardust", _
"Lv", "Atk", "Def", "Sta", "IV")
nFront = UBound (mRow)
If aQuery.sPokemon = "Eevee" Then
@ -843,7 +839,7 @@ Sub subSaveIV ( _
mData (1) (1) = aQuery.sPokemon
mData (1) (2) = aQuery.nCP
mData (1) (3) = aQuery.nHP
mData (1) (4) = aQuery.nStarDust
mData (1) (4) = aQuery.nStardust
oRange = oSheet.getCellRangeByPosition ( _
0, 0, UBound (mData (0)), UBound (mData))
@ -1154,9 +1150,9 @@ Sub subReadCPM
End If
End Sub
' subReadStarDust: Reads the star dust table.
Sub subReadStarDust
If UBound (mStarDust) = -1 Then
mStarDust = fnGetStarDustData
' subReadStardust: Reads the stardust table.
Sub subReadStardust
If UBound (mStardust) = -1 Then
mStardust = fnGetStardustData
End If
End Sub

View File

@ -1,4 +1,4 @@
' Copyright (c) 2016 imacat.
' Copyright (c) 2016-2017 imacat.
'
' Licensed under the Apache License, Version 2.0 (the "License");
' you may not use this file except in compliance with the License.
@ -228,9 +228,9 @@ Function fnGetCPMData As Variant
0.78463697)
End Function
' fnGetStarDustData: Returns the star dust data.
Function fnGetStarDustData As Variant
fnGetStarDustData = Array( _
' fnGetStardustData: Returns the stardust data.
Function fnGetStardustData As Variant
fnGetStardustData = Array( _
-1, _
200, _
200, _

View File

@ -1,4 +1,4 @@
' Copyright (c) 2016 imacat.
' Copyright (c) 2016-2017 imacat.
'
' Licensed under the Apache License, Version 2.0 (the "License");
' you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@ Sub subReadDataSheets
Dim sOutput as String, mData As Variant
sOutput = "" _
& "' Copyright (c) 2016 imacat." & Chr (10) _
& "' Copyright (c) 2016-" & Year (Now) & " imacat." & Chr (10) _
& "' " & Chr (10) _
& "' Licensed under the Apache License, Version 2.0 (the ""License"");" & Chr (10) _
& "' you may not use this file except in compliance with the License." & Chr (10) _
@ -44,7 +44,7 @@ Sub subReadDataSheets
& "Option Explicit"
sOutput = sOutput & Chr (10) & Chr (10) & fnReadBaseStatsSheet
sOutput = sOutput & Chr (10) & Chr (10) & fnReadCPMSheet
sOutput = sOutput & Chr (10) & Chr (10) & fnReadStarDustSheet
sOutput = sOutput & Chr (10) & Chr (10) & fnReadStardustSheet
subShowBasicData (sOutput)
End Sub
@ -203,8 +203,8 @@ Function fnReadCPMSheet As String
fnReadCPMSheet = sOutput
End Function
' fnReadStarDustSheet: Reads the star dust sheet.
Function fnReadStarDustSheet As String
' fnReadStardustSheet: Reads the stardust sheet.
Function fnReadStardustSheet As String
Dim oSheet As Object, oRange As Object, mData As Variant
Dim nI As Integer, sOutput As String
@ -213,9 +213,9 @@ Function fnReadStarDustSheet As String
mData = oRange.getDataArray
sOutput = "" _
& "' fnGetStarDustData: Returns the star dust data." & Chr (10) _
& "Function fnGetStarDustData As Variant" & Chr (10) _
& Chr (9) & "fnGetStarDustData = Array( _" & Chr (10) _
& "' fnGetStardustData: Returns the stardust data." & Chr (10) _
& "Function fnGetStardustData As Variant" & Chr (10) _
& Chr (9) & "fnGetStardustData = Array( _" & Chr (10) _
& Chr (9) & Chr (9) & "-1, _" & Chr (10)
For nI = 1 To UBound (mData) - 1 Step 2
sOutput = sOutput _
@ -225,5 +225,5 @@ Function fnReadStarDustSheet As String
sOutput = sOutput _
& Chr (9) & Chr (9) & mData (nI) (2) & ")" & Chr (10) _
& "End Function"
fnReadStarDustSheet = sOutput
fnReadStardustSheet = sOutput
End Function

2
README
View File

@ -1,6 +1,6 @@
pokemongoiv - The Pokémon GO IV calculator
Copyright (c) 2016 imacat.
Copyright (c) 2016-2017 imacat.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -10,6 +10,7 @@
<prop oor:name="Description" oor:type="xs:string" oor:localized="true">
<value>Calculates the individual values (IVs) of the Pokémon.</value>
<value xml:lang="zh-TW">計算寶可夢的 IV 值。</value>
<value xml:lang="de">Berechnet Individuelle Werte (IVs) von Pokémon.</value>
</prop>
<prop oor:name="Version" oor:type="xs:string">
<value>@VERSION@</value>
@ -25,11 +26,24 @@
<value>imacat@mail.imacat.idv.tw</value>
</prop>
<prop oor:name="Copyright" oor:type="xs:string" oor:localized="true">
<value>Copyright &#169; 2016 imacat</value>
<value xml:lang="zh-TW">版權所有 &#169; 2016 依瑪貓</value>
<value>Copyright &#169; 2016-2017 imacat</value>
<value xml:lang="zh-TW">版權所有 &#169; 2016-2017 依瑪貓</value>
<value xml:lang="de">Copyright &#169; 2016-2017 imacat</value>
</prop>
<node oor:name="Contributors"/>
<node oor:name="Translators"/>
<node oor:name="Translators">
<node oor:name="t1" oor:op="replace">
<prop oor:name="TranslatorName" oor:type="xs:string">
<value>Andreas Frisch</value>
</prop>
<prop oor:name="Email" oor:type="xs:string">
<value>github@dreambox.guru</value>
</prop>
<prop oor:name="Language" oor:type="xs:string">
<value>German</value>
</prop>
</node>
</node>
</node>
<!-- Localized messages -->
@ -38,21 +52,25 @@
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Found no matching IV.</value>
<value xml:lang="zh-TW">找不出符合的 IV 值。</value>
<value xml:lang="de">Keine passenden individuellen Werte gefunden.</value>
</prop>
</node>
<node oor:name="StatAttack" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Attack</value>
<value xml:lang="de">Angriff</value>
</prop>
</node>
<node oor:name="StatDefense" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Defense</value>
<value xml:lang="de">Verteidigung</value>
</prop>
</node>
<node oor:name="StatHP" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>HP</value>
<value xml:lang="de">KP</value>
</prop>
</node>
<!-- Team Valor (red) -->
@ -60,56 +78,67 @@
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Candela, leader of Team Valor, says:</value>
<value xml:lang="zh-TW">Valor 隊隊長 Candela 說:</value>
<value xml:lang="de">Candela, Leiter von Team Wagemut, sagt:</value>
</prop>
</node>
<node oor:name="AppraisalValorTotal37OrHigher" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] simply amazes me. It can accomplish anything!</value>
<value xml:lang="de">Von deinem [Pokémon] bin ich insgesamt total beeindruckt. Es kann einfach alles!</value>
</prop>
</node>
<node oor:name="AppraisalValorTotal30To36" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] is a strong Pokémon. You should be proud!</value>
<value xml:lang="de">Dein [Pokémon] ist insgesamt sehr stark. Du kannst stolz sein!</value>
</prop>
</node>
<node oor:name="AppraisalValorTotal23To29" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] is a decent Pokémon.</value>
<value xml:lang="de">Dein [Pokémon] ist insgesamt ganz gut!</value>
</prop>
</node>
<node oor:name="AppraisalValorTotalUpTo22" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] may not be great in battle, but I still like it!</value>
<value xml:lang="de">Dein [Pokémon] ist zwar insgesamt im Kampf nicht allzu beeindruckend, aber ich mag es trotzdem!</value>
</prop>
</node>
<node oor:name="AppraisalValorBest" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Its [Stat] is its strongest feature.</value>
<value xml:lang="de">Sein [Stat]-Wert ist seine stärkste Eigenschaft.</value>
</prop>
</node>
<node oor:name="AppraisalValorBestToo" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>I'm just as impressed with its [Stat].</value>
<value xml:lang="de">Ich bin genauso beeindruckt durch seinen [Stat]-Wert.</value>
</prop>
</node>
<node oor:name="AppraisalValorMax15" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>I'm blown away by its stats. WOW!</value>
<value xml:lang="de">Seine Werte hauen mich um. WOW!</value>
</prop>
</node>
<node oor:name="AppraisalValorMax13Or14" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>It's got excellent stats! How exciting!</value>
<value xml:lang="de">Es hat hervorragende Werte! Wie aufregend!</value>
</prop>
</node>
<node oor:name="AppraisalValorMax8To12" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Its stats indicate that in battle, it'll get the job done.</value>
<value xml:lang="de">Seine Werte sind nicht von schlechten Eltern.</value>
</prop>
</node>
<node oor:name="AppraisalValorMaxUpTo7" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Its stats don't point to greatness in battle.</value>
<value xml:lang="de">Seine Werte werden dir im Kampf nicht viel bringen.</value>
</prop>
</node>
<!-- Team Mystic (blue) -->
@ -117,56 +146,67 @@
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Blanche, leader of Team Mystic, says:</value>
<value xml:lang="zh-TW">Mystic 隊隊長 Blanche 說:</value>
<value xml:lang="de">Blanche, Leiter von Team Weisheit, sagt:</value>
</prop>
</node>
<node oor:name="AppraisalMysticTotal37OrHigher" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] is a wonder! What a breathtaking Pokémon!</value>
<value xml:lang="de">Dein [Pokémon] ist insgesamt einfach erstaunlich. Wirklich ein atemberaubendes Exemplar!</value>
</prop>
</node>
<node oor:name="AppraisalMysticTotal30To36" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] has certainly caught my attention.</value>
<value xml:lang="de">Dein [Pokémon] ist mir insgesamt wirklich aufgefallen.</value>
</prop>
</node>
<node oor:name="AppraisalMysticTotal23To29" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] is above average.</value>
<value xml:lang="de">Dein [Pokémon] ist insgesamt ein gutes Pokémon.</value>
</prop>
</node>
<node oor:name="AppraisalMysticTotalUpTo22" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] is not likely to make much headway in battle.</value>
<value xml:lang="de">Dein [Pokémon] wird im Kampf insgesamt wahrscheinlich keine großen Fortschritte machen.</value>
</prop>
</node>
<node oor:name="AppraisalMysticBest" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>I see that its best attribute is its [Stat].</value>
<value xml:lang="de">Seine beste Eigenschaft ist offensichtlich sein [Stat]-Wert.</value>
</prop>
</node>
<node oor:name="AppraisalMysticBestToo" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>It is matched equally by its [Stat].</value>
<value xml:lang="de">Sein [Stat]-Wert ist genauso gut!</value>
</prop>
</node>
<node oor:name="AppraisalMysticMax15" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Its stats exceed my calculations. It's incredible!</value>
<value xml:lang="de">Seine Werte sind so hoch, dass ich sie gar nicht berechnen kann! Unglaublich!</value>
</prop>
</node>
<node oor:name="AppraisalMysticMax13Or14" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>I am certainly impressed by its stats, I must say.</value>
<value xml:lang="de">Ich muss sagen, dass ich von seinen Werten sehr beeindruckt bin.</value>
</prop>
</node>
<node oor:name="AppraisalMysticMax8To12" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Its stats are noticeably trending to the positive.</value>
<value xml:lang="de">Seine Werte sind recht beeindruckend.</value>
</prop>
</node>
<node oor:name="AppraisalMysticMaxUpTo7" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Its stats are not out of the norm, in my opinion.</value>
<value xml:lang="de">Seine Werte sind insgesamt ganz ok.</value>
</prop>
</node>
<!-- Team Instinct (yellow) -->
@ -174,56 +214,67 @@
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Spark, leader of Team Instinct, says:</value>
<value xml:lang="zh-TW">Instinct 隊隊長 Spark 說:</value>
<value xml:lang="de">Spark, Leiter von Team Intuition, sagt:</value>
</prop>
</node>
<node oor:name="AppraisalInstinctTotal37OrHigher" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] is not likely to make much headway in battle.</value>
<value xml:lang="de">Dein [Pokémon] kann es im Kampf mit allen aufnehmen!</value>
</prop>
</node>
<node oor:name="AppraisalInstinctTotal30To36" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] is really strong!</value>
<value xml:lang="de">Dein [Pokémon] ist insgesamt wirklich stark!</value>
</prop>
</node>
<node oor:name="AppraisalInstinctTotal23To29" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] is pretty decent!</value>
<value xml:lang="de">Dein [Pokémon] ist insgesamt ganz gut.</value>
</prop>
</node>
<node oor:name="AppraisalInstinctTotalUpTo22" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Overall, your [Pokémon] has room for improvement as far as battling goes.</value>
<value xml:lang="de">Dein [Pokémon] kann sich im Kampf noch verbessern!</value>
</prop>
</node>
<node oor:name="AppraisalInstinctBest" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Its best quality is [Stat].</value>
<value xml:lang="de">Sein [Stat]-Wert ist seine beste Eigenschaft!</value>
</prop>
</node>
<node oor:name="AppraisalInstinctBestToo" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Its [Stat] is great, too!</value>
<value xml:lang="de">Auch sein [Stat]-Wert ist klasse!</value>
</prop>
</node>
<node oor:name="AppraisalInstinctMax15" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Its stats are the best I've ever seen! No doubt about it!</value>
<value xml:lang="de">Seine Werte sind die besten, die ich je gesehen habe!</value>
</prop>
</node>
<node oor:name="AppraisalInstinctMax13Or14" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Its stats are really strong! Impressive.</value>
<value xml:lang="de">Seine Werte sind wirklich hoch! Hut ab!</value>
</prop>
</node>
<node oor:name="AppraisalInstinctMax8To12" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>It's definitely got some good stats. Definitely!</value>
<value xml:lang="de">Seine Werte können sich sehen lassen!</value>
</prop>
</node>
<node oor:name="AppraisalInstinctMaxUpTo7" oor:op="replace">
<prop oor:name="Text" oor:type="xs:string" oor:localized="true">
<value>Its stats are all right, but kinda basic, as far as I can see.</value>
<value xml:lang="de">Seine Werte sind okay.</value>
</prop>
</node>
</node>

View File

@ -9,8 +9,9 @@
<node oor:name="PokemonGoIV.OfficeToolBar" oor:op="replace">
<!-- Start of OpenOffice 4.x compatibility -->
<prop oor:name="Title">
<value>Pok&#233;mon GO IV Calculator</value>
<value>Pokémon GO IV Calculator</value>
<value xml:lang="zh-TW">寶可夢 GO IV 計算機</value>
<value xml:lang="de">Pokémon GO IV Rechner</value>
</prop>
<node oor:name="ToolBarItems">
<node oor:name="m001" oor:op="replace">
@ -24,8 +25,9 @@
<value>%origin%/icons/image1</value>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value>Calculates Pok&#233;mon IV</value>
<value>Calculates Pokémon IV</value>
<value xml:lang="zh-TW">計算寶可夢 IV</value>
<value xml:lang="de">Berechnet IV von Pokémon</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
@ -45,8 +47,9 @@
<value>%origin%/icons/image1</value>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value>Calculates Pok&#233;mon IV</value>
<value>Calculates Pokémon IV</value>
<value xml:lang="zh-TW">計算寶可夢 IV</value>
<value xml:lang="de">Berechnet IV von Pokémon</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>

View File

@ -3,6 +3,7 @@
<manifest:file-entry manifest:full-path="PokemonGoIV/" manifest:media-type="application/vnd.sun.star.basic-library"/>
<manifest:file-entry manifest:full-path="pkg-desc/pkg-description.txt" manifest:media-type="application/vnd.sun.star.package-bundle-description"/>
<manifest:file-entry manifest:full-path="pkg-desc/pkg-description.zh-TW.txt" manifest:media-type="application/vnd.sun.star.package-bundle-description;locale=zh-TW"/>
<manifest:file-entry manifest:full-path="pkg-desc/pkg-description.de.txt" manifest:media-type="application/vnd.sun.star.package-bundle-description;locale=de"/>
<manifest:file-entry manifest:full-path="AddonConfiguration.xcs" manifest:media-type="application/vnd.sun.star.configuration-schema"/>
<manifest:file-entry manifest:full-path="AddonConfiguration.xcu" manifest:media-type="application/vnd.sun.star.configuration-data"/>
<manifest:file-entry manifest:full-path="Addons.xcu" manifest:media-type="application/vnd.sun.star.configuration-data"/>

View File

@ -7,8 +7,9 @@
<node oor:name="States">
<node oor:name="private:resource/toolbar/addon_PokemonGoIV.OfficeToolBar" oor:op="replace">
<prop oor:name="UIName" oor:type="xs:string">
<value>Pok&#233;mon GO IV Calculator</value>
<value>Pokémon GO IV Calculator</value>
<value xml:lang="zh-TW">寶可夢 GO IV 計算機</value>
<value xml:lang="de">Pokémon GO IV Rechner</value>
</prop>
</node>
</node>

View File

@ -7,8 +7,9 @@
<node oor:name="States">
<node oor:name="private:resource/toolbar/addon_PokemonGoIV.OfficeToolBar" oor:op="replace">
<prop oor:name="UIName" oor:type="xs:string">
<value>Pok&#233;mon GO IV Calculator</value>
<value>Pokémon GO IV Calculator</value>
<value xml:lang="zh-TW">寶可夢 GO IV 計算機</value>
<value xml:lang="de">Pokémon GO IV Rechner</value>
</prop>
</node>
</node>

View File

@ -7,8 +7,9 @@
<node oor:name="States">
<node oor:name="private:resource/toolbar/addon_PokemonGoIV.OfficeToolBar" oor:op="replace">
<prop oor:name="UIName" oor:type="xs:string">
<value>Pok&#233;mon GO IV Calculator</value>
<value>Pokémon GO IV Calculator</value>
<value xml:lang="zh-TW">寶可夢 GO IV 計算機</value>
<value xml:lang="de">Pokémon GO IV Rechner</value>
</prop>
</node>
</node>

View File

@ -7,8 +7,9 @@
<node oor:name="States">
<node oor:name="private:resource/toolbar/addon_PokemonGoIV.OfficeToolBar" oor:op="replace">
<prop oor:name="UIName" oor:type="xs:string">
<value>Pok&#233;mon GO IV Calculator</value>
<value>Pokémon GO IV Calculator</value>
<value xml:lang="zh-TW">寶可夢 GO IV 計算機</value>
<value xml:lang="de">Pokémon GO IV Rechner</value>
</prop>
</node>
</node>

View File

@ -7,8 +7,9 @@
<node oor:name="States">
<node oor:name="private:resource/toolbar/addon_PokemonGoIV.OfficeToolBar" oor:op="replace">
<prop oor:name="UIName" oor:type="xs:string">
<value>Pok&#233;mon GO IV Calculator</value>
<value>Pokémon GO IV Calculator</value>
<value xml:lang="zh-TW">寶可夢 GO IV 計算機</value>
<value xml:lang="de">Pokémon GO IV Rechner</value>
</prop>
</node>
</node>

View File

@ -7,8 +7,9 @@
<node oor:name="States">
<node oor:name="private:resource/toolbar/addon_PokemonGoIV.OfficeToolBar" oor:op="replace">
<prop oor:name="UIName" oor:type="xs:string">
<value>Pok&#233;mon GO IV Calculator</value>
<value>Pokémon GO IV Calculator</value>
<value xml:lang="zh-TW">寶可夢 GO IV 計算機</value>
<value xml:lang="de">Pokémon GO IV Rechner</value>
</prop>
</node>
</node>

View File

@ -7,8 +7,9 @@
<node oor:name="States">
<node oor:name="private:resource/toolbar/addon_PokemonGoIV.OfficeToolBar" oor:op="replace">
<prop oor:name="UIName" oor:type="xs:string">
<value>Pok&#233;mon GO IV Calculator</value>
<value>Pokémon GO IV Calculator</value>
<value xml:lang="zh-TW">寶可夢 GO IV 計算機</value>
<value xml:lang="de">Pokémon GO IV Rechner</value>
</prop>
</node>
</node>

View File

@ -7,8 +7,9 @@
<node oor:name="States">
<node oor:name="private:resource/toolbar/addon_PokemonGoIV.OfficeToolBar" oor:op="replace">
<prop oor:name="UIName" oor:type="xs:string">
<value>Pok&#233;mon GO IV Calculator</value>
<value>Pokémon GO IV Calculator</value>
<value xml:lang="zh-TW">寶可夢 GO IV 計算機</value>
<value xml:lang="de">Pokémon GO IV Rechner</value>
</prop>
</node>
</node>

View File

@ -1,6 +1,6 @@
<?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="0Main" script:language="StarBasic">&apos; Copyright (c) 2016 imacat.
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="0Main" script:language="StarBasic">&apos; Copyright (c) 2016-2017 imacat.
&apos;
&apos; Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
&apos; you may not use this file except in compliance with the License.
@ -51,7 +51,7 @@ Type aFindIVParam
sPokemon As String
nCP As Integer
nHP As Integer
nStarDust As Integer
nStardust As Integer
nPlayerLevel As Integer
bIsNew As Boolean
nTotal As Integer
@ -61,7 +61,7 @@ Type aFindIVParam
End Type
Private maBaseStats () As New aStats
Private mCPM () As Double, mStarDust () As Integer
Private mCPM () As Double, mStardust () As Integer
&apos; subMain: The main program
Sub subMain
@ -115,7 +115,7 @@ Function fnAskParam As aFindIVParam
.sPokemon = oDialog.getControl (&quot;lstPokemon&quot;).getSelectedItem
.nCP = oDialog.getControl (&quot;numCP&quot;).getValue
.nHP = oDialog.getControl (&quot;numHP&quot;).getValue
.nStarDust = CInt (oDialog.getControl (&quot;lstStarDust&quot;).getSelectedItem)
.nStardust = CInt (oDialog.getControl (&quot;lstStardust&quot;).getSelectedItem)
.nPlayerLevel = CInt (oDialog.getControl (&quot;lstPlayerLevel&quot;).getSelectedItem)
.nTotal = oDialog.getControl (&quot;lstTotal&quot;).getSelectedItemPos + 1
.nMax = oDialog.getControl (&quot;lstMax&quot;).getSelectedItemPos + 1
@ -176,19 +176,19 @@ End Function
Sub subBtnOKCheck (oEvent As object)
Dim oDialog As Object
Dim oPokemon As Object, oCP As Object
Dim oHP As Object, oStarDust As Object, oOK As Object
Dim oHP As Object, oStardust As Object, oOK As Object
oDialog = oEvent.Source.getContext
oPokemon = oDialog.getControl (&quot;lstPokemon&quot;)
oCP = oDialog.getControl (&quot;numCP&quot;)
oHP = oDialog.getControl (&quot;numHP&quot;)
oStarDust = oDialog.getControl (&quot;lstStarDust&quot;)
oStardust = oDialog.getControl (&quot;lstStardust&quot;)
oOK = oDialog.getControl (&quot;btnOK&quot;)
If oPokemon.getSelectedItemPos &lt;&gt; -1 _
And oCP.getText &lt;&gt; &quot;&quot; _
And oHP.getText &lt;&gt; &quot;&quot; _
And oStarDust.getSelectedItemPos &lt;&gt; -1 Then
And oStardust.getSelectedItemPos &lt;&gt; -1 Then
oOK.setEnable (True)
Else
oOK.setEnable (False)
@ -332,21 +332,16 @@ Sub subUpdateBestStatAppraisal (oDialog As Object, sAppraisal)
Dim oText As Object, oList As Object, nX As Integer
Dim sBefore As String, nBeforeWidth As Integer
Dim sAfter As String, nAfterWidth As Integer
Dim nDialogWidth As Integer
Dim nPos As Integer
Dim mItems () As String
nPos = InStr (sAppraisal, &quot;[Stat]&quot;)
sBefore = Left (sAppraisal, nPos - 1)
If Right (sBefore, 1) &lt;&gt; &quot; &quot; Then
sBefore = sBefore &amp; &quot; &quot;
End If
nBeforeWidth = CInt (Len (sBefore) * 2.3)
nBeforeWidth = CInt (Len (sBefore) * 2.8)
sAfter = Right (sAppraisal, _
Len (sAppraisal) - nPos - Len (&quot;[Stat]&quot;) + 1)
If Left (sAfter, 1) &lt;&gt; &quot; &quot; Then
sAfter = &quot; &quot; &amp; sAfter
End If
nAfterWidth = CInt (Len (sAfter) * 2.3)
nDialogWidth = oDialog.getModel.getPropertyValue (&quot;Width&quot;)
oText = oDialog.getControl (&quot;txtBestBefore&quot;)
oText.getModel.setPropertyValue (&quot;Width&quot;, nBeforeWidth)
@ -363,8 +358,9 @@ Sub subUpdateBestStatAppraisal (oDialog As Object, sAppraisal)
oList.addItems (mItems, 0)
oList.getModel.setPropertyValue (&quot;PositionX&quot;, nX)
oList.setVisible (True)
nX = nX + oList.getModel.getPropertyValue (&quot;Width&quot;) + 2
nX = nX + oList.getModel.getPropertyValue (&quot;Width&quot;)
nAfterWidth = nDialogWidth - nX - 10
oText = oDialog.getControl (&quot;txtBestAfter&quot;)
oText.getModel.setPropertyValue (&quot;PositionX&quot;, nX)
oText.getModel.setPropertyValue (&quot;Width&quot;, nAfterWidth)
@ -573,7 +569,7 @@ Function fnFindIV ( _
Else
fStep = 0.5
End If
subReadStarDust
subReadStardust
nEvolved = UBound (aBaseStats.mEvolved)
If nEvolved &gt; -1 Then
ReDim Preserve maEvBaseStats (nEvolved) As New aStats
@ -587,8 +583,8 @@ Function fnFindIV ( _
Next nI
End If
nN = -1
For fLevel = 1 To UBound (mStarDust) Step fStep
If mStarDust (CInt (fLevel - 0.5)) = aQuery.nStarDust Then
For fLevel = 1 To UBound (mStardust) Step fStep
If mStardust (CInt (fLevel - 0.5)) = aQuery.nStardust Then
For nStamina = 0 To 15
If fnCalcHP (aBaseStats, fLevel, nStamina) = aQuery.nHP Then
For nAttack = 0 To 15
@ -742,7 +738,7 @@ Sub subSaveIV ( _
nEvolved = UBound (maIVs (0).maEvolved) + 1
mRow = Array ( _
&quot;No&quot;, &quot;Pokemon&quot;, &quot;CP&quot;, &quot;HP&quot;, &quot;Star dust&quot;, _
&quot;No&quot;, &quot;Pokemon&quot;, &quot;CP&quot;, &quot;HP&quot;, &quot;Stardust&quot;, _
&quot;Lv&quot;, &quot;Atk&quot;, &quot;Def&quot;, &quot;Sta&quot;, &quot;IV&quot;)
nFront = UBound (mRow)
If aQuery.sPokemon = &quot;Eevee&quot; Then
@ -845,7 +841,7 @@ Sub subSaveIV ( _
mData (1) (1) = aQuery.sPokemon
mData (1) (2) = aQuery.nCP
mData (1) (3) = aQuery.nHP
mData (1) (4) = aQuery.nStarDust
mData (1) (4) = aQuery.nStardust
oRange = oSheet.getCellRangeByPosition ( _
0, 0, UBound (mData (0)), UBound (mData))
@ -1156,10 +1152,10 @@ Sub subReadCPM
End If
End Sub
&apos; subReadStarDust: Reads the star dust table.
Sub subReadStarDust
If UBound (mStarDust) = -1 Then
mStarDust = fnGetStarDustData
&apos; subReadStardust: Reads the stardust table.
Sub subReadStardust
If UBound (mStardust) = -1 Then
mStardust = fnGetStardustData
End If
End Sub
</script:module>

View File

@ -1,6 +1,6 @@
<?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="1Data" script:language="StarBasic">&apos; Copyright (c) 2016 imacat.
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="1Data" script:language="StarBasic">&apos; Copyright (c) 2016-2017 imacat.
&apos;
&apos; Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
&apos; you may not use this file except in compliance with the License.
@ -230,9 +230,9 @@ Function fnGetCPMData As Variant
0.78463697)
End Function
&apos; fnGetStarDustData: Returns the star dust data.
Function fnGetStarDustData As Variant
fnGetStarDustData = Array( _
&apos; fnGetStardustData: Returns the stardust data.
Function fnGetStardustData As Variant
fnGetStardustData = Array( _
-1, _
200, _
200, _

View File

@ -1,6 +1,6 @@
<?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="9Load" script:language="StarBasic">&apos; Copyright (c) 2016 imacat.
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="9Load" script:language="StarBasic">&apos; Copyright (c) 2016-2017 imacat.
&apos;
&apos; Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
&apos; you may not use this file except in compliance with the License.
@ -25,7 +25,7 @@ Sub subReadDataSheets
Dim sOutput as String, mData As Variant
sOutput = &quot;&quot; _
&amp; &quot;&apos; Copyright (c) 2016 imacat.&quot; &amp; Chr (10) _
&amp; &quot;&apos; Copyright (c) 2016-&quot; &amp; Year (Now) &amp; &quot; imacat.&quot; &amp; Chr (10) _
&amp; &quot;&apos; &quot; &amp; Chr (10) _
&amp; &quot;&apos; Licensed under the Apache License, Version 2.0 (the &quot;&quot;License&quot;&quot;);&quot; &amp; Chr (10) _
&amp; &quot;&apos; you may not use this file except in compliance with the License.&quot; &amp; Chr (10) _
@ -46,7 +46,7 @@ Sub subReadDataSheets
&amp; &quot;Option Explicit&quot;
sOutput = sOutput &amp; Chr (10) &amp; Chr (10) &amp; fnReadBaseStatsSheet
sOutput = sOutput &amp; Chr (10) &amp; Chr (10) &amp; fnReadCPMSheet
sOutput = sOutput &amp; Chr (10) &amp; Chr (10) &amp; fnReadStarDustSheet
sOutput = sOutput &amp; Chr (10) &amp; Chr (10) &amp; fnReadStardustSheet
subShowBasicData (sOutput)
End Sub
@ -205,8 +205,8 @@ Function fnReadCPMSheet As String
fnReadCPMSheet = sOutput
End Function
&apos; fnReadStarDustSheet: Reads the star dust sheet.
Function fnReadStarDustSheet As String
&apos; fnReadStardustSheet: Reads the stardust sheet.
Function fnReadStardustSheet As String
Dim oSheet As Object, oRange As Object, mData As Variant
Dim nI As Integer, sOutput As String
@ -215,9 +215,9 @@ Function fnReadStarDustSheet As String
mData = oRange.getDataArray
sOutput = &quot;&quot; _
&amp; &quot;&apos; fnGetStarDustData: Returns the star dust data.&quot; &amp; Chr (10) _
&amp; &quot;Function fnGetStarDustData As Variant&quot; &amp; Chr (10) _
&amp; Chr (9) &amp; &quot;fnGetStarDustData = Array( _&quot; &amp; Chr (10) _
&amp; &quot;&apos; fnGetStardustData: Returns the stardust data.&quot; &amp; Chr (10) _
&amp; &quot;Function fnGetStardustData As Variant&quot; &amp; Chr (10) _
&amp; Chr (9) &amp; &quot;fnGetStardustData = Array( _&quot; &amp; Chr (10) _
&amp; Chr (9) &amp; Chr (9) &amp; &quot;-1, _&quot; &amp; Chr (10)
For nI = 1 To UBound (mData) - 1 Step 2
sOutput = sOutput _
@ -227,6 +227,6 @@ Function fnReadStarDustSheet As String
sOutput = sOutput _
&amp; Chr (9) &amp; Chr (9) &amp; mData (nI) (2) &amp; &quot;)&quot; &amp; Chr (10) _
&amp; &quot;End Function&quot;
fnReadStarDustSheet = sOutput
fnReadStardustSheet = sOutput
End Function
</script:module>

View File

@ -0,0 +1,252 @@
# Strings for Dialog Library PokemonGoIV
1.DlgMain.Title=Pok\u00e9mon GO IV Rechner
2.DlgMain.txtPokemon.Label=~Pok\u00e9mon:
3.DlgMain.txtCP.Label=~WP:
4.DlgMain.txtHP.Label=~KP:
5.DlgMain.txtStardust.Label=~Sternenstaub:
6.DlgMain.txtPlayerLevel.Label=Spieler ~Level:
7.DlgMain.cbxIsNew.Label=Dieses Pok\u00e9mon hat noch ~kein Power-Up bekommen.
8.DlgMain.grpAppraisals.Label=Bewertung des Teamleiters
9.DlgMain.rdoTeamValor.Label=Team W~agemut
10.DlgMain.rdoTeamMystic.Label=Team W~eisheit
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

View File

@ -3,7 +3,7 @@
2.DlgMain.txtPokemon.Label=~Pok\u00e9mon:
3.DlgMain.txtCP.Label=~CP:
4.DlgMain.txtHP.Label=~HP:
5.DlgMain.txtStarDust.Label=S~tar dust:
5.DlgMain.txtStardust.Label=S~tardust:
6.DlgMain.txtPlayerLevel.Label=Player ~level:
7.DlgMain.cbxIsNew.Label=This Pok\u00e9mon has ~not been powered-up yet.
8.DlgMain.grpAppraisals.Label=Team Leader Appraisal
@ -168,3 +168,4 @@
1176.lstPokemon.StringItemList=Togetic
1238.lstPokemon.StringItemList=Smoochum
1239.lstPokemon.StringItemList=Elekid
1240.lstPokemon.StringItemList=Magby

View File

@ -3,7 +3,7 @@
2.DlgMain.txtPokemon.Label=\u5bf6\u53ef\u5922(~P)\uff1a
3.DlgMain.txtCP.Label=~CP:
4.DlgMain.txtHP.Label=~HP:
5.DlgMain.txtStarDust.Label=S~tar dust:
5.DlgMain.txtStardust.Label=S~tardust:
6.DlgMain.txtPlayerLevel.Label=\u73a9\u5bb6\u7b49\u7d1a(~L)\uff1a
7.DlgMain.cbxIsNew.Label=\u9019\u96bb\u5bf6\u53ef\u5922\u9084\u6c92\u5f37\u5316\u904e(~N)\u3002
8.DlgMain.grpAppraisals.Label=\u968a\u9577\u8a55\u50f9
@ -168,3 +168,4 @@
1176.lstPokemon.StringItemList=Togetic
1238.lstPokemon.StringItemList=Smoochum
1239.lstPokemon.StringItemList=Elekid
1240.lstPokemon.StringItemList=Magby

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="DlgMain" dlg:left="100" dlg:top="100" dlg:width="235" dlg:height="235" dlg:closeable="true" dlg:moveable="true" dlg:title="&amp;1.DlgMain.Title">
<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="DlgMain" dlg:left="50" dlg:top="50" dlg:width="265" dlg:height="235" dlg:closeable="true" dlg:moveable="true" dlg:title="&amp;1.DlgMain.Title">
<dlg:styles>
<dlg:style dlg:style-id="0" dlg:border="none"/>
<dlg:style dlg:style-id="1" dlg:background-color="0xff0000" dlg:text-color="0xffffff" dlg:font-weight="100"/>
@ -9,7 +9,7 @@
</dlg:styles>
<dlg:bulletinboard>
<dlg:text dlg:id="txtPokemon" dlg:tab-index="16" dlg:left="5" dlg:top="26" dlg:width="30" dlg:height="8" dlg:value="&amp;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: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:menuitem dlg:value="&amp;1001.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1002.lstPokemon.StringItemList"/>
@ -169,6 +169,7 @@
<dlg:menuitem dlg:value="&amp;1176.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1238.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1239.lstPokemon.StringItemList"/>
<dlg:menuitem dlg:value="&amp;1240.lstPokemon.StringItemList"/>
</dlg:menupopup>
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:PokemonGoIV.0Main.subLstPokemonSelected?language=Basic&amp;location=application" script:language="Script"/>
</dlg:menulist>
@ -181,8 +182,8 @@
<dlg:numericfield dlg:id="numHP" dlg:tab-index="2" dlg:left="65" dlg:top="39" dlg:width="15" dlg:height="12" dlg:decimal-accuracy="0" dlg:value-min="10" dlg:value-max="500">
<script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:PokemonGoIV.0Main.subBtnOKCheck?language=Basic&amp;location=application" script:language="Script"/>
</dlg:numericfield>
<dlg:text dlg:id="txtStarDust" dlg:tab-index="19" dlg:left="90" dlg:top="41" dlg:width="30" dlg:height="8" dlg:value="&amp;5.DlgMain.txtStarDust.Label"/>
<dlg:menulist dlg:id="lstStarDust" dlg:tab-index="3" dlg:left="120" dlg:top="39" dlg:width="35" dlg:height="12" dlg:spin="true">
<dlg:text dlg:id="txtStardust" dlg:tab-index="19" dlg:left="90" dlg:top="41" dlg:width="45" dlg:height="8" dlg:value="&amp;5.DlgMain.txtStardust.Label"/>
<dlg:menulist dlg:id="lstStardust" dlg:tab-index="3" dlg:left="135" dlg:top="39" dlg:width="40" dlg:height="12" dlg:spin="true" dlg:linecount="20">
<dlg:menupopup>
<dlg:menuitem dlg:value="200"/>
<dlg:menuitem dlg:value="400"/>
@ -207,8 +208,8 @@
</dlg:menupopup>
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:PokemonGoIV.0Main.subBtnOKCheck?language=Basic&amp;location=application" script:language="Script"/>
</dlg:menulist>
<dlg:text dlg:id="txtPlayerLevel" dlg:tab-index="20" dlg:left="165" dlg:top="41" dlg:width="35" dlg:height="8" dlg:value="&amp;6.DlgMain.txtPlayerLevel.Label"/>
<dlg:menulist dlg:id="lstPlayerLevel" dlg:tab-index="4" dlg:left="200" dlg:top="39" dlg:width="30" dlg:height="12" dlg:spin="true">
<dlg:text dlg:id="txtPlayerLevel" dlg:tab-index="20" dlg:left="185" dlg:top="41" dlg:width="45" dlg:height="8" dlg:value="&amp;6.DlgMain.txtPlayerLevel.Label"/>
<dlg:menulist dlg:id="lstPlayerLevel" dlg:tab-index="4" dlg:left="230" dlg:top="39" dlg:width="30" dlg:height="12" dlg:spin="true" dlg:linecount="20">
<dlg:menupopup>
<dlg:menuitem dlg:value="1"/>
<dlg:menuitem dlg:value="2"/>
@ -252,34 +253,34 @@
<dlg:menuitem dlg:value="40"/>
</dlg:menupopup>
</dlg:menulist>
<dlg:checkbox dlg:id="cbxIsNew" dlg:tab-index="5" dlg:left="5" dlg:top="56" dlg:width="225" dlg:height="8" dlg:value="&amp;7.DlgMain.cbxIsNew.Label" dlg:checked="true"/>
<dlg:titledbox dlg:id="grpAppraisals" dlg:tab-index="21" dlg:left="5" dlg:top="70" dlg:width="225" dlg:height="140">
<dlg:checkbox dlg:id="cbxIsNew" dlg:tab-index="5" dlg:left="5" dlg:top="56" dlg:width="255" dlg:height="8" dlg:value="&amp;7.DlgMain.cbxIsNew.Label" dlg:checked="true"/>
<dlg:titledbox dlg:id="grpAppraisals" dlg:tab-index="21" dlg:left="5" dlg:top="70" dlg:width="255" dlg:height="140">
<dlg:title dlg:value="&amp;8.DlgMain.grpAppraisals.Label"/>
</dlg:titledbox>
<dlg:img dlg:style-id="0" dlg:id="imgTeamLogo" dlg:tab-index="25" dlg:left="10" dlg:top="80" dlg:width="30" dlg:height="30"/>
<dlg:radiogroup>
<dlg:radio dlg:style-id="1" dlg:id="rdoTeamValor" dlg:tab-index="6" dlg:left="45" dlg:top="101" dlg:width="50" dlg:height="8" dlg:value="&amp;9.DlgMain.rdoTeamValor.Label">
<dlg:radio dlg:style-id="1" dlg:id="rdoTeamValor" dlg:tab-index="6" dlg:left="45" dlg:top="100" dlg:width="60" dlg:height="10" dlg:value="&amp;9.DlgMain.rdoTeamValor.Label" dlg:valign="center">
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:PokemonGoIV.0Main.subRdoTeamValorItemChanged?language=Basic&amp;location=application" script:language="Script"/>
</dlg:radio>
<dlg:radio dlg:style-id="2" dlg:id="rdoTeamMystic" dlg:tab-index="7" dlg:left="100" dlg:top="101" dlg:width="50" dlg:height="8" dlg:value="&amp;10.DlgMain.rdoTeamMystic.Label">
<dlg:radio dlg:style-id="2" dlg:id="rdoTeamMystic" dlg:tab-index="7" dlg:left="120" dlg:top="100" dlg:width="60" dlg:height="10" dlg:value="&amp;10.DlgMain.rdoTeamMystic.Label" dlg:valign="center">
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:PokemonGoIV.0Main.subRdoTeamMysticItemChanged?language=Basic&amp;location=application" script:language="Script"/>
</dlg:radio>
<dlg:radio dlg:style-id="3" dlg:id="rdoTeamInstinct" dlg:tab-index="8" dlg:left="155" dlg:top="101" dlg:width="50" dlg:height="8" dlg:value="&amp;11.DlgMain.rdoTeamInstinct.Label">
<dlg:radio dlg:style-id="3" dlg:id="rdoTeamInstinct" dlg:tab-index="8" dlg:left="195" dlg:top="100" dlg:width="60" dlg:height="10" dlg:value="&amp;11.DlgMain.rdoTeamInstinct.Label" dlg:valign="center">
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:PokemonGoIV.0Main.subRdoTeamInstinctItemChanged?language=Basic&amp;location=application" script:language="Script"/>
</dlg:radio>
</dlg:radiogroup>
<dlg:img dlg:style-id="0" dlg:id="imgTeamLeader" dlg:tab-index="28" dlg:left="10" dlg:top="110" dlg:width="30" dlg:height="35"/>
<dlg:text dlg:id="txtLeaderAppraise" dlg:tab-index="27" dlg:left="45" dlg:top="116" dlg:width="180" dlg:height="8"/>
<dlg:menulist dlg:id="lstTotal" dlg:tab-index="9" dlg:left="45" dlg:top="129" dlg:width="180" dlg:height="12" dlg:spin="true"/>
<dlg:text dlg:id="txtLeaderAppraise" dlg:tab-index="27" dlg:left="45" dlg:top="116" dlg:width="210" dlg:height="8"/>
<dlg:menulist dlg:id="lstTotal" dlg:tab-index="9" dlg:left="45" dlg:top="129" dlg:width="210" dlg:height="12" dlg:spin="true"/>
<dlg:text dlg:id="txtBestBefore" dlg:tab-index="23" dlg:left="45" dlg:top="146" dlg:width="20" dlg:height="8"/>
<dlg:menulist dlg:id="lstBest" dlg:tab-index="10" dlg:left="65" dlg:top="144" dlg:width="45" dlg:height="12" dlg:spin="true">
<dlg:menulist dlg:id="lstBest" dlg:tab-index="10" dlg:left="65" dlg:top="144" dlg:width="58" dlg:height="12" dlg:spin="true">
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:PokemonGoIV.0Main.subLstBestItemChanged?language=Basic&amp;location=application" script:language="Script"/>
</dlg:menulist>
<dlg:text dlg:id="txtBestAfter" dlg:tab-index="24" dlg:left="110" dlg:top="146" dlg:width="100" dlg:height="8"/>
<dlg:checkbox dlg:id="cbxBest2" dlg:tab-index="11" dlg:left="45" dlg:top="161" dlg:width="180" dlg:height="8" dlg:checked="false"/>
<dlg:checkbox dlg:id="cbxBest3" dlg:tab-index="12" dlg:left="45" dlg:top="176" dlg:width="180" dlg:height="8" dlg:checked="false"/>
<dlg:menulist dlg:id="lstMax" dlg:tab-index="13" dlg:left="45" dlg:top="189" dlg:width="180" dlg:height="12" dlg:spin="true"/>
<dlg:button dlg:id="btnOK" dlg:tab-index="14" dlg:disabled="true" dlg:left="40" dlg:top="215" dlg:width="60" dlg:height="15" dlg:default="true" dlg:button-type="ok"/>
<dlg:button dlg:id="btnCancel" dlg:tab-index="15" dlg:left="135" dlg:top="215" dlg:width="60" dlg:height="15" dlg:button-type="cancel"/>
<dlg:checkbox dlg:id="cbxBest2" dlg:tab-index="11" dlg:left="45" dlg:top="161" dlg:width="210" dlg:height="8" dlg:checked="false"/>
<dlg:checkbox dlg:id="cbxBest3" dlg:tab-index="12" dlg:left="45" dlg:top="176" dlg:width="210" dlg:height="8" dlg:checked="false"/>
<dlg:menulist dlg:id="lstMax" dlg:tab-index="13" dlg:left="45" dlg:top="189" dlg:width="210" dlg:height="12" dlg:spin="true"/>
<dlg:button dlg:id="btnOK" dlg:tab-index="14" dlg:disabled="true" dlg:left="45" dlg:top="215" dlg:width="60" dlg:height="15" dlg:default="true" dlg:button-type="ok"/>
<dlg:button dlg:id="btnCancel" dlg:tab-index="15" dlg:left="145" dlg:top="215" dlg:width="60" dlg:height="15" dlg:button-type="cancel"/>
</dlg:bulletinboard>
</dlg:window>
</dlg:window>

View File

@ -20,6 +20,7 @@
<display-name>
<name>Pokémon GO IV Calculator</name>
<name lang="zh-TW">寶可夢 GO IV 計算機</name>
<name lang="de">Pokémon GO IV Rechner</name>
</display-name>
<icon>
<default xlink:href="icons/pokemongoiv.png" />

View File

@ -0,0 +1,4 @@
PokemonGoIV - Pokémon GO IV Calculator
Copyright (c) 2016-2017 imacat
Berechnet Individuelle Werte (IVs) von Pokémon.

View File

@ -1,4 +1,4 @@
PokemonGoIV - Pokémon GO IV Calculator
Copyright (c) 2016 imacat
Copyright (c) 2016-2017 imacat
Calculates the individual values (IVs) of the Pokémon.