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); }
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)); }
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); }
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(); }