mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
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:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -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
|
||||||
|
|||||||
9
res/cardsfolder/jandors_ring.txt
Normal file
9
res/cardsfolder/jandors_ring.txt
Normal 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
|
||||||
|
|
||||||
@@ -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")){
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user