Commit graph

6754 commits

Author SHA1 Message Date
Marc Zwart
1053db617b fixed missing linebreaks 2018-04-03 14:31:59 +02:00
Marc Zwart
3e32287f00 fixed Token/TokenImpl imports and references 2018-04-03 14:05:41 +02:00
Marc Zwart
d4d8a04694 Extracted Token interface and renamed Token implementation to TokenImpl + renamed tests 2018-04-03 14:04:08 +02:00
Marc Zwart
12becca27d removed unused / bad code + fixed implementations of new tokens 2018-04-03 12:55:45 +02:00
Marc Zwart
03eb170a04 made permanent tokens from framework compliant with new abstract superclass 2018-04-02 17:47:04 +02:00
Marc Zwart
2d922cb6af marked Token class as abstract and removed abstracted copy method 2018-04-02 17:45:56 +02:00
LevelX2
1e2e53073c * Deep Analysis - Fixed that its flashback costs did not work with mana casting cost modification effects (fixes #4677). 2018-04-02 15:30:57 +02:00
L_J
6c98f4802e
Fix for Cabal Slaver
Cabal Slaver's ability caused the damaging goblin's controller to discard
2018-03-31 00:06:44 +00:00
Plopman
1466cc2a81 Fix Axelrod Gunnarson 2018-03-27 00:07:13 +02:00
Plopman
a33916f3f4 Add StaticFilters.FILTER_CONTROLLED_LAND_SHORT_TEXT 2018-03-27 00:04:13 +02:00
spjspj
1340f75c1e
Merge pull request #4658 from spjspj/master
Karn, Scion of Urza (DOM)
2018-03-25 09:04:49 +11:00
spjspj
4527f791aa Karn, Scion of Urza (DOM) 2018-03-25 01:44:23 +11:00
igoudt
c535b81bff changed some == to .equals() 2018-03-22 23:37:07 +01:00
igoudt
00f91391e9 Homarid Drake, reprints, and rewriting his or her to their 2018-03-22 16:52:26 +01:00
igoudt
03355aee37 Merge branch 'master' of https://github.com/magefree/mage 2018-03-22 14:45:28 +01:00
ArcadeMode
5ac975c52e Blocker and Critical level bugfixes throughout the project (#4648)
* fixed https://sonarcloud.io/project/issues?id=org.xmage%3Amage-root&issues=AWIlv32RgrzAwlaaQ7rP&open=AWIlv32RgrzAwlaaQ7rP

* ensure closing of scanner if it was opened

* Refactored method in EmpyrialArchAngel to not always return same value.

* Refactored method in FalkenrathAristocrat to not always return same value.

* Refactored method in GilderBairn to not always return the same value.

* fixed left open resources, ensured quiet closing of the streams

* Refactored method in IceCave to not always return same value.

* Refactored method in KjeldoranRoyalGuard to not always return same value.

* Refactored method in LegionsInitiative to not always return same value.

* Refactored method in NaturesWill to not always return same value.

* added quiet closing method in new streamutils class, used to clean up the connectdialog

* Fix small typo

* added quiet closing to saveobjectutil

* closed resources in savegame method of gamecontroller

* properly close resources in loadGame method of GameReplay class

* further proper resource closing in ServerMessagesUtil

* fixed unclosed resources in copy method in mage framework Copier

* closed unclosed resources in copyCompressed method in Copier

* ensure closing of filewriter in manasymbols

* ensure proper closing of Stream in arcane UI

* ensure closing of datagram socket in arcane Util

* ensure resource closing in deckimport from clipboard

* ensure closing of plugin classloader

* ensured closing of zipinputstream resource

* ensure closing of fileoutputstream in ScryfallSymbolsSource

* ensure closing resources after finishing/canceling download of pictures

* remove commented code

* move locks to try block to ensure unlocking along all execution paths

* remove dangerous instance of double-checked locking

* removed dangerous instance of double checked locking in settingsmanager

* Removed dangerous instance of double-checked locking in ThemePluginImpl

* close resource which did not happen certainly

* close another stream

* ensure closing of inputstream
2018-03-22 08:13:13 -05:00
igoudt
af83a34c64 added Academy Drake, Knight of Malice, Hexproof from White 2018-03-22 12:06:45 +01:00
igoudt
ad8b046b05 a list that is null is just strange, just use an empty List 2018-03-22 12:06:45 +01:00
igoudt
e205fef785 added a removeIf and streams 2018-03-22 12:06:45 +01:00
LevelX2
f56b2fb86c [ODY] Added Charmed Pendant. 2018-03-20 21:42:10 +01:00
LevelX2
48cfe249f7 * Fixed a problem that a gained "is all creature types" from continous effects were not propertly reset on permanents. 2018-03-20 13:39:48 +01:00
Chase
491a05b2df Fix Mana#containsAny to account for Any mana 2018-03-20 01:39:26 -07:00
spjspj
8ff4f81cea
Merge pull request #4640 from spjspj/master
New M15 Rendering for Unstable lands
2018-03-20 16:49:00 +11:00
spjspj
a368c93845 New M15 Rendering for Unstable lands 2018-03-20 16:12:43 +11:00
LevelX2
d29707bdea * Morph - Fixed that turning creatures face up didn't restore their subtypes (fixes #4566). 2018-03-18 19:37:25 +01:00
LevelX2
b073ce1c42 * Added to all toUpperCase/toLowerCase calls the Locale.ENGLISH to prevent problems with some languages (e.g. Turkish). Removed some unused import statements. (#4634). 2018-03-18 18:18:54 +01:00
LevelX2
03ebdc17d8
Merge pull request #4632 from CountAndromalius/master
Corrected "Any TYPE among permanent types" handling
2018-03-18 16:25:47 +01:00
igoudt
7344a15a9b remove comparator, use Comparator.comparing 2018-03-18 00:56:52 +01:00
igoudt
5736272dd6 add historic spell filter 2018-03-18 00:38:30 +01:00
igoudt
6a24de6e5a added Saga enchantment subtype and default method for isHistoric 2018-03-18 00:32:50 +01:00
igoudt
ddf568679f added 3 Dominari cards, benalish marshal, charge, knight of grace, added a new condition and a new ability 2018-03-18 00:22:03 +01:00
LevelX2
b046428f8c XMage 1.4.28V1 2018-03-17 23:59:34 +01:00
LevelX2
442130beb6 Some minor changes. 2018-03-17 23:40:36 +01:00
LevelX2
85b13b88c8 * Kindred Summons - Fixed that no creatures were put onto the battlefield. 2018-03-17 22:35:03 +01:00
Count Andromalius
240416146e Merge remote-tracking branch 'upstream/master' 2018-03-17 15:24:40 -03:00
LevelX2
7d1af66162 * Fixed Sacrific a creature text and filter handling. 2018-03-17 18:58:18 +01:00
Count Andromalius
86443d7cd4 Corrected error when handling colorless permanents on "Any type among [...] permanents"
Also changed comment on AnyColorLandsProduce for clarity
2018-03-17 11:35:50 -03:00
LevelX2
66bd5294e8 * Removed effect's ApplyEffectsAfter functionality. It's now always applied. 2018-03-17 13:43:31 +01:00
LevelX2
d9ede35857 * MIracle - Fixed a problem with miracle casting costs. 2018-03-17 12:35:40 +01:00
LevelX2
170ad083c7 * Fixed a problem of the AI that it could cast cards with flashback without paying the costs. 2018-03-17 01:51:25 +01:00
LevelX2
946503864a Merge origin/master 2018-03-16 20:12:08 +01:00
LevelX2
62db7ae72f * Skyshrout War Beast - Fixed wrong P/T calculation because of wrong land filter. 2018-03-16 20:11:10 +01:00
CountAndromalius
d7458c5e35 Implemented [DOM] Mox Amber (#4622) 2018-03-16 14:09:35 -05:00
LevelX2
b035d85f98 * Fixed a problem that triggered abilities that face down permanents got from other sourced did not trigger (fixes #4571). 2018-03-16 15:06:15 +01:00
LevelX2
fdd8cd0e09 * It That Betrays - Fixed that target handling of second triggered ability did not work correct (fixes #4568). 2018-03-16 15:04:31 +01:00
LevelX2
dbfb708e44 * It That Betrays - Fixed that target handling of second triggered ability did not work correct (fixes #4568). 2018-03-16 13:13:16 +01:00
Jeff
6e4d655ac1 - Fixed #4521 2018-03-15 07:59:20 -05:00
Oleg Agafonov
83a3de9a93 * UI: improved choose number dialog (fixed enter key, added more info colorized info for mana distribute dialog); 2018-03-15 00:14:04 +04:00
LevelX2
1e1e361c60 * Some minor changes to Casting of Bones and the used effect. 2018-03-13 22:57:27 +01:00
LevelX2
c8b1c6058b
Merge pull request #4613 from AMWJ/master
Implemented card: Casting of Bones
2018-03-13 22:19:38 +01:00
LevelX2
d101dc5a0e
Merge pull request #4617 from delftswa2018/hotfix/play-land-event
Fire PLAY_LAND event only after replace check
2018-03-13 22:14:05 +01:00
Christiaan
da54f97a9d Fire PLAY_LAND event after replace check
Fix issue with cards preventing players from playing lands still firing PLAY_LAND, while the actual event is replaced.
2018-03-13 17:08:44 +01:00
spjspj
4258520158
Merge pull request #4615 from spjspj/master
Allow automatic targeting of lands to occur when untapping them under certain conditions.
2018-03-14 01:34:51 +11:00
spjspj
3953ad8b0b Untapping lands in response to a trigger is somewhat painful. Allow lands to be targeted automatically. 2018-03-14 01:21:03 +11:00
spjspj
fa53e1ef6f Untapping lands in response to a trigger is somewhat painful. Allow lands to be targeted automatically. 2018-03-14 00:49:05 +11:00
AMWJ
5793e9a9dd Merge branch 'master' of https://github.com/magefree/mage 2018-03-12 21:37:44 -04:00
AMWJ
a0f2311300 * Implemented Casting Of Bones (https://scryfall.com/card/cst/44b), and added it to Alliances set.
* Refactored DrawDiscardOneOfThemEffect to be used in CastingOfBones, KrovikanSorcerer, and SoldeviSage.
2018-03-12 19:50:52 -04:00
Plopman
9aba870aa5 Change place counters to put counters 2018-03-12 22:52:02 +01:00
LevelX2
b7fa942b10 * Fixed a problem that the AI did not care for maximum allowed mana payment for X mana costs. 2018-03-12 16:33:42 +01:00
LevelX2
c2a4890603 * Fixed that commander replacement effect was wrongly only applied once (903.9). Simplified some replacement effects that move objects to other zones. (fixes #4585). 2018-03-11 21:48:37 +01:00
LevelX2
fed2d1a259 XMage 1.4.28V0 2018-03-10 20:42:29 +01:00
L_J
a2b0e5a39c
Implemented "can block landwalk as though it didn't have landwalk" and related cards 2018-03-10 11:52:25 +01:00
LevelX2
17afa3b3c1 * Added a test. 2018-03-09 15:51:31 +01:00
spjspj
0c0e1804f1 Mox Lotus (UNH) 2018-03-09 23:58:05 +11:00
LevelX2
15602cdfb3 Small change to Uphill Battle. 2018-03-08 23:27:19 +01:00
LevelX2
ef809e837c
Merge pull request #4573 from delftswa2018/feature/UphillBattle
[WIP] Implemented Uphill Battle
2018-03-08 17:25:10 +01:00
Christiaan
0b8e8c0007 Fire PLAY_LAND event when a player plays a land, fixed UphillBattle PlayCreatureLandWatcher
Fire a PLAY_LAND event when a player plays a land. This is necessary for the PlayCreatureLandWatcher to know if a land was played, or put into thte battlefield (make distinction between playing Dryad Arbor and using Sneak Attack to put it on the battlefield)
2018-03-08 16:17:36 +01:00
spjspj
3dee3586c2
Merge pull request #4583 from spjspj/master
Add a 'spectators allowed' option for regular tables (aka non tournam…
2018-03-08 22:46:44 +10:00
spjspj
4c7b0d50d2 Add a 'spectators allowed' option for regular tables (aka non tournaments). 2018-03-08 23:31:51 +11:00
L_J
5bd58ca56e
Included duration for BecomesChosenCreatureTypeSourceEffect 2018-03-04 10:38:38 +00:00
L_J
d2c39a1339
Included duration for BecomesChosenCreatureTypeTargetEffect 2018-03-04 10:37:22 +00:00
spjspj
be70ecd7f3 Add a singleton search option for deck editor search 2018-03-04 17:57:51 +11:00
Oleg Agafonov
08f15416ba * Add new full set Masters 25 (only Karona's Zealot must be implemented); 2018-03-02 22:06:24 +04:00
Oleg Agafonov
ae99a1b444 Fixed tests 2018-03-02 21:42:16 +04:00
L_J
b32c8f6bb0
Merge pull request #4547 from Zzooouhh/Zzooouhh-bog
Implemented Blaze of Glory and Portal cards (& finished a todo in MustBlockAny checking)
2018-03-01 07:05:11 +01:00
LevelX2
8c8b4ce019 * Added a check if life of players is going down during infinite loop check. Is so no Draw check message is shown (fixes #4557). 2018-02-28 17:24:42 +01:00
LevelX2
5f98cb685e * Hushwing Gryff - Fixed that log message was sent out too often (fixes #4548). 2018-02-26 16:17:16 +01:00
LevelX2
2fceafda93 * Fixed a bug that mana in the mana pool could not be used to pay mana costs that could only be payed with "you may spend mana as thought" effects (fixes #2581). 2018-02-25 21:53:47 +01:00
L_J
2c28f64294
CantBeBlockedByCreaturesAllEffect duration bugfix 2018-02-25 14:26:02 +00:00
LevelX2
4c88b8e6e3 * Fixed a bug of AttackedThisStepWatcher (fixes #4549). 2018-02-25 10:39:33 +01:00
L_J
4b89342c34
Added support for Blaze of Glory 2018-02-24 21:52:05 +00:00
LevelX2
309d4685e8 * Cleaned up FixedTargets MageObjectReference handling. 2018-02-24 17:28:55 +01:00
LevelX2
a6e389bbaa
Merge pull request #4542 from Zzooouhh/Zzooouhh-vwm
Implemented Vodalian War Machine (Fallen Empires complete) & some Legends cards
2018-02-24 16:45:42 +01:00
LevelX2
dfb9446994 * Some minor mainly fixed target changes. 2018-02-24 10:26:11 +01:00
LevelX2
9a95e49ac9 * Fixed Stifle rule text and some other minor things related to TragetActivatedAbility. 2018-02-24 01:00:23 +01:00
Oleg Agafonov
5b0e71021d Fixed compile error on getFixedTarget and failed test on new lower names 2018-02-23 16:16:47 +04:00
LevelX2
c02c5a175b * Fixed some target pointer handling. 2018-02-22 17:46:23 +01:00
Jeff
75e028a1c3 - Added requested card Penance 2018-02-22 08:06:03 -06:00
Jeff
62b6ee30eb - Added requested card Telekinetic Bonds 2018-02-21 17:18:35 -06:00
Plopman
f31b1ab7e3 Improve some ability text 2018-02-22 00:02:23 +01:00
L_J
93280d1835
Implemented Vodalian War Machine 2018-02-21 17:13:38 +00:00
L_J
c8d142492f
Updated watcher for Gaze of the Gorgon 2018-02-20 17:38:14 +00:00
Plopman
866c1c3973 Fix Helm of Awakening and Sphere of Resistance text 2018-02-20 18:29:10 +01:00
Plopman
51f52dcc8b Fix MaximumHandSizeControllerEffect setText function 2018-02-19 23:13:41 +01:00
LevelX2
210770669c * Added Shah of Naar Isle (Future Sight complete now). 2018-02-18 23:44:52 +01:00
LevelX2
4d4b0d145e * Sacrificed a bug of SacrificeAllCost (fixing a problem with Soulblast looping forever). 2018-02-18 23:44:14 +01:00
LevelX2
d80d588963 * Reworked flashback ability (fixes #4482 #3324 #215 #3435 #3883 #3337 #2183 #2447). 2018-02-18 02:52:16 +01:00
L_J
1f5e2f1bed
Minor revert 2018-02-17 22:27:07 +00:00
L_J
17800b6df1
Menace fix 2018-02-17 22:25:27 +00:00
LevelX2
fe2eec6553 * Fixed a problem with Animate Dead and bringing creatures with triggered abilities into play that had no targets. It was related to manipulating spellAbility and not copying spellAbility correctly during states copies. (related to #4428). 2018-02-17 11:54:57 +01:00
L_J
77762cbf59
Some multi-blocker damage changes
Fixes situations like "two-man band with Viscera Seer gets blocked, Viscera Seer sacs itself afterwards" - before, the blocker would deal its damage twice to the remaining attacker.
2018-02-16 23:59:17 +00:00
Jeff
74a47bc63a - Fixed Myr Battlesphere #4522 2018-02-16 16:28:13 -06:00
L_J
f2a70193e3
Reverted canBlock changes
due to some incorrect banding interactions
2018-02-16 13:59:04 +00:00
LevelX2
e679b1003d * Fixed that all spells could be cast by canceling the mana payment process. 2018-02-15 16:51:47 +01:00
L_J
9e797e4ed4
Implemented Errand of Duty 2018-02-15 10:40:33 +00:00
L_J
7b4eb5193e
Permitted AI to band attackers 2018-02-15 00:08:40 +00:00
L_J
58fde7db50
Reverted accidental change 2018-02-15 00:05:44 +00:00
L_J
3dbd5a72c4
Merge branch 'master' into Zzooouhh-banding-final 2018-02-15 00:49:08 +01:00
LevelX2
1d09168857 Xmage 1.4.27V4 2018-02-14 23:05:43 +01:00
LevelX2
d10d6361ac * Some minor chnages. 2018-02-14 22:57:57 +01:00
LevelX2
e77b457414 * Madness ability - reworked madness ability design. 2018-02-14 17:33:59 +01:00
LevelX2
3b19304f64 * Fixed that soulbond arrow to paired card was not shown and improved soulbond text on permanent. 2018-02-14 12:41:44 +01:00
L_J
0982d6b10e
Name typo 2018-02-13 20:56:05 +00:00
L_J
c37ecff939
Small rewrite 2018-02-13 19:56:46 +00:00
L_J
e7301e2c08
Implemented banding (#41) 2018-02-13 20:36:25 +01:00
LevelX2
a85fa82de0 * Bestow - Fixed a problem that if the target of a bestow enchantment aura got illegal, the bestow permanent did not chnage back to be a creature. 2018-02-12 15:49:16 +01:00
LevelX2
f0f407457e * Subtypes of tokens were not set back correctly after a subtype changing effect did end (e.g. Arcane Adaptation). 2018-02-12 14:45:05 +01:00
LevelX2
6d848e2059 * Fixed a bug that turn rollback did not work correctly, if player was in a buy cost process that included possible rollback (fixes #4510). 2018-02-12 11:41:01 +01:00
LevelX2
c9603d1994 * Some fixes to token image downloading. 2018-02-11 23:30:15 +01:00
LevelX2
d66d8d47fb Some rework of Keeper of the Light. 2018-02-10 00:05:54 +01:00
LevelX2
82e104f9df * Fixed a problem that instead putting cards to library bottom the cards cease to exist (e.g. Ancient Stirrings). 2018-02-08 22:42:34 +01:00
spjspj
90e830cc84
Merge pull request #4498 from spjspj/master
Implementing Snow Mercy (HHO) - Christmas Special Occasion card
2018-02-08 01:28:08 +11:00
spjspj
7dcbc0f441 Implementing Snow Mercy (HHO) - Christmas Special Occasion card 2018-02-08 01:14:25 +11:00
LevelX2
eeb938af94 * Fixed a bug that could lock the game if you should pick more cards from shown cards from your library than cards left in your library (e.g. Dig Through Time). 2018-02-07 14:24:17 +01:00
LevelX2
c13b16fa84 Xmage 1.4.27V3 2018-02-06 23:49:41 +01:00
LevelX2
0a28ab2d5a * Fixed a bug when token permanents were put on top or buttom of library (e.g. using activated ability of a copied Timestream Navigator). 2018-02-06 23:33:44 +01:00
Oleg Agafonov
c556ea5b12 Fixed #4490 - Layout Mismatch 2018-02-06 17:25:15 +04:00
L_J
d1c5fe3f0f
Ponder fix (#4484 #4481) 2018-02-06 10:46:10 +00:00
L_J
28a3f75f4d
Merge pull request #4478 from Zzooouhh/Zzooouhh-cards
Implemented Nebuchadnezzar, Spy Network, Carrionette, Stangg
2018-02-05 09:27:09 +01:00
LevelX2
88d4e2b965 * Bushido - Fixed that it triggerd wrongly for each blocker instead of only once if blocked. 2018-02-04 21:13:07 +01:00
Oleg Agafonov
5722b51d6e * Fixed "layout mismatch" error on open some decks (#4311); 2018-02-04 22:15:27 +04:00
LevelX2
b752eacfaa * Optimized handling and call of player.choose choice to prevent problems if a player disconnects or left a game (#4263). 2018-02-04 17:51:12 +01:00
LevelX2
4dd196f373 * Fixed some problems with getting cards at random from collection that could cause loops. 2018-02-04 12:27:08 +01:00
L_J
8fd5d92152
Switched order of getRange and getDraws 2018-02-04 01:43:46 +00:00
L_J
1e0090e4a7
Included logging for range at game startup (fixes #3878) 2018-02-04 01:33:17 +00:00
L_J
a533352f0d
Implemented Stangg 2018-02-03 22:30:53 +00:00
LevelX2
ced9cef1e1 * Lightning Storm - Fixed that abilities from stack abilities could be activated without cost paying (#4371). 2018-02-03 17:55:22 +01:00
spjspj
b924f4bb6b Scenario I was testing for this fix.
Local Server, EDH game with Player1, Player2, Player3.
Player1 has 2 mana reflections out, cast Torment of Hailfire for 15 and is tapping mana for it.
The 'choose replacement effect' popup comes up.
Whilst this is happening, Player2 concedes.
This will currently lock up the game and sits forever in waitResponseOpen.
 (With the time out now there, it will time out after 30 seconds or so.
2018-02-03 13:21:47 +11:00
LevelX2
db0fc1b439 * Some changes to skip handling. 2018-02-02 00:27:12 +01:00
LevelX2
f9ca04dfbb * Wildfire Eternal - Fixed that the ability triggered multiple times if more than one player blocked during the turn (fixes #4466). 2018-01-31 00:10:02 +01:00
Oleg Agafonov
66eb1de7f1 Fixed v1 server incompatible with v0 clients (freezes on game startup) 2018-01-28 17:57:55 +04:00
LevelX2
62a40ab459 Xmage 1.7.27V1 2018-01-28 01:15:19 +01:00
LevelX2
afaa1149e7
Merge pull request #4450 from BenDawes/bugfix/becomesCreateAllEffectSetCalculation
Fix becomesCreatureAllEffect set calculation
2018-01-27 19:03:54 +01:00
LevelX2
8c2185019c * Ascend - Fixed that not all types of permanets were counted (e.g. Planeswalker). 2018-01-27 18:54:10 +01:00
LevelX2
c401a7f5ea Fixed some exception problems. 2018-01-27 18:29:47 +01:00
LevelX2
84a815eb73 Merge origin/master 2018-01-27 17:57:27 +01:00
LevelX2
f5499531c7 Fixed that combat damage triggered abilities go to stack during the related combat step. 2018-01-27 17:56:46 +01:00
Quercitron
ad74ddd981 * Infernal Genesis - Fix that incorrect Minion creature token was used (closes #4445) 2018-01-27 18:35:43 +03:00
LevelX2
2f016c8ea6 Fixed some more exception and/or logging problems. 2018-01-27 13:19:20 +01:00
Ben Dawes
2f4b6ca713 BecomeCreatureAllEffect used to always calculate the permanent set to apply to every time it is applied
Now we calculate it either at init-time (for abilities with affected object sets) OR at apply-time (Static abilities etc.)
2018-01-27 11:51:16 +00:00