コード例 #1
0
ファイル: Sim_CS2_011.cs プロジェクト: martdeboer/silverfish
 //    verleiht euren charakteren +2 angriff in diesem zug.
 public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
 {
     List<Minion> temp = (ownplay) ? p.ownMinions : p.enemyMinions;
     foreach (Minion t in temp)
     {
         p.minionGetTempBuff(t, 2, 0);
     }
     p.minionGetTempBuff(ownplay ? p.ownHero : p.enemyHero, 2, 0);
 }
コード例 #2
0
ファイル: Sim_CS2_105.cs プロジェクト: JayMansel/silverfish
//    verleiht eurem helden +4 angriff in diesem zug.
		public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
		{
            if (ownplay)
            {
                p.minionGetTempBuff(p.ownHero, 4, 0);
            }
            else
            {
                p.minionGetTempBuff(p.enemyHero, 4, 0);
            }

		}
コード例 #3
0
ファイル: Sim_EX1_055.cs プロジェクト: spanos123/silverfish
//    erhält jedes mal +2 angriff in diesem zug, wenn ihr einen zauber wirkt.
        public override void onCardIsGoingToBePlayed(Playfield p, CardDB.Card c, bool wasOwnCard, Minion triggerEffectMinion, Minion target)
        {
            if (triggerEffectMinion.own == wasOwnCard && c.type == CardDB.cardtype.SPELL)
            {
                p.minionGetTempBuff(triggerEffectMinion, 2, 0);
            }
        }
コード例 #4
0
        //    Your Mechs cost (1) less.

        public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
        {
            if (target != null)
            {
                p.minionGetTempBuff(target, -2, 0);
            }
        }
コード例 #5
0
ファイル: Sim_GvG_057.cs プロジェクト: martdeboer/silverfish
        //   Restore #4 Health to your hero and gain +2 Attack this turn.

        public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
        {
            if (ownplay)
            {
                int heal = p.getSpellHeal(4);
                p.minionGetDamageOrHeal(p.ownHero, -heal);
                p.minionGetTempBuff(p.ownHero, 2, 0);
            }
            else
            {
                int heal = p.getEnemySpellHeal(4);
                p.minionGetDamageOrHeal(p.enemyHero, -heal);
                p.minionGetTempBuff(p.enemyHero, 2, 0);
            }

        }
コード例 #6
0
ファイル: Sim_CS2_011.cs プロジェクト: JayMansel/silverfish
//    verleiht euren charakteren +2 angriff in diesem zug.
		public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
		{
            List<Minion> temp = (ownplay) ? p.ownMinions : p.enemyMinions;
            for (int i = 0; i < temp.Count; i++)
            {
                p.minionGetTempBuff(temp[i], 2, 0);
            }
            if (ownplay)
            {
                p.minionGetTempBuff(p.ownHero, 2, 0);
            }
            else
            {
                p.minionGetTempBuff(p.enemyHero, 2, 0);
            }
		}
コード例 #7
0
        private void doSomeBasicEnemyAi(Playfield p)
        {
            if (p.enemyHeroName == HeroEnum.mage)
            {
                if (Probabilitymaker.Instance.enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_561)) p.ownHero.Hp = Math.Max(5, p.ownHero.Hp - 7);
            }

            //play some cards (to not overdraw)
            if (p.enemyAnzCards >= 8)
            {
                p.enemyAnzCards--;
                p.triggerCardsChanged(false);
            }
            if (p.enemyAnzCards >= 4)
            {
                p.enemyAnzCards--;
                p.triggerCardsChanged(false);
            }
            if (p.enemyAnzCards >= 2)
            {
                p.enemyAnzCards--;
                p.triggerCardsChanged(false);
            }
            
            //if warrior, equip a weapon
            if (p.enemyHeroName == HeroEnum.warrior && p.enemyWeaponDurability == 0 && p.mana >= 4)
            {
                p.equipWeapon(this.warriorweapon, false);
                if (p.ownHero.Hp>=1 && p.ownHero.Hp <= p.ownHero.maxHp - 3)  p.ownHero.Hp += 3; //to not change lethal
            }
            if (p.enemyHeroName == HeroEnum.thief && p.enemyWeaponDurability != 0 && p.mana >= 4)
            {
                p.enemyWeaponAttack++;
                if (p.ownHero.Hp >= 1 && p.ownHero.Hp <= p.ownHero.maxHp - 1) p.ownHero.Hp += 1;//to not change lethal
            }
            if (p.enemyHeroName == HeroEnum.pala && p.enemyWeaponDurability == 0 && p.mana >= 4)
            {
                p.equipWeapon(this.warriorweapon, false);//warrion weapon is ok for pala 
                if (p.ownHero.Hp >= 1 && p.ownHero.Hp <= p.ownHero.maxHp - 3) p.ownHero.Hp += 3;//to not change lethal
            }

            //int i = 0;
            //int count = 0;
            bool hasmech=false;
            foreach (Minion m in p.enemyMinions)
            {
                if(m.handcard.card.race == TAG_RACE.MECHANICAL) hasmech=true;
            }
            

            foreach (Minion m in p.enemyMinions.ToArray())
            {
                if (m.silenced)
                    continue;

                switch (m.name)
                {
                    case CardDB.cardName.grimpatron:
                        if(p.enemyMinions.Count<=6 && p.enemyHeroName == HeroEnum.warrior)
                        {
                            bool hascharger = false;
                            foreach (Minion mini in p.enemyMinions)
                            {
                                if (!mini.silenced && mini.name == CardDB.cardName.warsongcommander) hascharger=true;
                            }
                            if (!hascharger)
                            {
                                p.callKid(warsong, p.enemyMinions.Count, false);
                            }

                        }
                        break;
                    case CardDB.cardName.fjolalightbane:
                        if (p.enemyAnzCards >= 2 && p.mana>=2)
                        {
                            m.divineshild = true;
                            p.mana -= 2;
                        }
                        break;

                    case CardDB.cardName.junkbot:
                        if (hasmech)
                        {
                            p.minionGetBuffed(m, 2, 2);
                        }
                        break;

                    case CardDB.cardName.siegeengine:
                        if (p.enemyHeroName == HeroEnum.warrior)
                        {
                            p.minionGetBuffed(m, 1, 0);
                        }
                        break;

                    case CardDB.cardName.gahzrilla:
                        if (m.Hp >= 2)
                        {
                            p.minionGetBuffed(m, m.Angr, 0);
                        }
                        break;
                        //draw cards if he has gadgetzanauctioneer or starving buzzard
                    case CardDB.cardName.gadgetzanauctioneer:
                    case CardDB.cardName.starvingbuzzard:
                        if (p.enemyAnzCards >= 2 && p.enemyDeckSize >= 1)
                        {
                            p.drawACard(CardDB.cardIDEnum.None, false);
                        }
                        break;

                        //if there is something to heal... draw a card with northshirecleric
                    case CardDB.cardName.northshirecleric:
                        {
                            if (p.mana <= 2) break;
                            p.mana -= 2;
                            int anz = 0;
                            foreach (Minion mnn in p.enemyMinions)
                            {
                                if (mnn.wounded) anz++;
                            }
                            foreach (Minion mnn in p.ownMinions)
                            {
                                if (mnn.wounded) anz++;
                            }
                            anz = Math.Min(anz, 3);
                            for (int i = 0; i < anz; i++)
                            {
                                if (p.enemyDeckSize >= 1)
                                {
                                    p.drawACard(CardDB.cardIDEnum.None, false);
                                }
                            }
                            break;
                        }

                        // spawn new minion when he have illidan
                    case CardDB.cardName.illidanstormrage:
                        if (p.enemyAnzCards >= 1)
                        {
                            p.callKid(flame, p.enemyMinions.Count, false);
                        }
                        break;

                        //buff his questingadventurer
                    case CardDB.cardName.questingadventurer:
                        if (p.enemyAnzCards >= 1)
                        {
                            p.minionGetBuffed(m, 1, 1);
                            if (p.enemyAnzCards >= 3 && p.enemyMaxMana >= 5)
                            {
                                p.minionGetBuffed(m, 1, 1);
                            }
                        }
                        break;

                        //buff his manaaddict
                    case CardDB.cardName.manaaddict:
                        if (p.enemyAnzCards >= 1)
                        {
                            p.minionGetTempBuff(m, 2, 0);
                            if (p.enemyAnzCards >= 3 && p.enemyMaxMana >= 5)
                            {
                                p.minionGetTempBuff(m, 2, 0);
                            }
                        }
                        break;

                    case CardDB.cardName.manawyrm:
                        if (p.enemyAnzCards >= 1)
                        {
                            p.minionGetBuffed(m, 1, 0);
                            if (p.enemyAnzCards >= 3 && p.enemyMaxMana >= 5)
                            {
                                p.minionGetBuffed(m, 1, 0);
                            }
                        }
                        break;

                    case CardDB.cardName.tinyknightofevil:
                    case CardDB.cardName.crowdfavorite:
                    case CardDB.cardName.secretkeeper:
                    case CardDB.cardName.unboundelemental:
                        if (p.enemyAnzCards >= 2)
                        {
                            p.minionGetBuffed(m, 1, 1);
                        }
                        break;

                    case CardDB.cardName.murloctidecaller:
                    case CardDB.cardName.undertaker:
                        if (p.enemyAnzCards >= 2)
                        {
                            p.minionGetBuffed(m, 1, 0);
                        }
                        break;

                    case CardDB.cardName.frothingberserker:
                        if (p.enemyMinions.Count + p.ownMinions.Count >= 3)
                        {
                            p.minionGetBuffed(m, 1, 0);
                        }
                        break;

                    case CardDB.cardName.gurubashiberserker:
                        if (m.Hp >= 2 && (p.enemyAnzCards >= 1 || p.enemyHeroName == HeroEnum.mage ||
                            (p.anzEnemyAuchenaiSoulpriest > 0 && p.enemyHeroName == HeroEnum.priest)
                            || (p.enemyHeroName == HeroEnum.priest && p.enemyHeroAblility.card.name == CardDB.cardName.lesserheal)
                            ) // what about shadow form?
                            )
                        {
                            p.minionGetBuffed(m, 3, 0);
                        }
                        break;

                    case CardDB.cardName.holychampion:
                    case CardDB.cardName.lightwarden:
                        {
                            int anz = 0;
                            foreach (Minion mnn in p.enemyMinions)
                            {
                                if (mnn.wounded) anz++;
                            }
                            if (p.enemyHero.wounded) anz++;
                            if (anz >= 2) p.minionGetBuffed(m, 2, 0);
                            break;
                        }
                }
            }

            //enemy will shure play a minion
            if (p.enemyMinions.Count < 7 && p.mana>=2)
            {
                p.callKid(this.flame, p.enemyMinions.Count, false);
                int bval = 0;
                if (p.mana > 3) bval = 1;
                if (p.mana > 4) bval = 2;
                if (p.mana > 5) bval = 3;
                if (p.mana > 6) bval = 4;
                if (p.mana > 9) bval = 5;
                if (p.enemyMinions.Count >= 1) p.minionGetBuffed(p.enemyMinions[p.enemyMinions.Count - 1], bval - 1, bval);
            }
        }
コード例 #8
0
ファイル: Sim_EX1_607.cs プロジェクト: JayMansel/silverfish
//    fügt einem diener $1 schaden zu. der diener erhält +2 angriff.

		public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
		{
            int dmg = (ownplay) ? p.getSpellDamageDamage(1) : p.getEnemySpellDamageDamage(1);
            p.minionGetDamageOrHeal(target, dmg);
            p.minionGetTempBuff(target, 2,0);
		}
コード例 #9
0
        private void doSomeBasicEnemyAi(Playfield p)
        {
            foreach (Minion m in p.enemyMinions)
            {
                if(m.silenced) continue;
                if (p.enemyAnzCards >= 2 && (m.name == CardDB.cardName.gadgetzanauctioneer || m.name == CardDB.cardName.starvingbuzzard))
                {
                    if (p.enemyDeckSize >= 1)
                    {
                        p.drawACard(CardDB.cardName.unknown, false);
                    }
                }
                if (m.name == CardDB.cardName.northshirecleric)
                {
                    int anz = 0;
                    foreach (Minion mnn in p.enemyMinions)
                    {
                        if (mnn.wounded) anz++;
                    }
                    anz = Math.Min(anz, 3);
                    for (int i = 0; i < anz; i++)
                    {
                        if (p.enemyDeckSize >= 1)
                        {
                            p.drawACard(CardDB.cardName.unknown, false);
                        }
                    }
                }

                if (m.name == CardDB.cardName.illidanstormrage && p.enemyAnzCards>=1)
                {
                    p.callKid(flame, p.enemyMinions.Count, false);
                }

                if (m.name == CardDB.cardName.questingadventurer && p.enemyAnzCards >= 1)
                {
                    p.minionGetBuffed(m, 1, 1);
                    if (p.enemyAnzCards >= 3 && p.enemyMaxMana >=5)
                    {
                        p.minionGetBuffed(m, 1, 1);
                    }
                }

                if (m.name == CardDB.cardName.manaaddict && p.enemyAnzCards >= 1)
                {
                    p.minionGetTempBuff(m, 2, 0);
                    if (p.enemyAnzCards >= 3 && p.enemyMaxMana >= 5)
                    {
                        p.minionGetTempBuff(m, 2, 0);
                    }
                }

                if (m.name == CardDB.cardName.manawyrm && p.enemyAnzCards >= 1)
                {
                    p.minionGetBuffed(m, 1, 0);
                    if (p.enemyAnzCards >= 3 && p.enemyMaxMana >= 5)
                    {
                        p.minionGetBuffed(m, 1, 0);
                    }
                }

                if (m.name == CardDB.cardName.secretkeeper && p.enemyAnzCards >= 3)
                {
                    p.minionGetBuffed(m, 1, 1);
                }

                if (m.name == CardDB.cardName.unboundelemental && p.enemyAnzCards >= 2)
                {
                    p.minionGetBuffed(m, 1, 1);
                }

                if (m.name == CardDB.cardName.murloctidecaller && p.enemyAnzCards >= 2)
                {
                    p.minionGetBuffed(m, 1, 0);
                }

                if (m.name == CardDB.cardName.undertaker && p.enemyAnzCards >= 2)
                {
                    p.minionGetBuffed(m, 1, 1);
                }

                if (m.name == CardDB.cardName.frothingberserker && p.enemyMinions.Count + p.ownMinions.Count >= 3)
                {
                    p.minionGetBuffed(m, 1, 0);
                }

                if (m.name == CardDB.cardName.gurubashiberserker && m.Hp>=5 && p.enemyAnzCards >=3)
                {
                    p.minionGetBuffed(m, 3, 0);
                }

                if (m.name == CardDB.cardName.lightwarden)
                {
                    int anz = 0;
                    foreach (Minion mnn in p.enemyMinions)
                    {
                        if (mnn.wounded) anz++;
                    }
                    if (p.enemyHero.wounded) anz++;
                    if (anz >= 2) p.minionGetBuffed(m, 2, 0);
                }
            }

            if (p.enemyMinions.Count < 7)
            {
                p.callKid(this.flame, p.enemyMinions.Count, false);
                int bval = 1;
                if (p.enemyMaxMana > 4) bval = 2;
                if (p.enemyMaxMana > 7) bval = 3;
                p.minionGetBuffed(p.enemyMinions[p.enemyMinions.Count - 1], bval - 1, bval);
            }
        }
コード例 #10
0
ファイル: Sim_EX1_549.cs プロジェクト: JayMansel/silverfish
//    verleiht einem wildtier +2 angriff und immunität/ in diesem zug.
		public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
		{
            p.minionGetTempBuff(target, 2, 0);
            target.immune = true;
		}
コード例 #11
0
ファイル: EnemyTurnSimulator.cs プロジェクト: shuyi3/AIPJ
        private void doSomeBasicEnemyAi(Playfield p)
        {
            if (p.enemyHeroName == HeroEnum.mage)
            {
                if (sf.Probabilitymaker.enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_561)) p.ownHero.Hp = Math.Max(5, p.ownHero.Hp - 7);
            }

            //play some cards (to not overdraw)
            if (p.enemyAnzCards >= 8)
            {
                p.enemyAnzCards--;
                p.triggerCardsChanged(false);
            }
            if (p.enemyAnzCards >= 4)
            {
                p.enemyAnzCards--;
                p.triggerCardsChanged(false);
            }
            if (p.enemyAnzCards >= 2)
            {
                p.enemyAnzCards--;
                p.triggerCardsChanged(false);
            }
            
            //int i = 0;
            //int count = 0;


            foreach (Minion m in p.enemyMinions.ToArray())
            {
                if (m.silenced) continue;
                if (p.enemyAnzCards >= 2 && (m.name == CardDB.cardName.gadgetzanauctioneer || m.name == CardDB.cardName.starvingbuzzard))
                {
                    if (p.enemyDeckSize >= 1)
                    {
                        p.drawACard(CardDB.cardName.unknown, false);
                    }
                }
                if (m.name == CardDB.cardName.northshirecleric)
                {
                    int anz = 0;
                    foreach (Minion mnn in p.enemyMinions)
                    {
                        if (mnn.wounded) anz++;
                    }
                    anz = Math.Min(anz, 3);
                    for (int i = 0; i < anz; i++)
                    {
                        if (p.enemyDeckSize >= 1)
                        {
                            p.drawACard(CardDB.cardName.unknown, false);
                        }
                    }
                }

                if (m.name == CardDB.cardName.illidanstormrage && p.enemyAnzCards >= 1)
                {
                    p.callKid(flame, p.enemyMinions.Count, false);
                }

                if (m.name == CardDB.cardName.questingadventurer && p.enemyAnzCards >= 1)
                {
                    p.minionGetBuffed(m, 1, 1);
                    if (p.enemyAnzCards >= 3 && p.enemyMaxMana >= 5)
                    {
                        p.minionGetBuffed(m, 1, 1);
                    }
                }

                if (m.name == CardDB.cardName.manaaddict && p.enemyAnzCards >= 1)
                {
                    p.minionGetTempBuff(m, 2, 0);
                    if (p.enemyAnzCards >= 3 && p.enemyMaxMana >= 5)
                    {
                        p.minionGetTempBuff(m, 2, 0);
                    }
                }

                if (m.name == CardDB.cardName.manawyrm && p.enemyAnzCards >= 1)
                {
                    p.minionGetBuffed(m, 1, 0);
                    if (p.enemyAnzCards >= 3 && p.enemyMaxMana >= 5)
                    {
                        p.minionGetBuffed(m, 1, 0);
                    }
                }

                if (m.name == CardDB.cardName.secretkeeper && p.enemyAnzCards >= 3)
                {
                    p.minionGetBuffed(m, 1, 1);
                }

                if (m.name == CardDB.cardName.unboundelemental && p.enemyAnzCards >= 2)
                {
                    p.minionGetBuffed(m, 1, 1);
                }

                if (m.name == CardDB.cardName.murloctidecaller && p.enemyAnzCards >= 2)
                {
                    p.minionGetBuffed(m, 1, 0);
                }

                if (m.name == CardDB.cardName.undertaker && p.enemyAnzCards >= 2)
                {
                    p.minionGetBuffed(m, 1, 0);
                }

                if (m.name == CardDB.cardName.frothingberserker && p.enemyMinions.Count + p.ownMinions.Count >= 3)
                {
                    p.minionGetBuffed(m, 1, 0);
                }

                if (m.name == CardDB.cardName.gurubashiberserker && m.Hp >= 5 && p.enemyAnzCards >= 3)
                {
                    p.minionGetBuffed(m, 3, 0);
                }

                if (m.name == CardDB.cardName.lightwarden)
                {
                    int anz = 0;
                    foreach (Minion mnn in p.enemyMinions)
                    {
                        if (mnn.wounded) anz++;
                    }
                    if (p.enemyHero.wounded) anz++;
                    if (anz >= 2) p.minionGetBuffed(m, 2, 0);
                }
            }

            if (p.enemyMinions.Count < 7)
            {
                p.callKid(this.flame, p.enemyMinions.Count, false);
                int bval = 1;
                if (p.enemyMaxMana > 4) bval = 2;
                if (p.enemyMaxMana > 7) bval = 3;
                if (p.enemyMinions.Count >= 1) p.minionGetBuffed(p.enemyMinions[p.enemyMinions.Count - 1], bval - 1, bval);
            }
        }
コード例 #12
0
ファイル: Sim_AT_039.cs プロジェクト: cookiezeater/silverfish
        //insprire: gain Spell Damage +1

        public override void onInspire(Playfield p, Minion m)
        {
            p.minionGetTempBuff((m.own) ? p.ownHero : p.enemyHero, 2, 0);
        }
コード例 #13
0
        private void doSomeBasicEnemyAi(Playfield p)
        {
            if (p.enemyHeroName == HeroEnum.mage)
            {
                if (Probabilitymaker.Instance.enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_561)) p.ownHero.Hp = Math.Max(5, p.ownHero.Hp - 7);
            }

            //play some cards (to not overdraw)
            if (p.enemyAnzCards >= 8)
            {
                p.enemyAnzCards--;
                p.triggerCardsChanged(false);
            }
            if (p.enemyAnzCards >= 4)
            {
                p.enemyAnzCards--;
                p.triggerCardsChanged(false);
            }
            if (p.enemyAnzCards >= 2)
            {
                p.enemyAnzCards--;
                p.triggerCardsChanged(false);
            }

            //if warrior, equip a weapon
            if (p.enemyHeroName == HeroEnum.warrior && p.enemyWeaponDurability == 0 && p.mana >= 4)
            {
                p.equipWeapon(this.warriorweapon, false);
                if (p.ownHero.Hp >= 1 && p.ownHero.Hp <= p.ownHero.maxHp - 3) p.ownHero.Hp += 3; //to not change lethal
            }
            if (p.enemyHeroName == HeroEnum.thief && p.enemyWeaponDurability != 0 && p.mana >= 4)
            {
                p.enemyWeaponAttack++;
                if (p.ownHero.Hp >= 1 && p.ownHero.Hp <= p.ownHero.maxHp - 1) p.ownHero.Hp += 1;//to not change lethal
            }
            if (p.enemyHeroName == HeroEnum.pala && p.enemyWeaponDurability == 0 && p.mana >= 4)
            {
                p.equipWeapon(this.warriorweapon, false);//warrion weapon is ok for pala 
                if (p.ownHero.Hp >= 1 && p.ownHero.Hp <= p.ownHero.maxHp - 3) p.ownHero.Hp += 3;//to not change lethal
            }

            //int i = 0;
            //int count = 0;
            bool hasmech = false;
            foreach (Minion m in p.enemyMinions)
            {
                if (m.handcard.card.race == TAG_RACE.MECHANICAL) hasmech = true;
            }


            foreach (Minion m in p.enemyMinions.ToArray())
            {
                if (m.silenced)
                    continue;

                switch (m.name)
                {
                    /*case CardDB.cardName.grimpatron:
                        if (p.enemyMinions.Count <= 6 && p.enemyHeroName == HeroEnum.warrior)
                        {
                            bool hascharger = false;
                            foreach (Minion mini in p.enemyMinions)
                            {
                                if (!mini.silenced && mini.name == CardDB.cardName.warsongcommander) hascharger = true;
                            }
                            if (!hascharger)
                            {
                                p.callKid(warsong, p.enemyMinions.Count, false);
                            }

                        }
                        break;
                     */
                    case CardDB.cardName.fjolalightbane:
                        if (p.enemyAnzCards >= 2 && p.mana >= 2)
                        {
                            m.divineshild = true;
                            p.mana -= 2;
                        }
                        break;

                    case CardDB.cardName.junkbot:
                        if (hasmech)
                        {
                            p.minionGetBuffed(m, 2, 2);
                        }
                        break;

                    case CardDB.cardName.siegeengine:
                        if (p.enemyHeroName == HeroEnum.warrior)
                        {
                            p.minionGetBuffed(m, 1, 0);
                        }
                        break;

                    case CardDB.cardName.gahzrilla:
                        if (m.Hp >= 2)
                        {
                            p.minionGetBuffed(m, m.Angr, 0);
                        }
                        break;
                    //draw cards if he has gadgetzanauctioneer or starving buzzard
                    case CardDB.cardName.gadgetzanauctioneer:
                    case CardDB.cardName.starvingbuzzard:
                        if (p.enemyAnzCards >= 2 && p.enemyDeckSize >= 1)
                        {
                            p.drawACard(CardDB.cardIDEnum.None, false);
                        }
                        break;

                    //if there is something to heal... draw a card with northshirecleric
                    case CardDB.cardName.northshirecleric:
                        {
                            if (p.mana <= 2) break;
                            p.mana -= 2;
                            int anz = 0;
                            foreach (Minion mnn in p.enemyMinions)
                            {
                                if (mnn.wounded) anz++;
                            }
                            foreach (Minion mnn in p.ownMinions)
                            {
                                if (mnn.wounded) anz++;
                            }
                            anz = Math.Min(anz, 3);
                            for (int i = 0; i < anz; i++)
                            {
                                if (p.enemyDeckSize >= 1)
                                {
                                    p.drawACard(CardDB.cardIDEnum.None, false);
                                }
                            }
                            break;
                        }

                    // spawn new minion when he have illidan
                    case CardDB.cardName.illidanstormrage:
                        if (p.enemyAnzCards >= 1)
                        {
                            p.callKid(flame, p.enemyMinions.Count, false);
                        }
                        break;

                    //buff his questingadventurer
                    case CardDB.cardName.questingadventurer:
                        if (p.enemyAnzCards >= 1)
                        {
                            p.minionGetBuffed(m, 1, 1);
                            if (p.enemyAnzCards >= 3 && p.enemyMaxMana >= 5)
                            {
                                p.minionGetBuffed(m, 1, 1);
                            }
                        }
                        break;

                    //buff his manaaddict
                    case CardDB.cardName.manaaddict:
                        if (p.enemyAnzCards >= 1)
                        {
                            p.minionGetTempBuff(m, 2, 0);
                            if (p.enemyAnzCards >= 3 && p.enemyMaxMana >= 5)
                            {
                                p.minionGetTempBuff(m, 2, 0);
                            }
                        }
                        break;

                    case CardDB.cardName.manawyrm:
                        if (p.enemyAnzCards >= 1)
                        {
                            p.minionGetBuffed(m, 1, 0);
                            if (p.enemyAnzCards >= 3 && p.enemyMaxMana >= 5)
                            {
                                p.minionGetBuffed(m, 1, 0);
                            }
                        }
                        break;

                    case CardDB.cardName.tinyknightofevil:
                    case CardDB.cardName.crowdfavorite:
                    case CardDB.cardName.secretkeeper:
                    case CardDB.cardName.unboundelemental:
                        if (p.enemyAnzCards >= 2)
                        {
                            p.minionGetBuffed(m, 1, 1);
                        }
                        break;

                    case CardDB.cardName.murloctidecaller:
                    case CardDB.cardName.undertaker:
                        if (p.enemyAnzCards >= 2)
                        {
                            p.minionGetBuffed(m, 1, 0);
                        }
                        break;

                    case CardDB.cardName.frothingberserker:
                        if (p.enemyMinions.Count + p.ownMinions.Count >= 3)
                        {
                            p.minionGetBuffed(m, 1, 0);
                        }
                        break;

                    case CardDB.cardName.gurubashiberserker:
                        if (m.Hp >= 2 && (p.enemyAnzCards >= 1 || p.enemyHeroName == HeroEnum.mage ||
                            (p.anzEnemyAuchenaiSoulpriest > 0 && p.enemyHeroName == HeroEnum.priest)
                            || (p.enemyHeroName == HeroEnum.priest && p.enemyHeroAblility.card.name == CardDB.cardName.lesserheal)
                            ) // what about shadow form?
                            )
                        {
                            p.minionGetBuffed(m, 3, 0);
                        }
                        break;

                    case CardDB.cardName.holychampion:
                    case CardDB.cardName.lightwarden:
                        {
                            int anz = 0;
                            foreach (Minion mnn in p.enemyMinions)
                            {
                                if (mnn.wounded) anz++;
                            }
                            if (p.enemyHero.wounded) anz++;
                            if (anz >= 2) p.minionGetBuffed(m, 2, 0);
                            break;
                        }
                }
            }

            //enemy will shure play a minion
            //update more realistic minions
            if (p.enemyMinions.Count < 7)
            {
                if (p.enemyHeroName == HeroEnum.druid)
                {
                    switch (p.mana)
                    {
                        case 1: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_001), p.enemyMinions.Count, false); break; //FP1_001 Zombie Chow
                        case 2: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.AT_038), p.enemyMinions.Count, false); break; //AT_038 Darnassus Aspirant
                        case 3: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_005), p.enemyMinions.Count, false); break; //FP1_005 Shade of Naxxramas
                        case 4: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_096), p.enemyMinions.Count, false); break; //GVG_096 Piloted Shredder
                        case 5: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_165t2), p.enemyMinions.Count, false); break; //EX1_165t2 Druid of the Claw (bear form)
                        case 6: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_028), p.enemyMinions.Count, false); break; //BRM_028 Emperor Thaurissan
                        case 7:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110), p.enemyMinions.Count, false); //GVG_110 Dr. Boom
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); //GVG_110t Boom Bot
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); break; //GVG_110t Boom Bot
                            }
                        case 8: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_298), p.enemyMinions.Count, false); break; //EX1_298 Ragnaros the Firelord
                        case 9: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        case 10: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        //default: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                    }                    
                }
                else if (p.enemyHeroName == HeroEnum.hunter)
                {
                    switch (p.mana)
                    {
                        case 1: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_011), p.enemyMinions.Count, false); break; //FP1_011 Webspinner
                        case 2: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_004), p.enemyMinions.Count, false); break; //FP1_004 Mad Scientist
                        case 3: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_032), p.enemyMinions.Count, false); break; //NEW1_032 Misha
                        case 4: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_096), p.enemyMinions.Count, false); break; //GVG_096 Piloted Shredder
                        case 5: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_012), p.enemyMinions.Count, false); break; //FP1_012 Sludge Belcher
                        case 6: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_028), p.enemyMinions.Count, false); break; //BRM_028 Emperor Thaurissan
                        case 7:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110), p.enemyMinions.Count, false); //GVG_110 Dr. Boom
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); //GVG_110t Boom Bot
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); break; //GVG_110t Boom Bot
                            }
                        case 8: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_298), p.enemyMinions.Count, false); break; //EX1_298 Ragnaros the Firelord
                        case 9: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        case 10: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        //default: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                    }
                }
                else if (p.enemyHeroName == HeroEnum.mage)
                {
                    switch (p.mana)
                    {
                        case 1: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_012), p.enemyMinions.Count, false); break; //NEW1_012 Mana Wyrm
                        case 2: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_004), p.enemyMinions.Count, false); break; //FP1_004 Mad Scientist
                        case 3: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_002), p.enemyMinions.Count, false); break; //BRM_002 Flamewaker
                        case 4: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_096), p.enemyMinions.Count, false); break; //GVG_096 Piloted Shredder
                        case 5: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_012), p.enemyMinions.Count, false); break; //FP1_012 Sludge Belcher
                        case 6: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_028), p.enemyMinions.Count, false); break; //BRM_028 Emperor Thaurissan
                        case 7:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110), p.enemyMinions.Count, false); //GVG_110 Dr. Boom
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); //GVG_110t Boom Bot
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); break; //GVG_110t Boom Bot
                            }
                        case 8: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_298), p.enemyMinions.Count, false); break; //EX1_298 Ragnaros the Firelord
                        case 9: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        case 10: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        //default: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                    }
                }
                else if (p.enemyHeroName == HeroEnum.pala)
                {
                    switch (p.mana)
                    {
                        case 1: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_001), p.enemyMinions.Count, false); break; //FP1_001 Zombie Chow
                        case 2: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_058), p.enemyMinions.Count, false); break; //GVG_058 Shielded Minibot
                        case 3:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.CS2_101t), p.enemyMinions.Count, false); //CS2_101t Silver Hand Recruit
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.CS2_101t), p.enemyMinions.Count, false); //CS2_101t Silver Hand Recruit
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.CS2_101t), p.enemyMinions.Count, false); break; //CS2_101t Silver Hand Recruit
                            }
                        case 4: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_096), p.enemyMinions.Count, false); break; //GVG_096 Piloted Shredder
                        case 5: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_012), p.enemyMinions.Count, false); break; //FP1_012 Sludge Belcher
                        case 6: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_028), p.enemyMinions.Count, false); break; //BRM_028 Emperor Thaurissan
                        case 7:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110), p.enemyMinions.Count, false); //GVG_110 Dr. Boom
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); //GVG_110t Boom Bot
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); break; //GVG_110t Boom Bot
                            }
                        case 8: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_298), p.enemyMinions.Count, false); break; //EX1_298 Ragnaros the Firelord
                        case 9: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        case 10: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        //default: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                    }
                }
                else if (p.enemyHeroName == HeroEnum.priest)
                {
                    switch (p.mana)
                    {
                        case 1: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.CS2_235), p.enemyMinions.Count, false); break; //CS2_235 Northshire Cleric
                        case 2: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_072), p.enemyMinions.Count, false); break; //GVG_072 Shadowboxer
                        case 3: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_023), p.enemyMinions.Count, false); break; //FP1_023 Dark Cultist
                        case 4: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_096), p.enemyMinions.Count, false); break; //GVG_096 Piloted Shredder
                        case 5: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_012), p.enemyMinions.Count, false); break; //FP1_012 Sludge Belcher
                        case 6: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_028), p.enemyMinions.Count, false); break; //BRM_028 Emperor Thaurissan
                        case 7:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110), p.enemyMinions.Count, false); //GVG_110 Dr. Boom
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); //GVG_110t Boom Bot
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); break; //GVG_110t Boom Bot
                            }
                        case 8: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_298), p.enemyMinions.Count, false); break; //EX1_298 Ragnaros the Firelord
                        case 9: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        case 10: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        //default: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                    }
                }
                else if (p.enemyHeroName == HeroEnum.shaman)
                {
                    switch (p.mana)
                    {
                        case 1: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_001), p.enemyMinions.Count, false); break; //FP1_001 Zombie Chow
                        case 2: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.AT_052), p.enemyMinions.Count, false); break; //AT_052 Totem Golem
                        case 3:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_tk11), p.enemyMinions.Count, false); //EX1_tk11 Spirit Wolf
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_tk11), p.enemyMinions.Count, false); break; //EX1_tk11 Spirit Wolf
                            }
                        case 4: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_096), p.enemyMinions.Count, false); break; //GVG_096 Piloted Shredder
                        case 5: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.AT_049), p.enemyMinions.Count, false); break; //AT_049 Thunder Bluff Valiant
                        case 6: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_028), p.enemyMinions.Count, false); break; //BRM_028 Emperor Thaurissan
                        case 7:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110), p.enemyMinions.Count, false); //GVG_110 Dr. Boom
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); //GVG_110t Boom Bot
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); break; //GVG_110t Boom Bot
                            }
                        case 8: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_298), p.enemyMinions.Count, false); break; //EX1_298 Ragnaros the Firelord
                        case 9: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        case 10: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        //default: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                    }
                }
                else if (p.enemyHeroName == HeroEnum.thief)
                {
                    switch (p.mana)
                    {
                        case 1: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_001), p.enemyMinions.Count, false); break; //FP1_001 Zombie Chow
                        case 2: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_023), p.enemyMinions.Count, false); break; //GVG_023 Goblin Auto-Barber
                        case 3: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_134), p.enemyMinions.Count, false); break; //EX1_134 SI:7 Agent
                        case 4: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_096), p.enemyMinions.Count, false); break; //GVG_096 Piloted Shredder
                        case 5: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_012), p.enemyMinions.Count, false); break; //FP1_012 Sludge Belcher
                        case 6: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_028), p.enemyMinions.Count, false); break; //BRM_028 Emperor Thaurissan
                        case 7:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110), p.enemyMinions.Count, false); //GVG_110 Dr. Boom
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); //GVG_110t Boom Bot
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); break; //GVG_110t Boom Bot
                            }
                        case 8: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_298), p.enemyMinions.Count, false); break; //EX1_298 Ragnaros the Firelord
                        case 9: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        case 10: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        //default: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                    }
                }
                else if (p.enemyHeroName == HeroEnum.warlock)
                {
                    switch (p.mana)
                    {
                        case 1: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_319), p.enemyMinions.Count, false); break; //EX1_319 Flame Imp
                        case 2: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_019), p.enemyMinions.Count, false); break; //NEW1_019 Knife Juggler
                        case 3: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_006), p.enemyMinions.Count, false); break; //BRM_006 Imp Gang Boss
                        case 4: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_096), p.enemyMinions.Count, false); break; //GVG_096 Piloted Shredder
                        case 5: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_012), p.enemyMinions.Count, false); break; //FP1_012 Sludge Belcher
                        case 6: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_028), p.enemyMinions.Count, false); break; //BRM_028 Emperor Thaurissan
                        case 7:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110), p.enemyMinions.Count, false); //GVG_110 Dr. Boom
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); //GVG_110t Boom Bot
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); break; //GVG_110t Boom Bot
                            }
                        case 8: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_298), p.enemyMinions.Count, false); break; //EX1_298 Ragnaros the Firelord
                        case 9: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        case 10: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        //default: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                    }
                }
                else if (p.enemyHeroName == HeroEnum.warrior)
                {
                    switch (p.mana)
                    {
                        case 1: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_001), p.enemyMinions.Count, false); break; //FP1_001 Zombie Chow
                        case 2: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_402), p.enemyMinions.Count, false); break; //EX1_402 Armorsmith
                        case 3: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_604), p.enemyMinions.Count, false); break; //EX1_604 Frothing Berserker
                        case 4: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_096), p.enemyMinions.Count, false); break; //GVG_096 Piloted Shredder
                        case 5: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_012), p.enemyMinions.Count, false); break; //FP1_012 Sludge Belcher
                        case 6: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_028), p.enemyMinions.Count, false); break; //BRM_028 Emperor Thaurissan
                        case 7:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110), p.enemyMinions.Count, false); //GVG_110 Dr. Boom
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); //GVG_110t Boom Bot
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); break; //GVG_110t Boom Bot
                            }
                        case 8: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_298), p.enemyMinions.Count, false); break; //EX1_298 Ragnaros the Firelord
                        case 9: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        case 10: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        //default: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                    }
                }
                else if (p.enemyHeroName == HeroEnum.lordjaraxxus)
                {
                    p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); //NEW1_008 Ancient of Lore
                    p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_tk34), p.enemyMinions.Count, false); //EX1_tk34 Infernal
                }
                else if (p.enemyHeroName == HeroEnum.ragnarosthefirelord)
                {
                    p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); //NEW1_008 Ancient of Lore
                }
                else
                {
                    switch (p.mana)
                    {
                        case 1: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_001), p.enemyMinions.Count, false); break; //FP1_001 Zombie Chow
                        case 2: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_019), p.enemyMinions.Count, false); break; //NEW1_019 Knife Juggler
                        case 3: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_006), p.enemyMinions.Count, false); break; //BRM_006 Imp Gang Boss
                        case 4: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_096), p.enemyMinions.Count, false); break; //GVG_096 Piloted Shredder
                        case 5: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.FP1_012), p.enemyMinions.Count, false); break; //FP1_012 Sludge Belcher
                        case 6: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_028), p.enemyMinions.Count, false); break; //BRM_028 Emperor Thaurissan
                        case 7:
                            {
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110), p.enemyMinions.Count, false); //GVG_110 Dr. Boom
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); //GVG_110t Boom Bot
                                p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t), p.enemyMinions.Count, false); break; //GVG_110t Boom Bot
                            }
                        case 8: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_298), p.enemyMinions.Count, false); break; //EX1_298 Ragnaros the Firelord
                        case 9: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        case 10: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                        //default: p.callKid(CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_008), p.enemyMinions.Count, false); break; //NEW1_008 Ancient of Lore
                    }
                }
            }


        }