hch
2025-11-20 ed98029a88cd89702980ac7c40b711afddc5aeb2
Main/System/Battle/BattleUtility.cs
@@ -114,8 +114,8 @@
        string result = string.Empty;
        //  如果是闪避 则只显示闪避两个字
        if (damage.IsType(DamageType.Dodge))
        //  如果是闪避或免疫 则只显示对应文字,不显示数字
        if (damage.IsType(DamageType.Dodge) || damage.IsType(DamageType.Immune))
        {
            result += (char)config.prefix;
        }
@@ -150,7 +150,7 @@
        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;
        //  根据敌方血量阵营 存活人数来选择
@@ -272,6 +272,11 @@
            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;
@@ -296,6 +301,16 @@
        }
        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>
    /// 将整个技能的总伤害按命中次数和分段配置分配