public void Spellbind() { if (HasStatusEffect(StatusEffects.Transformed)) { ReturnToOriginalForm(); OriginalTransformForm.Spellbind(); } else { if (HasKeyword(Keywords.Summon)) { RemoveUnit(true); } else { foreach (var enchantment in Enchantments) { if (enchantment.Enchantment.Status != UnitEnchantment.EnchantmentStatus.Passive) { enchantment.IsActive = false; } } UpdateOwnerStats(false); ConfiscatedCards.Clear(); ImprisonedUnits.Clear(); CurrentStatusEffects.Clear(); CurrentStatusEffects.Add(StatusEffects.Spellbound); UpdateEnchantments(); } } }
public void ReturnCaptureCards() { foreach (var card in ConfiscatedCards) { card.Owner.AddToHand(card); } foreach (var unit in ImprisonedUnits) { unit.Owner.AddToRedeploy(unit); } ConfiscatedCards.Clear(); ImprisonedUnits.Clear(); }
public void CaptureCard(Card confiscatedCard = null, Unit imprisonedUnit = null) { if (confiscatedCard == null && imprisonedUnit == null) { throw new Exception("Cannot capture no cards"); } if (confiscatedCard != null) { ConfiscatedCards.Add(confiscatedCard); confiscatedCard.Owner.Hand.RemoveCard(confiscatedCard); } if (imprisonedUnit != null) { ImprisonedUnits.Add(imprisonedUnit); imprisonedUnit.RemoveUnit(); } }