Commit graph

12099 commits

Author SHA1 Message Date
Susucre
06dc5be2d8
[WHO] Implement Davros, Dalek Creator (#11313) 2023-10-16 20:36:36 +02:00
xenohedron
b3bc6b94aa improve text generation 2023-10-15 23:43:10 -04:00
xenohedron
7f2924b764 text fixes 2023-10-15 00:56:25 -04:00
theelk801
eb489e3ed4 [WHO] Implement Judoon Enforcers 2023-10-14 19:05:02 -04:00
Rowan Gudmundsson
76f38201c0
Implement [CLB] Aboleth Spawn (#9857)
Update `StackAbility::createSingleCopy` to properly set controller

Includes test coverage

---------

Co-authored-by: Rowan Gudmundsson <rowan.gudmundsson@oddball.io>
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-10-14 17:12:15 -04:00
Evan Kranzler
d705fa0e41
Implement Villainous Choice mechanic (#11304)
* [WHO] Implement Great Intelligence's Plan

* [WHO] Implement The Valeyard

* add comment for villainous choice event
2023-10-14 15:27:45 -04:00
xenohedron
ccb888b17c text gen: random mode choice 2023-10-14 14:36:42 -04:00
Oleg Agafonov
06138ab3d3 AI: refactor PassAbility usage, added additional runtime checks 2023-10-14 15:57:19 +04:00
Oleg Agafonov
d57a3c100d Performance: fixed server's big memory usage in long games and in big stack sizes (related to #11285, fixes #9302) 2023-10-14 15:54:10 +04:00
Oleg Agafonov
36ccfb0a2a Performance: fixed memory leaks on each card viewer or draft open (10 Mb per call, related to #11285, fixes #9548) 2023-10-14 12:39:49 +04:00
PurpleCrowbar
7bc5105c1f
Implement Time Travel mechanic (#11299)
Implement [WHO] Wibbly-wobbly, Timey-wimey
2023-10-13 23:28:29 -04:00
xenohedron
2013895530 lots of text fixes 2023-10-13 23:27:44 -04:00
xenohedron
0081279d15 improve DontUntapInControllersUntapStepAllEffect 2023-10-13 23:27:44 -04:00
xenohedron
519ecb35c1 Implement [APC] Suppress 2023-10-13 23:27:44 -04:00
theelk801
490e530423 change paradox from flavor word to ability word (nonfunctional) 2023-10-13 09:25:57 -04:00
theelk801
bdf6aa5379 [WHO] Implement Cult of Skaro 2023-10-13 09:12:40 -04:00
xenohedron
578b6821b5 remove unnecessary null check 2023-10-12 19:00:21 -04:00
xenohedron
fa49ffd27f fix siege defeated trigger to be optional 2023-10-11 20:53:09 -04:00
xenohedron
e6e241cfcb fix notTarget handling in TargetPermanentAmount 2023-10-11 20:53:09 -04:00
Oleg Agafonov
fe8b8e1def server: fixed npe error on load tests (miss buffer timer), code refactor 2023-10-11 14:15:15 +04:00
theelk801
09dbdccfb2 [WHO] Implement Clara Oswald 2023-10-10 15:17:45 -04:00
xenohedron
bd7ae640c5 fix some effects to use DoIfCostPaid 2023-10-09 23:52:57 -04:00
xenohedron
87756a5cfa text fixes 2023-10-09 23:52:57 -04:00
xenohedron
85236b3455
Implement booster collation for BRO (#10364) 2023-10-09 21:48:09 -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
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
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
xenohedron
5ba47db226 text adjustment: untap all lands 2023-10-08 01:36:28 -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
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
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
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
Steven Knipe
731b391306 return guard Style change 2023-10-01 22:25:37 -07:00