mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 04:52:07 -08:00
[DOM] Added Rona, Disciple of Gix.
This commit is contained in:
parent
26ce05b42d
commit
1eaa12aca4
3 changed files with 182 additions and 0 deletions
|
|
@ -30,6 +30,7 @@ package mage.abilities.effects.common;
|
|||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.Mode;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -56,6 +57,7 @@ public class ExileTargetEffect extends OneShotEffect {
|
|||
private String exileZone = null;
|
||||
private UUID exileId = null;
|
||||
protected boolean multitargetHandling;
|
||||
private boolean toSourceExileZone = false; // exile the targets to a source object specific exile zone (takes care of zone change counter)
|
||||
|
||||
public ExileTargetEffect(String effectText) {
|
||||
this(effectText, false);
|
||||
|
|
@ -93,6 +95,7 @@ public class ExileTargetEffect extends OneShotEffect {
|
|||
this.exileId = effect.exileId;
|
||||
this.onlyFromZone = effect.onlyFromZone;
|
||||
this.multitargetHandling = effect.multitargetHandling;
|
||||
this.toSourceExileZone = effect.toSourceExileZone;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -100,6 +103,11 @@ public class ExileTargetEffect extends OneShotEffect {
|
|||
return new ExileTargetEffect(this);
|
||||
}
|
||||
|
||||
public ExileTargetEffect setToSourceExileZone(boolean toSourceExileZone) {
|
||||
this.toSourceExileZone = toSourceExileZone;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
|
|
@ -156,6 +164,13 @@ public class ExileTargetEffect extends OneShotEffect {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (toSourceExileZone) {
|
||||
MageObject sourceObject = source.getSourceObject(game);
|
||||
exileId = CardUtil.getExileZoneId(game, source.getSourceId(), source.getSourceObjectZoneChangeCounter());
|
||||
if (sourceObject != null) {
|
||||
exileZone = sourceObject.getIdName();
|
||||
}
|
||||
}
|
||||
controller.moveCardsToExile(toExile, source, game, true, exileId, exileZone);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue