- Added Three Wishes

This commit is contained in:
swordshine
2014-12-18 08:50:19 +00:00
parent 2f5b7e0744
commit cded63fe9f
4 changed files with 23 additions and 5 deletions

1
.gitattributes vendored
View File

@@ -14013,6 +14013,7 @@ forge-gui/res/cardsfolder/t/threaten.txt svneol=native#text/plain
forge-gui/res/cardsfolder/t/three_dreams.txt -text forge-gui/res/cardsfolder/t/three_dreams.txt -text
forge-gui/res/cardsfolder/t/three_tragedies.txt svneol=native#text/plain forge-gui/res/cardsfolder/t/three_tragedies.txt svneol=native#text/plain
forge-gui/res/cardsfolder/t/three_visits.txt svneol=native#text/plain forge-gui/res/cardsfolder/t/three_visits.txt svneol=native#text/plain
forge-gui/res/cardsfolder/t/three_wishes.txt -text
forge-gui/res/cardsfolder/t/thresher_beast.txt svneol=native#text/plain forge-gui/res/cardsfolder/t/thresher_beast.txt svneol=native#text/plain
forge-gui/res/cardsfolder/t/thrill_kill_assassin.txt -text forge-gui/res/cardsfolder/t/thrill_kill_assassin.txt -text
forge-gui/res/cardsfolder/t/thrill_of_the_hunt.txt svneol=native#text/plain forge-gui/res/cardsfolder/t/thrill_of_the_hunt.txt svneol=native#text/plain

View File

@@ -18,6 +18,7 @@ public class MillEffect extends SpellAbilityEffect {
final Card source = sa.getHostCard(); final Card source = sa.getHostCard();
final int numCards = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("NumCards"), sa); final int numCards = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("NumCards"), sa);
final boolean bottom = sa.hasParam("FromBottom"); final boolean bottom = sa.hasParam("FromBottom");
final boolean facedown = sa.hasParam("ExileFaceDown");
if (sa.hasParam("ForgetOtherRemembered")) { if (sa.hasParam("ForgetOtherRemembered")) {
source.clearRemembered(); source.clearRemembered();
@@ -38,8 +39,8 @@ public class MillEffect extends SpellAbilityEffect {
continue; continue;
} }
} }
final CardCollectionView milled = p.mill(numCards, destination, bottom); final CardCollectionView milled = p.mill(numCards, destination, bottom, facedown);
if (destination.equals(ZoneType.Exile) && sa.hasParam("ExileFaceDown")) { if (destination.equals(ZoneType.Exile) && facedown) {
for (final Card c : milled) { for (final Card c : milled) {
c.setState(CardStateName.FaceDown, true); c.setState(CardStateName.FaceDown, true);
} }

View File

@@ -1303,9 +1303,10 @@ public class Player extends GameEntity implements Comparable<Player> {
} }
public final CardCollectionView mill(final int n) { public final CardCollectionView mill(final int n) {
return mill(n, ZoneType.Graveyard, false); return mill(n, ZoneType.Graveyard, false, false);
} }
public final CardCollectionView mill(final int n, final ZoneType zone, final boolean bottom) { public final CardCollectionView mill(final int n, final ZoneType zone,
final boolean bottom, final boolean facedown) {
final CardCollectionView lib = getCardsIn(ZoneType.Library); final CardCollectionView lib = getCardsIn(ZoneType.Library);
final CardCollection milled = new CardCollection(); final CardCollection milled = new CardCollection();
@@ -1323,7 +1324,9 @@ public class Player extends GameEntity implements Comparable<Player> {
} }
// Reveal the milled cards, so players don't have to manually inspect the // Reveal the milled cards, so players don't have to manually inspect the
// graveyard to figure out which ones were milled. // graveyard to figure out which ones were milled.
game.getAction().reveal(milled, this, false); if (!facedown) { // do not reveal when exiling face down
game.getAction().reveal(milled, this, false);
}
return milled; return milled;
} }

View File

@@ -0,0 +1,13 @@
Name:Three Wishes
ManaCost:1 U U
Types:Instant
A:SP$ Mill | Cost$ 1 U U | NumCards$ 3 | Destination$ Exile | ExileFaceDown$ True | RememberMilled$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top three cards of your library face down. You may look at those cards for as long as they remain exiled. Until your next turn, you may play those cards. At the beginning of your next upkeep, put any of those cards you didn't play into your graveyard.
SVar:DBEffect:DB$ Effect | Name$ Three Wish Effect | RememberObjects$ Remembered | StaticAbilities$ STCanLookAtMayPlay | Duration$ UntilYourNextTurn | SubAbility$ DBDelTrig
SVar:STCanLookAtMayPlay:Mode$ Continuous | MayLookAt$ True | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may look at those cards for as long as they remain exiled. Until your next turn, you may play those cards.
SVar:DBDelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ MoveToYard | RememberObjects$ Remembered | TriggerDescription$ At the beginning of your next upkeep, put any of those cards you didn't play into your graveyard. | SubAbility$ DBCleanup
SVar:MoveToYard:DB$ ChangeZone | Origin$ Exile | Destination$ Graveyard | Defined$ DelayTriggerRemembered
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemAIDeck:True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/three_wishes.jpg
Oracle:Exile the top three cards of your library face down. You may look at those cards for as long as they remain exiled. Until your next turn, you may play those cards. At the beginning of your next upkeep, put any of those cards you didn't play into your graveyard.