From 868c939723928a1dc6ba1f0b89f501848b8db75a Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 26 四月 2019 14:55:07 +0800
Subject: [PATCH] 6501 【后端】【2.0】仙盟任务(新增接口)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerXMZZ.py |   27 +++++++++++++++------------
 1 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerXMZZ.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerXMZZ.py
index 67ff992..3315d81 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerXMZZ.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerXMZZ.py
@@ -34,8 +34,8 @@
 import PlayerUniversalGameRec
 
 import random
-import json
 import math
+import json
 
 RecType = ShareDefine.Def_UniversalGameRecType_XMZZStageRecord
 RecType1 = ShareDefine.Def_UniversalGameRecType_XMZZPKInfoRecord
@@ -265,14 +265,13 @@
         curCache = PlayerViewCache.ViewCacheMgr.FindCache(pkPlayerID)
         if not curCache:
             return
-        PropData, ItemData = curCache.GetPropData(), curCache.GetItemData()
         
         packData = ChPyNetSendPack.tagGCXMZZFightInfo()
         packData.Clear()
         packData.PlayerID = pkPlayerID
-        packData.PropData = PropData
+        packData.PropData = curCache.GetPropData()
         packData.PropDataSize = len(packData.PropData)
-        packData.ItemData = ItemData
+        packData.ItemData = PlayerViewCache.GetItemData(curCache)
         packData.ItemDataSize = len(packData.ItemData)
         NetPackCommon.SendFakePack(curPlayer, packData)
         return
@@ -473,8 +472,9 @@
         #第一积分奖励
         if topScorePlayerID:
             topScoreAward = IpyGameDataPY.GetFuncEvalCfg('XMZZAward', 2)
-            PlayerCompensation.SendMailByKey('XMZZTopScore', [topScorePlayerID], topScoreAward, [topScore])
-            SavePKRecord('XMZZ_FirstPlace', [self.XMZZTopPlayerName, self.XMZZTopScore], False)
+            if topScoreAward:
+                PlayerCompensation.SendMailByKey('XMZZTopScore', [topScorePlayerID], topScoreAward, [topScore])
+                SavePKRecord('XMZZ_FirstPlace', [self.XMZZTopPlayerName, self.XMZZTopScore], False)
         
         #押注奖励
         self.BetOverLogic()
@@ -482,7 +482,7 @@
         #阵营奖励
         winAward = IpyGameDataPY.GetFuncEvalCfg('XMZZAward', 3)
         LoseAward = IpyGameDataPY.GetFuncEvalCfg('XMZZAward', 4)
-        dogfallAward = IpyGameDataPY.GetFuncEvalCfg('XMZZAward', 5)
+        dogfallAward = IpyGameDataPY.GetFuncCfg('XMZZAward', 5)
         result = self.GetXMZZCurResult()
         if result == Faction_1:
             SavePKRecord('XMZZ_Victory', [result], True)          
@@ -500,7 +500,6 @@
                 SavePKRecord('XMZZ_Draw', [], True)
                 
                 PlayerCompensation.SendMailByKey('XMZZDogfall', Faction_2_IDList + Faction_1_IDList, [], goldPaper=dogfallAward)
-                #PlayerControl.MergeWorldNotify(0, '', [])
         
         PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_XMZZIsOver, 1)
         self.NotifyXMZZInfo()
@@ -627,11 +626,15 @@
     isRobotNPC = True
     pkDataDict = {}
     conWinCnt = XMZZPlayerDict[myPlayerID].ConWinCnt #参数
-    XMZZSpecialNPCRate = eval(IpyGameDataPY.GetFuncCfg('XMZZSpecialNPCRate'))
+    XMZZSpecialNPCRate = eval(IpyGameDataPY.GetFuncCompileCfg('XMZZSpecialNPCRate'))
+    XMZZSuperNPCRate = eval(IpyGameDataPY.GetFuncCompileCfg('XMZZSpecialNPCRate', 2))
     XMZZNPCByLVPowerList = IpyGameDataPY.GetFuncEvalCfg('XMZZPKPowerRange', 2)
     isByLVPower = conWinCnt + 1 in XMZZNPCByLVPowerList #是否按等级表战力来随机范围
+    if GameWorld.CanHappen(XMZZSuperNPCRate):
+        GameWorld.DebugLog('    筛选对手  超级机器人 XMZZSuperNPCRate=%s' % (XMZZSuperNPCRate))
+        pkPlayerID = 2
     
-    if not isByLVPower and GameWorld.CanHappen(XMZZSpecialNPCRate):
+    elif not isByLVPower and GameWorld.CanHappen(XMZZSpecialNPCRate):
         GameWorld.DebugLog('    筛选对手  高级机器人 XMZZSpecialNPCRate=%s' % (XMZZSpecialNPCRate))
         #机器人ID规则: ID从0~n, n不大于机器人ID列表长度, ID越大机器人越高级,根据策划需求自增
         #高级机器人
@@ -677,7 +680,7 @@
                 power = propDataDict.get('FightPower', 0)
                 g_playerPowerDict[playerID] = power
             
-            pkDataDict[playerID] = [curCache.GetPropData(), curCache.GetItemData()]
+            pkDataDict[playerID] = [curCache.GetPropData(), itemData]
             #GameWorld.DebugLog('    筛选对手 playerID=%s,power=%s' % (playerID, power))
             if minPower1 < power < myPower:
                 underList1.append(playerID)
@@ -689,7 +692,7 @@
                 aboveList2.append(playerID)
         GameWorld.DebugLog('    筛选对手 myPower=%s,underList1=%s, aboveList1=%s,underList2=%s, aboveList2=%s' % (myPower, underList1, aboveList1, underList2, aboveList2), myPlayerID)
 
-        if conWinCnt % 5 == 0: #每5个匹配战力低的对手
+        if conWinCnt % 5 == 0 or conWinCnt <= IpyGameDataPY.GetFuncCfg('XMZZPKPowerRange', 3): #每5个匹配战力低的对手
             if underList1:
                 pkPlayerID = underList1[0]
             elif underList2:

--
Gitblit v1.8.0