| | |
| | | |
| | | string result = string.Empty; |
| | | |
| | | // 如果是闪避 则只显示闪避两个字 |
| | | if (damage.IsType(DamageType.Dodge)) |
| | | // 如果是闪避或免疫 则只显示对应文字,不显示数字 |
| | | if (damage.IsType(DamageType.Dodge) || damage.IsType(DamageType.Immune)) |
| | | { |
| | | result += (char)config.prefix; |
| | | } |
| | |
| | | return stringBuild.ToString(); |
| | | } |
| | | |
| | | public static int GetMainTargetPositionNum(BattleObject caster, List<HB427_tagSCUseSkill.tagSCUseSkillHurt> targetList, SkillConfig skillConfig) |
| | | public static int GetMainTargetPositionNum(SkillBase skillBase, BattleObject caster, List<HB427_tagSCUseSkill.tagSCUseSkillHurt> targetList, SkillConfig skillConfig) |
| | | { |
| | | int returnIndex = 0; |
| | | // 根据敌方血量阵营 存活人数来选择 |
| | |
| | | case 5: |
| | | returnIndex = caster.teamHero.positionNum; |
| | | break; |
| | | case 6: |
| | | // 跟随主技能的目标 |
| | | var fromSkill = skillBase.fromSkill; |
| | | returnIndex = GetMainTargetPositionNum(fromSkill, fromSkill.caster, fromSkill.tagUseSkillAttack.HurtList.ToList(), fromSkill.skillConfig); |
| | | break; |
| | | default: |
| | | Debug.LogError("暂时不支持其他的方式选择主目标 有需求请联系策划 技能id:" + skillConfig.SkillID + " TagAim " + skillConfig.TagAim); |
| | | returnIndex = 0; |
| | |
| | | } |
| | | return config.nums[_num - 48]; |
| | | } |
| | | |
| | | public static bool IsHealing(HB427_tagSCUseSkill.tagSCUseSkillHurt hurt) |
| | | { |
| | | return ((hurt.AttackTypes & (int)ServerDamageType.Recovery) != 0 || |
| | | (hurt.AttackTypes & (int)ServerDamageType.DamageReverse) != 0) && |
| | | (hurt.AttackTypes & (int)ServerDamageType.Damage) == 0 && |
| | | (hurt.AttackTypes & (int)ServerDamageType.Realdamage) == 0 && |
| | | (hurt.AttackTypes & (int)ServerDamageType.SuckHpReverse) == 0 && |
| | | (hurt.AttackTypes & (int)ServerDamageType.SelfHarm) == 0; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 将整个技能的总伤害按命中次数和分段配置分配 |