From 5c4ea9b4fd7f98d82e64878a5ce29d5747506f8c Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 24 一月 2019 14:08:09 +0800
Subject: [PATCH] 5924 【后端】【1.5.100】诛仙Boss功能(2秒不打,停止掉血)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ChaosDemon.py | 30 ++++++++++++++++++++++--------
1 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ChaosDemon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ChaosDemon.py
index 636c4ef..e25fdf0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ChaosDemon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ChaosDemon.py
@@ -30,7 +30,9 @@
import ShareDefine
import ItemCommon
import PlayerSuccess
+import FBHelpBattle
import EventReport
+import PlayerWeekParty
import math
@@ -161,7 +163,7 @@
FBCommon.AddEnterFBCount(curPlayer, mapID, 1)
joinType = FBCommon.GetFBJoinType(curPlayer, isHelpFight)
EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_ChaosDemon, 0, ChConfig.CME_Log_Start, joinType)
-
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_ChaosDemon, 1)
fbStep = gameFB.GetFBStep()
if fbStep <= FB_Step_Prepare:
@@ -174,7 +176,8 @@
curPlayer.Sync_TimeTick(IPY_GameWorld.tttTowerTake, 0, max(notify_tick, 0), True)
__UpdChaosDemonFBStar(tick, True, curPlayer)
- DoFBHelp(curPlayer, tick)
+ FBHelpBattle.RefershTeamFBMemRelation(tick)
+ #DoFBHelp(curPlayer, tick)
return
## 诅咒城堡刷怪
@@ -219,6 +222,9 @@
# @return 返回值无意义
def DoExitFB(curPlayer, tick):
GameWorld.DebugLog("ChaosDemon DoExitFB...", curPlayer.GetPlayerID())
+ fbStep = GameWorld.GetGameFB().GetFBStep()
+ if fbStep <= FB_Step_Fight:
+ FBHelpBattle.RefershTeamFBMemRelation(tick, curPlayer.GetPlayerID())
return
##玩家主动离开副本.
@@ -278,6 +284,7 @@
# 间隔未到
if tick - GameWorld.GetGameFB().GetFBStepTick() < fbCfg[Def_PrepareTime] * 1000:
return
+ FBHelpBattle.RefershTeamFBMemRelation(tick)
__RefreshChaosDemonNextNPC()
playerManager = GameWorld.GetMapCopyPlayerManager()
for i in range(playerManager.GetPlayerCount()):
@@ -336,7 +343,7 @@
# cnt = int(itemCnt*rate/100)
# if cnt:
prizeItemList.append([itemID, itemCnt, 1])
-
+ prizeItemList += IpyGameDataPY.GetFuncEvalCfg('ChaosDemonReward', 4, {}).get(star, [])
exitTime = FBCommon.GetFBLineStepTime(mapID)[Def_ExitTime] * 1000
playerManager = GameWorld.GetMapCopyPlayerManager()
playerCount = playerManager.GetPlayerCount()
@@ -350,9 +357,9 @@
FBCommon.Notify_FB_Over(curPlayer, {FBCommon.Over_isPass: 0})
continue
overDict = {FBCommon.Over_grade:star,FBCommon.Over_dataMapID:mapID,FBCommon.Over_isPass:int(isPass), FBCommon.Over_costTime:costTime}
- #增加助战积分
+ isHelp = False
if FBCommon.GetIsHelpFight(curPlayer):
- FBCommon.AddFBHelpPoint(curPlayer, mapID, 1)
+ isHelp = True
else:
#给奖励
needSpace = len(prizeItemList)
@@ -374,7 +381,10 @@
expPoint = addExp / ChConfig.Def_PerPointValue
overDict[FBCommon.Over_exp] = exp
overDict[FBCommon.Over_expPoint] = expPoint
-
+
+ addXianyuanCoin, reason = FBHelpBattle.DoFBAddXianyuanCoin(curPlayer, mapID, 0, isHelp)
+ overDict[FBCommon.Over_xianyuanCoin] = [addXianyuanCoin, reason]
+
FBCommon.Notify_FB_Over(curPlayer, overDict)
#成就
PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_ChaosDemon, 1, [playerCount, star])
@@ -507,6 +517,7 @@
# @return 无意义
# @remarks 用于通知阵营比分条
def DoFBHelp(curPlayer, tick):
+ playerID = curPlayer.GetPlayerID()
gameFB = GameWorld.GetGameFB()
star = gameFB.GetGameFBDictByKey(ChaosDemon_FBStar)
wheelNum = gameFB.GetGameFBDictByKey(ChaosDemon_FBNextRefreshStep)
@@ -515,9 +526,12 @@
KillNPCCnt = max(0, needKillCnt - remainNPCCnt)
data = [KillNPCCnt, needKillCnt]
lineID = FBCommon.GetFBPropertyMark()
- fbHelpDict = {FBCommon.Help_step:wheelNum, FBCommon.Help_grade:star, FBCommon.Help_npcTotal:KillNPCCnt, FBCommon.Help_lineID:lineID}
-
+ isHelp = FBCommon.GetIsHelpFight(curPlayer)
+ helpCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FBRealHelpCount % ChConfig.Def_FBMapID_ChaosDemon)
+ fbHelpDict = {FBCommon.Help_step:wheelNum, FBCommon.Help_grade:star, FBCommon.Help_npcTotal:KillNPCCnt, FBCommon.Help_lineID:lineID,
+ FBCommon.Help_isHelp:isHelp, FBCommon.Help_helpCount:helpCount, FBCommon.Help_relation:FBHelpBattle.GetTeamFBMemRelationInfo(playerID)}
FBCommon.Notify_FBHelp(curPlayer, fbHelpDict)
+ GameWorld.DebugLog("DoFBHelp %s" % str(fbHelpDict), playerID)
return
--
Gitblit v1.8.0