本文整理了Java中mage.abilities.Ability.getTargets()
方法的一些代码示例,展示了Ability.getTargets()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Ability.getTargets()
方法的具体详情如下:
包路径:mage.abilities.Ability
类名称:Ability
方法名:getTargets
[英]Retrieves all targets that must be satisfied before this ability is put onto the stack.
[中]检索在将此能力放入堆栈之前必须满足的所有目标。
代码示例来源:origin: magefree/mage
@Override
public void adjustCosts(Ability ability, Game game) {
int numTargets = ability.getTargets().isEmpty() ? 0 : ability.getTargets().get(0).getTargets().size();
if (numTargets > 1) {
ability.getManaCostsToPay().add(new GenericManaCost(numTargets - 1));
}
}
}
代码示例来源:origin: magefree/mage
@Override
public boolean apply(Game game, Ability source) {
Permanent permanent = game.getPermanent(source.getTargets().getFirstTarget());
if (permanent != null) {
return permanent.isRenowned();
}
return false;
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
Player activePlayer = game.getPlayer(game.getActivePlayerId());
if (activePlayer != null) {
ability.getTargets().clear();
TargetPlayer target = new TargetPlayer(1, 1, false, filter);
target.setTargetController(activePlayer.getId());
ability.getTargets().add(target);
}
}
}
代码示例来源:origin: magefree/mage
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
if (event.getTargetId().equals(this.getTargetPointer().getFirst(game, source))
&& event.getSourceId().equals(this.target.getFirstTarget())) {
this.redirectTarget = source.getTargets().get(1);
return true;
}
return false;
}
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
if (KickedCondition.instance.apply(game, ability)) {
ability.getTargets().clear();
ability.addTarget(new TargetNonlandPermanent(2));
}
}
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
ability.getTargets().clear();
if (KickedCondition.instance.apply(game, ability)) {
ability.addTarget(new TargetPlayer());
}
}
}
代码示例来源:origin: magefree/mage
@Override
public void init(Ability source, Game game) {
super.init(source, game);
redirectToObject = new MageObjectReference(source.getTargets().get(0).getFirstTarget(), game);
}
代码示例来源:origin: magefree/mage
@Override
public boolean apply(Game game, Ability source) {
Player opponent = game.getPlayer(source.getTargets().get(0).getFirstTarget());
if (opponent != null) {
Permanent creature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
if (creature != null) {
creature.destroy(source.getSourceId(), game, false);
}
}
return true;
}
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
ability.getTargets().clear();
ability.addTarget(new TargetCardInYourGraveyard(
GetXValue.instance.calculate(game, ability, null),
StaticFilters.FILTER_CARD_FROM_YOUR_GRAVEYARD
));
}
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
ability.getTargets().clear();
ability.addTarget(new TargetCreaturePermanent(KickedCondition.instance.apply(game, ability) ? 2 : 1));
}
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
int xValue = ability.getManaCostsToPay().getX();
FilterPermanent permanentFilter = new FilterCreaturePermanent("creature with power " + xValue + " or less");
permanentFilter.add(new PowerPredicate(ComparisonType.FEWER_THAN, xValue + 1));
ability.getTargets().clear();
ability.getTargets().add(new TargetPermanent(permanentFilter));
}
}
代码示例来源:origin: magefree/mage
@Override
public boolean apply(Game game, Ability source) {
Permanent permanent = game.getPermanent(source.getTargets().get(0).getFirstTarget());
Player player = game.getPlayer(source.getTargets().get(1).getFirstTarget());
if (permanent != null) {
permanent.damage(3, source.getSourceId(), game, false, true);
}
if (player != null) {
player.damage(2, source.getSourceId(), game, false, true);
}
return true;
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
ability.getTargets().clear();
ability.addTarget(new TargetCardInYourGraveyard(
ability.getManaCostsToPay().getX(),
StaticFilters.FILTER_CARD_FROM_YOUR_GRAVEYARD
));
}
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
ability.getTargets().clear();
ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter));
}
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
ability.getTargets().clear();
int xValue = ability.getManaCostsToPay().getX();
ability.addTarget(new TargetLandPermanent(xValue, xValue, filter, false));
}
}
代码示例来源:origin: magefree/mage
@Override
public boolean apply(Game game, Ability source) {
for (Target target : source.getTargets()) {
if (target.getFirstTarget() != null) {
ContinuousEffect effect = new GainControlTargetEffect(Duration.EndOfGame);
effect.setTargetPointer(new FixedTarget(target.getFirstTarget()));
game.addEffect(effect, source);
}
}
return true;
}
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
ability.getTargets().clear();
int xValue = ability.getManaCostsToPay().getX();
Target target = new TargetCardInYourGraveyard(xValue, new FilterCreatureCard((xValue != 1 ? " creature cards" : "creature card") + " from your graveyard"));
ability.addTarget(target);
}
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
Permanent sourcePermanent = game.getPermanentOrLKIBattlefield(ability.getSourceId());
if (sourcePermanent != null) {
ability.getTargets().clear();
ability.addTarget(new TargetCreaturePermanentAmount(sourcePermanent.getPower().getValue()));
}
}
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
int xValue = ability.getManaCostsToPay().getX();
ability.getTargets().clear();
FilterSpell filter = new FilterSpell("spell with converted mana cost " + xValue);
filter.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
ability.addTarget(new TargetSpell(filter));
}
}
代码示例来源:origin: magefree/mage
@Override
public void adjustTargets(Ability ability, Game game) {
ability.getTargets().clear();
int xValue = ability.getManaCostsToPay().getX();
FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with converted mana cost X");
filter.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
ability.addTarget(new TargetCreaturePermanent(filter));
}
}
内容来源于网络,如有侵权,请联系作者删除!