mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
Add hint to Agent of Treachery
This commit is contained in:
parent
451b17c300
commit
f8ed194028
1 changed files with 14 additions and 21 deletions
|
|
@ -4,17 +4,17 @@ import mage.MageInt;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.condition.Condition;
|
||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.continuous.GainControlTargetEffect;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.game.Game;
|
||||
import mage.constants.*;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -24,6 +24,12 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class AgentOfTreachery extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterControlledPermanent();
|
||||
|
||||
static {
|
||||
filter.add(TargetController.NOT_YOU.getOwnerPredicate());
|
||||
}
|
||||
|
||||
public AgentOfTreachery(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}{U}");
|
||||
|
||||
|
|
@ -42,9 +48,9 @@ public final class AgentOfTreachery extends CardImpl {
|
|||
new BeginningOfEndStepTriggeredAbility(
|
||||
new DrawCardSourceControllerEffect(3),
|
||||
TargetController.YOU, false
|
||||
), AgentOfTreacheryCondition.instance, "At the beginning of your end step, " +
|
||||
), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 2), "At the beginning of your end step, " +
|
||||
"if you control three or more permanents you don't own, draw three cards."
|
||||
));
|
||||
).addHint(new ValueHint("Permanents you control but don't own", new PermanentsOnBattlefieldCount(filter))));
|
||||
}
|
||||
|
||||
private AgentOfTreachery(final AgentOfTreachery card) {
|
||||
|
|
@ -56,16 +62,3 @@ public final class AgentOfTreachery extends CardImpl {
|
|||
return new AgentOfTreachery(this);
|
||||
}
|
||||
}
|
||||
|
||||
enum AgentOfTreacheryCondition implements Condition {
|
||||
instance;
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
return game.getBattlefield()
|
||||
.getAllActivePermanents(source.getControllerId())
|
||||
.stream()
|
||||
.filter(permanent -> !permanent.getOwnerId().equals(source.getControllerId()))
|
||||
.count() > 2;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue