| | |
| | | import PlayerUniversalGameRec
|
| | | import GameWorldAverageLv
|
| | | import PlayerFamilyBoss
|
| | | import PlayerHorsePetBoss
|
| | | import GameWorldProcess
|
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | |
| | | isEnd = (curDateTime == endDayDate)
|
| | |
|
| | | # 每天按时段开启的,支持多时段
|
| | | else:
|
| | | if startDayDate <= curDateTime <= endDayDate:
|
| | | isEnd = (curDateTime == endDayDate)
|
| | | elif startDayDate <= curDateTime <= endDayDate:
|
| | | isEnd = (curDateTime == endDayDate)
|
| | | if not isEnd:
|
| | | for hmIndex, startHMStr in enumerate(startHMStrList):
|
| | | endHMStr = endHMStrList[hmIndex]
|
| | | # 每天开的, 实际开关时间只取今天的日期; 这里有个问题,全服广播的时间不是今天的, 暂不做支持,之后真有这种需求再说
|
| | |
| | | # GameWorld.DebugLog(" 副本可否进入已经是该值: dataMapID=%s,updCanEnter=%s,canEnterKey=%s" % (dataMapID, updCanEnter, canEnterKey))
|
| | |
|
| | | fbFuncStateKey = ShareDefine.Def_Notify_WorldKey_FBFuncState % dataMapID
|
| | | if gameWorld.GetDictByKey(fbFuncStateKey) != updStateValue:
|
| | | beforeState = gameWorld.GetDictByKey(fbFuncStateKey)
|
| | | if beforeState != updStateValue:
|
| | | GameWorld.SendMapServerMsgEx(fbFuncStateKey, updStateValue) #通知Mapserver,设置字典
|
| | | gameWorld.SetDict(fbFuncStateKey, updStateValue) #更新字典值
|
| | | GameWorld.Log("副本状态变更: dataMapID=%s,updStateValue=%s,fbFuncStateKey=%s" % (dataMapID, updStateValue, fbFuncStateKey))
|
| | | __DoLogic_GameServer_ActionState(fbFuncStateKey, updStateValue)
|
| | | __DoLogic_GameServer_ActionState(fbFuncStateKey, updStateValue, beforeState)
|
| | | #else:
|
| | | # GameWorld.DebugLog(" 副本状态已经是该值: dataMapID=%s,updStateValue=%s,fbFuncStateKey=%s" % (dataMapID, updStateValue, fbFuncStateKey))
|
| | |
|
| | |
| | | ##处理GameServer活动状态
|
| | | # @param dictName 字典名
|
| | | # @param isOpen 是否开启
|
| | | # @param beforeState 状态变更前的值,部分判断处理
|
| | | # @return 返回值无意义
|
| | | # @remarks
|
| | | def __DoLogic_GameServer_ActionState(dictName, isOpen):
|
| | | def __DoLogic_GameServer_ActionState(dictName, isOpen, beforeState=0):
|
| | | #仙盟宴会
|
| | | if dictName == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyParty:
|
| | | PlayerFamilyParty.FamilyPartyStateChange(isOpen)
|
| | | PlayerFamilyParty.FamilyPartyStateChange(isOpen, beforeState)
|
| | | #仙盟联赛
|
| | | elif dictName == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyWar:
|
| | | GameWorldFamilyWar.OnFamilyWarStateChange(isOpen)
|
| | |
| | | elif dictName == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_CrossReamPK:
|
| | | CrossRealmPK.OnCrossRealmPKDailyActionStateChange(isOpen)
|
| | | #仙盟BOSS
|
| | | elif dictName in [ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyBoss1,
|
| | | ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyBoss2,]:
|
| | | elif dictName in [ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyBoss1]:
|
| | | PlayerFamilyBoss.OnAllFamilyBossStateChange(isOpen)
|
| | | #骑宠BOSS
|
| | | elif dictName in [ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_HorsePetBoss]:
|
| | | PlayerHorsePetBoss.OnHorsePetBossStateChange(isOpen)
|
| | |
|
| | | return
|
| | |
|