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