From 0c27822ef5e6c67782ed143a4ff03ecfbdfda1fb Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 23 五月 2022 16:52:58 +0800
Subject: [PATCH] 9415 【BT】【后端】古神战场(副本内功能完整版本)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CrossBattle.py |   85 ++++++++++++++++++------------------------
 1 files changed, 37 insertions(+), 48 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CrossBattle.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CrossBattle.py
index 6fe7508..cf66546 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CrossBattle.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CrossBattle.py
@@ -30,11 +30,12 @@
     
     if not cmdList:
         GameWorld.DebugAnswer(curPlayer, "--------------------------------")
-        GameWorld.DebugAnswer(curPlayer, "设置玩家击杀: CrossBattle 1 击杀数 [可选玩家ID]")
-        GameWorld.DebugAnswer(curPlayer, "设置玩家积分: CrossBattle 2 总积分 [可选玩家ID]")
-        GameWorld.DebugAnswer(curPlayer, "设置阵营击杀: CrossBattle 3 击杀数 [可选阵营ID]")
+        GameWorld.DebugAnswer(curPlayer, "设置玩家积分: CrossBattle 1 总积分 [可选玩家ID]")
+        GameWorld.DebugAnswer(curPlayer, "设置玩家击杀: CrossBattle 2 击杀数 [可选玩家ID]")
+        GameWorld.DebugAnswer(curPlayer, "设置玩家贡献: CrossBattle 3 贡献度 [可选玩家ID]")
         GameWorld.DebugAnswer(curPlayer, "设置阵营积分: CrossBattle 4 总积分 [可选阵营ID]")
-        GameWorld.DebugAnswer(curPlayer, "重置大奖信息: CrossBattle 5 [可选是否重新随机]")
+        GameWorld.DebugAnswer(curPlayer, "重新随机大奖: CrossBattle 5")
+        GameWorld.DebugAnswer(curPlayer, "复活阵营守卫: CrossBattle 6")
         GameWorld.DebugAnswer(curPlayer, "可选玩家/阵营ID没填则默认自身")
         return
     
@@ -45,38 +46,35 @@
     if value1 in [1, 2, 3, 4, 5, 6] and not GameWorld.IsCrossServer() or mapID != ChConfig.Def_FBMapID_CrossBattlefield:
         GameWorld.DebugAnswer(curPlayer, "该命令需在跨服战场使用CrossServer发送")
         return
-    
-    # 设置玩家击杀
-    if value1 == 1:
-        setCount = cmdList[1] if len(cmdList) > 1 else 1
-        tagPlayerID = cmdList[2] if len(cmdList) > 2 else playerID
-        battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(tagPlayerID)
-        battleObj.killCount = setCount
-        GameWorld.DebugAnswer(curPlayer, "玩家(%s)击杀数: %s" % (tagPlayerID, battleObj.killCount))
-        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshFactionPlayer) # 触发刷新FBHelp
-        return
-    
+        
     # 设置玩家积分
-    if value1 == 2:
+    if value1 == 1:
         setScore = cmdList[1] if len(cmdList) > 1 else 1
         tagPlayerID = cmdList[2] if len(cmdList) > 2 else playerID
         battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(tagPlayerID)
-        battleObj.score = setScore
+        battleObj.addPlayerScore(curPlayer, setScore - battleObj.score)
         GameWorld.DebugAnswer(curPlayer, "玩家(%s)积分: %s" % (tagPlayerID, battleObj.score))
-        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshFactionPlayer) # 触发刷新FBHelp
+        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshCrossBattlefield) # 触发刷新FBHelp
         return
     
-    # 设置阵营击杀
-    if value1 == 3:
+    # 设置玩家击杀
+    if value1 == 2:
         setCount = cmdList[1] if len(cmdList) > 1 else 1
