Exemple #1
0
    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();
            }
        }
    }
Exemple #2
0
    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();
    }
Exemple #3
0
    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();
        }
    }