* fix nullpointer bugs

* fix for Eldrazi shuffle whole graveyard
This commit is contained in:
jendave
2011-08-06 04:42:16 +00:00
parent dbe69dc4fd
commit 1ccf1c76fd
6 changed files with 43 additions and 28 deletions

View File

@@ -246,7 +246,7 @@ CARDNAME can't be countered.
Flying
Protection from colored spells
Annihilator 6
When CARDNAME is put into a graveyard from anywhere, reveal CARDNAME and shuffle it into its owner's library instead.
When CARDNAME is put into a graveyard from anywhere, reveal CARDNAME and its owner shuffles his or her graveyard into his or her library.
Great Sable Stag
1 G G
@@ -320,7 +320,7 @@ Legendary Creature Eldrazi
When you cast Kozilek, Butcher of Truth, draw four cards.
12/12
Annihilator 4
When CARDNAME is put into a graveyard from anywhere, reveal CARDNAME and shuffle it into its owner's library instead.
When CARDNAME is put into a graveyard from anywhere, reveal CARDNAME and its owner shuffles his or her graveyard into his or her library.
Legacy Weapon
7
@@ -350,7 +350,7 @@ When you cast Ulamog, the Infinite Gyre, destroy target permanent.
10/10
Indestructible
Annihilator 4
When CARDNAME is put into a graveyard from anywhere, reveal CARDNAME and shuffle it into its owner's library instead.
When CARDNAME is put into a graveyard from anywhere, reveal CARDNAME and its owner shuffles his or her graveyard into his or her library.
Mnemonic Wall
4 U

View File

@@ -4048,26 +4048,28 @@ public class CardFactory implements NewConstants {
color = "B";
} else if(player.equals(Constant.Player.Human)) {
Object q = AllZone.Display.getChoiceOptional("Select type of creature", choices);
if(q.equals("Citizen")) {
type = "Citizen";
imageName = "W 1 1 Citizen";
color = "W";
} else if(q.equals("Camarid")) {
type = "Camarid";
imageName = "U 1 1 Camarid";
color = "U";
} else if(q.equals("Thrull")) {
type = "Thrull";
imageName = "B 1 1 Thrull";
color = "B";
} else if(q.equals("Goblin")) {
type = "Goblin";
imageName = "R 1 1 Goblin";
color = "R";
} else if(q.equals("Saproling")) {
type = "Saproling";
imageName = "G 1 1 Saproling";
color = "G";
if(q != null){
if(q.equals("Citizen")) {
type = "Citizen";
imageName = "W 1 1 Citizen";
color = "W";
} else if(q.equals("Camarid")) {
type = "Camarid";
imageName = "U 1 1 Camarid";
color = "U";
} else if(q.equals("Thrull")) {
type = "Thrull";
imageName = "B 1 1 Thrull";
color = "B";
} else if(q.equals("Goblin")) {
type = "Goblin";
imageName = "R 1 1 Goblin";
color = "R";
} else if(q.equals("Saproling")) {
type = "Saproling";
imageName = "G 1 1 Saproling";
color = "G";
}
}
}
card.setChosenType(type);
@@ -21002,6 +21004,7 @@ public class CardFactory implements NewConstants {
}//*************** END ************ END **************************
// Cards with Cycling abilities
// -1 means keyword "Cycling" not found

View File

@@ -34,6 +34,18 @@ public class DefaultPlayerZone extends PlayerZone implements java.io.Serializabl
return;
}
if (is("Graveyard")
&& c.getKeyword().contains("When CARDNAME is put into a graveyard from anywhere, reveal CARDNAME and its owner shuffles his or her graveyard into his or her library."))
{
PlayerZone lib = AllZone.getZone(Constant.Zone.Library, c.getOwner());
PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, c.getOwner());
lib.add(c);
lib.add(grave);
grave.reset();
AllZone.GameAction.shuffle(c.getOwner());
return;
}
if (c.isUnearthed() && (is("Graveyard") || is("Hand")))
{
PlayerZone removed = AllZone.getZone(Constant.Zone.Removed_From_Play, c.getOwner());

View File

@@ -2789,7 +2789,7 @@ public class GameActionUtil {
String[] choices = {"Yes", "No, target a creature instead"};
Object q = AllZone.Display.getChoiceOptional("Select computer as target?", choices);
if(q.equals("Yes")) AllZone.GameAction.getPlayerLife(Constant.Player.Computer).subtractLife(
if(q != null && q.equals("Yes")) AllZone.GameAction.getPlayerLife(Constant.Player.Computer).subtractLife(
1);
else {
CardList cards = new CardList(oppPlay.getCards());
@@ -6656,7 +6656,7 @@ public class GameActionUtil {
String[] choices = {"Yes", "No"};
Object q = AllZone.Display.getChoiceOptional("Return Nether Spirit to play?", choices);
if(q.equals("Yes")) returnNether = true;
if(q != null && q.equals("Yes")) returnNether = true;
}
if(player.equals(Constant.Player.Computer) || returnNether) {
@@ -8388,7 +8388,7 @@ public class GameActionUtil {
String[] choices = {"Yes", "No, target a creature instead"};
Object q = AllZone.Display.getChoiceOptional("Select computer as target?", choices);
if(q.equals("Yes")) AllZone.GameAction.getPlayerLife(Constant.Player.Computer).subtractLife(
if(q != null && q.equals("Yes")) AllZone.GameAction.getPlayerLife(Constant.Player.Computer).subtractLife(
hondlist.size());
else {
CardList cards = new CardList(oppPlay.getCards());

View File

@@ -161,7 +161,7 @@ public class Phase extends MyObservable
String[] choices = {"Yes", "No"};
Object q = null;
q = AllZone.Display.getChoiceOptional("Untap " + crd + "?", choices);
if(q.equals("Yes")) {
if("Yes".equals(q)) {
//AllZone.Stack.add(ability);
humanExtraTurns--;
crd.untap();

View File

@@ -158,7 +158,7 @@ public class ListChooser<T> {
d.setVisible(true);
d.dispose();
value = (Integer) p.getValue();
if(value != OK_OPTION) jList.clearSelection();
if(value == null || value != OK_OPTION) jList.clearSelection();
//can't stop closing by ESC, so repeat if cancelled
} while(minChoices != 0 && value != OK_OPTION);
//this assert checks if we really don't return on a cancel if input is mandatory