Skip to content

[Card Bug] Jeleva, Nephalia's Scourge — ETB exiles 1 not X with permanent target prompt; attack trigger lets opponent cast my exiled creature; cast creature still enters under my control #326

Description

@matthewevans

Card

Jeleva, Nephalia's Scourge

Oracle text (verified from client/public/card-data.json)

Flying
When Jeleva enters, each player exiles the top X cards of their library, where X is the amount of mana spent to cast Jeleva.
Whenever Jeleva attacks, you may cast an instant or sorcery spell from among cards exiled with Jeleva without paying its mana cost.

Reported behavior (multiple subbugs)

Both of Jeleva's triggers are broken.
On ETB, it seems each player exiled 1 card from top of library, rather than X. The game also showed me a whole bunch of cards to pick from. The chosen card was exiled.
Actually, it appears to exile the target on attack, with the AI choosing whether to cast that card from exile or not.
Wait hold on, a completely different player somehow had the option of casting my exiled creature????
And it still entered under my control.

(Discord thread: Jeleva, Nephalia's Scourge very bugged, 2026-05-11)

Parser status (verified — multiple bugs)

ETB trigger:

trigger.execute: ChangeZone {
  destination: Exile,
  target: Typed[Card, InZone: Library],   // <-- wrong: any-library-card targeting prompt; should be top-N
  ...
}
trigger.execute.player_scope: All

Two parser bugs in the ETB:

  1. Missing count — there's no count: X referencing the mana-spent-to-cast quantity. ChangeZone defaults to a single object. The phrase "exile the top X cards of their library, where X is the amount of mana spent to cast Jeleva" needs to compose a typed quantity ref (likely QuantityRef::ManaSpentToCast { scope: SelfObject, metric: Total }, similar to the Painful Truths Converge fix [Card Bug] Painful Truths — Converge X parsed as ObjectCount with empty filter (counts whole battlefield) #307) and a "from top of library" iteration.
  2. Wrong target shapetarget: Typed[Card, InZone: Library] lets the runtime offer any library card. Should be a typed LibraryTopN shape that auto-selects top-N cards without a prompt.

Attack trigger: needs separate inspection but the user reports it appears to exile a target on attack (when the Oracle text is actually a permission to cast from already-exiled cards) and the cast goes to an opponent who then casts under their control.

Class scope

This is the same family as the closed from among cards exiled with this card work (#316/parser-bundle d04aab782/#25). Jeleva is the canonical Commander-format card for this pattern. The ETB count bug is the sibling Converge-style class to #307. The attack trigger should reuse the TargetFilter::ExiledBySource + CastingPermission::PlayFromExile machinery shipped in the parser bundle and #886ff47fd.

Source

Discord thread: "Jeleva, Nephalia's Scourge very bugged" (2026-05-11)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions