| | |
| | | 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)
|
| | |
|
| | | #刷新所有属性
|
| | |
| | | return True
|
| | |
|
| | |
|
| | | |
| | | ## 刷新装备对人物属性的改变
|
| | | # @param self 类实例
|
| | | # @return 返回值无意义
|
| | |
| | | return
|
| | |
|
| | | #先刷装备BUFF 再计算属性
|
| | | if equipPlace == ShareDefine.retWing:
|
| | | PlayerWing.CalcWingAttr(curPlayer)
|
| | | else:
|
| | | if equipPlace in ChConfig.EquipPlace_LingQi:
|
| | | RefreshPlayerLingQiEquipAttr(curPlayer)
|
| | | elif itemClassLV:
|
| | | RefreshPlayerEquipAttribute(curPlayer, itemClassLV)
|
| | |
|
| | | #刷新所有属性
|
| | |
| | |
|
| | | 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. 装备模块,每个境界阶独立,每个境界战力独立模块计算
|