| | |
| | | if curBatObj.GetHP() < 0:
|
| | | curBatObj.SetHP(0)
|
| | |
|
| | | if useSkill.GetBatType() == ChConfig.TurnBattleType_AtkBack:
|
| | | curBatObj.AddBigTurnAtkbackCnt()
|
| | | skillID = useSkill.GetSkillID()
|
| | | curBatObj.AddSkillUseCnt(skillID)
|
| | | if useSkill.GetCoolDownTime():
|
| | |
| | | #GameWorld.DebugLog("同阵营不触发反击!") # 魅惑可能导致打自己人
|
| | | return
|
| | |
|
| | | # 大回合单武将反击次数限制
|
| | | |
| | | canAtkbackDictTypeList = IpyGameDataPY.GetFuncEvalCfg("ParryCfg", 2)
|
| | | if atkObj.GetAtkDistType() not in canAtkbackDictTypeList:
|
| | | heroID = atkObj.GetHeroID()
|
| | |
| | | GameWorld.DebugLog("没有格挡不可反击! tagID=%s" % tagID)
|
| | | return
|
| | |
|
| | | # 大回合单武将反击次数限制
|
| | | bigTurnAtkbackCntMax = IpyGameDataPY.GetFuncCfg("ParryCfg", 4)
|
| | | if bigTurnAtkbackCntMax:
|
| | | atkbackCnt = tagObj.GetBigTurnAtkbackCnt()
|
| | | if atkbackCnt >= bigTurnAtkbackCntMax:
|
| | | GameWorld.DebugLog("本大回合累计反击次数达上限! atkbackCnt=%s >= %s" % (atkbackCnt, bigTurnAtkbackCntMax))
|
| | | return
|
| | | |
| | | skillManager = tagObj.GetSkillManager()
|
| | | for index in range(0, skillManager.GetSkillCount()):
|
| | | useSkill = skillManager.GetSkillByIndex(index)
|
| | |
| | | if cureWayExEff:
|
| | | cureType = cureWayExEff.GetEffectValue(0)
|
| | | skillPer = cureWayExEff.GetEffectValue(1)
|
| | | skillPer /= float(ChConfig.Def_MaxRateValue)
|
| | | baseValue = GetCalcBaseValue(cureType, userObj, tagObj, curSkill)
|
| | | cureHPEx = eval(IpyGameDataPY.GetFuncCompileCfg("CureFormula", 1))
|
| | | cureHP += cureHPEx
|
| | | GameWorld.DebugLog(" 额外治疗值(%s): cureType=%s,skillPer=%s,cureHP=%s" % (cureHPEx, cureType, skillPer, cureHP))
|
| | | GameWorld.DebugLog(" 额外治疗值(%s): cureType=%s,baseValue=%s,skillPer=%s,cureHP=%s" % (cureHPEx, cureType, baseValue, skillPer, cureHP))
|
| | |
|
| | | hurtShareEff = curSkill.GetEffectByID(ChConfig.SkillEff_HurtShare)
|
| | | if hurtShareEff:
|