From 01a6267d756db9dd7f646d4b8e7b607bb5732c6a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 12 三月 2019 11:38:18 +0800
Subject: [PATCH] 6239 删除仙盟仓库

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py |  339 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 214 insertions(+), 125 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
index 9ec0e31..bad7fa6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -49,7 +49,6 @@
 import PlayerLVAward
 import PlayerGoldGift
 import PlayerSignDay
-import MixServerCampaign
 import PlayerPet
 import PlayerPrestigeSys
 import PlayerFamily
@@ -65,7 +64,6 @@
 import PlayerAttrFruit
 import PlayerSuccess
 import PlayerDienstgrad
-import PlayerMixLoginDayAward
 import PlayerFreeGoods
 import PlayerRecover
 import GameLogic_IceLode
@@ -79,6 +77,8 @@
 import GameLogic_FamilyWar
 import PlayerBossReborn
 import PlayerWeekParty
+import PlayerFeastWeekParty
+import PlayerActLogin
 import Operate_EquipWash
 import PlayerTreasure
 import GameLogic_GodArea
@@ -101,6 +101,9 @@
 import PlayerActTotalRecharge
 import PlayerSpringSale
 import PlayerFairyCeremony
+import PlayerNewFairyCeremony
+import PlayerFeastRedPacket
+import PlayerLuckyTreasure
 import CrossRealmPlayer
 import ChNetSendPack
 import FamilyRobBoss
@@ -110,6 +113,7 @@
 import PlayerGeTui
 import PlayerDogz
 import PlayerCoat
+import PlayerQuDaoDoubleBill
 
 import datetime
 import time
@@ -224,6 +228,45 @@
     
     return
 
+#// A2 31 前端开始自定义场景 #tagCMClientStartCustomScene
+#
+#struct    tagCMClientStartCustomScene
+#{
+#    tagHead        Head;
+#};
+def OnClientStartCustomScene(index, clientData, tick):
+    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+    DoEnterCustomScene(curPlayer)
+    return
+
+def DoEnterCustomScene(curPlayer):
+    ## 进入自定义场景状态
+    curPlayer.SetCanAttack(False)
+    curPlayer.SetVisible(False)
+    curPlayer.SetSight(0)
+    curPet = curPlayer.GetPetMgr().GetFightPet()
+    if curPet:
+        curPet.SetVisible(False)
+        
+    curPlayer.SetDict(ChConfig.Def_PlayerKey_ClientCustomScene, 1)
+    GameWorld.Log("玩家开始自定义场景!", curPlayer.GetPlayerID())
+    return
+
+def DoExitCustomScene(curPlayer):
+    ## 退出自定义场景状态
+    curPlayer.SetCanAttack(True)
+    curPlayer.SetVisible(True)
+    curPlayer.SetSight(1)
+    curPlayer.RefreshView()
+    curPlayer.SetSight(ChConfig.Def_PlayerSight_Default)
+    curPlayer.RefreshView()
+    curPet = curPlayer.GetPetMgr().GetFightPet()
+    if curPet:
+        curPet.SetVisible(True)
+    curPlayer.SetDict(ChConfig.Def_PlayerKey_ClientCustomScene, 0)
+    GameWorld.Log("玩家退出自定义场景!", curPlayer.GetPlayerID())
+    return
+
 #// A1 08 刷新主服角色信息 #tagCMRefreshMainServerRole
 #
 #struct tagCMRefreshMainServerRole
@@ -235,14 +278,28 @@
     
     Sync_DBPlayer(curPlayer)
     
+    # 死亡复活
+    if curPlayer.GetHP() <=0 or curPlayer.GetPlayerAction() == IPY_GameWorld.paDie:
+        PlayerRebornByType(curPlayer, ChConfig.rebornType_System, tick)
+        
     # 强刷一次属性,刷之前重置还没同步过所有属性
     curPlayer.SetDict(ChConfig.Def_PlayerKey_NotifyAllAttrState, 0)
     playerControl = PlayerControl.PlayerControl(curPlayer)
     playerControl.ReCalcAllState()
     
+    # 同步所有buff
+    __Sync_ClientBuff(curPlayer)
+    
+    PlayerState.Sync_PKBossState(curPlayer)
+    
     if PlayerControl.GetCrossMapID(curPlayer):
         CrossRealmPlayer.DoExitCrossRealm(curPlayer)
         
+    if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
+        DoExitCustomScene(curPlayer)
+        
+    msgInfo = ""
+    GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetPlayerID(), 0, 0, "RefreshMainServerRole", msgInfo, len(msgInfo))
     return
 
 def Sync_DBPlayer(curPlayer):
@@ -402,10 +459,25 @@
         #---玩家上线, 宠物逻辑处理---
         PetControl.DoLogic_PetInfo_OnLogin(curPlayer, tick)
         
+        PlayerFamily.FamilyPlayerOnLoginCross(curPlayer)
+        
+        PlayerTeam.OnPlayerLoginCrossServer(curPlayer)
+            
         #通知运行成功
         curPlayer.BalanceServer_PlayerLoginInitOK()
         return
     
+    leaveServerSecond = PlayerControl.GetPlayerLeaveServerSecond(curPlayer)
+    if leaveServerSecond > ChConfig.Def_PlayerOfflineProtectTime / 1000:
+        # 离线超过离线保护重置切线临时保存的相关记录值
+        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_PlayChangeLineID, 0)
+        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FuncChangeLineID, 0)
+        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_HighChangeLineID, 0)
+        #GameWorld.DebugLog("离线超过10秒重置切线临时保存的相关记录值!leaveServerSecond=%s" % leaveServerSecond, curPlayer.GetPlayerID())
+        # 离线过久恢复为非跨服状态
+        if PlayerControl.GetCrossMapID(curPlayer):
+            PlayerControl.SetCrossMapID(curPlayer, 0)
+            
     SyncGuideState(curPlayer)
     
     #上线检查一次装备属性
@@ -424,7 +496,6 @@
     
     #通知玩家技能信息
     __Sync_ClientSkill(curPlayer)
-    
     #清除生产采集Buff
     #PlayerControl.DelProduceBuff(curPlayer, tick)
     #清除国家答题Buff
@@ -448,18 +519,6 @@
     PlayerPrestigeSys.OnLogin(curPlayer)
     DataRecordPack.DR_PlayerLogin(curPlayer)
     EventReport.WriteEvent_login(curPlayer)
-    
-    
-    leaveServerSecond = PlayerControl.GetPlayerLeaveServerSecond(curPlayer)
-    if leaveServerSecond > ChConfig.Def_PlayerOfflineProtectTime / 1000:
-        # 离线超过离线保护重置切线临时保存的相关记录值
-        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_PlayChangeLineID, 0)
-        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FuncChangeLineID, 0)
-        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_HighChangeLineID, 0)
-        #GameWorld.DebugLog("离线超过10秒重置切线临时保存的相关记录值!leaveServerSecond=%s" % leaveServerSecond, curPlayer.GetPlayerID())
-        # 离线过久恢复为非跨服状态
-        if PlayerControl.GetCrossMapID(curPlayer):
-            PlayerControl.SetCrossMapID(curPlayer, 0)
             
     # 合服首登处理
     __DoMixServerFirstLogin(curPlayer)
@@ -478,11 +537,11 @@
     SyncPKModel(curPlayer)
         
     #通用强化星级信息
-    ChEquip.NotifyEquipPartStarLV(curPlayer)
+    ChEquip.NotifyEquipPartPlusLV(curPlayer)
+    ChEquip.NotifyEquipPartStar(curPlayer)
     Operate_EquipWash.OnEquipWashLogin(curPlayer)
     #通知套装信息
-    ChEquip.NotifyEquipPartSuiteLV(curPlayer)
-    ChEquip.SyncAllEquipAttrActiveInfo(curPlayer)
+    #ChEquip.SyncAllEquipAttrActiveInfo(curPlayer)
     #装备位宝石镶嵌通知
     Operate_EquipStone.OnLogin(curPlayer)
     
@@ -575,12 +634,6 @@
     # 开服活动奖励信息
     OpenServerCampaign.OnOpenServerCampaignLogin(curPlayer)
 #    
-#    # 通知合服奖励领取状态
-#    PlayerMixLoginDayAward.OnLoginNotifyMixLoginDayAward(curPlayer)
-#    
-#    # 通知合服奖励
-#    MixServerCampaign.OnMixServerCampaignLogin(curPlayer)
-#    
 #    # 节日登陆奖励
 #    PlayerFestivalLogin.OnLoginFestivalLogin(curPlayer)
 
@@ -668,6 +721,7 @@
     PlayerRune.PlayerRuneLogin(curPlayer)
     # 仙盟红包登录通知
     PlayerFamilyRedPacket.OnPlayerLogin(curPlayer)
+    PlayerFeastRedPacket.DoPlayerOnLogin(curPlayer)
     # 法宝登录通知
     PlayerMagicWeapon.PlayerMagicWeaponLogin(curPlayer)
     # 商店物品购买次数登录通知
@@ -695,8 +749,14 @@
     PlayerBossReborn.OnLogin(curPlayer)
     # 周狂欢活动
     PlayerWeekParty.OnLogin(curPlayer)
+    # 节日巡礼活动
+    PlayerFeastWeekParty.OnLogin(curPlayer)
+    # 登录奖励活动
+    PlayerActLogin.OnLogin(curPlayer)
     # 仙界盛典活动
     PlayerFairyCeremony.OnLogin(curPlayer)
+    # 新仙界盛典活动
+    PlayerNewFairyCeremony.OnLogin(curPlayer)
     # 分支下载奖励记录通知
     SyncPackDownloadAward(curPlayer)
     # 登录触发功能开启(老号处理)
@@ -709,6 +769,8 @@
     PlayerBindJadeWheel.OnLogin(curPlayer)
     # 许愿池
     PlayerWishingWell.OnLogin(curPlayer)
+    #幸运鉴宝
+    PlayerLuckyTreasure.OnLogin(curPlayer)
     # 上线查询一次充值订单
     curPlayer.SendDBQueryRecharge()
     # 小助手
@@ -728,6 +790,7 @@
     # 如果被禁言的,上线同步前端
     if curPlayer.GetGMForbidenTalk():
         curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_ForbidenTalk, curPlayer.GetGMForbidenTalk(), False)
+    
     return
 
 
@@ -751,37 +814,57 @@
     if not isMixServer:
         return
     
-    lastMixServerDayKey = ShareDefine.Def_Notify_WorldKey_LastMixServerDay
-    lastMixServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(lastMixServerDayKey)
-    GameWorld.DebugLog("合服首登处理lastMixServerDay=%s" % lastMixServerDay, curPlayer.GetPlayerID())
+    playerID = curPlayer.GetPlayerID()
+    lastMixServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_LastMixServerDay)
     
     playerDay = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MixLoginDay)
     
     if playerDay == lastMixServerDay:
-        GameWorld.DebugLog("本次合服已经登录过.")
+        GameWorld.DebugLog("本次合服已经登录过. lastMixServerDay=%s" % (lastMixServerDay), playerID)
         return
-
+    mixServerWorldLV = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_LastMixServerWorldLV) # 合服时的世界等级
+    GameWorld.Log("玩家合服首登处理! lastMixServerDay=%s,mixServerWorldLV=%s" % (lastMixServerDay, mixServerWorldLV), playerID)    
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MixLoginDay, lastMixServerDay)
     
+    # 重置首充双倍
+    PlayerCoin.DoResetCTGCount(curPlayer, "MixServer")
+    
+    # 重置商店购买次数,暂定只重置类型 7 的
+    FunctionNPCCommon.ResetShopItemBuyCount(curPlayer, [7])
+    
+    # 合服邮件,盟主专属邮件在GameServer处理
+    mailItemList = IpyGameDataPY.GetFuncEvalCfg("MixServerMail", 1)
+    worldLVMailItemList = IpyGameDataPY.GetFuncEvalCfg("MixServerMail", 2)
+    mailMoneyList = IpyGameDataPY.GetFuncEvalCfg("MixServerMail", 3)
+    worldLVDown = IpyGameDataPY.GetFuncCfg("MixServerMail", 5) # 等级丹相对合服世界等级差值
+    itemWorldLV = max(150, mixServerWorldLV - worldLVDown)
+    goldPaper, silver = mailMoneyList
+    worldLVItemList = []
+    for itemID, itemCount, isBind in worldLVMailItemList:
+        itemData = GameWorld.GetGameData().GetItemByTypeID(itemID)
+        if not itemData:
+            continue
+        curEff = itemData.GetEffectByIndex(0)
+        curEffID = curEff.GetEffectID()
+        if curEffID != ChConfig.Def_Effect_ItemAddLV:
+            continue
+        lvLimit = curEff.GetEffectValue(1)
+        if not lvLimit:
+            continue
+        if lvLimit <= itemWorldLV:
+            worldLVItemList = [[itemID, itemCount, isBind]]
+        else:
+            break
+    detailDict = {"MixServerWorldLV":mixServerWorldLV, "LastMixServerDay":lastMixServerDay, "ItemWorldLV":itemWorldLV}
+    addItemList = mailItemList + worldLVItemList
+    PlayerControl.SendMailByKey("MixServer1", [playerID], addItemList, goldPaper=goldPaper, silver=silver, detail=detailDict)
+    GameWorld.Log("    发送合服补偿邮件: itemWorldLV=%s,addItemList=%s" % (itemWorldLV, addItemList), playerID)
+    
     # 同步排行榜
-    PlayerBillboard.UpdBillboardOnMixServerFirstLogin(curPlayer, lastMixServerDay)
-    
-    # 其他
-    # ...
-    # 重置登录奖励领取状态
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MixLoginDayState, 0)
-    PlayerMixLoginDayAward.NotifyPlayerAwardState(curPlayer)
-    
-    # 重置各合服活动数据
-    for campaignType in ShareDefine.Def_MixCampaign_Type_List:
-        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MixServerCampaign_AwardRecord \
-                                % campaignType, 0, ChConfig.Def_PDictType_OpenServerCampaign)
-        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MixServerCampaign_RecordData \
-                                % campaignType, 0, ChConfig.Def_PDictType_OpenServerCampaign)
-
+    PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer, isAll=True)
     
     # 重置玩家改名次数
-    UpdatePlayerName.ResetChangeNameCnt(curPlayer)
+    #UpdatePlayerName.ResetChangeNameCnt(curPlayer)
     return
 #---------------------------------------------------------------------
         
@@ -911,11 +994,22 @@
 #@return 返回值无意义
 #@remarks 通知玩家技能信息
 def __Sync_ClientSkill(curPlayer):
+    sendPack = ChPyNetSendPack.tagMCPlayerSkills()
+    sendPack.Clear()
+    sendPack.Skills = []
     skillManager = curPlayer.GetSkillManager()
     for i in range(skillManager.GetSkillCount()):
         curSkill = skillManager.GetSkillByIndex(i)
-        curSkill.Sync_Skill()
+        #curSkill.Sync_Skill()
+        skillInfo = ChPyNetSendPack.tagPlayerSkill()
+        skillInfo.SkillID = curSkill.GetSkillID()
+        skillInfo.RemainTime = curSkill.GetRemainTime()
+        skillInfo.Proficiency = curSkill.GetProficiency()
+        
+        sendPack.Skills.append(skillInfo)
 
+    sendPack.Count = len(sendPack.Skills)
+    NetPackCommon.SendFakePack(curPlayer, sendPack) 
     return
  
 #---------------------------------------------------------------------
@@ -1010,6 +1104,7 @@
     #刷新玩家的视野
     if not GameWorld.IsCrossServer() and PlayerControl.GetCrossMapID(curPlayer):
         GameWorld.DebugLog("===登录本服地图时,处于跨服状态,不刷新视野!", curPlayer.GetPlayerID())
+        curPlayer.SetSight(0)
     else:
         PlayerState.ChangePlayerSigh(curPlayer, tick)
     
@@ -1238,6 +1333,15 @@
     curPack.SetCount(ChConfig.Def_PackCnt_DogzEquip)
     curPack.Sync_PackCanUseCount()
     
+    #初始化诛仙物品背包
+    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptZhuXianItem)
+    curPack.SetCount(ChConfig.Def_PackCnt_ZhuXianItem)
+    curPack.Sync_PackCanUseCount()
+    #初始化诛仙装备背包
+    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptZhuXianEquip)
+    curPack.SetCount(ChConfig.Def_PackCnt_ZhuXianEquip)
+    curPack.Sync_PackCanUseCount()
+    
     #初始化临时交换背包
     curPack = itemManager.GetPack(ShareDefine.rptTempSwap)
     curPack.SetCount(ChConfig.Def_PackCnt_TempSwap)
@@ -1248,7 +1352,7 @@
 
     #设置装备实际个数
     curPack = itemManager.GetPack(IPY_GameWorld.rptEquip)
-    curPack.SetCount(ShareDefine.retMax)
+    curPack.SetCount(ChConfig.Def_PackCnt_Equip)
     
     #初始化垃圾桶
     #curPack = itemManager.GetPack(IPY_GameWorld.rptRecycle)
@@ -1522,6 +1626,8 @@
     
     #EndLoadMap需放在最后
     curPlayer.EndLoadMap()
+    # 渠道返利 
+    PlayerQuDaoDoubleBill.OnMapQDDoubleBill(curPlayer)
     return True
 
 ## 切换地图同步一次PK模式
@@ -1717,6 +1823,42 @@
     return
 
 #===============================================================================
+# //B4 14 根据类型来决定移动的方式 #tagMCMoveByType
+# 
+# struct    tagMCMoveByType
+# {
+#    tagHead        Head;
+#    DWORD        ID;    //玩家ID
+#    WORD        PosX;    // 目标X
+#    WORD        PosY;    // 目标Y
+#    BYTE        MoveType;    //移动方式
+# };
+#===============================================================================
+def OnMoveByType(index, clientData, tick):
+    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+    
+    #玩家移动通用检查
+    if not __CheckPlayerCanMove(curPlayer):
+        return
+    
+    #先验证目标点是否合法
+    if not GameWorld.GetMap().CanMove(clientData.PosX, clientData.PosY):
+        return
+    
+    curPlayer.StopMove()
+    curPlayer.ChangePos(clientData.PosX, clientData.PosY)
+    sendPack = ChPyNetSendPack.tagMCMoveByType()
+    sendPack.Clear()
+    sendPack.ID = curPlayer.GetID()
+    sendPack.ObjType = curPlayer.GetGameObjType()
+    sendPack.PosX = clientData.PosX
+    sendPack.PosY = clientData.PosY
+    sendPack.MoveType = clientData.MoveType
+    
+    PlayerControl.PyNotifyAll(curPlayer, sendPack, False, -1)
+    return
+
+#===============================================================================
 # //B4 04 战前冲锋 #tagCMRush
 # 
 # struct    tagCMRush
@@ -1747,7 +1889,15 @@
     #===========================================================================
     
     #超出视野
-    if GameWorld.GetDist(curPlayer.GetPosX(), curPlayer.GetPosY(), clientData.PosX, clientData.PosY) > curPlayer.GetSight():
+    if curPlayer.GetSight() and GameWorld.GetDist(curPlayer.GetPosX(), curPlayer.GetPosY(), clientData.PosX, clientData.PosY) > curPlayer.GetSight():
+        return
+    
+    #玩家移动通用检查
+    if not __CheckPlayerCanMove(curPlayer):
+        return
+    
+    #先验证目标点是否合法
+    if not GameWorld.GetMap().CanMove(clientData.PosX, clientData.PosY):
         return
     
     curPlayer.StopMove()
@@ -5126,81 +5276,6 @@
                                          'RequestIsFamily', sendMsg, len(sendMsg))
     return
 
