hxp
2019-05-10 6018c2872ce2e6d7a22fcc09d39ff4267a42c746
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
@@ -144,9 +144,9 @@
    curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrActivatyNotify, ChConfig.Def_AttrActivatyNotify_Equip)
    
    #先刷装备BUFF 再计算属性
    if changeItemEquipPlace == ShareDefine.retWing:
        PlayerWing.CalcWingAttr(curPlayer)
    else:
    if changeItemEquipPlace in ChConfig.EquipPlace_LingQi:
        RefreshPlayerLingQiEquipAttr(curPlayer)
    elif itemClassLV:
        RefreshPlayerEquipAttribute(curPlayer, itemClassLV)
    
    #刷新所有属性
@@ -158,7 +158,6 @@
    return True
## 刷新装备对人物属性的改变
#  @param self 类实例
#  @return 返回值无意义
@@ -516,9 +515,9 @@
        return
    
    #先刷装备BUFF 再计算属性
    if equipPlace == ShareDefine.retWing:
        PlayerWing.CalcWingAttr(curPlayer)
    else:
    if equipPlace in ChConfig.EquipPlace_LingQi:
        RefreshPlayerLingQiEquipAttr(curPlayer)
    elif itemClassLV:
        RefreshPlayerEquipAttribute(curPlayer, itemClassLV)
    
    #刷新所有属性
@@ -574,6 +573,45 @@
    
    return
def RefreshPlayerLingQiEquipAttr(curPlayer):
    ''' 刷新玩家灵器装备属性
    '''
    classLV = 0 # 灵器阶默认为0
    allAttrList = [{} for _ in range(4)]
    equipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
    for equipPlace in ChConfig.EquipPlace_LingQi:
        if equipPlace == ShareDefine.retWing:
            PlayerWing.CalcWingAttr(curPlayer)
            continue
        ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace)
        if not ipyData:
            continue
        equipIndex = ipyData.GetGridIndex()
        curEquip = equipPack.GetAt(equipIndex)
        if not curEquip or curEquip.IsEmpty():
            continue
        if not ItemCommon.CheckItemCanUseByExpireTime(curEquip):
            # 过期
            continue
        #基础属性效果
        for effIndex in xrange(curEquip.GetEffectCount()):
            curEff = curEquip.GetEffectByIndex(effIndex)
            effID = curEff.GetEffectID()
            if effID == 0:
                break
            PlayerControl.CalcAttrDict_Type(effID, curEff.GetEffectValue(0), allAttrList)
    #GameWorld.DebugLog("灵器属性: %s" % allAttrList)
    PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_LingQi, allAttrList)
    return
def __CalcEquips_Effect(curPlayer, classLV):
    ''' 境界装备系统属性
    1. 装备模块,每个境界阶独立,每个境界战力独立模块计算