Commit graph

25 commits

Author SHA1 Message Date
Oleg Agafonov
133e4fe425
other: reworked target selection: (#13638)
- WIP: AI and multi targets, human and X=0 use cases, human and impossible targets use cases;
- improved stability and shared logic (related to #13606, #11134, #11666, continue from a53eb66b58, close #13617, close #13613);
- improved test logs and debug info to show more target info on errors;
- improved test framework to support multiple addTarget calls;
- improved test framework to find bad commands order for targets (related to #11666);
- fixed game freezes on auto-choice usages with disconnected or under control players (related to #11285);
- gui, game: fixed that player doesn't mark avatar as selected/green in "up to" targeting;
- gui, game: fixed small font in some popup messages on big screens (related to #969);
- gui, game: added min targets info for target selection dialog;
- for devs: added new cheat option to call and test any game dialog (define own dialogs, targets, etc in HumanDialogsTester);
- for devs: now tests require complete an any or up to target selection by addTarget + TestPlayer.TARGET_SKIP or setChoice + TestPlayer.CHOICE_SKIP (if not all max/possible targets used);
- for devs: added detail targets info for activate/trigger/cast, can be useful to debug unit tests, auto-choose or AI (see DebugUtil.GAME_SHOW_CHOOSE_TARGET_LOGS)
2025-05-16 13:55:54 +04:00
Susucre
2d625f0364 implement [MH3] Volatile Stormdrake ; provide source Ability to canBeTargetedBy and HexproofBaseAbility::checkObject 2024-06-06 17:36:11 +02:00
Susucre
f75b1c9f0a
Code cleanup: protect all copy constructors (#10750)
* apply regex to change public copy constructors to protected
* cleanup code using now protected constructors
* fix manaBuilder weird casting of Mana into ConditionalMana
2023-08-04 19:34:58 -04:00
Oleg Agafonov
d6506657d6 Fixed NPE 2023-04-15 14:13:51 +04:00
Evan Kranzler
23bd6f6919 [J22] Implement Coalborn Entity 2022-11-23 20:14:29 -05: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
Ingmar Goudt
96d026e4af remove explicit null checks, match(..) checks on null itself by instanceof calls 2021-04-28 20:53:50 +02:00
Oleg Agafonov
50c46e39a3 Improved game logs: added target hints, fixed spaces in target amount; 2020-06-26 10:59:22 +04:00
Oleg Agafonov
5adab75324
Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
Leandro Doctors
8a0a9acff7 format: organize imports 2020-02-04 16:21:48 -03:00
Oleg Agafonov
3ff871c6de * Proliferate - fixed that it highlights all permanents instead with counters only; 2019-05-02 17:25:46 +04:00
LevelX2
285beab3a2 * Fixed player target handling of TargetPermanentOrPlayer.java (fixes Shalai + Burning Sun's Avatar #5252 problem). 2019-01-05 17:00:31 +01:00
Oleg Agafonov
4f7cfc852d
Revert "Fixes abilities that may target either opponents or planeswalkers" 2018-08-25 05:14:24 +04:00
Kevin Shin
268b1748cc Fixes abilities that may target either opponents or planeswalkers to properly check if a player is an opponent. #5252 2018-08-22 04:46:32 -05:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
Evan Kranzler
35b78f8d11 Fixed Goblin Barrage not targeting correctly 2018-04-22 17:26:06 -04:00
Evan Kranzler
198be1549d Revert "Revert "Merge branch 'planeswalkerErrata' into master""
This reverts commit f10b62f3da.
2018-04-20 20:42:04 -04:00
Evan Kranzler
f10b62f3da Revert "Merge branch 'planeswalkerErrata' into master"
This reverts commit 95d2721421, reversing
changes made to fc4986a589.
2018-04-20 16:41:29 -04:00
Evan Kranzler
d290c7f26b updated TargetPlayerOrPlaneswalker to be a subclass of TargetPlayerOrPermanent (as well as the respective filters) 2018-04-20 13:34:35 -04:00
LevelX2
cd6c7623ed * Added missing imports, imports reorg. 2017-07-23 16:29:29 +02:00
LevelX2
4806738cfb * Some more use of StaticFilter objects. 2017-07-23 14:59:13 +02: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
f04ba151f7 Refactoring
See github line by line comments in 'File changed'
2016-12-29 16:49:12 +03:00
LevelX2
81af372bc1 Fixed some problems with possible ConcurrentModificationExceptions and some minor changes. 2016-01-31 23:23:09 +01:00
poixen
46eb6c0525 Restructured Mage module 2015-11-29 21:56:49 +01:00
Renamed from Mage/src/mage/target/common/TargetPermanentOrPlayer.java (Browse further)