| | |
| | | layer = max(1, buff.GetLayer())
|
| | | skillData = buff.GetSkillData()
|
| | |
|
| | | effExDict = buff.GetEffectExDict()
|
| | | for effID, effValueEx in effExDict.items():
|
| | | if effID not in ChConfig.AttrIDList:
|
| | | continue
|
| | | attrID = effID
|
| | | attrValue = effValueEx * layer
|
| | | buffsAttrDict[attrID] = buffsAttrDict.get(attrID, 0) + attrValue
|
| | | skbufAttrDict[attrID] = skbufAttrDict.get(attrID, 0) + attrValue
|
| | | |
| | | for eIndex in range(skillData.GetEffectCount()):
|
| | | effect = skillData.GetEffect(eIndex)
|
| | | effID = effect.GetEffectID()
|
| | |
| | | # buff时,不配默认有效,或仅buff有效
|
| | | continue
|
| | | attrID = effID
|
| | | attrValue = (effect.GetEffectValue(0) + buff.GetEffectValueEx(attrID)) * layer
|
| | | attrValue = effect.GetEffectValue(0) * layer
|
| | | calcType = effect.GetEffectValue(1)
|
| | | if calcType == 2: # 减少,其他默认增加
|
| | | attrValue = -attrValue
|