#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
##@package GM.Commands.SetFabao  
 | 
#  
 | 
# @todo:ÉèÖ÷¨±¦ÐÅÏ¢  
 | 
# @author xdh  
 | 
# @date 2016-7-6  
 | 
# @version 1.0  
 | 
#  
 | 
# ÏêϸÃèÊö: ÉèÖ÷¨±¦ÐÅÏ¢  
 | 
#  
 | 
#-------------------------------------------------------------------------------  
 | 
#"""Version = 2016-7-6 16:00"""  
 | 
#-------------------------------------------------------------------------------  
 | 
  
 | 
import PlayerControl  
 | 
import PlayerMagicWeapon  
 | 
import GameWorld  
 | 
import ChConfig  
 | 
import IpyGameDataPY  
 | 
  
 | 
#---------------------------------------------------------------------  
 | 
#Â߼ʵÏÖ  
 | 
## GMÃüÁîÖ´ÐÐÈë¿Ú  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param paramList ²ÎÊýÁÐ±í  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(curPlayer, paramList):  
 | 
    if len(paramList) == 0:  
 | 
        GameWorld.DebugAnswer(curPlayer, "SetFabao ·¨±¦ID ÐÇÊý(Ñ¡Ìî) ¾Ñé(Ñ¡Ìî)")  
 | 
        GameWorld.DebugAnswer(curPlayer, "·¨±¦ID: 0-ÖØÖÃËùÓÐ, 1-¼¤»îËùÓÐ")  
 | 
        return  
 | 
    mwID = paramList[0]  
 | 
    mwLV = paramList[1] if len(paramList) > 1 else 0  
 | 
    exp = paramList[2] if len(paramList) > 2 else 0  
 | 
      
 | 
    if mwID == 0:  
 | 
        playerSkillManager = curPlayer.GetSkillManager()  
 | 
        ipyDataMgr = IpyGameDataPY.IPY_Data()  
 | 
        for i in xrange(ipyDataMgr.GetTreasureCount()):  
 | 
            ipyData = ipyDataMgr.GetTreasureByIndex(i)  
 | 
            mwID = ipyData.GetID()  
 | 
            PlayerMagicWeapon.SetMagicWeaponActiveState(curPlayer, mwID, False)  
 | 
            PlayerMagicWeapon.SetMagicWeaponClickState(curPlayer, mwID, False)  
 | 
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MagicWeaponExp % mwID, 0)  
 | 
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MagicWeaponLV % mwID, 0)  
 | 
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MagicWeaponUpExp % mwID, 0)  
 | 
#            skillIDList = ipyData.GetUnLockSkill()  
 | 
#            for skillID in skillIDList:  
 | 
#                playerSkillManager.DeleteSkillBySkillTypeID(skillID)  
 | 
            skillIDList = ipyData.GetPotentials()  
 | 
            for skillID in skillIDList:  
 | 
                playerSkillManager.DeleteSkillBySkillTypeID(skillID)  
 | 
        PlayerMagicWeapon.NotifyMagicWeapon(curPlayer, True)  
 | 
        PlayerMagicWeapon.Sycn_MagicWeaponLV(curPlayer)  
 | 
        PlayerMagicWeapon.CalcMagicWeaponAttr(curPlayer)  
 | 
        PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()  
 | 
        GameWorld.DebugAnswer(curPlayer, "·¨±¦ÖØÖÃÍê³É£¡")  
 | 
    elif mwID == 1:  
 | 
        ipyDataMgr = IpyGameDataPY.IPY_Data()  
 | 
        for i in xrange(ipyDataMgr.GetTreasureCount()):  
 | 
            ipyData = ipyDataMgr.GetTreasureByIndex(i)  
 | 
            mwID = ipyData.GetID()  
 | 
            PlayerMagicWeapon.DoActiveMW(curPlayer, mwID)  
 | 
        PlayerMagicWeapon.Sycn_MagicWeaponLV(curPlayer)  
 | 
    else:  
 | 
        ipyData = PlayerMagicWeapon.GetWMIpyData(mwID)  
 | 
        if not ipyData:  
 | 
            GameWorld.DebugAnswer(curPlayer, "·¨±¦ID²»´æÔÚ£¡")  
 | 
            return  
 | 
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MagicWeaponUpExp % mwID, exp)  
 | 
        if mwLV:  
 | 
            nextIpyData = IpyGameDataPY.GetIpyGameData('TreasureUp', mwID, mwLV)  
 | 
            if not nextIpyData:  
 | 
                GameWorld.DebugAnswer(curPlayer, "·¨±¦µÈ¼¶²»´æÔÚ£¡")  
 | 
                return  
 | 
        for lv in xrange(mwLV+1):  
 | 
            PlayerMagicWeapon.DoActiveMW(curPlayer, mwID, lv)  
 | 
        PlayerMagicWeapon.Sycn_MagicWeaponLV(curPlayer, mwID)  
 | 
          
 | 
    PlayerMagicWeapon.NotifyMagicWeapon(curPlayer)  
 | 
    return  
 | 
  
 | 
  
 | 
  
 |