some more saddle polish (#4992)

This commit is contained in:
Northmoc
2024-04-09 13:20:23 -04:00
committed by GitHub
parent a28c9d478d
commit a34da2b8a0
2 changed files with 25 additions and 7 deletions

View File

@@ -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.)

View File

@@ -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<T extends GameEntity> 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<Card>)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<Card>)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<Card>)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<Card>)getSelected())).append(" / ").append(tally);
}
}
return msg.toString();
}