- Added the keyword "You may look at this card.".

- Added Intet, the Dreamer.
This commit is contained in:
Sloth
2012-03-07 15:48:09 +00:00
parent 6137e70b9b
commit 1ef9c8aece
8 changed files with 37 additions and 16 deletions

1
.gitattributes vendored
View File

@@ -4408,6 +4408,7 @@ res/cardsfolder/i/insurrection.txt svneol=native#text/plain
res/cardsfolder/i/intangible_virtue.txt -text res/cardsfolder/i/intangible_virtue.txt -text
res/cardsfolder/i/interdict.txt -text res/cardsfolder/i/interdict.txt -text
res/cardsfolder/i/intervene.txt svneol=native#text/plain res/cardsfolder/i/intervene.txt svneol=native#text/plain
res/cardsfolder/i/intet_the_dreamer.txt -text
res/cardsfolder/i/intimidation.txt svneol=native#text/plain res/cardsfolder/i/intimidation.txt svneol=native#text/plain
res/cardsfolder/i/intimidation_bolt.txt -text svneol=unset#text/plain res/cardsfolder/i/intimidation_bolt.txt -text svneol=unset#text/plain
res/cardsfolder/i/intimidator_initiate.txt svneol=native#text/plain res/cardsfolder/i/intimidator_initiate.txt svneol=native#text/plain

View File

@@ -0,0 +1,17 @@
Name:Intet, the Dreamer
ManaCost:3 U R G
Types:Legendary Creature Dragon
Text:no text
PT:6/6
K:Flying
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | OptionalDecider$ You | Execute$ TrigExile | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may pay 2 U. If you do, exile the top card of your library face down. You may look at that card for as long as it remains exiled. You may play that card without paying its mana cost for as long as Intet remains on the battlefield.
SVar:TrigExile:AB$ ChangeZone | Cost$ 2 U | Defined$ TopOfLibrary | Origin$ Library | Destination$ Exile | ExileFaceDown$ True | RememberChanged$ True | SubAbility$ DBPump
SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ You may look at this card. | PumpZone$ Exile | SubAbility$ DBPump2 | Permanent$ True
SVar:DBPump2:DB$ Pump | Defined$ Remembered | KW$ May be played without paying its mana cost | PumpZone$ Exile | UntilHostLeavesPlay$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/intet_the_dreamer.jpg
SetInfo:COM|Rare|http://magiccards.info/scans/en/cmd/204.jpg
SetInfo:PLC|Rare|http://magiccards.info/scans/en/pc/158.jpg
Oracle:Flying\nWhenever Intet, the Dreamer deals combat damage to a player, you may pay {2}{U}. If you do, exile the top card of your library face down. You may look at that card for as long as it remains exiled. You may play that card without paying its mana cost for as long as Intet remains on the battlefield.
End

View File

@@ -5,7 +5,7 @@ Text:no text
K:Storm K:Storm
A:SP$ Shuffle | Cost$ 4 U U | SubAbility$ DBExile | SpellDescription$ Shuffle your library. Then exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. (If it has X in its mana cost, X is 0.) A:SP$ Shuffle | Cost$ 4 U U | SubAbility$ DBExile | SpellDescription$ Shuffle your library. Then exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. (If it has X in its mana cost, X is 0.)
SVar:DBExile:DB$ ChangeZone | Defined$ TopOfLibrary | Origin$ Library | Destination$ Exile | RememberChanged$ True | SubAbility$ DBPump SVar:DBExile:DB$ ChangeZone | Defined$ TopOfLibrary | Origin$ Library | Destination$ Exile | RememberChanged$ True | SubAbility$ DBPump
SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ HIDDEN May be played without paying its mana cost | PumpZone$ Exile | SubAbility$ DBCleanup SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ May be played without paying its mana cost | PumpZone$ Exile | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/minds_desire.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/minds_desire.jpg

View File

@@ -590,7 +590,7 @@ public class CardPanel extends JPanel implements CardContainer {
return; return;
} }
if (card.isFaceDown()) { if (card.isFaceDown() && !card.hasKeyword("You may look at this card.")) {
this.titleText.setText(""); this.titleText.setText("");
this.showCastingCost = false; this.showCastingCost = false;
} else { } else {

View File

@@ -211,8 +211,9 @@ public class GameAction {
copied.setTimestamp(AllZone.getNextTimestamp()); copied.setTimestamp(AllZone.getNextTimestamp());
for (String s : copied.getKeyword()) { for (String s : copied.getKeyword()) {
if (s.startsWith("May be played")) { if (s.startsWith("May be played") || s.startsWith("You may look at this card.")) {
copied.removeAllExtrinsicKeyword(s); copied.removeAllExtrinsicKeyword(s);
copied.removeHiddenExtrinsicKeyword(s);
} }
} }

View File

@@ -1189,6 +1189,8 @@ public class AbilityFactoryPump {
AllZone.getEndOfCombat().addUntil(untilEOT); AllZone.getEndOfCombat().addUntil(untilEOT);
} else if (this.params.containsKey("UntilYourNextUpkeep")) { } else if (this.params.containsKey("UntilYourNextUpkeep")) {
AllZone.getUpkeep().addUntil(sa.getActivatingPlayer(), untilEOT); AllZone.getUpkeep().addUntil(sa.getActivatingPlayer(), untilEOT);
} else if (params.containsKey("UntilHostLeavesPlay")) {
sa.getSourceCard().addLeavesPlayCommand(untilEOT);
} else if (this.params.containsKey("UntilLoseControlOfHost")) { } else if (this.params.containsKey("UntilLoseControlOfHost")) {
sa.getSourceCard().addLeavesPlayCommand(untilEOT); sa.getSourceCard().addLeavesPlayCommand(untilEOT);
sa.getSourceCard().addChangeControllerCommand(untilEOT); sa.getSourceCard().addChangeControllerCommand(untilEOT);

View File

@@ -2443,6 +2443,9 @@ public class CardFactoryUtil {
return true; return true;
} }
} }
if (c.hasKeyword("You may look at this card.")) {
return true;
}
if (c.isLand() if (c.isLand()
&& (c.hasKeyword("May be played") || c.hasKeyword("May be played by your opponent") || c && (c.hasKeyword("May be played") || c.hasKeyword("May be played by your opponent") || c

View File

@@ -247,8 +247,6 @@ public class ControlField {
final Iterable<Card> myIterable = YieldUtils.toIterable(c); final Iterable<Card> myIterable = YieldUtils.toIterable(c);
final ArrayList<Card> choices = YieldUtils.toArrayList(myIterable); final ArrayList<Card> choices = YieldUtils.toArrayList(myIterable);
// System.out.println("immediately after: "+choices);
// Iterator<Card> iter = myIterable.iterator();
final ArrayList<Card> choices2 = new ArrayList<Card>(); final ArrayList<Card> choices2 = new ArrayList<Card>();
@@ -257,24 +255,23 @@ public class ControlField {
} else { } else {
for (int i = 0; i < choices.size(); i++) { for (int i = 0; i < choices.size(); i++) {
final Card crd = choices.get(i); final Card crd = choices.get(i);
// System.out.println(crd+": "+crd.isFaceDown());
if (crd.isFaceDown()) { if (crd.isFaceDown()) {
if (!crd.hasKeyword("You may look at this card.")) {
final Card faceDown = new Card(); final Card faceDown = new Card();
faceDown.setName("Face Down"); faceDown.setName("Face Down");
choices2.add(faceDown); choices2.add(faceDown);
// System.out.println("Added: "+faceDown); } else {
final Card faceDown = AllZone.getCardFactory().copyCard(crd);
faceDown.turnFaceUp();
choices2.add(faceDown);
}
} else { } else {
choices2.add(crd); choices2.add(crd);
} }
} }
// System.out.println("Face down cards replaced: "+choices2);
final Card choice = (Card) GuiUtils.chooseOneOrNone(this.title, choices2.toArray()); final Card choice = (Card) GuiUtils.chooseOneOrNone(this.title, choices2.toArray());
if (choice != null) { if (choice != null) {
this.doAction(choice); this.doAction(choice);
/*
* Card choice = GuiUtils.getChoiceOptional(title, iter); if
* (choice != null) doAction(choice);
*/
} }
} }
} }