| #!/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  | 
|     maxEventCnt = PlayerFairyDomain.GetMaxEventCnt()  # ×î´ó¿É³öÏÖʼþ¸öÊý  | 
|     if len(msgList) > maxEventCnt:  | 
|         GameWorld.DebugAnswer(curPlayer, "×î´óʼþÊýÁ¿ %s"%maxEventCnt)  | 
|     fdEventIDList = msgList[:maxEventCnt]  | 
|     openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 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()  | 
|                     if conditionList:  | 
|                         condition = random.choice(conditionList)  | 
|                         index = conditionList.index(condition)  | 
|                     else:  | 
|                         index = 0  | 
|                     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  | 
|   | 
|   |