diff --git a/forge-gui/res/cardsfolder/upcoming/giant_beaver.txt b/forge-gui/res/cardsfolder/upcoming/giant_beaver.txt new file mode 100644 index 00000000000..0651297090d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/giant_beaver.txt @@ -0,0 +1,10 @@ +Name:Giant Beaver +ManaCost:3 G +Types:Creature Beaver Mount +PT:4/4 +K:Vigilance +T:Mode$ Attacks | ValidCard$ Card.Self+IsSaddled | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever CARDNAME attacks while saddled, put a +1/+1 counter on target creature that saddled it this turn. +SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.SaddledThisTurn | TgtPrompt$ Select target creature that saddled it this turn | CounterType$ P1P1 +K:Saddle:3 +DeckHas:Ability$Counters +Oracle:Vigilance\nWhenever Giant Beaver attacks while saddled, put a +1/+1 counter on target creature that saddled it this turn.\nSaddle 3 (Tap any number of other creatures you control with total power 3 or more: This Mount becomes saddled until end of turn. Saddle only as a sorcery.) diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java index 2979d95a36c..e1afc421bd0 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java @@ -10,6 +10,7 @@ import forge.game.card.CardLists; import forge.game.card.CardView; import forge.game.cost.CostExile; import forge.game.cost.CostTapType; +import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.Zone; @@ -130,14 +131,21 @@ public class InputSelectEntitiesFromList extends InputSele ? String.format(message, selected.size()) : String.format(message, max - selected.size())); - if (sa != null && sa.hasParam("Crew") && sa.getPayCosts().hasSpecificCostType(CostTapType.class)) { - msg.append("\nCrewing: "). - append(CardLists.getTotalPower((FCollection)getSelected(), true, true)). - append(" / ").append(TextUtil.fastReplace(sa.getPayCosts().getCostPartByType(CostTapType.class).getType(), "Creature.Other+withTotalPowerGE", "")); - } else if (sa != null && sa.getPayCosts().hasSpecificCostType(CostExile.class) && tally > 0) { - msg.append("\n").append(Localizer.getInstance().getMessage("lblCMC")).append(": "); - msg.append(CardLists.getTotalCMC((FCollection)getSelected())).append(" / ").append(tally); + if (sa != null) { + if (sa.getPayCosts().hasSpecificCostType(CostTapType.class) && + (sa.hasParam("Crew") || sa.isKeyword(Keyword.SADDLE))) { + msg.append((sa.hasParam("Crew")) ? "\nCrewing: " : "\nSaddling: "); + msg.append(CardLists.getTotalPower((FCollection)getSelected(), true, true)); + msg.append(" / ").append(TextUtil.fastReplace(sa.getPayCosts(). + getCostPartByType(CostTapType.class).getType(), + "Creature.Other+withTotalPowerGE", "")); + + } + else if (sa.getPayCosts().hasSpecificCostType(CostExile.class) && tally > 0) { + msg.append("\n").append(Localizer.getInstance().getMessage("lblCMC")).append(": "); + msg.append(CardLists.getTotalCMC((FCollection)getSelected())).append(" / ").append(tally); } + } return msg.toString(); }