private static void HeroPowers(IDictionary <string, CardDef> cards)
        {
            // ----------------------------------- HERO_POWER - NEUTRAL
            // [BRM_027p] DIE, INSECT! (*) - COST:2
            // - Set: brm,
            // --------------------------------------------------------
            // Text: <b>Hero Power</b>
            //       Deal $8 damage to a random enemy. @spelldmg
            // --------------------------------------------------------
            cards.Add("BRM_027p", new CardDef(new Power
            {
                PowerTask = ComplexTask.DamageRandomTargets(1, EntityType.ENEMIES, 8)
            }));

            // ----------------------------------- HERO_POWER - NEUTRAL
            // [BRM_027pH] DIE, INSECTS! (*) - COST:2
            // - Set: brm,
            // --------------------------------------------------------
            // Text: <b>Hero Power</b>
            //       Deal $8 damage to a random enemy. TWICE. @spelldmg
            // --------------------------------------------------------
            cards.Add("BRM_027pH", new CardDef(new Power
            {
                PowerTask = new EnqueueTask(2, ComplexTask.DamageRandomTargets(1, EntityType.ENEMIES, 8))
            }));
        }
Exemple #2
0
 private static void Mage(IDictionary <string, List <Enchantment> > cards)
 {
     // ------------------------------------------- SPELL - MAGE
     // [CS2_031] Ice Lance - COST:1
     // - Fac: neutral, Set: hof, Rarity: common
     // --------------------------------------------------------
     // Text: <b>Freeze</b> a character. If it was already <b>Frozen</b>, deal $4 damage instead. *spelldmg
     // --------------------------------------------------------
     // GameTag:
     // - FREEZE = 1
     // --------------------------------------------------------
     // PlayReq:
     // - REQ_TARGET_TO_PLAY = 0
     // --------------------------------------------------------
     cards.Add("CS2_031", new List <Enchantment> {
         new Enchantment
         {
             Activation = EnchantmentActivation.SPELL,
             SingleTask = ComplexTask.Create(
                 new ConditionTask(EntityType.TARGET, SelfCondition.IsFrozen),
                 ComplexTask.True(new DamageTask(4, EntityType.TARGET, true)),
                 ComplexTask.False(ComplexTask.Freeze(EntityType.TARGET)))
         }
     });
 }
Exemple #3
0
        private static void HeroPowers(IDictionary <string, List <Enchantment> > cards)
        {
            // ----------------------------------- HERO_POWER - NEUTRAL
            // [BRM_027p] DIE, INSECT! (*) - COST:2
            // - Set: fp2,
            // --------------------------------------------------------
            // Text: <b>Hero Power</b>
            //       Deal $8 damage to a random enemy. *spelldmg
            // --------------------------------------------------------
            cards.Add("BRM_027p", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.SPELL,
                    SingleTask = ComplexTask.DamageRandomTargets(1, EntityType.ENEMIES, 8)
                }
            });

            // ----------------------------------- HERO_POWER - NEUTRAL
            // [BRM_027pH] DIE, INSECTS! (*) - COST:2
            // - Set: fp2,
            // --------------------------------------------------------
            // Text: <b>Hero Power</b>
            //       Deal $8 damage to a random enemy. TWICE. *spelldmg
            // --------------------------------------------------------
            cards.Add("BRM_027pH", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.SPELL,
                    SingleTask = new EnqueueTask(2, ComplexTask.DamageRandomTargets(1, EntityType.ENEMIES, 8))
                }
            });
        }
Exemple #4
0
 void NewComplexTask()
 {
     Debug.Log("Add new complex task");
     //Create new ComplexTask.
     ct = new ComplexTask()
     {
         Priority         = -10,
         TaskID           = 003,
         AssignementLevel = 0
     };
     //Create new MoveTask.
     mt = new WaitTask()
     {
         Priority         = 1,
         TaskID           = 004,
         AssignementLevel = 0,
         WaitTimeSeconds  = 1
     };
     //Add it to the complex task.
     ct.ComplexTaskList.Add(mt);
     //Make another.
     mt = new WaitTask()
     {
         Priority         = 2,
         TaskID           = 005,
         AssignementLevel = 0,
         WaitTimeSeconds  = 3
     };
     //Add that one aswell.
     ct.ComplexTaskList.Add(mt);
     //Finally add the complex task we have just built to the tasklist.
     taskManager.TaskList.Add(ct);
 }
