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()):
@@ -459,7 +462,7 @@
            continue
        
        # 翅膀属性在翅膀功能单独刷新
        if equipIndex == ShareDefine.retWing:
        if equipIndex in ChConfig.EquipItemNoRefreshState:
            continue
        
        curEquip = playerEquip.GetAt(equipIndex)
@@ -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)