#!/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 import PlayerControl #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ ## 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) == 1: #ÉèÖÃËùÓÐ setStarLV = cmdList[0] equipMaxClasslv = IpyGameDataPY.GetFuncCfg('EquipMaxClasslv') for equipPlace in ChConfig.Pack_EquipPart_CanPlusStar.get(packType, []): for classlv in xrange(1, equipMaxClasslv+1): 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) #Ë¢ÐÂËùÓÐÊôÐÔ ChEquip.RefreshPlayerEquipAttribute(curPlayer) playControl = PlayerControl.PlayerControl(curPlayer) playControl.RefreshPlayerAttrState() ChEquip.NotifyEquipPartPlusLV(curPlayer) GameWorld.DebugAnswer(curPlayer, "ÉèÖÃËùÓв¿Î»Ç¿»¯µÈ¼¶Îª: %s" % (setStarLV)) elif len(cmdList) == 2: classLV = cmdList[0] setStarLV = cmdList[1] 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 equipPlace not in ChConfig.Pack_EquipPart_CanPlusStar[packType]: __GMHelpAnswer(curPlayer, "²¿Î»²»´æÔÚ£¡") 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) ChEquip.NotifyEquipPartPlusLV(curPlayer, packType, gridIndex) GameWorld.DebugAnswer(curPlayer, "ÉèÖÃ%s½×%s²¿Î»Ç¿»¯µÈ¼¶Îª: %s" % (classLV, equipPlace, starLV)) return def __GMHelpAnswer(curPlayer, errorMsg=""): if errorMsg: GameWorld.DebugAnswer(curPlayer, "%s" % errorMsg) GameWorld.DebugAnswer(curPlayer, "SetEquipPartPlusLV µÈ¼¶ ÉèÖÃËùÓÐ") GameWorld.DebugAnswer(curPlayer, "SetEquipPartPlusLV ½×¼¶ Ç¿»¯µÈ¼¶") GameWorld.DebugAnswer(curPlayer, "SetEquipPartPlusLV ½×¼¶ ²¿Î» Ç¿»¯µÈ¼¶") #=========================================================================== return