From 7ed0e73dddba3e791e6c45f05a5dfa8edb28209f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 02 八月 2024 16:16:00 +0800
Subject: [PATCH] 10229 【越南】【主干】【港台】【砍树】古神战场修改(增加功能组队系统;古神支持组队进入,组队参与可增加原当被召集人成就146;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py
index 34bcf6e..d901547 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py
@@ -25,6 +25,7 @@
 import GameWorldProcess
 import NPCCustomRefresh
 import DataRecordPack
+import PlayerFuncTeam
 import PlayerControl
 import ShareDefine
 import SkillCommon
@@ -892,6 +893,17 @@
     if callFaction:
         faction = callFaction # 召集阵营为固定阵营
         
+    # 队伍同阵营
+    teamID = PlayerFuncTeam.GetPlayerTeamID(playerID, ChConfig.Def_FBMapID_CrossBattlefield)
+    if not faction and teamID:
+        memIDList = PlayerFuncTeam.GetMemberIDList(teamID)
+        for memID in memIDList:
+            memBattleObj = GetBattlePlayerObj(memID)
+            if memBattleObj.faction:
+                faction = memBattleObj.faction
+                GameWorld.Log("与队友同一阵营! playerID=%s,teamID=%s,faction=%s,memIDList=%s" % (playerID, teamID, faction, memIDList), fbPropertyID)
+                break
+            
     if not faction:
         jFactionObj = GetBattleFactionObj(ShareDefine.CampType_Justice)
         eFactionObj = GetBattleFactionObj(ShareDefine.CampType_Evil)
@@ -1762,6 +1774,7 @@
             
             isCallOpen = 1 if playerID in worldObj.callOpenPlayerInfo else 0 # 是否召集进入的
             isCalled = 1 if (playerID in allCallPlayerIDList and not isCallOpen) else 0 # 是否被召集的
+            teamID = PlayerFuncTeam.GetPlayerTeamID(playerID, ChConfig.Def_FBMapID_CrossBattlefield)
             killCnt, ckillCntInfo, killBossCnt, killScoreKing, killGuardCnt, auraScore, superItemAwardCnt, \
                 factionBuffCollCnt, personBuffCollCnt, crystalCollCnt, wallCollCnt = \
                 battleObj.killCount, battleObj.ckillCntInfo, battleObj.killBossCnt, battleObj.killScoreKing, battleObj.killGuardCnt, \
@@ -1769,13 +1782,13 @@
                 battleObj.crystalCollCnt, battleObj.wallCollCnt
                 
             playerInfo = [playerID, job, realmLV, name,
-                          isWinner, faction, rank, score, highScoreToday, highScoreWeekTotal, enterCountWeek,
+                          isWinner, faction, rank, score, highScoreToday, highScoreWeekTotal, enterCountWeek, teamID,
                           isCallOpen, isCalled, killCnt, ckillCntInfo, killBossCnt, killScoreKing, killGuardCnt, auraScore, superItemAwardCnt,
                           factionBuffCollCnt, personBuffCollCnt, crystalCollCnt, wallCollCnt]
             battlePlayerList.append(playerInfo)
             
             drPlayerList.append({"playerID":playerID, "accID":battleObj.accID, "fightPower":battleObj.fightPower,
-                                 "score":score, "auraScore":auraScore, "wallCollCnt":wallCollCnt,
+                                 "score":score, "auraScore":auraScore, "wallCollCnt":wallCollCnt, "teamID":teamID,
                                  "superItemAwardCnt":superItemAwardCnt, "superItemContribution":battleObj.superItemContribution})
             
             player = copyMapMgr.FindPlayerByID(playerID)

--
Gitblit v1.8.0