Magic Another Game Engine
Find a file
draxdyn a7409f3d08 Hold priority on Ctrl+click
In most cases, it is not useful to hold priority after doing something,
since the spell or ability added to the stack can just be performed
beforehand.

Hence, automatically passing priority is the only comfortable setting.

However, in some cases it is useful (chiefly for Infernal Tutor +
Lion's Eye Diamond and similar interaction), and currently players
have to open Preferences, change the option and then change it back
whenever they need to hold priority, which is very annoying.

This change allows to temporarily hold priority by simply holding
Control while performing an action, which solves the issue in a
manner similar to other clients.

A "Hold" indicator next to the spells cast indicator is displayed so
that the user knows his Control key holding was registered.

The code works by adding a new HOLD_PRIORITY player action that causes
the automatic priority pass options to be ignored until the player is
given priority again.

The client sends the message whenever it's not already holding priority
and Ctrl+click/space/enter happens anywhere.

This is somewhat "loose" as it means that Ctrl+click on the background
also holds priority, but this might actually be desirable and it greatly
simplifies the code, since only a global AWT event listener is required,
and there is no need to change every place in the code that could add
something to the stack.

It is also possible to hold priority and stop holding priority using
the context menu.
2016-06-29 19:57:45 +02:00
Mage Hold priority on Ctrl+click 2016-06-29 19:57:45 +02:00
Mage.Client Hold priority on Ctrl+click 2016-06-29 19:57:45 +02:00
Mage.Common Merge pull request #2030 from draxdyn/performance 2016-06-28 13:26:44 +02:00
Mage.Plugins Xmage 1.4.12v0 2016-05-29 10:59:39 +02:00
Mage.Server spjspj - Add Rich Man Cube draft. This is a variation on the Rich Man set draft. It still (like cube) shouldn't let there be more than one copy of a card in the draft but will give each player a new pack from the cards that haven't been picked already each time. Allows 2 player cube drafts to be playable. 2016-06-26 12:54:59 +10:00
Mage.Server.Console Xmage 1.4.12v0 2016-05-29 10:59:39 +02:00
Mage.Server.Plugins Hold priority on Ctrl+click 2016-06-29 19:57:45 +02:00
Mage.Sets [EMN] Added more 6/29 spoilers to mtg-cards-data.txt. 2016-06-29 11:59:05 -05:00
Mage.Stats Xmage 1.4.12v0 2016-05-29 10:59:39 +02:00
Mage.Tests * Fixed a test because of changed set codes. 2016-06-04 11:22:57 +02:00
Mage.Updater Xmage 1.4.12v0 2016-05-29 10:59:39 +02:00
repository/com/googlecode/jspf/jspf-core Added local repository to pom 2012-07-25 20:22:18 +03:00
Utils [EMN] Added more 6/29 spoilers to mtg-cards-data.txt. 2016-06-29 11:59:05 -05:00
.gitignore Switch to 1.4.8 for upcoming realease. 2016-01-22 22:33:58 +01:00
clean_dbs.sh make clean_dbs.sh executable 2015-11-08 22:32:42 -08:00
pom.xml Xmage 1.4.12v0 2016-05-29 10:59:39 +02:00
readme.md Update card counts in readme 2016-05-21 10:50:02 +00:00

XMage - Magic, Another Game Engine

Join the chat at https://gitter.im/magefree/mage

XMage allows you to play Magic against one or more online players or computer opponents. It includes full rules enforcement for over 13,000 unique cards (over 26,000 counting all cards from different editions). Starting with Morningtide, all regular sets have nearly all the cards implemented (detailed overview).

There are public servers where you can play XMage against other players. You can also host your own server to play against the AI and/or your friends.

You can visit the XMage forum here.

Features

  • Deck editor (load and save decks)
  • Simple computer AI opponent
  • Two player duel or a multiplayer free-for-all game with up to 10 players
  • Supports special formats like Commander (up to 10 players), Cube, Tiny Leaders, Super Standard, Historic Standard
  • There are two tournament types supported (elimination or swiss type handling), which can be played with up to 16 players:
    • Booster (also Cube) draft tournaments (4-16)
    • Sealed (also from Cube) tournaments (2-16)

Installation

Download and install the latest XMage release. You will need to have Version 7 or later of the Java Runtime Environment.

Look here for more detailed instructions. Here you can find a log of the latest changes.

Developer

If you are interested in developing XMage, here are some useful resources: