Exiling is this game’s equivalent of removing from the game entirely. Discarding, kill/destroy effects will both put creatures in the graveyard where Dark Petition can bring them back in order of when they landed there (LIFO style - last in, first out).
There are 2 of these types of effects in the game - Exile and Destroyed. The difference is important, as you’ll notice.
We do not have an accessible graveyard. This decision was made because it was cluttering the UI and was difficult to read in a meaningful way. In paper Magic, it’s very simple, but in our game the graveyard can get huge and this causes multiple problems.
However, we still have the concept of a graveyard, in what we call “Destroyed cards”. This is how it works.
Any spell you cast is considered Destroyed.
Any card in hand that is hit by discard effects FROM SPELLS AND ABILITIES (not manually exiling) is considered Destroyed
Every creature that dies (from the battlefield) is considered Destroyed.
When you reinforce a creature, the creature that is cast is not considered to be Destroyed until the reinforced creature dies
When a support gem is matched away (or destroyed through spells and effects), the support is considered Destroyed
The one thing that needs a bit of clarification is for reinforcing. Basically, when you reinforce a creature, you have two cards - the reinforcer (the card you’re casting) and the reinforcee (the card on the battlefield). The reinforcer is only considered to be Destroyed when the reinforcee died. When the reinforcee dies, every copy that was used to reinforce it is placed in the Destroyed pile. If you reinforced a creature 3 times, when that creature dies, 4 copies are placed in the Destroyed pile.
Tokens can only ever be on the battlefield. If they are moved ANYWHERE else they are automatically exiled. Likewise when they die, they are exiled.
Exiled cards are removed from the game. They are actually removed as objects in the game’s memory, so you cannot do anything about them.
Hopefully this will make it a bit simpler for you guys to understand.
I’ll look into it, but if that happened it would need to return all copies whenever a bounce happens, which would most likely problematic. It’s something I can investigate.