Commit graph

378 commits

Author SHA1 Message Date
Nathaniel Brandes
2ecb415b4d Removed potential integer overflow.
If the number passed into max is Integer.MAX_VALUE, like it is with
ChoiceOfDamnation, the random number will overflow. So let's not do
that.
2017-03-08 21:43:37 -08:00
vraskulin
11dc1e10f1 Few lambda's and removed explicit type from creating lists and hashmaps 2017-02-28 13:46:57 +03:00
vraskulin
0a3c95dde5 Inner classes should be static. It reduces memory usage and gives perfomance boost + DeckImporter rollback 2017-02-28 12:40:12 +03:00
vraskulin
498c8cf60c Made utility classes final to explicitly forbid it's inheritance 2017-02-27 17:03:38 +03:00
vraskulin
0557b5e89c list.size > 0 changed to !list.isEmpty
We care about if it's empty or not, not about it's size
2017-02-06 14:32:51 +03:00
vraskulin
f60ebfbb1f All 1-character strings converted to primitives
"b" + "r" now changed to 'b' + 'w'.  It's more straight-forward, and may cause perfomance improvements - character primitives allocation is faster and less expensive than string creation.
2017-02-06 14:32:51 +03:00
LevelX2
6625bf86be Xmage 1.4.21V0 2017-01-15 17:44:02 +01:00
LevelX2
1a03c7ce07 * Fixed a targeting problem of AI (e.g. for Maulfist Revolutionary). 2017-01-13 21:31:31 +01:00
LevelX2
ee203cf981 Xmage Release 1.4.20V0 2017-01-08 01:36:05 +01:00
LevelX2
2162fab114 * Fixed a problem of AI target handling (e.g. for Precursor Golem) 2017-01-01 14:56:34 +01:00
LevelX2
b62ca1ed1f Xmage 1.4.19 2016-11-27 19:59:42 +01:00
LevelX2
c9e1b415e2 Xmage 1.4.18V0 2016-11-06 18:11:19 +01:00
LevelX2
d2561c1752 * Fixed a problem with triggered mana abilities. Fixed a problem that AI did not always select the needed mana color. Fixed a problem with Reflecting Pool not taking triggered mana abilities into account. 2016-11-03 22:37:54 +01:00
LevelX2
8b62eece68 XMage 1.4.17V0 2016-10-23 10:03:01 +02:00
LevelX2
157827addc XMage 1.4.16v0 2016-10-08 11:14:13 +02:00
LevelX2
c9bb0be016 Reworked selected modes handling. That fixed the Subtle Strike targeting problem. 2016-09-24 01:12:01 +02:00
LevelX2
bb8326d46b XMage 1.4.15v0 2016-09-10 12:31:18 +02:00
emerald000
bc0f53973d Added an easier way to put custom text on buttons in a chooseUse prompt. 2016-09-06 02:07:59 -04:00
ingmargoudt
e2a479255a refactor : removed all instances of new Random() and replaced with RandomUtil for a ThreadLocal randomizer 2016-09-05 15:03:47 +02:00
Samuel Sandeen
148f633672 Make the Counters API for card and permanent consistent. 2016-09-03 10:33:54 -04:00
Samuel Sandeen
282443c231 Add Subtype to the CardAttribute Framework
This is a massive change. I’ve refrained from unrelated refactoring
when possible but there are still a lot of changes here.
2016-08-28 17:30:10 -04:00
LevelX2
539b03bd1d Xmage 1.4.14v0 2016-08-13 10:14:38 +02:00
LevelX2
d0ecb473da Xmage 1.4.13v0 2016-07-11 22:54:43 +02:00
LevelX2
266a0870ca Xmage 1.4.12v0 2016-05-29 10:59:39 +02:00
LevelX2
e2a8ddef0f Merge pull request #1905 from KWottrich/clean-up-java-imports
Clean up java imports
2016-04-26 11:37:35 +02:00
LevelX2
1fcd26fc60 xmage 1.4.11v0 2016-04-26 00:59:03 +02:00
Kenny Wottrich
f3c83d54f5 Remove Unused Imports
Delete unused java imports that cause compiler warnings
2016-04-24 19:50:29 -05:00
Fenhl
430ae503c7 Change all line endings to LF 2016-04-14 16:18:01 +00:00
LevelX2
bcdde0a945 XMage version 1.4.10v0 2016-04-06 22:56:02 +02:00
LevelX2
3f57012c85 Merge origin/master
Conflicts:
	Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java
