1)add LastDrawn as a valid discard target in Ability_Cost

2)add Jandor's Ring (from original base Alpha)
This commit is contained in:
jendave
2011-08-06 09:45:19 +00:00
parent 5157fcef23
commit f2dfc63cd6
6 changed files with 47 additions and 1 deletions

1
.gitattributes vendored
View File

@@ -2199,6 +2199,7 @@ res/cardsfolder/jade_statue.txt -text svneol=native#text/plain
res/cardsfolder/jagwasp_swarm.txt -text svneol=native#text/plain res/cardsfolder/jagwasp_swarm.txt -text svneol=native#text/plain
res/cardsfolder/jalum_tome.txt -text svneol=native#text/plain res/cardsfolder/jalum_tome.txt -text svneol=native#text/plain
res/cardsfolder/jamuraan_lion.txt -text svneol=native#text/plain res/cardsfolder/jamuraan_lion.txt -text svneol=native#text/plain
res/cardsfolder/jandors_ring.txt -text svneol=native#text/plain
res/cardsfolder/jandors_saddlebags.txt -text svneol=native#text/plain res/cardsfolder/jandors_saddlebags.txt -text svneol=native#text/plain
res/cardsfolder/jasmine_boreal.txt -text svneol=native#text/plain res/cardsfolder/jasmine_boreal.txt -text svneol=native#text/plain
res/cardsfolder/jayemdae_tome.txt -text svneol=native#text/plain res/cardsfolder/jayemdae_tome.txt -text svneol=native#text/plain

View File

@@ -0,0 +1,9 @@
Name:Jandor's Ring
ManaCost:6
Types:Artifact
Text:no text
K:abDrawCards 2 T Discard<1/LastDrawn>:1:Draw a card.:Jandor's Ring - Draw a card.
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/jandors_ring.jpg
End

View File

@@ -382,6 +382,9 @@ public class Ability_Cost {
else if (discardType.equals("Hand")){ else if (discardType.equals("Hand")){
cost.append(" your hand"); cost.append(" your hand");
} }
else if(discardType.equals("LastDrawn")) {
cost.append("last drawn card");
}
else{ else{
cost.append(discardAmount); cost.append(discardAmount);
if (!discardType.equals("Any") && !discardType.equals("Random")){ if (!discardType.equals("Any") && !discardType.equals("Random")){

View File

@@ -121,6 +121,11 @@ public class Cost_Payment {
else if (discType.equals("Hand")){ else if (discType.equals("Hand")){
// this will always work // this will always work
} }
else if(discType.equals("LastDrawn")) {
Card c = card.getController().getLastDrawnCard();
CardList hand = AllZoneUtil.getPlayerHand(card.getController());
return hand.contains(c);
}
else{ else{
if (!discType.equals("Any") && !discType.equals("Random")){ if (!discType.equals("Any") && !discType.equals("Random")){
String validType[] = discType.split(","); String validType[] = discType.split(",");
@@ -260,6 +265,13 @@ public class Cost_Payment {
AllZone.GameAction.discardHand(card.getController(), ability); AllZone.GameAction.discardHand(card.getController(), ability);
payDiscard = true; payDiscard = true;
} }
else if( discType.equals("LastDrawn") ) {
if(handList.contains(card.getController().getLastDrawnCard())) {
AllZone.GameAction.discard(card.getController().getLastDrawnCard(), ability);
payDiscard = true;
}
}
else{ else{
if (discType.equals("Random")){ if (discType.equals("Random")){
AllZone.GameAction.discardRandom(card.getController(), discAmount, ability); AllZone.GameAction.discardRandom(card.getController(), discAmount, ability);

View File

@@ -25,6 +25,7 @@ public class Input_Untap extends Input {
CardList lands = AllZoneUtil.getPlayerLandsInPlay(player); CardList lands = AllZoneUtil.getPlayerLandsInPlay(player);
lands = lands.filter(AllZoneUtil.untapped); lands = lands.filter(AllZoneUtil.untapped);
player.setNumPowerSurgeLands(lands.size()); player.setNumPowerSurgeLands(lands.size());
player.resetLastDrawnCard();
if(!AllZoneUtil.isCardInPlay("Stasis")) doUntap(); if(!AllZoneUtil.isCardInPlay("Stasis")) doUntap();

View File

@@ -14,6 +14,8 @@ public abstract class Player extends MyObservable{
protected int assignedDamage; protected int assignedDamage;
protected int numPowerSurgeLands; protected int numPowerSurgeLands;
protected Card lastDrawnCard;
public Player(String myName) { public Player(String myName) {
this(myName, 20, 0); this(myName, 20, 0);
} }
@@ -23,6 +25,7 @@ public abstract class Player extends MyObservable{
life = myLife; life = myLife;
poisonCounters = myPoisonCounters; poisonCounters = myPoisonCounters;
assignedDamage = 0; assignedDamage = 0;
lastDrawnCard = null;
} }
public String getName() { public String getName() {
@@ -271,6 +274,7 @@ public abstract class Player extends MyObservable{
Card c = library.get(0); Card c = library.get(0);
library.remove(0); library.remove(0);
hand.add(c); hand.add(c);
setLastDrawnCard(c);
GameActionUtil.executeDrawCardTriggeredEffects(this); GameActionUtil.executeDrawCardTriggeredEffects(this);
} }
@@ -379,8 +383,24 @@ public abstract class Player extends MyObservable{
return numPowerSurgeLands; return numPowerSurgeLands;
} }
public void setNumPowerSurgeLands(int n) { public int setNumPowerSurgeLands(int n) {
numPowerSurgeLands = n; numPowerSurgeLands = n;
return numPowerSurgeLands;
}
public Card getLastDrawnCard() {
return lastDrawnCard;
}
public Card setLastDrawnCard(Card c) {
lastDrawnCard = c;
return lastDrawnCard;
}
public Card resetLastDrawnCard() {
Card old = lastDrawnCard;
lastDrawnCard = null;
return old;
} }
//////////////////////////////// ////////////////////////////////