public bool PlayerCanBeTargeted(Player source, List<Player> targets, ICard card)
{
GameEventArgs arg = new GameEventArgs();
arg.Source = source;
arg.Targets = targets;
arg.Card = card;
try
{
Emit(GameEvent.PlayerCanBeTargeted, arg);
return true;
}
catch (TriggerResultException e)
{
if (e.Status == TriggerResult.Fail)
{
Trace.TraceInformation("Players cannot be targeted by {0}", card.Type.Name);
return false;
}
else
{
Trace.Assert(false);
}
}
return true;
}