[TLA] waterbend is a cost, not an ability

This commit is contained in:
theelk801 2025-08-12 20:54:38 -04:00
parent 7a241a6f1e
commit 9828e56590
5 changed files with 52 additions and 46 deletions

View file

@ -0,0 +1,44 @@
package mage.abilities.costs.common;
import mage.abilities.Ability;
import mage.abilities.costs.Cost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.game.Game;
import java.util.UUID;
/**
* TODO: Implement properly
*
* @author TheElk801
*/
public class WaterbendCost extends ManaCostsImpl {
public WaterbendCost(int amount) {
this("{" + amount + '}');
}
public WaterbendCost(String mana) {
super("");
this.text = "waterbend " + mana;
}
private WaterbendCost(final WaterbendCost cost) {
super(cost);
}
@Override
public WaterbendCost copy() {
return new WaterbendCost(this);
}
@Override
public boolean canPay(Ability ability, Ability source, UUID controllerId, Game game) {
return false;
}
@Override
public boolean pay(Ability ability, Game game, Ability source, UUID controllerId, boolean noMana, Cost costToPay) {
return false;
}
}

View file

@ -10,7 +10,6 @@ import mage.constants.ColoredManaSymbol;
import mage.constants.ManaType;
import mage.constants.Outcome;
import mage.filter.Filter;
import mage.filter.FilterMana;
import mage.game.Game;
import mage.players.ManaPool;
import mage.players.Player;
@ -43,7 +42,7 @@ public class ManaCostsImpl<T extends ManaCost> extends ArrayList<T> implements M
load(mana);
}
private ManaCostsImpl(final ManaCostsImpl<T> costs) {
protected ManaCostsImpl(final ManaCostsImpl<T> costs) {
this.id = costs.id;
this.text = costs.text;
this.ensureCapacity(costs.size());

View file

@ -1,37 +0,0 @@
package mage.abilities.keyword;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.Cost;
import mage.abilities.effects.Effect;
import mage.constants.Zone;
import mage.util.CardUtil;
/**
* TODO: Implement properly
*
* @author TheElk801
*/
public class WaterbendAbility extends SimpleActivatedAbility {
public WaterbendAbility(Effect effect, Cost cost) {
this(Zone.BATTLEFIELD, effect, cost);
}
public WaterbendAbility(Zone zone, Effect effect, Cost cost) {
super(zone, effect, cost);
}
private WaterbendAbility(final WaterbendAbility ability) {
super(ability);
}
@Override
public WaterbendAbility copy() {
return new WaterbendAbility(this);
}
@Override
public String getRule() {
return "Waterbend " + CardUtil.getTextWithFirstCharUpperCase(super.getRule());
}
}