forked from External/mage
add UNTAPPED option to AttachedToTappedCondition
This commit is contained in:
parent
35ec41d8e0
commit
595a1d6f14
3 changed files with 18 additions and 25 deletions
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.s;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -6,7 +5,6 @@ import mage.constants.SubType;
|
|||
import mage.target.common.TargetCreaturePermanent;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.InvertCondition;
|
||||
import mage.abilities.condition.common.AttachedToTappedCondition;
|
||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||
import mage.abilities.effects.common.AttachEffect;
|
||||
|
|
@ -19,7 +17,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.AttachmentType;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Zone;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -40,14 +37,11 @@ public final class SpectralCloak extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature has shroud as long as it's untapped.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new ConditionalContinuousEffect(
|
||||
new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA),
|
||||
new InvertCondition(AttachedToTappedCondition.instance),
|
||||
"Enchanted creature has shroud as long as it's untapped."
|
||||
)
|
||||
));
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA),
|
||||
AttachedToTappedCondition.UNTAPPED,
|
||||
"Enchanted creature has shroud as long as it's untapped."
|
||||
)));
|
||||
}
|
||||
|
||||
private SpectralCloak(final SpectralCloak card) {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,9 @@
|
|||
|
||||
package mage.cards.s;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.CompoundCondition;
|
||||
import mage.abilities.condition.InvertCondition;
|
||||
import mage.abilities.condition.common.AttachedToTappedCondition;
|
||||
import mage.abilities.condition.common.EquipmentAttachedCondition;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
|
|
@ -16,17 +13,15 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
|||
import mage.abilities.keyword.EquipAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.permanent.TappedPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
|
|
@ -47,14 +42,14 @@ public final class SwordOfTheParuns extends CardImpl {
|
|||
// As long as equipped creature is tapped, tapped creatures you control get +2/+0.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
new BoostControlledEffect(2,0, Duration.WhileOnBattlefield, filterTapped),
|
||||
new CompoundCondition(EquipmentAttachedCondition.instance, AttachedToTappedCondition.instance),
|
||||
new CompoundCondition(EquipmentAttachedCondition.instance, AttachedToTappedCondition.TAPPED),
|
||||
"As long as equipped creature is tapped, tapped creatures you control get +2/+0"
|
||||
)));
|
||||
|
||||
// As long as equipped creature is untapped, untapped creatures you control get +0/+2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
new BoostControlledEffect(0,2, Duration.WhileOnBattlefield, filterUntapped),
|
||||
new CompoundCondition(EquipmentAttachedCondition.instance, new InvertCondition(AttachedToTappedCondition.instance)),
|
||||
new CompoundCondition(EquipmentAttachedCondition.instance, AttachedToTappedCondition.UNTAPPED),
|
||||
"As long as equipped creature is untapped, untapped creatures you control get +0/+2"
|
||||
)));
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
package mage.abilities.condition.common;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -11,7 +9,13 @@ import mage.game.permanent.Permanent;
|
|||
* @author LevelX2
|
||||
*/
|
||||
public enum AttachedToTappedCondition implements Condition {
|
||||
instance;
|
||||
TAPPED(true),
|
||||
UNTAPPED(false);
|
||||
private final boolean tapped;
|
||||
|
||||
AttachedToTappedCondition(boolean tapped) {
|
||||
this.tapped = tapped;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
|
|
@ -23,6 +27,6 @@ public enum AttachedToTappedCondition implements Condition {
|
|||
if (attachedTo == null) {
|
||||
return false;
|
||||
}
|
||||
return attachedTo.isTapped();
|
||||
return attachedTo.isTapped() == this.tapped;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue