mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 19:41:59 -08:00
Fixes for Oubliette (#8942)
This commit is contained in:
commit
707ef251d4
1 changed files with 14 additions and 9 deletions
|
|
@ -47,7 +47,7 @@ public final class Oubliette extends CardImpl {
|
||||||
class OubliettePhaseOutEffect extends OneShotEffect {
|
class OubliettePhaseOutEffect extends OneShotEffect {
|
||||||
|
|
||||||
OubliettePhaseOutEffect() {
|
OubliettePhaseOutEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Detriment);
|
||||||
staticText = "target creature phases out until {this} leaves the battlefield. " +
|
staticText = "target creature phases out until {this} leaves the battlefield. " +
|
||||||
"Tap that creature as it phases in this way.";
|
"Tap that creature as it phases in this way.";
|
||||||
}
|
}
|
||||||
|
|
@ -68,11 +68,12 @@ class OubliettePhaseOutEffect extends OneShotEffect {
|
||||||
if (sourcePermanent == null || permanent == null) {
|
if (sourcePermanent == null || permanent == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
MageObjectReference mor = new MageObjectReference(permanent, game);
|
MageObjectReference mor = new MageObjectReference(permanent, game);
|
||||||
permanent.tap(source, game);
|
|
||||||
permanent.phaseOut(game);
|
permanent.phaseOut(game);
|
||||||
game.addEffect(new OubliettePhasePreventEffect(mor), source);
|
game.addEffect(new OubliettePhasePreventEffect(mor), source);
|
||||||
game.addDelayedTriggeredAbility(new OublietteDelayedTriggeredAbility(mor), source);
|
game.addDelayedTriggeredAbility(new OublietteDelayedTriggeredAbility(mor), source);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -136,13 +137,11 @@ class OublietteDelayedTriggeredAbility extends DelayedTriggeredAbility {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean checkTrigger(GameEvent event, Game game) {
|
public boolean checkTrigger(GameEvent event, Game game) {
|
||||||
if (event.getTargetId().equals(this.getSourceId())) {
|
if (!event.getTargetId().equals(this.getSourceId())) {
|
||||||
ZoneChangeEvent zEvent = (ZoneChangeEvent) event;
|
return false;
|
||||||
if (zEvent.getFromZone() == Zone.BATTLEFIELD) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
|
return ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -168,6 +167,12 @@ class OubliettePhaseInEffect extends OneShotEffect {
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Permanent permanent = mor.getPermanent(game);
|
Permanent permanent = mor.getPermanent(game);
|
||||||
return permanent != null && permanent.phaseIn(game);
|
if (permanent == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
permanent.setTapped(true); // Used instead of .tap so that tapped triggered abilities don't trigger
|
||||||
|
|
||||||
|
return permanent.phaseIn(game);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue