diff --git a/Mage.Client/src/main/java/mage/client/cards/Card.java b/Mage.Client/src/main/java/mage/client/cards/Card.java
index 01a9a11bf8d..6152f40843b 100644
--- a/Mage.Client/src/main/java/mage/client/cards/Card.java
+++ b/Mage.Client/src/main/java/mage/client/cards/Card.java
@@ -147,7 +147,7 @@ public class Card extends MagePermanent implements MouseMotionListener, MouseLis
}
public void update(PermanentView permanent) {
- this.update(permanent.getOriginal());
+ this.update((CardView)permanent);
}
public void update(CardView card) {
diff --git a/Mage.Deck.Constructed/pom.xml b/Mage.Deck.Constructed/pom.xml
index 04a43c87d0d..72d17df068d 100644
--- a/Mage.Deck.Constructed/pom.xml
+++ b/Mage.Deck.Constructed/pom.xml
@@ -10,7 +10,7 @@
org.mage
- Mage-Deck-Contructed
+ Mage-Deck-Constructed
jar
0.3
Mage Deck Constructed
@@ -45,7 +45,7 @@
- mage-deck-contructed
+ mage-deck-constructed
diff --git a/Mage.Server/config/config.xml b/Mage.Server/config/config.xml
index 23a34d273b1..6a1d2e8a3c2 100644
--- a/Mage.Server/config/config.xml
+++ b/Mage.Server/config/config.xml
@@ -3,16 +3,16 @@
-
-
-
-
+
+
+
+
-
-
+
+
-
+
diff --git a/Mage.Server/plugins/mage-deck-constructed.jar b/Mage.Server/plugins/mage-deck-constructed.jar
new file mode 100644
index 00000000000..4b38df4c7ea
Binary files /dev/null and b/Mage.Server/plugins/mage-deck-constructed.jar differ
diff --git a/Mage.Server/plugins/mage-game-freeforall.jar b/Mage.Server/plugins/mage-game-freeforall.jar
new file mode 100644
index 00000000000..0bdcdfbb1a9
Binary files /dev/null and b/Mage.Server/plugins/mage-game-freeforall.jar differ
diff --git a/Mage.Server/plugins/mage-game-twoplayerduel.jar b/Mage.Server/plugins/mage-game-twoplayerduel.jar
new file mode 100644
index 00000000000..bb624d77c9a
Binary files /dev/null and b/Mage.Server/plugins/mage-game-twoplayerduel.jar differ
diff --git a/Mage.Server/plugins/mage-player-ai.jar b/Mage.Server/plugins/mage-player-ai.jar
new file mode 100644
index 00000000000..5c76adf3868
Binary files /dev/null and b/Mage.Server/plugins/mage-player-ai.jar differ
diff --git a/Mage.Server/plugins/mage-player-aiminimax.jar b/Mage.Server/plugins/mage-player-aiminimax.jar
new file mode 100644
index 00000000000..bbf31e476ad
Binary files /dev/null and b/Mage.Server/plugins/mage-player-aiminimax.jar differ
diff --git a/Mage.Server/plugins/mage-player-human.jar b/Mage.Server/plugins/mage-player-human.jar
new file mode 100644
index 00000000000..6e69382c1a2
Binary files /dev/null and b/Mage.Server/plugins/mage-player-human.jar differ
diff --git a/Mage.Server/src/mage/server/game/GameController.java b/Mage.Server/src/mage/server/game/GameController.java
index 14ea816b7ae..9fcfce422ff 100644
--- a/Mage.Server/src/mage/server/game/GameController.java
+++ b/Mage.Server/src/mage/server/game/GameController.java
@@ -218,7 +218,7 @@ public class GameController implements GameCallback {
for (Card card: deck.getCards()) {
card.putOntoBattlefield(game, Zone.OUTSIDE, playerId);
}
- addCardsForTesting(game, game.getPlayer(playerId));
+ addCardsForTesting(game);
updateGame();
}
@@ -394,7 +394,7 @@ public class GameController implements GameCallback {
* 4. Log message to all players that cards were added (to prevent unfair play).
* 5. Exit
*/
- private void addCardsForTesting(Game game, Player player) {
+ private void addCardsForTesting(Game game) {
try {
File f = new File(INIT_FILE_PATH);
Pattern pattern = Pattern.compile("([a-zA-Z]*):([\\w]*):([a-zA-Z ,.!\\d]*):([\\d]*)");
@@ -403,7 +403,7 @@ public class GameController implements GameCallback {
return;
}
- logger.info("Parsing init.txt for player : " + player.getName());
+ //logger.info("Parsing init.txt for player : " + player.getName());
Scanner scanner = new Scanner(f);
try {
@@ -416,7 +416,8 @@ public class GameController implements GameCallback {
String zone = m.group(1);
String nickname = m.group(2);
- if (nickname.equals(player.getName())) {
+ Player player = findPlayer(game, nickname);
+ if (player != null) {
Zone gameZone;
if ("hand".equalsIgnoreCase(zone)) {
gameZone = Zone.HAND;
@@ -471,4 +472,12 @@ public class GameController implements GameCallback {
}
logger.info("Added card to player's " + zone.toString() + ": " + card.getName() +", player = " + player.getName());
}
+
+ private Player findPlayer(Game game, String name) {
+ for (Player player: game.getPlayers().values()) {
+ if (player.getName().equals(name))
+ return player;
+ }
+ return null;
+ }
}