From 63f6f44ec2a38eaec9f39bbe26edb07daed49b49 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 16 九月 2025 17:36:50 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(王元姬技能,弹射待处理;支持被动变更伤害倍值;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py |  479 +++--------------------------------------------------------
 1 files changed, 29 insertions(+), 450 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
index 766ae61..6361081 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -18,59 +18,38 @@
 import ReadChConfig
 import ChConfig
 import GameWorld
-import EventShell
 import FBLogic
 import IPY_GameWorld
 import ChPlayer
-import GameLogInfo
 import GameServerRefresh
 import ShareDefine
-import PlayerGameWallow
-import Operate_PlayerBuyZhenQi
 import PlayerSignDay
 import PlayerCoin
 import PlayerControl
-import PlayerWorldAverageLv
 import PlayerFamily
 import PlayerFamilyZhenfa
 import PlayerOnlinePrize
-import NPCCustomRefresh
 import PlayerLoginDayAward
 import NPCCommon
 import FunctionNPCCommon
 import PlayerGoldGift
 import PlayerActivity
-import PlayerBindJadeWheel
 import FBCommon
 import PlayerSuccess
 import PlayerFreeGoods
-import PlayerMagicWeapon
 import ChItem
 import PlayerGoldInvest
-import PlayerNewGuyCard
 import PlayerCrossRealmPK
 import PlayerCrossChampionship
-import PlayerCrossBattlefield
 import PlayerPet
-import BossHurtMng
 import PlayerRecover
-import GameLogic_FamilyParty
 import PlayerFamilyRedPacket
-import GameLogic_FamilyInvade
-import GameLogic_ElderBattlefield
-import GameLogic_AllFamilyBoss
-import GameLogic_HorsePetBoss
-import GameLogic_FamilyWar
 import OpenServerCampaign
 import PlayerCostRebate
 import CrossActCTGBillboard
 import CrossActAllRecharge
 import PlayerActCollectWords
 import PlayerActTotalRecharge
-import PlayerActGarbageSorting
-import PlayerActXianXiaMJ
-import PlayerActGubao
-import PlayerActHorsePetTrain
 import PlayerActLianqi
 import PlayerActGodGift
 import PlayerActFamilyGCZ
@@ -81,7 +60,6 @@
 import PlayerActRechargePrize
 import PlayerActGrowupBuy
 import PlayerActTurntable
-import PlayerActBossTrial
 import PlayerActBuyOne
 import PlayerSpringSale
 import PlayerBossReborn
@@ -98,38 +76,27 @@
 import PlayerActLogin
 import PlayerFlashGiftbag
 import PlayerDailyGiftbag
-import PlayerFairyCeremony
-import PlayerNewFairyCeremony
-import PlayerActHorsePetFeast
+import PlayerOfflineSupport
 import PlayerFeastRedPacket
 import PlayerCrossYaomoBoss
 import PlayerLuckyCloudBuy
 import PlayerLuckyTreasure
-import PlayerAuctionHouse
 import PlayerTongTianLing
-import PlayerRefineStove
 import PlayerFlashSale
 import PlayerWishingWell
-import PlayerFairyDomain
 import CrossPlayerData
 import PlayerTreasure
 import PlayerZhanling
-import PlayerVip
 import PlayerLove
-import PlayerDiceEx
 import IpyGameDataPY
-import FamilyRobBoss
-import FBHelpBattle
-import QuestManager
-import PlayerAssist
 import PlayerArena
 import PyGameData
-import PlayerGuaji
 import PlayerXiangong
-import PlayerFuncTeam
-import PlayerMineArea
 import PlayerBillboard
+import PlayerViewCache
 import PlayerMail
+import PlayerHero
+import PlayerTree
 
 import datetime
 import time
@@ -143,19 +110,15 @@
 
 def DoLogic_OnDay(tick):
     GameWorld.Log("MapServer -> OnDay!")
-    playerManager = GameWorld.GetPlayerManager()
-    #处理所有玩家信件的onday事件, 把存在时间+1
-    playerManager.ProcessAllPlayerMailOnDay()
-    #清空每日日记记录信息
-    GameLogInfo.ClearGameLogInfo()
-    
     #副本OnDay事件响应
     FBLogic.OnDay(tick)
     
-    #删除所有的任务发布
-    missionPubManager = GameWorld.GetGameWorld().GetDBMissionPubManager()
-    missionPubManager.Clear()
+    #仙盟
+    PlayerFamily.FamilyOnDay()
+    PlayerArena.OnDay()
     
+    PlayerOfflineSupport.OnDay()
+    playerManager = GameWorld.GetPlayerManager()
     for i in xrange(playerManager.GetPlayerCount()):
         curPlayer = playerManager.GetPlayerByIndex(i)
         
@@ -163,18 +126,11 @@
             continue
         
         PlayerOnDay(curPlayer)
-        PlayerOnDayEx(curPlayer)
-    
-    DoLogic_OnDayEx(tick)
-    
-    PlayerBillboard.OnDay()
-    return
-
-def DoLogic_OnDayEx(tick):
-    GameWorld.Log("MapServer -> OnDayEx!")
-    
+        
     PlayerMail.OnDayEx()
     PlayerControl.RemoveTimeoutLeaveServerPlayerInfo(tick)
+    PlayerBillboard.OnDay()
+    PlayerViewCache.OnDay()
     return
 
 def DoLogic_OnHour(tick):
@@ -199,6 +155,8 @@
 def DoLogic_OnWeek(tick):
     GameWorld.Log("MapServer -> OnWeek!")
     
+    PlayerArena.OnWeek()
+    
     playerManager = GameWorld.GetPlayerManager()
     for i in xrange(playerManager.GetPlayerCount()):
         curPlayer = playerManager.GetPlayerByIndex(i)
@@ -207,7 +165,6 @@
             continue
         
         PlayerOnWeek(curPlayer)
-        PlayerOnWeekEx(curPlayer)
         
     #副本OnWeek事件响应
     FBLogic.OnWeek(tick)
@@ -224,7 +181,6 @@
             continue
         
         PlayerOnMonth(curPlayer)
-        PlayerOnMonthEx(curPlayer)
         
     return
 
@@ -283,26 +239,9 @@
     GameWorld.Log("PlayerOnDay! ondayValue=%s" % (ondayValue), playerID)
     
     __DoPlayerOnDay(curPlayer, ShareDefine.Def_OnEventType)
-    
-    GameWorld.Log("PlayerOnDay OK!", playerID)
-    return
-    
-def PlayerOnDayEx(curPlayer):
-    #记录玩家字典值,待初始化后执行
-    if not curPlayer.GetGameServerInitOK():
-        GameServerRefresh.Set_PlayerGameServerInitOK_OnDayEx(curPlayer , 1)
-        return
-    
-    ondayValue = __Get_Can_OnDayEx(curPlayer)
-    if not ondayValue:
-        return
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnDayEx, ondayValue)
-    playerID = curPlayer.GetPlayerID()
-    GameWorld.Log("PlayerOnDayEx! ondayValue=%s" % (ondayValue), playerID)
-    
     __DoPlayerOnDay(curPlayer, ShareDefine.Def_OnEventTypeEx)
     
-    GameWorld.Log("PlayerOnDayEx OK!", playerID)
+    GameWorld.Log("PlayerOnDay OK!", playerID)
     return
     
 def __DoPlayerOnDay(curPlayer, onEventType):
@@ -320,9 +259,7 @@
         curPlayer.SetDayProcessGameEventCount(0)
         
         #重置宠物每天的训练次数
-        PlayerPet.DoLogic_PetInfo_OnDay(curPlayer)
-        
-        PlayerGameWallow.RevertHealthGame_OnDay(curPlayer)
+        #PlayerPet.DoLogic_PetInfo_OnDay(curPlayer)
         
         PlayerOnlinePrize.ResetPrizeInfoOnDay(curPlayer)
         
@@ -334,29 +271,17 @@
         
         #------------------------------------------------------------------------------ 
         
-        PlayerVip.VipOnDay(curPlayer)
-        
         PlayerCoin.OnDay(curPlayer)
-        
+        PlayerTree.PlayerOnDay(curPlayer)
         #成就
         PlayerSuccess.SuccOnDay(curPlayer)
-        
-        # 新手卡
-        PlayerNewGuyCard.NewGuyCardOnday(curPlayer)
-        
         #投资
         PlayerGoldInvest.OnDay(curPlayer)
         #战令
         PlayerZhanling.OnDay(curPlayer)
         #寻宝
         PlayerTreasure.OnDay(curPlayer)
-        #法宝
-        PlayerMagicWeapon.OnDay(curPlayer)
         PlayerGoldGift.OnDay(curPlayer)
-        #炼丹
-        PlayerRefineStove.OnDay(curPlayer)
-        #绑玉转盘
-        PlayerBindJadeWheel.OnDay(curPlayer)
         #转盘
         PlayerActTurntable.PlayerOnDay(curPlayer)
         #情缘
@@ -386,17 +311,9 @@
             ChPlayer.Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_RechargeDayAward, 0)
     # 特殊时间点X点过天
     elif onEventType == ShareDefine.Def_OnEventTypeEx:
+        PlayerHero.PlayerOnDay(curPlayer)
         # 资源找回
         PlayerRecover.RecoverOnDay(curPlayer)
-        #触发每日任务重置脚本
-        EventShell.EventResponse_OnDay(curPlayer)
-        #购买次数清空
-        Operate_PlayerBuyZhenQi.PlayerOnDay(curPlayer)
-        
-        #我要太极过天
-        PlayerDiceEx.OnDay(curPlayer)
-        # 世界boss
-        BossHurtMng.OnDay(curPlayer)
         # 仙盟过天
         PlayerFamily.PlayerOnDay(curPlayer)
         # 重置物品每日使用次数
@@ -405,26 +322,12 @@
         PlayerFreeGoods.OnDay(curPlayer)
         #采集次数重置
         NPCCommon.PlayerOnDay(curPlayer)
-        #副本助战
-        FBHelpBattle.DoPlayerOnDay(curPlayer)
         #跨服竞技场
         PlayerCrossRealmPK.DoPlayerOnDay(curPlayer)
         #跨服排位
         PlayerCrossChampionship.DoPlayerOnDay(curPlayer)
-        #跨服战场
-        PlayerCrossBattlefield.DoPlayerOnDay(curPlayer)
-        #缥缈仙域
-        PlayerFairyDomain.OnDay(curPlayer)
-        #仙盟宴会
-        GameLogic_FamilyParty.OnDayFamilyPartyPlayer(curPlayer)
         #竞技场
         PlayerArena.OnDayEx(curPlayer)
-        #协助
-        PlayerAssist.DoPlayerOnDay(curPlayer)
-        #福地
-        PlayerMineArea.PlayerOnDay(curPlayer)
-        #挂机
-        PlayerGuaji.PlayerOnDay(curPlayer)
         #特殊时间点过天的,一般是游戏功能,此时立即同步一次跨服玩家数据
         CrossPlayerData.SendMergePlayerDataNow(curPlayer)
         
@@ -443,8 +346,6 @@
     PlayerWishingWell.OnDay(curPlayer)
     #通天令
     PlayerTongTianLing.OnDay(curPlayer, onEventType)
-    #boss凭证
-    PlayerActBossTrial.PlayerOnDay(curPlayer, onEventType)
     #任务活动
     PlayerActTask.OnDay(curPlayer)
     #登录活动
@@ -504,26 +405,9 @@
     GameWorld.Log("PlayerOnWeek! onWeekValue=%s" % (onWeekValue), playerID)
     
     __DoPlayerOnWeek(curPlayer, ShareDefine.Def_OnEventType)
-    
-    GameWorld.Log("PlayerOnWeek OK!", playerID)
-    return
-
-def PlayerOnWeekEx(curPlayer):
-    #记录玩家字典值,待初始化后执行
-    if not curPlayer.GetGameServerInitOK():
-        GameServerRefresh.Set_PlayerGameServerInitOK_OnWeekEx(curPlayer , 1)
-        return
-    
-    onWeekValue = __Get_Can_OnWeekEx(curPlayer)
-    if not onWeekValue:
-        return
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnWeekEx, onWeekValue)
-    playerID = curPlayer.GetPlayerID()
-    GameWorld.Log("PlayerOnWeekEx! onWeekValue=%s" % (onWeekValue), playerID)
-    
     __DoPlayerOnWeek(curPlayer, ShareDefine.Def_OnEventTypeEx)
     
-    GameWorld.Log("PlayerOnWeekEx OK!", playerID)
+    GameWorld.Log("PlayerOnWeek OK!", playerID)
     return
 
 def __DoPlayerOnWeek(curPlayer, onEventType):
@@ -553,12 +437,9 @@
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_HasVIPClubNote, 0)
         
     elif onEventType == ShareDefine.Def_OnEventTypeEx:
-        #触发每周任务重置脚本
-        EventShell.EventResponse_OnWeek(curPlayer)
         #竞技场
         PlayerArena.OnWeekEx(curPlayer)
         PlayerFamily.OnWeekEx(curPlayer)
-        PlayerCrossBattlefield.DoPlayerOnWeek(curPlayer)
         
     # 以下为支持两种重置模式切换配置的
     FBCommon.FBOnWeek(curPlayer, onEventType)
@@ -589,26 +470,9 @@
     GameWorld.Log("PlayerOnMonth! onMonthValue=%s" % (onMonthValue), playerID)
     
     __DoPlayerOnMonth(curPlayer, ShareDefine.Def_OnEventType)
-    
-    GameWorld.Log("PlayerOnMonth OK!", playerID)
-    return
-
-def PlayerOnMonthEx(curPlayer):
-    #记录玩家字典值,待初始化后执行
-    if not curPlayer.GetGameServerInitOK():
-        GameServerRefresh.Set_PlayerGameServerInitOK_OnMonthEx(curPlayer , 1)
-        return
-    
-    onMonthValue = __Get_Can_OnMonthEx(curPlayer)
-    if not onMonthValue:
-        return
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnMonthEx, onMonthValue)
-    playerID = curPlayer.GetPlayerID()
-    GameWorld.Log("PlayerOnMonthEx! onMonthValue=%s" % (onMonthValue), playerID)
-    
     __DoPlayerOnMonth(curPlayer, ShareDefine.Def_OnEventTypeEx)
     
-    GameWorld.Log("PlayerOnMonthEx OK!", playerID)
+    GameWorld.Log("PlayerOnMonth OK!", playerID)
     return
 
 def __DoPlayerOnMonth(curPlayer, onEventType):
@@ -672,9 +536,6 @@
     
     GameWorld.Log("PlayerOnHour!" , curPlayerID)
     
-    tick = GameWorld.GetGameWorld().GetTick()
-    #PlayerVip.CalcVIPTimeByTick(curPlayer, tick)
-    
     #记录
     curDateTime = GameWorld.GetCurrentTime()
     curHour = curDateTime.hour
@@ -684,12 +545,6 @@
     if curHour == 1:
         #从数据库中查询当前排行榜等级
         curPlayer.DataServer_GetBillboardLV()
-    
-    
-    #触发每小时任务重置脚本
-    EventShell.EventResponse_OnHour(curPlayer)
-    #缥缈仙域
-    PlayerFairyDomain.OnHour(curPlayer)
     return
     
 #---------------------------------------------------------------------
@@ -860,24 +715,24 @@
         PlayerOnDay(curPlayer)
         
     #OnDayEx事件
-    if __Get_Can_OnDayEx(curPlayer):
-        PlayerOnDayEx(curPlayer)
+    #if __Get_Can_OnDayEx(curPlayer):
+    #    PlayerOnDayEx(curPlayer)
         
     #OnWeek事件
     if __Get_Can_OnWeek(curPlayer):
         PlayerOnWeek(curPlayer)
         
     #OnWeekEx事件
-    if __Get_Can_OnWeekEx(curPlayer):
-        PlayerOnWeekEx(curPlayer)
+    #if __Get_Can_OnWeekEx(curPlayer):
+    #    PlayerOnWeekEx(curPlayer)
         
     #OnMonth事件
     if __Get_Can_OnMonth(curPlayer):
         PlayerOnMonth(curPlayer)
         
     #OnMonthEx事件
-    if __Get_Can_OnMonthEx(curPlayer):
-        PlayerOnMonthEx(curPlayer)
+    #if __Get_Can_OnMonthEx(curPlayer):
+    #    PlayerOnMonthEx(curPlayer)
         
     #OnYear事件
     if __Get_Can_OnYear(curPlayer):
@@ -926,49 +781,6 @@
         return dateTime_Day
     return 0
 
-def __Get_Can_OnDayEx(curPlayer):
-    '''判断可否凌晨X点过天
-    @return: 0-不可; >0-可以, 且代表的是过天需记录的值
-    '''
-    curDateTime = GameWorld.GetCurrentTime()
-    
-    # 上次过天记录格式: 年月日, 如20171027
-    lastOndayEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnDayEx)
-    #GameWorld.DebugLog("__Get_Can_OnDayEx lastOndayEx=%s" % (lastOndayEx))
-    if lastOndayEx:
-        lastOndayEx_Year = lastOndayEx / 10000
-        lastOndayEx_Month = lastOndayEx % 10000 / 100
-        lastOndayEx_Day = lastOndayEx % 100
-        #GameWorld.DebugLog("lastOndayEx_Year=%s,lastOndayEx_Month=%s,lastOndayEx_Day=%s" % (lastOndayEx_Year, lastOndayEx_Month, lastOndayEx_Day))
-        
-        # 上次过天的日期0点
-        lastDatetime = datetime.datetime(lastOndayEx_Year, lastOndayEx_Month, lastOndayEx_Day, 0, 0, 0)
-        passTime = curDateTime - lastDatetime
-        passDays = passTime.days
-        passSeconds = passTime.seconds
-        
-        # 如果时间差没有超过1天,代表还未过天
-        if passDays == 0:
-            #GameWorld.DebugLog("如果时间差没有超过1天,代表还未过天, passDays=%s" % passDays)
-            return 0
-        # 等于1天的, 时间差需 >= X时才可过天, 即 X * 3600 秒
-        if passDays == 1 and passSeconds < ShareDefine.Def_OnEventHour * 3600:
-            #GameWorld.DebugLog("等于1天的, 时间差需 >= X时才可过天, 即 X * 3600 秒, passSeconds=%s" % passSeconds)
-            return 0
-        #if passDays < 0:
-        #    GameWorld.DebugLog("时间天差小于0,一般为异常情况,只有时间往回调才回出现!默认允许过天,passDays=%s" % passDays)
-        # 大于1天的无论什么时间点都可以过天
-        
-    if curDateTime.hour < ShareDefine.Def_OnEventHour:
-        curDateTime = curDateTime - datetime.timedelta(days=1)
-        #GameWorld.Log("OnDayEx 特殊X点之前过天的,代表天差大于1天的时间过天,这时候的过天值需设置为昨天 %s" % curDateTime)
-        
-    dateTime_Day = curDateTime.day
-    dateTime_Month = curDateTime.month
-    dateTime_Year = curDateTime.year
-    #GameWorld.DebugLog("可以过天")
-    return dateTime_Year * 10000 + dateTime_Month * 100 + dateTime_Day
-
 ## 检查玩家是否可以OnWeek
 #  @param curPlayer 当前玩家
 #  @param curMission 当前任务
@@ -984,55 +796,6 @@
     if (dateTime_Week != player_Week):
         return dateTime_Week
     return 0
-
-def __Get_Can_OnWeekEx(curPlayer):
-    '''判断可否凌晨X点过周
-    @return: 0-不可; >0-可以, 且代表的是过周需记录的值
-    '''
-    curDateTime = GameWorld.GetCurrentTime()
-    isocalendar = datetime.datetime.isocalendar(curDateTime)
-    dateTime_year, dateTime_week, dateTime_day = isocalendar
-    
-    # 上次过周记录格式: 年周, 如201752
-    lastOnWeekEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnWeekEx)
-    #GameWorld.DebugLog("__Get_Can_OnWeekEx lastOnWeekEx=%s,dateTime_year=%s,week=%s,day=%s" 
-    #                   % (lastOnWeekEx, dateTime_year, dateTime_week, dateTime_day))
-    if lastOnWeekEx:
-        lastOnWeekEx_Year = lastOnWeekEx / 100
-        lastOnWeekEx_Week = lastOnWeekEx % 100
-        # 本周已经过周过
-        if dateTime_year == lastOnWeekEx_Year and dateTime_week == lastOnWeekEx_Week:
-            #GameWorld.DebugLog("本周已经过周过")
-            return 0
-        
-        # 当前天为每周第一天的时候,需判断周差为1时当前时间点是否超过5点
-        if dateTime_day == 1:
-            preWeekDateTime = curDateTime - datetime.timedelta(days=7) # 上一周的datetime(即周差为1)
-            preWeek_year, preWeek_week, preWeek_day = datetime.datetime.isocalendar(preWeekDateTime)
-            
-            # 上次过周的刚好是周差1, 则需判断当前时间点是否超过X时
-            if preWeek_year == lastOnWeekEx_Year and preWeek_week == lastOnWeekEx_Week:
-                if curDateTime.hour < ShareDefine.Def_OnEventHour:
-                    #GameWorld.DebugLog("本周第一天,未到达过周时间点, hour=%s" % curDateTime.hour)
-                    return 0
-                
-            # 周差不为1的时候,则无论什么时间点均可过周
-            else:
-                #GameWorld.DebugLog("周差不为1的时候,则无论什么时间点均可过周, 可以过周")
-                pass
-            
-        # 不是每周第一天的时候,则无论什么时间点均可过周
-        else:
-            #GameWorld.DebugLog("不是每周第一天的时候,则无论什么时间点均可过周, 可以过周")
-            pass
-        
-    if dateTime_day == 1 and curDateTime.hour < ShareDefine.Def_OnEventHour:
-        onWeekDateTime = curDateTime - datetime.timedelta(days=7) # 上一周的datetime(即周差为1)
-        dateTime_year, dateTime_week, dateTime_day = datetime.datetime.isocalendar(onWeekDateTime)
-        #GameWorld.Log("OnWeekEx 周一特殊X点之前过天的,代表周差大于1天的周一过周,这时候的过周值需设置为上周 %s" % onWeekDateTime)
-        
-    #GameWorld.DebugLog("可以过周")
-    return dateTime_year * 100 + dateTime_week
 
 ## 检查玩家是否可以OnMonth
 #  @param curPlayer 当前玩家
@@ -1050,56 +813,6 @@
     if (dateTime_Month != player_Month or dateTime_Year != player_Year):
         return dateTime_Month
     return 0
-
-def __Get_Can_OnMonthEx(curPlayer):
-    '''判断可否凌晨X点过月
-    @return: 0-不可; >0-可以, 且代表的是过月需记录的值
-    '''
-    curDateTime = GameWorld.GetCurrentTime()
-    dateTime_day = curDateTime.day
-    dateTime_month = curDateTime.month
-    dateTime_year = curDateTime.year
-    
-    # 上次过月记录格式: 年月, 如201712
-    lastOnMonthEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnMonthEx)
-    #GameWorld.DebugLog("__Get_Can_OnMonthEx lastOnMonthEx=%s,dateTime_year=%s,dateTime_month=%s" 
-    #                   % (lastOnMonthEx, dateTime_year, dateTime_month))
-    if lastOnMonthEx:
-        lastOnMonthEx_Year = lastOnMonthEx / 100
-        lastOnMonthEx_Month = lastOnMonthEx % 100
-        # 本月已经过月过
-        if dateTime_year == lastOnMonthEx_Year and dateTime_month == lastOnMonthEx_Month:
-            #GameWorld.DebugLog("本月已经过月过")
-            return 0
-        
-        # 当前天为每月第一天的时候,需判断月差为1时当前时间点是否超过5点
-        if dateTime_day == 1:
-            preMonth_month = 12 if dateTime_month == 1 else dateTime_month - 1 # 上一月
-            preMonth_year = dateTime_year if preMonth_month != 12 else dateTime_year - 1 # 上一月所属年
-            
-            # 上次过月的刚好是月差1, 则需判断当前时间点是否超过X时
-            if preMonth_year == lastOnMonthEx_Year and preMonth_month == lastOnMonthEx_Month:
-                if curDateTime.hour < ShareDefine.Def_OnEventHour:
-                    #GameWorld.DebugLog("本月第一天,未到达过月时间点, hour=%s" % curDateTime.hour)
-                    return 0
-                
-            # 月差不为1的时候,则无论什么时间点均可过月
-            else:
-                #GameWorld.DebugLog("月差不为1的时候,则无论什么时间点均可过月, 可以过月")
-                pass
-            
-        # 不是每月第一天的时候,则无论什么时间点均可过月
-        else:
-            #GameWorld.DebugLog("不是每月第一天的时候,则无论什么时间点均可过月, 可以过月")
-            pass
-        
-    if dateTime_day == 1 and curDateTime.hour < ShareDefine.Def_OnEventHour:
-        dateTime_month = 12 if dateTime_month == 1 else dateTime_month - 1 # 上一月
-        dateTime_year = dateTime_year if dateTime_month != 12 else dateTime_year - 1 # 上一月所属年
-        #GameWorld.Log("OnMonthEx 月1号特殊X点之前过天的,代表月差大于1的月1号过月,这时候的过月值需设置为上月。%d%02d" % (dateTime_year, dateTime_month))
-        
-    #GameWorld.DebugLog("可以过月")
-    return dateTime_year * 100 + dateTime_month
 
 ## 检查玩家是否可以OnYear
 #  @param curPlayer 当前玩家
@@ -1179,11 +892,6 @@
             PyGameData.g_bossShuntLineState = eval(msgValue)
             return
         
-        if key == ShareDefine.Def_Notify_WorldKey_FamilyKillHorsePetRobBossCnt:
-            PyGameData.g_familyKillHorsePetRobBossCntDict = eval(msgValue)
-            FamilyRobBoss.OnFamilyKillHorsePetRobBossCntChange(tick)
-            return
-        
         if key == ShareDefine.Def_Notify_WorldKey_FBEnterTimeLimiitMapID:
             PyGameData.FBEnterTimeLimiitMapID = eval(msgValue)
             return
@@ -1196,45 +904,8 @@
             PyGameData.VSFamilyInfo = eval(msgValue)
             return
         
-        if key == ShareDefine.Def_Notify_WorldKey_FamilyPartyInfo:
-            if GameWorld.GetMap().GetMapID() == ChConfig.Def_FBMapID_FamilyParty:
-                PyGameData.g_familyPartyInfo = eval(msgValue)
-            return
-        
-        if key == ShareDefine.Def_Notify_WorldKey_FamilyPartyAddFamilyActivity:
-            mapID, familyID, addFamilyActivity = eval(msgValue)
-            if GameWorld.GetMap().GetMapID() == mapID:
-                GameLogic_FamilyParty.DoAddFamilyMemberFamilyActivity(familyID, addFamilyActivity)
-            return
-        
         if key == ShareDefine.Def_Notify_WorldKey_FamilyZhenfaInfo:
             PlayerFamilyZhenfa.GameServer_FamilyZhenfa(eval(msgValue))
-            return
-        
-        if key == ShareDefine.Def_Notify_WorldKey_AssistBoss:
-            assistData = eval(msgValue)
-            if GameWorld.GetMap().GetMapID() == assistData[0]:
-                PlayerAssist.GameServer_AssistBossMsg(assistData[1:])
-            return
-        
-        if key == ShareDefine.Def_Notify_WorldKey_AddFamilyAuctionItem:
-            mapID, familyAuctionItemDict = eval(msgValue)
-            if GameWorld.GetMap().GetMapID() == mapID:
-                PlayerAuctionHouse.DoAddFamilyAuctionItem(familyAuctionItemDict)
-            return
-        
-        if key == ShareDefine.Def_Notify_WorldKey_AddSystemAuctionItem:
-            mapID, sysAuctionItemList = eval(msgValue)
-            if GameWorld.GetMap().GetMapID() == mapID:
-                PlayerAuctionHouse.DoAddSystemAuctionItem(sysAuctionItemList)
-            return
-        
-        if key == ShareDefine.Def_Notify_WorldKey_FairyDomainLimit:
-            isAdd, limitList = eval(msgValue)
-            if isAdd:
-                PyGameData.g_fairyDomainLimit += limitList
-            else:
-                PyGameData.g_fairyDomainLimit = limitList
             return
         
         if key == ShareDefine.Def_Notify_WorldKey_CoupleInfo:
@@ -1267,18 +938,6 @@
             elif actionName == ShareDefine.OperationActionName_TotalRecharge:
                 PlayerActTotalRecharge.RefreshTotalRechargeActionInfo(actNum)
                 
-            elif actionName == ShareDefine.OperationActionName_GarbageSorting:
-                PlayerActGarbageSorting.RefreshGarbageSortingActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_XianXiaMJ:
-                PlayerActXianXiaMJ.RefreshXianXiaMJActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_Gubao:
-                PlayerActGubao.RefreshGubaoActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_HorsePetTrain:
-                PlayerActHorsePetTrain.RefreshHorsePetTrainActionInfo(actNum)
-                
             elif actionName == ShareDefine.OperationActionName_GodGift:
                 PlayerActGodGift.RefreshGodGiftActionInfo(actNum)
                 
@@ -1297,12 +956,6 @@
             elif actionName == ShareDefine.OperationActionName_BossReborn:
                 PlayerBossReborn.RefreshOperationAction_BossReborn()
                 
-            elif actionName == ShareDefine.OperationActionName_BossTrial:
-                PlayerActBossTrial.RefreshBossTrialActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_HorsePetFeast:
-                PlayerActHorsePetFeast.RefreshOperationAction_HorsePetFeast(actNum)
-                
             elif actionName == ShareDefine.OperationActionName_FlashGiftbag:
                 PlayerFlashGiftbag.RefreshFlashGiftbagActionInfo(actNum)
                 
@@ -1314,12 +967,6 @@
                 
             elif actionName == ShareDefine.OperationActionName_FamilyCTGAssist:
                 PlayerActFamilyCTGAssist.RefreshFamilyCTGAssistActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_FairyCeremony:
-                PlayerFairyCeremony.RefreshOperationAction_FairyCeremony()
-                
-            elif actionName == ShareDefine.OperationActionName_NewFairyCeremony:
-                PlayerNewFairyCeremony.RefreshOperationAction_NewFairyCeremony()
                 
             elif actionName == ShareDefine.OperationActionName_FlashSale:
                 PlayerFlashSale.RefreshflashSaleActionInfo(actNum)
@@ -1398,18 +1045,6 @@
             elif actionName == ShareDefine.CrossActName_AllRecharge:
                 CrossActAllRecharge.RefreshCrossActAllRechargeInfo()
                 
-            elif actionName == ShareDefine.CrossActName_BossTrial:
-                PlayerActBossTrial.RefreshCrossActBossTrialInfo()
-                
-            elif actionName == ShareDefine.CrossActName_XianXiaMJ:
-                PlayerActXianXiaMJ.RefreshCrossActXianXiaMJInfo()
-                
-            elif actionName == ShareDefine.CrossActName_Gubao:
-                PlayerActGubao.RefreshCrossActGubaoInfo()
-                
-            elif actionName == ShareDefine.CrossActName_HorsePetTrain:
-                PlayerActHorsePetTrain.RefreshCrossActHorsePetTrainInfo()
-                
             elif actionName == ShareDefine.CrossActName_Lianqi:
                 PlayerActLianqi.RefreshCrossActLianqiInfo()
                 
@@ -1436,19 +1071,6 @@
         if key == ShareDefine.Def_Notify_WorldKey_LuckyCloudBuyInfo:
             PyGameData.g_luckyCloudBuyInfo = eval(msgValue)
             PlayerLuckyCloudBuy.OnLuckyCloudBuyChange()
-            return
-        
-        # 功能队伍
-        if key == ShareDefine.Def_Notify_WorldKey_FuncTeamMemIDInfo:
-            PlayerFuncTeam.OnFuncTeamMemIDRefresh(eval(msgValue))
-            return
-        
-        if key == ShareDefine.Def_Notify_WorldKey_CrossBattlefieldCallTeamInfo:
-            PyGameData.g_crossBattlefieldCallTeamInfo = eval(msgValue)
-            return
-        
-        if key == ShareDefine.Def_Notify_WorldKey_CrossBattlefieldSysCallBuyInfo:
-            PyGameData.g_crossBattlefieldSysCallBuyList = eval(msgValue)
             return
         
         if msgValue.isdigit():
@@ -1481,39 +1103,11 @@
     # 跨服PK
     elif key == ShareDefine.Def_Notify_WorldKey_CrossPKSeasonID:
         PlayerCrossRealmPK.OnCrossRealmPKSeasonChange(value)
-        
-    # 守卫人皇
-    elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyInvade:
-        if gameWorldMgr.GetGameWorldDictByKey(key) != value:
-            GameLogic_FamilyInvade.OnFamilyInvadeStateChange(value, tick)
-    # 上古战场
-    elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_ElderBattlefield:
-        if gameWorldMgr.GetGameWorldDictByKey(key) != value:
-            GameLogic_ElderBattlefield.OnElderBattlefieldStateChange(value, tick)
-    # 多仙盟BOSS
-    elif key in [ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyBoss1]:
-        if gameWorldMgr.GetGameWorldDictByKey(key) != value:
-            GameLogic_AllFamilyBoss.OnAllFamilyBossStateChange(value, tick)
-    # 骑宠BOSS
-    elif key == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_HorsePetBoss:
-        if gameWorldMgr.GetGameWorldDictByKey(key) != value:
-            GameLogic_HorsePetBoss.OnHorsePetBossStateChange(value, tick)
-                
+          
     # 跨服妖魔boss
     elif key == ShareDefine.Def_Notify_WorldKey_CrossDailyActionState % ShareDefine.CrossDailyActionID_YaomoBoss:
         if gameWorldMgr.GetGameWorldDictByKey(key) != value:
             PlayerCrossYaomoBoss.OnYaomoBossStateChange(value, tick)
-            
-    # 世界等级      
-    elif key == ShareDefine.Def_Notify_WorldKey_WorldAverageLv:
-        if value and gameWorldMgr.GetGameWorldDictByKey(key) != value:
-            gameWorldMgr.SetGameWorldDict(key, value) # 世界等级先更新再处理
-            playerManager = GameWorld.GetPlayerManager()
-            for index in xrange(playerManager.GetPlayerCount()):
-                curPlayer = playerManager.GetPlayerByIndex(index)
-                if not GameWorld.IsNormalPlayer(curPlayer):
-                    continue
-                PlayerWorldAverageLv.UpdatePlayerWorldAverageLv(curPlayer)
             
     #通用设置
     befValue = gameWorldMgr.GetGameWorldDictByKey(key)
@@ -1522,17 +1116,8 @@
     #-------在设置了字典值以后处理---------------------------------
     # 刷新世界boss
     if key.startswith('GameWorldBossReborn_'):
-        NPCCustomRefresh.ProcessAllNPCRefresh(tick)
-        
-    # 王者仙盟
-    elif key == ShareDefine.Def_Notify_WorldKey_ChampionFamilyID:
-        GameLogic_FamilyWar.OnChampionFamilyIDChange()
-        
-    # 仙盟宴会
-    elif key == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyParty:
-        if befValue != value:
-            GameLogic_FamilyParty.OnFamilyPartyStateChange(value, tick)
-            
+        pass
+    
 #===============================================================================
 #    ---修改为上述的 统一字典处理
 #    if msg == ChConfig.Def_Notify_Key_PurTalk:
@@ -1565,12 +1150,6 @@
     gameWorldMgr.SetGameWorldDict(ShareDefine.Def_Notify_WorldKey_ReloadJpegCaptcha, value)
     
     IpyGameDataPY.IPYData.IpyDataClear()
-    
-    #任务重读,需放在配置重读后面,暂时默认关闭,仅有需要重读任务时开启配置
-    if IpyGameDataPY.GetFuncCfg("ReloadQuests", 1):
-        tick = GameWorld.GetGameWorld().GetTick()
-        QuestManager.ReloadQuests(tick)
-        EventShell.DoReloadRefresh()
     return
 
 #===============================================================================

--
Gitblit v1.8.0