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