public void TriggerAddedToCardPileEffects(object sender, AddedToCardPileArgs args) { if (E_AddedToCardPile != null) { E_AddedToCardPile.Invoke(sender, args); } }
private void SourceCard_E_AddedToCardPile(object sender, AddedToCardPileArgs e) { if (e.previousCardPile is Board && e.newCardPile is Graveyard) { // last breath effect Creature effectCreature = (sender as CreatureCard).Creature; Player effectOwner = effectCreature.Controller; foreach (Card c in effectOwner.Graveyard.CardList) { if (c.CardId == (int)CardIds.RingOfEternity) { c.MoveToCardPile(effectOwner.Hand, effectCreature.SourceCard); break; } } // make sure to remove effect and keyword effectCreature.RemoveKeyword(Keyword.LastBreath); effectCreature.SourceCard.E_AddedToCardPile -= SourceCard_E_AddedToCardPile; } }