| | |
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_DogzBattleSkill, skillAttrList)
|
| | | return
|
| | |
|
| | |
|
| | | # 助战神兽技能属性,必须在 SetDogzIsHelpFight后调用
|
| | | def CalcDogzBattleSkillAttr(curPlayer):
|
| | | skillAttrList = [{} for _ in range(4)]
|
| | |
| | | curEffect = curSkill.GetEffect(effectIndex)
|
| | | SkillShell.CalcBuffEffAttr(curPlayer, curEffect, skillAttrList)
|
| | |
|
| | | # Def_SkillType_AttrSkillNoLearn 非学习属性技能 叠加属性计算
|
| | | ipyDataMgr = IpyGameDataPY.IPY_Data()
|
| | | for i in xrange(ipyDataMgr.GetDogzCount()):
|
| | | ipyData = ipyDataMgr.GetDogzByIndex(i)
|
| | | if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_DogzFightState, i):
|
| | | #未助战
|
| | | continue
|
| | | |
| | | for skillID in ipyData.GetHelpBattleSkills():
|
| | |
|
| | | skillData = GameWorld.GetGameData().GetSkillBySkillID(skillID)
|
| | | if not skillData:
|
| | | continue
|
| | | # 同技能类型ID可多个叠加的属性时直接取表
|
| | | if skillData.GetSkillType() != ChConfig.Def_SkillType_AttrSkillNoLearn:
|
| | | continue
|
| | | |
| | | for effectIndex in xrange(skillData.GetEffectCount()):
|
| | | curEffect = skillData.GetEffect(effectIndex)
|
| | | SkillShell.CalcBuffEffAttr(curPlayer, curEffect, skillAttrList)
|
| | |
|
| | | #GameWorld.DebugLog("神兽技能属性: skillFPEx=%s, %s" % ( skillFPEx, skillAttrList))
|
| | | return skillAttrList
|