public void Activate(ConvergePlayer you) { if (hasTarget) { return; } if (you.TryPayCost(manacost) && source.TryPayAltCost(altCost)) { timesUsed++; ConvergeEffectContext context = new ConvergeEffectContext(source, you, this); effect.Run(context); } }
public void ActivateOn(ConvergeObject target, ConvergePlayer you) { if (!hasTarget) { return; } if (!CanTarget(target, you)) { return; } if (you.TryPayCost(manacost) && source.TryPayAltCost(altCost)) { timesUsed++; ConvergeEffectContext context = new ConvergeEffectContext(source, you, this); context.target = target; effect.Run(context); } }
public void PlayOn(ConvergeObject target, ConvergePlayer you) { if (zone.zoneId == ConvergeZoneId.Hand && (cardType.HasFlag(ConvergeCardType.Action) || cardType.HasFlag(ConvergeCardType.Augment)) && CanTarget(target, you) ) { if (you.TryPayCost(cost)) { if (TriggerSystem.HasTriggers(ConvergeTriggerType.PlayCard)) { TriggerSystem.CheckTriggers(ConvergeTriggerType.PlayCard, new TriggerData(you, this, target, 0)); } ConvergeEffectContext context = new ConvergeEffectContext(this, you); context.target = target; original.actionEffect.Run(context); MoveZone(owner.discardPile); } } }
public void Play(ConvergePlayer you) { if (zone.zoneId == ConvergeZoneId.Hand) { if (this.cardType.HasFlag(ConvergeCardType.Resource)) { if (you.numLandsPlayed < you.numLandsPlayable) { you.numLandsPlayed++; } else { return; } } else if (original.actionTarget != null) { // this spell needs a target return; } if (TriggerSystem.HasTriggers(ConvergeTriggerType.PlayCard)) { TriggerSystem.CheckTriggers(ConvergeTriggerType.PlayCard, new TriggerData(you, this, null, 0)); } if (you.TryPayCost(cost)) { if (this.cardType.HasFlag(ConvergeCardType.Unit)) { MoveZone(you.defense); if (!this.keywords.HasFlag(ConvergeKeyword.Haste)) { tapped = true; } } else if (this.cardType.HasFlag(ConvergeCardType.Action)) { ConvergeEffectContext context = new ConvergeEffectContext(this, you); original.actionEffect.Run(context); MoveZone(owner.discardPile); } else if (this.cardType.HasFlag(ConvergeCardType.Resource) && this.activatedAbilities.Count == 0) { MoveZone(you.resourceZone); } else { MoveZone(you.home); } } } else if (zone.zoneId == ConvergeZoneId.Attack) { WithdrawAttack(); } else if (zone.zoneId == ConvergeZoneId.Defense) { EnterAttack(); } }