static public Task Option2(ErruptionCtx ctx) { if (2 <= ctx.DestroyedPresence) { ctx.AddFear(ctx.DestroyedPresence); } return(Task.CompletedTask); }
static public async Task Option1(ErruptionCtx ctx) { if (2 <= ctx.DestroyedPresence) { TargetSpaceCtx spaceCtx = await ctx.SelectAdjacentLandOrSelf($"Apply {ctx.DestroyedPresence} damage to"); await spaceCtx.DamageInvaders(ctx.DestroyedPresence); } }
static public async Task Option3(ErruptionCtx ctx) { if (6 <= ctx.DestroyedPresence) { // In each land within range 1,4 Damage. foreach (var adj in ctx.Adjacent) { await ctx.Target(adj).DamageInvaders(4); } // Add 1 blight to target land; doing so does not Destroy your presence. await ctx.AddBlight(1); // !!! when we fix adding blight, we need to make sure this incantation does not destroy presence } }
static public async Task Option4(ErruptionCtx ctx) { if (10 <= ctx.DestroyedPresence) { // In each land withing range 2 // +4 Damage. foreach (var space in ctx.Range(2)) { await ctx.Target(space).DamageInvaders(4); } // In each land adjacent to the target // add 1 blight if it doesn't have any. foreach (var adj in ctx.Adjacent) { var adjCtx = ctx.Target(adj); if (!adjCtx.Blight.Any) { await adjCtx.AddBlight(1); } } } }