Magic Another Game Engine
Find a file
Evan Kranzler 8617bc128e
Fixing issues with Changelings and general problems with creature types (ready to merge) (#7098)
* updated Changelings to use setIsAllCreatureTypes

* updated Dr Julius Jumblemorph and Mistform Ultimus to not use changeling

* added test for Mistform Ultimus

* updated effects which give all creature types to controlled creatures

* updated effects which give all creature types to targeted creatures

* Update LoseAllCreatureTypesTargetEffect.java

* updated effects which give all creature types to attached creatures

* Update EgoErasure.java

* added another test for changelings

* updated two tokens I left out before

* updated hasSubtype

* updated shareCreatureTypes

* fixed an incorrect test

* cleaned up some cards which check for shared creature types

* added new changeling test

* fixed issue with shareCreatureTypes

* fixed a text issue

* added new tests for subtype effects

* various individual card fixes and cleanups

* fixed and updated various effects

* many more fixes

* a few more fixes

* added test for One with the Stars

* added changeling verify test

* updated effects which add additional subtypes

* more miscellaneous fixes

* added additional test

* some fixes for card type checks

* updated methods for adding types to make it easier to avoid duplicates and illegal additions

* small test update

* fixed a recursive loop issue

* fixed another error

* fixed it for real this time

* streamlined type removal process

* streamlined subtype set generation
2020-10-30 22:32:59 -04:00
.github Update dependabot.yml 2020-07-07 10:54:47 +02:00
Mage Fixing issues with Changelings and general problems with creature types (ready to merge) (#7098) 2020-10-30 22:32:59 -04:00
Mage.Client [SLD] consolidated PSLD into main set 2020-10-05 21:39:53 -04:00
Mage.Common * Fixed a bug that prevented to display some triggered abilities (concerning human players) to select the order they are going to the stack. 2020-08-30 14:10:24 +02:00
Mage.Plugins Prepare new release 2020-08-23 01:52:55 +04:00
Mage.Server Merge pull request #7052 from magefree/dependabot/maven/com.google.api-client-google-api-client-1.30.10 2020-09-22 08:31:44 +02:00
Mage.Server.Console Prepare new release 2020-08-23 01:52:55 +04:00
Mage.Server.Plugins updated historic ban list 2020-10-12 10:45:58 -04:00
Mage.Sets Fixing issues with Changelings and general problems with creature types (ready to merge) (#7098) 2020-10-30 22:32:59 -04:00
Mage.Tests Fixing issues with Changelings and general problems with creature types (ready to merge) (#7098) 2020-10-30 22:32:59 -04:00
Mage.Verify Fixing issues with Changelings and general problems with creature types (ready to merge) (#7098) 2020-10-30 22:32:59 -04:00
repository/com/googlecode/jspf/jspf-core Added local repository to pom 2012-07-25 20:22:18 +03:00
Utils [CMR] updated spoiler and reprints 2020-10-30 18:57:41 -04:00
.gitignore Added Visual Studio Code (vscode) and .factorypath maven files to .gitignore. Also .idea pattern now restricted to folder type. (#6410) 2020-04-13 18:52:13 -04:00
.travis.yml removed unused git options 2020-07-22 04:15:09 -05:00
clean_dbs.sh make clean_dbs.sh executable 2015-11-08 22:32:42 -08:00
LICENSE.txt add current MIT license to root 2018-06-02 17:48:28 +02:00
pom.xml Bump maven-resources-plugin from 3.1.0 to 3.2.0 2020-09-07 05:57:20 +00:00
readme.md Fixes broken links in readme 2020-10-02 22:27:47 +02:00
RemoveHeaders.java remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
sonar-project.properties added sonarcloud support (hopefully it works) 2019-01-05 11:29:35 -05:00

XMage — Magic, Another Game Engine

Build Status latest release commints since latest release 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 20 000 unique cards and ~50.000 reprints from different editions. You can also find custom sets like Star Wars. All regular sets have nearly all implemented cards.

It's support single matches and tournaments with dozens game modes like duel, multiplayer, standard, modern, commander, pauper, oathbreaker, historic, freeform and much more.

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.

XMage community and resources:

Servers status:

Beta server with un-released or under development features:

Features

  • Multiplatform app: Windows, Linux, MacOS;
  • Deck editor (support multiple deck formats and deck sources);
  • Two player duel or a multiplayer free-for-all game with up to 10 players;
  • Computer AI opponents;
  • Players rating system (Glicko);
  • Supports special formats like Commander (up to 10 players), Oathbreaker, Cube, Tiny Leaders, Super Standard, Historic Standard and more;
  • Single matches or tournaments 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)

Bug report / feature request

The best way to report bug or feature request is github's issues page. There are another way to report bugs too:

Installation / running

Look here for more detailed instructions.

Wiki page contains detail information about private or public server setup.

Troubleshooting / FAQ

Github issues page contain popular problems and fixes:

Performance tweaks

If you have a good GPU, it's very likely you'll be able increase performance by a lot through extra Java flags.

XMage runs on JRE 8, so this link should give you the available flags.

How to enable the extra flags

  1. Launch XMage
  2. In the menu bar from the launcher, click on "Settings", which will open up the Settings Window
  3. Go to the "Java" tab
  4. You can pass extra flags by editing the "Client java options" text field

Linux tweaks

Enable OpenGL

More info about OpenGL:

  • -Dsun.java2d.opengl=true

Possible problems:

  • Caveat: There's a bug with the file chooser when OpenGL is enabled (you use the file chooser when you, for instance, try to load a deck from disk). The suggested workaround will make the game crash, so it's not an option.
  • Workaround: When using i3, you're able to work around the bug by toggling the "floating" capabilities of the window and forcing it to re-render.

Enable XRender

More info about XRender:

  • -Dsun.java2d.xrender=true

Increase memory usage

This is not guaranteed to yield improvements, but it depends on your use-case. If you have a lot of RAM to spare, you might as well increase the initial heap size for good measure. More details about memory settings:

  • -Xms1G -Xmx2G

Developer

Full project documentation and instructions for developers can be found in wiki pages.

First steps for Xmage's developers: