Ejemplo n.º 1
0
//    verursacht $4 schaden. werft eine zufällige karte ab.

		public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
		{
            int dmg = (ownplay) ? p.getSpellDamageDamage(4) : p.getEnemySpellDamageDamage(4);
            p.minionGetDamageOrHeal(target, dmg);

            if (p.isServer)
            {
                p.discardRandomCard_SERVER(ownplay);
                return;
            }

            if (ownplay)
            {
                p.owncarddraw -= Math.Min(1, p.owncards.Count);
                p.owncards.RemoveRange(0, Math.Min(1, p.owncards.Count));
                p.triggerCardsChanged(true);
            }
            else
            {
                if (p.enemyAnzCards >= 1)
                {
                    p.enemycarddraw--;
                    p.enemyAnzCards--;
                    p.triggerCardsChanged(false);
                }
            }
		}
Ejemplo n.º 2
0
//    kampfschrei:/ werft eine zufällige karte ab.
		public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
		{

            if (p.isServer)
            {
                p.discardRandomCard_SERVER(own.own);
                return;
            }

            if (own.own)
            {
                p.owncarddraw -= Math.Min(1, p.owncards.Count);
                p.owncards.RemoveRange(0, Math.Min(1, p.owncards.Count));
                p.triggerCardsChanged(true);
            }
            else
            {
                if (p.enemyAnzCards >= 1)
                {
                    p.enemycarddraw--;
                    p.enemyAnzCards--;
                    p.triggerCardsChanged(false);
                }
            }
		}
Ejemplo n.º 3
0
//    ansturm/. kampfschrei:/ werft zwei zufällige karten ab.
		public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
		{
            if (own.own)
            {
                int anz = Math.Min(2, p.owncards.Count);
                p.owncarddraw -= anz;
                p.owncards.RemoveRange(0, anz);
                if (anz >= 1)
                {
                    p.triggerCardsChanged(true);
                }

            }
            else
            {
                if (p.enemyAnzCards >= 1)
                {
                    p.enemycarddraw--;
                    p.enemyAnzCards--;
                    p.triggerCardsChanged(false);
                }
                if (p.enemyAnzCards >= 1)
                {
                    p.enemycarddraw--;
                    p.enemyAnzCards--;
                    p.triggerCardsChanged(false);
                }
            }


		}
Ejemplo n.º 4
0
//    kampfschrei:/ vernichtet alle anderen diener und werft eure hand ab.
		public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
		{
            p.allMinionsGetDestroyed();
            if (own.own)
            {
                p.owncards.Clear();
                p.triggerCardsChanged(true);
            }
            else
            {
                p.enemycarddraw = 0;
                p.enemyAnzCards = 0;
                p.triggerCardsChanged(false);
            }
		}
Ejemplo n.º 5
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);
            }
        }
Ejemplo n.º 6
0
        public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
        {
            if (p.isServer)
            {
                List<Handmanager.Handcard> temp = new List<Handmanager.Handcard>();
                List<Handmanager.Handcard> cards = p.owncards;

                foreach (Handmanager.Handcard hc in cards)
                {
                    if ((TAG_RACE)hc.card.race == TAG_RACE.DEMON)
                    {
                        temp.Add(hc);
                    }
                }

                if (temp.Count >= 1)
                {

                    int rand = p.getRandomNumber_SERVER(0, temp.Count - 1);

                    p.callKid(cards[rand].card, p.ownMinions.Count, true);
                    p.removeCard_SERVER(cards[rand], true);
                }

                temp.Clear();
                cards = p.EnemyCards;

                foreach (Handmanager.Handcard hc in cards)
                {
                    if ((TAG_RACE)hc.card.race == TAG_RACE.DEMON)
                    {
                        temp.Add(hc);
                    }
                }

                if (temp.Count >= 1)
                {

                    int rand = p.getRandomNumber_SERVER(0, temp.Count - 1);

                    p.callKid(cards[rand].card, p.ownMinions.Count, false);
                    p.removeCard_SERVER(cards[rand], false);
                }

                return;
            }

            Handmanager.Handcard c = null;
            int sum = 10000;
            foreach (Handmanager.Handcard hc in p.owncards)
            {
                if (hc.card.type == CardDB.cardtype.MOB)
                {
                    int s = hc.card.Health + hc.card.Attack + ((hc.card.tank) ? 1 : 0) + ((hc.card.Shield) ? 1 : 0);
                    if (s < sum)
                    {
                        c = hc;
                        sum = s;
                    }
                }
            }
            if (sum < 9999)
            {
                p.callKid(c.card, p.ownMinions.Count, true);
                p.removeCard(c);
                p.triggerCardsChanged(true);
            }


            if (p.enemyAnzCards >= 2)
            {
                p.callKid(enemymob, p.enemyMinions.Count, false);
                p.enemyAnzCards--;
                p.triggerCardsChanged(false);
            }
        }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 8
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
                    }
                }
            }


        }