using System.Collections.Generic; using Model.Entity.Parts; using Model.Types; namespace Model.Entity.Data; public partial class EntityData { public static Dictionary GetResearchData() { return new Dictionary { // Upgrades // Q'Rath { DataType.UPGRADE_GreavesOfAhqar, new EntityModel(DataType.UPGRADE_GreavesOfAhqar, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Greaves Of Ahqar", Descriptive = DescriptiveType.Upgrade, Description = "Increases the Sipari speed by 75." }) .AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 100, BuildTime = 100, ProducedBy = DataType.BUILDING_Reliquary }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Reliquary, Requirement = RequirementType.Production_Building }) .AddPart(new EntityVanguardReplacedModel { ImmortalId = DataType.IMMORTAL_Orzum, ReplacedById = DataType.UPGRADE_FaithCastBlades }) }, { DataType.UPGRADE_RadiantWard, new EntityModel(DataType.UPGRADE_RadiantWard, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Research Radiant Ward", Descriptive = DescriptiveType.Upgrade, Description = "Unlocks the dervish's Radiant Ward ability" }) .AddPart(new EntityHotkeyModel { Hotkey = "R", HoldSpace = true, HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 80, Ether = 80, BuildTime = 34, ProducedBy = DataType.BUILDING_HouseOfFadingSaints }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_HouseOfFadingSaints, Requirement = RequirementType.Production_Building }) }, { DataType.UPGRADE_FortifiedIcons, new EntityModel(DataType.UPGRADE_FortifiedIcons, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Fortified Icons", Descriptive = DescriptiveType.Upgrade, Description = """ Sipari get more Shields. Bonus Shields from Hallowed Ground """ }) .AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 125, Ether = 125, BuildTime = 60, ProducedBy = DataType.BUILDING_EyeOfAros }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_EyeOfAros, Requirement = RequirementType.Production_Building }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Reliquary, Requirement = RequirementType.Production_Building }) .AddPart(new EntityVanguardReplacedModel { ImmortalId = DataType.IMMORTAL_Orzum, ReplacedById = DataType.UPGRADE_IconOfKhastEem }) }, { DataType.UPGRADE_FaithCastBlades, new EntityModel(DataType.UPGRADE_FaithCastBlades, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Faith-Cast Blades", Descriptive = DescriptiveType.Upgrade, Description = """ Zentari get more range attack when in Hallowed Ground. """ }) .AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 50, Ether = 125, BuildTime = 60, ProducedBy = DataType.BUILDING_Reliquary }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Reliquary, Requirement = RequirementType.Research_Building }) .AddPart(new EntityVanguardAddedModel { ReplaceId = DataType.UPGRADE_GreavesOfAhqar, ImmortalId = DataType.IMMORTAL_Orzum }) }, { DataType.UPGRADE_RelicOfTheWrathfulGaze, new EntityModel(DataType.UPGRADE_RelicOfTheWrathfulGaze, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Relic Of The Wrathful Gaze", Descriptive = DescriptiveType.Upgrade, Description = "Increases the Castigator's anti-air weapon range." }) .AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 75, Ether = 75, BuildTime = 29, ProducedBy = DataType.BUILDING_HouseOfFadingSaints }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_HouseOfFadingSaints, Requirement = RequirementType.Production_Building }) }, { DataType.UPGRADE_PsalmOfFire, new EntityModel(DataType.UPGRADE_PsalmOfFire, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Psalm of Fire", Descriptive = DescriptiveType.Upgrade, Description = "Fire Singers get area damage." }) .AddPart(new EntityHotkeyModel { Hotkey = "S", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 125, Ether = 200, BuildTime = 64, ProducedBy = DataType.BUILDING_KeeperOfTheHardenedFlames }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_KeeperOfTheHardenedFlames, Requirement = RequirementType.Production_Building }) }, { DataType.UPGRADE_WindStep, new EntityModel(DataType.UPGRADE_WindStep, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Windstep", Descriptive = DescriptiveType.Upgrade, Description = "Unlocks windstep." }) .AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 125, Ether = 100, BuildTime = 75, ProducedBy = DataType.BUILDING_MonasteryOfIzur }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Reliquary, Requirement = RequirementType.Production_Building }) }, { DataType.UPGRADE_ZephyrRange, new EntityModel(DataType.UPGRADE_ZephyrRange, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Zephyr Range", Descriptive = DescriptiveType.Upgrade, Description = "Increases Zephyr's range by 100." }) .AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 50, BuildTime = 50, ProducedBy = DataType.BUILDING_Reliquary }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Reliquary, Requirement = RequirementType.Research_Building }) .AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_WindStep }) .AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_ZephyrRange }) }, { DataType.UPGRADE_SiroccoScript, new EntityModel(DataType.UPGRADE_SiroccoScript, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Sirocco Script", Descriptive = DescriptiveType.Upgrade, Description = "Grant's the Dervish Sirocco Script" }) .AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 125, BuildTime = 60, ProducedBy = DataType.BUILDING_HouseOfFadingSaints }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_HouseOfFadingSaints, Requirement = RequirementType.Production_Building }) }, { DataType.UPGRADE_IconOfTheEnduringVigil, new EntityModel(DataType.UPGRADE_IconOfTheEnduringVigil, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Icon of the Enduring Vigil", Descriptive = DescriptiveType.Upgrade, Description = "The Dervish's Radiant Wards become permanent." }) .AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 100, BuildTime = 34, ProducedBy = DataType.BUILDING_HouseOfFadingSaints }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_HouseOfFadingSaints, Requirement = RequirementType.Production_Building }) }, { DataType.UPGRADE_AbsolverHealthUpgrade, new EntityModel(DataType.UPGRADE_AbsolverHealthUpgrade, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Absolver Health Upgrade", Descriptive = DescriptiveType.Upgrade, Description = "Absolvers get more HP and damage reductions" }) .AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 150, Ether = 150, BuildTime = 90, ProducedBy = DataType.BUILDING_HouseOfFadingSaints }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_HouseOfFadingSaints, Requirement = RequirementType.Production_Building }) }, { DataType.UPGRADE_Awestrike, new EntityModel(DataType.UPGRADE_Awestrike, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Awestrike", Descriptive = DescriptiveType.Upgrade, Description = "Unlocks a damage spell for Shar'u" }) .AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 125, Ether = 150, BuildTime = 45, ProducedBy = DataType.BUILDING_HouseOfFadingSaints }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_EyeOfAros, Requirement = RequirementType.Production_Building }) }, { DataType.UPGRADE_IconOfKhastEem, new EntityModel(DataType.UPGRADE_IconOfKhastEem, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Icon of Khast'Eem", Descriptive = DescriptiveType.Upgrade, Description = "Grants the Zentari shields and flat armor reduction." }) .AddPart(new EntityHotkeyModel { Hotkey = "Q", HoldSpace = true, HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 100, BuildTime = 43, ProducedBy = DataType.BUILDING_EyeOfAros }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_EyeOfAros, Requirement = RequirementType.Production_Building }) .AddPart(new EntityVanguardAddedModel { ReplaceId = DataType.UPGRADE_FortifiedIcons, ImmortalId = DataType.IMMORTAL_Orzum }) }, { DataType.UPGRADE_WingsOfTheKenLatir, new EntityModel(DataType.UPGRADE_WingsOfTheKenLatir, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Wings of the Ken'Latir", Descriptive = DescriptiveType.Upgrade, Description = "Wardens use their empowered attacks more often." }) .AddPart(new EntityHotkeyModel { Hotkey = "E", HoldSpace = true, HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 150, Ether = 100, BuildTime = 60, ProducedBy = DataType.BUILDING_BearerOfTheCrown }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_EyeOfAros, Requirement = RequirementType.Production_Building }) }, { DataType.UPGRADE_TitheBlades, new EntityModel(DataType.UPGRADE_TitheBlades, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Tithe Blades", Descriptive = DescriptiveType.Upgrade, Description = "Unlocks a utility ability for Thrones." }) .AddPart(new EntityHotkeyModel { Hotkey = "A", HoldSpace = true, HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath }) .AddPart(new EntityProductionModel { Alloy = 200, Ether = 200, BuildTime = 120, ProducedBy = DataType.BUILDING_BearerOfTheCrown }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_BearerOfTheCrown, Requirement = RequirementType.Production_Building }) }, // Upgrades // Aru { DataType.UPGRADE_Offering, new EntityModel(DataType.UPGRADE_Offering, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Offering", Descriptive = DescriptiveType.Upgrade, Description = "Unlocks Offering" }) .AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_AltarOfTheWorthy, Requirement = RequirementType.Research_Building }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Neurocyte, Requirement = RequirementType.Production_Building }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 75, BuildTime = 60, ProducedBy = DataType.BUILDING_Neurocyte }) }, { DataType.UPGRADE_PursuitLigaments, new EntityModel(DataType.UPGRADE_PursuitLigaments, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Pursuit Ligaments", Description = """ Ichors get more movement speed. """, Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Neurocyte, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 100, BuildTime = 80, ProducedBy = DataType.BUILDING_Neurocyte }) }, { DataType.UPGRADE_ResinantSpeed, new EntityModel(DataType.UPGRADE_ResinantSpeed, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Resinant Speed", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Neurocyte, Requirement = RequirementType.Research_Building }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_AmberWomb, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 100, BuildTime = 60, ProducedBy = DataType.BUILDING_Neurocyte }) }, { DataType.UPGRADE_RootShepherdHidden, new EntityModel(DataType.UPGRADE_RootShepherdHidden, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Root Shepherd Hidden", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Neurocyte, Requirement = RequirementType.Research_Building }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_AmberWomb, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 100, BuildTime = 60, ProducedBy = DataType.BUILDING_Neurocyte }) }, { DataType.UPGRADE_RootShepherdSpeed, new EntityModel(DataType.UPGRADE_RootShepherdSpeed, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Root Shepherd Speed", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Neurocyte, Requirement = RequirementType.Research_Building }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_AmberWomb, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 100, BuildTime = 80, ProducedBy = DataType.BUILDING_Neurocyte }) }, { DataType.UPGRADE_EthericFibers, new EntityModel(DataType.UPGRADE_EthericFibers, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Etheric Fibers", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Neurocyte, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 75, Ether = 100, BuildTime = 75, ProducedBy = DataType.BUILDING_Neurocyte }) }, { DataType.UPGRADE_ObstructingSwarm, new EntityModel(DataType.UPGRADE_ObstructingSwarm, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Obstructing Swarm", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Neurocyte, Requirement = RequirementType.Research_Building }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_AmberWomb, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 150, Ether = 100, BuildTime = 100, ProducedBy = DataType.BUILDING_Neurocyte }) }, { DataType.UPGRADE_Hematoma, new EntityModel(DataType.UPGRADE_Hematoma, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Hematoma", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Neurocyte, Requirement = RequirementType.Research_Building }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_AmberWomb, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 125, Ether = 125, BuildTime = 45, ProducedBy = DataType.BUILDING_Neurocyte }) }, { DataType.UPGRADE_VitellineCysts, new EntityModel(DataType.UPGRADE_VitellineCysts, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Vitelline Cysts", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "A", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_DeepNest, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 200, Ether = 200, BuildTime = 46, ProducedBy = DataType.BUILDING_DeepNest }) }, { DataType.UPGRADE_HyperAdrenoceptors, new EntityModel(DataType.UPGRADE_HyperAdrenoceptors, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Hyper Adrenoceptors", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_DeepNest, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 100, BuildTime = 60, ProducedBy = DataType.BUILDING_DeepNest }) }, { DataType.UPGRADE_EoxBowstring, new EntityModel(DataType.UPGRADE_EoxBowstring, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Eox Bowstring", Description = "Increase's the range of the Wraith Bow anti-air attack.", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_Neurocyte, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 50, Ether = 100, BuildTime = 29, ProducedBy = DataType.BUILDING_Neurocyte }) }, { DataType.UPGRADE_SporeBurst, new EntityModel(DataType.UPGRADE_SporeBurst, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Spore Burst", Description = "Aerovores and Omnivores get area damage vs air units.", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "S", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_RootCradle, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 150, BuildTime = 64, ProducedBy = DataType.BUILDING_RootCradle }) }, { DataType.UPGRADE_Ambush, new EntityModel(DataType.UPGRADE_Ambush, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Research Ambush", Description = """ Bone Stalkers get double damage for a few seconds after attack while Hidden. """, Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "X", HoldSpace = false }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 75, BuildTime = 60, ProducedBy = DataType.BUILDING_RedVale }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_RedVale, Requirement = RequirementType.Research_Building }) }, { DataType.UPGRADE_BloodPlague, new EntityModel(DataType.UPGRADE_BloodPlague, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Blood Plague", Descriptive = DescriptiveType.Upgrade, Description = "Unlocks Blood Plague" }) .AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_RedVale, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 150, BuildTime = 100, ProducedBy = DataType.BUILDING_RedVale }) .AddPart(new EntityVanguardReplacedModel { ImmortalId = DataType.IMMORTAL_Xol, ReplacedById = DataType.ABILITY_BirthingStorm }) }, { DataType.UPGRADE_GodphageDamage, new EntityModel(DataType.UPGRADE_GodphageDamage, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Godphage Damage", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "X" }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_DeepNest, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 250, Ether = 250, BuildTime = 100, ProducedBy = DataType.BUILDING_DeepNest }) }, { DataType.UPGRADE_BirthingStorm, new EntityModel(DataType.UPGRADE_BirthingStorm, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Birthing Storm", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_RedVale, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 100, Ether = 150, BuildTime = 100, ProducedBy = DataType.BUILDING_RedVale }) .AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Mala, ReplaceId = DataType.ABILITY_BloodPlague }) }, { DataType.UPGRADE_GENERIC_Attack1, new EntityModel(DataType.UPGRADE_GENERIC_Attack1, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Aru Attack Level 1", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "A", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_RedVale, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 125, Ether = 125, BuildTime = 114, ProducedBy = DataType.BUILDING_RootCradle }) }, { DataType.UPGRADE_GENERIC_Defense1, new EntityModel(DataType.UPGRADE_GENERIC_Defense1, EntityType.Tech) .AddPart(new EntityInfoModel { Name = "Aru Defense Level 1", Descriptive = DescriptiveType.Upgrade }) .AddPart(new EntityHotkeyModel { Hotkey = "S", HotkeyGroup = "X", HoldSpace = true }) .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru }) .AddPart(new EntityRequirementModel { Id = DataType.BUILDING_RedVale, Requirement = RequirementType.Research_Building }) .AddPart(new EntityProductionModel { Alloy = 125, Ether = 125, BuildTime = 114, ProducedBy = DataType.BUILDING_RootCradle }) } }; } }