Example #1
0
        public override ICardTarget CheckTarget(ICardTarget cardTarget)
        {
            if (base.CheckTarget(cardTarget) == null)
            {
                return(null);
            }

            IOcuppy ocuppier = cardTarget.GetOcuppy();

            if (ocuppier == null)
            {
                return(null);
            }
            Kimboko kim = (Kimboko)ocuppier;

            if (kim == null)
            {
                return(null);
            }
            if (kim.UnitType != unitType)
            {
                return(null);
            }

            return(cardTarget);
        }
 public override ICardTarget CheckTarget(ICardTarget cardTarget)
 {
     IOcuppy occupier = cardTarget.GetOcuppy();
     if (occupier == null) return null;
     for (int i = 0; i < actionStatus.Count; i++)
     {
         if (occupier.Abilities[abilityType].actionStatus != actionStatus[i])
         {
             return null;
         }
     }
     return base.CheckTarget(cardTarget);
 }
Example #3
0
        public override ICardTarget CheckTarget(ICardTarget cardTarget)
        {
            IOcuppy ocuppier = cardTarget.GetOcuppy();

            if (ocuppier == null)
            {
                return(null);
            }
            if (ocuppier.OccupierType != ocuppierType)
            {
                return(null);
            }
            return(base.CheckTarget(cardTarget));
        }
Example #4
0
        public override ICardTarget CheckTarget(ICardTarget cardTarget)
        {
            IOcuppy ocuppier = cardTarget.GetOcuppy();

            if (ocuppier == null)
            {
                return(null);
            }
            if (statModifierComparisonTypeFiltter.IsValidStatModifierType(ocuppier) == false)
            {
                return(null);
            }
            return(base.CheckTarget(cardTarget));
        }
 public override ICardTarget CheckTarget(ICardTarget cardTarget)
 {
     if (cardTarget.CardTargetType != CARDTARGETTYPE.UNIT || cardTarget.CardTargetType != CARDTARGETTYPE.BASENEXO || cardTarget.CardTargetType != CARDTARGETTYPE.BOARDOBJECT)
     {
         return null;
     }
     IOcuppy occupier = cardTarget.GetOcuppy();
     if (occupier == null) return null;
     rDToCheck.SetOcuppier(occupier);
     rDToCheckAgainst.SetOcuppier(occupier);
     ResultDataValidator validator = new ResultDataValidator(comparationType, rDToCheck, rDToCheckAgainst);
     if (validator.IsValid() == false ) return null;
     return base.CheckTarget(cardTarget);
 }
Example #6
0
        public override ICardTarget CheckTarget(ICardTarget cardTarget)
        {
            IOcuppy ocuppier = cardTarget.GetOcuppy();

            if (ocuppier == null)
            {
                return(null);
            }
            if (abilityComparisonIDFiltter.IsValidStat(ocuppier) == false)
            {
                return(null);
            }
            return(base.CheckTarget(cardTarget));
        }
        public override ICardTarget CheckTarget(ICardTarget cardTarget)
        {
            //TODO: IsAlly no se setea desde ningun lado, asi que es una chotada
            IOcuppy ocuppier = cardTarget.GetOcuppy();

            if (ocuppier == null)
            {
                return(null);
            }
            if (ocuppier.IsAlly != isAlly)
            {
                return(null);
            }
            return(base.CheckTarget(cardTarget));
        }
        public override ICardTarget CheckTarget(ICardTarget cardTarget)
        {
            if (cardTarget.CardTargetType != CARDTARGETTYPE.BASENEXO)
            {
                return(null);
            }
            IOcuppy occupier = cardTarget.GetOcuppy();

            if (occupier == null)
            {
                return(null);
            }
            Player player = (Player)cardTarget;

            if (player == null)
            {
                return(null);
            }
            return(base.CheckTarget(cardTarget));
        }
        public override void OnCardEffectApply(ICardTarget cardTarget)
        {
            IOcuppy ocuppier = cardTarget.GetOcuppy();

            if (ocuppier == null)
            {
                return;
            }

            switch (statModifierType)
            {
            case STATMODIFIERTYPE.BUFF:
                // SI ES VIDA NUNCA SE PUEDE CURAR MAS QUE EL MAXIMO
                if (statID == 0)
                {
                    // max 4 actual 3 to add 2
                    // 4 - 3 = 1   2 > 1   2 = 1
                    int maxDiference = ocuppier.Stats[statType].MaxStatValue - ocuppier.Stats[statType].ActualStatValue;
                    if (amountToModify > maxDiference)
                    {
                        amountToModify = maxDiference;
                    }
                }
                else
                {
                    // S ES OTRO STAT VAMOS A AUMENTAR EL MAXIMO
                    int diferenceToAdd = ocuppier.Stats[statType].MaxStatValue - ocuppier.Stats[statType].ActualStatValue;
                    if (amountToModify > diferenceToAdd)
                    {
                        // max 2 actual 2 diference to add = 0

                        // PERO SI ES MOVE RANGE ATTACK RANGE NO PUEDE SER MAS QUE 3
                        if (statID == 1 || statID == 2)
                        {
                            if (ocuppier.Stats[statType].MaxStatValue > 2)
                            {
                                amountToModify = 1;
                                return;
                            }
                        }
                        int newAmount = ocuppier.Stats[statType].MaxStatValue + amountToModify - diferenceToAdd;

                        ocuppier.Stats[statType].ChangeMaxStatValue(newAmount);
                    }
                }

                break;

            case STATMODIFIERTYPE.NERF:
                int difference = ocuppier.Stats[statType].ActualStatValue - amountToModify;
                if (difference < 0)
                {
                    // attack 1, le va a sacar 2 == -1  2 +-1 = 1
                    amountToModify += difference;
                }
                break;

            default:
                break;
            }

            StatModification statModification = new StatModification(ocuppier, ocuppier.Stats[statType], amountToModify, statModifierType);

            ocuppier.Stats[statType].AddStatModifier(statModification);
            ocuppier.Stats[statType].ApplyModifications();
        }