From 8991be83970f03f8f4baad83767f27586da0eafd Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 20 四月 2019 10:13:44 +0800
Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(按时间掉血的NPC扣血公式调整)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_TrialTower.py |   20 ++++++++++++--------
 1 files changed, 12 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 752effe..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,6 +34,8 @@
 import PlayerSuccess
 import PlayerActivity
 import PlayerBillboard
+import PlayerWeekParty
+import PlayerActLogin
 import EventReport
 
 import random
@@ -103,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
 
@@ -396,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}
@@ -409,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 []
@@ -420,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)
         
@@ -569,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)
@@ -583,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)
             
@@ -644,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}
@@ -654,4 +657,5 @@
     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