From 80ae6dde9cfe57fbdea20f90508177df28c40065 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期六, 05 一月 2019 14:11:16 +0800
Subject: [PATCH] 5713 【后端】【1.4.100】我要天机每次改投最少增加一个天机

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
index 49cd1c6..cbdfd75 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
@@ -38,6 +38,7 @@
 import PlayerMagicWeapon
 import time
 import json
+import FormulaControl
 #---------------------------------------------------------------------
 
 ##检查玩家是否可以换装
@@ -69,6 +70,7 @@
     
     if not ItemCommon.CheckItemCanUseByExpireTime(curItem):
         # 过期
+        GameWorld.DebugLog("装备已过期!")
         return False
     
     changeItemEquipPlace = curItem.GetEquipPlace()
@@ -452,6 +454,7 @@
     equipPlaceList = [] # 有穿戴装备的装备位列表
     suitCntDict = {} #套装数量字典
     legendAttrDict = {} #所有传奇属性
+    equipScoreTotal = 0 #为解决装备评分、战力不一致的情况,装备战力改为由评分作为参数计算战力
     
     #玩家当前可装备的装备类型
     for equipIndex in xrange(playerEquip.GetCount()):
@@ -471,6 +474,7 @@
             continue
         
         equipPlaceList.append(equipIndex)
+        equipScoreTotal += ItemCommon.GetEquipGearScore(curEquip)
         
         #基础属性效果
         for i in range(0, curEquip.GetEffectCount()):
@@ -542,15 +546,10 @@
     PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Wash, allAttrListWash)
     PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_EquipOutOfPrint, allAttrListOutOfPrintEquip)
     
-    #计算装备基础属性附加战力
-    LV = curPlayer.GetLV()
-    Atk = baseEquipAttrDict.get(ShareDefine.Def_Effect_Atk, 0)
-    MinAtk = baseEquipAttrDict.get(ShareDefine.Def_Effect_MinAtk, 0) + Atk
-    MaxAtk = baseEquipAttrDict.get(ShareDefine.Def_Effect_MaxAtk, 0) + Atk
-    MaxHP = baseEquipAttrDict.get(ShareDefine.Def_Effect_MaxHP, 0)
-    Def = baseEquipAttrDict.get(ShareDefine.Def_Effect_Def, 0)
-    fightPowerEx = eval(IpyGameDataPY.GetFuncCompileCfg("FightpowerFormula", 2))
-    curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Equip, fightPowerEx)
+    #计算装备基础属性附加战力 (目前组成: 评分战力 + ...)
+    equipFightPowerEx = eval(IpyGameDataPY.GetFuncCompileCfg("FightpowerFormula", 2))
+    #GameWorld.DebugLog("装备评分战力: equipScoreTotal=%s,equipFightPowerEx=%s" % (equipScoreTotal, equipFightPowerEx))
+    curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Equip, equipFightPowerEx)
     return
 
 
@@ -590,9 +589,13 @@
         return
     
     lv = curPlayer.GetLV()
+    OutOfPrintAttrFormatDict = IpyGameDataPY.GetFuncEvalCfg("OutOfPrintValue", 2, {})
     for i, attrID in enumerate(OutOfPrintAttrIDList):
+        if str(attrID) not in OutOfPrintAttrFormatDict:
+            continue
+        attrFormat = OutOfPrintAttrFormatDict[str(attrID)]
         maxOOPValue = OutOfPrintAttrValueList[i]
-        value = eval(IpyGameDataPY.GetFuncCompileCfg("OutOfPrintValue", 1))
+        value = eval(FormulaControl.GetCompileFormula("OutOfPrintAttrFormat_%s" % attrID, attrFormat))
         GameWorld.DebugLog("加绝版属性: %s +%s" % (attrID, value))
         PlayerControl.CalcAttrDict_Type(attrID, value, allAttrListOutOfPrintEquip)
         

--
Gitblit v1.8.0