Ejemplo n.º 1
0
        public async Task HandleEvent(AfterTurnStart @event)
        {
            //flag为false时,什么都不做
            if (!_RoundoverResurrectFlag)
            {
                return;
            }
            //重置flag
            _RoundoverResurrectFlag = false;
            //削弱值向上取整
            var WeakenValue = (Card.Status.Strength + 1) / 2;

            //放逐,不复活
            if (Card.Status.Strength == WeakenValue)
            {
                await Card.Effect.Weaken(WeakenValue, Card);

                return;
            }
            await Card.Effect.Weaken(WeakenValue, Card);

            //复活到原位置所在行的
            await Card.Effect.Resurrect(new CardLocation(_RoundOverResurrectRowPosition, 0), Card);

            return;
        }
Ejemplo n.º 2
0
        public async Task HandleEvent(AfterTurnStart @event)
        {
            if (@event.PlayerIndex == PlayerIndex)
            {
                needBoost = false;
            }

            await Task.CompletedTask;
        }
Ejemplo n.º 3
0
        public async Task HandleEvent(AfterTurnStart @event)
        {
            if (@event.PlayerIndex == Card.PlayerIndex && Card.Status.CardRow.IsOnPlace() && Card.Status.Countdown > 0)
            {
                await Card.Effect.SetCountdown(offset : -1);

                if (Card.Effect.Countdown <= 0)
                {
                    await Card.Effect.Ambush();
                }
            }
        }
Ejemplo n.º 4
0
        public async Task HandleEvent(AfterTurnStart @event)
        {
            if (@event.PlayerIndex == Card.PlayerIndex && Card.IsAliveOnPlance() && Card.Status.IsCountdown && Card.Status.Conceal)
            {
                await Card.Effect.SetCountdown(offset : -1);

                if (Card.Effect.Countdown <= 0)
                {
                    await Ambush(async() =>
                    {
                        var targets = Game.GetPlaceCards(AnotherPlayer).FilterCards(type: CardType.Unit, filter: x => x.CardPoint() <= 5 && x.IsAnyGroup(Group.Copper, Group.Silver)).WhereAllHighest().ToList();
                        if (!targets.TryMessOne(out var target, Game.RNG))
                        {
                            return;
                        }
                        await target.Effect.Charm(Card);
                    });
                }
            }
        }