Advertisement
Guest User

Untitled

a guest
Sep 5th, 2019
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 11.17 KB | None | 0 0
  1. import ui
  2. import snd
  3. import app
  4. import net
  5. import item
  6. import player
  7. import mouseModule
  8. import grp
  9. import uiScriptLocale
  10. import localeInfo
  11. import constInfo
  12. import wndMgr
  13. import uiToolTip
  14. import interfaceModule
  15. import dbg
  16. import uiCommon
  17. import chat
  18.  
  19. class RefineRarityWindow(ui.ScriptWindow):
  20.     def __init__(self):
  21.         ui.ScriptWindow.__init__(self)
  22.         self.LoadWindow()
  23.         self.DefaultSettings()
  24.         self.needitemcount = 0
  25.         self.needmoney = 0
  26.         self.percentage = 0
  27.  
  28.     def __del__(self):
  29.         ui.ScriptWindow.__del__(self)
  30.  
  31.     def LoadWindow(self):
  32.         pyScrLoader = ui.PythonScriptLoader()
  33.         pyScrLoader.LoadScriptFile(self, "UIScript/rarityrefinewindow.py")
  34.         GetObject=self.GetChild
  35.         self.board = GetObject("board")
  36.         self.refineRaritySlot = GetObject("RefineR_Slot")
  37.         self.refineRaritySlot.SetSelectEmptySlotEvent(ui.__mem_func__(self.__OnSelectRaritySlotEmpty))
  38.         self.refineRaritySlot.SetSelectItemSlotEvent(ui.__mem_func__(self.__OnSelectRaritySlot))
  39.         self.refineRaritySlot.SetOverInItemEvent(ui.__mem_func__(self.__OnOverInRaritySlotItem))
  40.         self.refineRaritySlot.SetOverOutItemEvent(ui.__mem_func__(self.__OnOverOutRaritySlotItem))
  41.         self.closebutton = GetObject("CloseButton")
  42.         self.closebutton.SetEvent(ui.__mem_func__(self.Close))
  43.         self.refinebutton = GetObject("RefineR_Change_Button")
  44.         self.refinebutton.SetEvent(ui.__mem_func__(self.RefineR_Change))
  45.         self.okbutton = GetObject("RefineR_OK_Button")
  46.         self.okbutton.SetEvent(ui.__mem_func__(self.RefineR_OK))
  47.         self.bilgi = GetObject("bilgi")
  48.         self.bilgi.SetToolTipWindow(self.__bilgiYazisi(uiScriptLocale.AXS_RARITYREFINE_INFO))
  49.         self.alertmessage = GetObject("AlertMessage")
  50.         self.evrimtiptext = GetObject("evrimText")
  51.         self.otbilgitext = GetObject("otBilgiText")
  52.         self.sonuctext = GetObject("AttrChangeResultText")
  53.  
  54.     def Destroy(self):
  55.         self.ClearDictionary()
  56.         self.board = None
  57.  
  58.     def Open(self, evo):
  59.         if int(evo) == 0:
  60.             self.needitemcount = 1
  61.             self.needmoney = 5000000
  62.             self.percentage = 80
  63.         elif int(evo) == 1:
  64.             self.needitemcount = 2
  65.             self.needmoney = 10000000
  66.             self.percentage = 70
  67.         elif int(evo) == 2:
  68.             self.needitemcount = 3
  69.             self.needmoney = 15000000
  70.             self.percentage = 60
  71.         elif int(evo) == 3:
  72.             self.needitemcount = 4
  73.             self.needmoney = 20000000
  74.             self.percentage = 50
  75.         elif int(evo) == 4:
  76.             self.needitemcount = 5
  77.             self.needmoney = 25000000
  78.             self.percentage = 40
  79.         self.evrimtiptext.SetText("Upgrade rarita' dell'arma: %s" % (evo))
  80.         self.otbilgitext.SetText("Quantita' item richiesti: %s | Yang richiesti: %s" % (self.needitemcount, self.needmoney))
  81.         self.sonuctext.SetText("Possibilita' di successo: %%%s" % (self.percentage))
  82.         self.Show()
  83.         self.SetCenterPosition()
  84.  
  85.     def DefaultSettings(self):
  86.         self.slotPositionsDict = {}
  87.         self.refineRaritySlot.ClearSlot(0)
  88.         self.refineRaritySlot.ClearSlot(1)
  89.         self.refineRaritySlot.ClearSlot(2)
  90.         self.refineRaritySlot.ClearSlot(3)
  91.         self.refineRaritySlot.ClearSlot(4)
  92.         self.refineRaritySlot.ClearSlot(5)
  93.         self.refineRaritySlot.ClearSlot(6)
  94.         self.alertmessage.SetText("|cff00b8b4K Fai clic destro sugli oggetti nel tuo inventario.")
  95.         self.okbutton.Hide()
  96.         self.refinebutton.Show()
  97.  
  98.     def Close(self):
  99.         self.DefaultSettings()
  100.         self.Hide()
  101.        
  102.     def __bilgiYazisi(self, title):
  103.         toolTip = uiToolTip.ToolTip()
  104.         toolTip.SetTitle(title)
  105.         toolTip.AppendSpace(3)
  106.         toolTip.AutoAppendTextLine(uiScriptLocale.AXS_RARITYREFINE_INFO1)
  107.         toolTip.AutoAppendTextLine(uiScriptLocale.AXS_RARITYREFINE_INFO2)
  108.  
  109.         toolTip.AlignHorizonalCenter()
  110.         return toolTip
  111.        
  112.     def SuccessMessage(self):
  113.         self.SlotDegisimi()
  114.         self.alertmessage.SetText("|cff10c100L'arma si è rarizzata con successo.")
  115.         self.evrimtiptext.SetText("Rarita' dell'arma aumentata!")
  116.         self.otbilgitext.SetText("Quantita' item richiesta: Sconosciuta | Yang richiesti: Sconosciuti")
  117.  
  118.     def NeedItem(self, a):
  119.         needItemList = ["Erba rossa","Erba blu","Erba verde ","Erba viola "]
  120.         alertBoxText = needItemList[int(a)]
  121.         self.popupdialog = uiCommon.PopupDialog()
  122.         self.popupdialog.SetText("Numero non sufficiente |cffff0000%s|h|r !" % (alertBoxText))
  123.         self.popupdialog.Open()
  124.    
  125.     def Failed(self):
  126.         self.SlotDegisimi()
  127.         self.alertmessage.SetText("|cffff0000Sfortunatamente l'arma non è stata rarizzata.")
  128.        
  129.     def SansBelirle(self, itemVnum):
  130.         sansList = [15,30]
  131.         if itemVnum == 11113:
  132.             return sansList[0]
  133.         else:
  134.             return sansList[1]
  135.        
  136.     def RefineR_Change(self):
  137.         if (self.slotPositionsDict.has_key(1) == True and self.slotPositionsDict.has_key(2) == True and self.slotPositionsDict.has_key(3) == True and self.slotPositionsDict.has_key(4) == True):
  138.             refineItemPos = self.slotPositionsDict[0][1]
  139.             if self.slotPositionsDict.has_key(5) == True:
  140.                 itemIndex   = player.GetItemIndex(self.slotPositionsDict[5][0], self.slotPositionsDict[5][1])
  141.                 sansMiktar  = self.SansBelirle(itemIndex)
  142.                 net.SendChatPacket("/axs_refinerarity %d %d" % (refineItemPos, sansMiktar))
  143.             else:
  144.                 net.SendChatPacket("/axs_refinerarity %d 0" % (refineItemPos))
  145.            
  146.     def SlotDegisimi(self):
  147.         del self.slotPositionsDict[1]
  148.         del self.slotPositionsDict[2]
  149.         del self.slotPositionsDict[3]
  150.         del self.slotPositionsDict[4]
  151.  
  152.         self.refineRaritySlot.ClearSlot(0)
  153.         self.refineRaritySlot.ClearSlot(1)
  154.         self.refineRaritySlot.ClearSlot(2)
  155.         self.refineRaritySlot.ClearSlot(3)
  156.         self.refineRaritySlot.ClearSlot(4)
  157.  
  158.         if (self.slotPositionsDict.has_key(5) == True):
  159.             del self.slotPositionsDict[5]
  160.             self.refineRaritySlot.ClearSlot(5)
  161.  
  162.         (invenType, invenPos) = self.slotPositionsDict[0]
  163.         self.slotPositionsDict[6] = (invenType, invenPos)
  164.         self.refineRaritySlot.SetItemSlot(6, player.GetItemIndex(invenType, invenPos), 0)
  165.         self.refineRaritySlot.ActivateSlot(6)
  166.         del self.slotPositionsDict[0]
  167.  
  168.         self.sonuctext.SetText(uiScriptLocale.ACCE_RESULT)
  169.         self.refinebutton.Hide()
  170.         self.okbutton.Show()
  171.  
  172.     def RefineR_OK(self):
  173.         self.Close()
  174.  
  175.     def SetItemToolTip(self, tooltipItem):
  176.         self.tooltipItem = tooltipItem
  177.  
  178.     def UseItemSlot(self, invenType, invenPos, itemmi=False):
  179.         if (self.slotPositionsDict.has_key(6)):
  180.             self.refineRaritySlot.ClearSlot(6)
  181.         itemIndex   = player.GetItemIndex(invenType, invenPos)
  182.         itemCount   = player.GetItemCountByVnum(itemIndex)
  183.         if itemmi != False:
  184.             self.slotPositionsDict[0] = (invenType, invenPos)
  185.             self.refineRaritySlot.SetItemSlot(0, itemIndex, 0)
  186.             return
  187.         else:
  188.             if (self.slotPositionsDict.has_key(1) == False and itemIndex == 70251):
  189.                 self.slotPositionsDict[1] = (invenType, invenPos)
  190.                 self.refineRaritySlot.SetItemSlot(1, itemIndex, itemCount)
  191.                 return
  192.             if (self.slotPositionsDict.has_key(2) == False and itemIndex == 70252):
  193.                 self.slotPositionsDict[2] = (invenType, invenPos)
  194.                 self.refineRaritySlot.SetItemSlot(2, itemIndex, itemCount)
  195.                 return
  196.             if (self.slotPositionsDict.has_key(3) == False and itemIndex == 70253):
  197.                 self.slotPositionsDict[3] = (invenType, invenPos)
  198.                 self.refineRaritySlot.SetItemSlot(3, itemIndex, itemCount)
  199.                 return
  200.             if (self.slotPositionsDict.has_key(4) == False and itemIndex == 70254):
  201.                 self.slotPositionsDict[4] = (invenType, invenPos)
  202.                 self.refineRaritySlot.SetItemSlot(4, itemIndex, itemCount)
  203.                 return
  204.             if (self.slotPositionsDict.has_key(5) == False and itemIndex == 11113 or itemIndex == 11114):
  205.                 oncekiYazi = self.sonuctext.GetText()
  206.                 ekstraYazi = self.SansBelirle(itemIndex)
  207.                 self.sonuctext.SetText("%s + |cff10c100%%%s" % (oncekiYazi, ekstraYazi))
  208.                 self.slotPositionsDict[5] = (invenType, invenPos)
  209.                 self.refineRaritySlot.SetItemSlot(5, itemIndex, itemCount)
  210.                 return
  211.            
  212.     def __OnOverInRaritySlotItem(self, slotIndex):
  213.         if (not slotIndex in self.slotPositionsDict):
  214.             return
  215.         if (slotIndex == 6):
  216.             self.refineRaritySlot.DeactivateSlot(6)
  217.         (invenType, invenPos) = self.slotPositionsDict[slotIndex]
  218.         self.tooltipItem.SetInventoryItem(invenPos, invenType)
  219.        
  220.     def __OnOverOutRaritySlotItem(self):
  221.         self.tooltipItem.Hide()
  222.        
  223.     def __OnSelectRaritySlotEmpty(self, selectedSlotPos):
  224.        
  225.         if (self.slotPositionsDict.has_key(6)):
  226.             self.refineRaritySlot.ClearSlot(6)
  227.        
  228.         if (mouseModule.mouseController.isAttached() == False):
  229.             return
  230.            
  231.         if (selectedSlotPos == 0 or selectedSlotPos == 6):
  232.             mouseModule.mouseController.DeattachObject()
  233.             return
  234.            
  235.         attachedSlotType        = mouseModule.mouseController.GetAttachedType()
  236.         attachedSlotPos         = mouseModule.mouseController.GetAttachedSlotNumber()
  237.         mouseModule.mouseController.DeattachObject()
  238.        
  239.         attachedInvenType       = player.SlotTypeToInvenType(attachedSlotType)
  240.         itemIndex               = player.GetItemIndex(attachedInvenType, attachedSlotPos)
  241.         itemCount               = player.GetItemCountByVnum(itemIndex)
  242.        
  243.         if (selectedSlotPos == 1 and itemIndex != 70251):
  244.             return
  245.         if (selectedSlotPos == 2 and itemIndex != 70252):
  246.             return
  247.         if (selectedSlotPos == 3 and itemIndex != 70253):
  248.             return
  249.         if (selectedSlotPos == 4 and itemIndex != 70254):
  250.             return
  251.         if (selectedSlotPos == 5 and itemIndex != 11113 or itemIndex != 11114):
  252.             return
  253.        
  254.         if (selectedSlotPos == 5):
  255.             oncekiYazi = self.sonuctext.GetText()
  256.             ekstraYazi = self.SansBelirle(itemIndex)
  257.             self.sonuctext.SetText("%s + |cff10c100%%%s" % (oncekiYazi, ekstraYazi))
  258.         self.slotPositionsDict[selectedSlotPos] = (attachedInvenType, attachedSlotPos)
  259.         self.refineRaritySlot.SetItemSlot(selectedSlotPos, itemIndex, itemCount)
  260.        
  261.     def __OnSelectRaritySlot(self, selectedSlotPos):
  262.        
  263.         if (mouseModule.mouseController.isAttached() == True or selectedSlotPos == 0 or selectedSlotPos == 6):
  264.             return
  265.            
  266.         if (selectedSlotPos == 5 and self.slotPositionsDict.has_key(5)):
  267.             self.sonuctext.SetText("Possibilita' di successo: %%%s" % (self.percentage))
  268.        
  269.         del self.slotPositionsDict[selectedSlotPos]
  270.         self.refineRaritySlot.ClearSlot(selectedSlotPos)
  271.  
  272.     def OnPressEscapeKey(self):
  273.         self.Close()
  274.         return TRUE
  275.  
  276.     def OnUpdate(self):
  277.         if (self.slotPositionsDict.has_key(1) == True and self.slotPositionsDict.has_key(2) == True and self.slotPositionsDict.has_key(3) == True and self.slotPositionsDict.has_key(4) == True):
  278.             # self.refinebutton.EnableFlash()
  279.             self.alertmessage.SetText("|cfffb6500Prova ad aggiornare la rarita' facendo clic sul pulsante aggiorna rarita'!")
  280.         else:
  281.             # self.refinebutton.DisableFlash()
  282.             if (self.slotPositionsDict.has_key(1)):        
  283.                 itemIndex = player.GetItemIndex(self.slotPositionsDict[1][0], self.slotPositionsDict[1][1])
  284.                 if (itemIndex != 70251):
  285.                     self.refineRaritySlot.ClearSlot(1)
  286.                     del self.slotPositionsDict[1]
  287.             if (self.slotPositionsDict.has_key(2)):        
  288.                 itemIndex = player.GetItemIndex(self.slotPositionsDict[2][0], self.slotPositionsDict[2][1])
  289.                 if (itemIndex != 70252):
  290.                     self.refineRaritySlot.ClearSlot(2)
  291.                     del self.slotPositionsDict[2]
  292.             if (self.slotPositionsDict.has_key(3)):        
  293.                 itemIndex = player.GetItemIndex(self.slotPositionsDict[3][0], self.slotPositionsDict[3][1])
  294.                 if (itemIndex != 70253):
  295.                     self.refineRaritySlot.ClearSlot(3)
  296.                     del self.slotPositionsDict[3]
  297.             if (self.slotPositionsDict.has_key(4)):        
  298.                 itemIndex = player.GetItemIndex(self.slotPositionsDict[4][0], self.slotPositionsDict[4][1])
  299.                 if (itemIndex != 70254):
  300.                     self.refineRaritySlot.ClearSlot(4)
  301.                     del self.slotPositionsDict[4]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement