Example #1
0
 public CardCollection(Player player, Enemy enemy)
 {
     this.Player        = player;
     this.Enemy         = enemy;
     CurrentCardActions = new CardActions();
     allCards           = new Dictionary <string, Card>
     {
         { "Strike", new Card(CardTypes.Offence, new List <Action> {
                 new Action(() => CurrentCardActions.Attack(Enemy, Player, 7))
             }) },
         { "Shield & Bash", new Card(CardTypes.Offence, new List <Action> {
                 new Action(() => CurrentCardActions.Attack(Enemy, Player, 5)),
                 new Action(() => CurrentCardActions.Defend(Player, 3))
             }, 2) },
         { "Strengthen", new Card(CardTypes.Skill, new List <Action> {
                 new Action(() => CurrentCardActions.AddStrength(Player, 2))
             }) },
         { "Defend", new Card(CardTypes.Defence, new List <Action> {
                 new Action(() => CurrentCardActions.Defend(Player, 5))
             }) },
         { "Heal", new Card(CardTypes.Skill, new List <Action> {
                 new Action(() => CurrentCardActions.Heal(Player, 3))
             }) },
         { "Energize", new Card(CardTypes.Skill, new List <Action> {
                 new Action(() => CurrentCardActions.AddEnergy(Player, 0))
             }, 0) },
         { "Life Drain", new Card(CardTypes.Offence, new List <Action> {
                 new Action(() => CurrentCardActions.Attack(Enemy, Player, 5)),
                 new Action(() => CurrentCardActions.Heal(Player, 5 + Player.StrengthPoints - Enemy.ShieldPoints))
             }, 2) },
         { "Draw a card", new Card(CardTypes.Skill, new List <Action> {
                 new Action(() => CurrentCardActions.DrawCards(Player.UndeltDeck, Player.CurrentHand, 1))
             }, 0) },
         { "Puncture", new Card(CardTypes.Offence, new List <Action> {
                 new Action(() => CurrentCardActions.Attack(Enemy, Player, 3))
             }, 0) },
         { "Barrier", new Card(CardTypes.Defence, new List <Action> {
                 new Action(() => CurrentCardActions.ActivateShield(Player))
             }, 3) },
         { "Mirror", new Card(CardTypes.Skill, new List <Action> {
                 new Action(() => CurrentCardActions.ActivateMirror(Player))
             }, 3) },
         { "Sale", new Card(CardTypes.Skill, new List <Action> {
                 new Action(() => CurrentCardActions.ReduceCost(Player))
             }) }
     };
 }