Commit graph

65 commits

Author SHA1 Message Date
DeepCrimson
3ae5f4979d
Refactor: Remove redundant boxing/unboxing to parse int primitives (#9065) 2022-06-12 12:46:59 -04:00
Alex Vasile
015cdf3136
Revert "Added missing fields to many copy constructors. (#8957)" (#8999)
This reverts commit 82708e4273.

Some of these (AI related result in bloated memory usage, needs more investigation).
2022-05-25 12:57:24 -06:00
Alex Vasile
82708e4273
Added missing fields to many copy constructors. (#8957) 2022-05-25 09:51:18 -06:00
Evan Kranzler
80e11b2052
(WIP) Replacing blocking/blocked by predicates (#8729)
* replaced blocking/blocked by predicates

* added test for knight of dusk (currently fails)

* added source parameter to filters and everything else that needs it

* some changes to various predicates

* test fix

* small changes to filter code

* merge fix

* fixed a test failure

* small change to Karn, Scion of Urza

* removed sourceId from filter methods and other similar places

* added new getobject method to fix some test failures

* a few more fixes

* fixed merge conflicts

* merge fix
2022-03-23 18:45:02 -04:00
Oleg Agafonov
ac8d3de474 * Game: tiny leaders game mode improves (fixed AI games errors, fixed commander dupes on game restart with Karn Liberated, #6113); 2021-07-24 14:32:00 +04:00
Evan Kranzler
a61d5543fa replaced all instances of converted mana cost with mana value 2021-04-17 17:02:27 -04:00
Daniel Bomar
bb0a995541
Tibalt, Cosmic Impostor - fixed that emblem can't cast not owned cards (#7598)
* Fixed ability.canChooseTarget not using correct playerId

* Fixed Necrotic Plague

* Revert "Fixed Necrotic Plague"

This reverts commit 7659039670.

* Set target controller on Necrotic Plague and add check in canChooseTarget

* Add test for Tibalt + Ephemerate interaction

* Tests improved

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-02-22 23:06:43 +04:00
Oleg Agafonov
c13d07b73d [CMR] fixed Rakshasa Debaser - class cast exception in filter on usage; 2020-12-18 15:54:59 +04:00
Oleg Agafonov
db239a1055 Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
Oleg Agafonov
cce467a5ec Additional fix and simplified for playable abilities (see comments b94344341b) 2020-06-04 03:21:18 +04:00
Oleg Agafonov
a5fb946fb3 * AI: fixed double triggers of blocker declared event for Monte Carlo AI (with activated block requirement effect, see #6367); 2020-04-14 20:11:41 +04:00
Oleg Agafonov
76387057b7 * Deals damage to player - fixed that some cards deals combat damage instead non-combat; 2020-01-14 08:53:09 +04:00
Oleg Agafonov
98cbf42a11 Added MCTS AI for #6114 2019-12-23 23:35:19 +04:00
Oleg Agafonov
4504ad5e6f * Fixed infinite AI choose if there are not enough different targets, e.g. Biomantic Mastery (#5023); 2019-02-22 03:29:01 +04:00
igoudt
ca1ebeb55e add method Game.isActivePlayer(UUID playerId) 2018-06-29 14:59:11 +02:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02: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
Oleg Agafonov
3dda5712db AI: fixed not working choice with key-value dialogs, random refactor 2018-01-04 00:23:20 +04:00
LevelX2
58d3fc2328 Fixed player leaving/conceding handling. 2017-10-21 16:13:45 +02:00
vraskulin
11dc1e10f1 Few lambda's and removed explicit type from creating lists and hashmaps 2017-02-28 13:46:57 +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
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
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
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
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
betasteward
c5e216ddbf more MCTS improvements 2015-05-04 15:41:37 -04:00
betasteward
9209e43310 Updates to MCTS AI 2015-04-30 11:33:22 -04: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
dd54269216 * Fixed handling of Split cards (fixes #670). 2015-02-03 00:05:30 +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
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
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
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
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
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
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
North
a3411f2486 [cleanup] removed unused imports 2013-04-19 20:01:10 +03:00
LevelX2
32dff5ae72 Added replacement of {this} and{source} for selection of replacement effect order. 2013-03-23 16:40:15 +01:00
LevelX2
ee4b203ace Fixed compile error after AI update. 2013-03-15 10:33:43 +01:00
North
a7a565bb8f [minor] access modifer order 2013-03-10 14:53:02 +02:00
magenoxx
23a75c39ba [M13] Odric Master Tactician 2012-07-18 20:45:39 +04:00
North
239a4fb100 [refactoring][minor] Replaced all tabs with four spaces. 2012-06-19 23:50:20 +03:00
magenoxx
5be6f78d59 Adding writting amount of mana payed for {X} cost 2012-06-12 10:38:39 +04:00