From f97b6ae94c6acdaacf6adf140416df901d1caf6c Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 15 四月 2019 11:56:41 +0800
Subject: [PATCH] 6515 【测试】【主干】新增游戏警报邮件
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py | 45 +++++++++++++++++++++++++++++----------------
1 files changed, 29 insertions(+), 16 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py
index 472774c..8a91e67 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py
@@ -44,7 +44,8 @@
(
Def_BossTime, #BOSS时间
Def_LeaveTime, #离开时间
- ) = range(2)
+ Def_HPSpeed, #掉血速度公式
+ ) = range(3)
#当前副本地图的状态
(
@@ -150,17 +151,16 @@
if not hadDelTicket:
FBCommon.SetHadDelTicket(curPlayer)
FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_AllFamilyBoss, 1)
- if lineID == 0:
- PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_FamilyBoss1, 1)
- else:
- PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_FamilyBoss2, 1)
+
+ PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_FamilyBoss1, 1)
+
if fbStep == FB_Step_Open:
FBCommon.SetFBStep(FB_Step_Fighting, tick)
EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_AllFamilyBoss, 0, ChConfig.CME_Log_Start)
- if fbStep >= FB_Step_Over:
- PlayerControl.PlayerLeaveFB(curPlayer)
- return
+ if fbStep >= FB_Step_Over:
+ PlayerControl.PlayerLeaveFB(curPlayer)
+ return
if familyID not in PyGameData.g_allfamilyBossDict:
PyGameData.g_allfamilyBossDict[familyID] = [curPlayer.GetFamilyName(), 0, [playerID]]
@@ -441,8 +441,8 @@
curPlayer = playerManager.GetPlayerByIndex(index)
if not curPlayer:
continue
- member.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTick, True)
- FBCommon.NotifyFBOver(member, ChConfig.Def_FBMapID_AllFamilyBoss, lineID, isPass)
+ curPlayer.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTick, True)
+ FBCommon.NotifyFBOver(curPlayer, ChConfig.Def_FBMapID_AllFamilyBoss, lineID, isPass)
return
@@ -450,6 +450,7 @@
def __GetFamilyBossAward(rank, worldLV):
familyAuctionItemList, menberItemList = [], []
awardRateList = []
+ awardPieRateDict = {}
ipyMgr = IpyGameDataPY.IPY_Data()
for i in xrange(ipyMgr.GetFamilyBossAwardCount()):
ipyData = ipyMgr.GetFamilyBossAwardByIndex(i)
@@ -459,8 +460,9 @@
rankList = ipyData.GetRank()
if rank < rankList[0] or rank > rankList[1]:
continue
- awardRateList = ipyData.GetAward()
- if not awardRateList:
+ awardRateList = ipyData.GetAward1()
+ awardPieRateDict = ipyData.GetAward2()
+ if not awardRateList and not awardPieRateDict:
GameWorld.ErrLog('仙盟Boss奖励表 未配置该奖励 rank=%s,worldLV=%s' % (rank, worldLV))
return familyAuctionItemList, menberItemList
for rate, itemInfo in awardRateList:
@@ -473,6 +475,16 @@
familyAuctionItemList.append(itemInfo)
else:
menberItemList.append(itemInfo)
+ for doCnt, awardPieRateList in awardPieRateDict.items():
+ for _ in xrange(doCnt):
+ resultItem = GameWorld.GetResultByRandomList(awardPieRateList)
+ if len(resultItem) != 3:
+ GameWorld.ErrLog('仙盟Boss奖励表配置错误 itemInfo=%s' % resultItem)
+ continue
+ if resultItem[2]:
+ familyAuctionItemList.append(resultItem)
+ else:
+ menberItemList.append(resultItem)
return familyAuctionItemList, menberItemList
@@ -504,7 +516,7 @@
lineID = GameWorld.GetGameWorld().GetPropertyID() - 1
bossID = CurFBLineBOSSID(lineID)
msgMark = 'AllianceBossHP1' if lineID == 0 else 'AllianceBossHP2'
- PlayerControl.WorldNotify(0, msgMark, [bossID, remainPer])
+ PlayerControl.WorldNotify(0, msgMark, [bossID, notifyHPPer])
return
@@ -518,8 +530,9 @@
lineID = GameWorld.GetGameWorld().GetPropertyID() - 1
if lineID < 0:
return
-
- curSpeed = int(min(1 + 0.08 * (playerCnt - 1), 1.8) * 1000)
+
+
+ curSpeed = eval(FBCommon.GetFBLineStepTime(ChConfig.Def_FBMapID_AllFamilyBoss, lineID)[Def_HPSpeed])
gameWorld.SetGameWorldDict(FBDict_Speed, curSpeed)
if not gameWorld.GetGameWorldDictByKey(FBDict_IsReduceing):
return
@@ -590,7 +603,7 @@
remainHP = GetBossRemainHP(tick)
totalHP = __GetBossTotalHP()
if not totalHP:
- return 0
+ return 100
return remainHP * 100 / totalHP
--
Gitblit v1.8.0