From 7e061666ff94ee05d08028ab0e4ac41afd3d4419 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 07 十一月 2018 11:50:00 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 42 +++++++++++++++++++++---------------------
1 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index 68efc7e..4ee7cda 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -1533,7 +1533,7 @@
#copyMapID = curPlayer.GetCopyMapID()
GameWorld.Log("PlayerLeaveFB MapID = %d, PosX = %d, PosY = %d" % (mapID, posX, posY), curPlayer.GetPlayerID())
- if GameWorld.GetMap().GetAutoSize() and GameWorld.GetGameWorld().GetMapCopyPlayerManager().GetPlayerCount() == 1:
+ if GameWorldProcess.IsNoPlayerNeedCloseFB() and GameWorld.GetGameWorld().GetMapCopyPlayerManager().GetPlayerCount() == 1:
#如果副本中只有这一个人, 那么把这个副本设置为玩家安全下线, 关闭副本
gameFB = GameWorld.GetGameFB()
gameFB.SetIsSafeClose(1)
@@ -3395,8 +3395,7 @@
__AttrName = "%s" # 参数为ChConfig.Def_Calc_AllAttrType_MAX对应所有属性列表索引
__AttrNameNoline = "Noline_%s" # 参数为ChConfig.Def_Calc_AllAttrType_MAX对应所有属性列表索引
- __NolineAttrList = [ChConfig.TYPE_Calc_AttrSpeed, ChConfig.TYPE_Calc_AttrATKMin, ChConfig.TYPE_Calc_AttrATKMax,
- ChConfig.TYPE_Calc_AttrMaxHP] # 需要记录的非线性战斗属性
+ __NolineAttrList = [ChConfig.TYPE_Calc_AttrSpeed] # 需要记录的非线性战斗属性
## 初始化
# @param self 类实例
@@ -3504,21 +3503,10 @@
#其他需作为公式参数的系数
AtkSpeedParameter = fpParam.GetCftAtkSpeed()
LuckyHitParameter = fpParam.GetCftLuckyHit()
-
- fpEx = 0
- #装备模块特殊处理
- if self.mfpType == ShareDefine.Def_MFPType_Equip:
- AtkPer = getattr(self, self.__AttrNameNoline % ChConfig.TYPE_Calc_AttrATKMax) * fpParam.GetCftAtkPer() # 攻击百分比系数
- MaxHPPer = getattr(self, self.__AttrNameNoline % ChConfig.TYPE_Calc_AttrMaxHP) * fpParam.GetCftMaxHPPer() # 生命百分比系数
- fpEx = eval(IpyGameDataPY.GetFuncCompileCfg("FightpowerFormula", 3))
- GameWorld.DebugLog("装备模块攻击生命百分比传奇属性战力: fpEx=%s" % fpEx)
- else:
- AtkPer = 0
- MaxHPPer = 0
#获取策划配置的表格
FightpowerFormula = IpyGameDataPY.GetFuncCfg("FightpowerFormula")
- totalFightPower = eval(FormulaControl.GetCompileFormula("FightpowerFormula", FightpowerFormula)) + fpEx
+ totalFightPower = eval(FormulaControl.GetCompileFormula("FightpowerFormula", FightpowerFormula))
#GameWorld.DebugLog("MfpType=%s,FightPower=%s, %s" % (self.mfpType, totalFightPower, self.GetMFPAttrStr()))
if totalFightPower > ShareDefine.Def_UpperLimit_DWord:
@@ -6655,12 +6643,24 @@
def GetCalcAttrListValue(curPlayer, funcIndex):
## 获取功能点预先计算的所加属性值
attrList = [{} for _ in range(4)]
- for attrIndex, attrDict in enumerate(attrList):
- for i in xrange(Def_MaxAddAttrTypeCnt):
- attrType = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_CalcAddAttrType % (funcIndex, attrIndex, i))
- if attrType == 0:
- break
- attrDict[attrType] = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_CalcAddAttrValue % (funcIndex, attrIndex, i))
+ if isinstance(funcIndex, int):
+ funcIndexList = [funcIndex]
+ elif isinstance(funcIndex, list):
+ funcIndexList = funcIndex
+ else:
+ return attrList
+
+ for funcIndex in funcIndexList:
+ for attrIndex, attrDict in enumerate(attrList):
+ for i in xrange(Def_MaxAddAttrTypeCnt):
+ attrType = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_CalcAddAttrType % (funcIndex, attrIndex, i))
+ if attrType == 0:
+ break
+ attrValue = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_CalcAddAttrValue % (funcIndex, attrIndex, i))
+ if attrType in attrDict:
+ attrDict[attrType] = attrValue + attrDict[attrType]
+ else:
+ attrDict[attrType] = attrValue
return attrList
## 刷属性时累加功能事先计算好的属性值
--
Gitblit v1.8.0