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); }