-
-#===============================================================================
-#// AF 02 合服活动奖励 #tagCMMixCampaignAward
-#
-#struct    tagCMMixCampaignAward
-#
-#{
-#    tagHead         Head;
-#    BYTE        Type;    //0-查询;1-领取
-#    DWORD        CampaignType;        //奖励类型
-#    BYTE        Index;    //奖励位,领取时用
-#};
-#===============================================================================
-## 合服活动奖励
-#  @param index: 玩家索引
-#  @param clientData: 封包结构体
-#  @param tick: 时间戳
-#  @return: 
-def GiveMixServerCampaignAward(index, clientData, tick):
-    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
-    
-    campaignType = clientData.CampaignType
-    queryType = clientData.Type
-    awardIndex = clientData.Index # 奖励位
-
-    GameWorld.DebugLog("GiveMixServerCampaignAward campaignType=%s,queryType=%s,awardIndex=%s" 
-                       % (campaignType, queryType, awardIndex))
-    if queryType == ShareDefine.Def_MSCGameServerQuery_MailAward:
-        GameWorld.DebugLog("    客户端不可发领取合服邮件奖励类型")
-        return
-    
-    isMix = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_IsMixServer)
-    if not isMix:
-        GameWorld.ErrLog("    当前非合服状态!")
-        return    
-    
-    if campaignType not in ShareDefine.Def_MixCampaign_Type_List:
-        GameWorld.ErrLog("    合服活动类型错误campaignType=%s error! not define" % campaignType)
-        return
-    
-    # 如果直接在MapServer中处理,则返回
-    if MixServerCampaign.DoMixServerCampaignOnMapServer(curPlayer, campaignType, queryType, awardIndex):
-        return
-    
-    awardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MixServerCampaign_AwardRecord \
-                                % campaignType, 0, ChConfig.Def_PDictType_OpenServerCampaign)
-    awardState = GameWorld.GetDataByDigitPlace(awardRecord, awardIndex)
-    
-    if awardState == MixServerCampaign.Def_AwardState_Got:
-        if queryType == ShareDefine.Def_MSCGameServerQuery_QueryAward:
-            recordData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MixServerCampaign_RecordData \
-                                % campaignType, 0, ChConfig.Def_PDictType_OpenServerCampaign)
-            MixServerCampaign.Sync_MixServerCampaignAward(curPlayer, campaignType, awardState, recordData)
-        GameWorld.DebugLog("    已经领取过该奖励...")
-        return
-
-    #领奖的需要等待GameServer回包以后才处理下一个封包
-    if queryType != ShareDefine.Def_MSCGameServerQuery_QueryAward:
-        if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_QueryMixServerAwardState) == 1:
-            GameWorld.DebugLog("    已经在查询中...")
-            return
-    
-    curPlayer.SetDict(ChConfig.Def_PlayerKey_QueryMixServerAwardState, 1)
-    
-    familyID = curPlayer.GetFamilyID()
-    
-    #[请求类型, 活动类型, 领取索引, 家族ID]
-    msgList = [queryType, campaignType, awardIndex, familyID]
-    
-    GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetID(), 0, 0, 'MixServerCampaignAward', \
-            '%s' % (msgList), len(str(msgList)))
-
-    GameWorld.DebugLog("    msgList=%s" % str(msgList))
-    return
-
 #===============================================================================
 
 ## 领取奖励表奖励
@@ -5303,7 +5378,21 @@
     # 领取周狂欢积分奖励
     elif rewardType == ChConfig.Def_RewardType_WeekPartyPoint:
         PlayerWeekParty.GetWeekPartyPointAward(curPlayer, dataEx, dataExStr)
-    
+    # 领取登录奖励活动奖励
+    elif rewardType == ChConfig.Def_RewardType_ActLoginAwardAct:
+        PlayerActLogin.GetLoginAwardActionAward(curPlayer, dataEx, dataExStr)
+    # 领取新仙界盛典充值大礼
+    elif rewardType == ChConfig.Def_RewardType_NewFairyCRecharge:
+        PlayerNewFairyCeremony.GetFCRechargeAward(curPlayer)
+    # 领取新仙界盛典全民来嗨
+    elif rewardType == ChConfig.Def_RewardType_NewFairyCParty:
+        PlayerNewFairyCeremony.GetFCPartyAward(curPlayer, dataEx)
+    # 领取节日巡礼活动奖励
+    elif rewardType == ChConfig.Def_RewardType_FeastWeekPartyAct:
+        PlayerFeastWeekParty.GetFeastWeekPartyActionAward(curPlayer, dataEx, dataExStr)
+    # 领取节日巡礼积分奖励
+    elif rewardType == ChConfig.Def_RewardType_FeastWeekPartyPoint:
+        PlayerFeastWeekParty.GetFeastWeekPartyPointAward(curPlayer, dataEx, dataExStr)
     return
     
     
@@ -5752,7 +5841,7 @@
         PlayerControl.SendMailByKey('SubpackageDownload', [curPlayer.GetID()], awardItemList)
     else:
         for itemID, itemCnt, isBind in awardItemList:
-            ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [IPY_GameWorld.rptItem])
+            ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [IPY_GameWorld.rptItem])
     SyncPackDownloadAward(curPlayer)
     return
 

--
Gitblit v1.8.0