| | |
| | | import NetPackCommon
|
| | | import ShareDefine
|
| | | import GameWorld
|
| | | import GameLogic_CrossGrassland
|
| | | import PlayerControl
|
| | | import IpyGameDataPY
|
| | | import PlayerActivity
|
| | |
| | | (
|
| | | FDEventType0,
|
| | | FDEventType1,
|
| | | FDEventType2,
|
| | | FDEventType_GrasslandXian,
|
| | | FDEventType3,
|
| | | FDEventType4,
|
| | | FDEventType_GrasslandLing,
|
| | | ) = range(5)
|
| | |
|
| | | (
|
| | |
| | | for i in xrange(maxEventCnt):
|
| | | fdEventID = fdEventIDList[i] if i < len(fdEventIDList) else 0
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainEventID % i, fdEventID)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainEventState % fdEventID, FDEventState_CanVisit)
|
| | | if fdEventID:
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainEventState % fdEventID, FDEventState_CanVisit)
|
| | | #设置寻访中
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainState, 1)
|
| | | #设置初始体力
|
| | |
| | | GameWorld.Log('缥缈仙域事件状态设置,体力不足!,fdeventID=%s, costEnergy=%s, curEnergy=%s' % (fdeventID, costEnergy, curEnergy))
|
| | | return
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainEnergy, curEnergy - costEnergy)
|
| | | |
| | | # 草园重置
|
| | | if ipyData.GetEventType() in [FDEventType_GrasslandXian, FDEventType_GrasslandLing]:
|
| | | GameLogic_CrossGrassland.DoResetCrossGrassland(curPlayer, ipyData.GetEventType(), fdeventID)
|
| | | |
| | | elif state == FDEventState_Visited:
|
| | | if curState != FDEventState_Visiting:
|
| | | GameWorld.Log('缥缈仙域事件状态设置错误,fdeventID=%s, state=%s, curState=%s' % (fdeventID, state, curState))
|
| | |
| | |
|
| | | def NotifyVisitFairyDomainInfo(curPlayer, fdEventList=[], isAll=1):
|
| | | if not fdEventList:
|
| | | syncFDEventList = []
|
| | | otherCntRateList = IpyGameDataPY.GetFuncEvalCfg('ImmortalDomain', 2)
|
| | | maxEventCnt = max([info[1] for info in otherCntRateList]) + 1 #最大可出现事件个数
|
| | | for i in xrange(maxEventCnt):
|
| | | fdEventID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FairyDomainEventID % i)
|
| | | if fdEventID:
|
| | | fdEventList.append(fdEventID)
|
| | | |
| | | syncFDEventList.append(fdEventID)
|
| | | else:
|
| | | syncFDEventList = fdEventList
|
| | |
|
| | | packData = ChPyNetSendPack.tagMCFairyDomainInfo()
|
| | | packData.IsAll = isAll
|
| | | packData.State = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FairyDomainState)
|
| | | packData.Energy = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FairyDomainEnergy)
|
| | | packData.VisitCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FairyDomainVisitCnt)
|
| | | packData.InfoList = []
|
| | | for fdeventID in fdEventList:
|
| | | for fdeventID in syncFDEventList:
|
| | | fdeventData = ChPyNetSendPack.tagMCFairyDomainEvent()
|
| | | fdeventData.EventID = fdeventID
|
| | | fdeventData.EventState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FairyDomainEventState % fdeventID)
|
| | |
| | | maxEventCnt = max([info[1] for info in otherCntRateList]) + 1 #最大可出现事件个数
|
| | | for i in xrange(maxEventCnt):
|
| | | fdEventID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FairyDomainEventID % i)
|
| | | if fdEventID not in AdventuresTypeList:
|
| | | continue
|
| | | adventuresdata = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FairyAdventuresData % fdEventID)
|
| | | if not adventuresdata:
|
| | | continue
|