public override async Task <object> GetTargetCtx(string powerName, SelfCtx ctx, TargettingFrom _) { Spirit target = ctx.GameState.Spirits.Length == 1 ? ctx.Self : await ctx.Decision(new Select.Spirit(powerName, ctx.GameState.Spirits)); return(ctx.TargetSpirit(target)); }