Commit graph

40 commits

Author SHA1 Message Date
xenohedron
1a1f7ec588 update all cards that deal damage to two or more specific things simultaneously 2025-11-10 01:38:25 -05:00
Oleg Agafonov
c7a485b728 reworked AI, targeting and targets logic:
- refactor: simplified target implementation from a dozen canTarget, canChoose and possibleTargets methods to canTarget/possibleTargets only (part of #13638, #13766);
- refactor: fixed wrong target implementations in many cards (example: TargetCardInHand for opponent's hand, close #6210);
- AI: now human, AI and test players -- all use possibleTargets logic in most use cases instead filters or custom validation;
- AI: improved AI sims support for multiple targets abilities;
- AI: improved AI stability, freezes and targets errors in some use cases;
2025-08-04 23:56:23 +04:00
Susucre
de687c7f0c
refactor: Clean all copy constructors in cards starting C (#11123) 2023-09-08 23:55:31 -04:00
Susucre
4554fbc408
[LTC] Implement Denethor, Stone Seer (#10709)
* [LTC] Implement Denethor, Stone Seer

* rename game.damagePlayerOrPlaneswalker.

Reason being that It does actually damage any player or permanent.
2023-07-30 23:06:21 -04:00
Evan Kranzler
a850e3660b
Change supertype method in constructors (#10361)
* replace addSuperType with supertype.add in card constructors

* more supertype replacements

* update MDFC supertype implementation

* remove unnecessary class

* update test
2023-05-12 20:45:07 -04: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
Evan Kranzler
54203c16d3
[NEO] Implementing Compleated mechanic and hybrid phyrexian mana (ready for review) (#8677)
* [NEO] Implemented Tamiyo, Compleated Sage

* replaced PhyrexianManaCost calls with ManaCostsImpl calls

* updated phyrexian mana implementation

* added phyrexian hybrid symbol support

* updated starting loyalty implementation for planeswalkers

* change compleated to singleton

* implemented Compleated ability

* added some missing loyalty setters

* changed when loyalty is added to a walker to fix bugs

* slight change to some tests to fix them from failing

* fixed token issue
2022-02-10 10:25:23 -05:00
Jeff Wadsworth
2e625cc5a5 - refactoring related to #8375 "C" cards 2021-10-19 15:33:37 -05:00
Evan Kranzler
a6255402e3 updated language for various user choices 2021-02-15 10:19:43 -05:00
Evan Kranzler
56603ffcd2 refactored card copy methods to be private 2021-02-02 17:07:37 -05:00
Oleg Agafonov
db239a1055 Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
LevelX2
8105d8b26c * Improved handling of asThoughtAs approval by abilities that allows a clear and easy assignment of the approving effect. 2020-08-21 14:58:22 +02:00
jeffwadsworth
6f9db86eb9 - See b9bee56 2019-12-30 14:46:51 -06:00
Ingmar Goudt
2cd9e25229 better use of the CardsImpl constructor 2019-02-03 21:08:31 +01:00
LevelX2
c41c6e1fe9 Fixed a problem with casting split cards from non hand zone. Added some generic cast from non hand zone effects and started replacing card specific effects by the generic ones (fixes #5356 and fixes #4493). 2018-10-03 13:44:01 +02:00
Ingmar Goudt
ef092b20e0 Rename: fix typo in planeswalker ability 2018-09-29 11:07:52 +02:00
igoudt
9f06046f22 add isOwned and isControlled methods. remove some null-checks, remove some unnecessary casts 2018-07-04 14:24:11 +02:00
Evan Kranzler
c4a0d9f916 replaced apostrophes 2018-06-06 22:39:16 -04:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
LevelX2
e7a5fd9979
Merge branch 'master' into changeToFinal 2018-05-29 00:06:56 +02:00
LevelX2
27ced167fb * Added logic to add permitting object to play/cast events. 2018-05-27 23:47:57 +02:00
Evan Kranzler
a6e51e592b Changed all card classes to final
I was tired of the "overridable method call in constructor" warning and card classes should be final anyway
2018-05-21 10:53:44 -04:00
LevelX2
df987049c0 * Fixed some card movement (fixes #4910). 2018-05-08 18:01:15 +02: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
587cb5ba8b updated some more cards 2018-04-20 11:24:50 -04:00
Evan Kranzler
245bf2f2df Refactored subtypes to enum 2017-09-07 21:18:19 -04:00
fireshoes
ff22a75f34 Added Legendary supertype to all planeswalker cards. 2017-08-29 14:43:56 -05:00
LevelX2
cd6c7623ed * Added missing imports, imports reorg. 2017-07-23 16:29:29 +02:00
Will Hall
9adab5c8a6 Fix #3478 - Chandra, Pyromancer ultimate does not cast all 3 copies correctly 2017-06-09 18:43:10 -07:00
fireshoes
212f963b43 Merge origin/master 2017-03-29 08:16:44 -05:00
fireshoes
55b433ae36 [AKH] Added 3/27 spoilers to mtg-cards-data.txt. Implemented several of the new cards. 2017-03-28 22:25:29 -05:00
fireshoes
adc3b2ccac Fixed Chandra, Pyromaster only casting cards, not playing. Add Oracle's Vault to MLP 2017-03-28 22:16:14 -05:00
ingmargoudt
0879298e92 refactor cards to use supertype enum 2017-03-27 21:56:33 +02:00
ingmargoudt
1caf3a6be4 change getLibrary().size() > 0 to hasCards() 2017-03-07 17:28:26 +01:00
ingmargoudt
39c9420ad2 change enum equals to == in cards 2017-03-02 16:28:23 +01:00
ingmargoudt
9ea690797f the card should still be exiled.
added a method to test exile count per player
added a test for chandrapyromaster
2017-02-19 09:09:43 +01: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
JOAC69
59f88047e4 Modify cards 2016-10-04 20:06:28 -05:00
JOAC69
4b8d31e5f4 Move cards 2016-10-04 19:58:48 -05:00
Renamed from Mage.Sets/src/mage/sets/magic2014/ChandraPyromaster.java (Browse further)