Oleg Agafonov
0ab8d0d16f
Fixed NPE
2021-03-07 23:45:50 +04:00
Oleg Agafonov
2906f86324
Test framework: simplified AI logic and tests, added usage comments. Devs recommendations:
...
* in card's code use player.isComputer instead player.isHuman (it help to split Human/AI logic and test both by unit tests);
* usage example: AI hint to skip or auto-calculate choices instead call of real choose dialogs;
* unit tests for Human logic: call normal commands;
* unit tests for AI logic: call aiXXX commands;
2021-03-07 23:38:10 +04:00
Oleg Agafonov
6e661e6d97
* Halvar, God of Battle - fixed rollback error on attached permanent die;
2021-03-07 18:28:19 +04:00
Oleg Agafonov
0e916b6e29
Dev: added additional info to some classes for easy debug;
2021-03-07 17:16:54 +04:00
Oleg Agafonov
ccc85c1acb
[TSR] added tokens
2021-03-07 03:08:17 +04:00
Oleg Agafonov
7e72ba95bc
Fixed typos
2021-03-07 03:08:17 +04:00
Evan Kranzler
f54145ad42
[LRW] reworked abilities which trigger off of clashing
2021-03-06 14:49:55 -05:00
Evan Kranzler
02f04e541c
a few small text fixes
2021-03-06 14:35:01 -05:00
Oleg Agafonov
b36f915d74
* Copy spell - improved support, now all copied spells are independent (bug example: Seasons Past fizzled after copy resolve, see #7634 , 10f8022043
);
2021-03-06 19:32:17 +04:00
Evan Kranzler
6894ad96bc
[TSR] various text fixes
2021-03-05 19:10:29 -05:00
Evan Kranzler
425c1eda26
[TSR] added set
2021-03-05 18:17:01 -05:00
Oleg Agafonov
712cf4576d
* Gain abilities - fixed that objects can get only one instance of triggered ability instead multiple (example: 2+ cascades from copies of Imoti, Celebrant of Bounty, f52753ad61
);
2021-03-05 16:22:46 +04:00
Oleg Agafonov
4e79c83784
Test framework: fixed missing range info for added cards (some ETB effects were broken on "put to battlefield" command usage);
2021-03-05 15:12:47 +04:00
Oleg Agafonov
654c0be1ac
Additional fixes for 4a3679285e
( #7645 )
2021-03-04 23:49:00 +04:00
Daniel Bomar
4a3679285e
Fixed Crucible of Worlds allowing lands to be played from opponent's graveyard ( fixes #7645 )
2021-03-04 12:55:49 -06:00
Evan Kranzler
afcdc0f23a
simplified and consolidated werewolf triggered abilities
2021-03-03 22:13:16 -05:00
Evan Kranzler
3b5147f6ee
updated some methods to support collections of card subclasses
2021-03-02 09:41:39 -05:00
Daniel Bomar
10f8022043
ReturnToLibrarySpellEffect - Do not apply to spell copies ( fixes #7634 )
2021-03-01 16:40:40 -06:00
Evan Kranzler
f52753ad61
[CMR] fixed multiple copies of Imoti, Celebrant of Bounty only giving cascade once
2021-03-01 08:45:42 -05:00
Evan Kranzler
9567b19b01
refactored card.moveToExile usages E-F
2021-02-28 17:09:37 -05:00
Evan Kranzler
129a477f56
reworked some abilities which use card.moveToExile
2021-02-28 17:06:13 -05:00
Oleg Agafonov
098796f86e
* Commander: fixed that non hand abilities are castable from command zone (example: Escape, Jumpstart, see #7632 );
2021-03-01 01:14:00 +04:00
Daniel Bomar
f739eedc46
Fixed Escape being castable from command zone ( fixes #7632 )
2021-02-28 14:20:44 -06:00
Evan Kranzler
6091c7eae3
fixed trample and deathtouch not working when deathtouch is gained by an outside source ( fixes #7633 )
2021-02-28 09:34:09 -05:00
Evan Kranzler
2daf1945e7
[RTR] reworked Nivmagus Elemental and added test
2021-02-27 15:35:04 -05:00
Oleg Agafonov
c4750ff6c9
prepare new release
2021-02-27 22:27:11 +04:00
Oleg Agafonov
dda69cd009
* AI: improved support of "as though mana" abilities (now computer can choose correct mana ability to pay, example: Draugr Necromancer);
...
* Dev: added card's LKI support of multi part cards (mdf/split/adventure);
* Dev: improved support of adding/removing counters from mdf cards;
* Draugr Necromancer - fixed support of mdf/split/adventure cards (#7620 );
2021-02-27 20:14:12 +04:00
Evan Kranzler
adc945748b
a few more card refactors for card.moveToZone
2021-02-27 10:13:24 -05:00
Evan Kranzler
bb04962144
finished the last few refactors for card.moveToZone
2021-02-27 09:57:45 -05:00
Evan Kranzler
ffd5f68220
refactored zone changes, letters M through P
...
most cards are minor refactors except for Puppet Master which was heavily reworked
2021-02-27 09:24:31 -05:00
Evan Kranzler
1f6332d658
fixed incomplete code
2021-02-25 10:50:29 -05:00
Evan Kranzler
35be23537f
simplified and consolidated effects which check cards put into graveyards from the battlefield
2021-02-25 10:45:26 -05:00
Evan Kranzler
5f23ccf24c
fixed a test failure
2021-02-24 16:32:30 -05:00
Evan Kranzler
746d5eef3b
refactored more zone changes, letters C and D ( #7572 )
...
Decaying Soil has been heavily reworked
2021-02-24 14:37:22 -05:00
Evan Kranzler
bac2585d83
[KHM] fixed Draugr Necromancer not allowing snow mana to be used for exiled cards
2021-02-23 13:47:23 -05:00
Evan Kranzler
5736b00f0f
combined "enchanted player's upkeep" triggers into one class
2021-02-23 09:44:26 -05:00
Evan Kranzler
2ffa719278
fixed issue with Kruphix, God of Horizons and Horizon Stone causing endless replacement effect loop
2021-02-23 08:41:54 -05:00
Oleg Agafonov
51c9121f5e
Fixed test
2021-02-23 03:27:37 +04:00
Evan Kranzler
5390963d38
Fix handling of damage to permanents (WIP) ( #7592 )
...
* initial refactor of damage events
* cleaned up some instances of classes that need to be removed
* removed old damage event classes
* removed outdated imports
* temporarily refactor Everlasting Torment (this will need to be changed more)
* updated damage handling to use new changes
* some reworking of lethal/excess damage plus a test
* updated damage marking to handle planeswalkers
* updated implementation of Phyrexian Unlife
* updated implementation of Everlasting Torment
* added some more excess damage tests
* small change to wither check
2021-02-22 17:11:24 -05:00
Oleg Agafonov
39f6b69391
Merge pull request #7584 from weirddan455/cascade
...
Implemented updated Cascade ruling 702.84a
2021-02-22 23:03:56 +01:00
Oleg Agafonov
91f4d78992
Changes related to Cascade ability ( #7583 ):
...
* Cascade: added correct spell ability choose for forced cast of mdf and adventure cards (can contains one or both sides);
* Cascade: added tests from latest oracle changes;
* AI: improved spell ability choose for forced cast (example: cast target card without mana cost);
* GUI: improved spell ability choose for forced cast (now you can see only castable spells to choose);
* Other: fixed wrong PlayFromNotOwnHandZone in some cards, fixed NPE;
2021-02-23 02:00:38 +04:00
Evan Kranzler
bd3777997e
updated various cards to improve how they handle exiling with info ( #7615 )
2021-02-22 15:26:58 -05: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 7659039670293ce1ea428dad042511d9d75f9da6.
* 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
2accab79c5
* Spark Double - fixed duplicated counters on copying of another Spark Double ( #7553 );
2021-02-22 21:22:31 +04:00
Oleg Agafonov
f6c0f4c712
* Geode Golem - fixed duplicated commander tax on damage trigger ( #7593 );
2021-02-22 16:11:13 +04:00
Oleg Agafonov
650acf9e1e
Test framework: fixed support of chooseAbilityForCast for commanders, added destroy target custom effect ( #7593 );
2021-02-22 16:05:48 +04:00
Oleg Agafonov
a377999f57
* Desertion - fixed rollback error on fizzled counter spell ( #7613 );
2021-02-22 08:51:07 +04:00
Oleg Agafonov
eb4f6d99dd
Fixed missing watcher error;
2021-02-22 08:08:19 +04:00
Oleg Agafonov
65ad97ced5
* King Narfi's Betrayal - fixed rollback error on no targets for exile;
2021-02-22 07:58:31 +04:00
Oleg Agafonov
b6cb5cef9c
Refactor: removed default comment headers
2021-02-21 08:15:16 +04:00
Oleg Agafonov
2dfde7f41a
Refactor: correct predicate packages
2021-02-21 08:00:21 +04:00
Oleg Agafonov
d343511d73
* Elsha of the Infinite - fixed that it gives flash ability to cards in the hand instead library's top card ( closes #7605 );
2021-02-21 07:43:29 +04:00
Oleg Agafonov
48e9cc3e07
PlayTheTopCard improves: added correct usage check, fixed outdated rule texts, Bolas's Citadel simplified (related to #7605 );
2021-02-21 05:48:09 +04:00
Daniel Bomar
bfe91ad32b
Fixed Foretold cards with cost reduced to 0 being uncastable ( fixes #7607 )
2021-02-20 11:42:49 -06:00
Daniel Bomar
238ab4fcc8
Fixed clones not triggering death ability of Old-Growth Troll ( fixes #7601 )
2021-02-19 15:49:25 -06:00
Evan Kranzler
a8bda04daf
[GTC] updated implementation of Bane Alley Broker
2021-02-19 14:47:47 -05:00
Evan Kranzler
09d3cee8fc
[STX] Implemented Lorehold Command
2021-02-19 09:38:59 -05:00
Evan Kranzler
223c576359
[STX] Implemented Quandrix Command
2021-02-19 09:08:14 -05:00
Daniel Bomar
20968c299c
Tibalt, Cosmic Impostor - Fixed misspelled card name
2021-02-18 22:27:26 -06:00
jeffwadsworth
0e0ace14b5
- Fixed #7596
2021-02-18 21:40:49 -06:00
Evan Kranzler
8dde735851
fixed an issue with modular keyword and LKI
2021-02-18 13:35:49 -05:00
Evan Kranzler
9426da5ad3
[LRW] added test for Aquitect's Will (partially fails) ( #7597 )
2021-02-18 09:16:30 -05:00
Evan Kranzler
bb696b4210
fixed implementation of cards which trigger on unblocked attackers
2021-02-15 19:04:17 -05:00
Daniel Bomar
0c65a6fb7e
Implemented updated Cascade ruling 702.84a
2021-02-15 14:11:16 -06:00
Evan Kranzler
a6255402e3
updated language for various user choices
2021-02-15 10:19:43 -05:00
Oleg Agafonov
eb64a7bb73
GUI: fixed broken add lands and random deck dialogs in deck editor ( #7562 );
2021-02-13 20:26:06 +04:00
Oleg Agafonov
e94fd1b456
Prepare new release
2021-02-13 19:35:26 +04:00
Evan Kranzler
073ec1cdb9
changed collation to strings to allow non-int collector numbers
2021-02-13 09:03:52 -05:00
Evan Kranzler
8a16eda062
Implement new way to generate boosters using box mapping info (WIP) ( #7529 )
...
* [THB] added initial common/uncommon collation mechanism
* [THB] added rare/mythic and lands to pack generation
* fixed some card names
* broke out collation into its own separate classes
* built collation into ExpansionSet
* added note about collation information
* [KHM] added collation info
* updated collation to use collector number rather than name
* added shuffle to set constructor
* added some notes on collation methods
2021-02-12 17:35:28 -05:00
Oleg Agafonov
10e557b873
* Performance: memory usage optimization for deck editor (part 2 of removed bloated usage of ManaCosts -> ManaColor objects, see #7515 );
2021-02-12 22:12:18 +04:00
Oleg Agafonov
275e996c08
* Performance: memory usage optimization for deck editor (removed bloated usage of ManaCosts -> ManaColor objects, see #7515 );
2021-02-12 22:00:16 +04:00
jeffwadsworth
78bae348e8
- Fixed #7544 , #7536 , #6798
2021-02-11 09:36:45 -06:00
Evan Kranzler
5b02430837
updated ZNR and KHM boosters to use new mythic rare likelihood
2021-02-08 18:44:47 -05:00
Daniel Bomar
0d0d14856a
Fixed flicker effects not working with MDFCs ( fixes #7516 )
2021-02-08 10:33:38 -06:00
Daniel Bomar
10306787e2
[KHM] Foretell - Remove un-used import
2021-02-08 09:12:57 -06:00
Daniel Bomar
ec01caece1
[KHM] Foretell - Do not show card name in game log ( fixes #7522 )
2021-02-08 09:09:11 -06:00
Oleg Agafonov
b2b88bf2e8
Improved card icons (fix ambiguous interpretation of vigilance, first and double strikes, #7471 );
2021-02-07 23:11:35 +04:00
Oleg Agafonov
cf216c6802
Prepare new release
2021-02-07 22:24:40 +04:00
Oleg Agafonov
0496ea9509
Server: fixed correct game finish on no players in game (rare race conditional);
2021-02-07 04:42:12 +04:00
Oleg Agafonov
0eac8eb530
Merge pull request #7511 from spjspj/master
...
Final line of jumpstart should be blank
2021-02-07 01:14:17 +01:00
spjspj
6056a6adb4
Final line of jumpstart should be blank or final pack won't be added in to pool. Add a sample (the original jumpstart.txt) file for users to more easily modify if necessary.
2021-02-07 11:05:16 +11:00
Oleg Agafonov
03952ae0d6
[KHC] added tokens and download support;
2021-02-06 20:54:32 +04:00
Oleg Agafonov
f7bc745f10
[KHM] added tokens and download support;
2021-02-06 20:30:19 +04:00
Evan Kranzler
5f80dba107
fixed landwalk abilities counting all lands and not just defending player's ( fixes #7427 )
2021-02-06 10:40:55 -05:00
Oleg Agafonov
9b8df48183
Improved commander support for mdf/split/adventure cards (additional fixes for ac98a3a31a
)
2021-02-06 17:07:10 +04:00
Oleg Agafonov
9416c6140a
[KHM] fixed Reidane, God of the Worthy - rollback error on some events check without sourceId;
2021-02-06 13:04:20 +04:00
Oleg Agafonov
ac98a3a31a
* Commander: fixed duplicated triggers after play (example: Esika, God of the Tree, see #7501 , #7503 , #7505 );
2021-02-06 10:51:41 +04:00
jeffwadsworth
aa13b06af9
- refactored Ethereal Valkyrie to work with Split/MDFC/Adventure cards as per weirddan455 commit.
2021-02-05 16:37:44 -06:00
Evan Kranzler
ece9108695
[KHM] fixed Orvar, the All-Form triggered ability not working correctly
2021-02-05 11:33:42 -05:00
Daniel Bomar
25f929d70e
[CMR] Imoti, Celebrant of Bounty - Give Cascade to X spells ( fixes #7409 )
2021-02-05 10:27:55 -06:00
spjspj
7d267061d9
Merge pull request #7499 from spjspj/master
...
Adding in Jumpstart Elimination Custom Tournament option. Creator of the table will be able to upload a Jumpstart Pack text file that uses the same format as here: https://github.com/magefree/mage/blob/master/Mage/src/main/resources/jumpstart/jumpstart.txt
2021-02-06 00:57:25 +11:00
spjspj
b64806606c
Adding in Jumpstart Custom (requested fixes)
2021-02-06 00:19:36 +11:00
Oleg Agafonov
dc0a29007c
Commanders improves:
...
* [KHM] fixed that some effects can't find mdf commanders on battlefield (example: Fierce Guardianship, #7504 );
* Oathbreaker: fixed that some cards that refer to commander can affects signature spells too;
2021-02-05 17:19:30 +04:00
Daniel Bomar
cd9c57fead
[KHM] Dream Devourer - Fixed being unable to cast foretold MDFCs, split cards, and adventure cards ( #7498 )
...
* [KHM] Dream Devourer - Fixed being unable to cast foretold MDFCs, split cards, and adventure cards
* [KHM] Dream Devourer - Fixed mana costs and added check for MDFC lands
* [KHM] ForetellAbility - Add text when selecting which half of split card to cast
* Updated test for Dream Devourer
2021-02-04 16:27:51 -06:00
Oleg Agafonov
0de71e0348
* Flashback ability - fixed that split cards shows duplicated abilities in choose dialog ( #7500 );
2021-02-04 21:55:56 +04:00
Evan Kranzler
bc99de1a48
[KHM] fixed Frostpyre Arcanist being used incorrectly by AI ( #7488 )
2021-02-04 10:50:10 -05:00
Evan Kranzler
3727e2ea42
small optimization to DoIfCostPaid text generation
2021-02-04 10:18:39 -05:00
Oleg Agafonov
f38639e1db
Token's zone change counter (ZCC) improves:
...
* Now token's zcc uses same logic as card's zcc: enters to battlefield with +1 zcc instead +0 zcc
* It can improve support of copied spells that store zcc related data (bug example: lost kicked status for copied spell/token);
* Kicker abilities - improved support with copied creature spells (example: Verazol, the Split Current, #7431 , #7433 );
* Refactor: simplified kicker code;
2021-02-04 19:15:54 +04:00
spjspj
1e428105d5
Adding in Jumpstart Custom
2021-02-04 23:55:59 +11:00
Daniel Bomar
978f20a199
[KHM] Tibalt, Cosmic Impostor - Fixed MDFCs not being playable from exile ( fixes #7494 )
2021-02-03 18:29:23 -06:00
Daniel Bomar
7da65b38b2
Fixed GoadAttachedAbility in a 2 player game ( fixes #7466 )
2021-02-03 16:00:21 -06:00
jeffwadsworth
1c2f8f4caa
- little refactor of Ethereal Valkyrie
2021-02-03 15:21:18 -06:00
Oleg Agafonov
c381ea7716
[KHM] improved Cosima, God of the Voyage - "to the voyage" exile window, user friendly choose dialog, visible counters in exile, AI support ( #7248 );
2021-02-03 14:59:52 +04:00
Oleg Agafonov
4b9de96a6b
Test framework: added support to put mdf cards on battlefield by cheats or unit tests;
2021-02-03 14:23:50 +04:00
Oleg Agafonov
cc03cbbb67
GUI: fixed not working clicks in commander zone for mdf cards ( #7489 , #7485 );
2021-02-03 08:24:00 +04:00
Evan Kranzler
bb1a085962
more text fixes
2021-02-02 16:30:12 -05:00
Evan Kranzler
fbab9f069e
some assorted text fixes
2021-02-02 12:41:05 -05:00
Oleg Agafonov
31d134843a
* Modal double faces cards - fixed that color identity doesn't contains second side colors;
2021-02-02 20:22:12 +04:00
Oleg Agafonov
10ac8ab86f
Fixed toLowerCase usage
2021-02-02 19:38:54 +04:00
Oleg Agafonov
b6f6bac5e0
Refactor: overflow method naming
2021-02-02 19:26:50 +04:00
Oleg Agafonov
2393485320
* Mana increase effects - fixed that some infinite mana combos gives 0 mana on too much permanents/effects (example: Nyxbloom Ancient);
2021-02-02 19:26:49 +04:00
Evan Kranzler
cda79866ad
[ZNR] a few text fixes
2021-02-02 10:24:54 -05:00
Evan Kranzler
16450f9952
[ZNC] some text fixes
2021-02-02 10:14:44 -05:00
Oleg Agafonov
50e5809a79
New commander types support:
...
* [KHM] fixed legendary status of mdf cards (closes #7370 , #7404 , #7465 , #7481 );
* Game: added support of split cards as commander (signature spell);
* Game: added support of adventure cards as commander;
* Game: added support of modal double faces cards as commander;
2021-02-02 06:40:49 +04:00
Oleg Agafonov
e941ce108b
[KHM] fixed Old-Growth Troll - correct addAbility usage for permanents;
2021-02-02 04:05:38 +04:00
jeffwadsworth
03979f77bb
- little refactor of Hero of Bretagard condition
2021-02-01 17:40:33 -06:00
Evan Kranzler
98f1ed0a4c
[KHM] made Icy Manalith be snow ( #7478 )
2021-02-01 15:21:12 -05:00
Evan Kranzler
3b057473bc
[KHM] fixed Svella, Ice Shaper token being legendary ( fixes #7478 )
2021-02-01 15:19:48 -05:00
jeffwadsworth
3b8e67c670
- [KHC] Added Cosmic Intervention, Ethereal Valkyrie, Hero of Bretagard, and Ranar, the Ever-Watchful.
2021-01-31 23:23:55 -06:00
Evan Kranzler
14f7c02b1f
[KHM] fixed Codespell Cleric not triggering correctly
2021-01-31 21:26:27 -05:00
Evan Kranzler
df38d7213e
[KHC] text fixes
2021-01-31 15:01:02 -05:00
smartinsempere
68613672b1
Fire discard cards event when discarding as a cost ( #7436 )
...
Fire discard cards event when discarding as a cost, fixes #7368
2021-01-31 23:03:30 +04:00
Oleg Agafonov
2d96d36ec8
AsThough effects improves and fixes:
...
* AsThough: added documentation about code usage and restrictions;
* AsThough: added additional checks for correct usage;
* AsThough: simplified some code;
* PlayFromNotOwnHandZoneTargetEffect - added permanents support as targets;
* Release to the Wind - fixed that it can't cast exiled cards (#7415 , #7416 );
* Test framework: fixed that checkExileCount checking card's owner;
* GUI: fixed typo in Trample card icons;
2021-01-31 22:32:23 +04:00
Evan Kranzler
b8a95765fc
fixed a test failure
2021-01-31 13:13:53 -05:00
Evan Kranzler
3a4b0159a9
Add a limit to how many tokens are made ( #7469 )
...
* added a simple token limit
* updated implementation of token limit
* added token limit test
2021-01-31 12:55:30 -05:00
Evan Kranzler
7286593c64
some more counter text changes
2021-01-31 11:55:33 -05:00
Evan Kranzler
f76107702f
updated counter adding text to handle articles correctly
2021-01-31 11:46:32 -05:00
Evan Kranzler
f9dfb56d4e
[KHM] more text fixes
2021-01-31 11:28:44 -05:00
Oleg Agafonov
e5863eb99f
[KHM] fixed GreatestSharedCreatureTypeCount's rollback errors;
2021-01-31 06:19:25 +04:00
Evan Kranzler
175e15ff98
updated a test failure fix
2021-01-30 13:37:29 -05:00
Evan Kranzler
4df7bc157c
fixed some test failures
2021-01-30 13:21:49 -05:00
Evan Kranzler
bcdaebf3ee
fixed some more text
2021-01-30 11:08:35 -05:00
Evan Kranzler
b33bf171f8
changed library searching text to be in line with more cards
2021-01-30 10:28:08 -05:00
Oleg Agafonov
a1da5ef437
* GUI: new reworked GUI and card render engine, card icons and dozens of other fixes (see full list in related PR);
2021-01-30 16:38:55 +04:00
Oleg Agafonov
df98cc3e62
[KHM] foretell improves (related to bc25c3d60a
):
...
* reverted code format of AsThoughEffectType;
* fixed disabled test;
* added test for Dream Devourer;
* simplified some code;
2021-01-30 11:21:51 +04:00
jeffwadsworth
bc25c3d60a
- [KHM] Added Cosmos Charger and Dream Devourer. Refactored ForetellAbility to work with Dream Devourer. Text fixes are required in some cases. Ignored a test for foretell.
2021-01-29 20:35:35 -06:00
Evan Kranzler
d5822a7246
[KHM] various text fixes
2021-01-29 17:37:56 -05:00
Evan Kranzler
47f289fb34
[MIR] Implemented Unerring Sling ( #7459 )
2021-01-29 09:23:42 -05:00
Oleg Agafonov
6f2ce47885
Tests: added verify test for wrong mdash usage and fixed related cards ( #7457 ), added tests for ( #7460 );
2021-01-29 11:35:13 +04:00
Evan Kranzler
d056f6cec2
[KHM] Implemented Cosima, God of the Voyage
2021-01-28 10:50:14 -05:00
Evan Kranzler
826e509ee6
[KHM] Implemented Wolverine Riders
2021-01-27 10:12:08 -05:00
Jozsef Kerekes
f1bb76b40d
[KHM] Implemented King Narfi's Betrayal ( #7446 )
...
* [KHM] Implemented King Narfi's Betrayal
* [KHM] Corrected rules text for King Narfi's Betrayal
* [KHM] Allow adventure cards to go on adventures when exiled with King Narfi's Betrayal
* CanPlayCardControllerEffect - Fixed handling of Adventure/Split Cards
* [KHM] King Narfi's Betrayal - Added null check and fixed rules text
Co-authored-by: Daniel Bomar <dbdaniel42@gmail.com>
2021-01-27 06:40:55 -06:00
Oleg Agafonov
e3db50f111
* Double faces and adventure cards: improved support with some "exile and cast" effects like Hostage Taker ( #7446 );
2021-01-27 10:13:10 +04:00
Evan Kranzler
a535cb5adc
Refactoring methods which add counters to track which player adds the counters (ready for review) ( #7448 )
...
* added parameter for player adding counters to players
* added parameter for player adding counters to cards/permanents
* updated methods to use new parameter
* fixed a few initial errors
* refactored instances of cards that add counters by a player other than the controller
* fixed some instances of incorrect arguments
* refactored abilities that trigger off of a particular player adding counters
* a few more cards that were missed
* [KHM] Implemented Vorinclex, Monstrous Raider
* added test for Vorinclex, Monstrous Raider
* fixed a test failure
2021-01-26 19:06:13 -05:00
Evan Kranzler
4db79ae3c1
[MIR] fixed Jungle Wurm calculating incorrectly ( fixes #7449 )
2021-01-26 17:05:32 -05:00
Jozsef Kerekes
c5cc99144d
[KHM] Implemented Giant Ox ( #7447 )
...
* [KHM] Implemented Giant Ox
* [KHM] Giant Ox rework after review
2021-01-26 15:31:52 -05:00
jeffwadsworth
68f2a3d032
- Added ForetoldWatcher, ForetoldCondition. Added card from
...
weirddan455 [KHM] Poison the Cup that uses it.
2021-01-26 10:59:46 -06:00
Evan Kranzler
dacf30f4b9
Refactoring subtypes to make Maskwood Nexus work (ready for review) ( #7432 )
...
* removed and renamed SubTypeList
* updated subtype test
* refactored Changeling to be an ability that actually does something
* moved isAllCreatureTypes into SubTypes class
* renamed copyTo method to copyFrom
* added removeAllCreatureTypes where usable
* replaced some subtype methods
* replaced some more subtype methods
* replaced subtype mass add/remove methods
* updated more subtype methods
* fixed some errors
* made common shared creature type predicate
* refactored another card involving subtypes
* Added usage of object attribute in subTypes's write operations;
* Refactor: use same param styles in subtype methods
* Refactor: simplified usage of copy appliers;
* Refactor: fixed code usage in CopyApplier
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-01-26 08:52:35 -05:00
Jeff
6f42b90305
- Added another sanity check for Foretell keyword.
2021-01-25 21:32:43 -06:00
jeffwadsworth
3f42d24e2c
- Fixed Foretell keyword. #7439 #7442
2021-01-25 14:37:48 -06:00
Jeff
79a2815aef
- [KHM} - Added Alrund, God of the Cosmos
2021-01-23 21:26:37 -06:00
Jeff
432f9f5a67
- fixed a null pointer in ForetellAbility
2021-01-23 20:36:47 -06:00
Jeff
99c41d78ad
- [KHM] added Foretell keyword ability. Just getting it up here so it can be tweaked.
2021-01-23 12:00:40 -06:00
Daniel Bomar
c5dc43630f
Fixed missing variables in copy constructor
2021-01-22 18:34:10 -06:00
Evan Kranzler
7e7078b0ae
[KHM] Implemented Littjara Mirrorlake
2021-01-22 15:55:03 -05:00
Daniel Bomar
c3a862d336
[KHM] Implemented Blood on the Snow ( #7428 )
...
* [KHM] Implemented Blood on the Snow
* [KHM] Blood on the Snow - Changed target text
* [KHM] Blood on the Snow - Fixed rule text
2021-01-22 13:43:33 -05:00
Daniel Bomar
a26d9b2fd0
[KHM] Implemented The Raven's Warning ( #7425 )
2021-01-22 13:13:20 -05:00
Evan Kranzler
ca05fb9253
[KHM] Implemented Codespell Cleric
2021-01-22 12:52:54 -05:00
jeffwadsworth
08da78d184
- fixed Szat's Will.
2021-01-22 10:49:14 -06:00
Evan Kranzler
747c1c096c
[KHC] Implemented Lathril, Blade of the Elves
2021-01-22 10:13:22 -05:00
Evan Kranzler
567059ea82
[KHM] Implemented Boreal Outrider
2021-01-21 19:16:04 -05:00
Evan Kranzler
e5344b7a96
Refactoring snow mana to allow tracking how much is spent (Ready for Review) ( #7406 )
...
* refactored mana methods to WUBRG order
* more WUBRG refactoring
* added new mana tracking object
* fixed code error
* fixed missing mana count
* fixed null pointer exception in tests
* fixed issue with equality
* more equality fixes
* some cosmetic changes to ManaTest
* added copy method to setToMana
* fixed some initialization issues
* fixed serialization issue
* [KHM] Implemented Search for Glory
* updated mana handling to track snow
* added tests for snow mana tracking
* updated implementation of setter methods
* updated paramater to use copy methods
* fixed snow mana test to ensure proper mana tapping
* replaced instances of getPayment with getUsedManaToPay
* updated tracking of snow mana
* reverted snow mana tracking removal
* finished reverting change
2021-01-21 18:13:51 -05:00
Daniel Bomar
5e4b5239d8
ExileFromGraveCost - Support multiple targets for setTargetPointer
2021-01-21 16:09:45 -06:00
Daniel Bomar
30b3e2e658
[KHM] Implemented Resplendent Marshal ( #7419 )
2021-01-21 10:40:31 -05:00
Daniel Bomar
be23f19a32
Fixed text for costs starting with "and"
2021-01-20 09:52:02 -06:00
jeffwadsworth
2a23e81e9c
- refactor a few parts of Valki, God of Lies and its emblem
2021-01-19 09:28:00 -06:00
Evan Kranzler
2efa8e4356
[KHM] Implemented Svella, Ice Shaper
2021-01-19 09:30:04 -05:00
Evan Kranzler
63c3664629
[KHM] Implemented Crippling Fear
2021-01-19 08:55:34 -05:00
Evan Kranzler
6837a02518
[KHM] Implemented Birgi, God of Storytelling
2021-01-19 08:42:36 -05:00
jeffwadsworth
b750bb93d5
- [KHM] Added Valki, God of Lies
2021-01-18 18:02:48 -06:00
Evan Kranzler
163d7b07fa
[KHM] Implemented The Bloodsky Massacre
2021-01-18 08:00:03 -05:00
Evan Kranzler
07b5898bdc
[KHM] Implemented Jarl of the Forsaken
2021-01-18 07:10:55 -05:00
ddzn
e05875c7e5
Add detrimental P/T counter types from older sets ( #7381 )
...
* Add debuff counter types from older sets
* Make cards use new counter types
2021-01-17 12:59:34 -05:00
Evan Kranzler
e8a15e6491
[KHM] Implemented Immersturm Predator
2021-01-17 11:20:17 -05:00
Daniel Bomar
65aa3e95ec
Refactored 4 exisiting cards to use ExileTopXMayPlayUntilEndOfTurnEffect ( #7401 )
2021-01-16 16:49:52 -05:00
Evan Kranzler
bc464c5ed4
[KHM] Implemented Ascendant Spirit
2021-01-16 12:39:27 -05:00
Daniel Bomar
4e66d4877c
[KHM] Implemented Tuskeri Firewalker ( #7400 )
...
* Refactored ExileTop3 -> ExileTopXMayPlayUntilEndOfTurnEffect
* [KHM] Implemented Tuskeri Firewalker
2021-01-16 12:39:10 -05:00
Daniel Bomar
c510df37e4
[KHM] Implemented Firja's Retribution ( #7396 )
2021-01-15 17:47:18 -05:00
Daniel Bomar
0168453eed
CreateTokenAttachSourceEffect - Remove redundant setText
2021-01-15 18:04:06 +01:00
Daniel Bomar
9165cab00a
[KHM] Implemented Draugr's Helm ( #7393 )
...
* [KHM] Implemented Draugr's Helm
* Implemented CreateTokenAttachSourceEffect and refactored existing cards to use it
2021-01-15 09:07:25 -05:00
Evan Kranzler
14651c1816
[KHM] Implemented Fearless Liberator
2021-01-14 18:02:49 -05:00
Evan Kranzler
5105fec8e3
[KHM] Implemented Usher of the Fallen
2021-01-14 17:55:36 -05:00
Evan Kranzler
5d7fc394fd
[KHM] Implemented Rune of Flight
2021-01-14 17:14:07 -05:00
Daniel Bomar
69eed4cc2e
Fixed test errors and fixed newlines ( #7391 )
...
* Fixed test errors
* Fixed newlines
2021-01-14 16:35:28 -05:00
jeffwadsworth
708a486eb6
- [KHM] Added Withercrown
2021-01-14 10:50:30 -06:00
Evan Kranzler
495bc13078
[KHM] Implemented Duskwielder
2021-01-13 21:02:15 -05:00
Evan Kranzler
c0efada19a
[KHM] Implemented Toralf, God of Fury / Toralf's Hammer
2021-01-13 19:32:56 -05:00
Evan Kranzler
e18e3c79d4
[KHM] Implemented Glittering Frost
2021-01-13 18:02:25 -05:00
LevelX2
9fc0e2f25a
* Added some trace output for continous effects and triggered abilities. Changed duration of AffinityEffect to WhileOnStack to prevent wrong handling for removement of the effect.
2021-01-13 09:14:29 +01:00
Evan Kranzler
4b2b36cf7d
[KHM] Implemented Waking the Trolls
2021-01-12 20:52:12 -05:00
Daniel Bomar
2bd682dcbf
[KHM] Implemented Egon, God of Death ( #7377 )
2021-01-12 20:49:06 -05:00
Evan Kranzler
8c9d285d80
[KHM] Implemented Rise of the Dread Marn
2021-01-12 17:44:17 -05:00
Evan Kranzler
d515496b6e
[KHM] Implemented Skemfar Shadowsage
2021-01-12 17:28:52 -05:00
Oleg Agafonov
2e611b98f6
Merge pull request #7372 from weirddan455/koma
...
[KHM] Implemented Koma, Cosmos Serpent
2021-01-12 05:21:05 +01:00
Oleg Agafonov
b184fa7842
Merge branch 'master' into tyvar-kell
2021-01-12 01:45:58 +01:00
Oleg Agafonov
6dcbcbe962
Tyvar Kell and gain ability fixes:
...
* GainAbilityTargetEffect - reworked to support static/dynamic targets, added support of spells (card + related permanent);
* SpellCastControllerTriggeredAbility - now it can setup the target to a card instead a spell;
* Added checks/errors on wrong ability adding code (example: if you add permanent's ability by game state instead permanent's method);
* Tyvar Kell Emblem now use a standard code;
* Test framework: added additional logs for some errors;
2021-01-12 04:41:35 +04:00
Daniel Bomar
ed1133c338
Removed redundant CantBeCounteredAbility ( #7373 )
2021-01-11 19:28:26 -05:00
Daniel Bomar
efca24d617
[KHM] Implemented Koma, Cosmos Serpent
2021-01-11 18:02:18 -06:00
Daniel Bomar
4f4ea502e1
[KHM] Implemented Eradicator Valkyrie ( #7367 )
2021-01-10 22:07:18 -05:00
Evan Kranzler
065dc3da0e
[KHM] Implemented Maskwood Nexus
2021-01-10 21:33:14 -05:00
Daniel Bomar
e7a557f287
[KHM] Implemented Vega, the Watcher ( #7366 )
2021-01-10 20:36:32 -05:00
Evan Kranzler
01261575a8
[KHM] Niko Aris
2021-01-10 17:25:17 -05:00
Daniel Bomar
f131fd0d12
[KHM] Tyvar Kell - Added check for zone change counters in emblem effect
2021-01-10 15:30:18 -06:00
Daniel Bomar
6d3e29078c
[KHM] Implemented Tyvar Kell
2021-01-10 14:04:21 -06:00
ciaccona007
1825747b45
[KHM] Implement Esika's Chariot ( #7363 )
2021-01-10 13:42:18 -05:00
Evan Kranzler
4ea5898360
[KHM] Implemented Replicating Ring
2021-01-10 08:58:39 -05:00
Evan Kranzler
a7b610d59d
[KHM] Implemented The Trickster-God's Heist
2021-01-09 16:36:34 -05:00
ciaccona007
bad00742b2
[KHM] Implement Giant's Amulet ( #7357 )
2021-01-09 16:30:47 -05:00
Oleg Agafonov
6b3de78db8
[KHM] fixed Boast hint's text style ( #7341 )
2021-01-09 20:22:03 +04:00
Evan Kranzler
36fa356bd0
[KHM] Implemented Koma's Faithful
2021-01-09 11:20:02 -05:00
Evan Kranzler
91c8e1f5b5
[KHM] Implemented Doomskar Oracle
2021-01-09 11:20:01 -05:00
Oleg Agafonov
924663f27e
Reverted #7324
2021-01-09 20:10:51 +04:00
Evan Kranzler
bb827eafbf
[KHM] added Foretell placeholder ability
2021-01-08 08:49:08 -05:00
Daniel Bomar
0f4d90b871
[KHM] Implemented Varragoth, Bloodsky Sire ( #7341 )
...
* [KHM] Implemented Boast mechanic
* BoastAbility - Added author tag
* [KHM] Implemented Varragoth, Bloodsky Sire
* [KHM] Fixup BoastAbility and added BoastHint
* [KHM] BoastAbility - Call super instead of copying code
2021-01-08 08:04:47 -05:00
LevelX2
c67ce93ec4
* Fixed some problems with color changes of cards and spells - e.g. Painter's Servant ( fixes #7325 fixes #6487 ).
2021-01-08 11:03:39 +01:00
Evan Kranzler
f6c70d5d4a
[KHM] fixed verify error
2021-01-07 22:02:26 -05:00
Evan Kranzler
dd558970ac
fixed text for forecast ability
2021-01-07 19:17:46 -05:00
Evan Kranzler
65ace87a83
[KHM] Implemented Invasion of the Giants
2021-01-06 22:52:19 -05:00
cheeses-fries
d231eb0c23
Fixed other Xs grammar for GainAbilityControlledEffect ( #7324 )
2021-01-04 15:54:34 -06:00
Daniel Bomar
923cf1e3ac
Allow morph lands to be cast face down at instant speed ( #7169 )
2021-01-01 11:42:54 -06:00
Daniel Bomar
2e4baeed93
Fixed escape being castable from non graveyard zones ex. Cascade ( fixes #7225 ) ( #7319 )
2021-01-01 00:21:59 -06:00
weirddan455
57c8094fa1
Fixed rule text on BecomesTappedSourceTriggeredAbility ( #7312 )
2020-12-29 14:25:10 -05:00
Evan Kranzler
84b32a8ee7
[KHM] Implemented Warchanter Skald
2020-12-28 15:46:34 -05:00
LevelX2
c48a03ddfc
Merge origin/master
2020-12-28 18:36:41 +01:00
LevelX2
8098dd690c
* Fixed that effects with custom duration are not automatically removed from the game if source permanents leaves the game ( fixes #6997 ).
2020-12-28 18:36:05 +01:00
Oleg Agafonov
ee8d459c8a
Additional comment for #7014
2020-12-28 18:36:07 +04:00
LevelX2
dbea1e35eb
* Momir format - Fixed that AI turn calculation caused H2 DB errors ( fixes #7014 ).
2020-12-28 15:11:39 +01:00
Oleg Agafonov
aa7226a1af
* Archive Trap - fixed that it doesn't apply alternative cost after searched library ( #7274 );
2020-12-28 07:10:15 +04:00
Oleg Agafonov
ced4f44213
* Halana, Kessig Ranger - fixed that it doesn't do damage on trigger ( #7286 );
2020-12-28 06:17:35 +04:00
Oleg Agafonov
9c83b3bc11
Merge pull request #7278 from weirddan455/kaya
...
[KHM] Implemented Kaya the Inexorable
2020-12-27 12:22:24 +01:00
Mike Simons
9a6d520ebc
2020 Commander precon decklists
2020-12-26 20:06:38 -05:00
Oleg Agafonov
46e0bb9473
Fixed player names in some game logs;
2020-12-27 02:00:52 +04:00
Oleg Agafonov
a307e5934f
Improved some source related filters in effects:
...
* Fixed that some cards ignore range of influence or source related filters;
* Improved ChosenSubtypePredicate to work with gain abilities;
2020-12-25 19:06:36 +04:00
Oleg Agafonov
64e948e4b3
* AI: improved game performance by x10 for cards with target amount;
...
AI: added targeting name and amount info to simulation logs;
AI: removed duplicated target variations from target amount simulations;
2020-12-24 15:02:28 +04:00
Daniel Bomar
0a28963aa3
[KHM] KayaTheInexorableEmblem - Move choices to static
2020-12-23 14:29:03 -06:00
LevelX2
2ce90b1e0a
* Fixed that the dies trigger of Ashen Rider also triggers if Ashen Rider is copied by other creatures (e.g. Volrath the Shapestealer) ( fixes #7107 ).
2020-12-23 18:02:00 +01:00
LevelX2
2daa5aae50
* Fixed that AI fired targeting event twice ( fixes #7094 ).
2020-12-23 15:53:55 +01:00
LevelX2
dfa035d9dc
* Heartsone - Fixed that mana cost was reduced to less than one mana ( fixes #7070 ).
2020-12-23 13:20:00 +01:00
Oleg Agafonov
dd7c1939d3
* Game: fixed that Snow-Covered lands can be added to auto-generated or submitted/timeout decks ( #7222 );
2020-12-23 10:26:49 +04:00
Oleg Agafonov
10cf9c4a4e
* Genesis Ultimatum - fixed rollback error on usage with modal double faces cards ( #7275 );
2020-12-23 09:15:04 +04:00
Daniel Bomar
a1318663d6
[KHM] Implemented Kaya the Inexorable
2020-12-22 18:04:43 -06:00
Oleg Agafonov
255c292104
* Deals damage divided as you choose - fixed that some cards can't choose planeswalkers (example: Arc Lightning, see #7276 );
...
Refactor: simplified FilterCreaturePlayerOrPlaneswalker to use single permanent filter;
2020-12-23 02:31:41 +04:00
Oleg Agafonov
347a3b1e1a
* Jeweled Lotus - fixed that mana can't be used to cast commanders without normal mana ( #7272 );
2020-12-22 23:22:41 +04:00
Oleg Agafonov
0ac4a9d87a
* Activate spell's ability on the stack - fixed that it can't be activated by humans (example: Lightning Storm);
2020-12-22 17:13:00 +04:00
LevelX2
29184316f2
* Cumulative Upkeep - Fixed that a permanent with CU was wrongly sacrificed if the control of the permanent has changed since CU begin of upkeep trigger was put on the stack. Added tests for CU.
2020-12-21 14:36:22 +01:00
Oleg Agafonov
e02089464f
* Offering ability - fixed rollback error on usage with lands;
2020-12-20 16:12:40 +04:00
Oleg Agafonov
a2c046993d
* Cards drawn this turn - fixed rollback error on some cards usage;
2020-12-20 14:30:42 +04:00
Oleg Agafonov
cc5fce4256
Prepare new release
2020-12-19 23:59:44 +04:00
Oleg Agafonov
9dd09c970a
[CMR] added tokens support, added tokens download
2020-12-19 21:42:31 +04:00
Oleg Agafonov
9f67765e2d
[CMR] fixed Armix, Filigree Thrasher - not working card, missing target ( #7234 );
2020-12-19 18:18:47 +04:00