Exemple #5
0
 private static void Shaman(IDictionary <string, CardDef> cards)
 {
     // ---------------------------------------- MINION - SHAMAN
     // [GIL_530] Murkspark Eel - COST:2 [ATK:2/HP:3]
     // - Race: beast, Set: gilneas, Rarity: rare
     // --------------------------------------------------------
     // Text: <b>Battlecry:</b> If your deck has only even-Cost cards, deal_2 damage.
     // --------------------------------------------------------
     // GameTag:
     // - BATTLECRY = 1
     // --------------------------------------------------------
     // PlayReq:
     // - REQ_DRAG_TO_PLAY = 0
     // --------------------------------------------------------
     cards.Add("GIL_530", new CardDef(new Dictionary <PlayReq, int>()
     {
         { PlayReq.REQ_DRAG_TO_PLAY_PRE29933, 0 }
     }, new Power
     {
         // TODO Test: Murkspark Eel_GIL_530
         // play requirement?
         PowerTask = ComplexTask.Create(
             new ConditionTask(EntityType.SOURCE, SelfCondition.HasNoOddCostInDeck),
             new FlagTask(true, new DamageTask(2, EntityType.TARGET)))
     }));
 }
Exemple #6
0
 private static void Priest(IDictionary <string, CardDef> cards)
 {
     // ---------------------------------------- MINION - PRIEST
     // [GIL_837] Glitter Moth - COST:5 [ATK:4/HP:4]
     // - Race: beast, Set: gilneas, Rarity: epic
     // --------------------------------------------------------
     // Text: <b>Battlecry:</b> If your deck has only odd-Cost cards, double the Health of your other minions.
     // --------------------------------------------------------
     // GameTag:
     // - BATTLECRY = 1
     // --------------------------------------------------------
     cards.Add("GIL_837", new CardDef(new Power
     {
         // TODO Test: Glitter Moth_GIL_837
         PowerTask = ComplexTask.Create(
             new ConditionTask(EntityType.SOURCE, SelfCondition.HasNoEvenCostInDeck),
             new AddEnchantmentTask("GIL_837e", EntityType.MINIONS_NOSOURCE))
     }));
     // ----------------------------------------- SPELL - PRIEST
     // [DS1_233] Mind Blast - COST:2
     // - Fac: neutral, Set: core, Rarity: free
     // --------------------------------------------------------
     // Text: Deal $5 damage to the enemy hero. @spelldmg
     // --------------------------------------------------------
     cards.Add("DS1_233", new CardDef(new Power
     {
         PowerTask = new DamageTask(5, EntityType.OP_HERO, true)
     }));
 }
Exemple #7
0
        private static void Mage(IDictionary <string, Power> cards)
        {
            // ------------------------------------------ MINION - MAGE
            // [BRM_002] Flamewaker - COST:3 [ATK:2/HP:4]
            // - Set: brm, Rarity: rare
            // --------------------------------------------------------
            // Text: After you cast a spell, deal 2 damage randomly split among all enemies.
            // --------------------------------------------------------
            cards.Add("BRM_002", new Power {
                Trigger = new Trigger(TriggerType.AFTER_CAST)
                {
                    TriggerSource = TriggerSource.FRIENDLY,
                    SingleTask    = new EnqueueTask(2, ComplexTask.DamageRandomTargets(1, EntityType.ENEMIES, 1))
                }
            });

            // ------------------------------------------- SPELL - MAGE
            // [BRM_003] Dragon's Breath - COST:5
            // - Set: brm, Rarity: common
            // --------------------------------------------------------
            // Text: Deal $4 damage. Costs (1) less for each minion that died this turn. @spelldmg
            // --------------------------------------------------------
            // PlayReq:
            // - REQ_TARGET_TO_PLAY = 0
            // --------------------------------------------------------
            cards.Add("BRM_003", new Power {
                Aura      = AdaptiveCostEffect.NumEachMinionDiedThisTurn,
                PowerTask = ComplexTask.Create(
                    new DamageTask(4, EntityType.TARGET, true))
            });
        }
Exemple #8
0
        public static Enchant Health(int amount, params RelaCondition[] list)
        {
            var relaConditions = new List <RelaCondition>
            {
                RelaCondition.IsNotSelf
            };

            relaConditions.AddRange(list);
            var result = new Enchant
            {
                EnableConditions = new List <SelfCondition>
                {
                    SelfCondition.IsInZone(Zone.PLAY),
                    SelfCondition.IsNotSilenced
                },
                ApplyConditions = relaConditions,
                Effects         = new Dictionary <GameTag, int>()
                {
                    [GameTag.HEALTH] = amount
                },
                // Health Retention task ...
                RemovalTask = ComplexTask.Create(
                    new IncludeTask(EntityType.MINIONS, new [] { EntityType.SOURCE }),
                    new FilterStackTask(EntityType.SOURCE, relaConditions.ToArray()),
                    new HealthRetentionTask(amount, EntityType.STACK))
            };

            list.ToList().ForEach(p => result.ApplyConditions.Add(p));
            return(result);
        }
