public override Task OnPlay(GameHandler gameHandler, int curPlayer, int enemy)
        {
            int index = Mechathun.FindInShop(gameHandler, curPlayer);

            if (index == -1)
            {
                index = Mechathun.AddMechaThun(gameHandler, curPlayer);
            }
            return(Task.CompletedTask);
        }
        public override Task Battlecry(GameHandler gameHandler, int curPlayer, int enemy)
        {
            int index = Mechathun.FindInShop(gameHandler, curPlayer);

            if (index == -1)
            {
                index = Mechathun.AddMechaThun(gameHandler, curPlayer);
            }

            gameHandler.players[curPlayer].creatureData.attack -= gameHandler.players[curPlayer].shop.At(index).creatureData.staticKeywords[StaticKeyword.Freeze];
            gameHandler.players[curPlayer].creatureData.health -= gameHandler.players[curPlayer].shop.At(index).creatureData.staticKeywords[StaticKeyword.Freeze];

            return(Task.CompletedTask);
        }
        public override Task Battlecry(GameHandler gameHandler, int curPlayer, int enemy)
        {
            int index = Mechathun.FindInShop(gameHandler, curPlayer);

            if (index == -1)
            {
                index = Mechathun.AddMechaThun(gameHandler, curPlayer);
            }

            if (gameHandler.players[curPlayer].shop.At(index).creatureData.staticKeywords[StaticKeyword.Freeze] <= 5)
            {
                gameHandler.players[curPlayer].creatureData.staticKeywords[StaticKeyword.Shields] += 16;
            }

            return(Task.CompletedTask);
        }
        public override Task OnSpellCast(Card spell, GameHandler gameHandler, int curPlayer, int enemy)
        {
            if (spellburst)
            {
                spellburst         = false;
                this.writtenEffect = string.Empty;

                int index = Mechathun.FindInShop(gameHandler, curPlayer);
                if (index == -1)
                {
                    index = Mechathun.AddMechaThun(gameHandler, curPlayer);
                }

                gameHandler.players[curPlayer].shop.At(index).creatureData.attack += 20;
                gameHandler.players[curPlayer].shop.At(index).creatureData.health += 20;
            }

            return(base.OnSpellCast(spell, gameHandler, curPlayer, enemy));
        }
        public static int AddMechaThun(GameHandler gameHandler, int player)
        {
            Card token = new Mechathun();

            return(gameHandler.players[player].shop.AddUpgrade((Upgrade)gameHandler.players[player].pool.FindBasicCard(token.name)));
        }