#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package GM.Commands.AddLegendAttr # # @todo:Ìí¼Ó/ÖØÐÂÉú³É´«ÆæÊôÐÔ # @author hxp # @date 2017-08-23 # @version 1.0 # # ÏêϸÃèÊö: Ìí¼Ó/ÖØÐÂÉú³É´«ÆæÊôÐÔ # #------------------------------------------------------------------------------- #"""Version = 2017-08-23 23:00""" #------------------------------------------------------------------------------- import GameWorld import ItemCommon import ItemControler import IPY_GameWorld import ShareDefine #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ ## GMÃüÁîÖ´ÐÐÈë¿Ú # @param curPlayer µ±Ç°Íæ¼Ò # @param cmdList ²ÎÊýÁбí [index£¬attrIndexList] # @return None def OnExec(curPlayer, cmdList): cmdlen = len(cmdList) if cmdlen < 1: GameWorld.DebugAnswer(curPlayer, "ÖØÐÂËæ»ú´«ÆæÊôÐÔ: AddLegendAttr ±³°ü¸ñ×ÓË÷Òý") GameWorld.DebugAnswer(curPlayer, "²¿Î»ËùÓд«ÆæÊôÐÔ: AddLegendAttr ±³°ü¸ñ×ÓË÷Òý 1") return #»ñÈ¡ÎïÆ· index = cmdList[0] curItem = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem).GetAt(index) if not ItemCommon.CheckItemIsEquip(curItem): GameWorld.DebugAnswer(curPlayer, "·Ç×°±¸ÎÞ·¨»ñµÃ´«ÆæÊôÐÔ!") return if ItemControler.GetIsAuctionItem(curItem): GameWorld.DebugAnswer(curPlayer, "ÅÄÆ·ÎÞ·¨Éú³É´«ÆæÊôÐÔ!") return isAllAttr = cmdList[1] if len(cmdList) > 1 else 0 legendAttrInfo = ItemControler.GetAddEquipLegendAttr(curItem, curPlayer, isAllAttr) if not legendAttrInfo: GameWorld.DebugAnswer(curPlayer, "»ñÈ¡¸Ã×°±¸´«ÆæÊôÐÔʧ°Ü»òûÓд«ÆæÊôÐÔ!") return attrIDList, attrValueList = legendAttrInfo # ´«ÆæÊôÐÔ if attrIDList and attrValueList and len(attrIDList) == len(attrValueList): curItem.ClearUserAttr(ShareDefine.Def_IudetLegendAttrID) curItem.ClearUserAttr(ShareDefine.Def_IudetLegendAttrValue) attrDict = {} for i, attrID in enumerate(attrIDList): value = attrValueList[i] curItem.AddUserAttr(ShareDefine.Def_IudetLegendAttrID, attrID) curItem.AddUserAttr(ShareDefine.Def_IudetLegendAttrValue, value) attrDict[attrID] = value GameWorld.DebugAnswer(curPlayer, "´«ÆæÊôÐÔ:%s" % (attrDict)) return