diff --git a/ZeroSpace/ZeroSpace.Model/GeneralItems.g.cs b/ZeroSpace/ZeroSpace.Model/GeneralItems.g.cs new file mode 100644 index 0000000..fe36956 --- /dev/null +++ b/ZeroSpace/ZeroSpace.Model/GeneralItems.g.cs @@ -0,0 +1,138 @@ +// +namespace ZeroSpace.Model; + +public static class GeneralItems +{ + public static readonly GeneralItemData ArandiPenumbra = new( + Id: "ArandiPenumbra", + Name: "Arandi Penumbra", + Levels: ["Unlocks construction of Arandi Penumbra and production of mercenaries from it.", "Increase mercenary health +15% and damage +15%", "Increase mercenary compound limit by 1.", "Increase mercenary health +30% and damage +30%", "Increase mercenary compound limit by 1."], + LimitedToMerc: "Arandi", + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData ElderbastionShell = new( + Id: "ElderbastionShell", + Name: "Elderbastion Shell", + Levels: ["Gives you access to the wall building. +15% vitals for buildings.", "+30% vitals for buildings.", "+45% vitals for buildings.", "+60% vitals for buildings.", "+75% vitals for buildings."], + LimitedToMerc: null, + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData EnigmaticCapacitor = new( + Id: "EnigmaticCapacitor", + Name: "Enigmatic Capacitor", + Levels: ["-5% unit ability cooldowns.", "-10% unit ability cooldowns.", "-15% unit ability cooldowns.", "-20% unit ability cooldowns.", "-25% unit ability cooldowns."], + LimitedToMerc: null, + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData FreeCorsairMercenaryOutpost = new( + Id: "FreeCorsairMercenaryOutpost", + Name: "Free Corsair Mercenary Outpost", + Levels: ["Unlocks construction of Free Corsair Mercernary Outpost and production of mercenaries from it.", "Increase mercenary health +15% and damage +15%", "Increase mercenary compound limit by 1.", "Increase mercenary health +30% and damage +30%", "Increase mercenary compound limit by 1."], + LimitedToMerc: "Free Corsair", + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData GensisCore = new( + Id: "GensisCore", + Name: "Gensis Core", + Levels: ["+1 unit health regeneration per second.", "+2 unit health regeneration per second.", "+3 unit health regeneration per second.", "+4 unit health regeneration per second.", "+5 unit health regeneration per second."], + LimitedToMerc: null, + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData LightweightAlloys = new( + Id: "LightweightAlloys", + Name: "Lightweight alloys", + Levels: ["+10% unit movement speed.", "+20% unit movement speed.", "+30% unit movement speed.", "+40% unit movement speed.", "+50% unit movement speed."], + LimitedToMerc: null, + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData MarranBulwark = new( + Id: "MarranBulwark", + Name: "Marran Bulwark", + Levels: ["Unlocks construction of Marran Bulwark and production of mercenaries from it.", "Increase mercenary health +15% and damage +15%", "Increase mercenary compound limit by 1.", "Increase mercenary health +30% and damage +30%", "Increase mercenary compound limit by 1."], + LimitedToMerc: "Marran", + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData RenewalMatrix = new( + Id: "RenewalMatrix", + Name: "Renewal Matrix", + Levels: ["5x faster hero and harvester respawn rate.", "10x faster hero and harvester respawn rate."], + LimitedToMerc: null, + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData SilentHollow = new( + Id: "SilentHollow", + Name: "Silent Hollow", + Levels: ["Unlocks construction of Deep One and production of mercenaries from it.", "Increase mercenary health +15% and damage +15%", "Increase mercenary compound limit by 1.", "Increase mercenary health +30% and damage +30%", "Increase mercenary compound limit by 1."], + LimitedToMerc: "Enrandi", + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData StarhunterScopes = new( + Id: "StarhunterScopes", + Name: "Starhunter Scopes", + Levels: ["+0.5 attack range to army units", "+0.75 attack range to army units", "+1 attack range to army units", "+1.25 attack range to army units", "+1.5 attack range to army units"], + LimitedToMerc: null, + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData TempleOfAnqas = new( + Id: "TempleOfAnqas", + Name: "Temple of Anqas", + Levels: ["Unlocks construction of Cha'kru Temple of Anqas and production of mercenaries from it.", "Increase mercenary health +15% and damage +15%", "Increase mercenary compound limit by 1.", "Increase mercenary health +30% and damage +30%", "Increase mercenary compound limit by 1."], + LimitedToMerc: "Cha'Kru Kingdom", + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData TempleOfStars = new( + Id: "TempleOfStars", + Name: "Temple of Stars", + Levels: ["Unlocks construction of Cha'kru Temple of Stars and production of mercenaries from it.", "Increase mercenary health +15% and damage +15%", "Increase mercenary compound limit by 1.", "Increase mercenary health +30% and damage +30%", "Increase mercenary compound limit by 1."], + LimitedToMerc: null, + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData ValkaruWarVault = new( + Id: "ValkaruWarVault", + Name: "Valkaru War Vault", + Levels: ["Unlocks construction of Valkaru War Vault and production of mercenaries from it.", "Increase mercenary health +15% and damage +15%", "Increase mercenary compound limit by 1.", "Increase mercenary health +30% and damage +30%", "Increase mercenary compound limit by 1."], + LimitedToMerc: "Valkaru", + ImageFileName: null, + Body: ""); + + public static readonly GeneralItemData XolRelicOutpost = new( + Id: "XolRelicOutpost", + Name: "Xol Relic Outpost", + Levels: ["Ancient Xol Master relic. Calls Xol mercenaries to fight for you.", "Unlock Molten Xyther", "Unlock Molten Synapse", "Unlock Molten Aegis", "Can build additional Xol Relic Outpost"], + LimitedToMerc: null, + ImageFileName: null, + Body: ""); + + public static IReadOnlyList All { get; } = + [ + ArandiPenumbra, + ElderbastionShell, + EnigmaticCapacitor, + FreeCorsairMercenaryOutpost, + GensisCore, + LightweightAlloys, + MarranBulwark, + RenewalMatrix, + SilentHollow, + StarhunterScopes, + TempleOfAnqas, + TempleOfStars, + ValkaruWarVault, + XolRelicOutpost, + ]; + + public static IReadOnlyDictionary ByName { get; } = + All.ToDictionary(static item => item.Name, StringComparer.OrdinalIgnoreCase); +}