From 4815a9626bce7740bb867f056f9694c4c2f858c9 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 16 四月 2019 17:29:24 +0800
Subject: [PATCH] 860312 增加锁定模式 - 只对选中目标造成伤害,适用于部分BOSS争夺副本

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_TrialTower.py |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_TrialTower.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_TrialTower.py
index 1ff0067..4b58473 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_TrialTower.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_TrialTower.py
@@ -34,10 +34,13 @@
 import PlayerSuccess
 import PlayerActivity
 import PlayerBillboard
+import PlayerWeekParty
+import PlayerActLogin
 import EventReport
 
 import random
 import math
+import PlayerBossReborn
 
 g_runeTypeDict = {}
 FBDict_Level = 'FBDict_Level'   # 副本关卡
@@ -102,6 +105,7 @@
     #通关符印塔成就
     PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_PassRuneTower, 1, [passlv])
     PlayerBillboard.UpdateRuneTowerBillboard(curPlayer)
+    PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Tower, passlv, False, True)
     GameWorld.DebugLog(' 更新符印塔已通关数 %s' % passlv)
     return
 
@@ -395,7 +399,7 @@
         GameWorld.DebugLog("背包空间不够,发送邮件: mailItemList=%s" % str(prizeItemList), curPlayer.GetPlayerID())
     else:
         for itemID, itemCnt, isBind in prizeItemList:
-            ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [ShareDefine.rptRune],
+            ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [ShareDefine.rptRune],
                                             event=["RuneTower", False, {}])
                 
     moneyDict = {ShareDefine.TYPE_Price_Rune:addJH, ShareDefine.TYPE_Price_Ysog:RuneMagicEssence}
@@ -408,7 +412,7 @@
 
 def __GetEndAward(curPlayer, fbLevel):
     #结算奖励
-    giveItemCountRateList = IpyGameDataPY.GetFuncEvalCfg('RuneAwardCntRate')
+    giveItemCountRateList = GameWorld.GetDictValueByRangeKey(IpyGameDataPY.GetFuncEvalCfg('RuneAwardCntRate', 1, {}), fbLevel, [])
     giveItemCount = GameWorld.GetResultByRandomList(giveItemCountRateList)
     if not giveItemCount:
         return []
@@ -419,7 +423,7 @@
     InitRuneTypeColorInfo(curPlayer)
     
     giveItemList = []
-    runeColorRateDict = IpyGameDataPY.GetFuncEvalCfg('RuneAwardColor')
+    runeColorRateDict = GameWorld.GetDictValueByRangeKey(IpyGameDataPY.GetFuncEvalCfg('RuneAwardColor', 1, {}), fbLevel, {})
     for _ in xrange(giveItemCount):
         giveRuneType = random.choice(runeTypeList)
         
@@ -568,8 +572,8 @@
     giveRuneYsogDict = {}
     giveRunePoint = 0
     giveRuneYsog = 0
-    giveItemCountRateList = IpyGameDataPY.GetFuncEvalCfg('RuneAwardCntRate', 2)
-    runeColorRateDict = IpyGameDataPY.GetFuncEvalCfg('RuneAwardColor')
+    
+    
     ipyDataMgr = IpyGameDataPY.IPY_Data()
     for i in xrange(ipyDataMgr.GetRuneTowerCount()):
         ipyData = ipyDataMgr.GetRuneTowerByIndex(i)
@@ -582,14 +586,14 @@
         giveRunePoint += ipyData.GetSweepRunePoint()
         giveRuneYsogDict[floor] = giveRuneYsogDict.get(floor, 0) + ipyData.GetSweepYsog()
         giveRuneYsog += ipyData.GetSweepYsog()
-        
+        giveItemCountRateList = GameWorld.GetDictValueByRangeKey(IpyGameDataPY.GetFuncEvalCfg('RuneAwardCntRate', 2, {}), towerLV, [])
         giveItemCount = GameWorld.GetResultByRandomList(giveItemCountRateList)
         if not giveItemCount:
             continue
         runeTypeList = GetRuneTypeByTowerLV(towerLV)
         if not runeTypeList:
             continue
-        
+        runeColorRateDict = GameWorld.GetDictValueByRangeKey(IpyGameDataPY.GetFuncEvalCfg('RuneAwardColor', 2, {}), towerLV, {})
         for _ in xrange(giveItemCount):
             giveRuneType = random.choice(runeTypeList)
             
@@ -643,7 +647,7 @@
         GameWorld.DebugLog("背包空间不够,发送邮件: mailItemList=%s" % str(giveItemList), curPlayer.GetPlayerID())
     else:
         for itemID, itemCnt, isBind in giveItemList:
-            ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [ShareDefine.rptRune],
+            ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [ShareDefine.rptRune],
                                             event=["RuneTowerSD", False, {}])
     overDict = {FBCommon.Over_isSweep:1, FBCommon.Over_dataMapID:ChConfig.Def_FBMapID_TrialTower,
                 "SDTowerItem":jsonItemDict, "SDTowerPoint":giveRunePointDict, "SDTowerYsog":giveRuneYsogDict}
@@ -651,4 +655,7 @@
     FBCommon.Notify_FB_Over(curPlayer, overDict)
     #成就
     PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_TowerSD, 1)
+    #BOSS复活活动
+    PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_TowerSweep, 1)
+    PlayerActLogin.AddLoginAwardActionCnt(curPlayer, ChConfig.Def_LoginAct_TowerSweep, 1)
     return True
\ No newline at end of file

--
Gitblit v1.8.0