From 51ebe08557412b702cc897409bbbf20eaf16903f Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 06 十一月 2024 16:44:44 +0800 Subject: [PATCH] 10261 【越南】【砍树】【英文】【tqxbqy】头像框,头像(补充通知:C001、C005、B207; 0320宗门扫荡结算助战玩家头像信息; A003王者仙盟徽章;) --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 51 insertions(+), 3 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py index 046d843..876a37b 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py @@ -33,8 +33,12 @@ import PlayerFamilyRedPacket import PlayerFairyCeremony import PlayerNewFairyCeremony +import PlayerActFamilyCTGAssist import PlayerActGarbageSorting import PlayerActBossTrial +import PlayerActXianXiaMJ +import PlayerActGubao +import PlayerActHorsePetTrain import PlayerUniversalGameRec import GameWorldAverageLv import PlayerFamilyBoss @@ -741,7 +745,7 @@ for sendMapServerMsgDict in curActMapInfoDictList: state = 0 # 默认关闭 - stateJoin = 0 # 可参与状态 + stateJoin = ShareDefine.ActStateJoin_None # 可参与状态,0-参与前;1-可参与;2-参与结束 ipyData = None actNum = sendMapServerMsgDict.get(ShareDefine.ActKey_ActNum, 0) @@ -772,10 +776,12 @@ for jIndex, joinStartDateTime in enumerate(joinStartTimeList): endJoinDateTime = joinEndTimeList[jIndex] if joinStartDateTime <= curDateTime < endJoinDateTime: - stateJoin = state + stateJoin = ShareDefine.ActStateJoin_Start break + elif curDateTime >= endJoinDateTime: + stateJoin = ShareDefine.ActStateJoin_End else: - stateJoin = state + stateJoin = ShareDefine.ActStateJoin_Start if state else ShareDefine.ActStateJoin_None # 全服广播提示信息 if curDateTime in notifyDict: @@ -817,6 +823,12 @@ if dbActID: if actName == ShareDefine.OperationActionName_BossTrial: PlayerActBossTrial.OnActEnd(actNum, ipyData, dayIndex) + elif actName == ShareDefine.OperationActionName_XianXiaMJ: + PlayerActXianXiaMJ.OnActEnd(actNum, ipyData, dayIndex) + elif actName == ShareDefine.OperationActionName_Gubao: + PlayerActGubao.OnActEnd(actNum, ipyData, dayIndex) + elif actName == ShareDefine.OperationActionName_HorsePetTrain: + PlayerActHorsePetTrain.OnActEnd(actNum, ipyData, dayIndex) if curActID: if actName in ShareDefine.NeedWorldLVOperationActNameList: @@ -847,6 +859,14 @@ PlayerActGarbageSorting.OnActStart(actNum) elif actName == ShareDefine.OperationActionName_BossTrial: PlayerActBossTrial.OnActStart(actNum) + elif actName == ShareDefine.OperationActionName_XianXiaMJ: + PlayerActXianXiaMJ.OnActStart(actNum, ipyData) + elif actName == ShareDefine.OperationActionName_Gubao: + PlayerActGubao.OnActStart(actNum, ipyData) + elif actName == ShareDefine.OperationActionName_HorsePetTrain: + PlayerActHorsePetTrain.OnActStart(actNum, ipyData) + elif actName == ShareDefine.OperationActionName_FamilyCTGAssist: + PlayerActFamilyCTGAssist.OnActStart(actNum) else: if actName == ShareDefine.OperationActionName_GarbageSorting: PlayerActGarbageSorting.OnActEnd(actNum) @@ -854,6 +874,34 @@ else: GameWorld.Log(" dbActID不变: dbActID=%s,curActID=%s" % (dbActID, curActID)) + # 活动中刷新,每次都需要刷新的逻辑,包含重读配置等 + if state: + if actName == ShareDefine.OperationActionName_BossTrial: + PlayerActBossTrial.OnActInStateRefresh(actNum, ipyData, dayIndex) + elif actName == ShareDefine.OperationActionName_XianXiaMJ: + PlayerActXianXiaMJ.OnActInStateRefresh(actNum, ipyData) + elif actName == ShareDefine.OperationActionName_Gubao: + PlayerActGubao.OnActInStateRefresh(actNum, ipyData) + elif actName == ShareDefine.OperationActionName_HorsePetTrain: + PlayerActHorsePetTrain.OnActInStateRefresh(actNum, ipyData) + + # 仅活动有配置参与时间段的会触发 + if curActID and dbActID == curActID and preStateJoin != stateJoin: + GameWorld.Log(" 参与状态变更: preStateJoin=%s,stateJoin=%s" % (preStateJoin, stateJoin)) + # 参与开始 + if stateJoin == ShareDefine.ActStateJoin_Start: + pass + # 参与结束 + elif stateJoin == ShareDefine.ActStateJoin_End: + if actName == ShareDefine.OperationActionName_BossTrial: + PlayerActBossTrial.OnActJoinEnd(actNum, ipyData, dayIndex) + elif actName == ShareDefine.OperationActionName_XianXiaMJ: + PlayerActXianXiaMJ.OnActJoinEnd(actNum, ipyData, dayIndex) + elif actName == ShareDefine.OperationActionName_Gubao: + PlayerActGubao.OnActJoinEnd(actNum, ipyData, dayIndex) + elif actName == ShareDefine.OperationActionName_HorsePetTrain: + PlayerActHorsePetTrain.OnActJoinEnd(actNum, ipyData, dayIndex) + if ipyData and actName in ShareDefine.NeedWorldLVOperationActNameList: actWorldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(dbOperationActWorldLVKey) sendMapServerMsgDict[ShareDefine.ActKey_WorldLV] = actWorldLV -- Gitblit v1.8.0