refactor: simplified code (related to 6bf8aedce7)

This commit is contained in:
Oleg Agafonov 2025-04-16 10:10:11 +04:00
parent 5bee368b81
commit c0c27c81fa
3 changed files with 21 additions and 42 deletions

View file

@ -238,10 +238,13 @@ public class SpellAbility extends ActivatedAbilityImpl {
@Override @Override
public String getRule(boolean all) { public String getRule(boolean all) {
if (all) { if (all) {
return new StringBuilder(super.getRule(all)).append(name).toString(); // show full rules, e.g. for hand
} return super.getRule(true) + this.name;
} else {
// hide spell ability, e.g. for permanent
return super.getRule(false); return super.getRule(false);
} }
}
public String getName() { public String getName() {
return this.name; return this.name;

View file

@ -1,7 +1,6 @@
package mage.cards; package mage.cards;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.Modes;
import mage.abilities.SpellAbility; import mage.abilities.SpellAbility;
import mage.abilities.effects.common.ExileAdventureSpellEffect; import mage.abilities.effects.common.ExileAdventureSpellEffect;
import mage.constants.CardType; import mage.constants.CardType;
@ -162,24 +161,13 @@ class AdventureCardSpellAbility extends SpellAbility {
@Override @Override
public String getRule(boolean all) { public String getRule(boolean all) {
return this.getRule(); // TODO: must hide rules in permanent like SpellAbility, but can't due effects text
} return this.nameFull
+ " "
@Override + getManaCosts().getText()
public String getRule() { + " — "
StringBuilder sbRule = new StringBuilder(); + super.getRule(false) // without cost
sbRule.append(this.nameFull); + " <i>(Then exile this card. You may cast the creature later from exile.)</i>";
sbRule.append(" ");
sbRule.append(getManaCosts().getText());
sbRule.append(" &mdash; ");
Modes modes = this.getModes();
if (modes.size() <= 1) {
sbRule.append(modes.getMode().getEffects().getTextStartingUpperCase(modes.getMode()));
} else {
sbRule.append(getModes().getText());
}
sbRule.append(" <i>(Then exile this card. You may cast the creature later from exile.)</i>");
return sbRule.toString();
} }
@Override @Override

View file

@ -1,7 +1,6 @@
package mage.cards; package mage.cards;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.Modes;
import mage.abilities.SpellAbility; import mage.abilities.SpellAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.ShuffleIntoLibrarySourceEffect; import mage.abilities.effects.common.ShuffleIntoLibrarySourceEffect;
@ -147,24 +146,13 @@ class OmenCardSpellAbility extends SpellAbility {
@Override @Override
public String getRule(boolean all) { public String getRule(boolean all) {
return this.getRule(); // TODO: must hide rules in permanent like SpellAbility, but can't due effects text
} return this.nameFull
+ " "
@Override + getManaCosts().getText()
public String getRule() { + " &mdash; "
StringBuilder sbRule = new StringBuilder(); + super.getRule(false) // without cost
sbRule.append(this.nameFull); + " <i>(Then shuffle this card into its owner's library.)</i>";
sbRule.append(" ");
sbRule.append(getManaCosts().getText());
sbRule.append(" &mdash; ");
Modes modes = this.getModes();
if (modes.size() <= 1) {
sbRule.append(modes.getMode().getEffects().getTextStartingUpperCase(modes.getMode()));
} else {
sbRule.append(getModes().getText());
}
sbRule.append(" <i>(Then shuffle this card into its owner's library.)<i>");
return sbRule.toString();
} }
@Override @Override