mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Keep both variants
This commit is contained in:
@@ -3,7 +3,7 @@ ManaCost:2 G
|
||||
Types:Creature Dinosaur
|
||||
PT:3/3
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPay | TriggerDescription$ When CARDNAME enters the battlefield, you may pay {G} up to three times. When you pay this cost one or more times, ABILITY
|
||||
SVar:TrigPay:AB$ ImmediateTrigger | Cost$ Mana<G\NumTimes> | Announce$ NumTimes | XMaxLimit$ 3 | ConditionCheckSVar$ NumTimes | ConditionSVarCompare$ GE1 | RememberSVarAmount$ NumTimes | Execute$ TrigCharm | TriggerDescription$ When you pay this cost one or more times, ABILITY
|
||||
SVar:TrigPay:AB$ ImmediateTrigger | Cost$ Mana<G\NumTimes> | Announce$ NumTimes | AnnounceLimit$ 3 | ConditionCheckSVar$ NumTimes | ConditionSVarCompare$ GE1 | RememberSVarAmount$ NumTimes | Execute$ TrigCharm | TriggerDescription$ When you pay this cost one or more times, ABILITY
|
||||
SVar:TrigCharm:DB$ Charm | MinCharmNum$ 0 | CharmNum$ X | Choices$ DestroyAE,ExileGrave,GainLife
|
||||
SVar:DestroyAE:DB$ Destroy | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | SpellDescription$ Destroy target artifact or enchantment.
|
||||
SVar:ExileGrave:DB$ ChangeZoneAll | ValidTgts$ Player | Origin$ Graveyard | Destination$ Exile | ChangeType$ Card | SpellDescription$ Exile target player's graveyard.
|
||||
|
||||
@@ -13,7 +13,7 @@ ALTERNATE
|
||||
|
||||
Name:Scan the Clouds
|
||||
ManaCost:1 U
|
||||
Types:Instant Adventure
|
||||
Types:Instant Adventure
|
||||
A:SP$ Draw | NumCards$ 2 | SubAbility$ DBDiscard | SpellDescription$ Draw two cards, then discard two cards. (Then exile this card. You may cast the creature later from exile.)
|
||||
SVar:DBDiscard:DB$ Discard | Defined$ You | NumCards$ 2 | Mode$ TgtChoose
|
||||
Oracle:Draw two cards, then discard two cards. (Then exile this card. You may cast the creature later from exile.)
|
||||
@@ -448,12 +448,11 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
boolean canChooseZero = true;
|
||||
Cost cost = ability.getPayCosts();
|
||||
|
||||
if (ability.hasParam("XMaxLimit")) {
|
||||
max = Math.min(max, AbilityUtils.calculateAmount(host, ability.getParam("XMaxLimit"), ability));
|
||||
}
|
||||
|
||||
if ("X".equals(announce)) {
|
||||
canChooseZero = !ability.hasParam("XCantBe0");
|
||||
if (ability.hasParam("XMaxLimit")) {
|
||||
max = Math.min(max, AbilityUtils.calculateAmount(host, ability.getParam("XMaxLimit"), ability));
|
||||
}
|
||||
if (cost != null) {
|
||||
Integer costX = cost.getMaxForNonManaX(ability, player, false);
|
||||
if (costX != null) {
|
||||
@@ -466,6 +465,10 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
}
|
||||
final int min = canChooseZero ? 0 : 1;
|
||||
|
||||
if (ability.hasParam("AnnounceMax")) {
|
||||
max = Math.min(max, AbilityUtils.calculateAmount(host, ability.getParam("AnnounceMax"), ability));
|
||||
}
|
||||
|
||||
if (ability.usesTargeting()) {
|
||||
// if announce is used as min targets, check what the max possible number would be
|
||||
if (announce.equals(ability.getTargetRestrictions().getMinTargets())) {
|
||||
|
||||
Reference in New Issue
Block a user