2016-03-03 23:22:06 +01:00
LevelX2
e9638bcc4d Release 1.4.9v0 2016-02-21 12:58:58 +01:00
LevelX2
74799d286b * Improved mana source check. Fixed #1513. 2016-02-14 18:31:02 +01:00
LevelX2
5981816a4b Switch to 1.4.8 for upcoming realease. 2016-01-22 22:33:58 +01:00
LevelX2
121f40c019 Prepared 1.4.7. 2016-01-10 22:13:59 +01:00
LevelX2
c8f82b49ff Added possibility to check kind of cost to pay for conditional mana use. 2016-01-10 12:01:58 +01:00
LevelX2
782190bac3 Some changes to mana handling to handle {C} mana. 2016-01-08 23:25:42 +01:00
LevelX2
207f486afc * Xmage 1.4.6v0 2015-12-13 19:47:04 +01:00
Neil Gentleman
bfb428b13a always use log4j
removed all references to mage.util.Logging, java.util.logging

transient static doesn't mean anything, since static fields are never
included in serialization
2015-11-28 21:11:25 -08:00
LevelX2
b25e35920e * AI Player - Fixed that the AI took mulligan in Mormir format. 2015-11-28 12:14:58 +01:00
LevelX2
c008b04965 * AI Player - Fixed that the AI for soem card effects could choose itself for choose opponent choice. 2015-11-28 11:23:08 +01:00
LevelX2
eb6a5e7dcb * Some rework of play card effects. 2015-11-26 17:06:50 +01:00
Neil Gentleman
a90d0e5597 reuse shared code for picking basic land sets 2015-11-22 18:00:10 -08:00
LevelX2
0d86e8e063 Xmage 1.4.5v0 2015-11-21 10:33:43 +01:00
LevelX2
4711e0cf99 Changed ability handling of modal spells to be able to select the same mode multiple times with different targets. 2015-11-14 01:56:56 +01:00
LevelX2
ae69986aef * Fixed a bug that the AI did not handle to target a card in its hand (e.g. Chrome Mox). 2015-10-22 01:00:17 +02:00
LevelX2
625aa29d6e Rework of "spend mana as though it were mana of" handling. 2015-10-06 17:28:59 +02:00
LevelX2
9a37bd28ad Xmage 1.4.4v0 2015-09-05 12:51:07 +02:00
LevelX2
5a812f022d Added the new mulligan rule with Scry. Litte Scry rework. 2015-09-03 17:27:43 +02:00
LevelX2
75ed3ffbca * AI target selection - Fixed a problem with TargetSpellOrPermanent (could cause e.g. a bug if AI casts Venser, Shaper Savant). 2015-08-18 12:43:54 +02:00
LevelX2
5ee01868a9 * Fixed a bug of AI target card in hand selection leading to UI hang if AI had no valid targets in hand (e.g. Show and Tell or Hypergenesis). 2015-08-16 17:59:14 +02:00
LevelX2
c98577cc6a Xmage 1.4.3v0 2015-08-06 22:18:01 +02:00
LevelX2
6ef50c42bf Some minor changes. 2015-07-19 10:08:58 +02:00
LevelX2
c784637766 Set ALLOW_INTERRUPT back to true in repository. 2015-07-18 09:59:42 +02:00
LevelX2
0c0fe9984e Some fixes/improvements to AI target handling and tests. 2015-07-16 13:10:11 +02:00
LevelX2
fa0a40b0d6 * Some fixes/chnages to AI player. Needs probably some more testing. 2015-07-12 19:51:04 +02:00
LevelX2
53e36c728c * Some minor fixed, error handling. 2015-07-04 16:44:36 +02:00
LevelX2
cd0cba6ec7 XMage Release 1.4.2v0 2015-07-04 01:28:19 +02:00
LevelX2
0cbe590cac * Fixed that mana auto-payment settings were not correctly set from previous settings on game start. 2015-07-02 13:18:12 +02:00
LevelX2
123d1e4ec6 [ORI] Added 6 black cards. 2015-06-30 01:24:51 +02:00
LevelX2
df3e6db569 Please test! Some changes to the display of user choices, showing also a longer text in tooltip window. 2015-06-28 21:55:48 +02:00
LevelX2
87f3978589 Some changes to userData handling. Added country flag to some dialogs. Saved and restored some more table columns width and order information. 2015-06-28 00:10:38 +02:00
LevelX2
56b81f8635 Computer AI - Fixed a bug in AI target handling (e.g. AI Show and Tell selection blocked UI). 2015-06-24 16:28:30 +02:00
LevelX2
e509a35795 Fixed a bug that existing continuous effects were not applied before state based effects were checked. 2015-06-20 01:07:35 +02:00
LevelX2
9882948a06 * Splice on Arcane - Fixed that if a player used an alternate cost to cast the arcane spell (e.g. Nourishing Shoal) splice mana costs were also removed. 2015-06-17 16:15:44 +02:00
LevelX2
cd0f273122 Fixed a bug that if a human player had to discard more cards than he had on hand, the game UI was blocked. 2015-06-15 17:35:48 +02:00
LevelX2
060a468d4b Update to release 1.4.1. 2015-06-14 02:43:16 +02:00
LevelX2
ce26bc8ed0 Added option to deactivate to ask th eplayer in which order cards go to gaveyard. 2015-06-13 12:27:50 +02:00
LevelX2
8ae9293c98 * Added user country flag. View of image in user list is still missing. 2015-06-10 17:52:18 +02:00
LevelX2
3b61a10237 Fixed some bugs and added a AI Test player class. 2015-06-08 18:31:54 +02:00
LevelX2
9da44a547d Added an option that player has to confirm if he passes priority with empty stack and has mana in his pool. Implements #707. 2015-06-07 22:37:12 +02:00
LevelX2
53396a44f2 Added some test and some minor fixes to effect ability handling. 2015-06-04 13:50:39 +02:00
LevelX2
b58d2e88ea * Novijen Sages - Fixed that it was not possible to pay the activated ability with the counters of Novijen Sages. 2015-06-03 23:49:54 +02:00
LevelX2
f63fae06de Some changes to AI player. 2015-06-03 17:08:01 +02:00
LevelX2
1b690e5c8c * Fixed target change handling (e.g. with opponent filter - fixes #574). Added some tests. 2015-05-31 18:44:02 +02:00
LevelX2
c2ee9ef4ad Minor fix to target handlling. 2015-05-25 22:58:01 +02:00
LevelX2
76aa9c128d * Release 1.4.0v1 2015-05-24 14:50:24 +02:00
LevelX2
497b977911 * Fixed a bug that the AI did most of the time choose the wrong mana color if producing mana from any or multiple mana effects. 2015-05-13 15:04:42 +02:00
LevelX2
fa847e8feb * Update to version 1.4.0v0. 2015-05-12 23:11:25 +02:00
LevelX2
ed501cad21 * Some minor adjustements/changes. 2015-05-12 23:00:34 +02:00
LevelX2
9c97953b6b Added some font color to object and player names output to game logging and feedback area. 2015-05-09 21:18:00 +02:00
Nathaniel Brandes
2f476b7c53 Cleanup sets.
This is an extensive renaming of sets to their correct names. "Duel
Decks" and "Not Standard Legal" have been merged into a "Supplemental"
set type. MTGO-only sets have been put into their own set type, just
like magiccards.info. Supplemental sets now have a "block" which is the
block that they have under magiccards.info, for easier organization. The
deck builder on the client now relies on an autogenerated list instead
of a hardcoded one.
2015-05-03 20:07:13 -07:00
LevelX2
8686f4f777 * Fixed a bug that the AI did for target selection not check correctly players with hexproof ability. 2015-05-02 09:47:38 +02:00
LevelX2
c65adebc57 Fixed that to allow watchers of a game to see the hand cards of players did not work correctly. 2015-04-10 12:36:22 +02:00
LevelX2
6b0f6be574 Fixed spelling bug of import mage.abilities.effects.common.continuous package. 2015-03-03 00:37:39 +01:00
LevelX2
7ce1e6de19 * Some minor changes. 2015-03-01 17:22:39 +01:00
LevelX2
11fb2412cb Fixed a bug of AI target selection that caused endless loops during build of test project. 2015-02-27 15:18:38 +01:00
LevelX2
80d3e6bd9a Fixed a bug of AI target selection that caused endless loops during build of test project. 2015-02-27 15:04:42 +01:00
LevelX2
4a5140d0ab Fixed a bug of cost paying handling not showing only the left over unpaid part of mana cost (fixes #185). Added the name of the object the cost is paid for to the feedback panel. 2015-02-26 13:52:02 +01:00
LevelX2
19d71aaf84 * AI PLayer - Fixed a problem with targets of Venser, Shaper Savant. 2015-01-31 10:00:16 +01:00
LevelX2
8d8a2074f0 * Lion's Eye Diamond - Fixed that it now only can be cast at the time an instant spell could be cast. 2014-12-27 03:51:10 +01:00
LevelX2
67479bb5a4 * Fixed wrong timer handling while other player controlled a player's turn. Attackers now marked with blue frame. Playable cards have a violet frame. If a player has to select cards from hand, the possible cards are marked yellow now. Discard of multiple cards now marks already selected cards and happens in one selection. 2014-11-26 01:48:00 +01:00
LevelX2
7e145d2cfd * Added possibility to allow other players to see hand cards of player. 2014-11-24 23:03:21 +01:00
LevelX2
c22b54d262 *Draft - Non hidden picked cards go to the deck. Hidden cards to sideboard. 2014-11-23 18:43:31 +01:00
LevelX2
97412e3e9e * Started reworking netmana to also handle mana sources that could only produce 2-4 colors. Not finished yet. 2014-11-17 17:37:02 +01:00
LevelX2
1396760d5e * Fixed a problem that prevented cards from beeing marked as choosable in select card panel after the changes made for displaying resized counters. 2014-10-31 18:34:41 +01:00
LevelX2
df71237f46 * Added logic to auto select replacement effects. Some changes to counter size and font size handling. 2014-10-30 20:40:23 +01:00
LevelX2
f3ea64e27c * Changed handling of phases to stop to server based handling. 2014-09-25 00:33:58 +02:00
LevelX2
08b26ae57a * Deflecting Palm - Fixed that damage dealing did not work if the source was a spell. 2014-09-21 09:41:01 +02:00
LevelX2
cb6cc62ed4 If match timer is used, the AI consumes now also time for their priority action. Some minor changes to Gamemanager. 2014-09-03 09:49:44 +02:00
LevelX2
d46b4a7248 Fixed a bug of computer player handling TargetCreatureOrPlayerAmount. 2014-08-18 23:52:35 +02:00
magenoxx
ffa987755b Added using RuleModification effect and setting targetAbility for triggered abilities 2014-08-18 19:42:29 +04:00
LevelX2
d02f272bca * Fixed that attacker has not always to assign all damage to multiple blockers. Improved AI behaviour of assigning damage to multiple blockers. Tries to kill blocker if possible now. 2014-08-18 00:46:45 +02:00
LevelX2
25180e232e * AI - Added missing handling for TargetCardInExile. 2014-08-17 22:32:13 +02:00
LevelX2
f633d35bfd * Wall of Roots - Fixed that Wall could not be used after beeing exiled and returned with Momentary Blink. 2014-08-16 19:27:43 +02:00
Dustin Conrad
809d61d5ea Use dependency management to use common versions of log4j and junit in all the projects. 2014-08-09 19:38:34 -04:00
LevelX2
ea1a098300 * Spellskite - Fixed that target could wrongly not be changed to spellskite in some cases. 2014-07-29 17:44:42 +02:00
LevelX2
c8d76cdaaf * Added Dream Halls and Curse of chain (and what was neccessary to get Dream Hall costs to work). 2014-07-27 11:22:22 +02:00
LevelX2
25e2fb59e1 Support of play_land event for get playable cards. 2014-07-26 15:01:17 +02:00
Quercitron
e5b2b39701 Make order of parameters the same for methods player.damage and permanent.damage 2014-07-18 02:11:11 +04:00
LevelX2
7d2b1c076a * Combat - Creatures forced to attack can no longer be removed from attack by using the undo button (e.g. Bident of Thassa). 2014-06-20 14:19:03 +02:00
Quercitron
f2114f4701 Fix build for Player AI projects 2014-06-13 20:21:07 +04:00
North
1867a150c1 [refactor] removed generic parameter from Player 2014-06-03 11:19:49 +03:00
LevelX2
8087a07a9c * AI Player - Fixed a bug that AI did not care about existing filter criterias for choosing cards from own hand. 2014-05-26 16:57:36 +02:00
LevelX2
473c9e207b Fixed (probably) the player1 concedes but other player2 wins. Fixed that if player runs out of timer time or player lose of beeing idle, the match will end correctly. 2014-05-01 19:34:52 +02:00
LevelX2
915651335a Fixed that in tournament a automatically generated deck will be submitted if player doesn't submit a deck in time (fixes #421). 2014-04-29 17:32:24 +02:00
LevelX2
0523905cc6 AI - Added code to handle TargetSpellOrPermanent (not smart). 2014-04-22 16:37:21 +02:00
LevelX2
93b968d92a * Desecration Demon - Made AI not using the sacrifice ability any more. 2014-04-06 17:24:44 +02:00
LevelX2
73885ab01d * Iona, Shiel of Emeria - Added choice information to card tooltip. 2014-04-04 08:39:19 +02:00
LevelX2
ac93732b1a * Goblin Welder - Fixed that second target of Goblin Welder was not handled by AI player. 2014-03-24 16:03:16 +01:00
LevelX2
27d441de0a Minor changes to AI logging. 2014-03-24 08:33:07 +01:00
LevelX2
577b431029 * AI player - Fixed a bug that sometimes valid targets were not taken into account. 2014-03-15 17:44:56 +01:00
LevelX2
3dde0bab89 * Fixed AI announcing value for non mana variable costs. 2014-03-10 08:17:38 +01:00
LevelX2
7ebb8a9cbe * Reworked non mana costs with variable amount. The values have now to be announced before targeting. Fixed some wrong implementations (Firestorm, Myr Battlesphere, Skeletal Scrying). 2014-03-09 19:47:31 +01:00
LevelX2
8d2f4cc9ac * Draft - Added "Quit Tournament" button to draft panel. Minor formatting. 2014-02-28 17:47:27 +01:00
LevelX2
1f3687cc86 Switched to binary/source format java 1.7. 2014-02-18 17:35:32 +01:00
LevelX2
ee76ccfee4 Added option that AbilityPicker is forced to show if ability or spell has no or only tap cost (not finished yet). 2014-02-12 17:18:06 +01:00
LevelX2
19679c9f6e Some minor changes / formatting. 2014-01-28 13:48:40 +01:00
LevelX2
ad71ec6aad Set Version 1.3.0. 2014-01-25 15:55:39 +01:00
LevelX2
b8af8106f6 Added ManaInAnyCombinationEffect and RemoveCountersForCostCondition and some minor formatting and additions. 2013-11-21 14:28:54 +01:00
LevelX2
33c6bf1385 Ability picker shows now the name of the object instead of {this] in ability text.. 2013-11-06 14:32:50 +01:00
LevelX2
d094f291aa Pushed version to 1.2.0dev. 2013-10-26 13:01:31 +02:00
LevelX2
ba27dbf36e * Faerie Imposter - Fixed AI didn't handle target (TargetPermanent) correctly (fixes #360). 2013-10-20 14:21:54 +02:00
LevelX2
a2f1d08474 * removed some test debug messages. 2013-10-12 17:21:20 +02:00
LevelX2
e6c42edc4f Fixed false min target handling of computer player. Some minor changes and additions to framework. 2013-08-16 10:15:20 +02:00
LevelX2
4a28881f71 Added as thought effect to let creatures block tapped. 2013-08-03 20:14:11 +02:00
LevelX2
7d0cf3cd8c Set version to 1.1.0 dev. 2013-07-21 22:52:25 +02:00
LevelX2
7c6666062e Fixed that AI can handle TargetDiscard or TargetCardInHand with MinNumberOfTargets > 1. 2013-07-18 13:19:44 +02:00
LevelX2
9838dea551 Added possibility to show tournament panel and watch tournament games (if allowed at tournament start) for spectators . 2013-07-16 17:39:02 +02:00
LevelX2
4721c6aaca Fixed handling of sacrifice Planeswalker or Legend permanent caused by new rule for AI choose target. 2013-07-15 19:56:01 +02:00
LevelX2
178b4cb158 Fixed random set for basic land definition. (Fixed issue #274) 2013-07-15 13:27:12 +02:00
LevelX2
5a8a7b19de Client add land set search uses now ExpansionRepository. 2013-07-07 18:23:31 +02:00
LevelX2
9d5327da7a * Rag Dealer / Serene Reembrance - Fixed target handling for AI. 2013-07-04 08:26:26 +02:00
LevelX2
853810ce45 Added support for casting modal spells or activating modal abilities with more than one mode to choose. 2013-06-22 19:35:22 +02:00
North
0bb110be45 [refactor] moved enums from Constants class 2013-06-16 12:28:10 +03:00
LevelX2
5336d4c0f9 Pushed version to 1.0.3 dev. 2013-05-12 16:00:25 +02:00
LevelX2
6b38cd5b18 Mage Version 1.0.2 2013-05-11 23:06:30 +02:00
LevelX2
b352217e17 Some improvements to split card handling. Better display of tooltip of split cards, also added handling if not cast from hand. 2013-05-09 21:26:15 +02:00
LevelX2
2fce670024 Fixed a bug that AI did not choose a creature card in her graveyard if opponent casts Exhume. 2013-04-24 00:29:37 +02:00
Plopman
ba4455e5cb Fixed select best card (ComputerPlayer) 2013-04-06 18:23:53 +02:00
magenoxx
97acebacdd Pumped version to 1.0.2.dev 2013-04-01 16:00:30 +04:00