コード例 #1
0
//    fügt zwei zufälligen feindlichen dienern $2 schaden zu.

		public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
		{
            if (p.isServer)
            {
                int damageS = (ownplay) ? p.getSpellDamageDamage(2) : p.getEnemySpellDamageDamage(2);
                List<Minion> temp22 = (ownplay) ? new List<Minion>(p.enemyMinions) : new List<Minion>(p.ownMinions);
                if (temp22.Count < 2) return;
                int random1 = p.getRandomNumber_SERVER(0, temp22.Count - 1);
                int random2 = p.getRandomNumber_SERVER(0, temp22.Count - 2);
                if (random2 >= random1) random2++;

                p.minionGetDamageOrHeal(temp22[random1], damageS);
                p.minionGetDamageOrHeal(temp22[random2], damageS);

                return;
            }

            //TODO delete new list
            int damage = (ownplay) ? p.getSpellDamageDamage(2) : p.getEnemySpellDamageDamage(2);
            List<Minion> temp2 = (ownplay) ? new List<Minion>(p.enemyMinions) : new List<Minion>(p.ownMinions) ;
            temp2.Sort((a, b) => a.Hp.CompareTo(b.Hp));
            int i = 0;
            foreach (Minion enemy in temp2)
            {
                p.minionGetDamageOrHeal(enemy, damage);
                i++;
                if (i == 2) break;
            }


		}
コード例 #2
0
ファイル: Sim__AT_051.cs プロジェクト: spanos123/silverfish
        //    Deal $4-$5 damage to all minions. Overload: (5)

        public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
        {
            if (ownplay) { p.owedRecall += 5; } else { p.enemyRecall += 5; };
            if (p.isServer)
            {

                foreach (Minion m in p.ownMinions)
                {
                    int dmgr = p.getRandomNumber_SERVER(4, 5);
                    dmgr = (ownplay) ? p.getSpellDamageDamage(dmgr) : p.getEnemySpellDamageDamage(dmgr);
                    p.minionGetDamageOrHeal(m, dmgr);
                }

                foreach (Minion m in p.enemyMinions)
                {
                    int dmgr = p.getRandomNumber_SERVER(4, 5);
                    dmgr = (ownplay) ? p.getSpellDamageDamage(dmgr) : p.getEnemySpellDamageDamage(dmgr);
                    p.minionGetDamageOrHeal(m, dmgr);
                }

                return;
            }

            int dmg = (ownplay) ? p.getSpellDamageDamage(5) : p.getEnemySpellDamageDamage(5);
            p.allMinionsGetDamage(dmg);
            
        }
コード例 #3
0
        CardDB.Card copymin = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.CS2_182); // we take a icewindjety :D

		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 = (ownplay)? p.enemyDeck : p.myDeck;

                foreach (Handmanager.Handcard hc in cards)
                {
                    if (hc.card.type == CardDB.cardtype.MOB)
                    {
                        temp.Add(hc);
                    }
                }

                if (temp.Count >= 1)
                {

                    int rand = p.getRandomNumber_SERVER(0, temp.Count - 1);
                    int posi = (ownplay) ? p.ownMinions.Count : p.enemyMinions.Count;
                    p.callKid(cards[rand].card, posi, true);
                }
                else
                {
                    int posi = (ownplay) ? p.ownMinions.Count : p.enemyMinions.Count;
                    p.callKid(shadow, posi, true);
                }
                return;
            }
            p.callKid(copymin, p.ownMinions.Count, true);
		}
コード例 #4
0
        //   At the end of your turn, give another friendly Mech +2/+2.

        public override void onTurnEndsTrigger(Playfield p, Minion triggerEffectMinion, bool turnEndOfOwner)
        {
            if (turnEndOfOwner == triggerEffectMinion.own)
            {
                List<Minion> temp = (turnEndOfOwner) ? p.ownMinions : p.enemyMinions;
                List<Minion> tempmech = new List<Minion>();
                foreach (Minion m in temp)
                {
                    if ((TAG_RACE)m.handcard.card.race == TAG_RACE.MECHANICAL)
                    {
                        tempmech.Add(m);
                    }
                }
                if (tempmech.Count >= 1)
                {
                    if (p.isServer)
                    {
                        int random = p.getRandomNumber_SERVER(0, tempmech.Count - 1);
                        p.minionGetBuffed(tempmech[random], 2, 2);
                        return;
                    }
                    p.minionGetBuffed(p.searchRandomMinion(tempmech, (triggerEffectMinion.own ? Playfield.searchmode.searchLowestHP : Playfield.searchmode.searchHighestHP)), 2, 2);
                }
            }
        }
コード例 #5
0
        //  Battlecry: Give your other minions Windfury Taunt or Divine Shield

        public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
        {

            if (p.isServer)
            {
                List<Minion> temps = (own.own) ? p.ownMinions : p.enemyMinions;

                foreach (Minion m in temps)
                {
                    int random = p.getRandomNumber_SERVER(0, 2);
                    if(random == 0) m.taunt = true;
                    if (random == 1) m.divineshild = true;
                    if (random == 2) m.windfury = true;
                }

                return;
            }

            List<Minion> temp = (own.own) ? p.ownMinions : p.enemyMinions;

            foreach (Minion m in temp)
            {
                m.taunt = true;
            }

        }
コード例 #6
0
ファイル: Sim_FP1_022.cs プロジェクト: noHero123/silverfish
        CardDB.Card c = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_301);//felguard
//    todesröcheln:/ legt einen zufälligen dämon aus eurer hand auf das schlachtfeld.

        public override void onDeathrattle(Playfield p, Minion m)
        {
            if (p.isServer)
            {
                List<Handmanager.Handcard> temp = new List<Handmanager.Handcard>();
                List<Handmanager.Handcard> cards = (m.own) ? p.owncards : p.EnemyCards;

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

                if (temp.Count == 0) return;

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

                p.callKid(cards[rand].card, p.ownMinions.Count, m.own);
                p.removeCard_SERVER(cards[rand], m.own);

                return;
            }

            if (m.own)
            {
                List<Handmanager.Handcard> temp = new List<Handmanager.Handcard>();
                foreach (Handmanager.Handcard hc in p.owncards)
                {
                    if ((TAG_RACE)hc.card.race == TAG_RACE.DEMON)
                    {
                        temp.Add(hc);
                    }
                }

                temp.Sort((x, y) => x.card.Attack.CompareTo(y.card.Attack));

                foreach (Handmanager.Handcard mnn in temp)
                {
                    p.callKid(mnn.card, p.ownMinions.Count, true);
                    p.removeCard(mnn);
                    break;
                }

            }
            else
            {
                if (p.enemyAnzCards >= 1)
                {
                    p.callKid(c, p.enemyMinions.Count , false);
                }
            }
        }
コード例 #7
0
//    kampfschrei:/ verleiht beiden spielern die macht des rock! (durch eine powerakkordkarte)
		public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
		{
            if (p.isServer)
            {
                bool chooser = true;
                int random = p.getRandomNumber_SERVER(0, 2);

                if (random == 0) p.drawACard(CardDB.cardIDEnum.PRO_001a, chooser, true);
                if (random == 1) p.drawACard(CardDB.cardIDEnum.PRO_001b, chooser, true);
                if (random == 2) p.drawACard(CardDB.cardIDEnum.PRO_001c, chooser, true);

                chooser = false;
                random = p.getRandomNumber_SERVER(0, 2);
                if (random == 0) p.drawACard(CardDB.cardIDEnum.PRO_001a, chooser, true);
                if (random == 1) p.drawACard(CardDB.cardIDEnum.PRO_001b, chooser, true);
                if (random == 2) p.drawACard(CardDB.cardIDEnum.PRO_001c, chooser, true);
                return;
            }
            p.drawACard(CardDB.cardIDEnum.PRO_001b, true, true);
            p.drawACard(CardDB.cardIDEnum.PRO_001b, false, true);
		}
