public override void Build()
        {
            CardCharacteristics Front = MyCharacteristics[CharacteristicName.Front];

            Front.Name = "Selfless Cathar";
            Front.CardTypes.Add("Creature");
            Front.SubTypes.Add("Human");

            Front.Power     = 1;
            Front.Toughness = 1;

            LazyGameObject <Card> lazy = new LazyGameObject <Card>(this);

            CastPermanent cast = new CastPermanent(lazy);

            cast.MyCost.ManaParts.Add(new ManaCostPart(ManaColor.White));

            Front.Activatables.Add(cast);

            PumpAllControlledByControllerUntilEOT paue = new PumpAllControlledByControllerUntilEOT(this);

            paue.MyCost.ActionParts.Add(new SacSelf(new LazyGameObject <Card>(this)));
            paue.MyCost.ManaParts.Add(new ManaCostPart(ManaColor.Colorless));
            paue.MyCost.ManaParts.Add(new ManaCostPart(ManaColor.White));

            Front.Activatables.Add(paue);
        }
Ejemplo n.º 2
0
        public override void Build()
        {
            CardCharacteristics Front = MyCharacteristics[CharacteristicName.Front];

            Front.Name = "Memnite";
            Front.CardTypes.Add("Artifact");
            Front.CardTypes.Add("Creature");
            Front.SubTypes.Add("Construct");
            Front.Power     = 1;
            Front.Toughness = 1;

            CastPermanent cp = new CastPermanent(new LazyGameObject <Card>(this));

            Front.Activatables.Add(cp);
        }
Ejemplo n.º 3
0
        public override void Build()
        {
            CardCharacteristics Front = MyCharacteristics[CharacteristicName.Front];

            Front.Name = "Grizzly Bears";
            Front.CardTypes.Add("Creature");
            Front.SubTypes.Add("Bear");
            Front.Power     = 2;
            Front.Toughness = 2;

            Activatable cast = new CastPermanent(new LazyGameObject <Card>(this));

            cast.MyCost.ManaParts.Add(new ManaCostPart(ManaColor.Colorless));
            cast.MyCost.ManaParts.Add(new ManaCostPart(ManaColor.Green));

            Front.Activatables.Add(cast);
        }
Ejemplo n.º 4
0
        public override void Build()
        {
            CardCharacteristics front = MyCharacteristics[CharacteristicName.Front];

            front.Name = "Llanowar Elves";
            front.CardTypes.Add("Creature");
            front.SubTypes.Add("Elf");
            front.Power     = 1;
            front.Toughness = 1;

            LazyGameObject <Card> lazy = new LazyGameObject <Card>(this);

            CastPermanent cast = new CastPermanent(lazy);

            cast.MyCost.ManaParts.Add(new ManaCostPart(ManaColor.Green));

            front.Activatables.Add(cast);

            TapForMana tfm = new TapForMana(lazy, ManaColor.Green);

            front.Activatables.Add(tfm);
        }
Ejemplo n.º 5
0
        public override void Build()
        {
            CardCharacteristics Front = MyCharacteristics[CharacteristicName.Front];

            Front.Name = "Soul Warden";
            Front.CardTypes.Add("Creature");
            Front.SubTypes.Add("Human");
            Front.SubTypes.Add("Cleric");

            Front.Power     = 1;
            Front.Toughness = 1;

            LazyGameObject <Card> lazyThis = new LazyGameObject <Card>(this);

            CastPermanent cast = new CastPermanent(lazyThis);

            cast.MyCost.ManaParts.Add(new ManaCostPart(ManaColor.White));

            Front.Activatables.Add(cast);

            GainLifeDefinedAbility gla = new GainLifeDefinedAbility(lazyThis, this.Controller, 1);

            Func <CommandBase, Game, Boolean> shouldTrigger = (x, g) =>
            {
                if (!(x is CommandMoveCard))
                {
                    return(false);
                }

                CommandMoveCard move = (CommandMoveCard)x;

                g.DebugAlert(DebugMode.Triggers, move.ToString(g));

                if (move.Destination != ZoneType.Battlefield)
                {
                    g.DebugAlert(DebugMode.Triggers, "Soul Warden should: failed destination");
                    return(false); //It must move to the battlefield.
                }

                if (move.CardID.ID == this.ID)
                {
                    g.DebugAlert(DebugMode.Triggers, "Soul Warden should: failed id");
                    return(false); //Must be another card
                }

                if (!move.CardID.Value(g).CurrentCharacteristics.CardTypes.Contains("Creature"))
                {
                    g.DebugAlert(DebugMode.Triggers, "Types:");
                    foreach (String s in move.CardID.Value(g).CurrentCharacteristics.CardTypes)
                    {
                        g.DebugAlert(DebugMode.Triggers, s);
                    }
                    g.DebugAlert(DebugMode.Triggers, "Soul Warden should: failed type");
                    return(false); //Must be a creature
                }

                return(true);
            };

            Func <Trigger, Game, Boolean> canTrigger = (x, g) =>
            {
                Boolean res = g.GetZoneTypeOf(x.host) == ZoneType.Battlefield;


                if (!res)
                {
                    g.DebugAlert(DebugMode.Triggers, "Soulwarden can: failed zone");
                }

                return(res);
            };

            Trigger trig = new Trigger(shouldTrigger, canTrigger, gla, lazyThis);

            Front.Triggers.Add(trig);
        }