예제 #1
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);
        }
예제 #2
0
        public static Trigger MinionAttacksAndTarget(params ISimpleTask[] list)
        {
            var taskList = new List <ISimpleTask>
            {
                new IncludeTask(EntityType.SOURCE),
                new FuncPlayablesTask(p =>
                {
                    var result = new List <IPlayable>();
                    var minion = p[0] as Minion;
                    if (minion == null)
                    {
                        return(result);
                    }
                    var target = minion.Game.IdEntityDic[minion.ProposedDefender] as ICharacter;
                    if (target != null)
                    {
                        result.Add(target);
                    }
                    return(result);
                })
            };

            taskList.AddRange(list);

            return(new TriggerBuilder().Create()
                   .EnableConditions(SelfCondition.IsInZone(Zone.PLAY), SelfCondition.IsNotSilenced)
                   .TriggerEffect(GameTag.ATTACKING, -1)
                   .SingleTask(StateTaskList <ISimpleTask> .Chain(taskList.ToArray()))
                   .Build());
        }
예제 #3
0
 public static Trigger Inspire(ISimpleTask task)
 {
     return(new TriggerBuilder().Create()
            .EnableConditions(SelfCondition.IsInZone(Zone.PLAY), SelfCondition.IsNotSilenced)
            .TriggerEffect(GameTag.HEROPOWER_ACTIVATIONS_THIS_TURN, 1)
            .SingleTask(task)
            .Build());
 }
예제 #4
0
 public static Trigger FriendlySpellTargetingMe(ISimpleTask task)
 {
     return(new TriggerBuilder().Create()
            .EnableConditions(SelfCondition.IsInZone(Zone.PLAY), SelfCondition.IsNotSilenced)
            .ApplyConditions(RelaCondition.IsOther(SelfCondition.IsSpell), RelaCondition.IsTargetingMe, RelaCondition.IsFriendly)
            .FastExecution(true)
            .TriggerEffect(GameTag.JUST_PLAYED, 1)
            .SingleTask(task)
            .Build());
 }
예제 #5
0
 public static Enchant Cost(int amount, bool oneTurnActive = false)
 {
     return(new Enchant
     {
         TurnsActive = oneTurnActive ? 0 : -1,
         EnableConditions = new List <SelfCondition> {
             SelfCondition.IsInZone(Zone.HAND)
         },
         Effects = new Dictionary <GameTag, int>
         {
             [GameTag.COST] = amount
         }
     });
 }
예제 #6
0
 public static Enchant CostFix(int amount, bool oneTurnActive = false)
 {
     return(new Enchant
     {
         TurnsActive = oneTurnActive ? 0 : -1,
         EnableConditions = new List <SelfCondition> {
             SelfCondition.IsInZone(Zone.HAND, Zone.DECK)
         },
         Effects = new Dictionary <GameTag, int>
         {
             [GameTag.COST] = 0
         },
         FixedValueFunc = owner => amount
     });
 }
예제 #7
0
 public static Enchant HeroPowerDamage(int amount)
 {
     return(new Enchant
     {
         EnableConditions = new List <SelfCondition>
         {
             SelfCondition.IsInZone(Zone.PLAY),
             SelfCondition.IsNotSilenced
         },
         Effects = new Dictionary <GameTag, int>
         {
             [GameTag.HEROPOWER_DAMAGE] = amount
         }
     });
 }
예제 #8
0
 public static Enchant StealthTurn(int attackedThisTurn)
 {
     return(new Enchant
     {
         TurnsActive = 1,
         EnableConditions = new List <SelfCondition>
         {
             SelfCondition.IsInZone(Zone.PLAY),
             SelfCondition.IsNotAttackingThisTurn(attackedThisTurn)
         },
         Effects = new Dictionary <GameTag, int>
         {
             [GameTag.STEALTH] = 1
         }
     });
 }
예제 #9
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()
                }
            });
        }
예제 #10
0
 //public static Enchant Stealth()
 //{
 //    return new Enchant
 //    {
 //        TurnsActive = 1,
 //        EnableConditions = SelfBuffConditions,
 //        Effects = new Dictionary<GameTag, int>
 //        {
 //            [GameTag.STEALTH] = 1
 //        },
 //    };
 //}
 public static Enchant CthunAttackHealth(int amount)
 {
     return(new Enchant
     {
         TurnsActive = -1,
         EnableConditions = new List <SelfCondition>
         {
             SelfCondition.IsInZone(Zone.SETASIDE, Zone.HAND, Zone.PLAY),
             SelfCondition.IsNotSilenced,
         },
         Effects = new Dictionary <GameTag, int>
         {
             [GameTag.ATK] = amount,
             [GameTag.HEALTH] = amount
         },
         // Health Retention task ...
         RemovalTask = new HealthRetentionTask(amount, EntityType.SOURCE)
     });
 }
