mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 03:22:00 -08:00
* Orcish Lumberjack - Fixed that the costs are not to sacrifice itself but a forest.
This commit is contained in:
parent
1300a6886d
commit
a556341289
1 changed files with 19 additions and 8 deletions
|
|
@ -33,7 +33,7 @@ import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.Mana;
|
import mage.Mana;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
import mage.abilities.effects.common.ManaEffect;
|
import mage.abilities.effects.common.ManaEffect;
|
||||||
import mage.abilities.mana.SimpleManaAbility;
|
import mage.abilities.mana.SimpleManaAbility;
|
||||||
|
|
@ -44,8 +44,11 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.Rarity;
|
import mage.constants.Rarity;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
import mage.target.common.TargetControlledPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
@ -53,6 +56,12 @@ import mage.players.Player;
|
||||||
*/
|
*/
|
||||||
public class OrcishLumberjack extends CardImpl<OrcishLumberjack> {
|
public class OrcishLumberjack extends CardImpl<OrcishLumberjack> {
|
||||||
|
|
||||||
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a Forest");
|
||||||
|
|
||||||
|
static {
|
||||||
|
filter.add(new SubtypePredicate("Forest"));
|
||||||
|
}
|
||||||
|
|
||||||
public OrcishLumberjack(UUID ownerId) {
|
public OrcishLumberjack(UUID ownerId) {
|
||||||
super(ownerId, 44, "Orcish Lumberjack", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{R}");
|
super(ownerId, 44, "Orcish Lumberjack", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{R}");
|
||||||
this.expansionSetCode = "DDL";
|
this.expansionSetCode = "DDL";
|
||||||
|
|
@ -64,7 +73,7 @@ public class OrcishLumberjack extends CardImpl<OrcishLumberjack> {
|
||||||
|
|
||||||
// {tap}, Sacrifice a Forest: Add three mana in any combination of {R} and/or {G} to your mana pool.
|
// {tap}, Sacrifice a Forest: Add three mana in any combination of {R} and/or {G} to your mana pool.
|
||||||
Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new OrcishLumberjackManaEffect(), new TapSourceCost());
|
Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new OrcishLumberjackManaEffect(), new TapSourceCost());
|
||||||
ability.addCost(new SacrificeSourceCost());
|
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -100,7 +109,7 @@ class OrcishLumberjackManaEffect extends ManaEffect <OrcishLumberjackManaEffect>
|
||||||
Player player = game.getPlayer(source.getControllerId());
|
Player player = game.getPlayer(source.getControllerId());
|
||||||
if(player != null){
|
if(player != null){
|
||||||
Choice manaChoice = new ChoiceImpl();
|
Choice manaChoice = new ChoiceImpl();
|
||||||
Set<String> choices = new LinkedHashSet<String>();
|
Set<String> choices = new LinkedHashSet<>();
|
||||||
choices.add("Red");
|
choices.add("Red");
|
||||||
choices.add("Green");
|
choices.add("Green");
|
||||||
manaChoice.setChoices(choices);
|
manaChoice.setChoices(choices);
|
||||||
|
|
@ -113,11 +122,13 @@ class OrcishLumberjackManaEffect extends ManaEffect <OrcishLumberjackManaEffect>
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
switch (manaChoice.getChoice()) {
|
||||||
if (manaChoice.getChoice().equals("Green")) {
|
case "Green":
|
||||||
mana.addGreen();
|
mana.addGreen();
|
||||||
} else if (manaChoice.getChoice().equals("Red")) {
|
break;
|
||||||
mana.addRed();
|
case "Red":
|
||||||
|
mana.addRed();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
player.getManaPool().addMana(mana, game, source);
|
player.getManaPool().addMana(mana, game, source);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue