Commit graph

1604 commits

Author SHA1 Message Date
xenohedron
a7c3cb9797
Merge pull request #10399 from xenohedron/cleanup-becomescreaturesource
Cleanup: BecomesCreatureSourceEffect
2023-06-02 11:57:19 +03:00
xenohedron
c7994cb3ac Text fixes 2023-06-02 11:34:05 +03:00
theelk801
970bd300c0 [LTR] Implement Display of Power 2023-06-01 21:09:50 -04:00
xenohedron
255c7a9ce7
Remove unused marker interface (#10404) 2023-05-29 19:16:04 -04:00
xenohedron
8a071bd1ad
Fix Fighter Class (#10402) 2023-05-29 19:13:50 -04:00
xenohedron
9c20dd3bfc Change the abilities to layer 7b where they belong 2023-05-22 23:49:12 -04:00
xenohedron
d7fc52daea Fix Haunted Plate Mail 2023-05-22 23:49:12 -04:00
xenohedron
091b6e7c0c Add/revise comments for clarity 2023-05-22 01:07:29 -04:00
xenohedron
aecdde421b Refactor to single constructor with CardType enum 2023-05-21 23:47:43 -04:00
xenohedron
00ca915581 Move loseAbilities out of constructor 2023-05-21 23:47:11 -04:00
xenohedron
9b73c8367f Check CDAs from token, remove explicit parameter 2023-05-21 23:46:46 -04:00
xenohedron
ce5423bbf6 Add CR reference comment 2023-05-21 21:51:01 -04:00
xenohedron
7ffd805f87 Fix text for cards with duration at start 2023-05-21 01:31:00 -04:00
xenohedron
26a95eed51 More sensible parameter ordering 2023-05-21 01:21:42 -04:00
xenohedron
0bc473f4b2 Clean up constructors and add comments 2023-05-21 01:21:42 -04:00
xenohedron
9aaf1ccef7 Update constructors 2023-05-21 01:21:42 -04:00
xenohedron
3a6e84043c prepare to move power/toughness out of constructor 2023-05-21 01:21:42 -04:00
xenohedron
70248cdd2b Fix text generation for default duration rule at end 2023-05-21 01:21:42 -04:00
Evan Kranzler
60e488cf05
rename classes (#10383) 2023-05-17 18:49:30 -04:00
Evan Kranzler
024c3081df
[BRC] Implement Rootpath Purifier (ready for review) (#10363)
* refactor check supertype methods

* change supertype to list to match card type

* refactor various subtype methods

* implement mageobjectattribute for supertype

* a few fixes

* [BRC] Implement Rootpath Purifier

* a few extra fixes

* more fixes

* add test for purifier
2023-05-13 10:48:07 -04:00
Oleg Agafonov
1dea98cf1f Game: fixed that search by card name was able to return a wrong card (example: cheat command) 2023-05-08 22:58:30 +04:00
theelk801
907d07d175 [MAT] Implement Animist's Might 2023-05-08 09:00:14 -04:00
Oleg Agafonov
5f55c7c667 Tokens and command objects reworked (part 1 of 2):
- fixed that copy effect doesn't restore original image after effect's end;
 - removed outdated availableImageSetCodes (all images auto-selected from tokens database now, related to #10139);
 - refactor command objects to use CommandObjectImpl;
 - refactor planes/emblems/etc objects to use MageObjectImpl, added copyable support;
 - refactor another game objects to remove some duplicated fields;
2023-05-08 02:15:07 +04:00
theelk801
46f6593da8 [SLD] fixe Holga, Relentless Rager not requiring blocks (fixes #10325) 2023-05-07 14:45:18 -04:00
xenohedron
35bb7d513b
Another batch of text fixes (#10317)
* Fix text: Blind Hunter

* Fix text: cards with bloodrush ability

* Fix text: populate ability

* Fix Goblin Pyromancer to boost all

* Fix text: Wellwisher; Kamahl, Fist of Krosa; Snapping Thragg

* Fix text: "you may prevent"

* Fix text: Elvish Guidance, Elvish Pathcutter

* Fix text: [search library for cards named]
2023-05-07 13:30:55 -04:00
theelk801
a3c4dc2395 rework RevealCardsFromLibraryUntilEffect to use PutCards 2023-05-04 09:42:00 -04:00
theelk801
406d61a55f [MAT] Implement Nissa, Resurgent Animist 2023-05-04 09:42:00 -04:00
chesse20
e8892badf1
Fix perpetual use toughness as power of Walking bulwark (#10138)
* attempted fix

* super constructors work like this?

* better use of super and java

* try this again

* fix un-needed code

* remove commented code

* missed some

* Simplify Constructors
2023-05-02 19:59:17 -04:00
Oleg Agafonov
e848f85e81 BecomesCreatureTargetEffect - improved text generation 2023-04-30 18:11:57 +04:00
xenohedron
3df7f6940d
More text fixes (#10296)
* Fix text: Tattoo Ward (and similar "doesn't remove {this}")

* Fix text: Demoralize

* Fix text: Keep Watch

* Fix Slithery Stalker (ability is not optional)

* Fix text: Rain of Filth
2023-04-30 09:55:43 -04:00
xenohedron
0e1e6a0f21
Text fixes (cantrips with line break) (#10284)
* Fix text: Teleportal, Weapon Surge, Mizzium Skin

* Fix text: Cantrips with line break (early sets)

* Fix text: Cantrips with line break (later sets)

* Fix text: {tap} in strings, capitalization of gained abilities, misc
2023-04-27 19:05:11 +04:00
Evan Kranzler
726e289646
Implement DFC tokens for Incubate (#10231)
* remove incubate skip

* initial implementation of DFC tokens

* separate incubator back face to separate class

* small refactor to token copy function

* token copies now have back faces as well

* effects which modify token copies now correctly apply to both faces

* add skip for exception

* tokens now enter transformed correctly

* [MOC] remove skip for incubate

* fix verify failure
2023-04-27 19:03:25 +04:00
xenohedron
9abaa75bd4
Various text fixes (#10251)
* Fix text: Invigorate (fixes #8708) - override

* Fix text: sacrifice multiple permanents (as cost)

* Fix text: Coral Colony - override and add hint

* Fix text: Corpse Harvester (fixes #7837) - override

* Fix text: Solitary Camel, Sidewinder Naga

* Fix text: Malicious Advice

* Fix text: Ray of Command

* Fix text: Retreat to Hagra

* Fix reminder text for "End the turn."

* Fix text: Elspeth, Undaunted Hero

* Fix text: Gideon, Champion of Justice

* Fix text generation for condition: no counters

* Fix text: PhantasmalSphere

* Fix text: Retaliation

* Fix text generation for additional cost: discard X cards

* Fix text: Soul Separator

* Fix text: Thundermaw Hellkite

* Fix text: Torment of Hailfire

* Fix text: Twilight Prophet

* Fix text: ETB cantrips next turn's upkeep

* Fix text: Venser's Journal
2023-04-25 23:30:00 +04:00
xenohedron
1780972f71
Refactor to clean up base P/T setting and fix text generation (#10264)
* Adjust constructors to simplify

* Refactor to remove duration parameter for CDA (always end of game)

* Fix warnings

* Druid Class not CDA

* Entropic Specter fixup

* Further constructor simplification

* Analogous simplification for setting power only

* Analogous simplification for setting toughness only

* Remove superfluous parameter

* Set fields final
2023-04-24 17:43:18 +04:00
theelk801
22946bb35e [MOC] Implement Path of the Schemer 2023-04-23 17:13:31 -04:00
theelk801
7fc5943b07 [MOC] Implement Path of the Animist 2023-04-23 17:13:31 -04:00
theelk801
9385a31c4a [LTR] Implement Frodo, Sauron's Bane 2023-04-23 10:55:12 -04:00
Oleg Agafonov
1dc7dcc94c Fixed images info copy in morph and other copy abilities 2023-04-21 11:39:03 +04:00
Oleg Agafonov
689b93d005 Refactor: improved choose cards method to use source param (fixed NPE like #10233, #9974 and other bugs with choose cards) 2023-04-21 11:02:57 +04:00
xenohedron
ba461d9af0
Fix Alloy Golem color set duration (#10195) 2023-04-20 18:23:46 -04:00
xenohedron
68b3fc80e9
Fix Vapor Snare effect (#10188)
* Fix Vapor Snare and refactor "unless you return a land" effects to use correct static filter

* Fix capitalization of return to hand cost

* Fix capitalization of sacrifice unless pays effect
2023-04-20 18:22:59 -04:00
theelk801
c4ebe4ae8b [MOC] various text fixes 2023-04-18 18:34:57 -04:00
amoscatelli
6059422afc
[J22] Implement Alandra, Sky Dreamer (#10219)
* Alandra Sky Dreamer
DrawSecondCardTriggeredAbility refactored into DrawCardTriggeredAbility
DynamicValue support for DrawCardTriggeredAbility
DynamicValue support for BoostAllOfChosenSubtypeEffect

* cardNumber as int
static use of cardwatcher

* removing spaces

* FaerieMastermind and ZimoneAndDina using the new generic DrawCardTriggeredAbility

* AlandraSkyDreamer and DrawCardTriggeredAbility test

* renaming DrawCardTriggeredAbility to DrawNthCardTriggeredAbility

* merging the boost effects into a single ability

* merging two effects to the same ability

* text added to effects

---------

Co-authored-by: drago <drago@192.168.1.72>
2023-04-17 09:12:18 -04:00
theelk801
c025349791 [MOM] Implement Vorinclex 2023-04-14 21:09:22 -04:00
theelk801
dd91a58c85 [MOM] Implement Elesh Norn 2023-04-14 20:12:25 -04:00
Evan Kranzler
947351932b
Ready for Review: Implementing Battles (#10156)
* add types and subtypes

* add startingDefense attribute

* [MOM] Implement Invasion of Ravnica / Guildpact Paragon

* fix two small errors

* refactor various instances of "any target"

* fully implement defense counters

* battles can now be attacked

* [MOM] Implement Invasion of Dominaria / Serra Faithkeeper

* [MOM] Implement Invasion of Innistrad / Deluge of the Dead

* [MOM] Implement Invasion of Kaladesh / Aetherwing, Golden-Scale Flagship

* [MOM] Implement Invasion of Kamigawa / Rooftop Saboteurs

* [MOM] Implement Invasion of Karsus / Refraction Elemental

* [MOM] Implement Invasion of Tolvada / The Broken Sky

* simplify battle info ability

* fix verify failure

* some more fixes for attacking battles

* [MOM] Implement Invasion of Kaldheim / Pyre of the World Tree

* [MOM] Implement Invasion of Lorwyn / Winnowing Forces

* [MOM] Implement Invasion of Moag / Bloomwielder Dryads

* [MOM] Implement Invasion of Shandalar / Leyline Surge

* [MOM] Implement Invasion of Belenon / Belenon War Anthem

* [MOM] Implement Invasion of Pyrulea / Gargantuan Slabhorn

* [MOM] Implement Invasion of Vryn / Overloaded Mage-Ring

* [MOM] Implement Marshal of Zhalfir

* [MOM] Implement Sunfall

* implement protectors for sieges

* partially implement siege defeated trigger

* fix verify failure

* some updates to blocking

* [MOM] Implement Invasion of Mercadia / Kyren Flamewright

* [MOM] Implement Invasion of Theros / Ephara, Ever-Sheltering

* [MOM] Implement Invasion of Ulgrotha / Grandmother Ravi Sengir

* [MOM] Implement Invasion of Xerex / Vertex Paladin

* add initial battle test

* fix verify failure

* [MOM] Implement Invasion of Amonkhet / Lazotep Convert

* [MOM] update spoiler

* update how protectors are chosen

* update text

* battles can't block

* add control change test

* rename battle test for duel

* add multiplayer test

* [MOM] Implement Invasion of Alara / Awaken the Maelstrom

* [MOM] Implement Invasion of Eldraine

* [MOM] Implement Invasion of Ergamon / Truga Cliffhanger

* [MOM] Implement Invasion of Ixalan / Belligerent Regisaur

* battles now cast transformed (this is super hacky but we need to refactor TDFCs anyway)

* add TODO

* add ignore for randomly failing test

* a few small fixes

* add defense to MtgJsonCard (unused like loyalty)

* implement ProtectorIdPredicate

* small fixes
2023-04-13 20:03:16 -04:00
Oleg Agafonov
01caeed298 Merge fix 2023-04-13 17:06:22 +04:00
theelk801
312cff0c0f [MOM] various text fixes 2023-04-11 09:32:31 -04:00
Evan Kranzler
b3245e0238
Revert "[J22] Implement Alandra, Sky Dreamer and refactor of DrawSecondCardTriggeredAbility (#10092)" (#10193)
This reverts commit 0ebaeb20c7.
2023-04-08 21:42:50 -04:00
theelk801
f409a72221 [MOM] Implement Enduring Bondwarden 2023-04-05 09:30:17 -04:00