PurpleCrowbar
eb03669989
Fixed creatures that must attack being forced to attack players that have already lost the game
2023-02-03 02:23:57 +00:00
Alex W. Jackson
c84d9d2168
Don't erase a permanent's attacking/blocking info when it leaves the battlefield. Kithkin Mourncaller and Kardur Doomscourge no longer need their own special TriggeredAbility class
2022-09-12 10:43:21 -04:00
Alex W. Jackson
d5e56f523d
Add new EventType CREATURE_BLOCKS, which fires once per blocker (rather than once per blocker per attacker). Updated some abilities and cards to use it (still incomplete). Fixes #4285
2022-09-08 21:41:15 -04:00
Alex W. Jackson
a6c5209a2a
Combat.getAttackers and Combat.getBlockers now return a Set instead of a List, so that two-headed blockers aren't included twice
2022-09-07 22:36:05 -04:00
Alex Vasile
1e4c64aacd
Fix Goad + Planeswalker interaction. Fix #9148
2022-07-04 14:46:51 -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
4591ac07cc
Reworking goad effects (ready for review) ( #8034 )
...
* changing goad to designation, refactored goad effects to be continuous
* [AFC] Implemented Vengeful Ancestor
* reworked effects which goad an attached creature
* updated goading implementation
* updated combat with new goad logic
* some more changes, added a test
* another fix
* update to test, still fails
* added more failing tests
* more failing tests
* added additional goad check
* small fix to two tests (still failing
* added a regular combat test (passes and fails randomly)
* fixed bug in computer player random selection
* some changes to how TargetDefender is handled
* removed unnecessary class
* more combat fixes, tests pass now
* removed tests which no longer work due to combat changes
* small merge fix
* [NEC] Implemented Komainu Battle Armor
* [NEC] Implemented Kaima, the Fractured Calm
* [NEC] added all variants
2022-02-15 09:18:21 -05:00
Oleg Agafonov
58566d2a7c
* Game: fixed rollback and game freeze on select attackers step with disconnected people;
2021-09-05 20:03:36 +04:00
jeffwadsworth
43dbaf405b
- Fixed #8067 . Included weirddan455 fixes to Kardur Doomscourge as well. Added support for "remove from combat" to the 2 cards. Note that attacking creatures put into the graveyard is a special case. Test will follow.
2021-07-31 16:46:11 -05:00
Oleg Agafonov
daed98fb0b
Fixed missing clear code in combat (maybe related to #7997 );
2021-07-17 19:41:25 +04:00
Evan Kranzler
572104b8fc
Reworking card types in preparation for implementing Grist, the Hunger Tide ( #7899 )
...
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-09 07:28:43 +04:00
Evan Kranzler
0c3b294527
[C21] Implemented Combat Calligrapher
2021-04-27 20:06:49 -04:00
Evan Kranzler
a6255402e3
updated language for various user choices
2021-02-15 10:19:43 -05:00
Oleg Agafonov
35f5a8257b
Refactor: replaced sourceId by source and introduced source param in some methods (part 2);
2020-12-13 02:01:49 +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
Evan Kranzler
042376d146
replaced hacky fix with a better one
2020-09-29 22:44:38 -04:00
Evan Kranzler
827ffb5fb2
changed how effects are applied for triggered abilities, added test ( fixes #7083 )
2020-09-29 18:55:51 -04:00
Oleg Agafonov
cf5b474c29
Fixed NPE on playersList usage
2020-08-25 23:41:41 +04:00
Oleg Agafonov
6fa4c0b8f2
Fixed NPE on playerList.getNext usage
2020-08-25 23:38:51 +04:00
LevelX2
1e36b39434
- Reworked SourceOnBattlefieldControlUnchangedCondition checking now the LOST_CONTROL event which solves the problem with the old code to not be able to detect all controller changes of layered changeController effects when applied later.
...
- Simplified and fixed some problems of the handling of the "Until end of your next turn" duration.
- Fixed that some continous effects changed controller but shouldn't dependant from their duration type. Controller chnage will now done duration type dependant.
(that change fixes #6581 in a more general way undoing the effect specific changes of 2e8ece1dbd ).
2020-06-10 22:28:23 +02:00
jeffwadsworth
84ec743b07
- Fixed #6599 #6405 #4999 #4270
2020-06-08 17:05:51 -05:00
Oleg Agafonov
8af43dc13a
Ability refactor: new code to search abilities in cards and permanents;
2020-05-28 22:34:27 +04:00
Ingmar Goudt
ae7919cd07
program towards Interface rather than implementations
2020-02-10 10:40:06 +01: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
dilnu
06e77bd7d6
Allow players to block creatures attacking destroyed planeswalkers.
...
See Comprehensive rules: 506.4c
Fixes https://github.com/magefree/mage/issues/6240
2020-02-01 17:30:30 -05:00
Evan Kranzler
ecf26585b5
refactored SupertypePredicate to be part of SuperType
2020-01-06 19:21:27 -05:00
Evan Kranzler
86906ec25f
refactored all instances of SubtypePredicate
2020-01-06 16:48:00 -05:00
Oleg Agafonov
2460408da8
* Until your next turn effects - fixed that continuous effects of lost/leaved players can be discarded by combat or some cards before next turn starts;
2019-12-26 07:44:46 +04:00
ssouders412
2d3247d732
Updated pronouns to reflect current rules and oracle text
...
Replaced all instances of "her or she", "him or her", and "his or her", with "they", "them", and "their", or sometimes "that player". Updated verbs where appropriate.
2019-12-06 14:29:36 -05:00
Oleg Agafonov
4288e45c23
* AI: improved work with "must attack" player effects, with pay to attack blockers ( #5435 );
2019-04-28 11:21:34 +04:00
Oleg Agafonov
488ed9ee00
* Melee - fixed that it don't triggers on unblocked attacks and don't untap it;
2019-04-28 11:12:39 +04:00
Oleg Agafonov
e51b054249
* Oath of Kaya - fixed that it doesn't triggers on attacks;
2019-04-24 21:41:24 +04:00
Oleg Agafonov
57283c3cca
* UI: fixed infinite popup messages about illegal action while skip button activated ( #4685 );
2019-04-05 13:11:27 +04:00
Oleg Agafonov
6846db75f4
* Fixed cards with skip untap optional ability that cause game freezes ( #5606 )
2019-03-01 18:10:32 +04:00
Oleg Agafonov
e285b2770d
* Curse cards - fixed that it triggers on planeswalker attack only ( #5566 );
2019-02-09 15:40:23 +04:00
Jeff
e28bb36b72
- Fixed #5572 . Reverted #5566 .
2019-02-06 10:52:46 -06:00
Jeff
cd23125664
- Fixed #5566
2019-02-01 10:04:46 -06:00
Oleg Agafonov
1d43b38a5f
Karn Liberated - fixed watchers errors on game restart ability
2019-01-15 20:48:21 +04:00
Evan Kranzler
fd709bcd28
Implemented Verity Circle
2019-01-04 20:58:02 -05:00
Jeff
c7a3e53083
- Fix for Bug #5435 . Specific to "must attack" code.
2018-11-20 17:43:26 -06:00
L_J
5a08632d59
Implemented Bands With Other
2018-10-21 16:59:10 +02:00
igoudt
877a355a7d
rewrite some code to streams
2018-07-15 20:50:26 +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
L_J
45243378cf
Fixed Gorm requiring a blocker from another player ( fixes #5025 )
2018-06-10 12:40:51 +00:00
L_J
12c30f0227
Fixed an issue with mustBlockAttackerIfElseUnblocked
...
if more than one mustBlockAttackerIfElseUnblocked attacker is attacking and both have different minNumberOfBlockers values
2018-06-04 21:15:00 +00:00
L_J
8556285f0c
Implemented Gorm the Great
2018-06-04 23:00:44 +02:00
LevelX2
46da34da78
* Fixed a problem of Gideon Jura +2 ability introduced with 1be4379(fixes) #4994 .
2018-06-03 18:38:53 +02:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files
2018-06-02 17:59:49 +02:00
L_J
a7d662d73e
Changes to menace & Lure interaction
2018-05-19 08:24:42 +00:00