private ActionEffectData DoAction_DrawCardAttack(Action AttackerAction, Action DefenderAction)
        {
            ActionEffectData data = DoAction_Attack(AttackerAction, DefenderAction);

            if (AttackerAction.SuccessfulAction && data.Value > 0)
            {
                return(data + DoAction_DrawCard(AttackerAction));
            }

            return(data);
        }
        private ActionEffectData DoAction_ImperviousAttack(Action AttackerAction, Action DefenderAction)
        {
            if (DefenderAction.Owner.ParryDuration > 0 && AttackerAction.AttackType == DefenderAction.AttackType)
            {
                return(new ActionEffectData("", "Parry! " + DefenderAction.AttackType.ToString(), true));
            }

            int hitDamage         = DefenderAction.Owner.TakeDamage(AttackerAction.Value);
            ActionEffectData data = new ActionEffectData("", (-hitDamage).ToString(), true);

            data.Value = hitDamage;
            AttackerAction.SuccessfulAction = true;

            return(data);
        }