mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
- Added Undiscovered Paradise
- Fixed issue with Gemstone Mine being used consecutively (should only be able to tap if it's untapped)
This commit is contained in:
@@ -38,6 +38,7 @@ snow_covered_mountain.jpg http://www.wizards.com/global/images/magic/gene
|
||||
snow_covered_mountain1.jpg http://www.wizards.com/global/images/magic/general/snow_covered_mountain.jpg
|
||||
snow_covered_mountain2.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
|
||||
snow_covered_mountain3.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
|
||||
undiscovered_paradise.jpg http://www.wizards.com/global/images/magic/general/undiscovered_paradise.jpg
|
||||
hagra_crocodile.jpg http://www.wizards.com/global/images/magic/general/hagra_crocodile.jpg
|
||||
ancient_runes.jpg http://www.wizards.com/global/images/magic/general/ancient_runes.jpg
|
||||
vivid_crag.jpg http://www.wizards.com/global/images/magic/general/vivid_crag.jpg
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
Undiscovered Paradise
|
||||
no cost
|
||||
Land
|
||||
Whenever you tap CARDNAME for mana, return it to it's owner's hand during the controller's next untap phase.
|
||||
tap: add W
|
||||
tap: add B
|
||||
tap: add U
|
||||
tap: add R
|
||||
tap: add G
|
||||
|
||||
Ancient Runes
|
||||
2 R
|
||||
Enchantment
|
||||
|
||||
@@ -842,6 +842,7 @@ Undead Gladiator
|
||||
Underground River
|
||||
Underground Sea
|
||||
Undermine
|
||||
Undiscovered Paradise
|
||||
Undying Beast
|
||||
Uril, the Miststalker
|
||||
Ursapine
|
||||
|
||||
@@ -108,6 +108,21 @@ abstract public class Ability_Mana extends SpellAbility implements java.io.Seria
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (sourceCard.getName().equals("Undiscovered Paradise"))
|
||||
{
|
||||
final Card crd = sourceCard;
|
||||
runcommands.add(new Command() {
|
||||
private static final long serialVersionUID = 1365329719980281985L;
|
||||
|
||||
public void execute()
|
||||
{
|
||||
// The computer can now use this card. A version of the
|
||||
// line of code below was added to ComputerUtil.payManaCost()
|
||||
crd.setBounceAtUntap(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if(isBasic())//lowers memory usage drastically
|
||||
{
|
||||
|
||||
@@ -60,6 +60,7 @@ public class Card extends MyObservable {
|
||||
private boolean kicked = false;
|
||||
private boolean reflectedLand = false;
|
||||
private boolean levelUp = false;
|
||||
private boolean bounceAtUntap = false;
|
||||
|
||||
private boolean firstStrike = false;
|
||||
private boolean doubleStrike = false;
|
||||
@@ -262,6 +263,14 @@ public class Card extends MyObservable {
|
||||
this.sacrificeAtEOT = sacrificeAtEOT;
|
||||
}
|
||||
|
||||
public boolean getBounceAtUntap() {
|
||||
return bounceAtUntap;
|
||||
}
|
||||
|
||||
public void setBounceAtUntap(boolean bounce) {
|
||||
this.bounceAtUntap = bounce;
|
||||
}
|
||||
|
||||
public boolean hasFirstStrike() {
|
||||
return firstStrike || getKeyword().contains("First Strike");
|
||||
}
|
||||
|
||||
@@ -343,15 +343,18 @@ class CardFactory_Lands {
|
||||
|
||||
@Override
|
||||
public void showMessage() {
|
||||
mine.choices_made[0] = Input_PayManaCostUtil.getShortColorString(AllZone.Display.getChoiceOptional(
|
||||
"Select a Color", Constant.Color.onlyColors));
|
||||
if (mine.choices_made[0] != null){
|
||||
AllZone.Stack.add(mine);
|
||||
if (card.isUntapped())
|
||||
{
|
||||
mine.choices_made[0] = Input_PayManaCostUtil.getShortColorString(AllZone.Display.getChoiceOptional(
|
||||
"Select a Color", Constant.Color.onlyColors));
|
||||
if (mine.choices_made[0] != null){
|
||||
AllZone.Stack.add(mine);
|
||||
}
|
||||
}
|
||||
stop();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
card.addSpellAbility(mine);
|
||||
mine.setDescription("Gemstone Mine - tap, remove a mining counter: Add one mana of any color to your mana pool");
|
||||
mine.setStackDescription("Gemstone Mine - tap, remove a mining counter: Add one mana of any color to your mana pool");
|
||||
|
||||
@@ -93,7 +93,11 @@ public class Input_Untap extends Input {
|
||||
});
|
||||
|
||||
for(Card c : list) {
|
||||
if(c.getKeyword().contains("You may choose not to untap CARDNAME during your untap step.")) {
|
||||
if (c.getBounceAtUntap() && c.getName().contains("Undiscovered Paradise") )
|
||||
{
|
||||
AllZone.GameAction.moveToHand(c);
|
||||
}
|
||||
else if(c.getKeyword().contains("You may choose not to untap CARDNAME during your untap step.")) {
|
||||
if(c.isTapped()) {
|
||||
if(c.getController().equals(Constant.Player.Human)) {
|
||||
String[] choices = {"Yes", "No"};
|
||||
|
||||
Reference in New Issue
Block a user