コード例 #8
0
ファイル: Sim_BRM_012.cs プロジェクト: peppert/silverfish
        //    Battlecry: Gain 1-4 Attack. &lt;b&gt;Overload:&lt;/b&gt; (1)
       
		public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
		{
            if (p.isServer)
            {
                if (own.own) { p.owedRecall += 1; } else { p.enemyRecall += 1; };
                int random = p.getRandomNumber_SERVER(1, 4);
                p.minionGetBuffed(own, random, 0);
                return;
            }

            if (own.own) { p.owedRecall += 1; } else { p.enemyRecall += 1; };
            p.minionGetBuffed(own, 2, 0);
		}
コード例 #9
0
ファイル: Sim_GvG_110t.cs プロジェクト: noHero123/silverfish
        //  Deathrattle: Deal 1-4 damage to a random enemy.

        

        public override void onDeathrattle(Playfield p, Minion m)
        {
            if (p.isServer)
            {
                int randdmg = p.getRandomNumber_SERVER(1, 4);
                Minion poortarget = p.getRandomMinionFromSide_SERVER(!m.own, true);
                if (poortarget != null) p.minionGetDamageOrHeal(poortarget, randdmg);
                return;
            }

            int dmg = (m.own ? 2 : 3);
            p.doDmgToRandomEnemyCLIENT2(dmg, true, m.own);

        }
コード例 #10
0
//    kampfschrei:/ konstruiert eine fantastische erfindung.
		public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
		{
            if (p.isServer)
            {
                int random = p.getRandomNumber_SERVER(0, 3);
                if (random == 0) p.callKid(kid, own.zonepos, own.own, true);
                if (random == 1) p.callKid(kid1, own.zonepos, own.own, true);
                if (random == 2) p.callKid(kid2, own.zonepos, own.own, true);
                if (random == 3) p.callKid(kid3, own.zonepos, own.own, true);
                
                return;
            }
            p.callKid(kid, own.zonepos, own.own, true);
		}
コード例 #11
0
ファイル: Sim_GvG_038.cs プロジェクト: noHero123/silverfish
        //    Deal $3-$6 damage.Overload: (1)

        public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
        {
            p.changeRecall(ownplay, 1);
            if (p.isServer)
            {
                int random = p.getRandomNumber_SERVER(3, 6);
                int dmgS = (ownplay) ? p.getSpellDamageDamage(random) : p.getEnemySpellDamageDamage(random);
                p.minionGetDamageOrHeal(target, dmgS);
                
                return;
            }

            int dmg = (ownplay) ? p.getSpellDamageDamage(4) : p.getEnemySpellDamageDamage(4);
            p.minionGetDamageOrHeal(target, dmg);
        }
コード例 #12
0
//    zu beginn eures zuges besteht eine chance von 50%, dass ihr eine zusätzliche karte zieht.
        public override void onTurnStartTrigger(Playfield p, Minion triggerEffectMinion, bool turnStartOfOwner)
        {
            if (triggerEffectMinion.own == turnStartOfOwner)
            {
                if (p.isServer)
                {
                    int random = p.getRandomNumber_SERVER(0, 1);
                    if (random == 0)
                    {
                        p.drawACard(CardDB.cardIDEnum.None, turnStartOfOwner);
                    }
                    return;
                }
                p.drawACard(CardDB.cardIDEnum.None, turnStartOfOwner);
            }
        }
コード例 #13
0
ファイル: Sim_EX1_572.cs プロジェクト: noHero123/silverfish
//    zieht am ende eures zuges eine traumkarte.

        public override void onTurnEndsTrigger(Playfield p, Minion triggerEffectMinion, bool turnEndOfOwner)
        {
            if (triggerEffectMinion.own == turnEndOfOwner)
            {

                if (p.isServer)
                {
                    int random = p.getRandomNumber_SERVER(0, 4);
                    if (random == 0) p.drawACard(CardDB.cardIDEnum.DREAM_01, turnEndOfOwner, true);
                    if (random == 1) p.drawACard(CardDB.cardIDEnum.DREAM_02, turnEndOfOwner, true);
                    if (random == 2) p.drawACard(CardDB.cardIDEnum.DREAM_03, turnEndOfOwner, true);
                    if (random == 3) p.drawACard(CardDB.cardIDEnum.DREAM_04, turnEndOfOwner, true);
                    if (random == 4) p.drawACard(CardDB.cardIDEnum.DREAM_05, turnEndOfOwner, true);
                }
                p.drawACard(CardDB.cardIDEnum.DREAM_02, turnEndOfOwner, true);
            }
        }
コード例 #14
0
//    tauscht zu beginn eures zuges diesen diener gegen einen zufälligen diener auf eurer hand aus.

        public override void onTurnStartTrigger(Playfield p, Minion triggerEffectMinion, bool turnStartOfOwner)
        {
            if (p.isServer && triggerEffectMinion.own == turnStartOfOwner)
            {
                List<Handmanager.Handcard> temp2 = new List<Handmanager.Handcard>();
                List<Handmanager.Handcard> hand = (turnStartOfOwner) ? p.owncards : p.EnemyCards;
                foreach (Handmanager.Handcard hc in hand)
                {
                    if (hc.card.type == CardDB.cardtype.MOB) temp2.Add(hc);
                }
                if (temp2.Count == 0) return;

                int random = p.getRandomNumber_SERVER(0, temp2.Count - 1);
                p.minionTransform(triggerEffectMinion, temp2[random].card);
                p.removeCard(temp2[random]);
                p.drawACard(CardDB.cardIDEnum.EX1_006, turnStartOfOwner, true);

                return;
            }


            if (turnStartOfOwner && triggerEffectMinion.own == turnStartOfOwner)
            {
                List<Handmanager.Handcard> temp2 = new List<Handmanager.Handcard>();
                foreach (Handmanager.Handcard hc in p.owncards)
                {
                    if (hc.card.type == CardDB.cardtype.MOB) temp2.Add(hc);
                }
                temp2.Sort((a, b) => -a.card.Attack.CompareTo(b.card.Attack));//damage the stronges
                foreach (Handmanager.Handcard mins in temp2)
                {
                    CardDB.Card c = CardDB.Instance.getCardDataFromID(mins.card.cardIDenum);
                    p.minionTransform(triggerEffectMinion, c);
                    p.removeCard(mins);
                    p.drawACard(CardDB.cardIDEnum.EX1_006, true, true);
                    break;
                }
                return;
            }

            if (!turnStartOfOwner && triggerEffectMinion.own == turnStartOfOwner)
            {
                p.minionGetBuffed(triggerEffectMinion, 4, 4);
                triggerEffectMinion.Hp = triggerEffectMinion.maxHp;
            }
        }
コード例 #15
0
ファイル: Sim_EX1_259.cs プロジェクト: peppert/silverfish
 //Deal $2-$3 damage to all enemy minions. Overload: (2)
 public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
 {
     if (p.isServer)
     {
         List<Minion> temp = (!ownplay) ? p.ownMinions : p.enemyMinions;
         foreach (Minion m in temp)
         {
             int random = p.getRandomNumber_SERVER(2, 3);
             int dmgs = (ownplay) ? p.getSpellDamageDamage(random) : p.getEnemySpellDamageDamage(random);
             p.minionGetDamageOrHeal(m, dmgs, true);
         }
         if (ownplay) { p.owedRecall += 2; } else { p.enemyRecall += 2; };
         return;
     }
     int dmg = (ownplay) ? p.getSpellDamageDamage(3) : p.getEnemySpellDamageDamage(3);
     p.allMinionOfASideGetDamage(!ownplay, dmg);
     if (ownplay) { p.owedRecall += 2; } else { p.enemyRecall += 2; };
 }
コード例 #16
0
ファイル: Sim_PRO_001a.cs プロジェクト: noHero123/silverfish
        public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
        {
            int posi = (ownplay) ? p.ownMinions.Count : p.enemyMinions.Count ;

            if (p.isServer)
            {
                
                int random1 = p.getRandomNumber_SERVER(3, 5);
                for (int i = 0; i < random1; i++)
                {
                    p.callKid(kid, posi, ownplay);
                }
                return;
            }

            p.callKid(kid, posi, ownplay);
            p.callKid(kid, posi, ownplay);
            p.callKid(kid, posi, ownplay);
            p.callKid(kid, posi, ownplay);
        }
コード例 #17
0
        public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
        {

            if (p.isServer)
            {
                List<Handmanager.Handcard> cardss = (ownplay) ? p.EnemyCards : p.owncards;
                if (cardss.Count >= 1)
                {
                    int random = p.getRandomNumber_SERVER(0, cardss.Count - 1);
                    p.drawACard(cardss[random].card.cardIDenum, ownplay, true);
                }
                return;
            }

            int anz = (ownplay) ? p.enemyAnzCards : p.owncards.Count;
            if (anz >= 1)
            {
                p.drawACard(CardDB.cardIDEnum.None, ownplay, true);
            }
        }
コード例 #18
0
ファイル: Sim_EX1_083.cs プロジェクト: noHero123/silverfish
        CardDB.Card card2 = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_tk28); // squirrel
        //todo better
//    kampfschrei:/ verwandelt einen anderen zufälligen diener in einen teufelssaurier (5/5) oder ein eichhörnchen (1/1).
		public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice)
		{
            if (p.isServer)
            {
                Minion choosen = p.getRandomCharExcept_SERVER(null, false);
                if (choosen != null)
                {
                    int rand = p.getRandomNumber_SERVER(0, 1);
                    if (rand == 0) p.minionTransform(choosen, card1);
                    if (rand == 1) p.minionTransform(choosen, card2);
                }
                return;
            }


            int oc = p.ownMinions.Count;
            int ec = p.enemyMinions.Count;
            if (oc == 0 && ec == 0) return;
            if (oc > ec)
            {
                List<Minion> temp = new List<Minion>(p.ownMinions);
                temp.AddRange(p.enemyMinions);
                temp.Sort((a, b) => a.Hp.CompareTo(b.Hp));//transform the weakest
                foreach (Minion m in temp)
                {
                    p.minionTransform(m, card1);
                    break;
                }
            }
            else
            {
                List<Minion> temp = new List<Minion>(p.ownMinions);
                temp.AddRange(p.enemyMinions);
                temp.Sort((a, b) => -a.Hp.CompareTo(b.Hp));//transform the strongest
                foreach (Minion m in temp)
                {
                    p.minionTransform(m, card2);
                    break;
                }
            }
		}
コード例 #19
0
ファイル: Sim_GvG_110t.cs プロジェクト: peppert/silverfish
        //  Deathrattle: Deal 1-4 damage to a random enemy.

        

        public override void onDeathrattle(Playfield p, Minion m)
        {
            if (p.isServer)
            {
                int randdmg = p.getRandomNumber_SERVER(1, 4);
                Minion poortarget = p.getRandomMinionFromSide_SERVER(!m.own, true);
                if (poortarget != null) p.minionGetDamageOrHeal(poortarget, randdmg);
                return;
            }

            List<Minion> temp = (m.own) ? p.enemyMinions : p.ownMinions;
            if (temp.Count >= 1 && temp.Count >=1 )
            {
                p.minionGetDamageOrHeal(p.searchRandomMinion(temp, Playfield.searchmode.searchHighestHP), 2);
            }
            else
            {
                p.minionGetDamageOrHeal(((m.own)?p.enemyHero : p.ownHero), 2);
            }

        }
コード例 #20
0
        public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice)
        {
            if (p.isServer)
            {
                int rand = p.getRandomNumber_SERVER(2, 4);
                int dmgs = (ownplay) ? p.getSpellDamageDamage(rand) : p.getEnemySpellDamageDamage(rand);
                p.minionGetDamageOrHeal(target, dmgs);
                int posis = (ownplay) ? p.ownMinions.Count : p.enemyMinions.Count;
                for (int i = 0; i < dmgs; i++)
                {
                    p.callKid(kid, posis, ownplay);
                    posis++;
                }
                return;
            }

            int dmg = (ownplay) ? p.getSpellDamageDamage(2) : p.getEnemySpellDamageDamage(2);
            p.minionGetDamageOrHeal(target, dmg);

            int posi = (ownplay) ? p.ownMinions.Count : p.enemyMinions.Count;
            p.callKid(kid, posi, ownplay);
            posi++;
            p.callKid(kid, posi, ownplay);
        }
コード例 #21
0
ファイル: Sim_GvG_029.cs プロジェクト: noHero123/silverfish
        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);
            }
        }