| | |
| | |
|
| | | #攻击效果
|
| | | skillEffect = SkillCommon.GetSkillEffectByEffectID(curSkill, ChConfig.Def_Skill_Effect_Attack)
|
| | | skillPer = 1
|
| | | skillPer = 10000
|
| | | skillEnhance = 0
|
| | |
|
| | | if skillEffect != None:
|
| | | #技能增强百分比
|
| | | skillPer = (skillEffect.GetEffectValue(0)) / float(ChConfig.Def_MaxRateValue)
|
| | | skillPer = skillEffect.GetEffectValue(0)
|
| | | multiple = curSkill.GetEffect(0).GetEffectValue(0) - curBuff.GetValue() + 1 # 第几次攻击
|
| | | skillPer += multiple*PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(tagObj, None, curSkill, ChConfig.TriggerType_AddSingleSkillPer)
|
| | | #技能增强值
|
| | |
| | | #攻击次数处理,配置为0的说明是以持续时间为主
|
| | | # SwordStormAttack 可能因被动导致自己死亡,所以不能在攻击后处理
|
| | | curBuff.SetValue(max(curBuff.GetValue() - 1, 0))
|
| | | |
| | |
|
| | | BaseAttack.SwordStormAttack(tagObj, srcPosX, srcPosY, curSkill, skillPer,
|
| | | skillEnhance, skillMatrix, tick)
|
| | | PassiveBuffEffMng.OnPassiveBuffTrigger(tagObj, None, curSkill, ChConfig.TriggerType_Buff_AttackSubLayer, tick)
|
| | | if GameObj.GetHP(tagObj) > 0:
|
| | | if tagObj.GetDictByKey(ChConfig.Def_PlayerKey_1314HurtCount):
|
| | | # 需要时间配合,不然会导致伤害还没计算完毕 buff提前消失了
|
| | | curBuff.SetValue(curBuff.GetValue() + 1)
|
| | | tagObj.SetDict(ChConfig.Def_PlayerKey_1314HurtCount, 0)
|
| | | |
| | | if curBuff.GetValue() == 0:
|
| | | # 让下一次循环取消buff,客户端退出旋转
|
| | | curBuff.SetRemainTime(1)
|
| | |
|
| | |
|
| | | |
| | |
|
| | | #buffvalue第一个值为攻击次数, 第二个值为被动增强
|
| | | def CalcBuffValue(attacker, defender, curSkill, changeBuffValueDict):
|