Cleanup activated ability constructors (#11283)

* simplify LoyaltyAbility constructors

* remove unused constructors in ActivatedAbilityImpl

* cleanup

* remove null rule setting

* another unused constructor

* fix escape ability reminder text

* escape text adjustment

* simplify Trigons, remove Costs constructor

* rework Villainous Ogre, remove another class and constructor

* fix test using wrong text for trigon ability
This commit is contained in:
xenohedron 2023-10-08 22:55:31 -04:00 committed by GitHub
parent 25e559dd9d
commit 4e2a5bd5a9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
38 changed files with 138 additions and 368 deletions

View file

@ -1,4 +1,3 @@
package mage.abilities.common;
import mage.abilities.ActivatedAbilityImpl;
@ -8,12 +7,12 @@ import mage.abilities.costs.Cost;
import mage.abilities.effects.Effect;
import mage.constants.TimingRule;
import mage.constants.Zone;
import mage.game.Game;
/**
* @author LevelX2
*/
public class ActivateIfConditionActivatedAbility extends ActivatedAbilityImpl {
public ActivateIfConditionActivatedAbility(Zone zone, Effect effect, Cost cost, Condition condition) {
this(zone, effect, cost, condition, TimingRule.INSTANT);
}
@ -28,11 +27,6 @@ public class ActivateIfConditionActivatedAbility extends ActivatedAbilityImpl {
super(ability);
}
@Override
public boolean resolve(Game game) {
return super.resolve(game);
}
@Override
public String getRule() {
StringBuilder sb = new StringBuilder(super.getRule());

View file

@ -16,7 +16,6 @@ import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.util.CardUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@ -59,11 +58,10 @@ public class EscapesWithAbility extends EntersBattlefieldAbility {
sb.append(" on it.");
}
if (triggeredAbility == null) {
// Do nothing
} else if (triggeredAbility instanceof DelayedTriggeredAbility) {
if (triggeredAbility instanceof DelayedTriggeredAbility) {
sb.append(" ");
sb.append(this.triggeredAbility.getRule());
} else {
} else if (triggeredAbility != null) {
sb.append("\"");
sb.append(this.triggeredAbility.getRule());
sb.append("\"");
@ -107,7 +105,7 @@ class EscapesWithEffect extends OneShotEffect {
}
if (counter > 0) {
List<UUID> appliedEffects = (ArrayList<UUID>) this.getValue("appliedEffects");
List<UUID> appliedEffects = (List<UUID>) this.getValue("appliedEffects");
permanent.addCounters(CounterType.P1P1.createInstance(counter), source.getControllerId(), source, game, appliedEffects);
}

View file

@ -6,7 +6,6 @@ import mage.abilities.costs.Cost;
import mage.abilities.effects.Effect;
import mage.constants.TimingRule;
import mage.constants.Zone;
import mage.game.Game;
import mage.util.CardUtil;
/**
@ -35,11 +34,6 @@ public class LimitedTimesPerTurnActivatedAbility extends ActivatedAbilityImpl {
this.condition = ability.condition;
}
@Override
public boolean resolve(Game game) {
return super.resolve(game);
}
@Override
public String getRule() {
StringBuilder sb = new StringBuilder(super.getRule()).append(" Activate ");

View file

@ -1,10 +1,8 @@
package mage.abilities.common;
import mage.constants.Zone;
import mage.abilities.ActivatedAbilityImpl;
import mage.abilities.costs.Cost;
import mage.abilities.costs.Costs;
import mage.abilities.costs.mana.ManaCosts;
import mage.abilities.effects.Effect;
@ -26,15 +24,11 @@ public class SimpleActivatedAbility extends ActivatedAbilityImpl {
super(zone, effect, cost);
}
public SimpleActivatedAbility(Zone zone, Effect effect, Costs<Cost> costs) {
super(zone, effect, costs);
}
public SimpleActivatedAbility(Zone zone, Effect effect, Cost cost) {
super(zone, effect, cost);
}
protected SimpleActivatedAbility(SimpleActivatedAbility ability) {
protected SimpleActivatedAbility(final SimpleActivatedAbility ability) {
super(ability);
}