Commit graph

42048 commits

Author SHA1 Message Date
xenohedron
85236b3455
Implement booster collation for BRO (#10364) 2023-10-09 21:48:09 -04:00
xenohedron
c6a54c5a66 fix #10078 (Duplicity) 2023-10-09 21:47:19 -04:00
ssk97
5e095afdb0
Implement Prototype ability (#11249)
Prototype is a SpellAbilityType, for which alternate costs are permitted. It has a continuous effect that applies on the battlefield as well as a method to modify the spell on the stack. Permanents have an isPrototyped flag that copy effects can check explicitly (same brittle method as transformed permanents use; reworking copy effects to streamline them is a separate scope).

Many test cases have been added to confirm functionality (thanks to Zerris for additional test suggestions).

---------

Co-authored-by: Susucre <34709007+Susucre@users.noreply.github.com>
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-10-09 21:06:19 -04:00
xenohedron
ac20483b73 reminder text fixes 2023-10-09 20:49:20 -04:00
Susucre
b8ba2da23e
fix infoText of tournament causing NPE (#11290) 2023-10-09 15:25:30 -04:00
xenohedron
d7afa37893
Remove superfluous addManaCost method (#11288)
* no need to specify mana cost, just add cost

* handle all mana costs through addcost method only

* eliminate another constructor

* more constructor cleanup
2023-10-09 15:25:19 -04:00
xenohedron
4e2a5bd5a9
Cleanup activated ability constructors (#11283)
* simplify LoyaltyAbility constructors

* remove unused constructors in ActivatedAbilityImpl

* cleanup

* remove null rule setting

* another unused constructor

* fix escape ability reminder text

* escape text adjustment

* simplify Trigons, remove Costs constructor

* rework Villainous Ogre, remove another class and constructor

* fix test using wrong text for trigon ability
2023-10-08 22:55:31 -04:00
xenohedron
25e559dd9d
fix Blightwing Bandit (#11282) 2023-10-08 17:53:49 -04:00
xenohedron
1a6bbfa873
add test for Role token not created if target has protection (#11281) 2023-10-08 17:53:33 -04:00
Susucre
2d9f29b60e
[WHO] Implement Lunar Hatchling (#11269) 2023-10-08 17:53:13 -04:00
Susucre
8e1ef15b70
[LCI] Implement Ojer Axonil, Deepest Might (#11195)
* [LCI] Implement Ojer Axonil, Deepest Might

* add tests

* Alter text generation on ActivateIfConditionActivatedAbility to handle "and as a sorcery"
2023-10-08 17:52:36 -04:00
Susucre
287e25b28f
[WHO] Implement Atraxi Warden, Bessie the Doctor's Roadster, Clockwork Droid, Crack in Time (#11271)
* [WHO] Implement Atraxi Warden

* [WHO] Implement Bessie, the Doctor's Roadster

* [WHO] Implement Clockwork Droid

* [WHO] Implement Crack in Time
2023-10-08 01:41:01 -04:00
Susucre
b7ad2d8c86
[WHO] Implement Five Hundred Year Diary, Flatline, Frost Fair Lure Fish, Laser Screwdriver, Sonic Screwdriver (#11274)
* Add Hint to Confront the Unknown

* [WHO] Implement Five Hundred Year Diary

* [WHO] Implement Flatline

* [WHO] Implement Frost Fair Lure Fish

* [WHO] Implement Laser Screwdriver

* [WHO] Implement Sonic Screwdriver
2023-10-08 01:39:50 -04:00
Susucre
39522cdc59
[WHO] Implement Graham O'Brien, Iraxxa Empress of Mars, Sisterhood of Karn, Memory Worm, Flaming Tyrannosaurus (#11275)
* [WHO] Implement Graham O'Brien

* [WHO] Implement Iraxxa, Empress of Mars

* [WHO] Implement Sisterhood of Karn

* [WHO] Implement Memory Worm

* [WHO] Implement Flaming Tyrannosaurus

* fix token name

---------

Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-10-08 01:38:09 -04:00
Susucre
21bab428e7
[WHO] Implement Martha Jones, Ominous Cemetery, Quantum Misalignment, Renegade Silent, RMS Titanic (#11276)
* [WHO] Implement Martha Jones

* [WHO] Implement Ominous Cemetery

* [WHO] Implement Quantum Misalignment

* [WHO] Implement Renegade Silent

* [WHO] Implement RMS Titanic
2023-10-08 01:37:11 -04:00
Susucre
5e166f9359
[WHO] Implement Sergeant John Benton, Star Whale, Tegan Jovanka, The Sixth Doctor, Vashta Nerada (#11277)
* [WHO] Implement Sergeant John Benton

* [WHO] Implement Star Whale

* [WHO] Implement Tegan Jovanka

* [WHO] Implement The Sixth Doctor

* [WHO] Implement Vashta Nerada
2023-10-08 01:36:59 -04:00
xenohedron
5ba47db226 text adjustment: untap all lands 2023-10-08 01:36:28 -04:00
Grath
6b9beeb9ea
[WHO] Implement Displaced Dinosaurs. (#11278)
Liberal copy-pasting from Master Biomancer, with a little tweaking here and there.

One of AddCardTypeTargetEffect or AddCardSubTypeTargetEffect should get refactored to reorder the parameters for consistency at some point but I'm too lazy to do it now.
2023-10-08 01:35:31 -04:00
Susucre
a9fce4b05e
[LCI] Implement Ghalta, Stampede Tyrant (#11270) 2023-10-06 23:25:35 -04:00
Susucre
745127c46f
[WHO] Implement Dalek Drone, Delete, Decaying Time Loop, Jenny Generated Anomaly (#11273)
* [WHO] Implement Dalek Drone

* [WHO] Implement Delete

* [WHO] Implement Decaying Time Loop

* [WHO] Implement Jenny, Generated Anomaly
2023-10-06 23:25:24 -04:00
Susucre
5c4cc02415
[WHO] Implement Banish to Another Universe, Crisis of Conscience, Cyberman Patrol, Cybermen Squadron, Dalek Squadron (#11272)
* [WHO] Implement Banish to Another Universe

* [WHO] Implement Crisis of Conscience

* [WHO] Implement Cyberman Patrol

* [WHO] Implement Cybermen Squadron

* [WHO] Implement Dalek Squadron
2023-10-06 23:24:05 -04:00
Susucre
0c79b96a6a
[WHO] Implement Heaven Sent (#11266) 2023-10-06 23:23:24 -04:00
Susucre
9af33818f7
[WHO] Implement Astrid Peth, Jenny Flint, Madame Vastra (#11265)
* [WHO] Implement Astrid Peth

* [WHO] Implement Jenny Flint

* [WHO] Implement Madame Vastra
2023-10-06 23:23:13 -04:00
Susucre
13b314df30
[WHO] Implement Into the Time Vortex (#11264) 2023-10-06 23:23:01 -04:00
Susucre
f14479c53c
Add custom options for starting life total and starting hand size (#11259)
* add startHandSize / startLife to the custom option panel

* use the custom startLife/startHandsize in all Game Modes
2023-10-06 23:22:48 -04:00
theelk801
3e6097b70e fix verify failure 2023-10-06 18:39:50 -04:00
theelk801
bc6fb756a2 [WHO] update spoiler and reprints 2023-10-06 18:15:08 -04:00
xenohedron
c7057598fe add tests related to #9839 (ignored failing) 2023-10-06 01:45:54 -04:00
xenohedron
a516105899 followup fix for Disorder in the Court 2023-10-06 01:10:36 -04:00
Codermann63
8f9359d856
[WOC] Implement Liberated Livestock (#11196)
* Development Liberated Livestock
* Liberated Livestock version 1 - choose from hand or graveyard
* Liberated Livestock ready to merge into main
* Worked out some kinks and added author text
* Implemented changes suggested by xenohedron
* Removed game.pause / unpause
* adjust and cleanup

related to #11213, eliminate manual zone choice

align tests to new functionality

---------

Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-10-06 01:07:11 -04:00
xenohedron
bc9cb7d24e fix #9319 (Disorder in the Court) 2023-10-06 00:58:45 -04:00
xenohedron
6e18dbd2e4
new ExileReturnBattlefieldNextEndStepTargetEffect (#11251)
* adjust ExileThenReturnTargetEffect

* initial rework ExileReturnBattlefieldNextEndStepTargetEffect

(test coverage provided by CloudshiftTest)

* refactor some more cards

* refactor more straightforward cards

* add params and more refactoring

* text fixes

* maintain order in set

* fix Lae'zel's Acrobatics and add test
2023-10-05 22:04:12 -04:00
xenohedron
c8e2282a79
some more text improvements (#11258)
* text on Eldrazi Spawn token

* refactor: return Ability instead of void

* cleanup assigning null to staticText

* cleanup Mimic cycle and GainAbilitySourceEffect

adjust Groundling Pouncer

* remove hardcoded rule param from SpellCastControllerTriggeredAbility

* fix #11257
2023-10-05 22:04:02 -04:00
xenohedron
cd6c5aa7ac
improve usability of Rebound ability (#11261)
* remove boilerplate template comments

* fix Rebound, now need to choose only once

* fix text: Harmless Assault
2023-10-05 22:03:23 -04:00
Susucre
cf395f9f66
[WOC] Implement Court of Locthwain (#10973) 2023-10-05 22:03:07 -04:00
PurpleCrowbar
9cc0a8a9c2 [WHO] Implement Gallifrey Stands 2023-10-06 02:22:08 +01:00
PurpleCrowbar
df230654c6 Fix Lord of Lineage text 2023-10-05 01:20:16 +01:00
PurpleCrowbar
c1b9398785 Add hints to several cards 2023-10-04 23:06:33 +01:00
theelk801
075673aa69 [WHO] update spoiler and reprints 2023-10-04 10:02:09 -04:00
chesse20
82ef38a4a3
fix Terraformer (#11255) 2023-10-03 23:17:47 -04:00
xenohedron
708ec9b8e9 text fixes and filter corrections: GainAbilityControlledEffect 2023-10-03 23:05:52 -04:00
xenohedron
c8da0f6216 fix Morph reminder text 2023-10-03 23:04:56 -04:00
xenohedron
9456650693
Merge pull request #11178 from ssk97/MorphRework_v2
Morph rework and check spell characteristics
2023-10-02 23:01:40 -04:00
Susucre
7c454fb24c
Rework AsThough handling to allow choosing/affecting a specific alternate cast (#11114)
* Rework AsThoughEffect

* some cleanup of MageIdentifer

* refactor ActivationStatus

* fix bolas's citadel

* fix a couple of the Alternative Cost being applied too broadly.

* fix Risen Executioneer

* allow cancellation of AsThough choice.

* fix One with the Multiverse

* cleanup cards needing their own MageIdentifier

* last couple of fixes

* apply reviews for cleaner code.

* some more cleanup
2023-10-02 18:42:54 -04:00
xenohedron
ba135abc78
refactor: common classes for LeaveBattlefieldExile (#11248) 2023-10-02 18:42:25 -04:00
Oleg Agafonov
9d1ad256a5 Standard Bearer - fixed that cards with TargetsHaveToTargetPermanentIfAbleEffect can brake multi-modes cards (can be related to #9769) 2023-10-02 14:12:56 +04:00
Steven Knipe
26af2602e4 Merge branch 'master' of https://github.com/magefree/mage.git into MorphRework_v2
# Conflicts:
#	Mage.Sets/src/mage/cards/b/Banefire.java
2023-10-01 22:59:27 -07:00
Steven Knipe
97d35f1d3d Add comment for getSpellAbilityFromEvent 2023-10-01 22:55:20 -07:00
Steven Knipe
639aba4592 CastAsThoughItHadFlashAllEffect applies function variant throws error instead of returning false 2023-10-01 22:50:22 -07:00
Steven Knipe
47fc192a36 "ERROR," -> "Wrong code usage:" in IllegalArgumentException 2023-10-01 22:41:24 -07:00