Ejemplo n.º 1
0
 public Card Create(Game game)
 {
     var card = new Card(game)
                    {
                        Type = CardType.Item,
                        Name = "Thunderstone Shard",
                        Gold = 1,
                        Cost = 0,
                        Text = "<b>Dungeon:</b> One hero gains Strength +2."
                               + "<br/><br/>"
                               + "<b>Spoils:</b> Gain 1 XP.",
                        Vp = 1
                    };
     card.SetTags("Item", "Thunderstone");
     card.CreateAbility()
         .Description("One hero gains Strength +2")
         .SelectCards(x => x.Select().FromHand().Filter(c => c.IsHero()).Caption("Select Hero").Message("Select hero to use Thunderstone Shard"))
         .OnCardsSelected(x => x.Selected.First().AddModifier(new PlusMod(card, Attr.Strength, 2)))
     //                .Condition(player => player.Hand.Any(c => c.IsHero()))
         .On(Phase.Dungeon);
     card.CreateAbility()
         .Description("Gain 1 XP")
         .Action(x => x.Player.Xp++)
         .On(Phase.Spoils);
     return card;
 }
Ejemplo n.º 2
0
        private Card CreateCard(Game game, MonsterDef def)
        {
            var card = new Card(game)
                           {
                               Type = CardType.Monster,
                               Name = def.Name,
                               Health = def.Health,
                               Gold = def.Gold,
                               Text = def.Text,
                               Xp = def.Xp,
                               Vp = def.Vp,
                           };
            card.SetTags(Tags);
            card.SetTags("Level {0}".Template(Level));
            if (def.Modify != null)
                def.Modify(card);

            return card;
        }
Ejemplo n.º 3
0
 public Card Create(Game game)
 {
     var card = new Card(game)
                    {
                        Type = CardType.Item,
                        Name = "Torch",
                        Gold = 2,
                        Light = 1,
                        Cost = 3
                    };
     card.SetTags("Item", "Light", "Basic");
     return card;
 }
Ejemplo n.º 4
0
 private Card CreateCard(Game game, HeroDef def)
 {
     var card = new Card(game)
                    {
                        Level = def.Level,
                        Type = CardType.Hero,
                        Name = "{0} {1}".Template(Name, def.Name),
                        Cost = def.Cost,
                        Gold = def.Gold,
                        Light = def.Light,
                        MagicAttack = def.MagicAttack,
                        PhysicalAttack = def.PhysicalAttack,
                        Strength = def.Strength,
                        Text = def.Text,
                        Vp = def.Vp,
                        Xp = def.Xp,
                    };
     card.SetTags(Tags);
     card.SetTags("Level {0}".Template(def.Level));
     if (def.Modify != null)
         def.Modify(card);
     return card;
 }
Ejemplo n.º 5
0
 public Card Create(Game game)
 {
     var card = new Card(game)
                    {
                        Type = CardType.Weapon,
                        Name = "Longspear",
                        Gold = 2,
                        Strength = 3,
                        Cost = 3,
                        Text = "<b>Physical Attack +1</b>",
                        PotentialPhysicalAttack = () => 1,
                    };
     card.SetTags("Weapon", "Polearm", "Basic");
     card.CreateAbility().EquipWeapon(Attr.PhysicalAttack, 1).On(Phase.Equip);
     return card;
 }
Ejemplo n.º 6
0
 public override IEnumerable<Card> CreateCards(Game game)
 {
     var card = new Card(game)
                    {
                        Type = CardType.ThunderstoneBearer,
                        Name = Name,
                        Health = Health,
                        Gold = Gold,
                        Text = Text,
                        Xp = Xp,
                        Vp = Vp
                    };
     card.SetTags(Tags);
     Modify(card);
     return new[] {card};
 }
Ejemplo n.º 7
0
 private Card CreateCard(Game game)
 {
     var card = new Card(game)
                    {
                        Type = Type,
                        Cost = Cost,
                        Gold = Gold,
                        Light = Light,
                        Name = Name,
                        Strength = Strength,
                        Text = Text,
                        Vp = Vp,
                    };
     card.SetTags(Tags);
     Modify(card);
     return card;
 }
Ejemplo n.º 8
0
 public override IEnumerable<Card> CreateCards(Game game)
 {
     return Enumerable.Range(0, 4)
         .Select(x =>
             {
                 var card = new Card(game)
                     {
                         Name = Name,
                         PhysicalAttack = -1,
                         Text = "<b>Attack -1</b><br/><br/>" + GetAdditionalText(),
                         Owner = CardOwner.Game,
                         Type = CardType.Curse
                     };
                 card.SetTags(Tags);
                 Modify(card);
                 return card;
             });
 }
Ejemplo n.º 9
0
        public Card Create(Game game)
        {
            var card = new Card(game)
                           {
                               Type = CardType.Hero,
                               Name = "Regular",
                               Gold = 0,
                               Strength = 3,
                               Cost = 0,
                               Text = "<b>Physical Attack +1</b>"
                                      + "<br/><br/>"
                                      + "<b>Dungeon:</b> If equipped with a polearm, draw a card.",
                               PhysicalAttack = 1,
                               Xp = 2,
                               Owner = CardOwner.Village
                           };
            card.SetTags("Level 0", "Basic");
            card.CreateAbility()
                .DrawCards(1)
                .Condition(player => card.IsEquipped && card.GetEquipped().First().HasTag("Polearm"))
                .On(Phase.Dungeon);

            return card;
        }