(Player phase, boolean predict)
| 4723 | } |
| 4724 | |
| 4725 | public final boolean canUntap(Player phase, boolean predict) { |
| 4726 | if (!predict && !tapped) { return false; } |
| 4727 | if (phase != null && isExertedBy(phase)) { |
| 4728 | return false; |
| 4729 | } |
| 4730 | if (phase != null && hasKeyword("This card doesn't untap during your next untap step.")) { |
| 4731 | return false; |
| 4732 | } |
| 4733 | Map<AbilityKey, Object> runParams = AbilityKey.mapFromAffected(this); |
| 4734 | runParams.put(AbilityKey.Player, phase); |
| 4735 | return !getGame().getReplacementHandler().cantHappenCheck(ReplacementType.Untap, runParams); |
| 4736 | } |
| 4737 | |
| 4738 | public final boolean untap() { |
| 4739 | return untap(null); |
no test coverage detected