From 8d37b77678ea5dc0703354a6daaa1207ce6e8be3 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 28 六月 2019 21:56:45 +0800
Subject: [PATCH] 7661 【后端】【主干】屏蔽多余日志输出(非拍品转拍品ErrLog改DebugLog,重刷传奇属性ErrLog改DebugLog)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py | 51 +++++++++++++++++++++++++++++++++++----------------
1 files changed, 35 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 f3fc7f6..55ba478 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
@@ -28,20 +28,21 @@
import NPCCustomRefresh
import PlayerAuctionHouse
import ItemControler
+import PlayerWeekParty
import PlayerActivity
+import NPCCommon
import EventReport
import GameObj
FBPlayerDict_EncourageLV = 'FBPlayerDict_EncourageLV' # 鼓舞等级
FBDict_IsOver = 'FBDict_IsOver' #是否已结算, 结算时的tick
-FBDict_IsEncourage = 'FBDict_IsEncourage' #是否鼓舞过
-
+FBDict_EncourageCnt = 'FBDict_EncourageCnt' #鼓舞过次数
+Map_FB_StartTick = 'Map_FB_StartTick' #活动开始时间
(
Def_BossTime, #BOSS时间
Def_LeaveTime, #离开时间
- Def_HPSpeed, #掉血速度公式
- ) = range(3)
+ ) = range(2)
#当前副本地图的状态
(
@@ -120,13 +121,23 @@
if mapID != ChConfig.Def_FBMapID_AllFamilyBoss:
return
GameWorld.DebugLog(' 多仙盟BOSS活动状态变更 state=%s' % state)
-
- if not state:
+
+ if state:
+ if not GameWorld.GetGameWorld().GetGameWorldDictByKey(Map_FB_StartTick):
+ GameWorld.GetGameWorld().SetGameWorldDict(Map_FB_StartTick, tick)
+ else:
+ GameWorld.GetGameWorld().SetGameWorldDict(Map_FB_StartTick, 0)
if not GameWorld.GetGameFB().GetGameFBDictByKey(FBDict_IsOver):
GameWorld.GetGameFB().SetGameFBDict(FBDict_IsOver, tick)
- __DoLogicAllFamilyBossOver(0, tick)
+ __DoLogicAllFamilyBossOver(0, tick, 0, 0)
return
+def __GetRemainTick(tick):
+ ##活动剩余毫秒
+ mapID = GameWorld.GetMap().GetMapID()
+ startTick = GameWorld.GetGameWorld().GetGameWorldDictByKey(Map_FB_StartTick)
+ closeFB_RemainTick = max(0, FBCommon.GetFBLineStepTime(mapID)[Def_BossTime] * 1000 - (tick - startTick))
+ return closeFB_RemainTick
## 进副本
# @param curPlayer
@@ -148,6 +159,7 @@
PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_FamilyBoss1, 1)
PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_FamilyBoss, 1)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_FamilyBoss, 1)
if fbStep == FB_Step_Open:
FBCommon.SetFBStep(FB_Step_Fighting, tick)
@@ -168,7 +180,9 @@
FBCommon.AddFbEncourageBuff(curPlayer, FBPlayerDict_EncourageLV, tick, familyID)
else:
FBCommon.SendFBEncourageInfo(curPlayer, encourageLV, familyID)
-
+
+ closeFB_RemainTick = __GetRemainTick(tick)
+ curPlayer.Sync_TimeTick(IPY_GameWorld.tttTowerTake, 0, closeFB_RemainTick, True)
DoFBHelp(curPlayer, tick)
return
@@ -253,7 +267,7 @@
hurtInfo.append(hurtDict)
remainHPPer = GetBossRemainHPPer(0, tick)
playerID = curPlayer.GetPlayerID()
- IsEncourage = GameWorld.GetGameFB().GetPlayerGameFBDictByKey(playerID, FBDict_IsEncourage)
+ IsEncourage = GameWorld.GetGameFB().GetPlayerGameFBDictByKey(playerID, FBDict_EncourageCnt)
fbHelpDict = {"hurtInfo":hurtInfo, 'IsEncourage':IsEncourage,'remainHPPer':remainHPPer,
'myHurt':myHurt % ChConfig.Def_PerPointValue,
'myHurtEx':myHurt / ChConfig.Def_PerPointValue, 'myRank':myRank, 'myMenberCnt':myMenberCnt
@@ -273,15 +287,18 @@
if actionType == 0:
playerID = curPlayer.GetID()
gameFB = GameWorld.GetGameFB()
- if gameFB.GetPlayerGameFBDictByKey(playerID, FBDict_IsEncourage):
- GameWorld.DebugLog('只能鼓舞一次!', playerID)
+ maxEncourageCnt = IpyGameDataPY.GetFuncCfg('LeagueBOSSReward1', 2)
+ curEncourageCnt = gameFB.GetPlayerGameFBDictByKey(playerID, FBDict_EncourageCnt)
+ if curEncourageCnt >= maxEncourageCnt:
+ GameWorld.DebugLog('只能鼓舞%s次!'%maxEncourageCnt, playerID)
return
if FBCommon.FbEncourageBuff(curPlayer, FBPlayerDict_EncourageLV, actionInfo, tick, curPlayer.GetFamilyID()):
- gameFB.SetPlayerGameFBDict(playerID, FBDict_IsEncourage, 1)
+ gameFB.SetPlayerGameFBDict(playerID, FBDict_EncourageCnt, curEncourageCnt+1)
#给鼓舞奖励
itemList = IpyGameDataPY.GetFuncEvalCfg('LeagueBOSSReward1')
giveItemList = [[itemID, itemCnt, 0] for itemID, itemCnt in itemList]
ItemControler.GivePlayerItemOrMail(curPlayer, giveItemList)
+ DoFBHelp(curPlayer, tick)
return
@@ -343,7 +360,7 @@
return playerHurtList
-def __DoLogicAllFamilyBossOver(isPass, tick):
+def __DoLogicAllFamilyBossOver(isPass, tick, dropPosX, dropPosY):
#结算
FBCommon.SetFBStep(FB_Step_Over, tick)
msgStr = str([])
@@ -365,6 +382,7 @@
batchPlayerIDList, batchAddItemList, batchParamList, batchDetailList = [], [], [], []
event = ["AllFamilyBoss", False, {}]
needMemberCnt = IpyGameDataPY.GetFuncCfg('LeagueBOSSNumber1')
+ bossID = CurFBLineBOSSID(lineID)
for rank, hurtInfo in enumerate(playerHurtList, 1):
familyID = hurtInfo[0]
memberIDList = hurtInfo[1][2]
@@ -384,7 +402,8 @@
member = playerManager.FindPlayerByID(memberID)
if member:
if menberItemList:
- ItemControler.GivePlayerItemOrMail(member, menberItemList, 'LeagueBOSS1', event)
+ NPCCommon.DoGiveItemByVirtualDrop(member, menberItemList, bossID, dropPosX, dropPosY, mailTypeKey='LeagueBOSS1')
+ #ItemControler.GivePlayerItemOrMail(member, menberItemList, 'LeagueBOSS1', event)
member.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTick, True)
FBCommon.NotifyFBOver(member, ChConfig.Def_FBMapID_AllFamilyBoss, lineID, isPass, overDict)
elif menberItemList:
@@ -475,8 +494,8 @@
GameWorld.DebugLog('结束 设置BOSS死亡')
GameWorld.GetGameFB().SetGameFBDict(FBDict_IsOver, tick)
-
- __DoLogicAllFamilyBossOver(1, tick)
+ dropPosX, dropPosY = curNPC.GetPosX(), curNPC.GetPosY()
+ __DoLogicAllFamilyBossOver(1, tick, dropPosX, dropPosY)
return
--
Gitblit v1.8.0