diff --git a/.gitattributes b/.gitattributes index 095103b6848..7f972ee002c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -13974,6 +13974,7 @@ forge-gui/res/cardsfolder/w/winter_blast.txt -text forge-gui/res/cardsfolder/w/winter_orb.txt svneol=native#text/plain forge-gui/res/cardsfolder/w/winter_sky.txt svneol=native#text/plain forge-gui/res/cardsfolder/w/wintermoon_mesa.txt svneol=native#text/plain +forge-gui/res/cardsfolder/w/winters_chill.txt -text forge-gui/res/cardsfolder/w/winters_grasp.txt svneol=native#text/plain forge-gui/res/cardsfolder/w/winters_night.txt svneol=native#text/plain forge-gui/res/cardsfolder/w/wipe_away.txt svneol=native#text/plain diff --git a/forge-gui/res/cardsfolder/w/winters_chill.txt b/forge-gui/res/cardsfolder/w/winters_chill.txt new file mode 100644 index 00000000000..77439075881 --- /dev/null +++ b/forge-gui/res/cardsfolder/w/winters_chill.txt @@ -0,0 +1,20 @@ +Name:Winter's Chill +ManaCost:X U +Types:Instant +Text:Cast CARDNAME only during combat before blockers are declared.\r\nX can't be greater than the number of snow lands you control.\r\n +A:SP$ RepeatEach | Cost$ X U | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | ActivationPhases$ BeginCombat->Declare Attackers | IsCurse$ True | DefinedCards$ Targeted | RepeatSubAbility$ DBChoose | StackDescription$ SpellDescription | SpellDescription$ Choose X target attacking creatures. For each of those creatures, its controller may pay {1} or {2}. If that player doesn't, destroy that creature at end of combat. If that player pays only {1}, prevent all combat damage that would be dealt to and dealt by that creature this combat. +SVar:DBChoose:DB$ GenericChoice | Defined$ RememberedController | Choices$ Pay2,Pay1 | AILogic$ PayUnlessCost | SubAbility$ DBEffect +SVar:Pay2:DB$ Cleanup | ClearRemembered$ True | UnlessCost$ 2 | UnlessPayer$ RememberedController | UnlessSwitched$ True | SpellDescription$ You may pay {2} to avoid negative effects +SVar:Pay1:DB$ Pump | Defined$ Remembered | KW$ HIDDEN Prevent all combat damage that would be dealt to and dealt by CARDNAME. | UntilEndOfCombat$ True | UnlessCost$ 1 | UnlessPayer$ RememberedController | UnlessSwitched$ True | UnlessResolveSubs$ WhenPaid | SubAbility$ DBCleanup | SpellDescription$ You may pay {1}, prevent all combat damage that would be dealt to and dealt by that creature this combat. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | Triggers$ TrigEOC,OutOfSight | SVars$ TrigDestroy,ExileSelf | References$ TrigDestroy,ExileSelf | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 +SVar:TrigEOC:Mode$ Phase | TriggerZones$ Command | Phase$ EndCombat | Execute$ TrigDestroy | TriggerDescription$ Destroy that creature at end of combat. +SVar:TrigDestroy:DB$ Destroy | Defined$ Remembered | SubAbility$ ExileSelf +SVar:ExileSelf:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:OutOfSight:Mode$ ChangesZone | TriggerZones$ Command | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsRemembered | Execute$ ExileSelf | Static$ True +SVar:X:Targeted$Amount +SVar:MaxTgts:Count$Valid Land.Snow+YouCtrl +SVar:RemAIDeck:True +SVar:RemRandomDeck:True +SVar:Picture:http://www.wizards.com/global/images/magic/general/winters_chill.jpg +Oracle:Cast Winter's Chill only during combat before blockers are declared.\nX can't be greater than the number of snow lands you control.\nChoose X target attacking creatures. For each of those creatures, its controller may pay {1} or {2}. If that player doesn't, destroy that creature at end of combat. If that player pays only {1}, prevent all combat damage that would be dealt to and dealt by that creature this combat. diff --git a/forge-gui/src/main/java/forge/gui/player/TargetSelection.java b/forge-gui/src/main/java/forge/gui/player/TargetSelection.java index 0534dee7afd..b906b987b87 100644 --- a/forge-gui/src/main/java/forge/gui/player/TargetSelection.java +++ b/forge-gui/src/main/java/forge/gui/player/TargetSelection.java @@ -78,7 +78,7 @@ public class TargetSelection { boolean hasEnoughTargets = minTargets == 0 || numTargeted >= minTargets; boolean hasAllTargets = numTargeted == maxTargets && maxTargets > 0; - + if (maxTargets == 0) return true; // if not enough targets chosen, cancel Ability if (this.bTargetingDone && !hasEnoughTargets) return false;