示例#1
0
        public SecretItem(SecretItem sec)
        {
            this.triggered = sec.triggered;

            /*not in use temporarily 1
             * this.canbeTriggeredWithAttackingHero = sec.canbeTriggeredWithAttackingHero;
             * this.canbeTriggeredWithAttackingMinion = sec.canbeTriggeredWithAttackingMinion;
             * this.canbeTriggeredWithPlayingMinion = sec.canbeTriggeredWithPlayingMinion;
             * this.canbeTriggeredWithPlayingHeroPower = sec.canbeTriggeredWithPlayingHeroPower;*/

            this.canBe_avenge       = sec.canBe_avenge;
            this.canBe_counterspell = sec.canBe_counterspell;
            //this.canBe_duplicate = sec.canBe_duplicate;
            //this.canBe_effigy = sec.canBe_effigy;
            this.canBe_explosive   = sec.canBe_explosive;
            this.canBe_beartrap    = sec.canBe_beartrap;
            this.canBe_eyeforaneye = sec.canBe_eyeforaneye;
            this.canBe_freezing    = sec.canBe_freezing;
            //this.canBe_icebarrier = sec.canBe_icebarrier;
            this.canBe_iceblock = sec.canBe_iceblock;
            this.canBe_cattrick = sec.canBe_cattrick;
            //this.canBe_mirrorentity = sec.canBe_mirrorentity;
            this.canBe_missdirection  = sec.canBe_missdirection;
            this.canBe_darttrap       = sec.canBe_darttrap;
            this.canBe_noblesacrifice = sec.canBe_noblesacrifice;
            this.canBe_redemption     = sec.canBe_redemption;
            this.canBe_repentance     = sec.canBe_repentance;
            this.canBe_snaketrap      = sec.canBe_snaketrap;
            this.canBe_snipe          = sec.canBe_snipe;
            //this.canBe_spellbender = sec.canBe_spellbender;
            //this.canBe_vaporize = sec.canBe_vaporize;
            this.canBe_sacredtrial = sec.canBe_sacredtrial;

            this.entityId = sec.entityId;
        }
示例#2
0
        public SecretItem(SecretItem sec)
        {
            this.triggered = sec.triggered;
            this.canbeTriggeredWithAttackingHero = sec.canbeTriggeredWithAttackingHero;
            this.canbeTriggeredWithAttackingMinion = sec.canbeTriggeredWithAttackingMinion;
            this.canbeTriggeredWithPlayingMinion = sec.canbeTriggeredWithPlayingMinion;

            this.canBe_avenge = sec.canBe_avenge;
            this.canBe_counterspell = sec.canBe_counterspell;
            this.canBe_duplicate = sec.canBe_duplicate;
            this.canBe_explosive = sec.canBe_explosive;
            this.canBe_eyeforaneye = sec.canBe_eyeforaneye;
            this.canBe_freezing = sec.canBe_freezing;
            this.canBe_icebarrier = sec.canBe_icebarrier;
            this.canBe_iceblock = sec.canBe_iceblock;
            this.canBe_mirrorentity = sec.canBe_mirrorentity;
            this.canBe_missdirection = sec.canBe_missdirection;
            this.canBe_noblesacrifice = sec.canBe_noblesacrifice;
            this.canBe_redemption = sec.canBe_redemption;
            this.canBe_repentance = sec.canBe_repentance;
            this.canBe_snaketrap = sec.canBe_snaketrap;
            this.canBe_snipe = sec.canBe_snipe;
            this.canBe_spellbender = sec.canBe_spellbender;
            this.canBe_vaporize = sec.canBe_vaporize;

            this.entityId = sec.entityId;

        }
示例#3
0
        public SecretItem(SecretItem sec)
        {
            this.triggered = sec.triggered;
            this.canbeTriggeredWithAttackingHero   = sec.canbeTriggeredWithAttackingHero;
            this.canbeTriggeredWithAttackingMinion = sec.canbeTriggeredWithAttackingMinion;
            this.canbeTriggeredWithPlayingMinion   = sec.canbeTriggeredWithPlayingMinion;
            this.canbeTriggeredWithKillingMinion   = sec.canbeTriggeredWithKillingMinion;

            this.canBe_avenge         = sec.canBe_avenge;
            this.canBe_counterspell   = sec.canBe_counterspell;
            this.canBe_duplicate      = sec.canBe_duplicate;
            this.canBe_explosive      = sec.canBe_explosive;
            this.canBe_eyeforaneye    = sec.canBe_eyeforaneye;
            this.canBe_freezing       = sec.canBe_freezing;
            this.canBe_icebarrier     = sec.canBe_icebarrier;
            this.canBe_iceblock       = sec.canBe_iceblock;
            this.canBe_mirrorentity   = sec.canBe_mirrorentity;
            this.canBe_missdirection  = sec.canBe_missdirection;
            this.canBe_noblesacrifice = sec.canBe_noblesacrifice;
            this.canBe_redemption     = sec.canBe_redemption;
            this.canBe_repentance     = sec.canBe_repentance;
            this.canBe_snaketrap      = sec.canBe_snaketrap;
            this.canBe_snipe          = sec.canBe_snipe;
            this.canBe_spellbender    = sec.canBe_spellbender;
            this.canBe_vaporize       = sec.canBe_vaporize;

            this.canBe_effigy          = sec.canBe_effigy;
            this.canBe_beartrap        = sec.canBe_beartrap;
            this.canBe_competivespirit = sec.canBe_competivespirit;

            this.canBe_Trial = sec.canBe_Trial;

            this.entityId = sec.entityId;
        }
