#!/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 1
|
exp = paramList[2] if len(paramList) > 2 else 0
|
|
if mwID == 0:
|
ipyDataMgr = IpyGameDataPY.IPY_Data()
|
for i in xrange(ipyDataMgr.GetTreasureCount()):
|
ipyData = ipyDataMgr.GetTreasureByIndex(i)
|
mwID = ipyData.GetID()
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MagicWeaponLV % mwID, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MagicWeaponUpExp % mwID, 0)
|
|
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()
|
if PlayerMagicWeapon.GetIsActiveMagicWeapon(curPlayer, mwID):
|
continue
|
PlayerMagicWeapon.DoActiveMW(curPlayer, mwID)
|
|
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(1, mwLV+1):
|
PlayerMagicWeapon.DoActiveMW(curPlayer, mwID, lv)
|
|
|
return
|
|
|
|