| #!/usr/bin/python | 
| # -*- coding: GBK -*- | 
| #------------------------------------------------------------------------------- | 
| # | 
| ##@package GM.Commands.Gubao | 
| # | 
| # @todo:¹Å±¦ | 
| # @author hxp | 
| # @date 2023-01-5 | 
| # @version 1.0 | 
| # | 
| # ÏêϸÃèÊö: ¹Å±¦ | 
| # | 
| #------------------------------------------------------------------------------- | 
| #"""Version = 2023-01-5 15:30""" | 
| #------------------------------------------------------------------------------- | 
|   | 
| import GameWorld | 
| import IpyGameDataPY | 
| import PlayerGubao | 
| import PlayerControl | 
| import ChConfig | 
|   | 
| #--------------------------------------------------------------------- | 
| #Â߼ʵÏÖ | 
|   | 
| ## GMÃüÁîÖ´ÐÐÈë¿Ú | 
| #  @param curPlayer µ±Ç°Íæ¼Ò | 
| #  @param msgList ²ÎÊýÁбí | 
| #  @return None | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷. | 
| def OnExec(curPlayer, msgList): | 
|      | 
|     if not msgList: | 
|         GameWorld.DebugAnswer(curPlayer, "ÖØÖùű¦: Gubao 0") | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖùű¦: Gubao ¹Å±¦ID µÈ¼¶ ÐǼ¶") | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖÃЧ¹û: Gubao e ¹Å±¦ID Ð§¹ûÀàÐÍ  ½ø¶ÈÖµ") | 
|         return | 
|      | 
|     gubaoIDList = [] | 
|     value1 = msgList[0] | 
|     if len(msgList) == 1: | 
|         if msgList[0] == 0: | 
|             ipyDataMgr = IpyGameDataPY.IPY_Data() | 
|             for index in range(ipyDataMgr.GetGubaoCount()): | 
|                 ipyData = ipyDataMgr.GetGubaoByIndex(index) | 
|                 gubaoID = ipyData.GetGubaoID() | 
|                 if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GubaoPiece % gubaoID): | 
|                     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoPiece % gubaoID, 0) | 
|                     if gubaoID not in gubaoIDList: | 
|                         gubaoIDList.append(gubaoID) | 
|                 _, star = PlayerGubao.GetGubaoLVInfo(curPlayer, gubaoID) | 
|                 if not star: | 
|                     continue | 
|                 if gubaoID not in gubaoIDList: | 
|                     gubaoIDList.append(gubaoID) | 
|                 PlayerGubao.SetGubaoLVInfo(curPlayer, gubaoID, 0, 0) | 
|                 for effType in PlayerGubao.GubaoEffTtemIypeList: | 
|                     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoItemEffValue % (gubaoID, effType), 0) | 
|                      | 
|             PlayerGubao.Sync_GubaoItemEffInfo(curPlayer, force=True) | 
|             GameWorld.DebugAnswer(curPlayer, "ÖØÖùű¦OK") | 
|              | 
|     elif len(msgList) == 3: | 
|         gubaoID, lv, star = msgList | 
|         ipyData = IpyGameDataPY.GetIpyGameData("Gubao", gubaoID) | 
|         if not ipyData: | 
|             GameWorld.DebugAnswer(curPlayer, "²»´æÔڸùű¦!gubaoID=%s" % gubaoID) | 
|             return | 
|         starIpyData = IpyGameDataPY.GetIpyGameData("GubaoStar", gubaoID, star) | 
|         if not starIpyData: | 
|             GameWorld.DebugAnswer(curPlayer, "²»´æÔڸùű¦ÐǼ¶!gubaoID=%s,star=%s" % (gubaoID, star)) | 
|             return | 
|         gubaoType = ipyData.GetGubaoType() | 
|         quality = ipyData.GetGubaoQuality() | 
|         lvIpyData = IpyGameDataPY.GetIpyGameData("GubaoLV", gubaoType, quality, lv) | 
|         if not lvIpyData: | 
|             GameWorld.DebugAnswer(curPlayer, "²»´æÔڸùű¦Æ·Öʵȼ¶!gubaoID=%s,gubaoType=%s,quality=%s,lv=%s" % (gubaoID, gubaoType, quality, lv)) | 
|             return | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖùű¦:%s,µÈ¼¶(%s),ÐÇ(%s)" % (gubaoID, lv, star)) | 
|         PlayerGubao.SetGubaoLVInfo(curPlayer, gubaoID, lv, star) | 
|         gubaoIDList.append(gubaoID) | 
|     elif value1 == "e": | 
|         if len(msgList) != 4: | 
|             return | 
|         _, gubaoID, effType, effValue = msgList | 
|         if effType not in PlayerGubao.GubaoEffTtemIypeList: | 
|             GameWorld.DebugAnswer(curPlayer, "¹Å±¦ÎïÆ·Ð§¹ûÀàÐͽö°üº¬:%s" % str(PlayerGubao.GubaoEffTtemIypeList)) | 
|             return | 
|         ipyData = IpyGameDataPY.GetIpyGameData("Gubao", gubaoID) | 
|         if not ipyData: | 
|             GameWorld.DebugAnswer(curPlayer, "²»´æÔڸùű¦!gubaoID=%s" % gubaoID) | 
|             return | 
|         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoItemEffValue % (gubaoID, effType), effValue) | 
|         PlayerGubao.Sync_GubaoItemEffInfo(curPlayer, gubaoID, effType, True) | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖùű¦:%s,Ч¹ûÀàÐÍ(%s),Öµ(%s)" % (gubaoID, effType, effValue)) | 
|     else: | 
|         return | 
|      | 
|     PlayerGubao.RefreshGubaoAttr(curPlayer) | 
|     PlayerGubao.Sync_GubaoInfo(curPlayer, gubaoIDList) | 
|     PlayerGubao.Sync_GubaoPieceInfo(curPlayer, gubaoIDList)     | 
|     return |