Exemple #9
0
 private static void Paladin(IDictionary <string, CardDef> cards)
 {
     // ---------------------------------------- SPELL - PALADIN
     // [FP1_020] Avenge - COST:1
     // - Set: naxx, Rarity: common
     // --------------------------------------------------------
     // Text: <b>Secret:</b> When one of your minions dies, give a random friendly minion +3/+2.
     // --------------------------------------------------------
     // GameTag:
     // - SECRET = 1
     // --------------------------------------------------------
     cards.Add("FP1_020", new CardDef(new Power
     {
         InfoCardId = "FP1_020e",
         Trigger    = new Trigger(TriggerType.DEATH)
         {
             TriggerSource = TriggerSource.FRIENDLY,
             SingleTask    = ComplexTask.Create(
                 new ConditionTask(EntityType.SOURCE, SelfCondition.IsBoardCount(0)),
                 new FlagTask(false, ComplexTask.Secret(
                                  new RandomTask(1, EntityType.MINIONS),
                                  new AddEnchantmentTask("FP1_020e", EntityType.STACK))))
         }
     }));
 }
Exemple #10
0
 // TODO: maybe need some more work here
 public static Trigger WorgenTransform(string cardId, string enchantmentId)
 {
     return(new Trigger(TriggerType.WORGEN_TRANSFORM)
     {
         TriggerActivation = TriggerActivation.HAND,
         SingleTask = ComplexTask.Create(
             new SwapAttackHealthTask(EntityType.SOURCE, enchantmentId),
             new ChangeEntityTask(cardId)),
         RemoveAfterTriggered = true
     });
 }
Exemple #11
0
    public void Display(ComplexTask task)
    {
        if (this._task != null)
        {
            this._task.OnComplete -= this.UpdateLayout;
        }

        this._task             = task;
        this._task.OnComplete += this.UpdateLayout;

        this.UpdateLayout();
    }
Exemple #12
0
        private static void Mage(IDictionary <string, List <Enchantment> > cards)
        {
            // ------------------------------------------- SPELL - MAGE
            // [BRM_003] Dragon's Breath - COST:5
            // - Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: Deal $4 damage. Costs (1) less for each minion that died this turn. *spelldmg
            // --------------------------------------------------------
            // PlayReq:
            // - REQ_TARGET_TO_PLAY = 0
            // --------------------------------------------------------
            cards.Add("BRM_003", new List <Enchantment> {
                new Enchantment
                {
                    Area       = EnchantmentArea.SELF,
                    Activation = EnchantmentActivation.HAND_ZONE,
                    Enchant    = Auras.CostFunc(
                        owner => - (owner.Controller.NumFriendlyMinionsThatDiedThisTurn +
                                    owner.Controller.Opponent.NumFriendlyMinionsThatDiedThisTurn))
                },
                new Enchantment
                {
                    Activation = EnchantmentActivation.SPELL,
                    SingleTask = new DamageTask(4, EntityType.TARGET, true)
                }
            });

            // ------------------------------------------ MINION - MAGE
            // [BRM_002] Flamewaker - COST:3 [ATK:2/HP:4]
            // - Set: fp2, Rarity: rare
            // --------------------------------------------------------
            // Text: After you cast a spell, deal 2 damage randomly split among all enemies.
            // --------------------------------------------------------
            cards.Add("BRM_002", new List <Enchantment> {
                new Enchantment
                {
                    Area       = EnchantmentArea.GRAVEYARD_AND_SECRET,
                    Activation = EnchantmentActivation.BOARD_ZONE,
                    Trigger    = new TriggerBuilder().Create()
                                 .EnableConditions(SelfCondition.IsInZone(Zone.PLAY), SelfCondition.IsNotSilenced)
                                 .ApplyConditions(RelaCondition.IsOther(SelfCondition.IsSpell))
                                 .TriggerEffect(GameTag.JUST_PLAYED, -1)
                                 .SingleTask(new EnqueueTask(2, ComplexTask.DamageRandomTargets(1, EntityType.ENEMIES, 1)))
                                 .Build()
                }
            });
        }
Exemple #13
0
 private static void Priest(IDictionary <string, Power> cards)
 {
     // ---------------------------------------- MINION - PRIEST
     // [FP1_023] Dark Cultist - COST:3 [ATK:3/HP:4]
     // - Set: naxx, Rarity: common
     // --------------------------------------------------------
     // Text: <b>Deathrattle:</b> Give a random friendly minion +3 Health.
     // --------------------------------------------------------
     // GameTag:
     // - DEATHRATTLE = 1
     // --------------------------------------------------------
     cards.Add("FP1_023", new Power {
         DeathrattleTask = ComplexTask.Create(
             new RandomTask(1, EntityType.MINIONS),
             new AddEnchantmentTask("FP1_023e", EntityType.TARGET))
     });
 }
Exemple #14
0
        private static void Shaman(IDictionary <string, List <Enchantment> > cards)
        {
            // ----------------------------------------- SPELL - SHAMAN
            // [BRM_011] Lava Shock - COST:2
            // - Set: fp2, Rarity: rare
            // --------------------------------------------------------
            // Text: Deal $2 damage.
            //       Unlock your <b>Overloaded</b> Mana Crystals. *spelldmg
            // --------------------------------------------------------
            // PlayReq:
            // - REQ_TARGET_TO_PLAY = 0
            // --------------------------------------------------------
            // RefTag:
            // - OVERLOAD = 1
            // --------------------------------------------------------
            cards.Add("BRM_011", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.SPELL,
                    SingleTask = ComplexTask.Create(
                        new DamageTask(2, EntityType.TARGET),
                        new SetControllerGameTagTask(GameTag.OVERLOAD_LOCKED, 0)),
                },
            });

            // ---------------------------------------- MINION - SHAMAN
            // [BRM_012] Fireguard Destroyer - COST:4 [ATK:3/HP:6]
            // - Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> Gain 1-4 Attack. <b>Overload:</b> (1)
            // --------------------------------------------------------
            // GameTag:
            // - OVERLOAD = 1
            // - BATTLECRY = 1
            // - OVERLOAD_OWED = 1
            // --------------------------------------------------------
            cards.Add("BRM_012", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = ComplexTask.Create(
                        new MathRandTask(1, 4),
                        new BuffAttackNumberTask(EntityType.SOURCE))
                },
            });
        }
Exemple #15
0
 private static void Hunter(IDictionary <string, Power> cards)
 {
     // ---------------------------------------- MINION - HUNTER
     // [FP1_011] Webspinner - COST:1 [ATK:1/HP:1]
     // - Race: beast, Set: naxx, Rarity: common
     // --------------------------------------------------------
     // Text: <b>Deathrattle:</b> Add a random Beast card to your hand.
     // --------------------------------------------------------
     // GameTag:
     // - DEATHRATTLE = 1
     // --------------------------------------------------------
     cards.Add("FP1_011", new Power {
         DeathrattleTask = ComplexTask.Create(
             new RandomMinionTask(GameTag.CARDRACE, (int)Race.BEAST),
             new AddStackTo(EntityType.HAND))
     });
 }
Exemple #16
0
        private static void Hunter(IDictionary <string, List <Enchantment> > cards)
        {
            // ----------------------------------------- SPELL - HUNTER
            // [BRM_013] Quick Shot - COST:2
            // - Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: Deal $3 damage.
            //       If your hand is empty, draw a card. *spelldmg
            // --------------------------------------------------------
            // GameTag:
            // - AFFECTED_BY_SPELL_POWER = 1
            // --------------------------------------------------------
            // PlayReq:
            // - REQ_TARGET_TO_PLAY = 0
            // --------------------------------------------------------
            cards.Add("BRM_013", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.SPELL,
                    SingleTask = ComplexTask.Create(
                        new DamageTask(3, EntityType.TARGET, true),
                        new ConditionTask(EntityType.SOURCE, SelfCondition.IsHandEmpty),
                        new FlagTask(true, new DrawTask()))
                },
            });

            // ---------------------------------------- MINION - HUNTER
            // [BRM_014] Core Rager - COST:4 [ATK:4/HP:4]
            // - Race: beast, Set: fp2, Rarity: rare
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> If your hand is empty, gain +3/+3.
            // --------------------------------------------------------
            // GameTag:
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("BRM_014", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = ComplexTask.Create(
                        new ConditionTask(EntityType.SOURCE, SelfCondition.IsHandEmpty),
                        new FlagTask(true, new BuffTask(Buffs.AttackHealth(3), EntityType.SOURCE)))
                },
            });
        }
Exemple #17
0
 private static void Shaman(IDictionary <string, Power> cards)
 {
     // ----------------------------------------- SPELL - SHAMAN
     // [FP1_025] Reincarnate - COST:2
     // - Set: naxx, Rarity: common
     // --------------------------------------------------------
     // Text: Destroy a minion, then return it to life with full Health.
     // --------------------------------------------------------
     // PlayReq:
     // - REQ_TARGET_TO_PLAY = 0
     // - REQ_MINION_TARGET = 0
     // --------------------------------------------------------
     cards.Add("FP1_025", new Power {
         PowerTask = ComplexTask.Create(
             new DestroyTask(EntityType.TARGET, true),
             new CopyTask(EntityType.TARGET, Zone.PLAY))
     });
 }
Exemple #18
0
 private static void Rogue(IDictionary <string, Power> cards)
 {
     // ----------------------------------------- MINION - ROGUE
     // [FP1_026] Anub'ar Ambusher - COST:4 [ATK:5/HP:5]
     // - Set: naxx, Rarity: common
     // --------------------------------------------------------
     // Text: <b>Deathrattle:</b> Return a random friendly minion to your hand.
     // --------------------------------------------------------
     // GameTag:
     // - DEATHRATTLE = 1
     // --------------------------------------------------------
     cards.Add("FP1_026", new Power {
         // TODO AnubarAmbusher_FP1_026 test
         DeathrattleTask = ComplexTask.Create(
             new RandomTask(1, EntityType.MINIONS),
             new ReturnHandTask(EntityType.STACK))
     });
 }
Exemple #19
0
        private static void Mage(IDictionary <string, Power> cards)
        {
            // ------------------------------------------- SPELL - MAGE
            // [CS2_031] Ice Lance - COST:1
            // - Fac: neutral, Set: hof, Rarity: common
            // --------------------------------------------------------
            // Text: <b>Freeze</b> a character. If it was already <b>Frozen</b>, deal $4 damage instead. @spelldmg
            // --------------------------------------------------------
            // GameTag:
            // - FREEZE = 1
            // --------------------------------------------------------
            // PlayReq:
            // - REQ_TARGET_TO_PLAY = 0
            // --------------------------------------------------------
            cards.Add("CS2_031", new Power {
                PowerTask = ComplexTask.Create(
                    new ConditionTask(EntityType.TARGET, SelfCondition.IsFrozen),
                    ComplexTask.True(new DamageTask(4, EntityType.TARGET, true)),
                    ComplexTask.False(ComplexTask.Freeze(EntityType.TARGET)))
            });

            // ------------------------------------------- SPELL - MAGE
            // [EX1_295] Ice Block - COST:3
            // - Fac: neutral, Set: expert1, Rarity: epic
            // --------------------------------------------------------
            // Text: <b>Secret:</b> When your hero takes fatal damage, prevent it and become <b>Immune</b> this turn.
            // --------------------------------------------------------
            // GameTag:
            // - SECRET = 1
            // --------------------------------------------------------
            // RefTag:
            // - IMMUNE = 1
            // --------------------------------------------------------
            cards.Add("EX1_295", new Power {
                Trigger = new Trigger(TriggerType.PREDAMAGE)
                {
                    TriggerSource = TriggerSource.HERO,
                    Condition     = SelfCondition.IsHeroLethalPreDamaged,
                    FastExecution = true,
                    SingleTask    = ComplexTask.Secret(
                        new AddEnchantmentTask("EX1_295o", EntityType.HERO))
                }
            });
        }
Exemple #20
0
 private static void Warlock(IDictionary <string, Power> cards)
 {
     // --------------------------------------- MINION - WARLOCK
     // [FP1_022] Voidcaller - COST:4 [ATK:3/HP:4]
     // - Race: demon, Set: naxx, Rarity: common
     // --------------------------------------------------------
     // Text: <b>Deathrattle:</b> Put a random Demon from your hand into the battlefield.
     // --------------------------------------------------------
     // GameTag:
     // - DEATHRATTLE = 1
     // --------------------------------------------------------
     cards.Add("FP1_022", new Power {
         DeathrattleTask = ComplexTask.Create(
             new IncludeTask(EntityType.HAND),
             new FilterStackTask(SelfCondition.IsRace(Race.DEMON)),
             new RandomTask(1, EntityType.STACK),
             new SummonTask())
     });
 }
