public override void DoEffect(string skillName, King king, King toking, BattleData battleData)
    {
        int damager = int.Parse(Values[0]);
        List <TeamAttackingData> team_attack_datas = new List <TeamAttackingData>();


        foreach (var team in toking.army.team)
        {
            if (team == null)
            {
                continue;
            }
            if (team.GetBattleCount() == 0)
            {
                continue;
            }
            TeamAttackingData        teamData = new TeamAttackingData();
            List <UnitAttackingData> list     = new List <UnitAttackingData>();

            TeamSummaryData data = team.GetSummary();
            list = BattleContorl.CreateSkillToUnitData(skillName, damager, team, data, battleData);

            //调整伤亡率
            BattleContorl.SetDamager(damager, 0, null, data, list);

            //buff3 例如调整特定单位对特定单位的保护效果 真实伤害 调整受到伤害的BUFF     Time_2
            foreach (var unitdata in list)
            {
                BattleTools.DoUnitBuff(unitdata, EffectTimeType.Time_2);
            }

            teamData.DoDamger = BattleTools.GetDameger(list);
            team_attack_datas.Add(teamData);
            teamData.UnitAttackingDatas = list;
        }

        foreach (var item in team_attack_datas)
        {
            BattleContorl.DoingUnitAttackData(item);
        }

        //BUFF 战后BUFF Time_4
        foreach (var item in team_attack_datas)
        {
            BattleTools.DoTeamBuff(king, toking, item, EffectTimeType.Time_4);
        }
    }
    TeamAttackingData CeateAttackingData(Team team, Team toTeam, int disdent, int round, BattleContorl battle)
    {
        if (team == null || toTeam == null)
        {
            return(null);
        }

        TeamAttackingData teamData = new TeamAttackingData();
        TeamSummaryData   team_dic = team.GetSummary();

        teamData.Team_dic = team_dic;
        TeamSummaryData toteam_dic = toTeam.GetSummary();

        teamData.ToTeam_dic = toteam_dic;

        if (team_dic.UnitCount == 0 || toteam_dic.UnitCount == 0)
        {
            return(null);
        }
        if (team_dic.Count == 0 || toteam_dic.Count == 0)
        {
            return(null);
        }

        BattleData battleData = new BattleData();

        battleData.Disdent = disdent;
        battleData.Round   = round;
        battleData.Battle  = battle;

        teamData.Team       = team;
        teamData.ToTeam     = toTeam;
        teamData.battleData = battleData;
        List <UnitAttackingData> unitDatas = CreateUnitToUnitDatas(team, toTeam, team_dic, toteam_dic, battleData);

        teamData.UnitAttackingDatas = unitDatas;
        foreach (var item in unitDatas)
        {
            item.teamData = teamData;
        }

        //SetTeamToTeamData(teamData);

        return(teamData);
    }