This commit is contained in:
Jeff Wadsworth 2024-12-03 14:18:57 -06:00
parent d2e7d100ee
commit 5df9127e01

View file

@ -16,8 +16,10 @@ import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.TokenImpl;
import mage.target.TargetPermanent;
import mage.target.targetpointer.FixedTarget;
/**
*
@ -78,13 +80,18 @@ class ElvishBranchbenderEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
int xValue = new PermanentsOnBattlefieldCount(filter).calculate(game, source, this);
Permanent targetForest = game.getPermanent(this.getTargetPointer().copy().getFirst(game, source));
if (targetForest == null) {
return false;
}
ContinuousEffect effect = new BecomesCreatureTargetEffect(
new ElvishBranchbenderToken(xValue),
false, false, Duration.EndOfTurn)
.withDurationRuleAtStart(true);
effect.setTargetPointer(this.getTargetPointer().copy());
// works well with blinked effects
effect.setTargetPointer(new FixedTarget(targetForest, game));
game.addEffect(effect, source);
return false;
return true;
}
}
@ -101,6 +108,7 @@ class ElvishBranchbenderToken extends TokenImpl {
super(token);
}
@Override
public ElvishBranchbenderToken copy() {
return new ElvishBranchbenderToken(this);
}