Exemple #21
0
 private static void Druid(IDictionary <string, Power> cards)
 {
     // ------------------------------------------ SPELL - DRUID
     // [FP1_019] Poison Seeds - COST:4
     // - Set: naxx, Rarity: common
     // --------------------------------------------------------
     // Text: Destroy all minions and summon 2/2 Treants to replace them.
     // --------------------------------------------------------
     cards.Add("FP1_019", new Power {
         PowerTask = ComplexTask.Create(
             new CountTask(EntityType.MINIONS),
             new CountTask(EntityType.OP_MINIONS, 1),
             new DestroyTask(EntityType.ALLMINIONS, true),
             new EnqueueNumberTask(new SummonTask("FP1_019t")),
             new MathMultiplyTask(0),
             new MathNumberIndexTask(0, 1, MathOperation.ADD),
             new EnqueueNumberTask(new SummonOpTask("FP1_019t")))
     });
 }
Exemple #22
0
        private static void Warlock(IDictionary <string, List <Enchantment> > cards)
        {
            // ---------------------------------------- SPELL - WARLOCK
            // [BRM_005] Demonwrath - COST:3
            // - Set: fp2, Rarity: rare
            // --------------------------------------------------------
            // Text: Deal $2 damage to all non-Demon minions. *spelldmg
            // --------------------------------------------------------
            // GameTag:
            // - AFFECTED_BY_SPELL_POWER = 1
            // --------------------------------------------------------
            cards.Add("BRM_005", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.SPELL,
                    SingleTask = ComplexTask.Create(
                        new IncludeTask(EntityType.ALLMINIONS),
                        new FilterStackTask(SelfCondition.IsNotRace(Race.DEMON)),
                        new DamageTask(2, EntityType.STACK, true))
                },
            });

            // --------------------------------------- MINION - WARLOCK
            // [BRM_006] Imp Gang Boss - COST:3 [ATK:2/HP:4]
            // - Race: demon, Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: Whenever this minion takes damage, summon a 1/1 Imp.
            // --------------------------------------------------------
            cards.Add("BRM_006", new List <Enchantment> {
                new Enchantment
                {
                    Area       = EnchantmentArea.SELF,
                    Activation = EnchantmentActivation.BOARD_ZONE,
                    Trigger    = new TriggerBuilder().Create()
                                 .EnableConditions(SelfCondition.IsInZone(Zone.PLAY), SelfCondition.IsNotSilenced)
                                 .ApplyConditions(RelaCondition.IsOther(SelfCondition.IsTagValue(GameTag.TO_BE_DESTROYED, 0)))
                                 .TriggerEffect(GameTag.DAMAGE, 1)
                                 .SingleTask(new SummonTask("BRM_006t", SummonSide.RIGHT))
                                 .Build()
                }
            });
        }
Exemple #23
0
        private static void Rogue(IDictionary <string, List <Enchantment> > cards)
        {
            // ------------------------------------------ SPELL - ROGUE
            // [BRM_007] Gang Up - COST:2
            // - Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: Choose a minion. Shuffle 3 copies of it into your deck.
            // --------------------------------------------------------
            // PlayReq:
            // - REQ_MINION_TARGET = 0
            // - REQ_TARGET_TO_PLAY = 0
            // --------------------------------------------------------
            cards.Add("BRM_007", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.SPELL,
                    SingleTask = ComplexTask.Create(
                        new CopyTask(EntityType.TARGET, 3),
                        new AddStackTo(EntityType.DECK))
                },
            });

            // ----------------------------------------- MINION - ROGUE
            // [BRM_008] Dark Iron Skulker - COST:5 [ATK:4/HP:3]
            // - Set: fp2, Rarity: rare
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> Deal 2 damage to all undamaged enemy minions.
            // --------------------------------------------------------
            // GameTag:
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("BRM_008", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = ComplexTask.Create(
                        new IncludeTask(EntityType.OP_MINIONS),
                        new FilterStackTask(SelfCondition.IsUndamaged),
                        new DamageTask(2, EntityType.STACK))
                },
            });
        }
        private static void Hunter(IDictionary <string, CardDef> cards)
        {
            // ---------------------------------------- MINION - HUNTER
            // [BRM_014] Core Rager - COST:4 [ATK:4/HP:4]
            // - Race: beast, Set: brm, Rarity: rare
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> If your hand is empty, gain +3/+3.
            // --------------------------------------------------------
            // GameTag:
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("BRM_014", new CardDef(new Power
            {
                PowerTask = ComplexTask.Create(
                    new ConditionTask(EntityType.SOURCE, SelfCondition.IsHandEmpty),
                    new FlagTask(true, new AddEnchantmentTask("BRM_014e", EntityType.SOURCE))),
            }));

            // ----------------------------------------- SPELL - HUNTER
            // [BRM_013] Quick Shot - COST:2
            // - Set: brm, Rarity: common
            // --------------------------------------------------------
            // Text: Deal $3 damage.
            //       If your hand is empty, draw a card. @spelldmg
            // --------------------------------------------------------
            // GameTag:
            // - AFFECTED_BY_SPELL_POWER = 1
            // --------------------------------------------------------
            // PlayReq:
            // - REQ_TARGET_TO_PLAY = 0
            // --------------------------------------------------------
            cards.Add("BRM_013", new CardDef(new Dictionary <PlayReq, int>()
            {
                { PlayReq.REQ_TARGET_TO_PLAY, 0 }
            }, new Power
            {
                PowerTask = ComplexTask.Create(
                    new DamageTask(3, EntityType.TARGET, true),
                    new ConditionTask(EntityType.SOURCE, SelfCondition.IsHandEmpty),
                    new FlagTask(true, new DrawTask()))
            }));
        }
Exemple #25
0
 private static void Paladin(IDictionary <string, CardDef> cards)
 {
     // ---------------------------------------- SPELL - PALADIN
     // [EX1_349] Divine Favor - COST:3
     // - Fac: neutral, Set: expert1, Rarity: rare
     // --------------------------------------------------------
     // Text: Draw cards until you have as many in hand as your opponent.
     // --------------------------------------------------------
     cards.Add("EX1_349", new CardDef(new Power
     {
         PowerTask = ComplexTask.Create(
             new FuncNumberTask(p =>
         {
             Controller controller = p.Controller;
             int diffHands         = controller.Opponent.HandZone.Count - controller.HandZone.Count;
             return(diffHands > 0 ? diffHands : 0);
         }),
             new DrawNumberTask())
     }));
 }
Exemple #26
0
        private static void Druid(IDictionary <string, CardDef> cards)
        {
            // ----------------------------------------- MINION - DRUID
            // [GIL_130] Gloom Stag - COST:5 [ATK:2/HP:6]
            // - Race: beast, Set: gilneas, Rarity: epic
            // --------------------------------------------------------
            // Text: <b>Taunt</b>
            //       <b>Battlecry:</b> If your deck has only odd-Cost cards, gain +2/+2.
            // --------------------------------------------------------
            // GameTag:
            // - TAUNT = 1
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("GIL_130", new CardDef(new Power
            {
                PowerTask = ComplexTask.Create(
                    new ConditionTask(EntityType.SOURCE, SelfCondition.HasNoEvenCostInDeck),
                    new FlagTask(true, new AddEnchantmentTask("GIL_130e", EntityType.SOURCE)))
            }));

            // ------------------------------------------ SPELL - DRUID
            // [EX1_161] Naturalize - COST:1
            // - Fac: neutral, Set: expert1, Rarity: common
            // --------------------------------------------------------
            // Text: Destroy a minion.
            //       Your opponent draws 2_cards.
            // --------------------------------------------------------
            // PlayReq:
            // - REQ_TARGET_TO_PLAY = 0
            // - REQ_MINION_TARGET = 0
            // --------------------------------------------------------
            cards.Add("EX1_161", new CardDef(new Dictionary <PlayReq, int>()
            {
                { PlayReq.REQ_TARGET_TO_PLAY, 0 }, { PlayReq.REQ_MINION_TARGET, 0 }
            }, new Power
            {
                PowerTask = ComplexTask.Create(
                    new DestroyTask(EntityType.TARGET),
                    new EnqueueTask(2, new DrawOpTask()))
            }));
        }
Exemple #27
0
        private static void Priest(IDictionary <string, List <Enchantment> > cards)
        {
            // ----------------------------------------- SPELL - PRIEST
            // [BRM_017] Resurrect - COST:2
            // - Set: fp2, Rarity: rare
            // --------------------------------------------------------
            // Text: Summon a random friendly minion that died this game.
            // --------------------------------------------------------
            // PlayReq:
            // - REQ_NUM_MINION_SLOTS = 1
            // - REQ_FRIENDLY_MINION_DIED_THIS_GAME = 0
            // --------------------------------------------------------
            cards.Add("BRM_017", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.SPELL,
                    SingleTask = ComplexTask.SummonRandomMinionThatDied(),
                },
            });

            // ---------------------------------------- MINION - PRIEST
            // [BRM_004] Twilight Whelp - COST:1 [ATK:2/HP:1]
            // - Race: dragon, Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> If you're holding a Dragon, gain +2 Health.
            // --------------------------------------------------------
            // GameTag:
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("BRM_004", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = ComplexTask.Create(
                        new ConditionTask(EntityType.SOURCE, SelfCondition.IsDragonInHand),
                        new FlagTask(true, new BuffTask(Buffs.Health(2), EntityType.SOURCE)))
                },
            });
        }
Exemple #28
0
 private static void Mage(IDictionary <string, Power> cards)
 {
     // ------------------------------------------- SPELL - MAGE
     // [FP1_018] Duplicate - COST:3
     // - Set: naxx, Rarity: common
     // --------------------------------------------------------
     // Text: <b>Secret:</b> When a friendly minion dies, put 2 copies of it into your hand.
     // --------------------------------------------------------
     // GameTag:
     // - SECRET = 1
     // --------------------------------------------------------
     cards.Add("FP1_018", new Power {
         Trigger = new Trigger(TriggerType.DEATH)
         {
             TriggerSource = TriggerSource.FRIENDLY,
             SingleTask    = ComplexTask.Create(
                 new ConditionTask(EntityType.SOURCE, SelfCondition.IsHandFull),
                 new FlagTask(false, ComplexTask.Secret(
                                  new CopyTask(EntityType.TARGET, Zone.HAND, 2))))
         }
     });
 }
Exemple #29
0
        private static void Warrior(IDictionary <string, List <Enchantment> > cards)
        {
            // ---------------------------------------- SPELL - WARRIOR
            // [BRM_015] Revenge - COST:2
            // - Set: fp2, Rarity: rare
            // --------------------------------------------------------
            // Text: Deal $1 damage to all minions. If you have 12 or less Health, deal $3 damage instead. *spelldmg
            // --------------------------------------------------------
            cards.Add("BRM_015", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.SPELL,
                    SingleTask = ComplexTask.Create(
                        new ConditionTask(EntityType.HERO, SelfCondition.IsHealth(12, RelaSign.LEQ))),
                },
            });

            // --------------------------------------- MINION - WARRIOR
            // [BRM_016] Axe Flinger - COST:4 [ATK:2/HP:5]
            // - Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: Whenever this minion takes damage, deal 2 damage to the enemy hero.
            // --------------------------------------------------------
            cards.Add("BRM_016", new List <Enchantment> {
                new Enchantment
                {
                    Area       = EnchantmentArea.SELF,
                    Activation = EnchantmentActivation.BOARD_ZONE,
                    Trigger    = new TriggerBuilder().Create()
                                 .EnableConditions(SelfCondition.IsInZone(Zone.PLAY), SelfCondition.IsNotSilenced)
                                 .ApplyConditions(RelaCondition.IsOther(SelfCondition.IsTagValue(GameTag.TO_BE_DESTROYED, 0)))
                                 .TriggerEffect(GameTag.DAMAGE, 1)
                                 .SingleTask(new DamageTask(2, EntityType.OP_HERO))
                                 .Build()
                }
            });
        }
Exemple #30
0
 private static void Warlock(IDictionary <string, CardDef> cards)
 {
     // --------------------------------------- MINION - WARLOCK
     // [EX1_310] Doomguard - COST:5 [ATK:5/HP:7]
     // - Race: demon, Fac: neutral, Set: expert1, Rarity: rare
     // --------------------------------------------------------
     // Text: <b>Charge</b>. <b>Battlecry:</b> Discard two random cards.
     // --------------------------------------------------------
     // GameTag:
     // - CHARGE = 1
     // - BATTLECRY = 1
     // - 890 = 2
     // --------------------------------------------------------
     cards.Add("EX1_310", new CardDef(new Power
     {
         PowerTask = ComplexTask.DiscardRandomCard(2)
     }));
     // ---------------------------------------- SPELL - WARLOCK
     // [EX1_316] Power Overwhelming - COST:1
     // - Fac: neutral, Set: hof, Rarity: common
     // --------------------------------------------------------
     // Text: Give a friendly minion +4/+4 until end of turn. Then, it dies. Horribly.
     // --------------------------------------------------------
     // PlayReq:
     // - REQ_TARGET_TO_PLAY = 0
     // - REQ_MINION_TARGET = 0
     // - REQ_FRIENDLY_TARGET = 0
     // --------------------------------------------------------
     cards.Add("EX1_316", new CardDef(new Dictionary <PlayReq, int>()
     {
         { PlayReq.REQ_TARGET_TO_PLAY, 0 }, { PlayReq.REQ_MINION_TARGET, 0 }, { PlayReq.REQ_FRIENDLY_TARGET, 0 }
     }, new Power
     {
         PowerTask = new AddEnchantmentTask("EX1_316e", EntityType.TARGET)
     }));
 }