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; }
public async Task HandleEvent(AfterTurnStart @event) { if (@event.PlayerIndex == PlayerIndex) { needBoost = false; } await Task.CompletedTask; }
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(); } } }
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); }); } } }