From 34cd7a9f13f000b192af4fe73fdcce7403a88ea6 Mon Sep 17 00:00:00 2001 From: 6d486f49 Date: Wed, 17 Jun 2026 23:33:09 -0400 Subject: [PATCH] Data changes and vibe UI theme --- Chrono/Build/Build.csproj | 4 + Chrono/Build/Program.cs | 141 +- Chrono/Chrono.sln | 6 + Chrono/Model/CardData.cs | 29 + Chrono/Model/Model.csproj | 9 + Chrono/Web/Generated/.gitkeep | 0 Chrono/Web/Generated/Cards.g.cs | 5156 +++++++++++++++++++++ Chrono/Web/Layout/MainLayout.razor | 4 - Chrono/Web/Layout/NavMenu.razor | 10 - Chrono/Web/Models/CardData.cs | 37 - Chrono/Web/Pages/Cards.razor | 254 +- Chrono/Web/Pages/Cards.razor.css | 607 ++- Chrono/Web/Pages/Counter.razor | 19 - Chrono/Web/Pages/Weather.razor | 60 - Chrono/Web/Web.csproj | 15 +- Chrono/Web/_Imports.razor | 1 + Chrono/Web/wwwroot/css/app.css | 183 +- Chrono/Web/wwwroot/index.html | 4 + Chrono/Web/wwwroot/sample-data/cards.json | 4503 ------------------ 19 files changed, 6130 insertions(+), 4912 deletions(-) create mode 100644 Chrono/Model/CardData.cs create mode 100644 Chrono/Model/Model.csproj create mode 100644 Chrono/Web/Generated/.gitkeep create mode 100644 Chrono/Web/Generated/Cards.g.cs delete mode 100644 Chrono/Web/Models/CardData.cs delete mode 100644 Chrono/Web/Pages/Counter.razor delete mode 100644 Chrono/Web/Pages/Weather.razor delete mode 100644 Chrono/Web/wwwroot/sample-data/cards.json diff --git a/Chrono/Build/Build.csproj b/Chrono/Build/Build.csproj index 6c1dc92..efceba6 100644 --- a/Chrono/Build/Build.csproj +++ b/Chrono/Build/Build.csproj @@ -7,4 +7,8 @@ enable + + + + diff --git a/Chrono/Build/Program.cs b/Chrono/Build/Program.cs index a405e34..659b90d 100644 --- a/Chrono/Build/Program.cs +++ b/Chrono/Build/Program.cs @@ -1,16 +1,15 @@ using System.Text; -using System.Text.Encodings.Web; -using System.Text.Json; using System.Text.RegularExpressions; -using System.Text.Json.Serialization; +using Chrono.Model; var repoRoot = Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, "..", "..", "..", "..", "..")); var docsDir = Path.Combine(repoRoot, "chrono.docs"); var webWwwRoot = Path.Combine(repoRoot, "Chrono", "Web", "wwwroot"); +var generatedFile = Path.Combine(repoRoot, "Chrono", "Web", "Generated", "Cards.g.cs"); Console.WriteLine($"Repo root: {repoRoot}"); Console.WriteLine($"Docs dir: {docsDir}"); -Console.WriteLine($"Web wwwroot: {webWwwRoot}"); +Console.WriteLine($"Generated: {generatedFile}"); if (!Directory.Exists(docsDir)) { @@ -38,6 +37,10 @@ foreach (var file in mdFiles) var category = yaml.GetValueOrDefault("category"); if (category == null) continue; + var imageFile = StripWikiLink(yaml.GetValueOrDefault("imageLink")); + if (imageFile != null && !imageFile.EndsWith(".png")) + imageFile += ".png"; + var card = new CardData { Name = name, @@ -53,12 +56,9 @@ foreach (var file in mdFiles) ImmortalizeTo = yaml.ContainsKey("immortalizeTo") ? ParseListOrScalar(yaml, "immortalizeTo").Select(s => StripWikiLink(s) ?? "").Where(s => s != "").ToList() : null, ImmortalizeFrom = StripWikiLink(yaml.GetValueOrDefault("immortalizeFrom")), ImmortalizeWhen = NullIfNa(StripWikiLinks(yaml.GetValueOrDefault("immortalizeWhen"))), - ImageFile = StripWikiLink(yaml.GetValueOrDefault("imageLink")), + ImageFile = imageFile, }; - if (card.ImageFile != null && !card.ImageFile.EndsWith(".png")) - card.ImageFile += ".png"; - cards.Add(card); } @@ -74,20 +74,47 @@ foreach (var card in cards) File.Copy(src, dst, overwrite: true); } -// Write cards.json -var output = new { cards }; -var json = JsonSerializer.Serialize(output, new JsonSerializerOptions -{ - WriteIndented = true, - PropertyNamingPolicy = JsonNamingPolicy.CamelCase, - DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, - Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, -}); -var jsonPath = Path.Combine(webWwwRoot, "sample-data", "cards.json"); -File.WriteAllText(jsonPath, json); +// Generate C# source file +Directory.CreateDirectory(Path.GetDirectoryName(generatedFile)!); +using var writer = new StreamWriter(generatedFile, false, Encoding.UTF8); +writer.WriteLine("// "); +writer.WriteLine("#nullable enable"); +writer.WriteLine(); +writer.WriteLine("namespace Chrono.Model;"); +writer.WriteLine(); +writer.WriteLine("public static class CardDatabase"); +writer.WriteLine("{"); +writer.WriteLine(" public static readonly System.Collections.Generic.List Cards ="); +writer.WriteLine(" ["); -Console.WriteLine($"Processed {cards.Count} cards"); -Console.WriteLine($"Written to {jsonPath}"); +for (int i = 0; i < cards.Count; i++) +{ + var c = cards[i]; + writer.WriteLine(" new()"); + writer.WriteLine(" {"); + WriteProp(writer, "Name", c.Name, 3); + WriteProp(writer, "Category", c.Category, 3); + WriteNullProp(writer, "Cost", c.Cost, 3); + WriteNullProp(writer, "Attack", c.Attack, 3); + WriteNullProp(writer, "Health", c.Health, 3); + WriteStrProp(writer, "Description", c.Description, 3); + WriteStrProp(writer, "Faction", c.Faction, 3); + WriteStrProp(writer, "Set", c.Set, 3); + WriteStrProp(writer, "Speed", c.Speed, 3); + WriteListProp(writer, "Archetypes", c.Archetypes, 3); + WriteListProp(writer, "ImmortalizeTo", c.ImmortalizeTo, 3); + WriteStrProp(writer, "ImmortalizeFrom", c.ImmortalizeFrom, 3); + WriteStrProp(writer, "ImmortalizeWhen", c.ImmortalizeWhen, 3); + WriteStrProp(writer, "ImageFile", c.ImageFile, 3); + + var comma = i < cards.Count - 1 ? "," : ""; + writer.WriteLine($" }}{comma}"); +} + +writer.WriteLine(" ];"); +writer.WriteLine("}"); + +Console.WriteLine($"Generated {cards.Count} cards in {generatedFile}"); return 0; // --- Helpers --- @@ -105,14 +132,14 @@ static string? StripWikiLink(string? s) return Regex.Replace(s, @"\[\[([^\]]*)\]\]", "$1").Trim('"'); } -static string? NullIfNa(string? s) => s is "N/A" or null ? null : s.Trim('"'); - static string? StripWikiLinks(string? s) { if (s == null || s == "N/A") return null; return Regex.Replace(s.Trim('"'), @"\[\[([^\]]*)\]\]", "$1").Trim(); } +static string? NullIfNa(string? s) => s is "N/A" or null ? null : s.Trim('"'); + static List ParseList(Dictionary yaml, string key) { if (!yaml.TryGetValue(key, out var raw)) return []; @@ -171,12 +198,7 @@ static Dictionary ParseYaml(string yaml) currentKey = trimmed[..colonIndex].Trim(); var value = trimmed[(colonIndex + 1)..].Trim(); - if (value.Length == 0) - { - // Could be a list or multi-line value starting on next line - continue; - } - + if (value.Length == 0) continue; dict[currentKey] = value; } @@ -186,20 +208,51 @@ static Dictionary ParseYaml(string yaml) return dict; } -record CardData +static void WriteProp(StreamWriter w, string name, string value, int indent) { - [JsonPropertyName("name")] public string Name { get; set; } = ""; - [JsonPropertyName("category")] public string Category { get; set; } = ""; - [JsonPropertyName("cost")] public int? Cost { get; set; } - [JsonPropertyName("attack")] public int? Attack { get; set; } - [JsonPropertyName("health")] public int? Health { get; set; } - [JsonPropertyName("description")] public string? Description { get; set; } - [JsonPropertyName("faction")] public string? Faction { get; set; } - [JsonPropertyName("set")] public string? Set { get; set; } - [JsonPropertyName("speed")] public string? Speed { get; set; } - [JsonPropertyName("archetypes")] public List? Archetypes { get; set; } - [JsonPropertyName("immortalizeTo")] public List? ImmortalizeTo { get; set; } - [JsonPropertyName("immortalizeFrom")] public string? ImmortalizeFrom { get; set; } - [JsonPropertyName("immortalizeWhen")] public string? ImmortalizeWhen { get; set; } - [JsonPropertyName("imageFile")] public string? ImageFile { get; set; } + w.WriteLine($"{new string(' ', indent * 4)}{name} = {ToLiteral(value)},"); +} + +static void WriteStrProp(StreamWriter w, string name, string? value, int indent) +{ + if (value == null) return; + w.WriteLine($"{new string(' ', indent * 4)}{name} = {ToLiteral(value)},"); +} + +static void WriteNullProp(StreamWriter w, string name, int? value, int indent) +{ + if (value == null) return; + w.WriteLine($"{new string(' ', indent * 4)}{name} = {value},"); +} + +static void WriteListProp(StreamWriter w, string name, List? values, int indent) +{ + if (values == null) return; + var pad = new string(' ', indent * 4); + w.WriteLine($"{pad}{name} = ["); + foreach (var v in values) + w.WriteLine($"{pad} {ToLiteral(v)},"); + w.WriteLine($"{pad}],"); +} + +static string ToLiteral(string? s) +{ + if (s == null) return "null"; + var sb = new StringBuilder(); + sb.Append('"'); + foreach (char c in s) + { + switch (c) + { + case '"': sb.Append("\\\""); break; + case '\\': sb.Append("\\\\"); break; + case '\n': sb.Append("\\n"); break; + case '\r': sb.Append("\\r"); break; + case '\t': sb.Append("\\t"); break; + case '\0': sb.Append("\\0"); break; + default: sb.Append(c); break; + } + } + sb.Append('"'); + return sb.ToString(); } diff --git a/Chrono/Chrono.sln b/Chrono/Chrono.sln index d1bae17..e5463fe 100644 --- a/Chrono/Chrono.sln +++ b/Chrono/Chrono.sln @@ -4,6 +4,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Web", "Web\Web.csproj", "{1 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build", "Build\Build.csproj", "{36E3775C-0E28-4EAE-AE92-4FB493E3787F}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Model", "Model\Model.csproj", "{3358AF7A-603B-4BAC-A7F5-07978FB87843}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -18,5 +20,9 @@ Global {36E3775C-0E28-4EAE-AE92-4FB493E3787F}.Debug|Any CPU.Build.0 = Debug|Any CPU {36E3775C-0E28-4EAE-AE92-4FB493E3787F}.Release|Any CPU.ActiveCfg = Release|Any CPU {36E3775C-0E28-4EAE-AE92-4FB493E3787F}.Release|Any CPU.Build.0 = Release|Any CPU + {3358AF7A-603B-4BAC-A7F5-07978FB87843}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3358AF7A-603B-4BAC-A7F5-07978FB87843}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3358AF7A-603B-4BAC-A7F5-07978FB87843}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3358AF7A-603B-4BAC-A7F5-07978FB87843}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/Chrono/Model/CardData.cs b/Chrono/Model/CardData.cs new file mode 100644 index 0000000..da88073 --- /dev/null +++ b/Chrono/Model/CardData.cs @@ -0,0 +1,29 @@ +namespace Chrono.Model; + +public class CardData +{ + public string Name { get; init; } = ""; + public string Category { get; init; } = ""; + public int? Cost { get; init; } + public int? Attack { get; init; } + public int? Health { get; init; } + public string? Description { get; init; } + public string? Faction { get; init; } + public string? Set { get; init; } + public string? Speed { get; init; } + public List Archetypes { get; init; } = []; + public List? ImmortalizeTo { get; init; } + public string? ImmortalizeFrom { get; init; } + public string? ImmortalizeWhen { get; init; } + public string? ImageFile { get; init; } + + public bool IsAgent => Category == "Agent"; + public bool IsSpell => Category == "Spell"; + public bool IsToken => Category == "Token"; + public string? CostDisplay => Cost?.ToString(); + public string? AttackDisplay => Attack?.ToString(); + public string? HealthDisplay => Health?.ToString(); + public bool HasImmortalize => ImmortalizeTo is { Count: > 0 }; + public bool IsImmortalized => ImmortalizeFrom != null; + public string ImagePath => $"cards/{ImageFile ?? "placeholder.png"}"; +} diff --git a/Chrono/Model/Model.csproj b/Chrono/Model/Model.csproj new file mode 100644 index 0000000..237d661 --- /dev/null +++ b/Chrono/Model/Model.csproj @@ -0,0 +1,9 @@ + + + + net10.0 + enable + enable + + + diff --git a/Chrono/Web/Generated/.gitkeep b/Chrono/Web/Generated/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Chrono/Web/Generated/Cards.g.cs b/Chrono/Web/Generated/Cards.g.cs new file mode 100644 index 0000000..50c25dc --- /dev/null +++ b/Chrono/Web/Generated/Cards.g.cs @@ -0,0 +1,5156 @@ +// +#nullable enable + +namespace Chrono.Model; + +public static class CardDatabase +{ + public static readonly System.Collections.Generic.List Cards = + [ + new() + { + Name = "A'kon, Starry Diviner", + Category = "Agent", + Cost = 1, + Attack = 2, + Health = 2, + Description = "Enter or Last Gasp: Create a Return to Stillness in hand.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Somber Astronomer", + ImageFile = "A'kon, Starry Diviner.png", + }, + new() + { + Name = "Aardvark Precinct Captain", + Category = "Agent", + Cost = 2, + Attack = 0, + Health = 1, + Description = "Enter: Sprout 1 for each other ally.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Sprout", + "Shift", + ], + ImmortalizeTo = [ + "Tino, Majestic Stumbler", + ], + ImmortalizeWhen = "Round End: I see 5+ other allies. When I Immortalize, Shift to Deadly Fauna.", + ImageFile = "Aardvark Precinct Captain.png", + }, + new() + { + Name = "Affront to Nature", + Category = "Spell", + Cost = 9, + Description = "Allies Flourish 3 times. Enemies Decay 3 times.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Affront to Nature.png", + }, + new() + { + Name = "Agents", + Category = "Redirect", + Archetypes = [ + ], + }, + new() + { + Name = "Aggressive Recycling", + Category = "Spell", + Cost = 2, + Description = "Discard 2 to play. Draw 2. Sacrifice 3: Instead, Discard 3 to play. Draw 3.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Aggressive Recycling.png", + }, + new() + { + Name = "Alina Who Cuts the Strings", + Category = "Agent", + Cost = 4, + Attack = 3, + Health = 2, + Description = "Play: (C) Mute an Agent. Activate: (C) Destroy a Mute|Muted Agent.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Destiny Ripper", + ImageFile = "Alina Who Cuts the Strings.png", + }, + new() + { + Name = "Alina, the Overflowing Cup", + Category = "Agent", + Cost = 4, + Attack = 3, + Health = 5, + Description = "Enter or Round Start: Create a 0 cost Transient Blessed Soup in hand.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Bearer of the Broth", + ImageFile = "Alina, the Overflowing Cup.png", + }, + new() + { + Name = "Appeal to the Scrolls", + Category = "Spell", + Cost = 5, + Description = "If you have 1 or less Agents, I cost 2 less. Draw 2 Actions.", + Faction = "Silence", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Appeal to the Scrolls.png", + }, + new() + { + Name = "Armageddonaut", + Category = "Agent", + Cost = 5, + Attack = 6, + Health = 6, + Description = "Cleave. Enter or when I destroy an Agent: Create a Circle of Strife in hand.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Hungry Engine", + ImageFile = "Armageddonaut.png", + }, + new() + { + Name = "Army of the Sun", + Category = "Spell", + Cost = 13, + Description = "Summon the Strongest Agent in your deck now and at each Round Start.", + Faction = "Sungrace", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Army of the Sun.png", + }, + new() + { + Name = "Arra, Saurian Broodmother", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 2, + Description = "Activate: The next ally that enters play this round Flourish|Flourishes. The first time each round another ally Flourish|Flourishes, I Flourish.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Egg Tender", + ImageFile = "Arra, Saurian Broodmother.png", + }, + new() + { + Name = "Awakened Security System", + Category = "Agent", + Cost = 2, + Attack = 1, + Health = 3, + Description = "Activate: Reduce an Agent's Strength by my Strength this round.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Wom, Sweet Wom", + ], + ImmortalizeWhen = "I see 3+ Agents with 0 Strength in play.", + ImageFile = "Awakened Security System.png", + }, + new() + { + Name = "B.O.O.F.", + Category = "Agent", + Cost = 2, + Attack = 3, + Health = 2, + Description = "Enter: Draw a 1 cost Agent from your deck. Round End: If I do not see a 1 cost ally in play, Draw a 1 cost Agent from your deck.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Draw", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Enhanced Retriever", + ImageFile = "B.O.O.F..png", + }, + new() + { + Name = "Backhand", + Category = "Spell", + Cost = 2, + Description = "Destroy an Agent with 2 or less Strength or Durability.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Backhand.png", + }, + new() + { + Name = "Balanced Blade", + Category = "Spell", + Cost = 3, + Description = "The next time an ally Strikes an enemy this round, first grant it Strength equal to its target's Durability.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Balanced Blade.png", + }, + new() + { + Name = "Bareknuckle Inquisitor", + Category = "Agent", + Cost = 5, + Attack = 3, + Health = 8, + Description = "Confront. Siphon. Enter: Deal 4 to me.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Heal", + ], + ImmortalizeTo = [ + "Da'Kad, Heretic Crusher", + ], + ImmortalizeWhen = "I've seen allies or your Core Heal 6+.", + ImageFile = "Bareknuckle Inquisitor.png", + }, + new() + { + Name = "Bathe in Flames", + Category = "Spell", + Cost = 2, + Description = "Deal 2 to an ally to deal 2 to an Agent. Shift to Volcanic Rivers.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Bathe in Flames.png", + }, + new() + { + Name = "Battleharts", + Category = "Agent", + Cost = 2, + Attack = 0, + Health = 1, + Description = "Overpower. When another ally enters play, I Flourish.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Glade Grazers", + ImageFile = "Battleharts.png", + }, + new() + { + Name = "Bearer of the Broth", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 4, + Description = "Enter: Create a 0 cost Transient Blessed Soup in hand.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Alina, the Overflowing Cup", + ], + ImmortalizeWhen = "You've played Blessed Soup 2+ times this game.", + ImageFile = "Bearer of the Broth.png", + }, + new() + { + Name = "Bill, First Point of Contact", + Category = "Agent", + Cost = 4, + Attack = 3, + Health = 4, + Description = "Enter, Deplete, or Round Start: Create a Transient Scouter Round in hand.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Enthusiastic Bot-Poke", + ImageFile = "Bill, First Point of Contact.png", + }, + new() + { + Name = "Blazing Shifter", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 2, + Description = "Enter: Shift to Volcanic Rivers. I have +1/+1 for each Timeline in the Timeline Stack.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "The Unstoppable Flow", + ], + ImmortalizeWhen = "I have 7+ Strength.", + ImageFile = "Blazing Shifter.png", + }, + new() + { + Name = "Blessed Soup", + Category = "Spell", + Cost = 2, + Description = "Heal an Agent or Core 2. Draw 1.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Blessed Soup.png", + }, + new() + { + Name = "Bloodbolt", + Category = "Spell", + Cost = 3, + Description = "Deal 2 to an Agent or Core. Breakdown 15: Instead, deal 3.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Bloodbolt.png", + }, + new() + { + Name = "Bloodline Tracker", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 1, + Description = "Activate: Sacrifice 1: (C) Deal 1 to the enemy Core.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Master of Ceremonies", + ], + ImmortalizeWhen = "I've dealt 6+ damage.", + ImageFile = "Bloodline Tracker.png", + }, + new() + { + Name = "Bloodlust", + Category = "Spell", + Cost = 2, + Description = "An ally Strikes a damaged Agent. Create a Transient Fueled by Pain in hand.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Bloodlust.png", + }, + new() + { + Name = "Bloom", + Category = "Spell", + Cost = 2, + Description = "Give an ally +0/+2 this round. Sprout 1.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Bloom.png", + }, + new() + { + Name = "Boatswain Corvus", + Category = "Agent", + Cost = 7, + Attack = 6, + Health = 10, + Description = "Overpower. Round Start: Deal 1 to the enemy Core twice. When you deal non-combat damage to the enemy Core, grant the weakest enemy Exposed. Core Strike: Deal 3 to all enemies and t...", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Gilded Behemoth", + ImageFile = "Boatswain Corvus.png", + }, + new() + { + Name = "Boof, Ever Loyal", + Category = "Agent", + Cost = 1, + Attack = 3, + Health = 5, + Description = "Enter: Deal 4 to me. Last Gasp: Return the last Action that was put into your Graveyard this round to hand.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Temple Guard Hound", + ImageFile = "Boof, Ever Loyal.png", + }, + new() + { + Name = "Boof, Lonely and Proud", + Category = "Agent", + Cost = 2, + Attack = 3, + Health = 3, + Description = "Confront.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Territorial Pack", + ImageFile = "Boof, Lonely and Proud.png", + }, + new() + { + Name = "Boof, the Champion", + Category = "Agent", + Cost = 2, + Attack = 4, + Health = 4, + Description = "Overpower.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Pit Dog", + ImageFile = "Boof, the Champion.png", + }, + new() + { + Name = "Boof, the Listener", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 1, + Description = "Enter and Last Gasp: Draw a random 1, 2, or 3 cost Action from your deck.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Draw", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Librarian's Assistant", + ImageFile = "Boof, the Listener.png", + }, + new() + { + Name = "Braindead Bouncer", + Category = "Agent", + Cost = 1, + Attack = 3, + Health = 2, + Description = "Round End: Decay.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Decay", + "Shift", + ], + ImmortalizeTo = [ + "Wilfred, Lobotomizer", + ], + ImmortalizeWhen = "Round Start: I see Voiceless Sky.", + ImageFile = "Braindead Bouncer.png", + }, + new() + { + Name = "Brant the Bloody", + Category = "Agent", + Cost = 1, + Attack = 2, + Health = 3, + Description = "Confront. Agents I Strike Bleed 1. When an enemy Bleeds, I Flourish.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Persistent Squire", + ImageFile = "Brant the Bloody.png", + }, + new() + { + Name = "BREAK AND SHATTER!", + Category = "Spell", + Cost = 6, + Description = "Surge. Give each ally +1/+1 for each point of Durability it is missing and Overpower this round.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "BREAK AND SHATTER!.png", + }, + new() + { + Name = "Bright-Eyed Supplicant", + Category = "Agent", + Cost = 3, + Attack = 2, + Health = 4, + Description = "Confront.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Overseer of Trials", + ], + ImmortalizeWhen = "I've survived damage twice.", + ImageFile = "Bright-Eyed Supplicant.png", + }, + new() + { + Name = "Brilliant Martyr", + Category = "Agent", + Cost = 1, + Attack = 2, + Health = 1, + Description = "Last Gasp: Shift to Star Siphon.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Quaid, the Willing", + ], + ImmortalizeWhen = "I see your Energy Reserve Overflow.", + ImageFile = "Brilliant Martyr.png", + }, + new() + { + Name = "Bronk the Calm", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 4, + Description = "Enter: Summon a Wolf and Shift to Abundant Growth.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Panicked Refugee", + ImageFile = "Bronk the Calm.png", + }, + new() + { + Name = "Bronk the Guide", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 3, + Description = "Enter: Shift to Erudite Beacon. Activate: Shift to Erudite Beacon.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Enlightened Refugee", + ImageFile = "Bronk the Guide.png", + }, + new() + { + Name = "Brutal Reveler", + Category = "Agent", + Cost = 7, + Attack = 6, + Health = 5, + Description = "Overpower. The first time each round anything takes damage, create a Transient Bloodbolt in hand.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Tyar, Benevolent Ruler", + ], + ImmortalizeWhen = "Breakdown 10.", + ImageFile = "Brutal Reveler.png", + }, + new() + { + Name = "Built to Burn", + Category = "Spell", + Cost = 5, + Description = "Summon a Temporary exact copy of an ally.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Built to Burn.png", + }, + new() + { + Name = "Bullseye Bounty Hunter", + Category = "Agent", + Cost = 4, + Attack = 4, + Health = 3, + Description = "Blitz. Cleave. Play: Grant two enemies Exposed.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Sareh, Rebel Strategist", + ], + ImmortalizeWhen = "I've destroyed two enemies.", + ImageFile = "Bullseye Bounty Hunter.png", + }, + new() + { + Name = "Burrowing Beetles", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 1, + Description = "Evasive.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + "The Cycle Embodied", + ], + ImmortalizeWhen = "I've seen allies Flourish 4+ times.", + ImageFile = "Burrowing Beetles.png", + }, + new() + { + Name = "Bury the Evidence", + Category = "Spell", + Cost = 3, + Description = "An enemy Decays twice, or an ally Decays twice to Draw 2.", + Faction = "Silence", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Bury the Evidence.png", + }, + new() + { + Name = "By the Numbers", + Category = "Spell", + Cost = 2, + Description = "Reveal the top card of both decks. Create a copy of the card with the higher cost in hand, then shuffle both cards into their respective decks. In a tie, create a copy of both card...", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "By the Numbers.png", + }, + new() + { + Name = "Canine Adjutant", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 1, + Description = "Evasive. Core Strike: Erase the enemy Graveyard.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Specialist Boof", + ], + ImmortalizeWhen = "I've Struck the enemy Core.", + ImageFile = "Canine Adjutant.png", + }, + new() + { + Name = "Cascading Serenity", + Category = "Spell", + Cost = 3, + Description = "Destroy an Agent with cost 2 or less. Create a Return to Stillness in hand.", + Faction = "Silence", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Cascading Serenity.png", + }, + new() + { + Name = "Chain", + Category = "Rule", + Description = "Effects are stacked until they are able to be resolved. This enables Immediate and Fast reactions to be added onto the stack for reactive gameplay.", + Archetypes = [ + ], + }, + new() + { + Name = "Channel Vigor", + Category = "Spell", + Cost = 2, + Description = "Deal 1 to an ally to give another ally +3/+1 this round.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Channel Vigor.png", + }, + new() + { + Name = "Chaos Conductor Boltz", + Category = "Agent", + Cost = 5, + Attack = 6, + Health = 4, + Description = "Blitz. When you play an Action, gain 1 Reserve Energy. Round Start: Create a Transient Sunshock in hand for each Reserve Energy you have.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Jury of the Second Law", + ImageFile = "Chaos Conductor Boltz.png", + }, + new() + { + Name = "Chaos Control", + Category = "Spell", + Cost = 3, + Description = "Give an ally +0/+3 to give an enemy -3/-0 this round.", + Faction = "Sungrace", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Chaos Control.png", + }, + new() + { + Name = "Chronal Quarantine", + Category = "Spell", + Cost = 7, + Description = "Phase enemies. Phase allies. If The One True Timeline is active, allies Phase in.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Chronal Quarantine.png", + }, + new() + { + Name = "Chronal Scan", + Category = "Spell", + Cost = 3, + Description = "Discard 1 to play. Create a Transient copy in hand of an ally now and at next Round Start.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Chronal Scan.png", + }, + new() + { + Name = "Chronicle of the One", + Category = "Spell", + Cost = 1, + Description = "Create a Transient Out of Line, The Firm Hand, or Prayer of Rescue in hand.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Chronicle of the One.png", + }, + new() + { + Name = "Chronosynthesis", + Category = "Spell", + Cost = 8, + Description = "Sprout 1 for every time you have Sprout|Sprouted this game.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Chronosynthesis.png", + }, + new() + { + Name = "Circle of Strife", + Category = "Spell", + Cost = 2, + Description = "Deal 1 to an Agent. Create a Transient Bloodlust in hand.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Circle of Strife.png", + }, + new() + { + Name = "Clarion, Deepest Breath", + Category = "Agent", + Cost = 6, + Attack = 6, + Health = 6, + Description = "When you play an Action, (C) Shift to Volcanic Rivers. Your Actions and Timelines you Shift to have Siphon.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Magmatic Tether", + ImageFile = "Clarion, Deepest Breath.png", + }, + new() + { + Name = "Conscientious Overwrite", + Category = "Spell", + Cost = 2, + Description = "Deal 2 to an Agent. Create a Scouter Round in hand.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Conscientious Overwrite.png", + }, + new() + { + Name = "Consequence Admin Cain", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 1, + Description = "Play: [icon]Phase an Agent. Agents cannot Phase in while I am in play.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Karmic Debtor", + ImageFile = "Consequence Admin Cain.png", + }, + new() + { + Name = "Containment Breach", + Category = "Agent", + Cost = 5, + Attack = 2, + Health = 6, + Description = "Round Start: Deal 1 to each Agent and Core for each Reserve Energy you have.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Penitent Star", + ], + ImmortalizeWhen = "I've seen 3+ Agents destroyed.", + ImageFile = "Containment Breach.png", + }, + new() + { + Name = "Convergent Pack", + Category = "Spell", + Cost = 4, + Description = "Shift to Abundant Growth. For every two Timelines in the Timeline Stack, summon an attacking Wolf Confronting the weakest unconfronted enemy.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Convergent Pack.png", + }, + new() + { + Name = "Core Set", + Category = "Set", + Archetypes = [ + ], + }, + new() + { + Name = "Core", + Category = "Rule", + Archetypes = [ + ], + }, + new() + { + Name = "Cores", + Category = "Redirect", + Archetypes = [ + ], + }, + new() + { + Name = "Curb the Anomalies", + Category = "Spell", + Cost = 6, + Description = "I cost 1 less if you see The One True Timeline. Mute all Agents this round. Shift to The One True Timeline.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Curb the Anomalies.png", + }, + new() + { + Name = "Curious Acolyte", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 3, + Description = "When I am Phased or Rewound, Draw 1.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + "Zel, the First Diver", + ], + ImmortalizeWhen = "I am Phased or Rewound.", + ImageFile = "Curious Acolyte.png", + }, + new() + { + Name = "Da'Kad, Heretic Crusher", + Category = "Agent", + Cost = 5, + Attack = 4, + Health = 9, + Description = "Confront. Siphon. Enter: Deal 4 to me. When an ally or your Core heals, Deal 1 to the enemy Core.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Heal", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Bareknuckle Inquisitor", + ImageFile = "Da'Kad, Heretic Crusher.png", + }, + new() + { + Name = "Daville, the Star Song", + Category = "Agent", + Cost = 5, + Attack = 5, + Health = 5, + Description = "Activate: Refresh an ally. That ally cannot Refresh again this round. When an ally Deplete|Depletes, if I see Voiceless Sky, give it +3/+3 this round.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Death Jockey", + ImageFile = "Daville, the Star Song.png", + }, + new() + { + Name = "Deadly Fauna", + Category = "Timeline", + Description = "All Agents have Overpower.", + Faction = "Lifeblood", + Archetypes = [ + ], + }, + new() + { + Name = "Death Jockey", + Category = "Agent", + Cost = 5, + Attack = 4, + Health = 4, + Description = "Activate: Refresh an ally. That ally cannot Refresh again this round.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Daville, the Star Song", + ], + ImmortalizeWhen = "I've seen allies Refresh 4+ times.", + ImageFile = "Death Jockey.png", + }, + new() + { + Name = "Debris Collector", + Category = "Agent", + Cost = 4, + Attack = 1, + Health = 1, + Description = "I have +1/+1 for every Energy Crystal you have.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Living Comet", + ], + ImmortalizeWhen = "I have 10+ Strength.", + ImageFile = "Debris Collector.png", + }, + new() + { + Name = "Dedicated Missionary", + Category = "Agent", + Cost = 6, + Attack = 3, + Health = 2, + Description = "Evasive. I cost 1 less for each copy of The One True Timeline in the Timeline Stack. Enter: Create a The Firm Hand in hand.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Slow Convert", + ImageFile = "Dedicated Missionary.png", + }, + new() + { + Name = "Denizen of Flames", + Category = "Agent", + Cost = 1, + Attack = 2, + Health = 1, + Description = "Enter: Shift to Volcanic Rivers.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Magnus Lavaborn", + ], + ImmortalizeWhen = "I see you Shift to Volcanic Rivers while Volcanic Rivers is the current Timeline.", + ImageFile = "Denizen of Flames.png", + }, + new() + { + Name = "Desperate Primordial", + Category = "Agent", + Cost = 2, + Attack = 4, + Health = 2, + Description = "Overpower. Temporary.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Vera, Original Proof", + ], + ImmortalizeWhen = "I've seen the enemy Core take damage twice.", + ImageFile = "Desperate Primordial.png", + }, + new() + { + Name = "Destiny Ripper", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 1, + Description = "Play: (C) Mute an Agent.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Alina Who Cuts the Strings", + ], + ImmortalizeWhen = "I've seen 3+ Agents Mute|Muted.", + ImageFile = "Destiny Ripper.png", + }, + new() + { + Name = "Devoted Bloodletter", + Category = "Agent", + Cost = 5, + Attack = 4, + Health = 5, + Description = "The first time each round I deal or take damage, Draw 1 and Shift to Torment.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + "Shift", + "Draw", + ], + ImmortalizeTo = [ + "Opener of the Way", + ], + ImmortalizeWhen = "I've Drawn 3+ cards.", + ImageFile = "Devoted Bloodletter.png", + }, + new() + { + Name = "Devourer Spawn", + Category = "Agent", + Cost = 10, + Attack = 10, + Health = 10, + Description = "For each Timeline in the Timeline Stack, I gain a random positive keyword.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Time Devourer Soval", + ], + ImmortalizeWhen = "I've gained 7+ keywords.", + ImageFile = "Devourer Spawn.png", + }, + new() + { + Name = "Dhali, Bearer of Memories", + Category = "Agent", + Cost = 6, + Attack = 4, + Health = 5, + Description = "Round End: Create in hand a random Action that started in your deck. When you play an Action you've already played this game, copy it.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Overburdened Scribe", + ImageFile = "Dhali, Bearer of Memories.png", + }, + new() + { + Name = "Discarded", + Category = "Rule", + Description = "Remove this card from your hand.", + Archetypes = [ + ], + }, + new() + { + Name = "Disciplined Student", + Category = "Agent", + Cost = 3, + Attack = 2, + Health = 1, + Description = "Enter: Create in hand a random Action that started in your deck.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "True Believer", + ], + ImmortalizeWhen = "I see Voiceless Sky.", + ImageFile = "Disciplined Student.png", + }, + new() + { + Name = "Divergence Assasin", + Category = "Agent", + Cost = 6, + Attack = 6, + Health = 3, + Description = "Blitz. I cost 1 less for each time you've Phased or Rewound an Agent this game. Strike: Rewind me.]]", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + "Masa, Time-Lost", + ], + ImmortalizeWhen = "You've Phased or Rewound Agents 6+ times this game.", + }, + new() + { + Name = "Doctor Mirthram Remora", + Category = "Agent", + Cost = 4, + Attack = 3, + Health = 4, + Description = "Enter and Overflow: Heal allies and your Core 1. Round End: Deal damage to enemies and the enemy Core equal to each time you've healed your Core this round.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Heal", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Starfueled Medics", + ImageFile = "Doctor Mirthram Remora.png", + }, + new() + { + Name = "Draw", + Category = "Keyword", + Description = "Place the card from the top of your deck into your hand.", + Archetypes = [ + ], + }, + new() + { + Name = "Dyson, the Aspirant", + Category = "Agent", + Cost = 2, + Attack = 3, + Health = 3, + Description = "Confront. Enter: Shift to Star Siphon.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Kinetic Absorber", + ImageFile = "Dyson, the Aspirant.png", + }, + new() + { + Name = "E-Law, Boot Shepherd", + Category = "Agent", + Cost = 1, + Attack = 3, + Health = 2, + Description = "Play: Discard 1 to Draw 1. Round Start: Draw 1.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Draw", + "Discarded", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Efficient Scrapbot", + ImageFile = "E-Law, Boot Shepherd.png", + }, + new() + { + Name = "Efficient Scrapbot", + Category = "Agent", + Cost = 1, + Attack = 2, + Health = 1, + Description = "Play: Discard 1 to Draw 1.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Draw", + "Discarded", + ], + ImmortalizeTo = [ + "E-Law, Boot Shepherd", + ], + ImmortalizeWhen = "I've seen you Draw 6+ cards.", + ImageFile = "Efficient Scrapbot.png", + }, + new() + { + Name = "Egg Tender", + Category = "Agent", + Cost = 1, + Attack = 0, + Health = 1, + Description = "Activate: The next ally that enters play this round Flourish|Flourishes.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + "Arra, Saurian Broodmother", + ], + ImmortalizeWhen = "I've seen allies Flourish 4+ times.", + ImageFile = "Egg Tender.png", + }, + new() + { + Name = "Enhanced Retriever", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 1, + Description = "Enter: Draw a 1 cost Agent from your deck.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Draw", + ], + ImmortalizeTo = [ + "B.O.O.F.", + ], + ImmortalizeWhen = "Round End: I see a 1 cost ally in play.", + ImageFile = "Enhanced Retriever.png", + }, + new() + { + Name = "Enlightened Refugee", + Category = "Agent", + Cost = 3, + Attack = 2, + Health = 2, + Description = "Enter: Shift to Erudite Beacon.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Shift", + "Draw", + ], + ImmortalizeTo = [ + "Bronk the Guide", + ], + ImmortalizeWhen = "I've seen you Draw 6+ cards.", + ImageFile = "Enlightened Refugee.png", + }, + new() + { + Name = "Enlightened Survivor", + Category = "Agent", + Cost = 3, + Attack = 4, + Health = 5, + Description = "Rejuvenate.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Stalwart Champion", + ImageFile = "Enlightened Survivor.png", + }, + new() + { + Name = "Enthusiastic Bot-Poke", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 3, + Description = "Enter or Round Start: Create a Transient Scouter Round in hand.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Bill, First Point of Contact", + ], + ImmortalizeWhen = "I see 3+ allied Pocket Scouts in play.", + ImageFile = "Enthusiastic Bot-Poke.png", + }, + new() + { + Name = "Entropy's End", + Category = "Spell", + Cost = 7, + Description = "Revive an Agent.", + Faction = "Sungrace", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Entropy's End.png", + }, + new() + { + Name = "Erudite Beacon", + Category = "Timeline", + Description = "When you Shift here, draw 1. Round Start: Players draw 1.", + Faction = "Singularity", + Archetypes = [ + ], + }, + new() + { + Name = "Eruption Incarnate", + Category = "Agent", + Cost = 2, + Attack = 5, + Health = 5, + Description = "Overpower.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Hidden Locus", + ImageFile = "Eruption Incarnate.png", + }, + new() + { + Name = "Evolution Incarnate", + Category = "Agent", + Cost = 5, + Attack = 6, + Health = 6, + Description = "Confront. Enter or Round End: Shift to Deadly Fauna.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Harbinger of Power", + ImageFile = "Evolution Incarnate.png", + }, + new() + { + Name = "Fast", + Category = "Keyword", + Description = "This spell can be reacted to.", + Archetypes = [ + ], + }, + new() + { + Name = "Fervent Follower", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 1, + Description = "Round End: I Flourish. When I see a Shift to a Timeline other than The One True Timeline, deal 1 to me.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Flourish", + "Shift", + ], + ImmortalizeTo = [ + "Pontifex Dhabu", + ], + ImmortalizeWhen = "I have 6+ Strength.", + ImageFile = "Fervent Follower.png", + }, + new() + { + Name = "Fervent Mycologist", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 1, + Description = "Evasive.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Sprout", + ], + ImmortalizeTo = [ + "Jenny, Sower of Spores", + ], + ImmortalizeWhen = "I've Struck the enemy Core.", + ImageFile = "Fervent Mycologist.png", + }, + new() + { + Name = "Flourish", + Category = "Keyword", + Description = "Grant this Agent +1/+1.", + Archetypes = [ + ], + }, + new() + { + Name = "Focused Adaptation", + Category = "Spell", + Cost = 4, + Description = "Give an ally \\\"The next time I would be destroyed, instead heal me to full and heal your Core the same amount\\\" this round.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Focused Adaptation.png", + }, + new() + { + Name = "Forest Recluse", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 2, + Description = "Play: (C) Deplete an enemy.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Witch of the Woods", + ], + ImmortalizeWhen = "I've seen Agents Deplete 4+ times.", + ImageFile = "Forest Recluse.png", + }, + new() + { + Name = "Fractal Phantasm", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 1, + Description = "Temporary. Last Gasp: The next time you Shift, revive me and grant copies of me *everywhere* +1/+0.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Quicksilver Khaela", + ], + ImmortalizeWhen = "I have 4+ Strength.", + ImageFile = "Fractal Phantasm.png", + }, + new() + { + Name = "Frontline Fellowship", + Category = "Spell", + Cost = 4, + Description = "Disarm the strongest ally to Disarm the two strongest enemies.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Frontline Fellowship.png", + }, + new() + { + Name = "Frontline Juggernaut", + Category = "Agent", + Cost = 6, + Attack = 6, + Health = 5, + Description = "Overpower. Allied Breakdown sees both Cores.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Kurian, the Breaker", + ], + ImmortalizeWhen = "Breakdown 10.", + ImageFile = "Frontline Juggernaut.png", + }, + new() + { + Name = "Fueled by Pain", + Category = "Spell", + Cost = 2, + Description = "A damaged ally Strikes an Agent. Create a Transient Circle of Strife in hand.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Fueled by Pain.png", + }, + new() + { + Name = "Fuzzy Archivist", + Category = "Agent", + Cost = 4, + Attack = 1, + Health = 3, + Description = "Evasive. Activate: Grant an Action in hand Transient, then create an exact copy of it in hand.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Greyl, the Problem", + ], + ImmortalizeWhen = "I've seen Agents Deplete 4+ times.", + ImageFile = "Fuzzy Archivist.png", + }, + new() + { + Name = "Gardener Apprentice", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 1, + Description = "Enter: Sprout 1.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Sprout", + ], + ImmortalizeTo = [ + "Horticulturalist Oswald", + ], + ImmortalizeWhen = "I've seen you Sprout 4+ times.", + ImageFile = "Gardener Apprentice.png", + }, + new() + { + Name = "Gentle Frank", + Category = "Agent", + Cost = 8, + Attack = 9, + Health = 15, + Description = "Delay. Confront. If your opponent would Confront an Agent, they must Confront me if able. Allies and your Core take 1 less damage from all sources.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Lightsteel Colossus", + ImageFile = "Gentle Frank.png", + }, + new() + { + Name = "Gilded Behemoth", + Category = "Agent", + Cost = 7, + Attack = 5, + Health = 9, + Description = "Overpower. Core Strike: Deal 3 to the enemy Core.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Boatswain Corvus", + ], + ImmortalizeWhen = "You've dealt 15+ non-combat damage this game.", + ImageFile = "Gilded Behemoth.png", + }, + new() + { + Name = "Glade Grazers", + Category = "Agent", + Cost = 2, + Attack = 0, + Health = 1, + Description = "When another ally enters play, I Flourish.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + "Battleharts", + ], + ImmortalizeWhen = "I have 6+ Strength.", + ImageFile = "Glade Grazers.png", + }, + new() + { + Name = "Glasswinged Monarch", + Category = "Agent", + Cost = 6, + Attack = 4, + Health = 4, + Description = "Evasive. Enter or Core Strike: Shift to Abundant Growth.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Omeganeura", + ], + ImmortalizeWhen = "I've seen you Shift twice.", + ImageFile = "Glasswinged Monarch.png", + }, + new() + { + Name = "Glittering Gladiator", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 3, + Description = "When I survive damage, grant me +2/+0.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Scoot Sparkles", + ], + ImmortalizeWhen = "I've Struck an Agent with less Strength than me.", + ImageFile = "Glittering Gladiator.png", + }, + new() + { + Name = "Gnosis", + Category = "Spell", + Cost = 2, + Description = "Draw 2. You may return any of those cards to the bottom of your deck. Sacrifice 2 for each card kept.", + Faction = "Silence", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Gnosis.png", + }, + new() + { + Name = "Go for the Heart", + Category = "Spell", + Cost = 5, + Description = "Deal 3 to the enemy Core. Breakdown 10: Instead, deal 4. Breakdown 1: Instead, deal 5.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Go for the Heart.png", + }, + new() + { + Name = "Grand Admiral Khaela", + Category = "Agent", + Cost = 7, + Attack = 6, + Health = 7, + Description = "Blitz. Play or Attack: [icon] Erase all enemies with a cost of 2 or less in play. When I'm attacking, allies have Cleave.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Gunnery Captain", + ImageFile = "Grand Admiral Khaela.png", + }, + new() + { + Name = "Grand Judge Dhael", + Category = "Agent", + Cost = 7, + Attack = 5, + Health = 5, + Description = "Activate: Return an Action from your Graveyard to your hand. It costs 3 less and has \\\"If I would be put into a Graveyard, instead Erase me.\\", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Stern Arbiter", + ImageFile = "Grand Judge Dhael.png", + }, + new() + { + Name = "Greyl, the Problem", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 4, + Description = "Evasive. Activate: Grant all Actions in hand Transient, then create exact copies of them in hand.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Fuzzy Archivist", + ImageFile = "Greyl, the Problem.png", + }, + new() + { + Name = "Gritmancer Grant", + Category = "Agent", + Cost = 4, + Attack = 4, + Health = 4, + Description = "Evasive. Fervor.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Pterosaur Rider", + ImageFile = "Gritmancer Grant.png", + }, + new() + { + Name = "Gunnery Captain", + Category = "Agent", + Cost = 7, + Attack = 5, + Health = 6, + Description = "Blitz. Play: [icon] Erase all enemies with a cost of 2 or less in play.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Grand Admiral Khaela", + ], + ImmortalizeWhen = "I see your Energy Reserve Overflow.", + ImageFile = "Gunnery Captain.png", + }, + new() + { + Name = "Harbinger of Power", + Category = "Agent", + Cost = 5, + Attack = 5, + Health = 5, + Description = "Enter: Shift to Deadly Fauna.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Evolution Incarnate", + ], + ImmortalizeWhen = "I've seen the enemy Core take damage through Overpower.", + ImageFile = "Harbinger of Power.png", + }, + new() + { + Name = "Harker, Metal Reporter", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 5, + Description = "When I see a Shift, create a \\\"By the Numbers\\\" in hand, or if you have one in hand, reduce its cost by 1.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Heretic Whistleblower", + ImageFile = "Harker, Metal Reporter.png", + }, + new() + { + Name = "Headbanging", + Category = "Spell", + Cost = 1, + Description = "Discard 1 to play. Deal 2 to an Agent or Core.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Headbanging.png", + }, + new() + { + Name = "Herald of the One", + Category = "Agent", + Cost = 4, + Attack = 1, + Health = 4, + Description = "Play: (C) Transform me into an exact copy of an Agent.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Nascent Clone", + ImageFile = "Herald of the One.png", + }, + new() + { + Name = "Heretic Whistleblower", + Category = "Agent", + Cost = 3, + Attack = 2, + Health = 4, + Description = "When I see a Shift, reveal the top card of your deck. If it is an Action, Draw 1.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Shift", + "Draw", + ], + ImmortalizeTo = [ + "Harker, Metal Reporter", + ], + ImmortalizeWhen = "I've seen 3+ Shifts.", + ImageFile = "Heretic Whistleblower.png", + }, + new() + { + Name = "Hidden Locus", + Category = "Agent", + Cost = 2, + Attack = 0, + Health = 2, + Description = "Round Start: Gain an extra Energy Crystal this round.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Eruption Incarnate", + ], + ImmortalizeWhen = "Round Start: You have 10 Energy Crystals.", + ImageFile = "Hidden Locus.png", + }, + new() + { + Name = "Holder of the Instruments", + Category = "Agent", + Cost = 1, + Attack = 2, + Health = 1, + Description = "Enter: Shift to The One True Timeline.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + "Symphony of the Path", + ], + ImmortalizeWhen = "I am Phased or Rewound.", + ImageFile = "Holder of the Instruments.png", + }, + new() + { + Name = "Holy Cleaner", + Category = "Agent", + Cost = 3, + Attack = 2, + Health = 3, + Description = "Play: Activate Rewind an Agent with equal or less Durability than me.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + "Violent Inquisitioner", + ], + ImmortalizeWhen = "You've Rewound 3+ times this game.", + ImageFile = "Holy Cleaner.png", + }, + new() + { + Name = "Horticulturalist Oswald", + Category = "Agent", + Cost = 1, + Attack = 2, + Health = 2, + Description = "Enter: Sprout 1. Activate: Give a Seedling Overpower.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Sprout", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Gardener Apprentice", + }, + new() + { + Name = "Hungry Engine", + Category = "Agent", + Cost = 5, + Attack = 5, + Health = 5, + Description = "Enter: Create a Circle of Strife in hand.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Armageddonaut", + ], + ImmortalizeWhen = "I've survived damage.", + ImageFile = "Hungry Engine.png", + }, + new() + { + Name = "Hungry Tyrannosaur", + Category = "Agent", + Cost = 8, + Attack = 8, + Health = 7, + Description = "Confront. Overpower. Enter: Create a Throwdown in hand.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Wreck-o Rex", + ], + ImmortalizeWhen = "I've destroyed an Agent.", + ImageFile = "Hungry Tyrannosaur.png", + }, + new() + { + Name = "Hush Now", + Category = "Spell", + Cost = 6, + Description = "Destroy an Agent.", + Faction = "Silence", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Hush Now.png", + }, + new() + { + Name = "Immediate", + Category = "Keyword", + Description = "This spell cannot be reacted to.", + Archetypes = [ + ], + }, + new() + { + Name = "Indara, the Candle", + Category = "Agent", + Cost = 6, + Attack = 4, + Health = 4, + Description = "Activate: [icon] Revive an Immortalized Ally.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Solemn Attendant", + ImageFile = "Indara, the Candle.png", + }, + new() + { + Name = "Invigorating Balm", + Category = "Spell", + Cost = 1, + Description = "Heal an ally 1. Give it +1/+1 this round.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Invigorating Balm.png", + }, + new() + { + Name = "Ironblood Elixir", + Category = "Spell", + Cost = 3, + Description = "Grant an ally +1/+2 and Fervor.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Ironblood Elixir.png", + }, + new() + { + Name = "Jenny, Sower of Spores", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 1, + Description = "Evasive. Strike: Sprout 1.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Sprout", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Fervent Mycologist", + ImageFile = "Jenny, Sower of Spores.png", + }, + new() + { + Name = "Jury of the Second Law", + Category = "Agent", + Cost = 5, + Attack = 5, + Health = 3, + Description = "Blitz. When you play an Action, gain 1 Reserve Energy.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Chaos Conductor Boltz", + ], + ImmortalizeWhen = "You've spent 12+ Energy in one round this game.", + ImageFile = "Jury of the Second Law.png", + }, + new() + { + Name = "Karmic Debtor", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 1, + Description = "Play: [icon]Phase an Agent. It cannot Phase in while I am in play.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + "Consequence Admin Cain", + ], + ImmortalizeWhen = "I've seen 3+ Agents Phased or Rewound.", + ImageFile = "Karmic Debtor.png", + }, + new() + { + Name = "Khaela the Hungry", + Category = "Agent", + Cost = 2, + Attack = 1, + Health = 5, + Description = "Play or Activate: (C) Deal 1 to me and another Agent. Sacrifice 2: Instead deal 2.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Painforger", + ImageFile = "Khaela the Hungry.png", + }, + new() + { + Name = "Khaela the Savior", + Category = "Agent", + Cost = 2, + Attack = 3, + Health = 4, + Description = "Blitz. Each time I Strike while attacking: Swap me with the Agent to my right, the Rewind it. Set its cost to 0 this round.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Temple Analyst", + ImageFile = "Khaela the Savior.png", + }, + new() + { + Name = "Khaela, the Vanished", + Category = "Agent", + Cost = 2, + Attack = 3, + Health = 2, + Description = "Blitz. Siphon.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Nameless Spirit", + ImageFile = "Khaela, the Vanished.png", + }, + new() + { + Name = "Khaelar", + Category = "Agent", + Cost = 6, + Attack = 8, + Health = 6, + Description = "Enter or when I destroy an Agent: Give the strongest enemy Exposed and set its stats to 1/1 this round.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Zealot of the Hunt", + ImageFile = "Khaelar.png", + }, + new() + { + Name = "Kinetic Absorber", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 3, + Description = "Confront.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Dyson, the Aspirant", + ], + ImmortalizeWhen = "I survive an enemy Striking me. When I Immortalize, Shift to Star Siphon.", + ImageFile = "Kinetic Absorber.png", + }, + new() + { + Name = "Kintsu-Kai", + Category = "Spell", + Cost = 2, + Description = "Any amount of allies Bleed 1. Grant Bleed to a single enemy that many times.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Kintsu-Kai.png", + }, + new() + { + Name = "Kurian, the Breaker", + Category = "Agent", + Cost = 6, + Attack = 10, + Health = 5, + Description = "Overpower. Allied Breakdown sees both Cores.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Frontline Juggernaut", + ImageFile = "Kurian, the Breaker.png", + }, + new() + { + Name = "Kyln, the Dynasty", + Category = "Agent", + Cost = 8, + Attack = 3, + Health = 3, + Description = "Evasive. Overpower. Enter: Flourish copies of me everywhere, then create a copy of me in hand and reduce the cost of allied created cards everywhere by 1 at Round End (Minimum 1).", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Planet Seeder", + ImageFile = "Kyln, the Dynasty.png", + }, + new() + { + Name = "Librarian's Assistant", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 1, + Description = "Enter: Draw a random 1, 2, or 3 cost Action from your deck.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Draw", + ], + ImmortalizeTo = [ + "Boof, the Listener", + ], + ImmortalizeWhen = "I've seen you play 3+ Actions.", + ImageFile = "Librarian's Assistant.png", + }, + new() + { + Name = "Lifeblood", + Category = "Faction", + Archetypes = [ + ], + }, + new() + { + Name = "Lightsteel Colossus", + Category = "Agent", + Cost = 8, + Attack = 9, + Health = 14, + Description = "Delay. Confront.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Gentle Frank", + ], + ImmortalizeWhen = "You have 10 Energy Crystals.", + ImageFile = "Lightsteel Colossus.png", + }, + new() + { + Name = "Lightsteel Engineer", + Category = "Agent", + Cost = 5, + Attack = 4, + Health = 5, + Description = "Reduce damage you or allies would deal to your Core by 1. When you reduce damage this way, deal 1 to the enemy Core.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Mechanist Daedelus", + ], + ImmortalizeWhen = "I've prevented 5+ damage to your Core.", + ImageFile = "Lightsteel Engineer.png", + }, + new() + { + Name = "Limit Breaker", + Category = "Agent", + Cost = 2, + Attack = 0, + Health = 1, + Description = "Round Start: I Flourish once for each Reserve Energy you have.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + "Malum, the Fist", + ], + ImmortalizeWhen = "I see your Energy Reserve Overflow.", + ImageFile = "Limit Breaker.png", + }, + new() + { + Name = "Living Comet", + Category = "Agent", + Cost = 4, + Attack = 1, + Health = 1, + Description = "Overpower. I have +1/+1 for every Energy Crystal you have.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Debris Collector", + ImageFile = "Living Comet.png", + }, + new() + { + Name = "Lumbering Starseeker", + Category = "Agent", + Cost = 5, + Attack = 5, + Health = 6, + Description = "Delay.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Luminous Vengeance", + ], + ImmortalizeWhen = "I survive damage.", + ImageFile = "Lumbering Starseeker.png", + }, + new() + { + Name = "Luminous Vengeance", + Category = "Agent", + Cost = 5, + Attack = 7, + Health = 6, + Description = "Delay. Overpower. Confront.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Lumbering Starseeker", + ImageFile = "Luminous Vengeance.png", + }, + new() + { + Name = "Magmatic Teachings", + Category = "Spell", + Cost = 3, + Description = "An Immortalized ally strikes an enemy. If that enemy is destroyed, Immortalize your weakest non-Immoralized ally.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Magmatic Teachings.png", + }, + new() + { + Name = "Magmatic Tether", + Category = "Agent", + Cost = 6, + Attack = 5, + Health = 5, + Description = "When you play an Action, (C) Shift to Volcanic Rivers.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Clarion, Deepest Breath", + ], + ImmortalizeWhen = "You've spent 12+ Energy in one round this game.", + ImageFile = "Magmatic Tether.png", + }, + new() + { + Name = "Magnus Lavaborn", + Category = "Agent", + Cost = 1, + Attack = 3, + Health = 1, + Description = "Enter: Shift to Volcanic Rivers twice. Strike: Deal 1 to the enemy Core.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Denizen of Flames", + ImageFile = "Magnus Lavaborn.png", + }, + new() + { + Name = "Malark, the Silver Wave", + Category = "Agent", + Cost = 3, + Attack = 4, + Health = 1, + Description = "Blitz. Last Gasp: Grant the weakest ally Blitz, +4/+1 and this Last Gasp.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Swashbuckling Diehard", + ImageFile = "Malark, the Silver Wave.png", + }, + new() + { + Name = "Malum, the Fist", + Category = "Agent", + Cost = 2, + Attack = 0, + Health = 1, + Description = "Round Start: I Flourish once for each Reserve Energy you have. Overflow: Grant me a random positive keyword.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Limit Breaker", + ImageFile = "Malum, the Fist.png", + }, + new() + { + Name = "Masa, Time-Lost", + Category = "Agent", + Cost = 6, + Attack = 7, + Health = 4, + Description = "Blitz. I cost 1 less for each time you've Phased or Rewound an Agent this game. When you Phase or Rewind an Agent, first deal 1 to the enemy Core. Strike: Rewind me.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Divergence Assasin", + ImageFile = "Masa, Time-Lost.png", + }, + new() + { + Name = "Master of Ceremonies", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 1, + Description = "Activate: Sacrifice 2: (C) Deal 2 to the enemy Core.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Bloodline Tracker", + ImageFile = "Master of Ceremonies.png", + }, + new() + { + Name = "Mechanist Daedelus", + Category = "Agent", + Cost = 5, + Attack = 5, + Health = 6, + Description = "Reduce damage you or allies would deal to your Core by 2. When you reduce damage this way, deal 2 to the enemy Core.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Lightsteel Engineer", + ImageFile = "Mechanist Daedelus.png", + }, + new() + { + Name = "Mind Over Matter", + Category = "Spell", + Cost = 3, + Description = "If Voiceless Sky is active, I am Immediate Speed. Deplete an Agent. Refresh an Agent.", + Faction = "Silence", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Mind Over Matter.png", + }, + new() + { + Name = "Mr. E", + Category = "Agent", + Cost = 7, + Attack = 4, + Health = 6, + Description = "Play: Discard up to 3. When you Discard: Draw 1 and reduce its cost by 2.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Draw", + "Discarded", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Rogue Amalgam", + ImageFile = "Mr. E.png", + }, + new() + { + Name = "Muffle", + Category = "Spell", + Cost = 4, + Description = "Mute an Agent this round or Deplete an ally to Mute two Agents this round.", + Faction = "Silence", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Muffle.png", + }, + new() + { + Name = "Mulch", + Category = "Spell", + Cost = 2, + Description = "Destroy an ally to Sprout equal to its Strength.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Mulch.png", + }, + new() + { + Name = "Nameless Spirit", + Category = "Agent", + Cost = 2, + Attack = 3, + Health = 2, + Description = "Temporary. Siphon.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Shift", + "Heal", + ], + ImmortalizeTo = [ + "Khaela, the Vanished", + ], + ImmortalizeWhen = "When I would be destroyed while I see Voiceless Sky, instead, Heal me to full and I Immortalize.", + ImageFile = "Nameless Spirit.png", + }, + new() + { + Name = "Nanobot Hive", + Category = "Agent", + Cost = 2, + Attack = 4, + Health = 4, + Description = "Allies have \\\"Last Gasp: Allies with the same name as me Flourish.\\\" Last Gasp: Allies with the same name as other allies Flourish.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Scattered Helpers", + ImageFile = "Nanobot Hive.png", + }, + new() + { + Name = "Nascent Clone", + Category = "Agent", + Cost = 4, + Attack = 1, + Health = 3, + Description = "Play: (C) Transform me into an exact copy of a non-Immortalized Agent, but I retain the following text:.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Herald of the One", + ], + ImmortalizeWhen = "Round End: I see Paradox.", + ImageFile = "Nascent Clone.png", + }, + new() + { + Name = "Nonlethal Special Forces", + Category = "Agent", + Cost = 4, + Attack = 3, + Health = 3, + Description = "Blitz. Each round, Disarm the first enemy that would destroy an ally in combat.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "The 'Stache", + ], + ImmortalizeWhen = "You've set the Strength of 4+ enemies to 0 this game.", + ImageFile = "Nonlethal Special Forces.png", + }, + new() + { + Name = "Not so Fast", + Category = "Spell", + Cost = 3, + Description = "Revive the strongest ally that was destroyed this round.", + Faction = "Silence", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Not so Fast.png", + }, + new() + { + Name = "Novathermal Mining", + Category = "Spell", + Cost = 5, + Description = "Gain an empty Energy Crystal. Sacrifice 3: Gain 4 Reserve Energy.", + Faction = "Sungrace", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Novathermal Mining.png", + }, + new() + { + Name = "Odol, the Red Death", + Category = "Agent", + Cost = 5, + Attack = 3, + Health = 5, + Description = "Rejuvenate. Enter: All Agents Bleed 1. When an ally survives damage, it Flourish|Flourishes and is granted Rejuvenate.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Red Reaper", + ImageFile = "Odol, the Red Death.png", + }, + new() + { + Name = "Omeganeura", + Category = "Agent", + Cost = 6, + Attack = 4, + Health = 4, + Description = "Evasive. Enter or Core Strike: Shift to Abundant Growth. Allies have +1/+1.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Glasswinged Monarch", + ImageFile = "Omeganeura.png", + }, + new() + { + Name = "Opener of the Way", + Category = "Agent", + Cost = 5, + Attack = 5, + Health = 6, + Description = "The first time each round an ally deals or takes damage, Draw 1 and Shift to Torment.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + "Shift", + "Draw", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Devoted Bloodletter", + ImageFile = "Opener of the Way.png", + }, + new() + { + Name = "Origination Engine", + Category = "Agent", + Cost = 8, + Attack = 6, + Health = 6, + Description = "Enter: Reset all Agents to their base text and stats, empty the Timeline Stack, Erase all Graveyards.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Overmind's Guilt", + ], + ImmortalizeWhen = "Your hand is empty.", + ImageFile = "Origination Engine.png", + }, + new() + { + Name = "Out of Line", + Category = "Spell", + Cost = 6, + Description = "Two Agents Phase. If they have the same name, instead destroy them.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Out of Line.png", + }, + new() + { + Name = "Overburdened Scribe", + Category = "Agent", + Cost = 6, + Attack = 3, + Health = 4, + Description = "Round End: Create in hand a random Action that started in your deck.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Dhali, Bearer of Memories", + ], + ImmortalizeWhen = "You've cast the same Action 3+ times this game.", + ImageFile = "Overburdened Scribe.png", + }, + new() + { + Name = "Overclock", + Category = "Spell", + Cost = 4, + Description = "Discard 1 to play. Double an ally's Strength and Durability and grant it Temporary.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Overclock.png", + }, + new() + { + Name = "Overmind's Guilt", + Category = "Agent", + Cost = 8, + Attack = 8, + Health = 8, + Description = "Evasive. Enter or Round Start: Reset all Agents to their base text, empty the Timeline Stack, Erase all Graveyards.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Origination Engine", + ImageFile = "Overmind's Guilt.png", + }, + new() + { + Name = "Overseer of Trials", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 5, + Description = "Confront. Other allies have Fervor. Fervor grants an extra +1/+1.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Bright-Eyed Supplicant", + ImageFile = "Overseer of Trials.png", + }, + new() + { + Name = "Painforger", + Category = "Agent", + Cost = 2, + Attack = 1, + Health = 3, + Description = "Play: (C) Deal 1 to me and another Agent. Sacrifice 2: Instead, deal 2.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Khaela the Hungry", + ], + ImmortalizeWhen = "Breakdown 10.", + ImageFile = "Painforger.png", + }, + new() + { + Name = "Panicked Refugee", + Category = "Agent", + Cost = 3, + Attack = 2, + Health = 2, + Description = "Enter: Summon a Wolf.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Bronk the Calm", + ], + ImmortalizeWhen = "Round End: I do not see an allied Wolf in play. When I Immortalize, Shift to Abundant Growth.", + ImageFile = "Panicked Refugee.png", + }, + new() + { + Name = "Paradox Analysis", + Category = "Spell", + Cost = 5, + Description = "Draw 2. Paradox: Instead, Draw 3.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Paradox Analysis.png", + }, + new() + { + Name = "Paradox Cacophony", + Category = "Spell", + Cost = 2, + Description = "Shift to Torment. Paradox: Trigger Bleed.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Paradox Cacophony.png", + }, + new() + { + Name = "Paradox Capacitor", + Category = "Spell", + Cost = 4, + Description = "Gain 1 empty Energy Crystal. Paradox: Instead, gain 2 empty Energy Crystals.", + Faction = "Sungrace", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Paradox Capacitor.png", + }, + new() + { + Name = "Paradox Flow", + Category = "Spell", + Cost = 3, + Description = "Shift to The One True Timeline. Fully Heal all allies. Paradox: Give all enemies Exposed this round.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Paradox Flow.png", + }, + new() + { + Name = "Paradox Plague", + Category = "Spell", + Cost = 5, + Description = "An Agent Decays once for every Timeline in the Timeline Stack. Paradox: Instead, enemies Decay once for every Timeline in the Timeline Stack.", + Faction = "Silence", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Paradox Plague.png", + }, + new() + { + Name = "Paradox Stimulator", + Category = "Spell", + Cost = 1, + Description = "Sprout 1. Paradox: Instead, Sprout 3.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Paradox Stimulator.png", + }, + new() + { + Name = "Peaceful Synthesizer", + Category = "Agent", + Cost = 1, + Attack = 0, + Health = 1, + Description = "Enter: I Deplete. Activate: Gain 1 Reserve Energy.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Sungarden Protector", + ], + ImmortalizeWhen = "I see your Energy Reserve Overflow.", + ImageFile = "Peaceful Synthesizer.png", + }, + new() + { + Name = "Penitent Star", + Category = "Agent", + Cost = 5, + Attack = 4, + Health = 8, + Description = "Evasive.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Containment Breach", + ImageFile = "Penitent Star.png", + }, + new() + { + Name = "Persistent Squire", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 2, + Description = "Confront. Agents I Strike Bleed 1.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Brant the Bloody", + ], + ImmortalizeWhen = "I see an Agent destroyed by Bleed.", + ImageFile = "Persistent Squire.png", + }, + new() + { + Name = "Phase", + Category = "Keyword", + Description = "A Phased Agent is treated as removed from play for the round, though it still occupies its board-space. At the start of the next round this unit Phases in and is in the exact same state as it Phased out. Phasing back in does not trigger Enter effects.", + Archetypes = [ + ], + }, + new() + { + Name = "Phased", + Category = "Keyword", + Description = "Triggered when this Agent has been affected by Phase.", + Archetypes = [ + ], + }, + new() + { + Name = "Phasetide", + Category = "Faction", + Archetypes = [ + ], + }, + new() + { + Name = "Pit Dog", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 4, + Description = "Overpower.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Boof, the Champion", + ], + ImmortalizeWhen = "I've damaged the enemy Core.", + ImageFile = "Pit Dog.png", + }, + new() + { + Name = "Planet Seeder", + Category = "Agent", + Cost = 8, + Attack = 2, + Health = 2, + Description = "Evasive. Enter: Flourish copies of me everywhere, then create a copy of me in hand at Round End.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + "Kyln, the Dynasty", + ], + ImmortalizeWhen = "I see Paradox.", + ImageFile = "Planet Seeder.png", + }, + new() + { + Name = "Pocket Dimension", + Category = "Spell", + Cost = 3, + Description = "Discard up to 3 to play. Summon that many Pocket Scouts. When I am discarded create a Scouter Round in hand.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Pocket Dimension.png", + }, + new() + { + Name = "Pocket Scout", + Category = "Token", + Cost = 1, + Attack = 1, + Health = 1, + Description = "Token.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + ], + ImageFile = "Pocket Scout.png", + }, + new() + { + Name = "Pontifex Dhabu", + Category = "Agent", + Cost = 1, + Attack = 2, + Health = 2, + Description = "Round End: I Flourish. When I see a Shift to a Timeline other than The One True Timeline, deal 1 to the enemy Core.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Flourish", + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Fervent Follower", + ImageFile = "Pontifex Dhabu.png", + }, + new() + { + Name = "Prayer of Rescue", + Category = "Spell", + Cost = 1, + Description = "Rewind an ally.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Prayer of Rescue.png", + }, + new() + { + Name = "Pressure Spike", + Category = "Spell", + Cost = 2, + Description = "Deal 1 to an Agent. Increase it by 1 for each ally it has.", + Faction = "Silence", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Pressure Spike.png", + }, + new() + { + Name = "Priestess Minia", + Category = "Agent", + Cost = 2, + Attack = 3, + Health = 7, + Description = "Confront. Enter: Deal 4 to me.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Seeker of Truth", + ImageFile = "Priestess Minia.png", + }, + new() + { + Name = "Pterosaur Rider", + Category = "Agent", + Cost = 4, + Attack = 3, + Health = 3, + Description = "Evasive.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Gritmancer Grant", + ], + ImmortalizeWhen = "I've Struck the enemy Core.", + ImageFile = "Pterosaur Rider.png", + }, + new() + { + Name = "Quaid, the Willing", + Category = "Agent", + Cost = 1, + Attack = 3, + Health = 2, + Description = "Last Gasp: Shift to Star Siphon. Strike: Gain 1 Reserve Energy.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Brilliant Martyr", + ImageFile = "Quaid, the Willing.png", + }, + new() + { + Name = "Quicksilver Khaela", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 1, + Description = "Temporary. Strike: Create a Transient copy of me in hand. Last Gasp: The next time you Shift, revive me and grant copies of me *everywhere* +1/+0.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Fractal Phantasm", + ImageFile = "Quicksilver Khaela.png", + }, + new() + { + Name = "Quiet Repose", + Category = "Spell", + Cost = 8, + Description = "Destroy all Agents. You may not play Agents for the rest of the round.", + Faction = "Silence", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Quiet Repose.png", + }, + new() + { + Name = "Radiant Channeling", + Category = "Spell", + Cost = 5, + Description = "Deal 0 to an Agent. Increase it by 2 and refill 1 Reserve Energy for each Reserve Energy spent to play this. Shift to Star Siphon.", + Faction = "Sungrace", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Radiant Channeling.png", + }, + new() + { + Name = "Raiz, Pacifist's Conclusion", + Category = "Agent", + Cost = 2, + Attack = 3, + Health = 3, + Description = "Enter: Disarm the Strongest enemy. Round End: If you have an unspent Attack Token, Create a We Have Cookies in hand.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Traffic Conductor", + ImageFile = "Raiz, Pacifist's Conclusion.png", + }, + new() + { + Name = "Rapid Iteration", + Category = "Spell", + Cost = 2, + Description = "Discard 1 to play. Deal 4 to an Agent.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Rapid Iteration.png", + }, + new() + { + Name = "Rebuild", + Category = "Spell", + Cost = 1, + Description = "Deal 1 to an Agent or Core. If an Agent survives this damage, it Flourish|Flourishes.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Rebuild.png", + }, + new() + { + Name = "Recycler", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 4, + Description = "Play: Discard 1 to heal your Core equal to that card's cost (Max 5).", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Heal", + "Discarded", + ], + ImmortalizeTo = [ + "Terraformer", + ], + ImmortalizeWhen = "You've Discarded 3+ times this game.", + ImageFile = "Recycler.png", + }, + new() + { + Name = "Red Reaper", + Category = "Agent", + Cost = 5, + Attack = 3, + Health = 5, + Description = "Rejuvenate. Enter: All Agents Bleed 1.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Odol, the Red Death", + ], + ImmortalizeWhen = "I see an Agent destroyed by Bleed.", + ImageFile = "Red Reaper.png", + }, + new() + { + Name = "Redactionist", + Category = "Agent", + Cost = 4, + Attack = 4, + Health = 1, + Description = "Play: (C) Revive an Agent. Grant it Temporary and \\\"When I would be destroyed, instead Erase me.\\\".", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Talia, Purger of Memory", + ], + ImmortalizeWhen = "I've seen 3+ Agents destroyed.", + ImageFile = "Redactionist.png", + }, + new() + { + Name = "Rescind Authorization", + Category = "Spell", + Cost = 4, + Description = "Rewind an Agent. Sacrifice 4: Instead, Rewind an ally and an enemy.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Rescind Authorization.png", + }, + new() + { + Name = "Return to Stillness", + Category = "Spell", + Cost = 1, + Description = "An Agent Deplete|Depletes. Shift to Voiceless Sky.", + Faction = "Silence", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Return to Stillness.png", + }, + new() + { + Name = "Rewind", + Category = "Keyword", + Description = "Return this Agent to its owner's hand.", + Archetypes = [ + ], + }, + new() + { + Name = "Rewound", + Category = "Keyword", + Description = "Triggered when this Agent has been affected by Rewind.", + Archetypes = [ + ], + }, + new() + { + Name = "Rift Mender Aris", + Category = "Agent", + Cost = 3, + Attack = 6, + Health = 6, + Description = "I have -1/-1 for each Timeline in the Timeline Stack other than The One True Timeline. Last Gasp: Shift to The One True Timeline.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Shattersmith", + ImageFile = "Rift Mender Aris.png", + }, + new() + { + Name = "Rippling Resplendence", + Category = "Spell", + Cost = 5, + Description = "Grant allies Fervor. Deal 1 to all Agents. Breakdown 15: Deal 1 to all Agents.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Rippling Resplendence.png", + }, + new() + { + Name = "Rogue Amalgam", + Category = "Agent", + Cost = 7, + Attack = 3, + Health = 5, + Description = "Play: Discard up to 3. When you Discard: Draw 1 and reduce its cost by 1.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Draw", + "Discarded", + ], + ImmortalizeTo = [ + "Mr. E", + ], + ImmortalizeWhen = "I've seen you Draw 6+ cards.", + ImageFile = "Rogue Amalgam.png", + }, + new() + { + Name = "Roiling Amalgam", + Category = "Agent", + Cost = 5, + Attack = 3, + Health = 5, + Description = "Play: Discard 1. When you Discard, grant me a random positive keyword.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Discarded", + ], + ImmortalizeTo = [ + "Ziv, the Adaptable", + ], + ImmortalizeWhen = "You've Discarded 3+ times this game.", + ImageFile = "Roiling Amalgam.png", + }, + new() + { + Name = "Rotting Rocker", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 1, + Description = "Activate: (C) Deal 2 to a random enemy.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Ylka, the Headliner", + ], + ImmortalizeWhen = "I've seen Agents Deplete 4+ times.", + ImageFile = "Rotting Rocker.png", + }, + new() + { + Name = "Round End", + Category = "Rule", + Description = "The end state of the round. Triggered when both players end there turns without action.", + Archetypes = [ + ], + }, + new() + { + Name = "Rumpus", + Category = "Spell", + Cost = 3, + Description = "Create a 1 cost Transient Throwdown in hand for each ally.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Rumpus.png", + }, + new() + { + Name = "Sali, Top Gunner", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 3, + Description = "Enter: Create a 1 cost Transient Sunshock in your hand. When you play a Sunshock, create a Transient exact copy in hand that costs 2 more.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Sunbringer Artillerist", + ImageFile = "Sali, Top Gunner.png", + }, + new() + { + Name = "Sanguine Resurgence", + Category = "Spell", + Cost = 5, + Description = "Your Bleed effects gain Siphon this round. Two Agents Bleed 3.", + Faction = "Splintergleam", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Sanguine Resurgence.png", + }, + new() + { + Name = "Sap Sapper", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 4, + Description = "Enter: Sprout 2, then grant those Seedlings \\\"Last Gasp: Deal 1 to all Agents.\\\".", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Sprout", + ], + ImmortalizeTo = [ + "The Botanist", + ], + ImmortalizeWhen = "I've seen 3+ Agents destroyed.", + ImageFile = "Sap Sapper.png", + }, + new() + { + Name = "Sapling Dryad", + Category = "Agent", + Cost = 2, + Attack = 1, + Health = 2, + Description = "I have +1/+0 for each time you've Sprout|Sprouted this game.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Sprout", + ], + ImmortalizeTo = [ + "The Great Oakmother", + ], + ImmortalizeWhen = "I've seen you Sprout 4+ times.", + ImageFile = "Sapling Dryad.png", + }, + new() + { + Name = "Sareh, Rebel Strategist", + Category = "Agent", + Cost = 4, + Attack = 5, + Health = 4, + Description = "Blitz. Cleave. Play: Grant two enemies Exposed. Round Start: Grant the strongest enemy Exposed.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Bullseye Bounty Hunter", + ImageFile = "Sareh, Rebel Strategist.png", + }, + new() + { + Name = "Scattered Helpers", + Category = "Agent", + Cost = 2, + Attack = 0, + Health = 4, + Description = "Allies have \\\"Last Gasp: Allies with the same name as me Flourish.\\\".", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + "Nanobot Hive", + ], + ImmortalizeWhen = "I see 3+ allies with the same name as other allies.", + ImageFile = "Scattered Helpers.png", + }, + new() + { + Name = "Scent the Prey", + Category = "Spell", + Cost = 3, + Description = "Choose an ally. Give all enemies with less Strength Exposed this round. Shift to either Abundant Growth or Deadly Fauna.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Scent the Prey.png", + }, + new() + { + Name = "Scoot Sparkles", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 3, + Description = "Overpower. When I survive damage, grant me +2/+0.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Glittering Gladiator", + }, + new() + { + Name = "Scouter Round", + Category = "Spell", + Cost = 1, + Description = "Play or Discard: Summon a Pocket Scout.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Scouter Round.png", + }, + new() + { + Name = "Scuttling Spares", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 1, + Description = "When I am Discarded: Create a copy of me in hand.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Discarded", + ], + ImmortalizeTo = [ + "Zorp, Unrecyclable", + ], + ImmortalizeWhen = "I see 2+ Scuttling Spares in your Graveyard. I can Immortalize out of play.", + ImageFile = "Scuttling Spares.png", + }, + new() + { + Name = "Seedling", + Category = "Token", + Cost = 1, + Attack = 1, + Health = 1, + Description = "Token.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + ], + ImageFile = "Seedling.png", + }, + new() + { + Name = "Seeker of Truth", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 6, + Description = "Enter: Deal 4 to me.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Priestess Minia", + ], + ImmortalizeWhen = "I see The One True Timeline.", + ImageFile = "Seeker of Truth.png", + }, + new() + { + Name = "Sensory Deprivation Pod", + Category = "Agent", + Cost = 5, + Attack = 2, + Health = 3, + Description = "When I Phase in, deal damage equal to my Strength to the weakest enemy. Activate: (C) I Flourish, then Phase.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Flourish", + "Rewound", + ], + ImmortalizeTo = [ + "Somnus, the Dreaming", + ], + ImmortalizeWhen = "I've seen 3+ Agents destroyed.", + ImageFile = "Sensory Deprivation Pod.png", + }, + new() + { + Name = "Set in Stone", + Category = "Spell", + Cost = 4, + Description = "I cost 1 less if you see The One True Timeline. An Agent Phase|Phases. Draw 1.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Set in Stone.png", + }, + new() + { + Name = "Shae'Fan, Remembered", + Category = "Agent", + Cost = 6, + Attack = 4, + Health = 7, + Description = "Activate: (C) Destroy another ally with less Durability than me, then Revive it and summon an exact copy of it.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "The Forgotten Tale", + ImageFile = "Shae'Fan, Remembered.png", + }, + new() + { + Name = "Shattersmith", + Category = "Agent", + Cost = 3, + Attack = 5, + Health = 5, + Description = "I have -1/-1 for each Timeline in the Timeline Stack other than The One True Timeline. Last Gasp: Shift to The One True Timeline.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Rift Mender Aris", + ], + ImmortalizeWhen = "I see The One True Timeline.", + ImageFile = "Shattersmith.png", + }, + new() + { + Name = "Shift", + Category = "Keyword", + Description = "Timeline is changed to the indicated Timeline.", + Archetypes = [ + ], + }, + new() + { + Name = "Silence", + Category = "Faction", + Archetypes = [ + ], + }, + new() + { + Name = "Singularity", + Category = "Faction", + Archetypes = [ + ], + }, + new() + { + Name = "Sleepy Druid", + Category = "Agent", + Cost = 3, + Attack = 2, + Health = 2, + Description = "Activate: (C) An Agent Flourish|Flourishes.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + "Xae, Dreamstrider", + ], + ImmortalizeWhen = "I've seen allies Flourish 4+ times.", + ImageFile = "Sleepy Druid.png", + }, + new() + { + Name = "Slow Convert", + Category = "Agent", + Cost = 6, + Attack = 2, + Health = 1, + Description = "I cost 1 less for each copy of The One True Timeline in the Timeline Stack. Enter: Create a The Firm Hand in hand.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Dedicated Missionary", + ], + ImmortalizeWhen = "I see The One True Timeline.", + ImageFile = "Slow Convert.png", + }, + new() + { + Name = "Slow", + Category = "Spell", + Description = "This spell cannot be used as a reaction to something on the Chain.", + Archetypes = [ + ], + }, + new() + { + Name = "Snap Back", + Category = "Spell", + Cost = 2, + Description = "Return an Action from your Graveyard to your hand and grant it \\\"If I would be put into a Graveyard, instead Erase me\\\", or an Agent Phase|Phases in.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Snap Back.png", + }, + new() + { + Name = "Solemn Attendant", + Category = "Agent", + Cost = 6, + Attack = 3, + Health = 3, + Description = "Play: Revive an Immortalized Ally.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Indara, the Candle", + ], + ImmortalizeWhen = "I've seen 3+ Agents destroyed.", + ImageFile = "Solemn Attendant.png", + }, + new() + { + Name = "Somber Astronomer", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 1, + Description = "Enter: Create a Return to Stillness in hand.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "A'kon, Starry Diviner", + ], + ImmortalizeWhen = "I've seen you Shift 2+ times.", + ImageFile = "Somber Astronomer.png", + }, + new() + { + Name = "Somnus, the Dreaming", + Category = "Agent", + Cost = 5, + Attack = 3, + Health = 4, + Description = "When I Phase in, deal damage equal to my Strength to the weakest enemy and the enemy Core. Activate: (C) I Flourish, Phase.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Flourish", + "Rewound", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Sensory Deprivation Pod", + ImageFile = "Somnus, the Dreaming.png", + }, + new() + { + Name = "Soothing Glow", + Category = "Spell", + Cost = 2, + Description = "An ally Flourish|Flourishes. Heal your Core 2.", + Faction = "Sungrace", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Soothing Glow.png", + }, + new() + { + Name = "Spark of Bounty", + Category = "Agent", + Cost = 5, + Attack = 4, + Health = 4, + Description = "Enter: Shift to Abundant Growth.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "The Beating Heart", + ], + ImmortalizeWhen = "Round End: You have 15+ Strength in play.", + ImageFile = "Spark of Bounty.png", + }, + new() + { + Name = "Specialist Boof", + Category = "Agent", + Cost = 2, + Attack = 3, + Health = 2, + Description = "Evasive. Core Strike: Erase the enemy Graveyard, or if the enemy Graveyard is empty, I Strike the weakest enemy.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Canine Adjutant", + ImageFile = "Specialist Boof.png", + }, + new() + { + Name = "Spirit's Lament", + Category = "Spell", + Cost = 11, + Description = "Revive an ally. Grant it the combined stats and positive keywords of all other Agents in Graveyards.", + Faction = "Silence", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Spirit's Lament.png", + }, + new() + { + Name = "Splintergleam", + Category = "Faction", + Archetypes = [ + ], + }, + new() + { + Name = "Spread the Sickness", + Category = "Spell", + Cost = 5, + Description = "When an Agent is destroyed this round, Agents Decay. Agents Decay.", + Faction = "Silence", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Spread the Sickness.png", + }, + new() + { + Name = "Sprout", + Category = "Keyword", + Description = "Summon a 1/1 spore. If your board is full, give your weakest spore +1/+1.", + Archetypes = [ + ], + }, + new() + { + Name = "Stability Control", + Category = "Spell", + Cost = 6, + Description = "An Agent loses Temporary, a card in your hand loses Transient, and an Agent gains Temporary. Paradox: I cost 3.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Stability Control.png", + }, + new() + { + Name = "Stalwart Champion", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 4, + Description = "Rejuvenate.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Enlightened Survivor", + ], + ImmortalizeWhen = "Breakdown 15.", + ImageFile = "Stalwart Champion.png", + }, + new() + { + Name = "Star Siphon", + Category = "Timeline", + Description = "Round End: Refill all Energy Reserves.", + Faction = "Sungrace", + Archetypes = [ + ], + }, + new() + { + Name = "Starfueled Medics", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 3, + Description = "Play: [icon] Deal 1 to all Agents and Cores, then heal allies and your Core 1. Overflow: Heal allies and your Core 1.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Heal", + ], + ImmortalizeTo = [ + "Doctor Mirthram Remora", + ], + ImmortalizeWhen = "You've healed your Core in 4+ different rounds.", + ImageFile = "Starfueled Medics.png", + }, + new() + { + Name = "Stern Arbiter", + Category = "Agent", + Cost = 7, + Attack = 5, + Health = 5, + Description = "Play: Return an Action from your Graveyard to your hand. It costs 3 less and has \\\"If I would be put into a Graveyard, instead Erase me.\\\".", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Grand Judge Dhael", + ], + ImmortalizeWhen = "I've seen you play 3+ cards wi...", + ImageFile = "Stern Arbiter.png", + }, + new() + { + Name = "Strength of the Grove", + Category = "Spell", + Cost = 4, + Description = "Sprout 1. Give an ally +1/+1 this round for each other ally.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Strength of the Grove.png", + }, + new() + { + Name = "Sunbringer Artillerist", + Category = "Agent", + Cost = 2, + Attack = 1, + Health = 2, + Description = "Enter: Create a 1 cost Transient Sunshock in your hand.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Sali, Top Gunner", + ], + ImmortalizeWhen = "You've played the same Action 3+ times this game.", + ImageFile = "Sunbringer Artillerist.png", + }, + new() + { + Name = "Suncursed Conduit", + Category = "Agent", + Cost = 3, + Attack = 2, + Health = 4, + Description = "Activate: I Decay, Erase a card in a Graveyard to gain an extra Energy Crystal this round.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Decay", + ], + ImmortalizeTo = [ + "Vor’kon, Eternal Source", + ], + ImmortalizeWhen = "You've spent 12+ Energy in one round this game.", + ImageFile = "Suncursed Conduit.png", + }, + new() + { + Name = "Sungarden Protector", + Category = "Agent", + Cost = 1, + Attack = 3, + Health = 3, + Description = "No effect text available.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Peaceful Synthesizer", + ImageFile = "Sungarden Protector.png", + }, + new() + { + Name = "Sungrace", + Category = "Faction", + Archetypes = [ + ], + }, + new() + { + Name = "Sunshock", + Category = "Spell", + Cost = 2, + Description = "Deal 2 to an Agent or Core.", + Faction = "Sungrace", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Sunshock.png", + }, + new() + { + Name = "Supernova", + Category = "Spell", + Cost = 5, + Description = "Deal 0 to an Agent. Increase it by 2 and refill 2 Energy Crystals for each time you've Overflowed this game.", + Faction = "Sungrace", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Supernova.png", + }, + new() + { + Name = "Swashbuckling Diehard", + Category = "Agent", + Cost = 3, + Attack = 4, + Health = 1, + Description = "Blitz. When I take non-combat damage, first prevent it and I Phase.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + "Malark, the Silver Wave", + ], + ImmortalizeWhen = "I've Phased in twice.", + ImageFile = "Swashbuckling Diehard.png", + }, + new() + { + Name = "Symbiosis", + Category = "Spell", + Cost = 6, + Description = "Grant two Agents each other's stats and keywords.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Symbiosis.png", + }, + new() + { + Name = "Symphony of the Path", + Category = "Agent", + Cost = 1, + Attack = 2, + Health = 2, + Description = "Enter: Shift to The One True Timeline. When I am Phased or Rewound my strongest ally Flourishes.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Holder of the Instruments", + ImageFile = "Symphony of the Path.png", + }, + new() + { + Name = "Talia, Purger of Memory", + Category = "Agent", + Cost = 4, + Attack = 5, + Health = 2, + Description = "Activate: (C) Revive an Agent. Grant it Temporary and \\\"When I would be destroyed, instead Erase me.\\", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Redactionist", + ImageFile = "Talia, Purger of Memory.png", + }, + new() + { + Name = "Telepathic Conduit", + Category = "Agent", + Cost = 2, + Attack = 1, + Health = 2, + Description = "Activate: I Decay, grant me \\\"If you or an ally would deal non-combat damage, increase it by 1.\\\".", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Decay", + ], + ImmortalizeTo = [ + "The Strand", + ], + ImmortalizeWhen = "You've dealt 15+ non-combat damage this game.", + ImageFile = "Telepathic Conduit.png", + }, + new() + { + Name = "Telepathic Scavenger", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 3, + Description = "Each time an Agent Deplete|Depletes, I Flourish.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + "The Uncontained", + ], + ImmortalizeWhen = "I've seen Agents Deplete 4+ times.", + ImageFile = "Telepathic Scavenger.png", + }, + new() + { + Name = "Temple Analyst", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 3, + Description = "Blitz. The first time each round I Strike while attacking: Swap me with the Agent to my right, then Rewind it. Reduce its cost by 1 this round.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + "Khaela the Savior", + ], + ImmortalizeWhen = "I've seen 3+ Agents Phased or Rewound.", + ImageFile = "Temple Analyst.png", + }, + new() + { + Name = "Temple Guard Hound", + Category = "Agent", + Cost = 1, + Attack = 2, + Health = 5, + Description = "Enter: Deal 4 to me.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + "Boof, Ever Loyal", + ], + ImmortalizeWhen = "I see The One True Timeline.", + ImageFile = "Temple Guard Hound.png", + }, + new() + { + Name = "Terraformer", + Category = "Agent", + Cost = 4, + Attack = 3, + Health = 5, + Description = "Play: Discard 1 to heal your Core equal to that card's cost (Max 5) then Shift to Erudite Beacon.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Shift", + "Heal", + "Discarded", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Recycler", + ImageFile = "Terraformer.png", + }, + new() + { + Name = "Territorial Pack", + Category = "Agent", + Cost = 2, + Attack = 1, + Health = 2, + Description = "Enter: Summon a Wolf.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Boof, Lonely and Proud", + ], + ImmortalizeWhen = "Round End: I do not see an allied Wolf in Play.", + ImageFile = "Territorial Pack.png", + }, + new() + { + Name = "The 'Stache", + Category = "Agent", + Cost = 4, + Attack = 4, + Health = 4, + Description = "Blitz. Each round, Disarm the first enemy that would destroy an ally in combat.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Nonlethal Special Forces", + ImageFile = "The 'Stache.png", + }, + new() + { + Name = "The Beating Heart", + Category = "Agent", + Cost = 5, + Attack = 5, + Health = 5, + Description = "Enter: Shift to Abundant Growth. Round Start: Allies Flourish.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Flourish", + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Spark of Bounty", + ImageFile = "The Beating Heart.png", + }, + new() + { + Name = "The Botanist", + Category = "Agent", + Cost = 4, + Attack = 3, + Health = 5, + Description = "Rejuvenate. Activate: Sprout 2, then grant those Seedlings \\\"Last Gasp: Deal 1 to all Agents.\\", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Sprout", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Sap Sapper", + ImageFile = "The Botanist.png", + }, + new() + { + Name = "The Cycle Embodied", + Category = "Agent", + Cost = 1, + Attack = 2, + Health = 2, + Description = "Evasive. The first time each round you or allies Sprout, Decay, or Flourish, I Flourish.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Sprout", + "Flourish", + "Decay", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Burrowing Beetles", + ImageFile = "The Cycle Embodied.png", + }, + new() + { + Name = "The Firm Hand", + Category = "Spell", + Cost = 2, + Description = "Shift to The One True Timeline. Draw 1.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "The Firm Hand.png", + }, + new() + { + Name = "The Forgotten Tale", + Category = "Agent", + Cost = 6, + Attack = 3, + Health = 7, + Description = "Activate: (C) Destroy another ally with less Durability than me, then Revive it.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Shae'Fan, Remembered", + ], + ImmortalizeWhen = "I've seen 3+ Agents destroyed.", + ImageFile = "The Forgotten Tale.png", + }, + new() + { + Name = "The Great Oakmother", + Category = "Agent", + Cost = 2, + Attack = 1, + Health = 3, + Description = "I have +1/+0 for each time you've Sprout|Sprouted this game. When you Sprout, add 2 to its value.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Sprout", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Sapling Dryad", + ImageFile = "The Great Oakmother.png", + }, + new() + { + Name = "The One True Timeline", + Category = "Timeline", + Description = "Round Start: Heal all Agents and Cores 1.", + Faction = "Phasetide", + Archetypes = [ + ], + }, + new() + { + Name = "The Ripper", + Category = "Agent", + Cost = 4, + Attack = 4, + Health = 7, + Description = "Confront. Overpower. Agents and Cores I Strike Bleed 1.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Toothy Pugilist", + }, + new() + { + Name = "The Strand", + Category = "Agent", + Cost = 2, + Attack = 1, + Health = 4, + Description = "Activate: I Decay, grant me \\\"If you or an ally would deal non-combat damage, increase it by 1.\\", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Decay", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Telepathic Conduit", + ImageFile = "The Strand.png", + }, + new() + { + Name = "The Uncontained", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 3, + Description = "Overpower. Each time an Agent Deplete|Depletes, I Flourish.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Telepathic Scavenger", + ImageFile = "The Uncontained.png", + }, + new() + { + Name = "The Unstoppable Flow", + Category = "Agent", + Cost = 4, + Attack = 2, + Health = 2, + Description = "Overpower. Enter: Shift to Volcanic Rivers. I have +1/+1 for each Timeline in the Timeline Stack.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Blazing Shifter", + ImageFile = "The Unstoppable Flow.png", + }, + new() + { + Name = "Throw into the Sun", + Category = "Spell", + Cost = 6, + Description = "Erase any card in play.", + Faction = "Sungrace", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Throw into the Sun.png", + }, + new() + { + Name = "Throwdown", + Category = "Spell", + Cost = 2, + Description = "An ally and an enemy Strike each other.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Throwdown.png", + }, + new() + { + Name = "Tidal Wave", + Category = "Spell", + Cost = 5, + Description = "Surge. If you have more Core Durability than your opponent, allies Flourish twice.", + Faction = "Phasetide", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Tidal Wave.png", + }, + new() + { + Name = "Time Devourer Soval", + Category = "Agent", + Cost = 10, + Attack = 12, + Health = 12, + Description = "For each Timeline in the Timeline Stack, I gain a random positive keyword. The first time each round I would be destroyed, instead heal me to my maximum durability and destroy the...", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Shift", + "Heal", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Devourer Spawn", + ImageFile = "Time Devourer Soval.png", + }, + new() + { + Name = "Timestop", + Category = "Spell", + Cost = 4, + Description = "Clear the Chain.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Timestop.png", + }, + new() + { + Name = "Timewarped Discombobulator", + Category = "Spell", + Cost = 5, + Description = "Deal 1 to an Agent. Summon a random 1 Cost Agent. While I'm in hand, increase both by 1 when you Shift. (Max 10)", + Faction = "Singularity", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Timewarped Discombobulator.png", + }, + new() + { + Name = "Tino, Majestic Stumbler", + Category = "Agent", + Cost = 2, + Attack = 3, + Health = 3, + Description = "Enter: Sprout 1 for each other ally then Shift to Deadly Fauna.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Sprout", + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Aardvark Precinct Captain", + ImageFile = "Tino, Majestic Stumbler.png", + }, + new() + { + Name = "Toothy Pugilist", + Category = "Agent", + Cost = 4, + Attack = 3, + Health = 6, + Description = "Confront. Agents I Strike Bleed 1.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "The Ripper", + ], + ImmortalizeWhen = "I see an Agent destroyed by Bleed.", + ImageFile = "Toothy Pugilist.png", + }, + new() + { + Name = "Torment", + Category = "Timeline", + Description = "All Agents and Cores have Bleed 1.", + Faction = "Splintergleam", + Archetypes = [ + ], + }, + new() + { + Name = "Traffic Conductor", + Category = "Agent", + Cost = 2, + Attack = 2, + Health = 2, + Description = "Enter: Disarm the Strongest enemy.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Raiz, Pacifist's Conclusion", + ], + ImmortalizeWhen = "I see 3+ Agents with 0 Strength in play.", + ImageFile = "Traffic Conductor.png", + }, + new() + { + Name = "Transient", + Category = "Keyword", + Description = "This card in hand is Discarded at Round End.", + Archetypes = [ + ], + }, + new() + { + Name = "True Believer", + Category = "Agent", + Cost = 3, + Attack = 2, + Health = 1, + Description = "Enter: Create in hand a random Action that started in your deck. Activate: I Decay. Create in hand a random Action that started in your deck.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Decay", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Disciplined Student", + ImageFile = "True Believer.png", + }, + new() + { + Name = "Tyar, Benevolent Ruler", + Category = "Agent", + Cost = 7, + Attack = 7, + Health = 6, + Description = "Overpower. The first time each round anything takes damage, create a Transient Bloodbolt in hand. Round Start: Create a Transient Bloodbolt in hand.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Brutal Reveler", + ImageFile = "Tyar, Benevolent Ruler.png", + }, + new() + { + Name = "Uninhibited Expansion", + Category = "Spell", + Cost = 5, + Description = "Sprout 6.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Uninhibited Expansion.png", + }, + new() + { + Name = "Unlocked Potential", + Category = "Spell", + Cost = 8, + Description = "Grant an ally +9/+4.", + Faction = "Sungrace", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "Unlocked Potential.png", + }, + new() + { + Name = "Unstoppable Growth", + Category = "Spell", + Cost = 4, + Description = "An Agent destroys its allies and gains their Strength and Durability.", + Faction = "Lifeblood", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "Unstoppable Growth.png", + }, + new() + { + Name = "Vera, Original Proof", + Category = "Agent", + Cost = 2, + Attack = 4, + Health = 3, + Description = "Overpower. Last Gasp: Shift to Volcanic Rivers.", + Faction = "Splintergleam", + Set = "Core Set", + Archetypes = [ + "Shift", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Desperate Primordial", + ImageFile = "Vera, Original Proof.png", + }, + new() + { + Name = "Violent Inquisitioner", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 4, + Description = "Play: Activate Rewind an Agent with equal or less Durability than me. The first time each round you Rewind an Agent, Draw 1.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Holy Cleaner", + }, + new() + { + Name = "Violet Inquisitioner", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 4, + Description = "Play: [icon] Rewind an Agent with equal or less Durability than me. The first time each round you Rewind an Agent, Draw 1.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + "Draw", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Holy Cleaner", + ImageFile = "Violet Inquisitioner.png", + }, + new() + { + Name = "Voiceless Sky", + Category = "Timeline", + Description = "If a player has exactly one Agent, it has +3/+3.", + Faction = "Silence", + Archetypes = [ + ], + }, + new() + { + Name = "Volcanic Rivers", + Category = "Timeline", + Description = "When you Shift here, deal 1 to both Cores.", + Faction = "Splintergleam", + Archetypes = [ + ], + }, + new() + { + Name = "Vor’kon, Eternal Source", + Category = "Agent", + Cost = 3, + Attack = 2, + Health = 7, + Description = "Activate: I Flourish, Erase a card in a Graveyard to gain an extra Energy Crystal this round.", + Faction = "Sungrace", + Set = "Core Set", + Archetypes = [ + "Flourish", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Suncursed Conduit", + ImageFile = "Vor’kon, Eternal Source.png", + }, + new() + { + Name = "Wake-Up Prod", + Category = "Spell", + Cost = 2, + Description = "Deal 1 to an Agent or Core. Draw 1.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Fast", + Archetypes = [ + ], + ImageFile = "Wake-Up Prod.png", + }, + new() + { + Name = "We Have Cookies", + Category = "Spell", + Cost = 9, + Description = "Take control of an enemy with a cost equal to or less than the number of Timelines in the Timeline Stack.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Slow", + Archetypes = [ + ], + ImageFile = "We Have Cookies.png", + }, + new() + { + Name = "What Could Be", + Category = "Spell", + Cost = 7, + Description = "Choose an ally. Disarm all other Agents.", + Faction = "Singularity", + Set = "Core Set", + Speed = "Immediate", + Archetypes = [ + ], + ImageFile = "What Could Be.png", + }, + new() + { + Name = "Wilfred, Lobotomizer", + Category = "Agent", + Cost = 1, + Attack = 4, + Health = 3, + Description = "Round End: Decay. When I Decay, all enemies Decay.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + "Decay", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Braindead Bouncer", + ImageFile = "Wilfred, Lobotomizer.png", + }, + new() + { + Name = "Witch of the Woods", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 2, + Description = "Play: (C) Deplete an Enemy. Round Start: Create a Return to Stillness in hand.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Forest Recluse", + ImageFile = "Witch of the Woods.png", + }, + new() + { + Name = "Wolf", + Category = "Token", + Cost = 2, + Attack = 2, + Health = 1, + Description = "Confront.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + ], + ImageFile = "Wolf.png", + }, + new() + { + Name = "Wom, Sweet Wom", + Category = "Agent", + Cost = 2, + Attack = 1, + Health = 4, + Description = "Activate: Reduce an Agent's Strength by my Strength this round. When I see an enemy Agent reduced to 0 Strength, grant allies +1/+0.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Awakened Security System", + ImageFile = "Wom, Sweet Wom.png", + }, + new() + { + Name = "Wreck-o Rex", + Category = "Agent", + Cost = 8, + Attack = 9, + Health = 9, + Description = "Confront. Overpower. Cleave. Enter: Create a Throwdown in hand.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Hungry Tyrannosaur", + ImageFile = "Wreck-o Rex.png", + }, + new() + { + Name = "Xae, Dreamstrider", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 3, + Description = "Activate: (C) An Agent Flourish|Flourishes or Decays.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + "Flourish", + "Decay", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Sleepy Druid", + ImageFile = "Xae, Dreamstrider.png", + }, + new() + { + Name = "Ylka, the Headliner", + Category = "Agent", + Cost = 3, + Attack = 3, + Health = 1, + Description = "Activate: Rock out. When allies Deplete, (C) Deal 2 to a random enemy. If it's dead or gone, deal 1 to the enemy Core instead.", + Faction = "Silence", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Rotting Rocker", + ImageFile = "Ylka, the Headliner.png", + }, + new() + { + Name = "Zealot of the Hunt", + Category = "Agent", + Cost = 6, + Attack = 7, + Health = 5, + Description = "Enter or when I.", + Faction = "Lifeblood", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + "Khaelar", + ], + ImmortalizeWhen = "Give the strongest enemy Exposed and set its stats to 1/1 this round. Immortalize: I've destroyed an Agent.", + ImageFile = "Zealot of the Hunt.png", + }, + new() + { + Name = "Zel, the First Diver", + Category = "Agent", + Cost = 1, + Attack = 1, + Health = 3, + Description = "When I am Phased or Rewound, first Draw 1 and Flourish. When I am Rewound or Destroyed, I keep all permanent buffs.", + Faction = "Phasetide", + Set = "Core Set", + Archetypes = [ + "Rewound", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Curious Acolyte", + ImageFile = "Zel, the First Diver.png", + }, + new() + { + Name = "Ziv, the Adaptable", + Category = "Agent", + Cost = 5, + Attack = 3, + Health = 5, + Description = "Play: Discard 1. When you Discard, I Flourish and grant me a random positive keyword.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + "Flourish", + "Discarded", + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Roiling Amalgam", + ImageFile = "Ziv, the Adaptable.png", + }, + new() + { + Name = "Zorp, Unrecyclable", + Category = "Agent", + Cost = 3, + Attack = 6, + Health = 1, + Description = "Overpower. Enter: Create a copy of me in hand.", + Faction = "Singularity", + Set = "Core Set", + Archetypes = [ + ], + ImmortalizeTo = [ + ], + ImmortalizeFrom = "Scuttling Spares", + ImageFile = "Zorp, Unrecyclable.png", + } + ]; +} diff --git a/Chrono/Web/Layout/MainLayout.razor b/Chrono/Web/Layout/MainLayout.razor index e7554be..c3bc89a 100644 --- a/Chrono/Web/Layout/MainLayout.razor +++ b/Chrono/Web/Layout/MainLayout.razor @@ -5,10 +5,6 @@
-
- About -
-
@Body
diff --git a/Chrono/Web/Layout/NavMenu.razor b/Chrono/Web/Layout/NavMenu.razor index 9480bf0..f1ce1d6 100644 --- a/Chrono/Web/Layout/NavMenu.razor +++ b/Chrono/Web/Layout/NavMenu.razor @@ -14,16 +14,6 @@ Home - -