public override void InitializeCard(int IDInGame, Player ownerPlayer, CardData CardData) { base.InitializeCard(IDInGame, ownerPlayer, CardData); // TARGET UNIT // FILTTERS QUE SEA DE TIPO UNIT Y QUE TENGA UN STAT DETERMINADO CardFiltter targetOccupierType = new TargetUnitOccupierTypeFiltter(); CardFiltter statIDFiltter = new TargetHealthStatIDFiltter(); // VERIFICAMOS QUE LA VIDA ACTUAL NO SEA MAYOR A LA VIDA MAXIMA PARA PODER CURARLO int statID = 0; STATAMOUNTTYPE amountType = STATAMOUNTTYPE.ACTUAL; STATAMOUNTTYPE amountTypeToCheck = STATAMOUNTTYPE.MAX; StatIResultData statDataToCheckAgainst = new StatIResultData(statID, amountTypeToCheck); COMPARATIONTYPE comparationType = COMPARATIONTYPE.LESS; CardFiltter targetHealtStatAmountFiltter = new TargetHealtStatAmountFiltter(amountType, statDataToCheckAgainst, comparationType); CardData.cardTargetFiltters.Add(targetOccupierType); CardData.cardTargetFiltters.Add(statIDFiltter); CardData.cardTargetFiltters.Add(targetHealtStatAmountFiltter); // EFFECT HP + 1 int hpStatID = 0; int amount = 1; CardEffect statModificationEffect = new BuffStatModificationEffect(hpStatID, amount); CardData.cardEffects = new List <CardEffect>(); CardData.cardEffects.Add(statModificationEffect); }
public override void InitializeCard(int IDInGame, Player ownerPlayer, CardData CardData) { base.InitializeCard(IDInGame, ownerPlayer, CardData); // TARGET UNIT // FILTTERS QUE SEA DE TIPO UNIT Y QUE TENGA UN STAT DETERMINADO CardFiltter targetOccupierType = new TargetUnitOccupierTypeFiltter(); CardFiltter statIDFiltter = new TargetAttackPowerIDFiltter(); // VERIFICAMOS QUE EL ATAQUE ACTUAL NO SEA MENOR A 0 int amountLessThan = 0; STATAMOUNTTYPE amountType = STATAMOUNTTYPE.ACTUAL; COMPARATIONTYPE comparationType = COMPARATIONTYPE.GREATER; CardFiltter targetAttackPowStatAgainstSimple = new TargetAttackPowerStatAmountAgainstSimplFiltter(amountType, amountLessThan, comparationType); CardData.cardTargetFiltters.Add(targetOccupierType); CardData.cardTargetFiltters.Add(statIDFiltter); CardData.cardTargetFiltters.Add(targetAttackPowStatAgainstSimple); // EFFECTS BUFF ATTACK ACTUALSTAT/MAXSTAT - 1 int statID = 2; int amount = 1; CardEffect statModificationEffect = new NerfStatModificationEffect(statID, amount); CardData.cardEffects = new List <CardEffect>(); CardData.cardEffects.Add(statModificationEffect); }
public TargetAttackPowerStatAmountFiltter(STATAMOUNTTYPE statAmountType, StatIResultData rDToCheckAgainst, COMPARATIONTYPE comparationType) : base(comparationType, FILTTER_ID) { rDToCheck = new StatIResultData(STAT_ID, statAmountType); this.rDToCheckAgainst = rDToCheckAgainst; }
public ComparatorFiltter(COMPARATIONTYPE filtter) { this.filtter = filtter; }
public TargetHealtStatAmountAgainstSimplFiltter(STATAMOUNTTYPE statAmountType, int simpleAmount, COMPARATIONTYPE comparationType) : base(comparationType, FILTTER_ID) { rDToCheck = new StatIResultData(STAT_ID, statAmountType); rDToCheckAgainst = new SimpleIResultData(simpleAmount); }
public TargetCardStateFiltter(COMPARATIONTYPE comparationType, int ID) : base(ID) { this.comparationType = comparationType; }
protected SimpleIResultData rDToCheckAgainst; // result data to check against public TargetStatAmountAgainstSimpleFiltter(COMPARATIONTYPE comparationType, int ID) : base(ID) { this.comparationType = comparationType; }
public TargetAmountCardStateFiltterAgianstSimple(CARDSTATES cardState, int amountToCheck, COMPARATIONTYPE comparationType) : base(comparationType, FILTTER_ID) { rdToCheckAgainst = new SimpleIResultData(amountToCheck); this.cardState = cardState; }
public ResultDataValidator(COMPARATIONTYPE filtter, IResultData rdToCheck, IResultData rdToCheckAgainst) { this.rdToCheck = rdToCheck; this.rdToCheckAgainst = rdToCheckAgainst; comparatorFiltter = new ComparatorFiltter(filtter); }