Commit graph

10622 commits

Author SHA1 Message Date
Alex W. Jackson
0bf03d1f92 Fix #9636 2022-10-09 11:40:39 -04:00
Alex W. Jackson
fd281ca483 Improve text generation for some common draw, discard and mill effects 2022-10-08 20:48:59 -04:00
Kok Wai Gie
e256ebefa8
Fixes URL encoded path returned by resource.getFile() (#8865) 2022-10-08 08:32:37 -04:00
Alex W. Jackson
665e47634d Fix #9129 2022-10-07 11:35:56 -04:00
Alex W. Jackson
db3262aff6 Fix #8062 2022-10-06 22:50:37 -04:00
Alex W. Jackson
92cafbd8b1 Fix #8808 2022-10-06 22:01:54 -04:00
Alex W. Jackson
4b469c8840 Fix #9623 2022-10-06 19:13:55 -04:00
Evan Kranzler
71d12fdb72 [DMC] Implemented Verrak, Warped Sengir 2022-10-05 21:56:10 -04:00
Evan Kranzler
f6e39b1b5c fix test failure 2022-10-05 20:20:54 -04:00
Evan Kranzler
50acdbb823 [40K] Implemented Magnus the Red 2022-10-05 20:03:05 -04:00
Evan Kranzler
55e9314135 [BRO] Implemented Mishra, Claimed by Gix / Phyrexian Dragon Engine / Mishra, Lost to Phyrexia 2022-10-05 18:29:00 -04:00
Evan Kranzler
5a4d755dba
Some changes to meld implementation (#9620)
* some surface-level tweaks to meld implementation

* add default implementation for meldsWith method

* move nightcard declaration to meldcard constructor

* remove unused variable declaration
2022-10-05 12:00:59 -04:00
Evan Kranzler
d21f2e43dd [40K] Implemented Their Number Is Legion 2022-10-04 21:40:42 -04:00
Alex Vasile
55a6acba22
Refactor: Significant speed-up for ManaOptions (#9233) 2022-10-04 00:08:20 -04:00
Evan Kranzler
a742f5a7d1 [40K] Implemented Ravener 2022-10-03 22:10:24 -04:00
Alex Vasile
6035f04140
Disable auto-payment of mana for spells which care about mana color (#9173) 2022-10-03 19:16:45 -04:00
Evan Kranzler
af2a0ebb31 [40K] Implemented Canoptek Tomb Sentinel 2022-10-02 13:13:34 -04:00
Evan Kranzler
43838d3675 [BOT] Implemented Goldbug, Humanity's Ally / Goldbug, Scrappy Scout 2022-10-01 10:51:09 -04:00
Evan Kranzler
58dc37e7cf [UNF] updated spoiler 2022-10-01 10:09:16 -04:00
Evan Kranzler
9706274141 [BRO] Implemented Urza, Lord Protector / Urza, Planeswalker 2022-09-30 22:02:38 -04:00
Evan Kranzler
518602bf61 [BRO] Implemented The Mightstone and Weakstone 2022-09-29 22:51:06 -04:00
Alex W. Jackson
c9a7aedfb2
Change EnchantAbility parameter from String to Target (#9588) 2022-09-29 10:29:48 -04:00
Evan Kranzler
5fbd5f4fc8 [UNF] updated spoiler and acorn bans 2022-09-28 08:13:51 -04:00
Alex W. Jackson
3954ba266f Fix #9587 2022-09-28 04:40:26 -04:00
Alex Vasile
01ee54d416
Add ignored failing test and fix bug for hybrid mana payments (#9566) 2022-09-27 21:51:49 -04:00
Alex W. Jackson
b1b78d6db0
Reimplement Animate Dead and friends; fixes #5250 (#9581) 2022-09-27 20:08:50 -04:00
PurpleCrowbar
c89e5077af Fix Karn Living Legacy Emblem. Closes #9585 2022-09-27 20:54:12 +01:00
Alex W. Jackson
9355c8ace3 Fix #6942 2022-09-27 15:31:24 -04:00
Evan Kranzler
3b60f6afc8 [UNF] updated spoiler and acorn bans 2022-09-26 20:41:53 -04:00
sprangg
b9530e307d
Draft stability improvements (#9435) 2022-09-25 17:33:16 -04:00
Alex W. Jackson
c8c663b976 Distinguish "blocks or becomes blocked" triggered abilities from "blocks or becomes blocked by a creature". Fixes #9347 2022-09-25 02:54:43 -04:00
Alex Vasile
ce4cbe2f5e
Changed several cards to use new Static non-token creatures filter (#9564) 2022-09-24 17:17:59 -04:00
Alex W. Jackson
17f6ca6b22 Fix #9562 and add test for Vazi 2022-09-24 09:57:22 -04:00
Alex W. Jackson
3f09836c64 Fix BlockingOrBlockedWatcher not handling attackers removed from combat 2022-09-24 01:13:28 -04:00
Alex W. Jackson
0b200748e5 Fix #9560 and replace various custom effects with GainControlAllEffect 2022-09-24 00:39:48 -04:00
Evan Kranzler
55b75a5839 [UNF] Implemented Lila, Hospitality Hostess 2022-09-23 21:45:06 -04:00
Evan Kranzler
6b66d10089 [UNF] Implemented Clown Car 2022-09-23 21:38:10 -04:00
Evan Kranzler
8bad38a027 [UNF] updated spoiler and acorn bans 2022-09-23 21:11:38 -04:00
Alex W. Jackson
4b15df3bae Remove unneeded code from MulticoloredPredicate (leftover from pre-Amonkhet split card rules) 2022-09-23 12:46:41 -04:00
Evan Kranzler
fbacc50901 [UNF] updated spoiler and acorn bans 2022-09-22 22:31:52 -04:00
Evan Kranzler
b0ebf4ad5b [NCC] various text fixes 2022-09-22 22:29:39 -04:00
Alex Vasile
fd16f2a16b
[NCC] Implement several cards (#9328)
Many associated refactors too. See full PR for detail.
2022-09-22 21:38:29 -04:00
Alex W. Jackson
020503c826 Fix #9551 2022-09-22 20:33:16 -04:00
PurpleCrowbar
752b5d9f33 Added missed file author to XiraBlackInsectToken 2022-09-22 23:11:41 +01:00
PurpleCrowbar
2b74c85e08 Added DMC token images 2022-09-22 22:58:01 +01:00
PurpleCrowbar
47670266cd Added DMU token images 2022-09-22 22:58:01 +01:00
Alex W. Jackson
c985ba3938 Add some internal documentation to Spell.copySpell 2022-09-22 10:12:35 -04:00
Evan Kranzler
58d30af515 [UNF] update spoiler and acorn bans 2022-09-22 08:36:50 -04:00
Alex W. Jackson
3996127032
Fix copying fused spells; also fixes #9545 (#9546) 2022-09-22 01:59:21 -04:00
PurpleCrowbar
fddec2ae9c
[DMC] Implement Jared Carthalion (#9549)
* [DMC] Implement Jared Carthalion

* Applied requested changes
2022-09-21 21:00:11 -04:00
Alex W. Jackson
ecd43c07e2 Inform players of combat damage assignment order in log 2022-09-21 20:17:58 -04:00
Evan Kranzler
493a9d2c6c update acorn bans 2022-09-21 09:04:48 -04:00
Alex W. Jackson
41fb3d14cb
Fix #8484 and fix #9541 (#9542) 2022-09-20 21:05:01 -04:00
Evan Kranzler
cd3197af97 [UNF] add acorn stamp cards to shared ban list 2022-09-20 20:12:17 -04:00
Evan Kranzler
a09c14083e fix various issues with OrCost (fixes #9424) 2022-09-20 09:22:55 -04:00
Alex W. Jackson
12a20d07f4 Add choose hints to abilities with sacrifice costs where the target and the permanent to sacrifice might be ambiguous (A-D) 2022-09-20 09:17:14 -04:00
Alex W. Jackson
2b652f6695 De-duplicate Splice code; add choose hints to all targeted Splice cards 2022-09-18 13:03:26 -04:00
Evan Kranzler
f21c2a6b2b [40K] Implemented Sporocyst 2022-09-18 12:18:32 -04:00
Evan Kranzler
7e55f25d31 [40K] Implemented Necron Deathmark 2022-09-18 11:58:16 -04:00
Evan Kranzler
69c15762a5 Fact or Fiction effects reverted to asking for hand pile rather than graveyard pile (closes #9531) 2022-09-18 11:52:29 -04:00
Alex Vasile
7d57831ed0
Fix searching for split card halves returning full card in incorrect instances. (#9534) 2022-09-18 03:41:35 -04:00
Evan Kranzler
c48c4ccf53 [40K] Implemented Vexilus Praetor 2022-09-17 23:41:13 -04:00
Evan Kranzler
3c9fb843c7 [40K] Implemented Thunderhawk Gunship 2022-09-17 23:25:35 -04:00
Evan Kranzler
4546766c1a [40K] Implemented Canoptek Scarab Swarm 2022-09-17 22:41:22 -04:00
Alex Vasile
b14af42280
[DMU] Karn's Sylex (#9507) 2022-09-17 22:37:56 -04:00
Evan Kranzler
2ca7cfa462 [40K] Implemented Space Marine Devastator 2022-09-17 10:50:43 -04:00
Evan Kranzler
a893e5ba88 [40K] Implemented Sister Repentia 2022-09-17 10:30:03 -04:00
Alex W. Jackson
639277402d Fix #8485 2022-09-17 09:27:49 -04:00
Evan Kranzler
91b36d4106 [40K] Implemented Sautekh Immortal 2022-09-16 21:12:46 -04:00
Evan Kranzler
1cc00630dd [40K] Implemented Vanguard Suppressor (with dummy squad ability) 2022-09-16 21:02:57 -04:00
Daniel Bomar
3d3fde35ca
[DMU] Implemented Rivaz of the Claw (#9523) 2022-09-15 22:35:52 -04:00
Evan Kranzler
95b2817ac8 [DMC] various text fixes 2022-09-15 21:28:25 -04:00
Evan Kranzler
53f76c2403 [40K] Implemented Great Unclean One 2022-09-15 20:51:13 -04:00
Evan Kranzler
89eb256c16 [40K] Implemented Lictor 2022-09-15 18:45:13 -04:00
Evan Kranzler
e9684c86ac [40K] Implemented Gargoyle Flock 2022-09-15 18:28:54 -04:00
Evan Kranzler
f04d8f8a6e [40K] Implemented Tyranid Invasion 2022-09-15 08:36:17 -04:00
Evan Kranzler
405a3b405e [40K] Implemented Tervigon 2022-09-15 08:12:22 -04:00
Evan Kranzler
a31644789c [DMU] various text fixes 2022-09-14 18:29:34 -04:00
Evan Kranzler
d165072ac9
[DMU] Implement Defiler cycle (Ready for review) (#9460)
* [DMU] Implemented Defiler of Faith

* [DMU] Implemented Defiler of Dreams

* [DMU] Implemented Defiler of Flesh

* [DMU] Implemented Defiler of Instinct

* [DMU] Implemented Defiler of Vigor

* create PermanentPredicate

* initial attempt at Defiler ability

* some nonfunctional recommended changes

* a few more requested changes

* change arguments to ObjectColor from String

* fix a dumb mistake

* add test

* a few requested changes
2022-09-14 15:16:56 -04:00
Alex W. Jackson
efa7b485b0 Remove unneeded parameter from StackObjectCopyApplier.getNextNewTargetType (all users were using an Iterator or a fixed return value) 2022-09-14 03:23:21 -04:00
Alex W. Jackson
c401b35b63 Fix #9524 2022-09-14 03:08:23 -04:00
Alex W. Jackson
c3ce7898de
[DMU] Implement Silver Scrutiny and fix #7326 (#9508) 2022-09-13 20:15:04 -04:00
Evan Kranzler
0d4cf5a20a [40K] Implemented The Swarmlord 2022-09-13 18:55:19 -04:00
Evan Kranzler
9b70a0ee6f [40K] Implemented Old One Eye 2022-09-13 08:44:43 -04:00
Evan Kranzler
668410dd21 [40K] Implemented Broodlord 2022-09-13 08:30:33 -04:00
Evan Kranzler
d313bc7ad6 [40K] Implemented Imotekh, the Stormlord 2022-09-13 06:55:12 -04:00
Evan Kranzler
515828eede [40K] Implemented Deathleaper, Terror Weapon 2022-09-13 06:40:15 -04:00
Evan Kranzler
5e26b7eacd [40K] Implemented Inquisitor Greyfax 2022-09-13 06:34:05 -04:00
PurpleCrowbar
51fb4df5a0
[DMC] Implement Rasputin, the Oneiromancer (#9515) 2022-09-12 18:34:03 -04: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
7c2f76b46b Remove custom multitarget handling from ReturnToHandTargetEffect (use EachTargetPointer instead) 2022-09-12 08:54:45 -04:00
Alex W. Jackson
dc33531792 Fix #4368 2022-09-12 06:56:07 -04:00
PurpleCrowbar
46cc674a8e
[DMC] Implement Sivitri, Dragon Master (#9506)
* [DMC] Implement Sivitri, Dragon Master
* Generalised CantAttackYouUnlessPayAllEffect
2022-09-11 23:18:25 -04:00
Daniel Bomar
90496c56f4
[DMU] Implemented Tyrannical Pitlord (#9498) 2022-09-10 19:54:46 -04:00
PurpleCrowbar
6c60b342a0
[DMC] Implement Jedit Ojanen, Mercenary (#9497) 2022-09-10 15:59:48 -04:00
Alex W. Jackson
c0aeb44e5b [TOR] Implemented Carrion Rats and Carrion Wurm 2022-09-10 03:27:41 -04:00
Alex W. Jackson
a2bcf7074e Fix #9331, #8086 2022-09-09 22:42:03 -04:00
Alex W. Jackson
5bfbeff87d Fix Render Silent and remove some unnecessary custom effects I noticed via the previous commit 2022-09-09 15:41:37 -04:00
Alex Vasile
092f3c3fe1
Simplified effects by removing unnecessary getText instances. (#9374) 2022-09-09 12:02:22 -04:00
Alex W. Jackson
076c55f1ea Fix several card abilities incorrectly implemented as intervening-if abilities when they weren't 2022-09-09 04:47:07 -04:00
PurpleCrowbar
173b3dbb4f
[DMC] Implement Greensleeves, Maro-Sorcerer (#9487) 2022-09-08 23:26:43 -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
Oleg Agafonov
da6fd76c6a Fixed typo 2022-09-09 01:00:48 +04:00
Daniel Bomar
48df6902e1
[40K] Fixed Abaddon the Despoiler and enabled test (fixes #9490) 2022-09-08 11:35:42 -05:00
Alex W. Jackson
2f93647196 Fix IllegalArgumentException on Volcano Hellion echo trigger 2022-09-07 23:15:18 -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
Jeff Wadsworth
4aee1b714c - Fixed #9481 2022-09-07 13:13:09 -05:00
Alex W. Jackson
e310ede837 Replace many custom effects with ExileUntilSourceLeavesEffect 2022-09-06 06:50:01 -04:00
Daniel Bomar
a5621cf247
[DMU] Implemented Anointed Peacekeeper (#9478) 2022-09-05 21:49:10 -04:00
Evan Kranzler
c745bce734 [DMU] Implemented Shanna, Purifying Blade 2022-09-05 20:24:46 -04:00
Alex W. Jackson
b5b4b38cc6 Fix ShuffleIntoLibraryTargetEffect to support multiple target cards with possibly different owners 2022-09-05 19:44:09 -04:00
Evan Kranzler
30aafb7672 [DMU] Implemented The Phasing of Zhalfir 2022-09-05 16:56:53 -04:00
Evan Kranzler
b9bbb4d1b3 [DMU] Implemented Karn, Living Legacy 2022-09-05 16:56:52 -04:00
Evan Kranzler
02968c9cc1
[DMU] Implemented Sphinx of Clear Skies (#9474)
* create common class for effects similar to Fact or Fiction

* [DMU] Implemented Sphinx of Clear Skies

* change text generation to staticText
2022-09-05 16:14:16 -04:00
Alex Vasile
138fa46824 Fixed text generation for LoseLifeOpponentsEffect 2022-09-05 14:26:36 -04:00
Alex Vasile
c16ead128b [NCC] Address comments for Lethal Scheme 2022-09-04 13:26:26 -04:00
Alex W. Jackson
e3b8a813e5 Remove custom multitarget handling from DestroyTargetEffect (use EachTargetPointer instead) 2022-09-04 07:04:46 -04:00
Alex W. Jackson
addfd5166e Add new methods to Target and TargetPointer to help generate card rules text. Currently only used by ExileUntilSourceLeavesEffect 2022-09-04 05:15:12 -04:00
Alex W. Jackson
c6e1ce6697 Remove custom multitarget handling from ExileTargetEffect (use EachTargetPointer instead) 2022-09-03 22:59:19 -04:00
Alex W. Jackson
fbccdd3088 Add missing files from last commit 2022-09-03 06:04:31 -04:00
Alex W. Jackson
ce610be087 [ONS] Implement Crown of Ascension, Crown of Suspicion and Crown of Vigor 2022-09-03 05:46:59 -04:00
Alex Vasile
07a142c9e8
Refactor: Add proper support for modifying and querying base P/T (#9409) 2022-09-01 19:57:30 -04:00
Evan Kranzler
af0fa56c10 [DMC] Implemented Baru Wurmspeaker 2022-08-30 21:31:20 -04:00
Evan Kranzler
b14d7d24bb [DMU] Implemented Yotia Declares War 2022-08-30 20:50:26 -04:00
Evan Kranzler
d83cea8000 [DMU] Compleated Weatherlight 2022-08-30 20:36:10 -04:00
Alex W. Jackson
c26c2f3785 [DMC] Implemented General Marhault Elsdragon 2022-08-30 12:21:27 -04:00
Alex W. Jackson
e0ade383f2 Fix #9441 2022-08-30 11:40:30 -04:00
Evan Kranzler
06d7b508dc [DMU] Implemented Academy Loremaster 2022-08-29 20:09:16 -04:00
Evan Kranzler
2e94364b2a [DMU] Implemented Urborg Lhurgoyf 2022-08-29 20:02:30 -04:00
Evan Kranzler
a7b7f1bbe3
[DMU] Implemented Twinferno (#9437)
* create common class for copying the next spell cast

* [DMU] Implemented Twinferno

* add filter to CopyNextSpellDelayedTriggeredAbility
2022-08-29 18:51:22 -04:00
Evan Kranzler
697586a552
[DMU] Implement Enlist ability (#9431)
* implement enlist ability

* remove skips for enlist

* [DMU] Implemented Guardian of New Benalia

* add test for enlist
2022-08-29 18:51:13 -04:00
Evan Kranzler
3929cb25a8 [DMU] Implemented Radha's Firebrand 2022-08-28 10:24:31 -04:00
Evan Kranzler
90bd0dbf63
Implement Read Ahead mechanic (#9407)
* implement Read Ahead mechanic

* [DMU] Implemented The World Spell

* [DMU] Implemented The Elder Dragon War

* added read ahead test

* fix verify failure

* small change to test

* fix read ahead text
2022-08-27 14:53:39 -04:00
PurpleCrowbar
d04ea3a88b [CC2] Added set 2022-08-26 03:58:39 +01:00
Daniel Bomar
7ba500ebe5
[DMU] Implemented Stronghold Arena 2022-08-23 14:56:50 -05:00
Daniel Bomar
3ce05b06c7
[DMU] Implemented Lagomos, Hand of Hatred 2022-08-23 12:01:08 -05:00
Daniel Bomar
356091c750
Merge pull request #9402 from weirddan455/raven-man
[DMU] Implemented The Raven Man
2022-08-23 10:09:36 -05:00
Alex Vasile
0a96201b6a Simplified Mirri and Crawlspace by making their identical effects a common effect that is shared between them 2022-08-22 21:39:28 -04:00
Daniel Bomar
7f439e23ab
[DMU] Implemented Tori D'Avenant, Fury Rider 2022-08-22 18:24:07 -05:00
Evan Kranzler
17e673ddcf fix verify error, remove skip 2022-08-22 19:00:27 -04:00
Evan Kranzler
6b09fc68ef [DMU] Implemented Molten Monstrosity 2022-08-22 15:31:01 -04:00
Daniel Bomar
0d705fdea6
[DMU] Implemented The Raven Man 2022-08-22 11:42:18 -05:00
Alex W. Jackson
54896b3564
Fix #9357 (#9359) 2022-08-22 12:38:08 -04:00
Daniel Bomar
aea8c82728
[DMU] Implemented Phoenix Chick (#9397)
* [DMU] Implemented Phoenix Chick

* ReturnSourceFromGraveyardToBattlefieldWithCounterEffect - Fix constructor

* Revert back to using setText() to set staticText

* Make setText() return a String
2022-08-22 10:36:48 -05:00
Evan Kranzler
867c2569c8 [DMU] Implement Yavimaya Steelcrusher (dummy enlist ability) 2022-08-22 10:24:37 -04:00
PurpleCrowbar
eb62b921f0 Fixed Icingdeath, Frost Tongue not triggering on attack. Closes #9380 2022-08-22 02:32:49 +01:00
Daniel Bomar
39a6ce42e5
[DMU] Implemented Jhoira, Ageless Innovator 2022-08-21 15:27:35 -05:00
Daniel Bomar
e341023d23
[DMU] Compleated Ajani, Sleeper Agent 2022-08-21 13:41:48 -05:00
Daniel Bomar
c140b073ad
Merge pull request #9386 from weirddan455/braids
[DMU] Implemented Braids, Arisen Nightmare
2022-08-20 17:04:55 -05:00
Daniel Bomar
0f9a293762
Add/Refactor cards to use SharesCardTypePredicate 2022-08-20 12:37:50 -05:00