#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
##@package GM.Commands.AddFairyEvent  
 | 
#  
 | 
# @todo:Ôö¼ÓçÎç¿Ê¼þ  
 | 
# @author xdh  
 | 
# @date 2019-4-13  
 | 
# @version 1.0  
 | 
#  
 | 
# ÏêϸÃèÊö: Ôö¼ÓçÎç¿Ê¼þ  
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
"""Version = 2019-4-13 16:00"""  
 | 
#---------------------------------------------------------------------  
 | 
  
 | 
import IpyGameDataPY  
 | 
import GameWorld  
 | 
import ChConfig  
 | 
import PlayerFairyDomain  
 | 
import PlayerControl  
 | 
import ShareDefine  
 | 
import random  
 | 
#---------------------------------------------------------------------  
 | 
#Â߼ʵÏÖ  
 | 
  
 | 
## GMÃüÁîÖ´ÐÐÈë¿Ú  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param msgList ²ÎÊýÁÐ±í  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(curPlayer, msgList):  
 | 
    if not msgList:  
 | 
        GameWorld.DebugAnswer(curPlayer, "AddFairyEvent Ê¼þID")  
 | 
        return  
 | 
    fdEventIDList = msgList  
 | 
    openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1  
 | 
    otherCntRateList = IpyGameDataPY.GetFuncEvalCfg('ImmortalDomain', 2)  
 | 
    maxEventCnt = max([info[1] for info in otherCntRateList]) + 1  #×î´ó¿É³öÏÖʼþ¸öÊý  
 | 
    for i in xrange(maxEventCnt):  
 | 
        prefdEventID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FairyDomainEventID % i)  
 | 
        if prefdEventID:  
 | 
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainEventState % prefdEventID, 0)  
 | 
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyAdventuresData % prefdEventID, 0)  
 | 
              
 | 
        fdEventID = fdEventIDList[i] if i < len(fdEventIDList) else 0  
 | 
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainEventID % i, fdEventID)  
 | 
        if fdEventID:  
 | 
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainEventState % fdEventID, PlayerFairyDomain.FDEventState_CanVisit)  
 | 
            if fdEventID in PlayerFairyDomain.AdventuresTypeList:  
 | 
                ipyData = IpyGameDataPY.InterpolationSearch('FairyAdventures', 'OpenServerDay', openServerDay, {'EventID':fdEventID})  
 | 
                if ipyData:  
 | 
                    conditionList = ipyData.GetCondition()  
 | 
                    condition = random.choice(conditionList)  
 | 
                    index = conditionList.index(condition)  
 | 
                    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyAdventuresData % fdEventID, ipyData.GetID() * 100 + index)  
 | 
          
 | 
    #ÉèÖÃѰ·ÃÖÐ  
 | 
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainState, 1)  
 | 
      
 | 
    #ÉèÖóõʼÌåÁ¦  
 | 
    initEnergy = IpyGameDataPY.GetFuncCfg('ImmortalDomainStrength')  
 | 
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainEnergy, initEnergy)  
 | 
      
 | 
    PlayerFairyDomain.NotifyVisitFairyDomainInfo(curPlayer, fdEventIDList)  
 | 
    PlayerFairyDomain.NotifyFairyAdventuresInfo(curPlayer)  
 | 
    GameWorld.DebugAnswer(curPlayer, "ÐÂÔö Ê¼þ fdEventIDList=%s"%fdEventIDList)  
 | 
    return  
 | 
  
 | 
  
 |