diff --git a/PokemonGoIV/0Main.vb b/PokemonGoIV/0Main.vb index 08f9d74..98d900e 100644 --- a/PokemonGoIV/0Main.vb +++ b/PokemonGoIV/0Main.vb @@ -1,4 +1,4 @@ -' 0Main: The main module for the Pokémon Go IV calculator +' 0Main: The main module for the Pokémon GO IV calculator ' by imacat , 2016-11-27 Option Explicit @@ -42,10 +42,11 @@ Private mCPM () As Double, mStarDust () As Integer ' subMain: The main program Sub subMain + BasicLibraries.loadLibrary "XrayTool" Dim maIVs As Variant, nI As Integer, sOutput As String Dim aQuery As New aFindIVParam, aBaseStats As New aStats - aQuery = fnAskParam + aQuery = fnAskParam0 If aQuery.bIsCancelled Then Exit Sub End If @@ -77,270 +78,37 @@ End Sub ' fnAskParam: Asks the users for the parameters for the Pokémon. Function fnAskParam As aFindIVParam - Dim oDialog As Object, oDialogModel As Object - Dim oTextModel As Object, oListModel As Object - Dim oNumericModel As Object, oCheckBoxModel As Object - Dim oGroupModel As Object, oButtonModel As Object - Dim mListItems () As String, sTemp As String - Dim nI As Integer, nCount As Integer - Dim aQuery As New aFindIVParam + Dim aQuery As New aFindIVParam, oDialog As Object + Dim oDialogModel As Object, oListModel As Object - ' Creates a dialog - oDialogModel = CreateUnoService ( _ - "com.sun.star.awt.UnoControlDialogModel") - oDialogModel.setPropertyValue ("PositionX", 100) - oDialogModel.setPropertyValue ("PositionY", 100) - oDialogModel.setPropertyValue ("Height", 140) - oDialogModel.setPropertyValue ("Width", 220) - oDialogModel.setPropertyValue ("Title", "Pokémon Go IV Calculator") + oDialog = CreateUnoDialog (DialogLibraries.PokemonGoIV.DlgMain) + oDialogModel = oDialog.getModel - ' Adds a text label for the Pokémon list. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 5) - oTextModel.setPropertyValue ("PositionY", 5) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 30) - oTextModel.setPropertyValue ("Label", "~Pokémon:") - oDialogModel.insertByName ("txtPokemon", oTextModel) - - ' Adds the Pokémon list. - subReadBaseStats - ReDim mListItems (UBound (maBaseStats)) As String - For nI = 0 To UBound (maBaseStats) - mListItems (nI) = maBaseStats (nI).sPokemon - Next nI - oListModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlListBoxModel") - oListModel.setPropertyValue ("PositionX", 35) - oListModel.setPropertyValue ("PositionY", 4) - oListModel.setPropertyValue ("Height", 12) - oListModel.setPropertyValue ("Width", 50) - oListModel.setPropertyValue ("TabIndex", 0) + oListModel = oDialogModel.getByName ("lstPokemon") oListModel.setPropertyValue ("Dropdown", True) - oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.removeByName ("lstPokemon") oDialogModel.insertByName ("lstPokemon", oListModel) - ' Adds a text label for the CP field. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 5) - oTextModel.setPropertyValue ("PositionY", 20) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 15) - oTextModel.setPropertyValue ("Label", "~CP:") - oDialogModel.insertByName ("txtCP", oTextModel) - - ' Adds the CP field. - oNumericModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlNumericFieldModel") - oNumericModel.setPropertyValue ("PositionX", 20) - oNumericModel.setPropertyValue ("PositionY", 19) - oNumericModel.setPropertyValue ("Height", 12) - oNumericModel.setPropertyValue ("Width", 20) - oNumericModel.setPropertyValue ("DecimalAccuracy", 0) - oDialogModel.insertByName ("numCP", oNumericModel) - - ' Adds a text label for the HP field. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 50) - oTextModel.setPropertyValue ("PositionY", 20) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 15) - oTextModel.setPropertyValue ("Label", "~HP:") - oDialogModel.insertByName ("txtHP", oTextModel) - - ' Adds the HP field. - oNumericModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlNumericFieldModel") - oNumericModel.setPropertyValue ("PositionX", 65) - oNumericModel.setPropertyValue ("PositionY", 19) - oNumericModel.setPropertyValue ("Height", 12) - oNumericModel.setPropertyValue ("Width", 15) - oNumericModel.setPropertyValue ("DecimalAccuracy", 0) - oDialogModel.insertByName ("numHP", oNumericModel) - - ' Adds a text label for the star dust field. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 90) - oTextModel.setPropertyValue ("PositionY", 20) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 30) - oTextModel.setPropertyValue ("Label", "S~tar dust:") - oDialogModel.insertByName ("txtStarDust", oTextModel) - - ' Adds the star dust field. - subReadStarDust - sTemp = " " - ReDim mListItems () As String - nCount = -1 - For nI = 1 To UBound (mStarDust) - If InStr (sTemp, " " & CStr (mStarDust (nI)) & " ") = 0 Then - nCount = nCount + 1 - ReDim Preserve mListItems (nCount) As String - mListItems (nCount) = CStr (mStarDust (nI)) - sTemp = sTemp & CStr (mStarDust (nI)) & " " - End If - Next nI - oListModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlListBoxModel") - oListModel.setPropertyValue ("PositionX", 120) - oListModel.setPropertyValue ("PositionY", 19) - oListModel.setPropertyValue ("Height", 12) - oListModel.setPropertyValue ("Width", 30) + oListModel = oDialogModel.getByName ("lstStarDust") oListModel.setPropertyValue ("Dropdown", True) - oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.removeByName ("lstStarDust") oDialogModel.insertByName ("lstStarDust", oListModel) - ' Adds a text label for the player level field. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 160) - oTextModel.setPropertyValue ("PositionY", 20) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 35) - oTextModel.setPropertyValue ("Label", "Player ~level:") - oDialogModel.insertByName ("txtPlayerLevel", oTextModel) - - ' Adds the player level field. - ReDim mListItems (39) As String - For nI = 0 To UBound (mListItems) - mListItems (nI) = CStr (nI + 1) - Next nI - oListModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlListBoxModel") - oListModel.setPropertyValue ("PositionX", 195) - oListModel.setPropertyValue ("PositionY", 19) - oListModel.setPropertyValue ("Height", 12) - oListModel.setPropertyValue ("Width", 20) + oListModel = oDialogModel.getByName ("lstPlayerLevel") oListModel.setPropertyValue ("Dropdown", True) - oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.removeByName ("lstPlayerLevel") oDialogModel.insertByName ("lstPlayerLevel", oListModel) - ' Adds the whether powered-up check box. - oCheckBoxModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlCheckBoxModel") - oCheckBoxModel.setPropertyValue ("PositionX", 5) - oCheckBoxModel.setPropertyValue ("PositionY", 35) - oCheckBoxModel.setPropertyValue ("Height", 12) - oCheckBoxModel.setPropertyValue ("Width", 210) - oCheckBoxModel.setPropertyValue ("Label", _ - "This Pokémon is ~newly-caught and was not powered-up yet.") - oCheckBoxModel.setPropertyValue ("State", 1) - oDialogModel.insertByName ("cbxIsNew", oCheckBoxModel) - - ' Adds a group for the appraisals - oGroupModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlGroupBoxModel") - oGroupModel.setPropertyValue ("PositionX", 5) - oGroupModel.setPropertyValue ("PositionY", 50) - oGroupModel.setPropertyValue ("Height", 65) - oGroupModel.setPropertyValue ("Width", 210) - oGroupModel.setPropertyValue ("Label", "Apprasals") - oDialogModel.insertByName ("grpApprasals", oGroupModel) - - ' Adds the first appraisal list. - mListItems = Array ( _ - "1. Amazed me/wonder/best", _ - "2. Strong/caught my attention", _ - "3. Decent/above average", _ - "4. Not great/not make headway/has room") - oListModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlListBoxModel") - oListModel.setPropertyValue ("PositionX", 10) - oListModel.setPropertyValue ("PositionY", 64) - oListModel.setPropertyValue ("Height", 12) - oListModel.setPropertyValue ("Width", 200) + oListModel = oDialogModel.getByName ("lstApprasal1") oListModel.setPropertyValue ("Dropdown", True) - oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.removeByName ("lstApprasal1") oDialogModel.insertByName ("lstApprasal1", oListModel) - ' Adds a text label for the HP field. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 10) - oTextModel.setPropertyValue ("PositionY", 80) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 15) - oTextModel.setPropertyValue ("Label", "Best:") - oDialogModel.insertByName ("txtBest", oTextModel) - - ' Adds the attack is best check box - oCheckBoxModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlCheckBoxModel") - oCheckBoxModel.setPropertyValue ("PositionX", 25) - oCheckBoxModel.setPropertyValue ("PositionY", 80) - oCheckBoxModel.setPropertyValue ("Height", 12) - oCheckBoxModel.setPropertyValue ("Width", 30) - oCheckBoxModel.setPropertyValue ("Label", "~Attack") - oDialogModel.insertByName ("cbxAttackBest", oCheckBoxModel) - - ' Adds the defense is best check box - oCheckBoxModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlCheckBoxModel") - oCheckBoxModel.setPropertyValue ("PositionX", 55) - oCheckBoxModel.setPropertyValue ("PositionY", 80) - oCheckBoxModel.setPropertyValue ("Height", 12) - oCheckBoxModel.setPropertyValue ("Width", 35) - oCheckBoxModel.setPropertyValue ("Label", "~Defense") - oDialogModel.insertByName ("cbxDefenseBest", oCheckBoxModel) - - ' Adds the defense is best check box - oCheckBoxModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlCheckBoxModel") - oCheckBoxModel.setPropertyValue ("PositionX", 90) - oCheckBoxModel.setPropertyValue ("PositionY", 80) - oCheckBoxModel.setPropertyValue ("Height", 12) - oCheckBoxModel.setPropertyValue ("Width", 45) - oCheckBoxModel.setPropertyValue ("Label", "HP (~Stamina)") - oDialogModel.insertByName ("cbxHPBest", oCheckBoxModel) - - ' Adds the second appraisal list. - mListItems = Array ( _ - "1. WOW/incredible/stats are best", _ - "2. Excellent/impressed/impressive", _ - "3. Get the job done/noticeable/some good stats", _ - "4. No greatness/not out of the norm/kinda basic") - oListModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlListBoxModel") - oListModel.setPropertyValue ("PositionX", 10) - oListModel.setPropertyValue ("PositionY", 95) - oListModel.setPropertyValue ("Height", 12) - oListModel.setPropertyValue ("Width", 200) + oListModel = oDialogModel.getByName ("lstApprasal2") oListModel.setPropertyValue ("Dropdown", True) - oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.removeByName ("lstApprasal2") oDialogModel.insertByName ("lstApprasal2", oListModel) - ' Adds the OK button. - oButtonModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlButtonModel") - oButtonModel.setPropertyValue ("PositionX", 35) - oButtonModel.setPropertyValue ("PositionY", 120) - oButtonModel.setPropertyValue ("Height", 15) - oButtonModel.setPropertyValue ("Width", 60) - oButtonModel.setPropertyValue ("PushButtonType", _ - com.sun.star.awt.PushButtonType.OK) - oButtonModel.setPropertyValue ("DefaultButton", True) - oDialogModel.insertByName ("btnOK", oButtonModel) - - ' Adds the cancel button. - oButtonModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlButtonModel") - oButtonModel.setPropertyValue ("PositionX", 125) - oButtonModel.setPropertyValue ("PositionY", 120) - oButtonModel.setPropertyValue ("Height", 15) - oButtonModel.setPropertyValue ("Width", 60) - oButtonModel.setPropertyValue ("PushButtonType", _ - com.sun.star.awt.PushButtonType.CANCEL) - oDialogModel.insertByName ("btnCancel", oButtonModel) - - ' Adds the dialog model to the control and runs it. - oDialog = CreateUnoService ("com.sun.star.awt.UnoControlDialog") - oDialog.setModel (oDialogModel) - oDialog.setVisible (True) - oDialog.getControl ("lstPokemon").setFocus If oDialog.execute = 0 Then aQuery.bIsCancelled = True fnAskParam = aQuery @@ -375,6 +143,661 @@ Function fnAskParam As aFindIVParam fnAskParam = aQuery End Function +' fnAskParam: Asks the users for the parameters for the Pokémon. +Function fnAskParam0 As aFindIVParam + Dim oDialog As Object, oDialogModel As Object + Dim oTextModel As Object, oListModel As Object + Dim oNumericModel As Object, oCheckBoxModel As Object + Dim oGroupModel As Object, oRadioModel As Object + Dim oButtonModel As Object, oListener As Object + Dim mListItems () As String, sTemp As String + Dim nI As Integer, nCount As Integer + Dim bIsBestAttack As Boolean, bIsBestDefense As Boolean + Dim bIsBestHP As Boolean + Dim aQuery As New aFindIVParam + + ' Creates a dialog + oDialogModel = CreateUnoService ( _ + "com.sun.star.awt.UnoControlDialogModel") + oDialogModel.setPropertyValue ("PositionX", 100) + oDialogModel.setPropertyValue ("PositionY", 100) + oDialogModel.setPropertyValue ("Height", 185) + oDialogModel.setPropertyValue ("Width", 220) + oDialogModel.setPropertyValue ("Title", "Pokémon GO IV Calculator") + + ' Adds a text label for the Pokémon list. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 5) + oTextModel.setPropertyValue ("PositionY", 6) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 30) + oTextModel.setPropertyValue ("Label", "~Pokémon:") + oDialogModel.insertByName ("txtPokemon", oTextModel) + + ' Adds the Pokémon list. + subReadBaseStats + ReDim mListItems (UBound (maBaseStats)) As String + For nI = 0 To UBound (maBaseStats) + mListItems (nI) = maBaseStats (nI).sPokemon + Next nI + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 35) + oListModel.setPropertyValue ("PositionY", 4) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 50) + oListModel.setPropertyValue ("TabIndex", 0) + oListModel.setPropertyValue ("Dropdown", True) + oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.insertByName ("lstPokemon", oListModel) + + ' Adds a text label for the CP field. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 5) + oTextModel.setPropertyValue ("PositionY", 21) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 15) + oTextModel.setPropertyValue ("Label", "~CP:") + oDialogModel.insertByName ("txtCP", oTextModel) + + ' Adds the CP field. + oNumericModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlNumericFieldModel") + oNumericModel.setPropertyValue ("PositionX", 20) + oNumericModel.setPropertyValue ("PositionY", 19) + oNumericModel.setPropertyValue ("Height", 12) + oNumericModel.setPropertyValue ("Width", 20) + oNumericModel.setPropertyValue ("DecimalAccuracy", 0) + oDialogModel.insertByName ("numCP", oNumericModel) + + ' Adds a text label for the HP field. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 50) + oTextModel.setPropertyValue ("PositionY", 21) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 15) + oTextModel.setPropertyValue ("Label", "~HP:") + oDialogModel.insertByName ("txtHP", oTextModel) + + ' Adds the HP field. + oNumericModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlNumericFieldModel") + oNumericModel.setPropertyValue ("PositionX", 65) + oNumericModel.setPropertyValue ("PositionY", 19) + oNumericModel.setPropertyValue ("Height", 12) + oNumericModel.setPropertyValue ("Width", 15) + oNumericModel.setPropertyValue ("DecimalAccuracy", 0) + oDialogModel.insertByName ("numHP", oNumericModel) + + ' Adds a text label for the star dust field. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 90) + oTextModel.setPropertyValue ("PositionY", 21) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 30) + oTextModel.setPropertyValue ("Label", "S~tar dust:") + oDialogModel.insertByName ("txtStarDust", oTextModel) + + ' Adds the star dust field. + subReadStarDust + sTemp = " " + ReDim mListItems () As String + nCount = -1 + For nI = 1 To UBound (mStarDust) + If InStr (sTemp, " " & CStr (mStarDust (nI)) & " ") = 0 Then + nCount = nCount + 1 + ReDim Preserve mListItems (nCount) As String + mListItems (nCount) = CStr (mStarDust (nI)) + sTemp = sTemp & CStr (mStarDust (nI)) & " " + End If + Next nI + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 120) + oListModel.setPropertyValue ("PositionY", 19) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 30) + oListModel.setPropertyValue ("Dropdown", True) + oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.insertByName ("lstStarDust", oListModel) + + ' Adds a text label for the player level field. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 160) + oTextModel.setPropertyValue ("PositionY", 21) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 35) + oTextModel.setPropertyValue ("Label", "Player ~level:") + oDialogModel.insertByName ("txtPlayerLevel", oTextModel) + + ' Adds the player level field. + ReDim mListItems (39) As String + For nI = 0 To UBound (mListItems) + mListItems (nI) = CStr (nI + 1) + Next nI + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 195) + oListModel.setPropertyValue ("PositionY", 19) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 20) + oListModel.setPropertyValue ("Dropdown", True) + oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.insertByName ("lstPlayerLevel", oListModel) + + ' Adds the whether powered-up check box. + oCheckBoxModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlCheckBoxModel") + oCheckBoxModel.setPropertyValue ("PositionX", 5) + oCheckBoxModel.setPropertyValue ("PositionY", 36) + oCheckBoxModel.setPropertyValue ("Height", 8) + oCheckBoxModel.setPropertyValue ("Width", 210) + oCheckBoxModel.setPropertyValue ("Label", _ + "This Pokémon is ~newly-caught and was not powered-up yet.") + oCheckBoxModel.setPropertyValue ("State", 1) + oDialogModel.insertByName ("cbxIsNew", oCheckBoxModel) + + ' Adds a group for the appraisals + oGroupModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlGroupBoxModel") + oGroupModel.setPropertyValue ("PositionX", 5) + oGroupModel.setPropertyValue ("PositionY", 50) + oGroupModel.setPropertyValue ("Height", 110) + oGroupModel.setPropertyValue ("Width", 210) + oGroupModel.setPropertyValue ("Label", "Team Leader Apprasal") + oDialogModel.insertByName ("grpApprasals", oGroupModel) + + ' Adds a text label for the team. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 10) + oTextModel.setPropertyValue ("PositionY", 66) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 20) + oTextModel.setPropertyValue ("Label", "Team:") + oDialogModel.insertByName ("txtTeam", oTextModel) + + ' Adds the red team radio button. + oRadioModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlRadioButtonModel") + oRadioModel.setPropertyValue ("PositionX", 30) + oRadioModel.setPropertyValue ("PositionY", 66) + oRadioModel.setPropertyValue ("Height", 8) + oRadioModel.setPropertyValue ("Width", 25) + oRadioModel.setPropertyValue ("Label", "~Valor") + oRadioModel.setPropertyValue ("TextColor", RGB (255, 255, 255)) + oRadioModel.setPropertyValue ("BackgroundColor", RGB (255, 0, 0)) + oDialogModel.insertByName ("rdoTeamRed", oRadioModel) + + ' Adds the blue team radio button. + oRadioModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlRadioButtonModel") + oRadioModel.setPropertyValue ("PositionX", 55) + oRadioModel.setPropertyValue ("PositionY", 66) + oRadioModel.setPropertyValue ("Height", 8) + oRadioModel.setPropertyValue ("Width", 30) + oRadioModel.setPropertyValue ("Label", "~Mystic") + oRadioModel.setPropertyValue ("TextColor", RGB (255, 255, 255)) + oRadioModel.setPropertyValue ("BackgroundColor", RGB (0, 0, 255)) + oDialogModel.insertByName ("rdoTeamBlue", oRadioModel) + + ' Adds the yellow team radio button. + oRadioModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlRadioButtonModel") + oRadioModel.setPropertyValue ("PositionX", 85) + oRadioModel.setPropertyValue ("PositionY", 66) + oRadioModel.setPropertyValue ("Height", 8) + oRadioModel.setPropertyValue ("Width", 30) + oRadioModel.setPropertyValue ("Label", "~Instinct") + oRadioModel.setPropertyValue ("BackgroundColor", RGB (255, 255, 0)) + oDialogModel.insertByName ("rdoTeamYellow", oRadioModel) + + ' Adds the first appraisal list. + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 10) + oListModel.setPropertyValue ("PositionY", 79) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 200) + oListModel.setPropertyValue ("Dropdown", True) + oDialogModel.insertByName ("lstApprasal1", oListModel) + + ' Adds a text label before the best stat. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 10) + oTextModel.setPropertyValue ("PositionY", 96) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 0) + oDialogModel.insertByName ("txtBestBefore", oTextModel) + + ' Adds the best stat field. + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 10) + oListModel.setPropertyValue ("PositionY", 94) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 35) + oListModel.setPropertyValue ("Dropdown", True) + oDialogModel.insertByName ("lstBest", oListModel) + + ' Adds a text label after the best stat. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 45) + oTextModel.setPropertyValue ("PositionY", 96) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 100) + oDialogModel.insertByName ("txtBestAfter", oTextModel) + + ' Adds the second best stat check box. + oCheckBoxModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlCheckBoxModel") + oCheckBoxModel.setPropertyValue ("PositionX", 10) + oCheckBoxModel.setPropertyValue ("PositionY", 111) + oCheckBoxModel.setPropertyValue ("Height", 8) + oCheckBoxModel.setPropertyValue ("Width", 210) + oDialogModel.insertByName ("cbxBest2", oCheckBoxModel) + + ' Adds the third best stat check box. + oCheckBoxModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlCheckBoxModel") + oCheckBoxModel.setPropertyValue ("PositionX", 10) + oCheckBoxModel.setPropertyValue ("PositionY", 126) + oCheckBoxModel.setPropertyValue ("Height", 8) + oCheckBoxModel.setPropertyValue ("Width", 210) + oDialogModel.insertByName ("cbxBest3", oCheckBoxModel) + + ' Adds the second appraisal list. + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 10) + oListModel.setPropertyValue ("PositionY", 140) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 200) + oListModel.setPropertyValue ("Dropdown", True) + oDialogModel.insertByName ("lstApprasal2", oListModel) + + ' Adds the OK button. + oButtonModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlButtonModel") + oButtonModel.setPropertyValue ("PositionX", 35) + oButtonModel.setPropertyValue ("PositionY", 165) + oButtonModel.setPropertyValue ("Height", 15) + oButtonModel.setPropertyValue ("Width", 60) + oButtonModel.setPropertyValue ("PushButtonType", _ + com.sun.star.awt.PushButtonType.OK) + oButtonModel.setPropertyValue ("DefaultButton", True) + oDialogModel.insertByName ("btnOK", oButtonModel) + + ' Adds the cancel button. + oButtonModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlButtonModel") + oButtonModel.setPropertyValue ("PositionX", 125) + oButtonModel.setPropertyValue ("PositionY", 165) + oButtonModel.setPropertyValue ("Height", 15) + oButtonModel.setPropertyValue ("Width", 60) + oButtonModel.setPropertyValue ("PushButtonType", _ + com.sun.star.awt.PushButtonType.CANCEL) + oDialogModel.insertByName ("btnCancel", oButtonModel) + + ' Adds the dialog model to the control and runs it. + oDialog = CreateUnoService ("com.sun.star.awt.UnoControlDialog") + oDialog.setModel (oDialogModel) + oDialog.setVisible (True) + oDialog.getControl ("lstPokemon").setFocus + oListener = CreateUnoListener ("subRdoTeamRedItemChanged_", _ + "com.sun.star.awt.XItemListener") + oDialog.getControl ("rdoTeamRed").addItemListener (oListener) + oListener = CreateUnoListener ("subRdoTeamBlueItemChanged_", _ + "com.sun.star.awt.XItemListener") + oDialog.getControl ("rdoTeamBlue").addItemListener (oListener) + oListener = CreateUnoListener ("subRdoTeamYellowItemChanged_", _ + "com.sun.star.awt.XItemListener") + oDialog.getControl ("rdoTeamYellow").addItemListener (oListener) + oListener = CreateUnoListener ("subLstBestItemChanged_", _ + "com.sun.star.awt.XItemListener") + oDialog.getControl ("lstBest").addItemListener (oListener) + oDialog.getControl ("lstApprasal1").setVisible (False) + oDialog.getControl ("txtBestBefore").setVisible (False) + oDialog.getControl ("lstBest").setVisible (False) + oDialog.getControl ("txtBestAfter").setVisible (False) + oDialog.getControl ("cbxBest2").setVisible (False) + oDialog.getControl ("cbxBest3").setVisible (False) + oDialog.getControl ("lstApprasal2").setVisible (False) + If oDialog.execute = 0 Then + aQuery.bIsCancelled = True + fnAskParam0 = aQuery + Exit Function + End If + + With aQuery + .sPokemon = oDialog.getControl ("lstPokemon").getSelectedItem + .nCP = oDialog.getControl ("numCP").getValue + .nHP = oDialog.getControl ("numHP").getValue + .nStarDust = CInt (oDialog.getControl ("lstStarDust").getSelectedItem) + .nPlayerLevel = CInt (oDialog.getControl ("lstPlayerLevel").getSelectedItem) + .nAppraisal1 = oDialog.getControl ("lstApprasal1").getSelectedItemPos + 1 + .nAppraisal2 = oDialog.getControl ("lstApprasal2").getSelectedItemPos + 1 + .bIsCancelled = False + End With + If oDialog.getControl ("cbxIsNew").getState = 1 Then + aQuery.bIsNew = True + Else + aQuery.bIsNew = False + End If + ' The best stats + bIsBestAttack = False + bIsBestDefense = False + bIsBestHP = False + If oDialog.getControl ("lstBest").getSelectedItem = "Attack" Then + bIsBestAttack = True + If oDialog.getControl ("cbxBest2").getState = 1 Then + bIsBestDefense = True + End If + If oDialog.getControl ("cbxBest3").getState = 1 Then + bIsBestHP = True + End If + End If + If oDialog.getControl ("lstBest").getSelectedItem = "Defense" Then + bIsBestDefense = True + If oDialog.getControl ("cbxBest2").getState = 1 Then + bIsBestAttack = True + End If + If oDialog.getControl ("cbxBest3").getState = 1 Then + bIsBestHP = True + End If + End If + If oDialog.getControl ("lstBest").getSelectedItem = "HP" Then + bIsBestHP = True + If oDialog.getControl ("cbxBest2").getState = 1 Then + bIsBestAttack = True + End If + If oDialog.getControl ("cbxBest3").getState = 1 Then + bIsBestDefense = True + End If + End If + aQuery.sBest = "" + If bIsBestAttack Then + aQuery.sBest = aQuery.sBest & "Atk " + End If + If bIsBestDefense Then + aQuery.sBest = aQuery.sBest & "Def " + End If + If bIsBestHP Then + aQuery.sBest = aQuery.sBest & "Sta " + End If + fnAskParam0 = aQuery +End Function + +' subRdoTeamRedItemChanged_itemStateChanged: Dummy for the listener. +Sub subRdoTeamRedItemChanged_disposing (oEvent As object) +End Sub + +' subRdoTeamRedItemChanged_itemStateChanged: When the team is selected. +Sub subRdoTeamRedItemChanged_itemStateChanged (oEvent As object) + Dim oDialog As Object, oList As Object, oText As Object + Dim mItems () As String + + mItems = Array ( _ + "1. Overall, your [Pokémon] simply amazes me. It can accomplish anything!", _ + "2. Overall, your [Pokémon] is a strong Pokémon. You should be proud!", _ + "3. Overall, your [Pokémon] is a decent Pokémon.", _ + "4. Overall, your [Pokémon] may not be great in battle, but I still like it!") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal1") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestBefore") + oText.setPosSize (30, 96, 20, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText ("Its") + + mItems = Array ("Attack", "Defense", "HP") + oList = oDialog.getControl ("lstBest") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setPosSize (50, 96, 35, 8, _ + com.sun.star.awt.PosSize.X) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestAfter") + oText.setPosSize (145, 96, 160, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText ("is its strongest feature.") + + oList = oDialog.getControl ("cbxBest2") + oList.setVisible (False) + + oList = oDialog.getControl ("cbxBest3") + oList.setVisible (False) + + mItems = Array ( _ + "1. I'm blown away by its stats. WOW!", _ + "2. It's got excellent stats! How exciting!", _ + "3. Its stats indicate that in battle, it'll get the job done.", _ + "4. Its stats don't point to greatness in battle.") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal2") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) +End Sub + +' subRdoTeamBlueItemChanged_itemStateChanged: Dummy for the listener. +Sub subRdoTeamBlueItemChanged_disposing (oEvent As object) +End Sub + +' subRdoTeamBlueItemChanged_itemStateChanged: When the blue team is selected. +Sub subRdoTeamBlueItemChanged_itemStateChanged (oEvent As object) + Dim oDialog As Object, oList As Object, oText As Object + Dim mItems () As String + + mItems = Array ( _ + "1. Overall, your [Pokémon] is a wonder! What a breathtaking Pokémon!", _ + "2. Overall, your [Pokémon] has certainly caught my attention.", _ + "3. Overall, your [Pokémon] is above average.", _ + "4. Overall, your [Pokémon] is not likely to make much headway in battle.") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal1") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestBefore") + oText.setPosSize (30, 96, 200, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText ("I see that its best attribute is its") + + mItems = Array ("Attack", "Defense", "HP") + oList = oDialog.getControl ("lstBest") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setPosSize (230, 96, 35, 8, _ + com.sun.star.awt.PosSize.X) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestAfter") + oText.setPosSize (325, 96, 5, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText (".") + + oList = oDialog.getControl ("cbxBest2") + oList.setVisible (False) + + oList = oDialog.getControl ("cbxBest3") + oList.setVisible (False) + + mItems = Array ( _ + "1. Its stats exceed my calculations. It's incredible!", _ + "2. I am certainly impressed by its stats, I must say.", _ + "3. Its stats are noticeably trending to the positive.", _ + "4. Its stats are not out of the norm, in my opinion.") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal2") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) +End Sub + +' subRdoTeamYellowItemChanged_itemStateChanged: Dummy for the listener. +Sub subRdoTeamYellowItemChanged_disposing (oEvent As object) +End Sub + +' subRdoTeamYellowItemChanged_itemStateChanged: When the yellow team is selected. +Sub subRdoTeamYellowItemChanged_itemStateChanged (oEvent As object) + Dim oDialog As Object, oList As Object, oText As Object + Dim mItems () As String + + mItems = Array ( _ + "1. Overall, your [Pokémon] looks like it can really battle with the best of them!", _ + "2. Overall, your [Pokémon] is really strong!", _ + "3. Overall, your [Pokémon] is pretty decent!", _ + "4. Overall, your [Pokémon] has room for improvement as far as battling goes.") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal1") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestBefore") + oText.setPosSize (30, 96, 115, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText ("Its best quality is") + + mItems = Array ("Attack", "Defense", "HP") + oList = oDialog.getControl ("lstBest") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setPosSize (145, 96, 35, 8, _ + com.sun.star.awt.PosSize.X) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestAfter") + oText.setPosSize (240, 96, 5, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText (".") + + oList = oDialog.getControl ("cbxBest2") + oList.setVisible (False) + + oList = oDialog.getControl ("cbxBest3") + oList.setVisible (False) + + mItems = Array ( _ + "1. Its stats are the best I've ever seen! No doubt about it!", _ + "2. Its stats are really strong! Impressive.", _ + "3. It's definitely got some good stats. Definitely!", _ + "4. Its stats are all right, but kinda basic, as far as I can see.") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal2") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) +End Sub + +' subLstBestItemChanged_itemStateChanged: Dummy for the listener. +Sub subLstBestItemChanged_disposing (oEvent As object) +End Sub + +' subLstBestItemChanged_itemStateChanged: When the best stat is selected. +Sub subLstBestItemChanged_itemStateChanged (oEvent As object) + Dim oDialog As Object, oCheckBox As Object + + oDialog = oEvent.Source.getContext + If oDialog.getControl ("rdoTeamRed").getState Then + If oDialog.getControl ("lstBest").getSelectedItem = "Attack" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("I'm just as impressed with its Defense.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("I'm just as impressed with its HP.") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "Defense" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("I'm just as impressed with its Attack.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("I'm just as impressed with its HP.") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "HP" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("I'm just as impressed with its Attack.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("I'm just as impressed with its Defense.") + oCheckBox.setVisible (True) + End If + End If + If oDialog.getControl ("rdoTeamBlue").getState Then + If oDialog.getControl ("lstBest").getSelectedItem = "Attack" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("It is matched equally by its Defense.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("It is matched equally by its HP.") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "Defense" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("It is matched equally by its Attack.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("It is matched equally by its HP.") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "HP" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("It is matched equally by its Attack.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("It is matched equally by its Defense.") + oCheckBox.setVisible (True) + End If + End If + If oDialog.getControl ("rdoTeamYellow").getState Then + If oDialog.getControl ("lstBest").getSelectedItem = "Attack" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("Its Defense is great, too!") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("Its HP is great, too!") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "Defense" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("Its Attack is great, too!") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("Its HP is great, too!") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "HP" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("Its Attack is great, too!") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("Its Defense is great, too!") + oCheckBox.setVisible (True) + End If + End If +End Sub + ' fnFindIV: Finds the possible individual values of the Pokémon Function fnFindIV (aQuery As aFindIVParam) As Variant Dim aBaseStats As New aStats, maIV () As New aStats diff --git a/PokemonGoIV/1Data.vb b/PokemonGoIV/1Data.vb index 8e7ea84..9b4c12b 100644 --- a/PokemonGoIV/1Data.vb +++ b/PokemonGoIV/1Data.vb @@ -1,4 +1,4 @@ -' 1Data: The Pokémon Go data for IV calculation +' 1Data: The Pokémon GO data for IV calculation ' by imacat , 2016-11-28 ' Generated with 9Load.subReadDataSheets () diff --git a/PokemonGoIV/9Load.vb b/PokemonGoIV/9Load.vb index 300cdb9..91a5045 100644 --- a/PokemonGoIV/9Load.vb +++ b/PokemonGoIV/9Load.vb @@ -1,4 +1,4 @@ -' 9Load: The Pokémon Go data sheets loader +' 9Load: The Pokémon GO data sheets loader ' by imacat , 2016-11-28 Option Explicit @@ -9,7 +9,7 @@ Sub subReadDataSheets Dim sOutput as String, mData As Variant sOutput = "" _ - & "' 1Data: The Pokémon Go data for IV calculation" & Chr (10) _ + & "' 1Data: The Pokémon GO data for IV calculation" & Chr (10) _ & "' by imacat , " & Format (Date (), "yyyy-mm-dd") & Chr (10) _ & "' Generated with 9Load.subReadDataSheets ()" & Chr (10) _ & Chr (10) _ @@ -32,7 +32,7 @@ Sub subShowBasicData (sContent As String) oDialogModel.setPropertyValue ("PositionY", 100) oDialogModel.setPropertyValue ("Height", 130) oDialogModel.setPropertyValue ("Width", 200) - oDialogModel.setPropertyValue ("Title", "Pokémon Go Data") + oDialogModel.setPropertyValue ("Title", "Pokémon GO Data") ' Adds the content area oEditModel = oDialogModel.createInstance ( _ @@ -80,10 +80,10 @@ Function fnReadBaseStatsSheet As String & "Function fnGetBaseStatsData As Variant" & Chr (10) _ & Chr (9) & "fnGetBaseStatsData = Array( _" & Chr (10) For nI = 1 To UBound (mData) - 1 - For nJ = 9 To 7 Step -1 + For nJ = 8 To 6 Step -1 If mData (nI) (nJ) <> "" Then sEvolveInto = mData (nI) (nJ) - nJ = 6 + nJ = 5 End If Next nJ sOutput = sOutput _ @@ -95,10 +95,10 @@ Function fnReadBaseStatsSheet As String & ", """ & sEvolveInto & """), _" & Chr (10) Next nI nI = UBound (mData) - For nJ = 9 To 7 Step -1 + For nJ = 8 To 6 Step -1 If mData (nI) (nJ) <> "" Then sEvolveInto = mData (nI) (nJ) - nJ = 6 + nJ = 5 End If Next nJ sOutput = sOutput _ diff --git a/README b/README index ac03d17..b8e1d00 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -pokemongoiv - The Pokémon Go IV calculator +pokemongoiv - The Pokémon GO IV calculator Copyright (c) 2016 imacat. @@ -20,7 +20,7 @@ pokemongoiv - The Pokémon Go IV calculator DESCRIPTION - pokemongoiv is an Pokémon Go IV calculator that finds the + pokemongoiv is a Pokémon GO IV calculator that finds the individual values (IVs) of your Pokémon. A tool bar is added to run the calculator. diff --git a/VERSION b/VERSION index 8acdd82..6e8bf73 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.1 +0.1.0 diff --git a/oxt/Addons.xcu b/oxt/Addons.xcu index 25d0b1c..cfcd3af 100644 --- a/oxt/Addons.xcu +++ b/oxt/Addons.xcu @@ -8,8 +8,8 @@ - Pokémon Go IV Calculator - 寶可夢 Go IV 計算機 + Pokémon GO IV Calculator + 寶可夢 GO IV 計算機 diff --git a/oxt/PokemonGoIV/0Main.xba b/oxt/PokemonGoIV/0Main.xba index 43ebcd2..a31b90c 100644 --- a/oxt/PokemonGoIV/0Main.xba +++ b/oxt/PokemonGoIV/0Main.xba @@ -1,6 +1,6 @@ -' 0Main: The main module for the Pokémon Go IV calculator +' 0Main: The main module for the Pokémon GO IV calculator ' by imacat <imacat@mail.imacat.idv.tw>, 2016-11-27 Option Explicit @@ -44,10 +44,11 @@ Private mCPM () As Double, mStarDust () As Integer ' subMain: The main program Sub subMain + BasicLibraries.loadLibrary "XrayTool" Dim maIVs As Variant, nI As Integer, sOutput As String Dim aQuery As New aFindIVParam, aBaseStats As New aStats - aQuery = fnAskParam + aQuery = fnAskParam0 If aQuery.bIsCancelled Then Exit Sub End If @@ -79,270 +80,37 @@ End Sub ' fnAskParam: Asks the users for the parameters for the Pokémon. Function fnAskParam As aFindIVParam - Dim oDialog As Object, oDialogModel As Object - Dim oTextModel As Object, oListModel As Object - Dim oNumericModel As Object, oCheckBoxModel As Object - Dim oGroupModel As Object, oButtonModel As Object - Dim mListItems () As String, sTemp As String - Dim nI As Integer, nCount As Integer - Dim aQuery As New aFindIVParam + Dim aQuery As New aFindIVParam, oDialog As Object + Dim oDialogModel As Object, oListModel As Object - ' Creates a dialog - oDialogModel = CreateUnoService ( _ - "com.sun.star.awt.UnoControlDialogModel") - oDialogModel.setPropertyValue ("PositionX", 100) - oDialogModel.setPropertyValue ("PositionY", 100) - oDialogModel.setPropertyValue ("Height", 140) - oDialogModel.setPropertyValue ("Width", 220) - oDialogModel.setPropertyValue ("Title", "Pokémon Go IV Calculator") + oDialog = CreateUnoDialog (DialogLibraries.PokemonGoIV.DlgMain) + oDialogModel = oDialog.getModel - ' Adds a text label for the Pokémon list. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 5) - oTextModel.setPropertyValue ("PositionY", 5) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 30) - oTextModel.setPropertyValue ("Label", "~Pokémon:") - oDialogModel.insertByName ("txtPokemon", oTextModel) - - ' Adds the Pokémon list. - subReadBaseStats - ReDim mListItems (UBound (maBaseStats)) As String - For nI = 0 To UBound (maBaseStats) - mListItems (nI) = maBaseStats (nI).sPokemon - Next nI - oListModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlListBoxModel") - oListModel.setPropertyValue ("PositionX", 35) - oListModel.setPropertyValue ("PositionY", 4) - oListModel.setPropertyValue ("Height", 12) - oListModel.setPropertyValue ("Width", 50) - oListModel.setPropertyValue ("TabIndex", 0) + oListModel = oDialogModel.getByName ("lstPokemon") oListModel.setPropertyValue ("Dropdown", True) - oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.removeByName ("lstPokemon") oDialogModel.insertByName ("lstPokemon", oListModel) - ' Adds a text label for the CP field. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 5) - oTextModel.setPropertyValue ("PositionY", 20) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 15) - oTextModel.setPropertyValue ("Label", "~CP:") - oDialogModel.insertByName ("txtCP", oTextModel) - - ' Adds the CP field. - oNumericModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlNumericFieldModel") - oNumericModel.setPropertyValue ("PositionX", 20) - oNumericModel.setPropertyValue ("PositionY", 19) - oNumericModel.setPropertyValue ("Height", 12) - oNumericModel.setPropertyValue ("Width", 20) - oNumericModel.setPropertyValue ("DecimalAccuracy", 0) - oDialogModel.insertByName ("numCP", oNumericModel) - - ' Adds a text label for the HP field. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 50) - oTextModel.setPropertyValue ("PositionY", 20) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 15) - oTextModel.setPropertyValue ("Label", "~HP:") - oDialogModel.insertByName ("txtHP", oTextModel) - - ' Adds the HP field. - oNumericModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlNumericFieldModel") - oNumericModel.setPropertyValue ("PositionX", 65) - oNumericModel.setPropertyValue ("PositionY", 19) - oNumericModel.setPropertyValue ("Height", 12) - oNumericModel.setPropertyValue ("Width", 15) - oNumericModel.setPropertyValue ("DecimalAccuracy", 0) - oDialogModel.insertByName ("numHP", oNumericModel) - - ' Adds a text label for the star dust field. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 90) - oTextModel.setPropertyValue ("PositionY", 20) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 30) - oTextModel.setPropertyValue ("Label", "S~tar dust:") - oDialogModel.insertByName ("txtStarDust", oTextModel) - - ' Adds the star dust field. - subReadStarDust - sTemp = " " - ReDim mListItems () As String - nCount = -1 - For nI = 1 To UBound (mStarDust) - If InStr (sTemp, " " & CStr (mStarDust (nI)) & " ") = 0 Then - nCount = nCount + 1 - ReDim Preserve mListItems (nCount) As String - mListItems (nCount) = CStr (mStarDust (nI)) - sTemp = sTemp & CStr (mStarDust (nI)) & " " - End If - Next nI - oListModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlListBoxModel") - oListModel.setPropertyValue ("PositionX", 120) - oListModel.setPropertyValue ("PositionY", 19) - oListModel.setPropertyValue ("Height", 12) - oListModel.setPropertyValue ("Width", 30) + oListModel = oDialogModel.getByName ("lstStarDust") oListModel.setPropertyValue ("Dropdown", True) - oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.removeByName ("lstStarDust") oDialogModel.insertByName ("lstStarDust", oListModel) - ' Adds a text label for the player level field. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 160) - oTextModel.setPropertyValue ("PositionY", 20) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 35) - oTextModel.setPropertyValue ("Label", "Player ~level:") - oDialogModel.insertByName ("txtPlayerLevel", oTextModel) - - ' Adds the player level field. - ReDim mListItems (39) As String - For nI = 0 To UBound (mListItems) - mListItems (nI) = CStr (nI + 1) - Next nI - oListModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlListBoxModel") - oListModel.setPropertyValue ("PositionX", 195) - oListModel.setPropertyValue ("PositionY", 19) - oListModel.setPropertyValue ("Height", 12) - oListModel.setPropertyValue ("Width", 20) + oListModel = oDialogModel.getByName ("lstPlayerLevel") oListModel.setPropertyValue ("Dropdown", True) - oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.removeByName ("lstPlayerLevel") oDialogModel.insertByName ("lstPlayerLevel", oListModel) - ' Adds the whether powered-up check box. - oCheckBoxModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlCheckBoxModel") - oCheckBoxModel.setPropertyValue ("PositionX", 5) - oCheckBoxModel.setPropertyValue ("PositionY", 35) - oCheckBoxModel.setPropertyValue ("Height", 12) - oCheckBoxModel.setPropertyValue ("Width", 210) - oCheckBoxModel.setPropertyValue ("Label", _ - "This Pokémon is ~newly-caught and was not powered-up yet.") - oCheckBoxModel.setPropertyValue ("State", 1) - oDialogModel.insertByName ("cbxIsNew", oCheckBoxModel) - - ' Adds a group for the appraisals - oGroupModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlGroupBoxModel") - oGroupModel.setPropertyValue ("PositionX", 5) - oGroupModel.setPropertyValue ("PositionY", 50) - oGroupModel.setPropertyValue ("Height", 65) - oGroupModel.setPropertyValue ("Width", 210) - oGroupModel.setPropertyValue ("Label", "Apprasals") - oDialogModel.insertByName ("grpApprasals", oGroupModel) - - ' Adds the first appraisal list. - mListItems = Array ( _ - "1. Amazed me/wonder/best", _ - "2. Strong/caught my attention", _ - "3. Decent/above average", _ - "4. Not great/not make headway/has room") - oListModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlListBoxModel") - oListModel.setPropertyValue ("PositionX", 10) - oListModel.setPropertyValue ("PositionY", 64) - oListModel.setPropertyValue ("Height", 12) - oListModel.setPropertyValue ("Width", 200) + oListModel = oDialogModel.getByName ("lstApprasal1") oListModel.setPropertyValue ("Dropdown", True) - oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.removeByName ("lstApprasal1") oDialogModel.insertByName ("lstApprasal1", oListModel) - ' Adds a text label for the HP field. - oTextModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlFixedTextModel") - oTextModel.setPropertyValue ("PositionX", 10) - oTextModel.setPropertyValue ("PositionY", 80) - oTextModel.setPropertyValue ("Height", 12) - oTextModel.setPropertyValue ("Width", 15) - oTextModel.setPropertyValue ("Label", "Best:") - oDialogModel.insertByName ("txtBest", oTextModel) - - ' Adds the attack is best check box - oCheckBoxModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlCheckBoxModel") - oCheckBoxModel.setPropertyValue ("PositionX", 25) - oCheckBoxModel.setPropertyValue ("PositionY", 80) - oCheckBoxModel.setPropertyValue ("Height", 12) - oCheckBoxModel.setPropertyValue ("Width", 30) - oCheckBoxModel.setPropertyValue ("Label", "~Attack") - oDialogModel.insertByName ("cbxAttackBest", oCheckBoxModel) - - ' Adds the defense is best check box - oCheckBoxModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlCheckBoxModel") - oCheckBoxModel.setPropertyValue ("PositionX", 55) - oCheckBoxModel.setPropertyValue ("PositionY", 80) - oCheckBoxModel.setPropertyValue ("Height", 12) - oCheckBoxModel.setPropertyValue ("Width", 35) - oCheckBoxModel.setPropertyValue ("Label", "~Defense") - oDialogModel.insertByName ("cbxDefenseBest", oCheckBoxModel) - - ' Adds the defense is best check box - oCheckBoxModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlCheckBoxModel") - oCheckBoxModel.setPropertyValue ("PositionX", 90) - oCheckBoxModel.setPropertyValue ("PositionY", 80) - oCheckBoxModel.setPropertyValue ("Height", 12) - oCheckBoxModel.setPropertyValue ("Width", 45) - oCheckBoxModel.setPropertyValue ("Label", "HP (~Stamina)") - oDialogModel.insertByName ("cbxHPBest", oCheckBoxModel) - - ' Adds the second appraisal list. - mListItems = Array ( _ - "1. WOW/incredible/stats are best", _ - "2. Excellent/impressed/impressive", _ - "3. Get the job done/noticeable/some good stats", _ - "4. No greatness/not out of the norm/kinda basic") - oListModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlListBoxModel") - oListModel.setPropertyValue ("PositionX", 10) - oListModel.setPropertyValue ("PositionY", 95) - oListModel.setPropertyValue ("Height", 12) - oListModel.setPropertyValue ("Width", 200) + oListModel = oDialogModel.getByName ("lstApprasal2") oListModel.setPropertyValue ("Dropdown", True) - oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.removeByName ("lstApprasal2") oDialogModel.insertByName ("lstApprasal2", oListModel) - ' Adds the OK button. - oButtonModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlButtonModel") - oButtonModel.setPropertyValue ("PositionX", 35) - oButtonModel.setPropertyValue ("PositionY", 120) - oButtonModel.setPropertyValue ("Height", 15) - oButtonModel.setPropertyValue ("Width", 60) - oButtonModel.setPropertyValue ("PushButtonType", _ - com.sun.star.awt.PushButtonType.OK) - oButtonModel.setPropertyValue ("DefaultButton", True) - oDialogModel.insertByName ("btnOK", oButtonModel) - - ' Adds the cancel button. - oButtonModel = oDialogModel.createInstance ( _ - "com.sun.star.awt.UnoControlButtonModel") - oButtonModel.setPropertyValue ("PositionX", 125) - oButtonModel.setPropertyValue ("PositionY", 120) - oButtonModel.setPropertyValue ("Height", 15) - oButtonModel.setPropertyValue ("Width", 60) - oButtonModel.setPropertyValue ("PushButtonType", _ - com.sun.star.awt.PushButtonType.CANCEL) - oDialogModel.insertByName ("btnCancel", oButtonModel) - - ' Adds the dialog model to the control and runs it. - oDialog = CreateUnoService ("com.sun.star.awt.UnoControlDialog") - oDialog.setModel (oDialogModel) - oDialog.setVisible (True) - oDialog.getControl ("lstPokemon").setFocus If oDialog.execute = 0 Then aQuery.bIsCancelled = True fnAskParam = aQuery @@ -377,6 +145,661 @@ Function fnAskParam As aFindIVParam fnAskParam = aQuery End Function +' fnAskParam: Asks the users for the parameters for the Pokémon. +Function fnAskParam0 As aFindIVParam + Dim oDialog As Object, oDialogModel As Object + Dim oTextModel As Object, oListModel As Object + Dim oNumericModel As Object, oCheckBoxModel As Object + Dim oGroupModel As Object, oRadioModel As Object + Dim oButtonModel As Object, oListener As Object + Dim mListItems () As String, sTemp As String + Dim nI As Integer, nCount As Integer + Dim bIsBestAttack As Boolean, bIsBestDefense As Boolean + Dim bIsBestHP As Boolean + Dim aQuery As New aFindIVParam + + ' Creates a dialog + oDialogModel = CreateUnoService ( _ + "com.sun.star.awt.UnoControlDialogModel") + oDialogModel.setPropertyValue ("PositionX", 100) + oDialogModel.setPropertyValue ("PositionY", 100) + oDialogModel.setPropertyValue ("Height", 185) + oDialogModel.setPropertyValue ("Width", 220) + oDialogModel.setPropertyValue ("Title", "Pokémon GO IV Calculator") + + ' Adds a text label for the Pokémon list. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 5) + oTextModel.setPropertyValue ("PositionY", 6) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 30) + oTextModel.setPropertyValue ("Label", "~Pokémon:") + oDialogModel.insertByName ("txtPokemon", oTextModel) + + ' Adds the Pokémon list. + subReadBaseStats + ReDim mListItems (UBound (maBaseStats)) As String + For nI = 0 To UBound (maBaseStats) + mListItems (nI) = maBaseStats (nI).sPokemon + Next nI + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 35) + oListModel.setPropertyValue ("PositionY", 4) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 50) + oListModel.setPropertyValue ("TabIndex", 0) + oListModel.setPropertyValue ("Dropdown", True) + oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.insertByName ("lstPokemon", oListModel) + + ' Adds a text label for the CP field. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 5) + oTextModel.setPropertyValue ("PositionY", 21) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 15) + oTextModel.setPropertyValue ("Label", "~CP:") + oDialogModel.insertByName ("txtCP", oTextModel) + + ' Adds the CP field. + oNumericModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlNumericFieldModel") + oNumericModel.setPropertyValue ("PositionX", 20) + oNumericModel.setPropertyValue ("PositionY", 19) + oNumericModel.setPropertyValue ("Height", 12) + oNumericModel.setPropertyValue ("Width", 20) + oNumericModel.setPropertyValue ("DecimalAccuracy", 0) + oDialogModel.insertByName ("numCP", oNumericModel) + + ' Adds a text label for the HP field. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 50) + oTextModel.setPropertyValue ("PositionY", 21) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 15) + oTextModel.setPropertyValue ("Label", "~HP:") + oDialogModel.insertByName ("txtHP", oTextModel) + + ' Adds the HP field. + oNumericModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlNumericFieldModel") + oNumericModel.setPropertyValue ("PositionX", 65) + oNumericModel.setPropertyValue ("PositionY", 19) + oNumericModel.setPropertyValue ("Height", 12) + oNumericModel.setPropertyValue ("Width", 15) + oNumericModel.setPropertyValue ("DecimalAccuracy", 0) + oDialogModel.insertByName ("numHP", oNumericModel) + + ' Adds a text label for the star dust field. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 90) + oTextModel.setPropertyValue ("PositionY", 21) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 30) + oTextModel.setPropertyValue ("Label", "S~tar dust:") + oDialogModel.insertByName ("txtStarDust", oTextModel) + + ' Adds the star dust field. + subReadStarDust + sTemp = " " + ReDim mListItems () As String + nCount = -1 + For nI = 1 To UBound (mStarDust) + If InStr (sTemp, " " & CStr (mStarDust (nI)) & " ") = 0 Then + nCount = nCount + 1 + ReDim Preserve mListItems (nCount) As String + mListItems (nCount) = CStr (mStarDust (nI)) + sTemp = sTemp & CStr (mStarDust (nI)) & " " + End If + Next nI + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 120) + oListModel.setPropertyValue ("PositionY", 19) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 30) + oListModel.setPropertyValue ("Dropdown", True) + oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.insertByName ("lstStarDust", oListModel) + + ' Adds a text label for the player level field. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 160) + oTextModel.setPropertyValue ("PositionY", 21) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 35) + oTextModel.setPropertyValue ("Label", "Player ~level:") + oDialogModel.insertByName ("txtPlayerLevel", oTextModel) + + ' Adds the player level field. + ReDim mListItems (39) As String + For nI = 0 To UBound (mListItems) + mListItems (nI) = CStr (nI + 1) + Next nI + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 195) + oListModel.setPropertyValue ("PositionY", 19) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 20) + oListModel.setPropertyValue ("Dropdown", True) + oListModel.setPropertyValue ("StringItemList", mListItems) + oDialogModel.insertByName ("lstPlayerLevel", oListModel) + + ' Adds the whether powered-up check box. + oCheckBoxModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlCheckBoxModel") + oCheckBoxModel.setPropertyValue ("PositionX", 5) + oCheckBoxModel.setPropertyValue ("PositionY", 36) + oCheckBoxModel.setPropertyValue ("Height", 8) + oCheckBoxModel.setPropertyValue ("Width", 210) + oCheckBoxModel.setPropertyValue ("Label", _ + "This Pokémon is ~newly-caught and was not powered-up yet.") + oCheckBoxModel.setPropertyValue ("State", 1) + oDialogModel.insertByName ("cbxIsNew", oCheckBoxModel) + + ' Adds a group for the appraisals + oGroupModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlGroupBoxModel") + oGroupModel.setPropertyValue ("PositionX", 5) + oGroupModel.setPropertyValue ("PositionY", 50) + oGroupModel.setPropertyValue ("Height", 110) + oGroupModel.setPropertyValue ("Width", 210) + oGroupModel.setPropertyValue ("Label", "Team Leader Apprasal") + oDialogModel.insertByName ("grpApprasals", oGroupModel) + + ' Adds a text label for the team. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 10) + oTextModel.setPropertyValue ("PositionY", 66) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 20) + oTextModel.setPropertyValue ("Label", "Team:") + oDialogModel.insertByName ("txtTeam", oTextModel) + + ' Adds the red team radio button. + oRadioModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlRadioButtonModel") + oRadioModel.setPropertyValue ("PositionX", 30) + oRadioModel.setPropertyValue ("PositionY", 66) + oRadioModel.setPropertyValue ("Height", 8) + oRadioModel.setPropertyValue ("Width", 25) + oRadioModel.setPropertyValue ("Label", "~Valor") + oRadioModel.setPropertyValue ("TextColor", RGB (255, 255, 255)) + oRadioModel.setPropertyValue ("BackgroundColor", RGB (255, 0, 0)) + oDialogModel.insertByName ("rdoTeamRed", oRadioModel) + + ' Adds the blue team radio button. + oRadioModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlRadioButtonModel") + oRadioModel.setPropertyValue ("PositionX", 55) + oRadioModel.setPropertyValue ("PositionY", 66) + oRadioModel.setPropertyValue ("Height", 8) + oRadioModel.setPropertyValue ("Width", 30) + oRadioModel.setPropertyValue ("Label", "~Mystic") + oRadioModel.setPropertyValue ("TextColor", RGB (255, 255, 255)) + oRadioModel.setPropertyValue ("BackgroundColor", RGB (0, 0, 255)) + oDialogModel.insertByName ("rdoTeamBlue", oRadioModel) + + ' Adds the yellow team radio button. + oRadioModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlRadioButtonModel") + oRadioModel.setPropertyValue ("PositionX", 85) + oRadioModel.setPropertyValue ("PositionY", 66) + oRadioModel.setPropertyValue ("Height", 8) + oRadioModel.setPropertyValue ("Width", 30) + oRadioModel.setPropertyValue ("Label", "~Instinct") + oRadioModel.setPropertyValue ("BackgroundColor", RGB (255, 255, 0)) + oDialogModel.insertByName ("rdoTeamYellow", oRadioModel) + + ' Adds the first appraisal list. + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 10) + oListModel.setPropertyValue ("PositionY", 79) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 200) + oListModel.setPropertyValue ("Dropdown", True) + oDialogModel.insertByName ("lstApprasal1", oListModel) + + ' Adds a text label before the best stat. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 10) + oTextModel.setPropertyValue ("PositionY", 96) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 0) + oDialogModel.insertByName ("txtBestBefore", oTextModel) + + ' Adds the best stat field. + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 10) + oListModel.setPropertyValue ("PositionY", 94) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 35) + oListModel.setPropertyValue ("Dropdown", True) + oDialogModel.insertByName ("lstBest", oListModel) + + ' Adds a text label after the best stat. + oTextModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlFixedTextModel") + oTextModel.setPropertyValue ("PositionX", 45) + oTextModel.setPropertyValue ("PositionY", 96) + oTextModel.setPropertyValue ("Height", 8) + oTextModel.setPropertyValue ("Width", 100) + oDialogModel.insertByName ("txtBestAfter", oTextModel) + + ' Adds the second best stat check box. + oCheckBoxModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlCheckBoxModel") + oCheckBoxModel.setPropertyValue ("PositionX", 10) + oCheckBoxModel.setPropertyValue ("PositionY", 111) + oCheckBoxModel.setPropertyValue ("Height", 8) + oCheckBoxModel.setPropertyValue ("Width", 210) + oDialogModel.insertByName ("cbxBest2", oCheckBoxModel) + + ' Adds the third best stat check box. + oCheckBoxModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlCheckBoxModel") + oCheckBoxModel.setPropertyValue ("PositionX", 10) + oCheckBoxModel.setPropertyValue ("PositionY", 126) + oCheckBoxModel.setPropertyValue ("Height", 8) + oCheckBoxModel.setPropertyValue ("Width", 210) + oDialogModel.insertByName ("cbxBest3", oCheckBoxModel) + + ' Adds the second appraisal list. + oListModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlListBoxModel") + oListModel.setPropertyValue ("PositionX", 10) + oListModel.setPropertyValue ("PositionY", 140) + oListModel.setPropertyValue ("Height", 12) + oListModel.setPropertyValue ("Width", 200) + oListModel.setPropertyValue ("Dropdown", True) + oDialogModel.insertByName ("lstApprasal2", oListModel) + + ' Adds the OK button. + oButtonModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlButtonModel") + oButtonModel.setPropertyValue ("PositionX", 35) + oButtonModel.setPropertyValue ("PositionY", 165) + oButtonModel.setPropertyValue ("Height", 15) + oButtonModel.setPropertyValue ("Width", 60) + oButtonModel.setPropertyValue ("PushButtonType", _ + com.sun.star.awt.PushButtonType.OK) + oButtonModel.setPropertyValue ("DefaultButton", True) + oDialogModel.insertByName ("btnOK", oButtonModel) + + ' Adds the cancel button. + oButtonModel = oDialogModel.createInstance ( _ + "com.sun.star.awt.UnoControlButtonModel") + oButtonModel.setPropertyValue ("PositionX", 125) + oButtonModel.setPropertyValue ("PositionY", 165) + oButtonModel.setPropertyValue ("Height", 15) + oButtonModel.setPropertyValue ("Width", 60) + oButtonModel.setPropertyValue ("PushButtonType", _ + com.sun.star.awt.PushButtonType.CANCEL) + oDialogModel.insertByName ("btnCancel", oButtonModel) + + ' Adds the dialog model to the control and runs it. + oDialog = CreateUnoService ("com.sun.star.awt.UnoControlDialog") + oDialog.setModel (oDialogModel) + oDialog.setVisible (True) + oDialog.getControl ("lstPokemon").setFocus + oListener = CreateUnoListener ("subRdoTeamRedItemChanged_", _ + "com.sun.star.awt.XItemListener") + oDialog.getControl ("rdoTeamRed").addItemListener (oListener) + oListener = CreateUnoListener ("subRdoTeamBlueItemChanged_", _ + "com.sun.star.awt.XItemListener") + oDialog.getControl ("rdoTeamBlue").addItemListener (oListener) + oListener = CreateUnoListener ("subRdoTeamYellowItemChanged_", _ + "com.sun.star.awt.XItemListener") + oDialog.getControl ("rdoTeamYellow").addItemListener (oListener) + oListener = CreateUnoListener ("subLstBestItemChanged_", _ + "com.sun.star.awt.XItemListener") + oDialog.getControl ("lstBest").addItemListener (oListener) + oDialog.getControl ("lstApprasal1").setVisible (False) + oDialog.getControl ("txtBestBefore").setVisible (False) + oDialog.getControl ("lstBest").setVisible (False) + oDialog.getControl ("txtBestAfter").setVisible (False) + oDialog.getControl ("cbxBest2").setVisible (False) + oDialog.getControl ("cbxBest3").setVisible (False) + oDialog.getControl ("lstApprasal2").setVisible (False) + If oDialog.execute = 0 Then + aQuery.bIsCancelled = True + fnAskParam0 = aQuery + Exit Function + End If + + With aQuery + .sPokemon = oDialog.getControl ("lstPokemon").getSelectedItem + .nCP = oDialog.getControl ("numCP").getValue + .nHP = oDialog.getControl ("numHP").getValue + .nStarDust = CInt (oDialog.getControl ("lstStarDust").getSelectedItem) + .nPlayerLevel = CInt (oDialog.getControl ("lstPlayerLevel").getSelectedItem) + .nAppraisal1 = oDialog.getControl ("lstApprasal1").getSelectedItemPos + 1 + .nAppraisal2 = oDialog.getControl ("lstApprasal2").getSelectedItemPos + 1 + .bIsCancelled = False + End With + If oDialog.getControl ("cbxIsNew").getState = 1 Then + aQuery.bIsNew = True + Else + aQuery.bIsNew = False + End If + ' The best stats + bIsBestAttack = False + bIsBestDefense = False + bIsBestHP = False + If oDialog.getControl ("lstBest").getSelectedItem = "Attack" Then + bIsBestAttack = True + If oDialog.getControl ("cbxBest2").getState = 1 Then + bIsBestDefense = True + End If + If oDialog.getControl ("cbxBest3").getState = 1 Then + bIsBestHP = True + End If + End If + If oDialog.getControl ("lstBest").getSelectedItem = "Defense" Then + bIsBestDefense = True + If oDialog.getControl ("cbxBest2").getState = 1 Then + bIsBestAttack = True + End If + If oDialog.getControl ("cbxBest3").getState = 1 Then + bIsBestHP = True + End If + End If + If oDialog.getControl ("lstBest").getSelectedItem = "HP" Then + bIsBestHP = True + If oDialog.getControl ("cbxBest2").getState = 1 Then + bIsBestAttack = True + End If + If oDialog.getControl ("cbxBest3").getState = 1 Then + bIsBestDefense = True + End If + End If + aQuery.sBest = "" + If bIsBestAttack Then + aQuery.sBest = aQuery.sBest & "Atk " + End If + If bIsBestDefense Then + aQuery.sBest = aQuery.sBest & "Def " + End If + If bIsBestHP Then + aQuery.sBest = aQuery.sBest & "Sta " + End If + fnAskParam0 = aQuery +End Function + +' subRdoTeamRedItemChanged_itemStateChanged: Dummy for the listener. +Sub subRdoTeamRedItemChanged_disposing (oEvent As object) +End Sub + +' subRdoTeamRedItemChanged_itemStateChanged: When the team is selected. +Sub subRdoTeamRedItemChanged_itemStateChanged (oEvent As object) + Dim oDialog As Object, oList As Object, oText As Object + Dim mItems () As String + + mItems = Array ( _ + "1. Overall, your [Pokémon] simply amazes me. It can accomplish anything!", _ + "2. Overall, your [Pokémon] is a strong Pokémon. You should be proud!", _ + "3. Overall, your [Pokémon] is a decent Pokémon.", _ + "4. Overall, your [Pokémon] may not be great in battle, but I still like it!") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal1") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestBefore") + oText.setPosSize (30, 96, 20, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText ("Its") + + mItems = Array ("Attack", "Defense", "HP") + oList = oDialog.getControl ("lstBest") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setPosSize (50, 96, 35, 8, _ + com.sun.star.awt.PosSize.X) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestAfter") + oText.setPosSize (145, 96, 160, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText ("is its strongest feature.") + + oList = oDialog.getControl ("cbxBest2") + oList.setVisible (False) + + oList = oDialog.getControl ("cbxBest3") + oList.setVisible (False) + + mItems = Array ( _ + "1. I'm blown away by its stats. WOW!", _ + "2. It's got excellent stats! How exciting!", _ + "3. Its stats indicate that in battle, it'll get the job done.", _ + "4. Its stats don't point to greatness in battle.") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal2") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) +End Sub + +' subRdoTeamBlueItemChanged_itemStateChanged: Dummy for the listener. +Sub subRdoTeamBlueItemChanged_disposing (oEvent As object) +End Sub + +' subRdoTeamBlueItemChanged_itemStateChanged: When the blue team is selected. +Sub subRdoTeamBlueItemChanged_itemStateChanged (oEvent As object) + Dim oDialog As Object, oList As Object, oText As Object + Dim mItems () As String + + mItems = Array ( _ + "1. Overall, your [Pokémon] is a wonder! What a breathtaking Pokémon!", _ + "2. Overall, your [Pokémon] has certainly caught my attention.", _ + "3. Overall, your [Pokémon] is above average.", _ + "4. Overall, your [Pokémon] is not likely to make much headway in battle.") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal1") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestBefore") + oText.setPosSize (30, 96, 200, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText ("I see that its best attribute is its") + + mItems = Array ("Attack", "Defense", "HP") + oList = oDialog.getControl ("lstBest") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setPosSize (230, 96, 35, 8, _ + com.sun.star.awt.PosSize.X) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestAfter") + oText.setPosSize (325, 96, 5, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText (".") + + oList = oDialog.getControl ("cbxBest2") + oList.setVisible (False) + + oList = oDialog.getControl ("cbxBest3") + oList.setVisible (False) + + mItems = Array ( _ + "1. Its stats exceed my calculations. It's incredible!", _ + "2. I am certainly impressed by its stats, I must say.", _ + "3. Its stats are noticeably trending to the positive.", _ + "4. Its stats are not out of the norm, in my opinion.") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal2") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) +End Sub + +' subRdoTeamYellowItemChanged_itemStateChanged: Dummy for the listener. +Sub subRdoTeamYellowItemChanged_disposing (oEvent As object) +End Sub + +' subRdoTeamYellowItemChanged_itemStateChanged: When the yellow team is selected. +Sub subRdoTeamYellowItemChanged_itemStateChanged (oEvent As object) + Dim oDialog As Object, oList As Object, oText As Object + Dim mItems () As String + + mItems = Array ( _ + "1. Overall, your [Pokémon] looks like it can really battle with the best of them!", _ + "2. Overall, your [Pokémon] is really strong!", _ + "3. Overall, your [Pokémon] is pretty decent!", _ + "4. Overall, your [Pokémon] has room for improvement as far as battling goes.") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal1") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestBefore") + oText.setPosSize (30, 96, 115, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText ("Its best quality is") + + mItems = Array ("Attack", "Defense", "HP") + oList = oDialog.getControl ("lstBest") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setPosSize (145, 96, 35, 8, _ + com.sun.star.awt.PosSize.X) + oList.setVisible (True) + + oText = oDialog.getControl ("txtBestAfter") + oText.setPosSize (240, 96, 5, 8, _ + com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH) + oText.setVisible (True) + oText.setText (".") + + oList = oDialog.getControl ("cbxBest2") + oList.setVisible (False) + + oList = oDialog.getControl ("cbxBest3") + oList.setVisible (False) + + mItems = Array ( _ + "1. Its stats are the best I've ever seen! No doubt about it!", _ + "2. Its stats are really strong! Impressive.", _ + "3. It's definitely got some good stats. Definitely!", _ + "4. Its stats are all right, but kinda basic, as far as I can see.") + oDialog = oEvent.Source.getContext + oList = oDialog.getControl ("lstApprasal2") + oList.removeItems (0, oList.getItemCount()) + oList.addItems (mItems, 0) + oList.setVisible (True) +End Sub + +' subLstBestItemChanged_itemStateChanged: Dummy for the listener. +Sub subLstBestItemChanged_disposing (oEvent As object) +End Sub + +' subLstBestItemChanged_itemStateChanged: When the best stat is selected. +Sub subLstBestItemChanged_itemStateChanged (oEvent As object) + Dim oDialog As Object, oCheckBox As Object + + oDialog = oEvent.Source.getContext + If oDialog.getControl ("rdoTeamRed").getState Then + If oDialog.getControl ("lstBest").getSelectedItem = "Attack" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("I'm just as impressed with its Defense.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("I'm just as impressed with its HP.") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "Defense" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("I'm just as impressed with its Attack.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("I'm just as impressed with its HP.") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "HP" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("I'm just as impressed with its Attack.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("I'm just as impressed with its Defense.") + oCheckBox.setVisible (True) + End If + End If + If oDialog.getControl ("rdoTeamBlue").getState Then + If oDialog.getControl ("lstBest").getSelectedItem = "Attack" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("It is matched equally by its Defense.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("It is matched equally by its HP.") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "Defense" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("It is matched equally by its Attack.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("It is matched equally by its HP.") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "HP" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("It is matched equally by its Attack.") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("It is matched equally by its Defense.") + oCheckBox.setVisible (True) + End If + End If + If oDialog.getControl ("rdoTeamYellow").getState Then + If oDialog.getControl ("lstBest").getSelectedItem = "Attack" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("Its Defense is great, too!") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("Its HP is great, too!") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "Defense" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("Its Attack is great, too!") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("Its HP is great, too!") + oCheckBox.setVisible (True) + End If + If oDialog.getControl ("lstBest").getSelectedItem = "HP" Then + oCheckBox = oDialog.getControl ("cbxBest2") + oCheckBox.setLabel ("Its Attack is great, too!") + oCheckBox.setVisible (True) + oCheckBox = oDialog.getControl ("cbxBest3") + oCheckBox.setLabel ("Its Defense is great, too!") + oCheckBox.setVisible (True) + End If + End If +End Sub + ' fnFindIV: Finds the possible individual values of the Pokémon Function fnFindIV (aQuery As aFindIVParam) As Variant Dim aBaseStats As New aStats, maIV () As New aStats diff --git a/oxt/PokemonGoIV/1Data.xba b/oxt/PokemonGoIV/1Data.xba index c5beacc..6bee04b 100644 --- a/oxt/PokemonGoIV/1Data.xba +++ b/oxt/PokemonGoIV/1Data.xba @@ -1,6 +1,6 @@ -' 1Data: The Pokémon Go data for IV calculation +' 1Data: The Pokémon GO data for IV calculation ' by imacat <imacat@mail.imacat.idv.tw>, 2016-11-28 ' Generated with 9Load.subReadDataSheets () diff --git a/oxt/PokemonGoIV/9Load.xba b/oxt/PokemonGoIV/9Load.xba index 1555366..b9b71d8 100644 --- a/oxt/PokemonGoIV/9Load.xba +++ b/oxt/PokemonGoIV/9Load.xba @@ -1,6 +1,6 @@ -' 9Load: The Pokémon Go data sheets loader +' 9Load: The Pokémon GO data sheets loader ' by imacat <imacat@mail.imacat.idv.tw>, 2016-11-28 Option Explicit @@ -11,7 +11,7 @@ Sub subReadDataSheets Dim sOutput as String, mData As Variant sOutput = "" _ - & "' 1Data: The Pokémon Go data for IV calculation" & Chr (10) _ + & "' 1Data: The Pokémon GO data for IV calculation" & Chr (10) _ & "' by imacat <imacat@mail.imacat.idv.tw>, " & Format (Date (), "yyyy-mm-dd") & Chr (10) _ & "' Generated with 9Load.subReadDataSheets ()" & Chr (10) _ & Chr (10) _ @@ -34,7 +34,7 @@ Sub subShowBasicData (sContent As String) oDialogModel.setPropertyValue ("PositionY", 100) oDialogModel.setPropertyValue ("Height", 130) oDialogModel.setPropertyValue ("Width", 200) - oDialogModel.setPropertyValue ("Title", "Pokémon Go Data") + oDialogModel.setPropertyValue ("Title", "Pokémon GO Data") ' Adds the content area oEditModel = oDialogModel.createInstance ( _ @@ -82,10 +82,10 @@ Function fnReadBaseStatsSheet As String & "Function fnGetBaseStatsData As Variant" & Chr (10) _ & Chr (9) & "fnGetBaseStatsData = Array( _" & Chr (10) For nI = 1 To UBound (mData) - 1 - For nJ = 9 To 7 Step -1 + For nJ = 8 To 6 Step -1 If mData (nI) (nJ) <> "" Then sEvolveInto = mData (nI) (nJ) - nJ = 6 + nJ = 5 End If Next nJ sOutput = sOutput _ @@ -97,10 +97,10 @@ Function fnReadBaseStatsSheet As String & ", """ & sEvolveInto & """), _" & Chr (10) Next nI nI = UBound (mData) - For nJ = 9 To 7 Step -1 + For nJ = 8 To 6 Step -1 If mData (nI) (nJ) <> "" Then sEvolveInto = mData (nI) (nJ) - nJ = 6 + nJ = 5 End If Next nJ sOutput = sOutput _ diff --git a/oxt/PokemonGoIV/script.xlb b/oxt/PokemonGoIV/script.xlb index 2e57e94..f2a3b24 100644 --- a/oxt/PokemonGoIV/script.xlb +++ b/oxt/PokemonGoIV/script.xlb @@ -1,7 +1,7 @@ - + \ No newline at end of file diff --git a/oxt/description.xml b/oxt/description.xml index 31a8ef9..013a08d 100644 --- a/oxt/description.xml +++ b/oxt/description.xml @@ -18,8 +18,8 @@ - Pokémon Go IV Calculator - 寶可夢 Go IV 計算機 + Pokémon GO IV Calculator + 寶可夢 GO IV 計算機 diff --git a/oxt/pkg-desc/pkg-description.txt b/oxt/pkg-desc/pkg-description.txt index caa50ee..03b69c3 100644 --- a/oxt/pkg-desc/pkg-description.txt +++ b/oxt/pkg-desc/pkg-description.txt @@ -1,4 +1,4 @@ -PokemonGoIV - Pokémon Go IV Calculator +PokemonGoIV - Pokémon GO IV Calculator Copyright (c) 2016 imacat Calculates the individual values (IVs) of the Pokémon. diff --git a/oxt/pkg-desc/pkg-description.zh-TW.txt b/oxt/pkg-desc/pkg-description.zh-TW.txt index bb3c96c..8dc735a 100644 --- a/oxt/pkg-desc/pkg-description.zh-TW.txt +++ b/oxt/pkg-desc/pkg-description.zh-TW.txt @@ -1,4 +1,4 @@ -PokemonGoIV - 寶可夢 Go IV 計算機 +PokemonGoIV - 寶可夢 GO IV 計算機 版權所有 (c) 2016 依瑪貓 計算寶可夢的 IV 值。