Commit graph

202 commits

Author SHA1 Message Date
Jeff
9cd3c010fd - Cleanup of AI classes. 2018-01-19 16:37:09 -06:00
Oleg Agafonov
3d53d28f5e Fixed AI infinite loop on wrong answers input (tests affected) 2018-01-04 18:14:22 +04:00
Oleg Agafonov
3dda5712db AI: fixed not working choice with key-value dialogs, random refactor 2018-01-04 00:23:20 +04:00
Zzooouhh
3a6974c0b0
NullPointerException fix 2017-12-23 19:42:02 +01:00
LevelX2
0d46c68924 * Fixed some problems for handling concede during game init. 2017-11-04 18:19:41 +01:00
LevelX2
58d3fc2328 Fixed player leaving/conceding handling. 2017-10-21 16:13:45 +02:00
LevelX2
5996aa12e6 Trove of Temptation working for Human. 2017-09-15 17:51:54 +02:00
Evan Kranzler
252c941b4f Refactored more subtypes usages to enum 2017-09-08 09:57:51 -04:00
LevelX2
db93e3f672 * C17 Enchantment Curses - Fixed a bug that could create game errors (index out of bounds). 2017-08-17 21:36:55 +02:00
ingmargoudt
6f8f10fcc3 move static function to CardImpl, and other api fixes 2017-03-30 20:09:47 +02:00
vraskulin
d93061c0bc Equals should be compared with == but not equals() 2017-03-22 14:50:50 +03:00
vraskulin
11dc1e10f1 Few lambda's and removed explicit type from creating lists and hashmaps 2017-02-28 13:46:57 +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
vraskulin
076840df53 Big refactoring
I used Intellij IDEA to automatically refactor code to achive 3 goals.
1) get rid of anonymouse classes, and replace the with lamba to get more readeable and clean code (like in TableWaitingDialog).
2) make effectively final  variables actually final to avoid inadvertent changes on it in further releases and keep objects as immutable, as possible.
3)  Get rid of unused imports (most of the changes) in whole project classes.
2017-01-09 19:16:53 +03:00
vraskulin
2e83930ace Creating new ArrayList is unneccesarry
We shouldn't create new arraylist with default size and no element in it to show that no elements found in database. It's one more object in heap, which will be never used. There is special method Collections.emptyList() - it's more readeable and returns empty immutable list
2016-12-19 12:23:23 +03:00
LevelX2
97b872d926 * Fixed that a spell that becomes a permanent didn't had the colors of the spell (e.g. ERsatz Gnomes). 2016-10-22 10:38:10 +02:00
ingmargoudt
3128bd2b4b replace [list].size() == 0 and [string].length() == 0 to use .isEmpty() instead 2016-09-14 15:27:31 +02: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
773decf593 * Fixed a problem with the AI handling of TARGETED event (e.g. Silverfur Partisan not triggering - fixes #1916). 2016-04-30 11:42:01 +02:00
emerald000
9d380331d7 Removed choices that should not be made while casting of a spell.
For example: color choices for protection abilities.
2016-04-28 01:32:48 -04:00
Kenny Wottrich
f3c83d54f5 Remove Unused Imports
Delete unused java imports that cause compiler warnings
2016-04-24 19:50:29 -05:00
emerald000
8823839a42 Added framework method for copying a StackAbility without casting it.
Modified the effects doing so with the new method.
2016-04-17 23:55:11 -04:00
Fenhl
430ae503c7 Change all line endings to LF 2016-04-14 16:18:01 +00: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
e0c1492f88 * Fixed a problem that the AI was locked if a attack fee has to be paid but the AI was not able to pay the costs. 2015-10-30 22:34:42 +01:00
LevelX2
8b8097878c * Reworked/Cleaned card movement handling. 2015-10-11 03:52:38 +02:00
LevelX2
aa1eb354ef * Removed some data from player restoring to fix unintended draws after a player concedes game (#1205) 2015-08-18 17:20:04 +02:00
LevelX2
4324a6a683 Fixes to token image handling. 2015-07-19 10:09:50 +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
3b61a10237 Fixed some bugs and added a AI Test player class. 2015-06-08 18:31:54 +02:00
LevelX2
f63fae06de Some changes to AI player. 2015-06-03 17:08:01 +02:00
LevelX2
b2fe13c8c8 * Fixed attack tap handling - You can no longer attack with a mana producing creature that will be get tapped for attacking and use the creature itself to produce mana to pay for effects like Ghostly Prison if the mana ability has the cost to tap the creature. 2015-04-16 15:57:17 +02:00
LevelX2
6b8493d9f8 * Changed all occurances of unblockable to can't be blocked. 2015-03-08 21:54:36 +01:00
LevelX2
2af52cfd3a [C14] 11 white cards + 1 Artifact + white deck list + some minor fixes to framework and other cards. 2014-12-01 16:59:36 +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
8bb2868dfa * AI - Fixed that the AI used actions with 0 costs endless (e.g. Chimeric Idol). 2014-11-11 15:40:51 +01:00
LevelX2
b3b51f9f1e * AI added little passivity penalty for passing turn to get AI more active. 2014-10-03 12:07:59 +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
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
magenoxx
de6d1bf46b Asserting action count in tests. minor changes. 2014-08-15 10:52:37 +04:00
LevelX2
3aab091492 Some changes to client and server logging messages. 2014-08-04 17:21:14 +02:00
LevelX2
cbb6117b8e Replaced some replacement effects with restriction effects. Added new method to restriction effect. Improved canAttack methods (not finished yet). 2014-08-01 15:59:59 +02:00
LevelX2
25e2fb59e1 Support of play_land event for get playable cards. 2014-07-26 15:01:17 +02:00
LevelX2
bcf620a459 * 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:45:35 +02: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
North
1867a150c1 [refactor] removed generic parameter from Player 2014-06-03 11:19:49 +03:00
LevelX2
77fb744991 Set for simulated games of the AI the simulation flag (please report if this causes any problems). 2014-06-02 08:32:22 +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
abfe517c17 * AI player - Fixed a problem that AI uses Sphinx of Jwar Isle ability in an endless loop. 2014-04-30 07:15:01 +02:00
LevelX2
27d441de0a Minor changes to AI logging. 2014-03-24 08:33:07 +01:00
LevelX2
8d2f4cc9ac * Draft - Added "Quit Tournament" button to draft panel. Minor formatting. 2014-02-28 17:47:27 +01:00
LevelX2
8491b5b90b * Cleanup of server memory handling - removed memory leaks for Chat, Player, Match, Game etc. 2014-02-21 01:13:27 +01:00
LevelX2
2708916cd6 * Logging - Changed logging of gameStateEvaluator2. 2013-12-31 12:59:07 +01:00
Backfir3
ccc0bf4b6d Fix missing parameter in after Odric Master Tactician commit 2013-08-06 22:44:04 +02:00
LevelX2
0d37d1593b * Odric Master Tactician - Fixed that the game didn't leave the block phase controlled by the controller of Odric. 2013-08-06 18:26:49 +02:00
North
0bb110be45 [refactor] moved enums from Constants class 2013-06-16 12:28:10 +03:00
LevelX2
5addb63757 * Changed indestructible to an ability according M14 rule change. Also fixed that for indestructible permanents the DESTROY_PERMANENT event was triggered what led to bugs with abilities like Totem Armor. 2013-06-15 17:57:01 +02:00
LevelX2
caff4ba2fe Changed a log level of AI log statement. 2013-05-11 20:48:03 +02:00
jeffwadsworth
f6d97367fc - Added some Dragon Maze cards. 2013-05-02 16:37:21 -05:00
jeffwadsworth
ad99fcad23 - Added some Dragon Maze cards. Improved AI attacking with flying creatures. 2013-05-01 16:00:49 -05:00
jeffwadsworth
4feb0638bd - Added Ruric Thar, the Unbowed. Little fix. 2013-05-01 11:15:53 -05:00
jeffwadsworth
111f198f3d - Added some cards. AI will no longer attack with creatures at 0 power. 2013-05-01 10:27:48 -05:00
North
a3411f2486 [cleanup] removed unused imports 2013-04-19 20:01:10 +03:00
magenoxx
29b84e0d92 Closed #169: Make it possible to untap lands 2013-03-29 20:35:16 +04:00
LevelX2
dcacb90ba9 Optimized the AI-ScoringSystem for enchantments. 2013-03-15 16:00:44 +01:00
LevelX2
65a7049d02 Optimizes optimizeOptions of AI. 2013-03-15 15:58:44 +01:00
LevelX2
9450074b70 Changed AI X costs handling according human handling. Fixed AI handling of modal spells. Changed some AI setting. Changes to AI lgging. 2013-03-14 23:55:14 +01:00
LevelX2
8759db2fd6 [minor] formating. 2013-03-12 21:55:32 +01:00
LevelX2
cb43a58290 Some changes to AI logging. 2013-03-12 17:31:22 +01:00
North
a7a565bb8f [minor] access modifer order 2013-03-10 14:53:02 +02:00
LevelX2
88b2b9546a [minor] changes to logging 2013-03-06 17:21:12 +01:00
North
a327668660 fixed possible NPEs 2013-03-02 18:02:09 +02:00
North
5f6f1c7528 [minor] removed unused imports 2013-03-02 18:02:02 +02:00
LevelX2
0aa218f6ea Minor changes to logging of ComputerPlayer. 2013-02-26 08:28:36 +01:00
LevelX2
0af121c3e4 Some more changes to logging of ComputerPlayer. 2013-02-22 08:40:32 +01:00
LevelX2
d5989b32fd Minor changes to the logging of ComputerPlayer. 2013-02-21 17:05:35 +01:00
LevelX2
f75575f99b Samll changes to ComputerPlayer logging, FromZone Pick for CardImpl added. 2013-02-21 01:22:10 +01:00
LevelX2
768cf365b9 Some more changes to the logging messages of ComputerPlayer. 2013-02-21 00:07:43 +01:00
LevelX2
1f3dea13af Some formating and logging changes to ComputerPlayer. 2013-02-20 17:35:30 +01:00
LevelX2
ca2480dda0 Added AI ability values for Evolve and Extort. 2013-02-15 00:26:41 +01:00
jeffwadsworth
71d01ce9e5 - Another fix for AI blocking. This should work better. 2012-12-31 12:26:27 -06:00
jeffwadsworth
9ac5a1d47e - Simplified blocking. Freezes should no longer occur. 2012-12-23 21:12:44 -06:00
North
f0b32e7ca3 Removed unused imports 2012-12-20 00:26:21 +02:00
jeffwadsworth
8dcfead462 - Attempt to fix the AI attacking with your creatures. Small enchancements to AI attacking. 2012-11-08 11:57:13 -06:00
jeffwadsworth
ad035f1e47 - Blocking by the AI should no longer freeze. Please post any errors. Small attack AI adjustments. 2012-11-07 14:58:26 -06:00
jeff
1d7e9e55be - AI will now block and attack a little more sanely. The sim methods are not working right now, so they were commented out. 2012-11-03 21:34:32 -05:00
North
7e5b677647 Added UnblockableSourceEffect; Unblockable isn't Singleton anymore 2012-09-07 00:38:24 +03:00
North
204d2410a1 Reimplemented Indestructable using a replacement effect 2012-09-05 00:01:08 +03:00
magenoxx
1454cbb3c8 Fixed Issue#39: Vile Rebirth or Revive always fizzles when cast by AI 2012-08-31 14:31:13 +04:00
magenoxx
cc4d772483 Fixed Issue#53: AI casts Rancor, but Rancor goes to graveyard 2012-08-31 13:46:29 +04:00
North
73642f6649 Added default configuration for ai-ma.
Now it can be loaded as runtime dependency.
2012-08-26 18:55:23 +03:00
magenoxx
c97d5e8a35 AI enhancements 2012-08-03 16:53:01 +04:00
magenoxx
eefedc03b9 [AI] enhanced targeting. card fixes 2012-07-29 10:31:46 +04:00
magenoxx
2200fb8572 [AI] Improvements on repeating actions 2012-07-29 08:56:35 +04:00
magenoxx
23a75c39ba [M13] Odric Master Tactician 2012-07-18 20:45:39 +04:00