| #!/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  | 
|   | 
|   | 
|   |