Exemplo n.º 1
0
        public void DiscardEnergyCard(EnergyCard energyCard, GameField game, bool isExtraCost = false)
        {
            if (!isExtraCost)
            {
                var preventer = TemporaryAbilities.OfType <EffectPreventer>().FirstOrDefault();

                if (preventer != null)
                {
                    game.GameLog.AddMessage($"Discard energy card prevented by {preventer.Name}");
                    return;
                }
            }

            AttachedEnergy.Remove(energyCard);
            Owner.DiscardPile.Add(energyCard);

            game?.SendEventToPlayers(new AttachedEnergyDiscardedEvent
            {
                FromPokemonId = Id,
                DiscardedCard = energyCard
            });

            energyCard.OnPutInDiscard(Owner);
        }
Exemplo n.º 2
0
 public bool CanAttack()
 {
     return(!IsParalyzed && !IsAsleep && !TemporaryAbilities.OfType <PassiveAbility>().Any(x => x.ModifierType == PassiveModifierType.StopAttack));
 }