internal bool DefaultValidateOnRun(ResolveContext ctx) { // warrior can only deal damage while it is on battlefield var causeWarrior = Cause as Behaviors.Warrior; if (causeWarrior != null) { var causeBhvHost = causeWarrior.Host; if (causeBhvHost == null || causeBhvHost.IsDestroyed || !causeBhvHost.IsOnBattlefield && !causeBhvHost.IsActivatedAssist) { return false; } } if (this is IInitiativeCommand) { if (!ctx.CheckCompulsoryTargets()) { return false; } } return true; }