From ef24f527ec8215a5053f1b33be33b8fe5b05d3ff Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 20 六月 2019 19:56:03 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能 - 伤害值防止小于0的情况
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
index b48ee91..59c6209 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
@@ -420,7 +420,9 @@
PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_AllOver, 0) # 新一轮开始,重置状态
PlayerFamily.DoFamilySort() # 首轮分组前需要强制刷新一次仙盟排行
- lastFamilyWarMemDict = copy.deepcopy(PyGameData.g_familyWarMemDict)
+ lastFamilyWarMemDict = {}
+ for warPlayerID, recData in PyGameData.g_familyWarMemDict.items():
+ lastFamilyWarMemDict[warPlayerID] = GetFWMemFamilyID(recData)
PyGameData.g_familyWarMemDict = {}
PyGameData.g_familyWarFamilyIDList = []
universalRecMgr = GameWorld.GetUniversalRecMgr()
@@ -1032,16 +1034,23 @@
if not family:
return
+ familyAllPlayerIDList = []
familyPlayerIDList = []
for i in xrange(family.GetCount()):
member = family.GetAt(i)
memPlayerID = member.GetPlayerID()
if memPlayerID not in PyGameData.g_familyWarMemDict:
continue
+ familyAllPlayerIDList.append(memPlayerID)
recData = PyGameData.g_familyWarMemDict[memPlayerID]
+ if GetFWMemFamilyID(recData) != familyID:
+ continue
if not GetFWMemIsJoin(recData):
continue
familyPlayerIDList.append(memPlayerID)
+ if not familyPlayerIDList:
+ familyPlayerIDList = familyAllPlayerIDList
+ GameWorld.Log("连胜没有人参赛,收益算仙盟所有人的!familyID=%s,familyAllPlayerIDList=%s" % (familyID, familyAllPlayerIDList))
familyAuctionItemDict = {} # {仙盟ID:[[享受收益的成员ID, ...], [[拍品ID,个数], [拍品ID,个数,是否拍品], ...]], ...}
familyAuctionItemDict[familyID] = [familyPlayerIDList, familyAuctionItemList]
@@ -1082,16 +1091,23 @@
GameWorld.Log(" rank=%s,familyID=%s,仙盟不存在!" % (rank, familyID))
continue
+ familyAllPlayerIDList = []
familyPlayerIDList = []
for i in xrange(family.GetCount()):
member = family.GetAt(i)
memPlayerID = member.GetPlayerID()
if memPlayerID not in PyGameData.g_familyWarMemDict:
continue
+ familyAllPlayerIDList.append(memPlayerID)
recData = PyGameData.g_familyWarMemDict[memPlayerID]
+ if GetFWMemFamilyID(recData) != familyID:
+ continue
if not GetFWMemIsJoin(recData):
continue
familyPlayerIDList.append(memPlayerID)
+ if not familyPlayerIDList:
+ familyPlayerIDList = familyAllPlayerIDList
+ GameWorld.Log(" 排名没有人参赛,收益算仙盟所有人的!familyID=%s,familyAllPlayerIDList=%s" % (familyID, familyAllPlayerIDList))
familyAuctionItemList = cfgRankAuctionItemDict[rank]
familyAuctionItemDict[familyID] = [familyPlayerIDList, familyAuctionItemList]
--
Gitblit v1.8.0