mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
YMKM: roalesk_prime_specimen + support (#4903)
* roalesk_prime_specimen + support * allow added abilities to show on face-down cards
This commit is contained in:
@@ -253,6 +253,8 @@ public abstract class AnimateEffectBase extends SpellAbilityEffect {
|
||||
if (!"Permanent".equals(duration) && !perpetual) {
|
||||
if ("UntilControllerNextUntap".equals(duration)) {
|
||||
game.getUntap().addUntil(c.getController(), unanimate);
|
||||
} else if ("UntilAnimatedFaceup".equals(duration)) {
|
||||
c.addFaceupCommand(unanimate);
|
||||
} else {
|
||||
addUntilCommand(sa, unanimate);
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import forge.game.spellability.SpellAbility;
|
||||
import forge.util.Aggregates;
|
||||
import forge.util.Lang;
|
||||
import forge.util.Localizer;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
public class ChooseCardNameEffect extends SpellAbilityEffect {
|
||||
|
||||
@@ -119,6 +120,10 @@ public class ChooseCardNameEffect extends SpellAbilityEffect {
|
||||
Predicate<ICardFace> cpp = Predicates.alwaysTrue();
|
||||
if (sa.hasParam("ValidCards")) {
|
||||
//Calculating/replacing this must happen before running valid in CardFacePredicates
|
||||
if (valid.contains("cmcEQ") && !StringUtils.isNumeric(valid.split("cmcEQ")[1])) {
|
||||
String s = valid.split("cmcEQ")[1];
|
||||
valid = valid.replace(s, String.valueOf(AbilityUtils.calculateAmount(host, s, sa)));
|
||||
}
|
||||
if (valid.contains("ManaCost=")) {
|
||||
if (valid.contains("ManaCost=Equipped")) {
|
||||
String s = host.getEquipping().getManaCost().getShortString();
|
||||
|
||||
@@ -2819,7 +2819,9 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
||||
addedManaStrings.add(sAbility);
|
||||
}
|
||||
|
||||
if (!sAbility.endsWith(state.getName() + "\r\n")) {
|
||||
boolean alwaysShow = false;
|
||||
if (!sa.isIntrinsic()) alwaysShow = true; // allows added abilities to show on face-down stuff (e.g. Morph,Cloaked)
|
||||
if (!sAbility.endsWith(state.getName() + "\r\n") || alwaysShow) {
|
||||
sb.append(sAbility);
|
||||
sb.append("\r\n");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user