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); +}