diff --git a/ZeroSpace/ZeroSpace.Model/FactionPowerItems.g.cs b/ZeroSpace/ZeroSpace.Model/FactionPowerItems.g.cs
new file mode 100644
index 0000000..98137d7
--- /dev/null
+++ b/ZeroSpace/ZeroSpace.Model/FactionPowerItems.g.cs
@@ -0,0 +1,67 @@
+//
+namespace ZeroSpace.Model;
+
+public static class FactionPowerItems
+{
+ public static readonly FactionPowerItemData Destroyer = new(
+ Id: "Destroyer",
+ Name: "Destroyer",
+ Levels: ["Spawns a powerful guardian with limited life. Spawns Boomers over time and on death. Retains infused when called again."],
+ LimitedTo: "Vynthra",
+ LimitedToMerc: null,
+ MinimumLevel: 10,
+ ImageFileName: null,
+ Body: "");
+
+ public static readonly FactionPowerItemData HealingPod = new(
+ Id: "HealingPod",
+ Name: "Healing Pod",
+ Levels: ["Spawn a Nourishing Pod and three Seedlings. Nourishing Pod heals nearby units."],
+ LimitedTo: "Vynthra",
+ LimitedToMerc: null,
+ MinimumLevel: 1,
+ ImageFileName: null,
+ Body: "");
+
+ public static readonly FactionPowerItemData Infusion = new(
+ Id: "Infusion",
+ Name: "Infusion",
+ Levels: ["Increases the target's health, attack damage, health and energy regeneration."],
+ LimitedTo: "Vynthra",
+ LimitedToMerc: null,
+ MinimumLevel: 1,
+ ImageFileName: null,
+ Body: "");
+
+ public static readonly FactionPowerItemData OrbitalLaser = new(
+ Id: "OrbitalLaser",
+ Name: "Orbital Laser",
+ Levels: ["Heals friendly units and Revives recently lost units."],
+ LimitedTo: null,
+ LimitedToMerc: "The Molten",
+ MinimumLevel: 3,
+ ImageFileName: null,
+ Body: "");
+
+ public static readonly FactionPowerItemData TreeOfLife = new(
+ Id: "TreeOfLife",
+ Name: "Tree of Life",
+ Levels: ["Heals friendly units and Revives recently lost units."],
+ LimitedTo: "Vynthra",
+ LimitedToMerc: null,
+ MinimumLevel: 3,
+ ImageFileName: null,
+ Body: "");
+
+ public static IReadOnlyList All { get; } =
+ [
+ Destroyer,
+ HealingPod,
+ Infusion,
+ OrbitalLaser,
+ TreeOfLife,
+ ];
+
+ public static IReadOnlyDictionary ByName { get; } =
+ All.ToDictionary(static item => item.Name, StringComparer.OrdinalIgnoreCase);
+}