refactor: added param to hide activate text in ActivateAsSorceryActivatedAbility (related to #13316);

This commit is contained in:
Oleg Agafonov 2025-02-08 23:35:50 +04:00
parent 07f68fbf38
commit 06f24515cc

View file

@ -9,6 +9,8 @@ import mage.constants.Zone;
public class ActivateAsSorceryActivatedAbility extends ActivatedAbilityImpl { public class ActivateAsSorceryActivatedAbility extends ActivatedAbilityImpl {
private boolean showActivateText = true;
public ActivateAsSorceryActivatedAbility(Effect effect, Cost cost) { public ActivateAsSorceryActivatedAbility(Effect effect, Cost cost) {
this(Zone.BATTLEFIELD, effect, cost); this(Zone.BATTLEFIELD, effect, cost);
} }
@ -20,6 +22,7 @@ public class ActivateAsSorceryActivatedAbility extends ActivatedAbilityImpl {
protected ActivateAsSorceryActivatedAbility(final ActivateAsSorceryActivatedAbility ability) { protected ActivateAsSorceryActivatedAbility(final ActivateAsSorceryActivatedAbility ability) {
super(ability); super(ability);
this.showActivateText = ability.showActivateText;
} }
@Override @Override
@ -27,9 +30,18 @@ public class ActivateAsSorceryActivatedAbility extends ActivatedAbilityImpl {
return new ActivateAsSorceryActivatedAbility(this); return new ActivateAsSorceryActivatedAbility(this);
} }
public ActivateAsSorceryActivatedAbility withShowActivateText(boolean showActivateText) {
this.showActivateText = showActivateText;
return this;
}
@Override @Override
public String getRule() { public String getRule() {
String superRule = super.getRule(); String superRule = super.getRule();
if (!showActivateText) {
return superRule;
}
String newText = (mayActivate == TargetController.OPPONENT String newText = (mayActivate == TargetController.OPPONENT
? " Only your opponents may activate this ability and only as a sorcery." ? " Only your opponents may activate this ability and only as a sorcery."
: " Activate only as a sorcery."); : " Activate only as a sorcery.");