예제 #11
0
        public static Enchant Cost(int amount, params RelaCondition[] list)
        {
            var relaConditions = new List <RelaCondition>();

            relaConditions.AddRange(list);
            return(new Enchant
            {
                EnableConditions = new List <SelfCondition>
                {
                    SelfCondition.IsInZone(Zone.PLAY),
                    SelfCondition.IsNotSilenced
                },
                ApplyConditions = relaConditions,
                Effects = new Dictionary <GameTag, int>
                {
                    [GameTag.COST] = amount
                }
            });
        }
예제 #12
0
        public static Enchant CostFunc(Func <IPlayable, int> function, params RelaCondition[] list)
        {
            var relaConditions = new List <RelaCondition>();

            relaConditions.AddRange(list);
            return(new Enchant
            {
                EnableConditions = new List <SelfCondition>
                {
                    SelfCondition.IsInZone(Zone.HAND)
                },
                Effects = new Dictionary <GameTag, int>
                {
                    [GameTag.COST] = 0
                },
                ApplyConditions = relaConditions,
                ValueFunc = function
            });
        }
예제 #13
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()
                }
            });
        }
예제 #14
0
        public static Enchant SimpleInclSelf(Dictionary <GameTag, int> effects, params RelaCondition[] list)
        {
            // health is only allowed with the HealthRetentionTask
            if (effects.Keys.Contains(GameTag.HEALTH))
            {
                throw new NotSupportedException();
            }

            var result = new Enchant
            {
                EnableConditions = new List <SelfCondition>
                {
                    SelfCondition.IsInZone(Zone.PLAY),
                    SelfCondition.IsNotSilenced
                },
                Effects = effects
            };

            list.ToList().ForEach(p => result.ApplyConditions.Add(p));
            return(result);
        }
예제 #15
0
        public static Enchant Attack(int amount, params RelaCondition[] list)
        {
            var result = new Enchant
            {
                EnableConditions = new List <SelfCondition>
                {
                    SelfCondition.IsInZone(Zone.PLAY),
                    SelfCondition.IsNotSilenced
                },
                ApplyConditions = new List <RelaCondition>
                {
                    RelaCondition.IsNotSelf
                },
                Effects = new Dictionary <GameTag, int>()
                {
                    [GameTag.ATK] = amount
                }
            };

            list.ToList().ForEach(p => result.ApplyConditions.Add(p));
            return(result);
        }
예제 #16
0
 private static void Warlock(IDictionary <string, List <Enchantment> > cards)
 {
     // ---------------------------------------- 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_MINION_TARGET = 0
     // - REQ_FRIENDLY_TARGET = 0
     // - REQ_TARGET_TO_PLAY = 0
     // --------------------------------------------------------
     cards.Add("EX1_316", new List <Enchantment> {
         new Enchantment
         {
             InfoCardId = "EX1_316e",
             Area       = EnchantmentArea.TARGET,
             Activation = EnchantmentActivation.SPELL,
             SingleTask = new BuffTask(Buffs.AttackHealth(4), EntityType.TARGET),
             Enchant    = new Enchant
             {
                 TurnsActive      = 0,
                 EnableConditions = new List <SelfCondition>
                 {
                     SelfCondition.IsNotSilenced,
                     SelfCondition.IsInZone(Zone.PLAY)
                 },
                 Effects = new Dictionary <GameTag, int>
                 {
                     [GameTag.NUM_TURNS_IN_PLAY] = 0
                 },
                 SingleTask = new DestroyTask(EntityType.TARGET)
             }
         }
     });
 }
예제 #17
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()
                }
            });
        }