示例#4
0
        //todo better!
        //  Battlecry: Take control of a random enemy Secret;.

        public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
        {
            if (own.own)
            {
                if (p.enemySecretList.Count >= 1)
                {
                    if (p.enemyHeroStartClass == TAG_CLASS.HUNTER)
                    {
                        p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_610);
                    }
                    //if (p.enemyHeroStartClass == TAG_CLASS.MAGE) p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_594);
                    if (p.enemyHeroStartClass == TAG_CLASS.PALADIN)
                    {
                        p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130);
                    }

                    if (p.enemyHeroStartClass != TAG_CLASS.HUNTER && p.enemyHeroStartClass != TAG_CLASS.MAGE && p.enemyHeroStartClass != TAG_CLASS.PALADIN)
                    {
                        p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130);
                    }

                    p.enemySecretList.RemoveAt(0);
                }
            }
            else
            {
                if (p.ownSecretsIDList.Count >= 1)
                {
                    p.ownSecretsIDList.RemoveAt(0);
                    SecretItem s = new SecretItem();
                    s.canBe_avenge       = false;
                    s.canBe_sacredtrial  = false;
                    s.canBe_counterspell = false;
                    s.canBe_cattrick     = false;
                    //s.canBe_duplicate = false;
                    s.canBe_explosive   = false;
                    s.canBe_beartrap    = false;
                    s.canBe_eyeforaneye = false;
                    s.canBe_freezing    = false;
                    //s.canBe_icebarrier = false;
                    s.canBe_iceblock = false;
                    //s.canBe_mirrorentity = false;
                    s.canBe_missdirection  = false;
                    s.canBe_darttrap       = false;
                    s.canBe_noblesacrifice = false;
                    s.canBe_redemption     = false;
                    s.canBe_repentance     = false;
                    s.canBe_snaketrap      = false;
                    s.canBe_snipe          = false;
                    //s.canBe_spellbender = false;
                    //s.canBe_vaporize = false;

                    s.entityId        = 1050;
                    s.canBe_explosive = true;

                    p.enemySecretList.Add(s);
                }
            }
        }
示例#5
0
文件: Sim_GvG_074.cs 项目: tnd34/e
        //todo better!
        //  Battlecry: Take control of a random enemy Secret;.

        public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
        {
            if (own.own)
            {
                if (p.enemySecretList.Count >= 1)
                {
                    if (p.enemyHeroName == HeroEnum.hunter)
                    {
                        p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_610);
                    }
                    if (p.enemyHeroName == HeroEnum.mage)
                    {
                        p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_594);
                    }
                    if (p.enemyHeroName == HeroEnum.pala)
                    {
                        p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130);
                    }

                    if (p.enemyHeroName != HeroEnum.hunter && p.enemyHeroName != HeroEnum.mage && p.enemyHeroName != HeroEnum.pala)
                    {
                        p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130);
                    }

                    p.enemySecretList.RemoveAt(0);
                }
            }
            else
            {
                if (p.ownSecretsIDList.Count >= 1)
                {
                    p.ownSecretsIDList.RemoveAt(0);
                    SecretItem s = new SecretItem();
                    s.canBe_avenge         = false;
                    s.canBe_counterspell   = false;
                    s.canBe_duplicate      = false;
                    s.canBe_explosive      = false;
                    s.canBe_eyeforaneye    = false;
                    s.canBe_freezing       = false;
                    s.canBe_icebarrier     = false;
                    s.canBe_iceblock       = false;
                    s.canBe_mirrorentity   = false;
                    s.canBe_missdirection  = false;
                    s.canBe_noblesacrifice = false;
                    s.canBe_redemption     = false;
                    s.canBe_repentance     = false;
                    s.canBe_snaketrap      = false;
                    s.canBe_snipe          = false;
                    s.canBe_spellbender    = false;
                    s.canBe_vaporize       = false;

                    s.entityId        = 1050;
                    s.canBe_explosive = true;

                    p.enemySecretList.Add(s);
                }
            }
        }
示例#6
0
        public bool isEqual(SecretItem s)
        {
            bool result = this.entityId == s.entityId;

            result = result && this.canBe_avenge == s.canBe_avenge && this.canBe_counterspell == s.canBe_counterspell && this.canBe_duplicate == s.canBe_duplicate && this.canBe_explosive == s.canBe_explosive;
            result = result && this.canBe_eyeforaneye == s.canBe_eyeforaneye && this.canBe_freezing == s.canBe_freezing && this.canBe_icebarrier == s.canBe_icebarrier && this.canBe_iceblock == s.canBe_iceblock;
            result = result && this.canBe_mirrorentity == s.canBe_mirrorentity && this.canBe_missdirection == s.canBe_missdirection && this.canBe_noblesacrifice == s.canBe_noblesacrifice && this.canBe_redemption == s.canBe_redemption;
            result = result && this.canBe_repentance == s.canBe_repentance && this.canBe_snaketrap == s.canBe_snaketrap && this.canBe_snipe == s.canBe_snipe && this.canBe_spellbender == s.canBe_spellbender && this.canBe_vaporize == s.canBe_vaporize;

            return(result);
        }
示例#7
0
        public bool isEqual(SecretItem s)
        {
            bool result = this.entityId == s.entityId;

            if (!result)
            {
                result = result && this.canBe_avenge == s.canBe_avenge && this.canBe_counterspell == s.canBe_counterspell && this.canBe_explosive == s.canBe_explosive && this.canBe_flameward == s.canBe_flameward;
                result = result && this.canBe_eyeforaneye == s.canBe_eyeforaneye && this.canBe_freezing == s.canBe_freezing && this.canBe_iceblock == s.canBe_iceblock;
                result = result && this.canBe_missdirection == s.canBe_missdirection && this.canBe_noblesacrifice == s.canBe_noblesacrifice && this.canBe_redemption == s.canBe_redemption;
                result = result && this.canBe_repentance == s.canBe_repentance && this.canBe_snaketrap == s.canBe_snaketrap && this.canBe_snipe == s.canBe_snipe;
                result = result && this.canBe_sacredtrial == s.canBe_sacredtrial && this.canBe_darttrap == s.canBe_darttrap && this.canBe_beartrap == s.canBe_beartrap && this.canBe_cattrick == s.canBe_cattrick;
            }
            return(result);
        }
示例#8
0
        public void playedSecret(CardDB.cardIDEnum secretid, int entity)
        {
            Console.WriteLine("1111111111111111111111111111111111111111111111111111111111111");
            Console.WriteLine("current player " + this.currentplayer + " played secret " + secretid);
            Console.WriteLine("1111111111111111111111111111111111111111111111111111111111111");
            player currentp      = this.p2;
            player currentenemyp = this.p1;

            if (this.currentplayer)
            {
                currentp      = this.p1;
                currentenemyp = this.p2;
            }
            SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(entity, currentp.hero);

            currentenemyp.enemySecrets.Add(si);
        }
示例#9
0
        //todo better!
        //  Battlecry: Take control of a random enemy Secret;. 

        public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
        {
            if (own.own)
            {
                if (p.enemySecretList.Count >= 1)
                {
                    if(p.enemyHeroName == HeroEnum.hunter) p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_610);
                    if (p.enemyHeroName == HeroEnum.mage) p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_594);
                    if (p.enemyHeroName == HeroEnum.pala) p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130);

                    if (p.enemyHeroName != HeroEnum.hunter && p.enemyHeroName != HeroEnum.mage && p.enemyHeroName != HeroEnum.pala) p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130);
                    
                    p.enemySecretList.RemoveAt(0);
                }
            }
            else
            {
                if (p.ownSecretsIDList.Count >= 1)
                {
                    p.ownSecretsIDList.RemoveAt(0);
                    SecretItem s = new SecretItem();
                    s.canBe_avenge = false;
                    s.canBe_counterspell = false;
                    s.canBe_duplicate = false;
                    s.canBe_explosive = false;
                    s.canBe_eyeforaneye = false;
                    s.canBe_freezing = false;
                    s.canBe_icebarrier = false;
                    s.canBe_iceblock = false;
                    s.canBe_mirrorentity = false;
                    s.canBe_missdirection = false;
                    s.canBe_noblesacrifice = false;
                    s.canBe_redemption = false;
                    s.canBe_repentance = false;
                    s.canBe_snaketrap = false;
                    s.canBe_snipe = false;
                    s.canBe_spellbender = false;
                    s.canBe_vaporize = false;

                    s.entityId = 1050;
                    s.canBe_explosive=true;

                    p.enemySecretList.Add(s);
                }
            }
        }
示例#10
0
        public void setEnemySecretGuesses(Dictionary <int, TAG_CLASS> enemySecretList)
        {
            List <SecretItem> newlist = new List <SecretItem>();

            foreach (KeyValuePair <int, TAG_CLASS> eSec in enemySecretList)
            {
                if (eSec.Key >= 1000)
                {
                    continue;
                }
                Helpfunctions.Instance.logg("detect secret with id" + eSec.Key);
                SecretItem sec = getNewSecretGuessedItem(eSec.Key, eSec.Value);

                newlist.Add(new SecretItem(sec));
            }

            this.enemySecrets.Clear();
            this.enemySecrets.AddRange(newlist);
        }
示例#11
0
        public void getEnemySecretGuesses(List <int> enemySecretIds, HeroEnum enemyHeroName)
        {
            List <SecretItem> newlist = new List <SecretItem>();

            foreach (int i in enemySecretIds)
            {
                if (i >= 1000)
                {
                    continue;
                }
                Helpfunctions.Instance.logg("detect secret with id" + i);
                SecretItem sec = getNewSecretGuessedItem(i, enemyHeroName);

                newlist.Add(new SecretItem(sec));
            }

            this.enemySecrets.Clear();
            this.enemySecrets.AddRange(newlist);
        }
示例#12
0
        //Battlecry: Put one of each Secret from your deck into the battlefield

        public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
        {
            //if(p.isServer)
            //TODO

            if (own.own)
            {
                if (p.ownHeroName == HeroEnum.mage)
                {
                    p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_289);
                }
                if (p.ownHeroName == HeroEnum.hunter)
                {
                    p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_554);
                }
                if (p.ownHeroName == HeroEnum.pala)
                {
                    p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); //noble sac
                    p.ownSecretsIDList.Add(CardDB.cardIDEnum.FP1_020); //avenge
                }
            }
            else
            {
                if (p.enemyHeroName == HeroEnum.mage || p.enemyHeroName == HeroEnum.hunter || p.enemyHeroName == HeroEnum.pala)
                {
                    if (p.enemySecretCount <= 4)
                    {
                        p.enemySecretCount++;
                        SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(p.getNextEntity(), p.enemyHeroName);
                        if (p.enemyHeroName == HeroEnum.pala)
                        {
                            si.canBe_redemption = false;
                        }
                        if (Settings.Instance.useSecretsPlayArround)
                        {
                            p.enemySecretList.Add(si);
                        }
                    }
                }
            }
        }
示例#13
0
        //<deDE>Todesröcheln: Legt ein Geheimnis aus Eurem Deck auf das Schlachtfeld.

        public override void onDeathrattle(Playfield p, Minion m)
        {
            //if(p.isServer)

            if (m.own)
            {
                if (p.ownHeroName == HeroEnum.mage)
                {
                    p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_289);
                }
                if (p.ownHeroName == HeroEnum.hunter)
                {
                    p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_554);
                }
                if (p.ownHeroName == HeroEnum.pala)
                {
                    p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130);
                }
            }
            else
            {
                if (p.enemyHeroName == HeroEnum.mage || p.enemyHeroName == HeroEnum.hunter || p.enemyHeroName == HeroEnum.pala)
                {
                    if (p.enemySecretCount <= 4)
                    {
                        p.enemySecretCount++;
                        SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(p.getNextEntity(), p.enemyHeroName);
                        if (p.enemyHeroName == HeroEnum.pala)
                        {
                            si.canBe_redemption = false;
                        }
                        if (Settings.Instance.useSecretsPlayArround)
                        {
                            p.enemySecretList.Add(si);
                        }
                    }
                }
            }
        }
示例#14
0
        public void updateSecretList(List <SecretItem> enemySecretl)
        {
            List <SecretItem> temp = new List <SecretItem>();

            foreach (SecretItem si in this.enemySecrets)
            {
                bool       add  = false;
                SecretItem seit = null;
                foreach (SecretItem sit in enemySecretl) // enemySecrets have to be updated to latest entitys
                {
                    if (si.entityId == sit.entityId)
                    {
                        seit = sit;
                        add  = true;
                    }
                }

                temp.Add(add ? new SecretItem(seit) : new SecretItem(si));
            }

            this.enemySecrets.Clear();
            this.enemySecrets.AddRange(temp);
        }
示例#15
0
        // Deathrattle: Put a Secret: from your deck into the battlefield.

        public override void onDeathrattle(Playfield p, Minion m)
        {
            if (m.own)
            {
                if (p.ownHeroStartClass == TAG_CLASS.MAGE)
                {
                    p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_289);
                }
                if (p.ownHeroStartClass == TAG_CLASS.HUNTER)
                {
                    p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_554);
                }
                if (p.ownHeroStartClass == TAG_CLASS.PALADIN)
                {
                    p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130);
                }
            }
            else
            {
                if (p.enemyHeroStartClass == TAG_CLASS.MAGE || p.enemyHeroStartClass == TAG_CLASS.HUNTER || p.enemyHeroStartClass == TAG_CLASS.PALADIN)
                {
                    if (p.enemySecretCount <= 4)
                    {
                        p.enemySecretCount++;
                        SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(p.getNextEntity(), p.ownHeroStartClass);
                        if (p.enemyHeroStartClass == TAG_CLASS.PALADIN)
                        {
                            si.canBe_redemption = false;
                        }
                        if (Settings.Instance.useSecretsPlayAround)
                        {
                            p.enemySecretList.Add(si);
                        }
                    }
                }
            }
        }
示例#16
0
        //todo better!
        //  Battlecry: Take control of a random enemy Secret;.

        public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
        {
            SecretItem s = new SecretItem();

            s.canBe_avenge         = false;
            s.canBe_sacredtrial    = false;
            s.canBe_counterspell   = false;
            s.canBe_cattrick       = false;
            s.canBe_duplicate      = false;
            s.canBe_explosive      = false;
            s.canBe_beartrap       = false;
            s.canBe_eyeforaneye    = false;
            s.canBe_freezing       = false;
            s.canBe_icebarrier     = false;
            s.canBe_iceblock       = false;
            s.canBe_mirrorentity   = false;
            s.canBe_missdirection  = false;
            s.canBe_darttrap       = false;
            s.canBe_noblesacrifice = false;
            s.canBe_redemption     = false;
            s.canBe_repentance     = false;
            s.canBe_snaketrap      = false;
            s.canBe_snipe          = false;
            s.canBe_spellbender    = false;
            //s.canBe_vaporize = false;

            s.entityId        = 1050;
            s.canBe_explosive = true;

            if (own.own && p.ownSecretsIDList.Count <= 4)
            {
            }
            if (!own.own && p.enemySecretList.Count <= 4)
            {
                p.enemySecretList.Add(s);
            }
        }
示例#17
0
        public SecretItem getNewSecretGuessedItem(int entityid, HeroEnum enemyHeroName)
        {
            foreach (SecretItem si in this.enemySecrets)
            {
                if (si.entityId == entityid && entityid < 1000)
                {
                    return(si);
                }
            }

            SecretItem sec = new SecretItem {
                entityId = entityid
            };

            if (enemyHeroName == HeroEnum.hunter)
            {
                sec.canBe_counterspell = false;
                sec.canBe_icebarrier   = false;
                sec.canBe_iceblock     = false;
                sec.canBe_mirrorentity = false;
                sec.canBe_spellbender  = false;
                sec.canBe_vaporize     = false;
                sec.canBe_duplicate    = false;

                sec.canBe_eyeforaneye    = false;
                sec.canBe_noblesacrifice = false;
                sec.canBe_redemption     = false;
                sec.canBe_repentance     = false;
                sec.canBe_avenge         = false;

                sec.canBe_competivespirit = false;
                sec.canBe_effigy          = false;

                sec.canBe_Trial = false;



                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_554) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_554] >= 2)
                {
                    sec.canBe_snaketrap = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_609) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_609] >= 2)
                {
                    sec.canBe_snipe = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_610) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_610] >= 2)
                {
                    sec.canBe_explosive = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_611) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_611] >= 2)
                {
                    sec.canBe_freezing = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_533) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_533] >= 2)
                {
                    sec.canBe_missdirection = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.AT_060) && enemyCardsPlayed[CardDB.cardIDEnum.AT_060] >= 2)
                {
                    sec.canBe_beartrap = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.LOE_021) && enemyCardsPlayed[CardDB.cardIDEnum.LOE_021] >= 2)
                {
                    sec.canBe_Dart = false;
                }
            }

            if (enemyHeroName == HeroEnum.mage)
            {
                sec.canBe_snaketrap     = false;
                sec.canBe_snipe         = false;
                sec.canBe_explosive     = false;
                sec.canBe_freezing      = false;
                sec.canBe_missdirection = false;

                sec.canBe_eyeforaneye    = false;
                sec.canBe_noblesacrifice = false;
                sec.canBe_redemption     = false;
                sec.canBe_repentance     = false;
                sec.canBe_avenge         = false;

                sec.canBe_competivespirit = false;
                sec.canBe_beartrap        = false;

                sec.canBe_Trial = false;
                sec.canBe_Dart  = false;

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_287) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_287] >= 2)
                {
                    sec.canBe_counterspell = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_289) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_289] >= 2)
                {
                    sec.canBe_icebarrier = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_295) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_295] >= 2)
                {
                    sec.canBe_iceblock = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_294) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_294] >= 2)
                {
                    sec.canBe_mirrorentity = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.tt_010) && enemyCardsPlayed[CardDB.cardIDEnum.tt_010] >= 2)
                {
                    sec.canBe_spellbender = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_594) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_594] >= 2)
                {
                    sec.canBe_vaporize = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.FP1_018) && enemyCardsPlayed[CardDB.cardIDEnum.FP1_018] >= 2)
                {
                    sec.canBe_duplicate = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.AT_002) && enemyCardsPlayed[CardDB.cardIDEnum.AT_002] >= 2)
                {
                    sec.canBe_effigy = false;
                }
            }

            if (enemyHeroName == HeroEnum.pala)
            {
                sec.canBe_snaketrap     = false;
                sec.canBe_snipe         = false;
                sec.canBe_explosive     = false;
                sec.canBe_freezing      = false;
                sec.canBe_missdirection = false;

                sec.canBe_counterspell = false;
                sec.canBe_icebarrier   = false;
                sec.canBe_iceblock     = false;
                sec.canBe_mirrorentity = false;
                sec.canBe_spellbender  = false;
                sec.canBe_vaporize     = false;
                sec.canBe_duplicate    = false;

                sec.canBe_effigy   = false;
                sec.canBe_beartrap = false;
                sec.canBe_Dart     = false;



                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_132) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_132] >= 2)
                {
                    sec.canBe_eyeforaneye = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_130) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_130] >= 2)
                {
                    sec.canBe_noblesacrifice = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_136) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_136] >= 2)
                {
                    sec.canBe_redemption = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_379) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_379] >= 2)
                {
                    sec.canBe_repentance = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.FP1_020) && enemyCardsPlayed[CardDB.cardIDEnum.FP1_020] >= 2)
                {
                    sec.canBe_avenge = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.AT_073) && enemyCardsPlayed[CardDB.cardIDEnum.AT_073] >= 2)
                {
                    sec.canBe_competivespirit = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.LOE_027) && enemyCardsPlayed[CardDB.cardIDEnum.LOE_027] >= 2)
                {
                    sec.canBe_Trial = false;
                }
            }

            return(sec);
        }
示例#18
0
        public SecretItem getNewSecretGuessedItem(int entityid, TAG_CLASS SecClass)
        {
            foreach (SecretItem si in this.enemySecrets)
            {
                if (si.entityId == entityid && entityid < 1000)
                {
                    return(si);
                }
            }

            switch (SecClass)
            {
            case TAG_CLASS.WARRIOR: break;

            case TAG_CLASS.WARLOCK: break;

            case TAG_CLASS.ROGUE: break;

            case TAG_CLASS.SHAMAN: break;

            case TAG_CLASS.PRIEST: break;

            case TAG_CLASS.PALADIN: break;

            case TAG_CLASS.MAGE: break;

            case TAG_CLASS.HUNTER: break;

            case TAG_CLASS.DRUID: break;

            default:
                Helpfunctions.Instance.ErrorLog("Problem is detected: undefined Secret class " + SecClass);
                SecClass = Hrtprozis.Instance.heroEnumtoTagClass(Hrtprozis.Instance.enemyHeroname);
                Helpfunctions.Instance.ErrorLog("attempt to restore... " + SecClass);
                break;
            }


            SecretItem sec = new SecretItem {
                entityId = entityid
            };

            if (SecClass == TAG_CLASS.HUNTER)
            {
                sec.canBe_counterspell = false;
                //sec.canBe_icebarrier = false;
                sec.canBe_iceblock = false;
                //sec.canBe_mirrorentity = false;
                //sec.canBe_spellbender = false;
                //sec.canBe_vaporize = false;
                //sec.canBe_duplicate = false;
                //sec.canBe_effigy = false;
                sec.canBe_flameward      = false;
                sec.canBe_eyeforaneye    = false;
                sec.canBe_noblesacrifice = false;
                sec.canBe_redemption     = false;
                sec.canBe_repentance     = false;
                sec.canBe_avenge         = false;
                sec.canBe_sacredtrial    = false;
                sec.canBe_flameward      = false;

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_554) && enemyCardsOut[CardDB.cardIDEnum.EX1_554] >= 2)
                {
                    sec.canBe_snaketrap = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_609) && enemyCardsOut[CardDB.cardIDEnum.EX1_609] >= 2)
                {
                    sec.canBe_snipe = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_610) && enemyCardsOut[CardDB.cardIDEnum.EX1_610] >= 2)
                {
                    sec.canBe_explosive = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.AT_060) && enemyCardsOut[CardDB.cardIDEnum.AT_060] >= 2)
                {
                    sec.canBe_beartrap = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_611) && enemyCardsOut[CardDB.cardIDEnum.EX1_611] >= 2)
                {
                    sec.canBe_freezing = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_533) && enemyCardsOut[CardDB.cardIDEnum.EX1_533] >= 2)
                {
                    sec.canBe_missdirection = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.LOE_021) && enemyCardsOut[CardDB.cardIDEnum.LOE_021] >= 2)
                {
                    sec.canBe_darttrap = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.KAR_004) && enemyCardsOut[CardDB.cardIDEnum.KAR_004] >= 2)
                {
                    sec.canBe_cattrick = false;
                }
            }

            if (SecClass == TAG_CLASS.MAGE)
            {
                sec.canBe_snaketrap     = false;
                sec.canBe_snipe         = false;
                sec.canBe_explosive     = false;
                sec.canBe_beartrap      = false;
                sec.canBe_freezing      = false;
                sec.canBe_missdirection = false;
                sec.canBe_darttrap      = false;
                sec.canBe_cattrick      = false;

                sec.canBe_eyeforaneye    = false;
                sec.canBe_noblesacrifice = false;
                sec.canBe_redemption     = false;
                sec.canBe_repentance     = false;
                sec.canBe_avenge         = false;
                sec.canBe_sacredtrial    = false;
                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.ULD_239) && enemyCardsOut[CardDB.cardIDEnum.ULD_239] >= 2)
                {
                    sec.canBe_flameward = false;
                }
                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_287) && enemyCardsOut[CardDB.cardIDEnum.EX1_287] >= 2)
                {
                    sec.canBe_counterspell = false;
                }



                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_295) && enemyCardsOut[CardDB.cardIDEnum.EX1_295] >= 2)
                {
                    sec.canBe_iceblock = false;
                }
            }

            if (SecClass == TAG_CLASS.PALADIN)
            {
                sec.canBe_snaketrap     = false;
                sec.canBe_snipe         = false;
                sec.canBe_explosive     = false;
                sec.canBe_beartrap      = false;
                sec.canBe_freezing      = false;
                sec.canBe_missdirection = false;
                sec.canBe_darttrap      = false;
                sec.canBe_cattrick      = false;
                sec.canBe_flameward     = false;
                sec.canBe_counterspell  = false;
                //sec.canBe_icebarrier = false;
                sec.canBe_iceblock = false;
                //sec.canBe_mirrorentity = false;
                //sec.canBe_spellbender = false;
                //sec.canBe_vaporize = false;
                //sec.canBe_duplicate = false;
                //sec.canBe_effigy = false;
                sec.canBe_flameward = false;

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_132) && enemyCardsOut[CardDB.cardIDEnum.EX1_132] >= 2)
                {
                    sec.canBe_eyeforaneye = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_130) && enemyCardsOut[CardDB.cardIDEnum.EX1_130] >= 2)
                {
                    sec.canBe_noblesacrifice = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_136) && enemyCardsOut[CardDB.cardIDEnum.EX1_136] >= 2)
                {
                    sec.canBe_redemption = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_379) && enemyCardsOut[CardDB.cardIDEnum.EX1_379] >= 2)
                {
                    sec.canBe_repentance = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.FP1_020) && enemyCardsOut[CardDB.cardIDEnum.FP1_020] >= 2)
                {
                    sec.canBe_avenge = false;
                }

                if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.LOE_027) && enemyCardsOut[CardDB.cardIDEnum.LOE_027] >= 2)
                {
                    sec.canBe_sacredtrial = false;
                }
            }

            return(sec);
        }
示例#19
0
        public SecretItem getNewSecretGuessedItem(int entityid, HeroEnum enemyHeroName)
        {
            foreach (SecretItem si in this.enemySecrets)
            {
                if (si.entityId == entityid && entityid < 1000) return si;
            }

            SecretItem sec = new SecretItem { entityId = entityid };
            if (enemyHeroName == HeroEnum.hunter)
            {

                sec.canBe_counterspell = false;
                sec.canBe_icebarrier = false;
                sec.canBe_iceblock = false;
                sec.canBe_mirrorentity = false;
                sec.canBe_spellbender = false;
                sec.canBe_vaporize = false;
                sec.canBe_duplicate = false;

                sec.canBe_eyeforaneye = false;
                sec.canBe_noblesacrifice = false;
                sec.canBe_redemption = false;
                sec.canBe_repentance = false;
                sec.canBe_avenge = false;

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_554) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_554] >= 2)
                {
                    sec.canBe_snaketrap = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_609) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_609] >= 2)
                {
                    sec.canBe_snipe = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_610) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_610] >= 2)
                {
                    sec.canBe_explosive = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_611) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_611] >= 2)
                {
                    sec.canBe_freezing = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_533) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_533] >= 2)
                {
                    sec.canBe_missdirection = false;
                }
            }

            if (enemyHeroName == HeroEnum.mage)
            {
                sec.canBe_snaketrap = false;
                sec.canBe_snipe = false;
                sec.canBe_explosive = false;
                sec.canBe_freezing = false;
                sec.canBe_missdirection = false;

                sec.canBe_eyeforaneye = false;
                sec.canBe_noblesacrifice = false;
                sec.canBe_redemption = false;
                sec.canBe_repentance = false;
                sec.canBe_avenge = false;

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_287) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_287] >= 2)
                {
                    sec.canBe_counterspell = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_289) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_289] >= 2)
                {
                    sec.canBe_icebarrier = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_295) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_295] >= 2)
                {
                    sec.canBe_iceblock = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_294) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_294] >= 2)
                {
                    sec.canBe_mirrorentity = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.tt_010) && enemyCardsPlayed[CardDB.cardIDEnum.tt_010] >= 2)
                {
                    sec.canBe_spellbender = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_594) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_594] >= 2)
                {
                    sec.canBe_vaporize = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.FP1_018) && enemyCardsPlayed[CardDB.cardIDEnum.FP1_018] >= 2)
                {
                    sec.canBe_duplicate = false;
                }
            }

            if (enemyHeroName == HeroEnum.pala)
            {

                sec.canBe_snaketrap = false;
                sec.canBe_snipe = false;
                sec.canBe_explosive = false;
                sec.canBe_freezing = false;
                sec.canBe_missdirection = false;

                sec.canBe_counterspell = false;
                sec.canBe_icebarrier = false;
                sec.canBe_iceblock = false;
                sec.canBe_mirrorentity = false;
                sec.canBe_spellbender = false;
                sec.canBe_vaporize = false;
                sec.canBe_duplicate = false;

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_132) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_132] >= 2)
                {
                    sec.canBe_eyeforaneye = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_130) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_130] >= 2)
                {
                    sec.canBe_noblesacrifice = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_136) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_136] >= 2)
                {
                    sec.canBe_redemption = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_379) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_379] >= 2)
                {
                    sec.canBe_repentance = false;
                }

                if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.FP1_020) && enemyCardsPlayed[CardDB.cardIDEnum.FP1_020] >= 2)
                {
                    sec.canBe_avenge = false;
                }

            }

            return sec;
        }
示例#20
0
        //todo better!
        //  Battlecry: Take control of a random enemy Secret;.

        public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
        {
            if (own.own)
            {
                if (p.enemySecretList.Count >= 1)
                {
                    if (p.enemyHeroStartClass == CardClass.HUNTER)
                    {
                        p.ownSecretsIDList.Add(CardIds.Collectible.Hunter.ExplosiveTrap);
                    }

                    if (p.enemyHeroStartClass == CardClass.MAGE)
                    {
                        p.ownSecretsIDList.Add(CardIds.Collectible.Mage.Vaporize);
                    }

                    if (p.enemyHeroStartClass == CardClass.PALADIN)
                    {
                        p.ownSecretsIDList.Add(CardIds.Collectible.Paladin.NobleSacrifice);
                    }

                    if (p.enemyHeroStartClass != CardClass.HUNTER && p.enemyHeroStartClass != CardClass.MAGE && p.enemyHeroStartClass != CardClass.PALADIN)
                    {
                        p.ownSecretsIDList.Add(CardIds.Collectible.Paladin.NobleSacrifice);
                    }

                    p.enemySecretList.RemoveAt(0);
                }
            }
            else
            {
                if (p.ownSecretsIDList.Count >= 1)
                {
                    p.ownSecretsIDList.RemoveAt(0);
                    var s = new SecretItem();
                    s.canBe_avenge         = false;
                    s.canBe_sacredtrial    = false;
                    s.canBe_counterspell   = false;
                    s.canBe_cattrick       = false;
                    s.canBe_duplicate      = false;
                    s.canBe_explosive      = false;
                    s.canBe_beartrap       = false;
                    s.canBe_eyeforaneye    = false;
                    s.canBe_freezing       = false;
                    s.canBe_icebarrier     = false;
                    s.canBe_iceblock       = false;
                    s.canBe_mirrorentity   = false;
                    s.canBe_missdirection  = false;
                    s.canBe_darttrap       = false;
                    s.canBe_noblesacrifice = false;
                    s.canBe_redemption     = false;
                    s.canBe_repentance     = false;
                    s.canBe_snaketrap      = false;
                    s.canBe_snipe          = false;
                    s.canBe_spellbender    = false;
                    s.canBe_vaporize       = false;

                    s.entityId        = 1050;
                    s.canBe_explosive = true;

                    p.enemySecretList.Add(s);
                }
            }
        }
示例#21
0
        public bool isEqual(SecretItem s)
        {
            bool result = this.entityId == s.entityId;
            result = result && this.canBe_avenge == s.canBe_avenge && this.canBe_counterspell == s.canBe_counterspell && this.canBe_duplicate == s.canBe_duplicate && this.canBe_explosive == s.canBe_explosive;
            result = result && this.canBe_eyeforaneye == s.canBe_eyeforaneye && this.canBe_freezing == s.canBe_freezing && this.canBe_icebarrier == s.canBe_icebarrier && this.canBe_iceblock == s.canBe_iceblock;
            result = result && this.canBe_mirrorentity == s.canBe_mirrorentity && this.canBe_missdirection == s.canBe_missdirection && this.canBe_noblesacrifice == s.canBe_noblesacrifice && this.canBe_redemption == s.canBe_redemption;
            result = result && this.canBe_repentance == s.canBe_repentance && this.canBe_snaketrap == s.canBe_snaketrap && this.canBe_snipe == s.canBe_snipe && this.canBe_spellbender == s.canBe_spellbender && this.canBe_vaporize == s.canBe_vaporize;

            return result;
        }