#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
##@package GM.Commands.Zhanling  
 | 
#  
 | 
# @todo:Õ½Áî  
 | 
# @author hxp  
 | 
# @date 2024-07-12  
 | 
# @version 1.0  
 | 
#  
 | 
# ÏêϸÃèÊö: Õ½Áî  
 | 
#  
 | 
#-------------------------------------------------------------------------------  
 | 
#"""Version = 2024-07-12 19:00"""  
 | 
#-------------------------------------------------------------------------------  
 | 
  
 | 
import ChConfig  
 | 
import PlayerControl  
 | 
import PlayerZhanling  
 | 
import GameWorld  
 | 
  
 | 
#---------------------------------------------------------------------  
 | 
#Â߼ʵÏÖ  
 | 
  
 | 
## GMÃüÁîÖ´ÐÐÈë¿Ú  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param msgList ²ÎÊýÁÐ±í  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(curPlayer, msgList):  
 | 
      
 | 
    if not msgList:  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÖØÖý±Àø: Zhanling 0 ÀàÐÍ")  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÕ½Áî: Zhanling ÀàÐÍ ÊÇ·ñ¼¤»îÆÕͨ   ¸ß¼¶")  
 | 
        return  
 | 
      
 | 
    value = msgList[0]  
 | 
    if value == 0:  
 | 
        zhanlingType = msgList[1] if len(msgList) > 1 else 1  
 | 
        for keyNum in range(10):  
 | 
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingReward % (zhanlingType, keyNum), 0)  
 | 
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingRewardH % (zhanlingType, keyNum), 0)  
 | 
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingRewardFree % (zhanlingType, keyNum), 0)  
 | 
          
 | 
        PlayerZhanling.SyncZhanlingInfo(curPlayer, zhanlingType)  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÕ½Áî(%s)½±Àø!" % (zhanlingType))  
 | 
                 
 | 
    else:  
 | 
        zhanlingType = value  
 | 
        activiteC = msgList[1] if len(msgList) > 1 else 0  
 | 
        activiteH = msgList[2] if len(msgList) > 2 else 0  
 | 
        state = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ZhanlingState)  
 | 
        if activiteC:  
 | 
            updState = state|pow(2, zhanlingType)  
 | 
        else:  
 | 
            updState = state&(pow(2, 31 + 1) - 1 - pow(2, zhanlingType))  
 | 
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingState, updState)  
 | 
          
 | 
        state = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ZhanlingStateH)  
 | 
        if activiteH:  
 | 
            updState = state|pow(2, zhanlingType)  
 | 
        else:  
 | 
            updState = state&(pow(2, 31 + 1) - 1 - pow(2, zhanlingType))  
 | 
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingStateH, updState)  
 | 
          
 | 
        PlayerZhanling.SyncZhanlingInfo(curPlayer, zhanlingType)  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÕ½ÁîÀàÐÍ:%s ÆÕͨ:%s ¸ß¼¶:%s" % (zhanlingType, activiteC, activiteH))  
 | 
          
 | 
    return  
 | 
  
 | 
  
 |