예제 #18
0
        private static void Neutral(IDictionary <string, List <Enchantment> > cards)
        {
            // --------------------------------------- MINION - NEUTRAL
            // [BRM_019] Grim Patron - COST:5 [ATK:3/HP:3]
            // - Set: fp2, Rarity: rare
            // --------------------------------------------------------
            // Text: Whenever this minion survives damage, summon another Grim Patron.
            // --------------------------------------------------------
            cards.Add("BRM_019", 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_019", SummonSide.RIGHT))
                                 .Build()
                }
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_020] Dragonkin Sorcerer - COST:4 [ATK:3/HP:5]
            // - Race: dragon, Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: Whenever <b>you</b> target this minion with a spell, gain +1/+1.
            // --------------------------------------------------------
            cards.Add("BRM_020", new List <Enchantment> {
                new Enchantment
                {
                    Area       = EnchantmentArea.HAND,
                    Activation = EnchantmentActivation.BOARD_ZONE,
                    Trigger    = Triggers.FriendlySpellTargetingMe(new BuffTask(Buffs.AttackHealth(1), EntityType.SOURCE))
                }
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_022] Dragon Egg - COST:1 [ATK:0/HP:2]
            // - Set: fp2, Rarity: rare
            // --------------------------------------------------------
            // Text: Whenever this minion takes damage, summon a 2/1 Whelp.
            // --------------------------------------------------------
            cards.Add("BRM_022", new List <Enchantment> {
                new Enchantment
                {
                    Area       = EnchantmentArea.SELF,
                    Activation = EnchantmentActivation.BOARD_ZONE,
                    Trigger    = new TriggerBuilder().Create()
                                 .EnableConditions(SelfCondition.IsInZone(Zone.PLAY), SelfCondition.IsNotSilenced)
                                 .TriggerEffect(GameTag.DAMAGE, 1)
                                 .SingleTask(new SummonTask("BRM_004t", SummonSide.RIGHT))
                                 .Build()
                }
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_024] Drakonid Crusher - COST:6 [ATK:6/HP:6]
            // - Race: dragon, Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> If your opponent has 15 or less Health, gain +3/+3.
            // --------------------------------------------------------
            // GameTag:
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("BRM_024", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = ComplexTask.Create(
                        new ConditionTask(EntityType.OP_HERO, SelfCondition.IsHealth(15, RelaSign.LEQ)),
                        new FlagTask(true, new BuffTask(Buffs.AttackHealth(2), EntityType.SOURCE)))
                },
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_025] Volcanic Drake - COST:6 [ATK:6/HP:4]
            // - Race: dragon, Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: Costs (1) less for each minion that died this turn.
            // --------------------------------------------------------
            cards.Add("BRM_025", new List <Enchantment> {
                new Enchantment
                {
                    Area       = EnchantmentArea.SELF,
                    Activation = EnchantmentActivation.HAND_ZONE,
                    Enchant    = Auras.CostFunc(
                        owner => - (owner.Controller.NumFriendlyMinionsThatDiedThisTurn +
                                    owner.Controller.Opponent.NumFriendlyMinionsThatDiedThisTurn))
                }
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_026] Hungry Dragon - COST:4 [ATK:5/HP:6]
            // - Race: dragon, Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> Summon a random 1-Cost minion for your opponent.
            // --------------------------------------------------------
            // GameTag:
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("BRM_026", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = ComplexTask.Create(
                        new RandomMinionTask(GameTag.COST, 1),
                        new SummonOpTask()),
                },
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_027] Majordomo Executus - COST:9 [ATK:9/HP:7]
            // - Set: fp2, Rarity: legendary
            // --------------------------------------------------------
            // Text: <b>Deathrattle:</b> Replace your hero with Ragnaros, the Firelord.
            // --------------------------------------------------------
            // GameTag:
            // - ELITE = 1
            // - DEATHRATTLE = 1
            // --------------------------------------------------------
            cards.Add("BRM_027", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.DEATHRATTLE,
                    SingleTask = new ReplaceHeroTask("BRM_027h", "BRM_027p"),
                },
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_028] Emperor Thaurissan - COST:6 [ATK:5/HP:5]
            // - Set: fp2, Rarity: legendary
            // --------------------------------------------------------
            // Text: At the end of your turn, reduce the Cost of cards in your hand by (1).
            // --------------------------------------------------------
            // GameTag:
            // - ELITE = 1
            // --------------------------------------------------------
            cards.Add("BRM_028", new List <Enchantment> {
                new Enchantment
                {
                    Area       = EnchantmentArea.CONTROLLER,
                    Activation = EnchantmentActivation.BOARD_ZONE,
                    Trigger    = new TriggerBuilder().Create()
                                 .EnableConditions(SelfCondition.IsInZone(Zone.PLAY), SelfCondition.IsNotSilenced)
                                 .TriggerEffect(GameTag.TURN_START, -1)
                                 .SingleTask(new BuffTask(Buffs.Cost(-1), EntityType.HAND))
                                 .Build()
                }
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_029] Rend Blackhand - COST:7 [ATK:8/HP:4]
            // - Set: fp2, Rarity: legendary
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> If you're holding a Dragon, destroy a <b>Legendary</b> minion.
            // --------------------------------------------------------
            // GameTag:
            // - ELITE = 1
            // - BATTLECRY = 1
            // --------------------------------------------------------
            // PlayReq:
            // - REQ_MINION_TARGET = 0
            // - REQ_TARGET_IF_AVAILABLE_AND_DRAGON_IN_HAND = 0
            // - REQ_LEGENDARY_TARGET = 0
            // --------------------------------------------------------
            cards.Add("BRM_029", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = new DestroyTask(EntityType.TARGET)
                },
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_030] Nefarian - COST:9 [ATK:8/HP:8]
            // - Race: dragon, Set: fp2, Rarity: legendary
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> Add 2 random spells to your hand <i>(from your opponent's class)</i>.
            // --------------------------------------------------------
            // GameTag:
            // - ELITE = 1
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("BRM_030", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.BOARD_ZONE,
                    SingleTask = new EnqueueTask(2, ComplexTask.Create(
                                                     new RandomCardTask(EntityType.OP_HERO),
                                                     new AddStackTo(EntityType.HAND))),
                }
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_031] Chromaggus - COST:8 [ATK:6/HP:8]
            // - Race: dragon, Set: fp2, Rarity: legendary
            // --------------------------------------------------------
            // Text: Whenever you draw a card, put another copy into your hand.
            // --------------------------------------------------------
            // GameTag:
            // - ELITE = 1
            // --------------------------------------------------------
            cards.Add("BRM_031", new List <Enchantment> {
                new Enchantment
                {
                    Area       = EnchantmentArea.CONTROLLER,
                    Activation = EnchantmentActivation.BOARD_ZONE,
                    Trigger    = new TriggerBuilder().Create()
                                 .EnableConditions(SelfCondition.IsNotDead, SelfCondition.IsNotSilenced)
                                 .TriggerEffect(GameTag.LAST_CARD_DRAWN, 0)
                                 .SingleTask(ComplexTask.Create(
                                                 new IncludeTask(EntityType.SOURCE),
                                                 new FuncPlayablesTask(p =>
                    {
                        Controller controller = p[0].Controller;
                        return(new List <IPlayable> {
                            controller.Game.IdEntityDic[controller.LastCardDrawn]
                        });
                    }),
                                                 new CopyTask(EntityType.STACK, 1),
                                                 new AddStackTo(EntityType.HAND)))
                                 .Build()
                }
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_033] Blackwing Technician - COST:3 [ATK:2/HP:4]
            // - Fac: neutral, Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> If you're holding a Dragon, gain +1/+1.
            // --------------------------------------------------------
            // GameTag:
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("BRM_033", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = ComplexTask.Create(
                        new ConditionTask(EntityType.SOURCE, SelfCondition.IsDragonInHand),
                        new FlagTask(true, new BuffTask(Buffs.AttackHealth(1), EntityType.SOURCE)))
                },
            });

            // --------------------------------------- MINION - NEUTRAL
            // [BRM_034] Blackwing Corruptor - COST:5 [ATK:5/HP:4]
            // - Fac: neutral, Set: fp2, Rarity: common
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> If you're holding a Dragon, deal 3 damage.
            // --------------------------------------------------------
            // GameTag:
            // - BATTLECRY = 1
            // --------------------------------------------------------
            // PlayReq:
            // - REQ_TARGET_IF_AVAILABLE_AND_DRAGON_IN_HAND = 0
            // --------------------------------------------------------
            cards.Add("BRM_034", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = ComplexTask.Create(
                        new ConditionTask(EntityType.SOURCE, SelfCondition.IsDragonInHand),
                        new FlagTask(true, new DamageTask(3, EntityType.TARGET)))
                },
            });
        }
예제 #19
0
        private static void Neutral(IDictionary <string, List <Enchantment> > cards)
        {
            // --------------------------------------- MINION - NEUTRAL
            // [EX1_016] Sylvanas Windrunner - COST:6 [ATK:5/HP:5]
            // - Set: hof, Rarity: legendary
            // --------------------------------------------------------
            // Text: <b>Deathrattle:</b> Take
            //       control of a random
            //       enemy minion.
            // --------------------------------------------------------
            // GameTag:
            // - ELITE = 1
            // - DEATHRATTLE = 1
            // --------------------------------------------------------
            cards.Add("EX1_016", new List <Enchantment> {
                new Enchantment
                {
                    Activation = EnchantmentActivation.DEATHRATTLE,
                    SingleTask = ComplexTask.Create(
                        new RandomTask(1, EntityType.OP_MINIONS),
                        new ControlTask(EntityType.STACK))
                }
            });

            // --------------------------------------- MINION - NEUTRAL
            // [EX1_062] Old Murk-Eye - COST:4 [ATK:2/HP:4]
            // - Race: murloc, Fac: neutral, Set: hof, Rarity: legendary
            // --------------------------------------------------------
            // Text: <b>Charge</b>. Has +1 Attack for each other Murloc on the battlefield.
            // --------------------------------------------------------
            // GameTag:
            // - ELITE = 1
            // - CHARGE = 1
            // --------------------------------------------------------
            cards.Add("EX1_062", new List <Enchantment> {
                // TODO [EX1_062] Old Murk-Eye && Test: Old Murk-Eye_EX1_062
                new Enchantment
                {
                    //Activation = null,
                    //SingleTask = null,
                }
            });

            // --------------------------------------- MINION - NEUTRAL
            // [EX1_112] Gelbin Mekkatorque - COST:6 [ATK:6/HP:6]
            // - Fac: alliance, Set: hof, Rarity: legendary
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> Summon an AWESOME invention.
            // --------------------------------------------------------
            // Entourage: Mekka1, Mekka2, Mekka3, Mekka4
            // --------------------------------------------------------
            // GameTag:
            // - ELITE = 1
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("EX1_112", new List <Enchantment> {
                // TODO [EX1_112] Gelbin Mekkatorque && Test: Gelbin Mekkatorque_EX1_112
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = null,
                },
            });

            // --------------------------------------- MINION - NEUTRAL
            // [EX1_284] Azure Drake - COST:5 [ATK:4/HP:4]
            // - Race: dragon, Fac: neutral, Set: hof, Rarity: rare
            // --------------------------------------------------------
            // Text: <b>Spell Damage +1</b>. <b>Battlecry:</b> Draw a card.
            // --------------------------------------------------------
            // GameTag:
            // - SPELLPOWER = 1
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("EX1_284", new List <Enchantment> {
                new Enchantment
                {
                    Area       = EnchantmentArea.HERO,
                    Activation = EnchantmentActivation.BOARD,
                    Enchant    = Auras.SpellPowerDamage(1)
                },
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = new DrawTask()
                }
            });

            // --------------------------------------- MINION - NEUTRAL
            // [EX1_298] Ragnaros the Firelord - COST:8 [ATK:8/HP:8]
            // - Race: elemental, Fac: neutral, Set: hof, Rarity: legendary
            // --------------------------------------------------------
            // Text: Can't attack. At the end of your turn, deal 8 damage to a random enemy.
            // --------------------------------------------------------
            // GameTag:
            // - ELITE = 1
            // - CANT_ATTACK = 1
            // --------------------------------------------------------
            cards.Add("EX1_298", new List <Enchantment> {
                new Enchantment
                {
                    Area       = EnchantmentArea.CONTROLLER,
                    Activation = EnchantmentActivation.BOARD,
                    Trigger    = new TriggerBuilder().Create()
                                 .EnableConditions(SelfCondition.IsInZone(Zone.PLAY), SelfCondition.IsNotSilenced)
                                 .TriggerEffect(GameTag.TURN_START, -1)
                                 .SingleTask(ComplexTask.DamageRandomTargets(1, EntityType.ENEMIES, 8))
                                 .Build()
                }
            });

            // --------------------------------------- MINION - NEUTRAL
            // [NEW1_016] Captain's Parrot - COST:2 [ATK:1/HP:1]
            // - Race: beast, Set: hof, Rarity: epic
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> Draw a Pirate from your deck.
            // --------------------------------------------------------
            // GameTag:
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("NEW1_016", new List <Enchantment> {
                // TODO [NEW1_016] Captain's Parrot && Test: Captain's Parrot_NEW1_016
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = null,
                },
            });

            // --------------------------------------- MINION - NEUTRAL
            // [PRO_001] Elite Tauren Chieftain - COST:5 [ATK:5/HP:5]
            // - Set: hof, Rarity: legendary
            // --------------------------------------------------------
            // Text: <b>Battlecry:</b> Give both players the power to ROCK! (with a Power Chord card)
            // --------------------------------------------------------
            // Entourage: PRO_001a, PRO_001b, PRO_001c
            // --------------------------------------------------------
            // GameTag:
            // - ELITE = 1
            // - BATTLECRY = 1
            // --------------------------------------------------------
            cards.Add("PRO_001", new List <Enchantment> {
                // TODO [PRO_001] Elite Tauren Chieftain && Test: Elite Tauren Chieftain_PRO_001
                new Enchantment
                {
                    Activation = EnchantmentActivation.BATTLECRY,
                    SingleTask = null,
                },
            });
        }