* [LTR] Implement Gandalf, White Rider
* Took ideas from the God Eternals, Arwen Undomiel and Enigma Sphinx.
* Tested it with multiple interactions, including murdering a stolen Gandalf with Agent of Treachery.
* Forgot to add myself as author
* Implemented requested fixes
* Changed it to use `DiesSourceTriggeredAbility()`
* Changed to `getValue("permanentLeftBattlefield")`
* Stolen interactions are properly working now
* ZCC comparison
* Based on the God Eternals, hope its up to spec
* Implement Moria Scavenger, Saruman The White Hand, Wake The Dragon
* Remove Ward Hint
* Create Dragon Token Class
* StaticFilters.FILTER_SPELL_A_NON_CREATURE
* Rename TokenTriggeredAbility
* [LTR] Implement Strider, Ranger of the North
* Took ideas from a few cards with similiar effects.
* Creature power check based on Ent's Fury
* Did a few playtests to ensure effects work and tested with additional creatures with landfall in the battlefield
* Forgot to add myself as author
* Update StriderRangerOfTheNorth.java
* Removed unnecessary public access
* Removed redundant `return true;`
* Added a temporary fix to the power check
* Fixed condition
* Fixed it by giving the temporary buff outside of the custom effect
* Tried to implement a condition like Dormant Grove uses but had no success, `First Strike` was still not being applied.
* Also tested the card Ent's Fury, it works because it checks the creature power before giving it any counters
* Fixed static text
* [LTR] Implement Stone of Erech
Grouped together two other recent cards for that exact same replacement effect.
* refactor some more
This does extend the ReplacementEffect "If ... would die, exile it instead", using a `PermanentFilter`. [[Void Maw]] and [[Lorcan, Warlock Collector]] have thus be refactored to use that instead of a custom replacement effect.
Added a static filter `StaticFilters.FILTER_ANOTHER_CREATURE` for Void Maw that is filtering "another creature".
Found and refactored cards that were declaring that exact filter locally
* [[Flame-Kin War Scout]]
* [[Herd Gnarr]]
* [[Mogg Bombers]]
* [[Timid Drake]]
* fix void maw
* reverse changes on VoidMaw
Void Maw was a linked ability, so not exactly the same replacement effect that was refactored.
* fix Unsettled Mariner + Field of Ruin
There was something weird with zcc on TargetOfOpponentsSpellOrAbilityTriggeredAbility
setting the target to the stack object for its triggered effect.
I do not entirely comprehend how FixedTarget works, in particular regarding zcc of stack objects.
However all configurations of the trigger seem to work with the uninitialized FixedTarget constructor,
instead of the one initialized with a game's zcc.
* slight refactor of TargetOfOpponentsSpellOrAbilityTriggeredAbility
* First try at Squad Mechanic
* Fully functional now, removed cards from unfinished list in 40k
* Improved implementation, removing the generic conditional
and replacing it with a separated ETB trigger and effect.
* Add tests from Susucre (using Strionic Resonator for now, two others currently failing)
* Update comments on tests
Closes#9774
------
Co-authored by: Susucre <34709007+susucre@users.noreply.github.com>
- Fix superfluous null check in Lithoform Engine
- Remove hardcoding of controlled abilities in TargetTriggeredAbility (used only in Strionic Resonator)
- EnchantmentSourcePredicate analogous to ArtifactSourcePredicate
* Hide reminder text on Zhulodok
* Use logic from GainAbilitySpellsEffect, fix so that CastFromZonePredicate works
* Text adjustments
* Show cascade ability in hand for Abaddon the Despoiler
* Remove redundant class
* Simplify Cast Through Time
* Don't add additional instances of redundant abilities
* Remove redundant check
* Add option to ignore mana validation when checking playable objects
* Fix null errors
* Fix GainAbilityControlledSpellsEffect to apply ability to playable cards rather than owned cards
* Add unit test
* Revert bad workaround code
This reverts commit 17f5be6a79.
This reverts commit 7ebd2f1815.
This reverts commit 00969d1fe7.
* Remove ownership check on exiled cards
* Another test (currently failing)
* ignore test
* fix test: strict choose mode
* added Tests for Tadeas
* Fix and cleanup Tadeas Juniper Ascendant
* Fix same power test to attack with creature with same power
* Test: added test for tadeas elusive not applying for creatures without reach
* Fix: creatures without reach can be blocked by higher power blockers
* Fix: use TargetPointer instead of MageObjectReference
---------
Co-authored-by: gravitybone <gravitybone@protonmail.com>