#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # #------------------------------------------------------------------------------- # ##@package GM.Commands.SetEquipPartPlusLV # # @todo:ÉèÖÃ×°±¸²¿Î»¹«¹²Ç¿»¯µÈ¼¶ # @author hxp # @date 2015-12-15 # @version 1.0 # # ÏêϸÃèÊö: ÉèÖÃ×°±¸²¿Î»¹«¹²Ç¿»¯µÈ¼¶ # #--------------------------------------------------------------------- """Version = 2015-12-15 17:00""" #--------------------------------------------------------------------- import Operate_EquipPlus import IPY_GameWorld import ChConfig import ChEquip import GameWorld import ItemCommon import IpyGameDataPY #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ ## GMÃüÁîÖ´ÐÐÈë¿Ú # @param curPlayer µ±Ç°Íæ¼Ò # @param cmdList ²ÎÊýÁбí [packType, index, starLV] # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def OnExec(curPlayer, cmdList): if not cmdList: __GMHelpAnswer(curPlayer) return packType = IPY_GameWorld.rptEquip curPack = curPlayer.GetItemManager().GetPack(packType) if len(cmdList) == 2: setStarLV = cmdList[1] classLV = cmdList[0] for equipPlace in ChConfig.Pack_EquipPart_CanPlusStar.get(packType, []): ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace) if not ipyData: continue gridIndex = ipyData.GetGridIndex() curEquip = curPack.GetAt(gridIndex) ChEquip.SetEquipPartPlusLV(curPlayer, packType, gridIndex, curEquip, setStarLV) ChEquip.SetEquipPartProficiency(curPlayer, packType, gridIndex, 0) ChEquip.SetEquipPartPlusEvolveLV(curPlayer, packType, gridIndex, 0) Operate_EquipPlus.DoLogic_OnEquipPartStarLVChange(curPlayer, packType, classLV) ChEquip.NotifyEquipPartPlusLV(curPlayer) GameWorld.DebugAnswer(curPlayer, "ÉèÖÃ%s½×ËùÓв¿Î»Ç¿»¯µÈ¼¶Îª: %s" % (classLV, setStarLV)) return if len(cmdList) != 3: __GMHelpAnswer(curPlayer, "²ÎÊý´íÎó£¡") return classLV, equipPlace, starLV = cmdList if packType not in ChConfig.Pack_EquipPart_CanPlusStar: __GMHelpAnswer(curPlayer, "packType²»´æÔÚ£¡") return if equipPlace not in ChConfig.Pack_EquipPart_CanPlusStar[packType]: __GMHelpAnswer(curPlayer, "indexË÷Òý²»´æÔÚ£¡") return ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace) if not ipyData: return gridIndex = ipyData.GetGridIndex() curEquip = curPack.GetAt(gridIndex) if not ItemCommon.CheckItemCanUse(curEquip): return maxStarLV = ItemCommon.GetItemMaxPlusLV(curPlayer, gridIndex, curEquip) starLV = min(starLV, maxStarLV) ChEquip.SetEquipPartPlusLV(curPlayer, packType, gridIndex, curEquip, starLV) ChEquip.SetEquipPartProficiency(curPlayer, packType, gridIndex, 0) Operate_EquipPlus.DoLogic_OnEquipPartStarLVChange(curPlayer, packType, classLV) return def __GMHelpAnswer(curPlayer, errorMsg=""): if errorMsg: GameWorld.DebugAnswer(curPlayer, "%s" % errorMsg) packTypeStrDict = { IPY_GameWorld.rptEquip:"×°±¸±³°ü", IPY_GameWorld.rptHorseEquip:"×øÆï×°±¸±³°ü", } #=============================================================================== # indexStrDict = { # "%s_%s" % (IPY_GameWorld.rptEquip, IPY_GameWorld.retMask):"Í·¿ø", # "%s_%s" % (IPY_GameWorld.rptEquip, IPY_GameWorld.retClothes):"Ò·þ", # "%s_%s" % (IPY_GameWorld.rptEquip, IPY_GameWorld.retArm):"»¤ÊÖ", # "%s_%s" % (IPY_GameWorld.rptEquip, IPY_GameWorld.retTrousers):"¿ã×Ó", # "%s_%s" % (IPY_GameWorld.rptEquip, IPY_GameWorld.retShoes):"Ь×Ó", # "%s_%s" % (IPY_GameWorld.rptEquip, IPY_GameWorld.retNeck):"ÏîÁ´", # "%s_%s" % (IPY_GameWorld.rptEquip, IPY_GameWorld.retRingLeft):"×ó½äÖ¸", # "%s_%s" % (IPY_GameWorld.rptEquip, IPY_GameWorld.retRingRight):"ÓÒ½äÖ¸", # "%s_%s" % (IPY_GameWorld.rptEquip, ShareDefine.retWeapon):"ÓÒÊÖÎäÆ÷", # "%s_%s" % (IPY_GameWorld.rptEquip, ShareDefine.retWeapon2):"×óÊÖÎäÆ÷", # "%s_%s" % (IPY_GameWorld.rptEquip, IPY_GameWorld.retAmulet):"»¤·û", # "%s_%s" % (IPY_GameWorld.rptEquip, IPY_GameWorld.retBelt):"Ñü´ø", # # } #=============================================================================== #=========================================================================== # GameWorld.DebugAnswer(curPlayer, "SetEquipPartPlusLV ²ÎÊý[packType, index, starLV]") # for pType, indexList in ChConfig.Pack_EquipPart_CanPlusStar.items(): # GameWorld.DebugAnswer(curPlayer, " packType=%s(%s)ʱ" % (pType, packTypeStrDict.get(pType, ""))) # indexStr = "index=" # for i in indexList: # indexStr += "%s(%s)," % (i, indexStrDict.get("%s_%s" % (pType, i), "")) # GameWorld.DebugAnswer(curPlayer, " %s" % indexStr) # # GameWorld.DebugAnswer(curPlayer, " SetEquipPartPlusLV Ç¿»¯µÈ¼¶ ¿ÉÖØÖÃËùÓв¿Î»Îª¶ÔÓ¦µÄÇ¿»¯µÈ¼¶") # GameWorld.DebugAnswer(curPlayer, "------------------------------") #=========================================================================== return