Mage: ELD - Throne of Eldraine Set Card Implementation Tracking

Created on 4 Sep 2019  路  76Comments  路  Source: magefree/mage

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.

All Sets

Unimplemented Cards

None

Implemented Cards

Click to expand

tracking set

All 76 comments

All cards are implemented (except none of the Adventure cards are available as the actual Adventure mechanic is not yet implemented)

Additional Tasks

Implement Adventures (rules described here)

  • [x] create a subclass of CardImpl with constructor that takes the characteristics of the adventure
  • [x] add an attribute adventureSpellAbility that will function like spellAbility does in regular cards
  • [x] actually make the whole mess work somehow

Most of the adventure cards are not mechanically complicated, so they've been implemented in a nonfunctional way.

Update TargetAmount to handle differences in targets/amounts

  • [x] [Sundering Stroke](https://scryfall.com/search?q=!"Sundering+Stroke") and Forked Lightning both need to target fewer creatures than they deal damage
  • [ ] [Vivien, Arkbow Ranger](https://scryfall.com/search?q=!"Vivien+Arkbow+Ranger") needs to be able to target "up to" two target creatures, currently has to target at least one.

As always, suggestions are welcome.

Some issues on cards I implemented, I'm gonna try fixing those. These screen shots were taken within the last 30 minutes of this posting.

Crystal Slipper doesn't have the first part of the card.
Screen Shot 2019-09-04 at 8 48 29 PM
Wishful Merfolk is a mess in general.
Screen Shot 2019-09-04 at 8 51 04 PM

PR opened for Faerie Vandal

  • [ ] Syr Konrad, the Grim
java.lang.ClassCastException: mage.game.events.GameEvent cannot be cast to mage.game.events.ZoneChangeEvent
        at mage.cards.s.SyrKonradTheGrimTriggeredAbility.checkEventType(SyrKonradTheGrim.java:74)
        at mage.abilities.TriggeredAbilities.checkTriggers(TriggeredAbilities.java:50)
        at mage.game.GameState.handleEvent(GameState.java:705)
        at mage.game.GameImpl.fireEvent(GameImpl.java:2597)
        at mage.players.PlayerImpl.shuffleLibrary(PlayerImpl.java:1616)
        at mage.game.GameImpl.init(GameImpl.java:898)
        at mage.game.GameCommanderImpl.init(GameCommanderImpl.java:74)
        at mage.game.CommanderFreeForAll.init(CommanderFreeForAll.java:31)
        at mage.game.GameImpl.start(GameImpl.java:722)
        at mage.server.game.GameWorker.call(GameWorker.java:34)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Oko, Thief of Crowns first ability (+2 : Create a Food Token) in game it's coded as (-X : Create Two Food Tokens)

Thanks for the report, but that one is already fixed and will be in the next release.

No problem, sorry about that.

No apologies needed, bug reports are always appreciated.

Out of curiosity, how would I implement the code for cards that aren't in an update yet into my current build of xmage?

Are you just looking to run the latest build? Check out the guide here. You'll have to clone and build the repository yourself. You can also just connect to the beta server, it's usually close to the latest build.

I really wanted to just test the new cards that aren't implemented yet as I think I found a way to break modern hogaak style again using the new troll. I have both servers and clients but i'm just very new at coding. I can of course be patient for the next release. Just curious about how i can go about cloning the repository. Would it take long?

There is a card missing in the set implementation: Shambling Suit

@MLGMANTIS cloning the repository doesn't take too long, just follow the steps in the guide.

@tsirides Shambling Suit will be added once its collector number is known

I made a pull request with some fixes on:

  • Inspiring Veteran (he was affecting himself as well and I drew the code from Merfolk Mistbinder)

  • Worthy Knight was seeing only Humans instead of Knights, and fixed this as well.

Arcanist's Owl is not triggering

Owl is already fixed

@theelk801 Do you have any idea why I was trying to find the Vantress Gargoyle yesterday and it wasn't showing up? Is it okay for you? On the test build I did from Netbeans.

Yeah, it was an issue with how I implemented it. I've fixed it now.

@theelk801

  • Vantress Gargoyle is still not showing.
  • Inspiring Veteran's text on the card reads Knights you Control get +1/+1

Any ideas why these still happening and how it can be resolved?

Your database is most likely out of date, check out the instructions here

I already pushed Stonecoil Serpent @theelk801 and did a pull request.

Fixed the DB problem, thanks! :)

Thanks, just for future reference leave a comment before you implement the card so I know not to do it.

Okay sure! sorry for the inconvenience :)

i'm just curious is all, when is the next update of the card database planned? :) I read all the info on the setup of cloning the repository and something went wrong and it didn't work lol. So I gave up haha

I'm not sure when the next release is but you can always use the beta server.

I'm not sure when the next release is but you can always use the beta server.

Do we need to use beta? 'cause weren't ELD cards uploaded to every server?

The beta server has the latest (or nearly the latest) version, the other servers only have up to a certain point.

Feasting troll king has a bug where I can't sac three foods to return him to the battlefield during my turn, or any turn for that matter.

it also says return to hand and not battlefield.

Irencrag feat doesn't do anything aswell

just pushed a fix for both of those

Piper of the Swarm gives Rats +1/+1 when it should give Menace.

@theelk801 what's with adventures cards? Do you need help to implement that feature?

Yeah, I'd appreciate some help with that. I've mostly been implementing cards but I haven't really gotten around to actually making adventures actually work.

Bug report: Idyllic Grange puts the +1/+1 counter even if it doesn't enter untapped

Bug reports:

  • [x] Opportunistic Dragon does not return the permanent that has taken to its owner after leaving the battlefield

  • [x] Run Away Together lets choose two creatures from one only player

  • [x] Witch's Cottage makes choose a creature card in the graveyard even if it does not enter untapped. However, afterwards it does not return it if entered tapped.

I've updated the "additional tasks", Sundering Stroke isn't doable right now.

Gadwick, the Wizened bug:

no matter what X is chosen, 0 cards are drawn.

Witch's Cottage Bug:

entered untapped but etb ability did not happen
image

Idyllic Grange bug:

same problem as above
My guess is all the lands in this cycle have the same problem.

Yeah, I've already pushed fixes for those.

Searing Barrage dealing extra damage:

adamant ability deals 5 to player when triggered - it should only deal 3.

Cauldron's Gift bug:

the creature returns to the battlefield WITHOUT the +1/+1 counter.

Joust bug:

No matter which creatures are chosen, the first creature will always fight itself (and usually die).

Torbran, Thane of Red Fell did not increase damage done by red sources (neither from a sorcery nor in combat).

Bug report:

Heraldic Banner gives +1/+0 to ALL creatures of the chosen color

Fires of Invention allows more than 2 spells per turn.

Fabled Passage is always bringing lands untapped, it needs to be when you have four or more lands.

Rankle, Master of Pranks forces you to choose all 3 every time.

I pushed a temporary fix for Rankle but it still doesn't let you choose zero modes

just a suggestion for coding the adventure from someone that hasnt tried coding cards yet.

code as double sided

giving the cards an ability in hand that casts the adventure side and at resolution places in exile to cast? and naming it as a mechanic.

not sure if itll work properly or not.

Deathless Knight did not return to my hand when I gained life from a Food Token.
image
I also tried it during my turn.

  • [x] The Great Henge:
java.util.NoSuchElementException: No value present
        at java.util.OptionalInt.getAsInt(OptionalInt.java:118)
        at mage.cards.t.TheGreatHengeCostReductionEffect.apply(TheGreatHenge.java:94)
        at mage.abilities.effects.ContinuousEffects.costModification(ContinuousEffects.java:634)
        at mage.players.PlayerImpl.canPlay(PlayerImpl.java:2936)
        at mage.players.PlayerImpl.getPlayable(PlayerImpl.java:3133)
        at mage.players.PlayerImpl.getPlayableObjects(PlayerImpl.java:3288)
        at mage.server.game.GameSessionPlayer.getGameView(GameSessionPlayer.java:192)
        at mage.server.game.GameSessionPlayer.lambda$select$2(GameSessionPlayer.java:63)
        at java.util.Optional.ifPresent(Optional.java:159)
        at mage.server.game.GameSessionPlayer.select(GameSessionPlayer.java:63)
        at mage.server.game.GameController.lambda$select$19(GameController.java:802)
        at mage.server.game.GameController.perform(GameController.java:928)
        at mage.server.game.GameController.perform(GameController.java:921)
        at mage.server.game.GameController.select(GameController.java:802)
        at mage.server.game.GameController.lambda$init$3aa0d15c$2(GameController.java:190)
        at mage.game.events.EventDispatcher.fireEvent(EventDispatcher.java:30)
        at mage.game.events.PlayerQueryEventSource.select(PlayerQueryEventSource.java:41)
        at mage.game.GameImpl.firePriorityEvent(GameImpl.java:2174)
  • [x] Memory Theft:
Caused by: java.lang.IllegalStateException: Target wasn't handled. class:class mage.target.common.TargetCardInExile
        at mage.player.ai.ComputerPlayer.choose(ComputerPlayer.java:429)
        at mage.player.ai.ComputerPlayer.choose(ComputerPlayer.java:125)
        at mage.cards.m.MemoryTheftEffect.apply(MemoryTheft.java:80)
        at mage.abilities.AbilityImpl.resolveMode(AbilityImpl.java:176)
        at mage.abilities.AbilityImpl.resolve(AbilityImpl.java:166)
        at mage.game.stack.Spell.resolve(Spell.java:217)
        at mage.player.ai.ComputerPlayer6.resolve(ComputerPlayer6.java:392)
        at mage.player.ai.ComputerPlayer6.addActions(ComputerPlayer6.java:233)

Covetous Urge does not allow you to cast the exiled card.

Rankle, Master of Pranks was not fixed with version 4 - it still forces you to choose all 3.

Syr Konrad seems to be crashing games still.

Wicked Guardian makes you draw two cards instead of one if 2 damage is dealt to a creature you control

Run Away Together does nothing
image

Keeper of Fables does not trigger the second time when a double strike nonHuman does combat damage.

The second-card ability still only triggers once per game.

Sundering Stroke's adamant does not work. With 7 red mana, I chose the first one and it made me choose the damage,w which i put at 7, and then I couldn't chose other targets.

I need to confirm this, but it seems that covetous urge may open up the entire exile zone to castability (as well as one's graveyard!)

Sundering Stoke should work fine, the problem is that with the way the rules work you have to divide the damage no matter what, even if you鈥檙e just dealing seven to each. We could probably add a note but I鈥檓 not sure how.

You can use card hints to add extra info (static, dynamic, icon, more) to abilities. Like ability.addHint(new StaticHint('Damage is not damage'h)

Deafening Silence does nothing, all players are able to cast as many non-creature spells per turn as they like.

Oakhame Adversary could not be cast for the reduced cost when opponent had a green permanent (Oko)

image

Lochmere Servent does not exile cards from the opponent's graveyard.

image

1.4.39.dev_2019-09-27_18-55

I attacked with a 2 power Dreadhorde Arcanist and a Syr Faren, the Hengehammer. I ordered their triggers so that the Arcanist's resolves first (choosing a Domri's Ambush in the graveyard targeting Syr Faren). With Syr Faren's trigger, I chose to give the Arcanist +X/+X. Syr Faren's power went up to 3 with the Ambush, but when his triggered ability resolved, it only gave the Arcanist +2/+2.

If I repeat the same scenario with a Giant Growth instead of a Domri's Ambush, Syr Faren's trigger will increase the Arcanist's power and toughness by the correct amount (+5/+5).

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.

All Sets

Unimplemented Cards

None

Implemented Cards

Click to expand

There is one card missing: Merchant of the Vale // Haggle
https://i.imgur.com/vjjT6Xk.png

None of the adventures are available yet

None of the adventures are available yet

I know, but other adventure cards (like Giant Killer) are searchable, so I thought that Merchant of the Vale not doing so was an issue

Do we have an ETA on the Adventures?

Defeaning Silence doesn't do anything except cost you 1 mana

Hi

Seems that Improbable Alliance is not working:
The token is created the first time the second card is draw, but then no other token are created during next turns even after two draws.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dosfod picture dosfod  路  7Comments

mattiasb picture mattiasb  路  13Comments

fenhl picture fenhl  路  7Comments

spjspj picture spjspj  路  11Comments

copperfield42 picture copperfield42  路  6Comments