Mark cards you're working on in the second post of this issue.
If you can't check things off, leave a comment instead.
Once the card is committed, check off the card here to show that it's finished.
Don't worry about adding new spoilers to this list, it's generated by a script.
Implemented Cards
Additional tasks:
RELEASE reports (de-server on 2019-04-24 16:47:28):
BETA reports:
AI:
Other cards TODO and checks:
There was another one like that that I see a lot...I can't remember what it is
I think it might be spells with multiple targets breaking up into 'target x does x', 'target x (or y) does x (or y)', etc., but I think the type word is always missing
Something like that
I think it's specifically for spells where you can legally target the same permanent multiple times
(Or maybe player, if there are any cards like that)
I'll see if I can't find an example
Hi all,
I'm going to jump in and do:
Centaur Nurturer
Contentious Plan
Awakening of Vitu-Ghazi convert land, then 10 +1/+1 counter in land,xmage display 5/5(build:19-04-13 03:28 )

Feather seems to have a bug where it's ability is triggered even by spells controlled by the opponent if they target your creatures. This only seems to happen in a Feather mirror match.
Thanks, I'll look into it
in my turn Gideon Blackblade not is creature
can't cast Gideon's Triumph,this is exception message:
Game exception occurred: java.lang.NullPointerException
Server version: 1.4.34V1.5 (build: 2019-04-18 12:55)
mage.cards.g.GideonsTriumphCondition.apply(GideonsTriumph.java:91)
mage.cards.g.GideonsTriumphCondition.apply(GideonsTriumph.java:85)
mage.filter.predicate.Predicates$AndPredicate.lambda$apply$0(Predicates.java:145)
java.util.stream.MatchOps$1MatchSink.accept(Unknown Source)
java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)
java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
java.util.stream.AbstractPipeline.copyInto(Unknown Source)
java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
java.util.stream.AbstractPipeline.evaluate(Unknown Source)
java.util.stream.ReferencePipeline.allMatch(Unknown Source)
mage.filter.predicate.Predicates$AndPredicate.apply(Predicates.java:145)
mage.filter.FilterImpl.match(FilterImpl.java:38)
mage.game.permanent.Battlefield.lambda$countAll$0(Battlefield.java:63)
java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
java.util.Iterator.forEachRemaining(Unknown Source)
java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
java.util.stream.AbstractPipeline.copyInto(Unknown Source)
java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
java.util.stream.AbstractPipeline.evaluate(Unknown Source)
java.util.stream.LongPipeline.reduce(Unknown Source)
java.util.stream.LongPipeline.sum(Unknown Source)
java.util.stream.ReferencePipeline.count(Unknown Source)
mage.game.permanent.Battlefield.countAll(Battlefield.java:65)
mage.abilities.effects.common.SacrificeEffect.apply(SacrificeEffect.java:56)
mage.cards.g.GideonsTriumphEffect.apply(GideonsTriumph.java:81)
mage.abilities.AbilityImpl.resolveMode(AbilityImpl.java:176)
mage.abilities.AbilityImpl.resolve(AbilityImpl.java:166)
mage.game.stack.Spell.resolve(Spell.java:220)
mage.game.GameImpl.resolve(GameImpl.java:1319)
mage.game.GameImpl.playPriority(GameImpl.java:1269)
mage.game.turn.Step.priority(Step.java:61)
mage.game.turn.CombatDamageStep.priority(CombatDamageStep.java:31)
mage.game.turn.Phase.playStep(Phase.java:184)
mage.game.turn.Phase.play(Phase.java:89)
mage.game.turn.Turn.play(Turn.java:127)
mage.game.GameImpl.playTurn(GameImpl.java:850)
mage.game.GameImpl.play(GameImpl.java:759)
mage.game.GameImpl.start(GameImpl.java:723)
mage.server.game.GameWorker.call(GameWorker.java:34)
java.util.concurrent.FutureTask.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
client version:1.4.33.dev_2019-04-18_12-59
I'm pushing fixes for both of those, thanks
chiming in - grabbing Ugin's Conjurant and Finale of Devastation
Thanks, I'll look into it
I think I may have an idea on the Feather bug (since it just happened).
I was in an EDH game with 4 other people and I had cast a cantrip with Feather out (so naturally, the trigger occurred). Then the blue player answered with Reality Shift on my other creature (note, not Feather). At the end step, his cantrip was returned to his hand, and not mine.
Maybe it is a fault on the way Feather chooses which cantrip to return to hand, picking the last card on the stack? Not sure, haven't studied Feather's code extensively.
Thanks, I'll look into it
I think I may have an idea on the Feather bug (since it just happened).
I was in an EDH game with 4 other people and I had cast a cantrip with Feather out (so naturally, the trigger occurred). Then the blue player answered with Reality Shift on my other creature (note, not Feather). At the end step, his cantrip was returned to his hand, and not mine.
Maybe it is a fault on the way Feather chooses which cantrip to return to hand, picking the last card on the stack? Not sure, haven't studied Feather's code extensively.

This also happened on a turn Feather was in exile at the begining of the turn (she wasn't present for the casting of the five spells)
Bug reports from de-server about new cards added to post above:
https://github.com/magefree/mage/issues/5662#issuecomment-480773122
Most helpful comment
Hi all,
I'm going to jump in and do:
Centaur Nurturer
Contentious Plan