private void applyContinuousEffect(ContinuousEffect effect, Layer currentLayer, Game game) { Set<Ability> abilities = layeredEffects.getAbility(effect.getId()); for (Ability ability : abilities) { //effect.apply(currentLayer, SubLayer.NA, ability, game); if (isAbilityStillExists(game, ability, effect)) { effect.apply(currentLayer, SubLayer.NA, ability, game); } } }
public ContinuousEffects() { applyCounters = new ApplyCountersEffect(); // planeswalkerRedirectionEffect = new PlaneswalkerRedirectionEffect(); auraReplacementEffect = new AuraReplacementEffect(); collectAllEffects(); }
public PutIntoGraveFromAnywhereEffect(Effect baseEffect, Condition condition, String text, boolean selfScope, boolean optional) { super(Duration.EndOfGame, baseEffect.getOutcome(), selfScope); this.baseEffects.add(baseEffect); this.text = text; this.condition = condition; this.optional = optional; }
public boolean replaceEvent(GameEvent event, Ability targetAbility, Game game) { if (effects.preventedByRuleModification(event, targetAbility, game, false)) { return true; } return effects.replaceEvent(event, game); }
@Override public EnumSet<DependencyType> getDependencyTypes() { if (effect != null) { return effect.getDependencyTypes(); } return super.getDependencyTypes(); }
@Override public Set<UUID> isDependentTo(List<ContinuousEffect> allEffectsInLayer) { if (effect != null) { return effect.isDependentTo(allEffectsInLayer); } return super.isDependentTo(allEffectsInLayer); }
public ConditionalContinuousRuleModifyingEffect(ContinuousRuleModifyingEffect effect, Condition condition, ContinuousRuleModifyingEffect otherwiseEffect) { super(effect.getDuration(), effect.getOutcome()); this.effect = effect; this.baseCondition = condition; this.otherwiseEffect = otherwiseEffect; }
public AsTurnedFaceUpEffect(final AsTurnedFaceUpEffect effect) { super(effect); this.baseEffects = effect.baseEffects.copy(); this.optional = effect.optional; }
public void addEffect(Effect effect) { if (effect != null) { executingEffects.add(effect); } }
public Set<Ability> getLayeredEffectAbilities(ContinuousEffect effect) { return layeredEffects.getAbility(effect.getId()); }
@Override public UUID mustAttackDefender(Ability source, Game game) { if (conditionState) { return effect.mustAttackDefender(source, game); } else if (otherwiseEffect != null) { return otherwiseEffect.mustAttackDefender(source, game); } return null; }
@Override public UUID mustBlockAttacker(Ability source, Game game) { if (conditionState) { return effect.mustBlockAttacker(source, game); } else if (otherwiseEffect != null) { return otherwiseEffect.mustBlockAttacker(source, game); } return null; }
public void newId() { for (Effect effect : this) { effect.newId(); } }
public ConditionalContinuousRuleModifyingEffect(final ConditionalContinuousRuleModifyingEffect effect) { super(effect); this.effect = (ContinuousRuleModifyingEffect) effect.effect.copy(); if (effect.otherwiseEffect != null) { this.otherwiseEffect = (ContinuousRuleModifyingEffect) effect.otherwiseEffect.copy(); } this.condition = effect.condition; this.baseCondition = effect.baseCondition; this.initDone = effect.initDone; }
public EntersBattlefieldEffect(Effect baseEffect, Condition condition, String text, boolean selfScope, boolean optional, EnterEventType enterEventType) { super(Duration.WhileOnBattlefield, baseEffect.getOutcome(), selfScope); this.baseEffects.add(baseEffect); this.enterEventType = enterEventType; this.text = text; this.condition = condition; this.optional = optional; }
public KinshipBaseEffect(Effect kinshipEffect) { super(kinshipEffect.getOutcome()); this.kinshipEffects.add(kinshipEffect); this.staticText = "you may look at the top card of your library. If it shares a creature type with {this}, you may reveal it. If you do, "; }
public AsTurnedFaceUpEffect(Effect baseEffect, boolean optional) { super(Duration.WhileOnBattlefield, baseEffect.getOutcome(), true); this.baseEffects.add(baseEffect); this.optional = optional; }