game: improved visible rules of face down cards, removed visible face up cost (part of #10653, #11884)

This commit is contained in:
Oleg Agafonov 2024-03-01 16:47:42 +04:00
parent 9ea3356b77
commit 55f1d36695
10 changed files with 128 additions and 58 deletions

View file

@ -13,6 +13,7 @@ import mage.abilities.dynamicvalue.common.SavedDamageValue;
import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.InfoEffect;
import mage.abilities.effects.common.asthought.CanPlayCardControllerEffect;
import mage.abilities.effects.common.asthought.YouMaySpendManaAsAnyColorToCastTargetEffect;
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
@ -2237,4 +2238,12 @@ public final class CardUtil {
public static boolean canShowAsControlled(Card card, UUID createdForPlayer) {
return card.getControllerOrOwnerId().equals(createdForPlayer);
}
/**
* Ability used for information only, e.g. adds additional rule texts
*/
public static boolean isInformationAbility(Ability ability) {
return !ability.getEffects().isEmpty()
&& ability.getEffects().stream().allMatch(e -> e instanceof InfoEffect);
}
}