-        tagFaction = cmdList[2] if len(cmdList) > 2 else 0
-        if not tagFaction or tagFaction not in ShareDefine.CampTypeList:
-            battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(playerID)
-            tagFaction = battleObj.faction
-        factionObj = GameLogic_CrossBattlefield.GetBattleFactionObj(tagFaction)
-        factionObj.killCount = setCount
-        GameWorld.DebugAnswer(curPlayer, "阵营(%s)击杀数: %s" % (tagFaction, factionObj.killCount))
-        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshFactionPlayer) # 触发刷新FBHelp
+        tagPlayerID = cmdList[2] if len(cmdList) > 2 else playerID
+        battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(tagPlayerID)
+        battleObj.addKillCount(setCount - battleObj.killCount)
+        GameWorld.DebugAnswer(curPlayer, "玩家(%s)击杀数: %s, 连杀数: %s" % (tagPlayerID, battleObj.killCount, battleObj.continueKillCount))
+        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshCrossBattlefield) # 触发刷新FBHelp
+        return
+    
+    # 设置玩家贡献度
+    if value1 == 3:
+        setProgress = cmdList[1] if len(cmdList) > 1 else 1
+        tagPlayerID = cmdList[2] if len(cmdList) > 2 else playerID
+        battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(tagPlayerID)
+        battleObj.addSuperItemContribution(setProgress - battleObj.superItemContribution)
+        GameWorld.DebugAnswer(curPlayer, "玩家(%s)贡献度: %s" % (tagPlayerID, battleObj.superItemContribution))
+        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshCrossBattlefield) # 触发刷新FBHelp
         return
     
     # 设置阵营积分
@@ -87,32 +85,23 @@
             battleObj = GameLogic_CrossBattlefield.GetBattlePlayerObj(playerID)
             tagFaction = battleObj.faction
         factionObj = GameLogic_CrossBattlefield.GetBattleFactionObj(tagFaction)
-        factionObj.score = setScore
+        factionObj.addFactionScore(setScore - factionObj.score)
         GameWorld.DebugAnswer(curPlayer, "阵营(%s)积分: %s" % (tagFaction, factionObj.score))
-        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshFactionPlayer) # 触发刷新FBHelp
+        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshCrossBattlefield) # 触发刷新FBHelp
         return
     
     # 重置大奖信息
     if value1 == 5:
-        isRand = cmdList[1] if len(cmdList) > 1 else 1
         worldObj = GameLogic_CrossBattlefield.GetBattleWorld()
-        worldObj.superItemPlayerID = 0
-        worldObj.superItemPlayerName = ""
-        if isRand:
-            worldObj.RandSuperTask()
-        for faction in ShareDefine.CampTypeList:
-            if not faction:
-                continue
-            factionObj = GameLogic_CrossBattlefield.GetBattleFactionObj(faction)
-            factionObj.superTaskValue = 0
-            factionObj.superTaskFinishCount = 0
-            factionObj.setSuperTaskValueMax(worldObj)
-            for battleObj in factionObj.factionPlayerDict.values():
-                battleObj.superTaskValue = 0
-                battleObj.superTaskFinishCount = 0
-                battleObj.setSuperTaskValueMax(worldObj)
-        GameWorld.DebugAnswer(curPlayer, "重置大奖信息OK!")
-        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshFactionPlayer) # 触发刷新FBHelp
+        worldObj.RandSuperTask()
+        GameWorld.DebugAnswer(curPlayer, "重新随机大奖OK! %s" % worldObj.superItemInfo)
+        FBCommon.NotifyCopyMapPlayerFBHelp(tick, GameLogic_CrossBattlefield.DoFBHelp, 0, GameLogic_CrossBattlefield.refreshCrossBattlefield) # 触发刷新FBHelp
+        return
+    
+    # 复活阵营守卫
+    if value1 == 6:
+        rebornNPCIDList = GameLogic_CrossBattlefield.rebornGurad()
+        GameWorld.DebugAnswer(curPlayer, "复活阵营守卫! %s" % rebornNPCIDList)
         return
     
     return

--
Gitblit v1.8.0