Exemplo n.º 1
0
    public void GroupCombatRound(Warrior w1, List <Warrior> group)
    {
        roundCounter += 1;
        int attackValueW1  = w1.CalcAttack(rnd);
        int defenceValueG1 = group[0].CalcDefence(rnd);

        if (attackValueW1 > defenceValueG1)
        {
            int currentDam = w1.CalcDamage(rnd);
            group[0].TakeDamage(currentDam);
            PrintHitAttack(w1, group[0], currentDam);
        }
        else
        {
            PrintParry(w1, group[0]);
        }
        for (int i = 0; i < group.Count; i++)
        {
            if (group[0].CalcAttack(rnd) > w1.CalcDefenceMultibleOpponents(rnd, group.Count))
            {
                int currentDam = group[0].CalcDamage(rnd);
                w1.TakeDamage(currentDam);
                PrintHitAttack(group[i], w1, currentDam);
            }
            else
            {
                PrintParry(group[i], w1);
            }
        }
        print("b4 dead members are removed");
        RemoveDeadMembers(group);
        print("dead members removed. " + group.Count + " members left");
        GroupCombatOverCheck(w1, group, false);
    }