From c28653c492d97956946b6017e7439e6736425524 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 23 十一月 2018 21:00:09 +0800
Subject: [PATCH] 4715 冰晶矿脉修改

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py |   66 ++++++++++++++++++++++++++++++---
 1 files changed, 60 insertions(+), 6 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
index 84656ef..219378c 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
@@ -72,6 +72,7 @@
 import PyDataManager
 import PyGameData
 import PlayerTalk
+import PlayerStore
 
 import time
 import datetime
@@ -256,6 +257,10 @@
     elif queryType == ChConfig.queryType_NPCInfo:
         __QueryMapNPCInfo(curPlayer, queryCallName, sendCMD)
         return
+    # 查询地图NPC数量
+    elif queryType == ChConfig.queryType_NPCCnt:
+        __QueryMapNPCCntInfo(curPlayer, queryCallName, sendCMD)
+        return
     else:
         GameWorld.ErrLog('unKnow queryType = %s' % (queryType))
         
@@ -290,6 +295,26 @@
                 queryCallName, sendCMD, len(sendCMD), curPlayer.GetRouteServerIndex())
     return
 
+## 查询目标地图NPC数量
+#  @param curPlayer: 请求玩家
+#  @param queryCallName: 请求回调名
+#  @param sendCMD: 请求的命令 根据请求类型和请求命令来决定最终操作
+#  @return None
+def __QueryMapNPCCntInfo(curPlayer, queryCallName, sendCMD):
+    playerManager = GameWorld.GetPlayerManager()
+    try:
+        mapInfo = eval(sendCMD)
+    except BaseException:
+        GameWorld.ErrLog("__QueryMapNPCCntInfo() sendCMD=%s error" % sendCMD)
+        return
+    
+    if not mapInfo:
+        return
+    
+    tagMapID = mapInfo[0]
+    playerManager.MapServer_QueryPlayer(curPlayer.GetPlayerID(), ChConfig.queryType_NPCCnt, 0, tagMapID,
+                queryCallName, sendCMD, len(sendCMD), curPlayer.GetRouteServerIndex())
+    return
 
 ## 获得家族属性(等级,人数)获得自己所在家族的属性
 #  @param curPlayer 请求的玩家
@@ -389,14 +414,14 @@
     callName = pack.GetCallName()
     resultName = pack.GetResultName()                       #[queryid, 人气值, 物品ID]
     
-    if callName == 'SendMail':
-        title, content, getDays, playerIDList, addItemList, gold, goldPaper, silver = eval(resultName)
+    if callName == "SendMail":
+        title, content, getDays, playerIDList, addItemList, gold, goldPaper, silver, detail = eval(resultName)
         limitTime = str(GameWorld.GetDatetimeByDiffDays(getDays))
         limitTime = limitTime.split(".")[0]
-        PlayerCompensation.SendPersonalItemMail(title, content, limitTime, playerIDList, addItemList, gold, goldPaper, silver)
+        PlayerCompensation.SendPersonalItemMail(title, content, limitTime, playerIDList, addItemList, gold, goldPaper, silver, detail=detail)
         return
     
-    if callName == 'SendMailBatch':
+    if callName == "SendMailBatch":
         PlayerCompensation.SendPersonalItemMailBatch(eval(resultName))
         return
     
@@ -594,7 +619,17 @@
     
     # 世界boss状态
     if callName =="GameWorldBossState":
-        GameWorldBoss.DoGameWorldBossOnReborn(eval(resultName), tick)
+        GameWorldBoss.OnGameWorldBossStateChange(eval(resultName), tick)
+        return
+    
+    # 仙盟归属boss信息同步
+    if callName =="FamilyOwnerBossInfo":
+        GameWorldBoss.MapServer_FamilyOwnerBossInfo(eval(resultName))
+        return
+
+    # 骑宠争夺伤血玩家同步
+    if callName =="HorsePetRobBossHurtPlayer":
+        GameWorldBoss.MapServer_HorsePetRobBossHurtPlayer(eval(resultName))
         return
     
     # 全局掉落CD
@@ -604,6 +639,10 @@
     # 全局击杀数换算掉落概率
     if callName =="GlobalDropRate":
         GameWorldProcess.UpdGlobalDropRate(eval(resultName))
+        return
+    # 全局击杀数统计
+    if callName =="GlobalKillCount":
+        GameWorldProcess.UpdGlobalKillCount(eval(resultName))
         return
     
     # 自定义商店全服限购次数清空
@@ -727,11 +766,26 @@
     if callName =="AddBossRebornPoint":
         GameWorldBoss.AddBossRebornPoint(eval(resultName))
         return
-    
+    #通知神兽副本NPC刷新时间
+    if callName =="DogzNPCTime":
+        PyGameData.g_dogzNPCRefreshTimeDict = eval(resultName)
+        GameWorldBoss.Sync_DogzNPCRefreshTime()
+        return
 #---return分割线-----------------------------------------------------------------
 
     
 #---有可能return-----------------------------------------------------------------
+    #商城全服购买限制
+    if callName == "GetStoreServerBuyCnt":
+        curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
+        if not curPlayer:
+            return
+        ret = PlayerStore.DoStoreServerBuyQueryResult(curPlayer, eval(resultName))
+        if ret == None:
+            resultName = ''
+        else:
+            resultName = '%s' % ret
+        
     #玩家等级奖励
     if callName == "GetPlayerLVAward":
         curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)

--
Gitblit v1.8.0