public boolean setDefendingFirstStrikeDamage() {
        boolean needsFirstStrike = false;
        defendingDamageMap.clear();
        CardList att = new CardList(getAttackers());
        // sum unblocked attackers' power
        for (int i = 0; i < att.size(); i++) {
            if (!isBlocked(att.get(i))) {

                int damageDealt = att.get(i).getNetCombatDamage();

                if (damageDealt > 0) {
                    // if the creature has first strike or double strike do damage in the first strike combat phase
                    if (att.get(i).hasFirstStrike() || att.get(i).hasDoubleStrike()) {
                        addDefendingDamage(damageDealt, att.get(i));
                        needsFirstStrike = true;
                    }
                }
            }
        } // for

        return needsFirstStrike;
    }