Browse Source

More information

main
Jonathan 11 months ago
parent
commit
b02232855d
  1. 478
      Model/Entity/Data/DATA.cs
  2. 91
      Model/Entity/Data/Ids_Entity.cs
  3. 1
      Model/Entity/Parts/EntityInfoModel.cs

478
Model/Entity/Data/DATA.cs

@ -461,9 +461,18 @@ public class DATA
new EntityModel(DataType.VANGUARD_Zentari_Orzum, EntityType.Army)
.AddPart(new EntityInfoModel
{
Name = "Zentari", Descriptive = DescriptiveType.Frontliner,
Name =
"Zentari",
Descriptive = DescriptiveType.Frontliner,
Description =
"Brawler (Ground Unit) - Juggernaut infantry that gain a ranged attack in Hallowed Ground."
"""
Ground unit. Attacks ground targets. Ranged attack in Hallowed Ground.
""",
FlavorText =
"""
"Through our faith and duty bid us part, know that I will be here to protect you for the rest of yours days."
Zentari Lord Orz'Abin
"""
})
.AddPart(new EntityTierModel { Tier = 1 })
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "Z" })
@ -544,8 +553,8 @@ public class DATA
{ Alloy = 75, Ether = 75, BuildTime = 28, ProducedBy = DataType.BUILDING_LegionHall })
.AddPart(new EntitySupplyModel { Takes = 4 })
.AddPart(new EntityVitalityModel
{ Health = 140, DefenseLayer = 100, Armor = ArmorType.Light, IsEtheric = true })
.AddPart(new EntityMovementModel { Speed = 380, Movement = MovementType.Ground })
{ Health = 210, DefenseLayer = 105, Armor = ArmorType.Light, IsEtheric = true })
.AddPart(new EntityMovementModel { Speed = 460, Movement = MovementType.Ground })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_LegionHall,
@ -557,8 +566,8 @@ public class DATA
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityWeaponModel
{ Damage = 16, Range = 80, AttacksPerSecond = 0.833f, Targets = TargetType.Ground })
.AddPart(new EntityIdAbilityModel { Id = DataType.ABILITY_Leap })
{ Damage = 18, Range = 400, SecondsBetweenAttacks = 1.4f, Targets = TargetType.Ground })
.AddPart(new EntityIdAbilityModel { Id = DataType.ABILITY_Intervention })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Invervention })
},
{
@ -579,7 +588,7 @@ public class DATA
{ Alloy = 150, Ether = 100, BuildTime = 32, ProducedBy = DataType.BUILDING_SoulFoundry })
.AddPart(new EntitySupplyModel { Takes = 5 })
.AddPart(new EntityVitalityModel
{ Energy = 100, Health = 100, DefenseLayer = 100, Armor = ArmorType.Medium, IsEtheric = true })
{ Energy = 100, Health = 150, DefenseLayer = 150, Armor = ArmorType.Medium, IsEtheric = true })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_SoulFoundry,
@ -590,9 +599,9 @@ public class DATA
Id = DataType.BUILDING_HouseOfFadingSaints,
Requirement = RequirementType.Research_Building
})
.AddPart(new EntityMovementModel { Speed = 335, Movement = MovementType.Ground })
.AddPart(new EntityMovementModel { Speed = 390, Movement = MovementType.Hover })
.AddPart(new EntityWeaponModel
{ Damage = 25, Range = 1100, AttacksPerSecond = 0.4f, Targets = TargetType.Ground })
{ Damage = 25, Range = 1100, SecondsBetweenAttacks = 2.5f, Targets = TargetType.Ground })
.AddPart(new EntityIdAbilityModel { Id = DataType.ABILITY_OrdainedPassage })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_HallowingRites })
},
@ -681,7 +690,10 @@ public class DATA
{ Health = 125, DefenseLayer = 100, Armor = ArmorType.Medium, IsEtheric = false })
.AddPart(new EntityMovementModel { Speed = 540, Movement = MovementType.Ground })
.AddPart(new EntityWeaponModel
{ Damage = 15, MediumDamage = 12, HeavyDamage = 9, Range = 400, AttacksPerSecond = 2.4f, Targets = TargetType.Ground })
{
Damage = 15, MediumDamage = 12, HeavyDamage = 9, Range = 400, AttacksPerSecond = 2.4f,
Targets = TargetType.Ground
})
//.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Stalk })
},
@ -715,7 +727,8 @@ public class DATA
})
.AddPart(new EntityWeaponModel
{
Damage = 85, MediumDamage = 100, HeavyDamage = 115, Range = 1000, AttacksPerSecond = 2.5f, MinimumRange = 500,
Damage = 85, MediumDamage = 100, HeavyDamage = 115, Range = 1000, AttacksPerSecond = 2.5f,
MinimumRange = 500,
Targets = TargetType.Ground
})
.AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_ResinantSpeed })
@ -813,18 +826,18 @@ public class DATA
{ ImmortalId = DataType.IMMORTAL_Orzum, ReplacedById = DataType.VANGUARD_Zentari_Orzum })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 75, BuildTime = 25, ProducedBy = DataType.BUILDING_LegionHall })
{ Alloy = 75, BuildTime = 20, ProducedBy = DataType.BUILDING_LegionHall })
.AddPart(new EntitySupplyModel { Takes = 3 })
.AddPart(new EntityVitalityModel { Health = 140, DefenseLayer = 70, Armor = ArmorType.Light })
.AddPart(new EntityVitalityModel { Health = 210, DefenseLayer = 135, Armor = ArmorType.Light })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_LegionHall,
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityMovementModel { Speed = 380, Movement = MovementType.Ground })
.AddPart(new EntityMovementModel { Speed = 440, Movement = MovementType.Ground })
.AddPart(new EntityWeaponModel
{
Damage = 20, HeavyDamage = 18, Range = 180, AttacksPerSecond = 0.699f,
Damage = 20, HeavyDamage = 18, Range = 180,
SecondsBetweenAttacks = 1.43f, Targets = TargetType.Ground
})
.AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_GreavesOfAhqar })
@ -884,7 +897,7 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "Z" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 100, Ether = 40, BuildTime = 30, ProducedBy = DataType.BUILDING_SoulFoundry })
{ Alloy = 100, Ether = 40, BuildTime = 24, ProducedBy = DataType.BUILDING_SoulFoundry })
.AddPart(new EntitySupplyModel { Takes = 4 })
.AddPart(new EntityRequirementModel
{
@ -896,11 +909,11 @@ public class DATA
Id = DataType.BUILDING_Reliquary,
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityVitalityModel { Health = 180, DefenseLayer = 90, Armor = ArmorType.Heavy })
.AddPart(new EntityMovementModel { Speed = 350, Movement = MovementType.Ground })
.AddPart(new EntityVitalityModel { Health = 255, DefenseLayer = 105, Armor = ArmorType.Heavy })
.AddPart(new EntityMovementModel { Speed = 400, Movement = MovementType.Ground })
.AddPart(new EntityWeaponModel
{
Damage = 16, MediumDamage = 21, HeavyDamage = 26, Range = 500, AttacksPerSecond = 0.667f,
Damage = 22, MediumDamage = 27, HeavyDamage = 32, Range = 500, SecondsBetweenAttacks = 1.5f,
Targets = TargetType.All
})
.AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_WindStep })
@ -920,18 +933,18 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "Z" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 125, Ether = 10, BuildTime = 28, ProducedBy = DataType.BUILDING_SoulFoundry })
{ Alloy = 125, Ether = 10, BuildTime = 24, ProducedBy = DataType.BUILDING_SoulFoundry })
.AddPart(new EntitySupplyModel { Takes = 4 })
.AddPart(new EntityVitalityModel { Health = 120, DefenseLayer = 100, Armor = ArmorType.Medium })
.AddPart(new EntityVitalityModel { Health = 180, DefenseLayer = 150, Armor = ArmorType.Medium })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_SoulFoundry,
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityMovementModel { Speed = 435, Movement = MovementType.Ground })
.AddPart(new EntityMovementModel { Speed = 500, Movement = MovementType.Hover })
.AddPart(new EntityWeaponModel
{
LightDamage = 30, MediumDamage = 23, Damage = 16, Range = 400, AttacksPerSecond = 0.5f,
Damage = 10, LightDamage = 26, MediumDamage = 18, Range = 350, SecondsBetweenAttacks = 2.0f,
Targets = TargetType.Ground
})
.AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_SiroccoScript })
@ -955,13 +968,13 @@ public class DATA
.AddPart(new EntityProductionModel
{ Alloy = 150, Ether = 75, BuildTime = 28, ProducedBy = DataType.BUILDING_SoulFoundry })
.AddPart(new EntitySupplyModel { Takes = 5 })
.AddPart(new EntityVitalityModel { Health = 175, DefenseLayer = 150, Armor = ArmorType.Medium })
.AddPart(new EntityVitalityModel { Health = 230, DefenseLayer = 150, Armor = ArmorType.Medium })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_SoulFoundry,
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityMovementModel { Speed = 350, Movement = MovementType.Ground })
.AddPart(new EntityMovementModel { Speed = 400, Movement = MovementType.Ground })
.AddPart(new EntityWeaponModel
{
Damage = 11, MediumDamage = 13, HeavyDamage = 15, StructureDamageBonus = 8, Range = 800,
@ -969,7 +982,7 @@ public class DATA
})
.AddPart(new EntityWeaponModel
{
Damage = 6, MediumDamage = 7, HeavyDamage = 8, Range = 800, AttacksPerSecond = 2.857f,
Damage = 6, MediumDamage = 7, HeavyDamage = 8, Range = 800, AttacksPerSecond = 2.222f,
Targets = TargetType.Ground
})
.AddPart(new EntityIdAbilityModel { Id = DataType.ABILITY_DeployAbsolver })
@ -989,10 +1002,10 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "W", HoldSpace = true, HotkeyGroup = "Z" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 190, Ether = 75, BuildTime = 28, ProducedBy = DataType.BUILDING_SoulFoundry })
{ Alloy = 150, Ether = 75, BuildTime = 28, ProducedBy = DataType.BUILDING_SoulFoundry })
.AddPart(new EntitySupplyModel { Takes = 5 })
.AddPart(new EntityVitalityModel { Health = 200, DefenseLayer = 100, Armor = ArmorType.Heavy })
.AddPart(new EntityMovementModel { Speed = 340, Movement = MovementType.Ground })
.AddPart(new EntityVitalityModel { Health = 300, DefenseLayer = 150, Armor = ArmorType.Heavy })
.AddPart(new EntityMovementModel { Speed = 390, Movement = MovementType.Ground })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_SoulFoundry,
@ -1000,11 +1013,11 @@ public class DATA
})
.AddPart(new EntityWeaponModel
{
Damage = 20, MediumDamage = 30, HeavyDamage = 40, Range = 800, AttacksPerSecond = 0.704f,
Targets = TargetType.Air, EthericDamageBonus = 10
Damage = 20, MediumDamage = 30, HeavyDamage = 40, Range = 800, SecondsBetweenAttacks = 1.42f,
Targets = TargetType.Air
})
.AddPart(new EntityWeaponModel
{ Damage = 8, Range = 500, AttacksPerSecond = 1.429f, Targets = TargetType.Ground })
{ Damage = 16, Range = 500, SecondsBetweenAttacks = 1.5f, Targets = TargetType.Ground })
.AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_RelicOfTheWrathfulGaze })
.AddPart(new EntityIdAbilityModel { Id = DataType.PASSIVE_Maledictions })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_RelicOfTheWrathfulGaze })
@ -1024,7 +1037,7 @@ public class DATA
{ ImmortalId = DataType.IMMORTAL_Ajari, ReplacedById = DataType.VANGUARD_ArkMother_Ajari })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 150, Ether = 75, BuildTime = 28, ProducedBy = DataType.BUILDING_SoulFoundry })
{ Alloy = 125, Ether = 100, BuildTime = 28, ProducedBy = DataType.BUILDING_SoulFoundry })
.AddPart(new EntitySupplyModel { Takes = 5 })
.AddPart(new EntityRequirementModel
{
@ -1058,7 +1071,7 @@ public class DATA
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 150, Ether = 75, BuildTime = 28, ProducedBy = DataType.BUILDING_Angelarium })
.AddPart(new EntitySupplyModel { Takes = 5 })
.AddPart(new EntitySupplyModel { Takes = 4 })
.AddPart(new EntityVitalityModel { Health = 150, DefenseLayer = 100, Armor = ArmorType.Medium })
.AddPart(new EntityMovementModel { Speed = 525, Movement = MovementType.Air })
.AddPart(new EntityRequirementModel
@ -1084,9 +1097,9 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "A", HoldSpace = true, HotkeyGroup = "Z" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 250, Ether = 100, BuildTime = 50, ProducedBy = DataType.BUILDING_Angelarium })
.AddPart(new EntitySupplyModel { Takes = 9 })
.AddPart(new EntityVitalityModel { Health = 350, DefenseLayer = 200, Armor = ArmorType.Heavy })
{ Alloy = 350, Ether = 200, BuildTime = 70, ProducedBy = DataType.BUILDING_Angelarium })
.AddPart(new EntitySupplyModel { Takes = 10 })
.AddPart(new EntityVitalityModel { Health = 550, DefenseLayer = 350, Armor = ArmorType.Heavy })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_Angelarium,
@ -1097,10 +1110,10 @@ public class DATA
Id = DataType.BUILDING_BearerOfTheCrown,
Requirement = RequirementType.Research_Building
})
.AddPart(new EntityMovementModel { Speed = 262, Movement = MovementType.Air })
.AddPart(new EntityMovementModel { Speed = 300, Movement = MovementType.Air })
.AddPart(new EntityWeaponModel
{
Damage = 60, Range = 600, AttacksPerSecond = 0.5f, SecondsBetweenAttacks = 2,
Damage = 120, Range = 500, SecondsBetweenAttacks = 2.5f,
Targets = TargetType.All
})
.AddPart(new EntityIdAbilityModel { Id = DataType.ABILITY_BladesOfTheGodhead })
@ -1130,10 +1143,10 @@ public class DATA
Id = DataType.BUILDING_Angelarium,
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityVitalityModel { Health = 300, DefenseLayer = 80, Armor = ArmorType.Heavy })
.AddPart(new EntityMovementModel { Speed = 420, Movement = MovementType.Air })
.AddPart(new EntityVitalityModel { Health = 375, DefenseLayer = 100, Armor = ArmorType.Heavy })
.AddPart(new EntityMovementModel { Speed = 480, Movement = MovementType.Air })
.AddPart(new EntityWeaponModel
{ Damage = 32, Range = 600, AttacksPerSecond = 0.556f, Targets = TargetType.Ground })
{ Damage = 32, Range = 500, SecondsBetweenAttacks = 1.8f, Targets = TargetType.Ground })
.AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_WingsOfTheKenLatir })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_WingsOfTheKenLatir })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_ExecutionRites })
@ -1159,11 +1172,11 @@ public class DATA
Requirement = RequirementType.Research_Building
})
.AddPart(new EntityVitalityModel
{ Health = 175, DefenseLayer = 125, IsEtheric = true, Armor = ArmorType.Heavy })
.AddPart(new EntityMovementModel { Speed = 315, Movement = MovementType.Air })
{ Health = 300, DefenseLayer = 155, Energy = 150, IsEtheric = true, Armor = ArmorType.Heavy })
.AddPart(new EntityMovementModel { Speed = 360, Movement = MovementType.Air })
.AddPart(new EntityWeaponModel
{
Damage = 10, Range = 650, AttacksPerSecond = 0.714f, SecondsBetweenAttacks = 1.4f,
Damage = 10, Range = 650, SecondsBetweenAttacks = 1.4f,
Targets = TargetType.All
})
.AddPart(new EntityIdAbilityModel { Id = DataType.ABILITY_Awestrike })
@ -1213,7 +1226,10 @@ public class DATA
{ Health = 125, DefenseLayer = 40, Defense = DefenseType.Overgrowth, Armor = ArmorType.Light })
.AddPart(new EntityMovementModel { Speed = 400, Movement = MovementType.Ground })
.AddPart(new EntityWeaponModel
{ Damage = 7, Range = 400, AttacksPerSecond = 1.4f, Targets = TargetType.All, MediumDamage = 6, HeavyDamage = 5 })
{
Damage = 7, Range = 400, AttacksPerSecond = 1.4f, Targets = TargetType.All, MediumDamage = 6,
HeavyDamage = 5
})
.AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_Offering })
.AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_BloodMothersFevor })
.AddPart(new EntityIdPassiveModel { Id = DataType.ABILITY_Offering })
@ -1433,7 +1449,8 @@ public class DATA
.AddPart(new EntityMovementModel { Speed = 580, Movement = MovementType.Air })
.AddPart(new EntityWeaponModel
{
Damage = 11, LightDamage = 15, MediumDamage = 13, Range = 350, SecondsBetweenAttacks = 1.25f, Targets = TargetType.All
Damage = 11, LightDamage = 15, MediumDamage = 13, Range = 350, SecondsBetweenAttacks = 1.25f,
Targets = TargetType.All
})
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_BloodFrenzy })
},
@ -1556,17 +1573,27 @@ public class DATA
.AddPart(new EntityInfoModel
{
Name = "Fortified Icons", Descriptive = DescriptiveType.Upgrade,
Description = "Sipari gain +20 shields, and Hallowed Ground grants an additional +20 shields."
Description =
"""
Sipari get more Shields.
Bonus Shields from <b style="color:white">Hallowed Ground</b>
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "X", HoldSpace = true })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 100, Ether = 100, BuildTime = 43, ProducedBy = DataType.BUILDING_EyeOfAros })
{ 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 })
},
@ -1606,15 +1633,38 @@ public class DATA
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 = "W", HotkeyGroup = "X" })
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "X" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 50, Ether = 75, BuildTime = 55, ProducedBy = DataType.BUILDING_Reliquary })
{ Alloy = 125, Ether = 100, BuildTime = 75, ProducedBy = DataType.BUILDING_MonasteryOfIzur })
.AddPart(new EntityRequirementModel
{ Id = DataType.BUILDING_Reliquary, Requirement = RequirementType.Production_Building })
},
@ -1626,10 +1676,10 @@ public class DATA
Name = "Zephyr Range", Descriptive = DescriptiveType.Upgrade,
Description = "Increases Zephyr's range by 100."
})
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "X" })
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "X" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 150, Ether = 100, BuildTime = 43, ProducedBy = DataType.BUILDING_Reliquary })
{ 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 })
@ -1643,16 +1693,82 @@ public class DATA
Name = "Sirocco Script", Descriptive = DescriptiveType.Upgrade,
Description = "Grant's the Dervish Sirocco Script"
})
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "X" })
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "X", HoldSpace = true })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 75, Ether = 100, BuildTime = 60, ProducedBy = DataType.BUILDING_HouseOfFadingSaints })
{
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)
@ -1696,17 +1812,34 @@ public class DATA
.AddPart(new EntityInfoModel
{
Name = "Wings of the Ken'Latir", Descriptive = DescriptiveType.Upgrade,
Description = "Increases the Warden's speed and shields significantly."
Description = "Wardens use their empowered attacks more often."
})
.AddPart(new EntityHotkeyModel { Hotkey = "R", HoldSpace = true, HotkeyGroup = "X" })
.AddPart(new EntityHotkeyModel { Hotkey = "E", HoldSpace = true, HotkeyGroup = "X" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 150, Ether = 100, BuildTime = 30, ProducedBy = DataType.BUILDING_EyeOfAros })
{ 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
{
@ -1819,7 +1952,8 @@ public class DATA
{
DataType.UPGRADE_RootShepherdHidden,
new EntityModel(DataType.UPGRADE_RootShepherdHidden, EntityType.Tech)
.AddPart(new EntityInfoModel { Name = "Root Shepherd Hidden", Descriptive = DescriptiveType.Upgrade })
.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
@ -1839,7 +1973,8 @@ public class DATA
{
DataType.UPGRADE_RootShepherdSpeed,
new EntityModel(DataType.UPGRADE_RootShepherdSpeed, EntityType.Tech)
.AddPart(new EntityInfoModel { Name = "Root Shepherd Speed", Descriptive = DescriptiveType.Upgrade })
.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
@ -1876,7 +2011,7 @@ public class DATA
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 EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "X", HoldSpace = true })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityRequirementModel
{
@ -2044,8 +2179,8 @@ public class DATA
},
{
DataType.UPGRADE_GENERIC_AruAttack1,
new EntityModel(DataType.UPGRADE_GENERIC_AruAttack1, EntityType.Tech)
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 })
@ -2059,9 +2194,10 @@ public class DATA
},
{
DataType.UPGRADE_GENERIC_AruDefense1,
new EntityModel(DataType.UPGRADE_GENERIC_AruDefense1, EntityType.Tech)
.AddPart(new EntityInfoModel { Name = "Aru Defense Level 1", Descriptive = DescriptiveType.Upgrade })
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
@ -2683,11 +2819,16 @@ public class DATA
{
Name = "Radiant Ward", Descriptive = DescriptiveType.Ability,
Description =
@"Spawns a mine that reveals enemy units, slows them, and makes them take increased damage for a duration."
"""
Target a location. A Hidden mine is laid there.
Detonates when enemy ground units get close. Enemies hit
are revealed, slowed, and take additional damage.
"""
})
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "D", HoldSpace = true })
.AddPart(new EntityProductionModel { DefensiveLayer = 30, Cooldown = 40 })
.AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "D", HoldSpace = true })
.AddPart(new EntityProductionModel { DefensiveLayer = 45, Cooldown = 40 })
.AddPart(new EntityRequirementModel { Id = DataType.UPGRADE_RadiantWard })
.AddPart(new EntityVitalityModel
{ Health = 30, DefenseLayer = 30, Lasts = 60, Armor = ArmorType.Light })
@ -2730,24 +2871,28 @@ public class DATA
{
Name = "Windstep", Descriptive = DescriptiveType.Ability,
Description =
@"The Zephyr <b style=""color: skyblue"">teleports</b> toward target location, draining shields. Windstepping into <b>Halled Ground</b> restores shields instead."
"""
Target a location. Teleport to location: costs Shields.
Decrease cooldown and avoid Shield cost when teleporting to <b style="color:white">Hallowed Ground</b>.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "D" })
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "D" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel { Cooldown = 20 })
},
{
DataType.ABILITY_Leap,
new EntityModel(DataType.ABILITY_Leap, EntityType.Ability)
DataType.ABILITY_Intervention,
new EntityModel(DataType.ABILITY_Intervention, EntityType.Ability)
.AddPart(new EntityInfoModel
{
Name = "Leap", Descriptive = DescriptiveType.Ability,
Name = "Intervention", Descriptive = DescriptiveType.Ability,
Description =
@"The Saoshin leaps to the target location. If she has enough mana, she activates Intervention upon landing."
"Target a location. A Saoshin leaps to the location and heals friendly units."
})
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "D" })
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "D" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel { Cooldown = 5, Energy = 70 })
.AddPart(new EntityProductionModel { Cooldown = 30 })
},
{
DataType.ABILITY_OrdainedPassage,
@ -2756,11 +2901,17 @@ public class DATA
{
Name = "Ordained Passage", Descriptive = DescriptiveType.Ability,
Description =
@"Creates a large area that grants <b style=""color:lime"">significant damage reduction</b> to friendly ground troops within. Reduces the Ark Mother's shields to 0 when used."
"""
Target an area to send a damage reduction to circle to.
The circle starts at the Ark Mother, travels to the target location, and stays there for a duration.
Friendly units get damage reduction while in the circle, including when it is movie.
Costs all the Ark Mother's Shields.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "D", HoldSpace = true })
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "D", HoldSpace = true })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel { Cooldown = 5, Energy = 75 })
.AddPart(new EntityProductionModel { Cooldown = 3, Energy = 55 })
},
{
DataType.ABILITY_DeployAbsolver,
@ -2786,6 +2937,45 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "D" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
},
{
DataType.ABILITY_DeploySentinel,
new EntityModel(DataType.ABILITY_DeploySentinel, EntityType.Ability)
.AddPart(new EntityInfoModel
{
Name = "Deploy Sentinel", Descriptive = DescriptiveType.Ability,
Description =
"""
Deploy to absorb enemy projectiles. Costs Shields.
Deployed units cannot move. Use Mobilize to move again.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "D", HoldSpace = true })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
},
{
DataType.ABILITY_Smite,
new EntityModel(DataType.ABILITY_Smite, EntityType.Ability)
.AddPart(new EntityInfoModel
{
Name = "Smite", Descriptive = DescriptiveType.Ability,
Description =
"""
Target an enemy unit. Deal damage after a delay.
After being targeted, the enemy can move out of range to
cancel damage. Can store up to 2 charges.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "D" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel { Cooldown = 2, Energy = 30 })
},
{
DataType.ABILITY_Awestrike,
new EntityModel(DataType.ABILITY_Awestrike, EntityType.Ability)
@ -2793,12 +2983,37 @@ public class DATA
{
Name = "Awestrike", Descriptive = DescriptiveType.Ability,
Description =
@"After a short delay, enemy ground units at center of the area <b style=""color:orange"">suffer a huge burst of damage</b>. Targets outside the center <b style=""color:orange"">take reduced damage</b>. Then the area is left ablaze damaging units over time."
"""
Target and area. Damages enemy ground units.
Units in the center of the area take more damage.
Units take damage over time after the initial burst of damage and continue to take damage
over time after leaving the area.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "D" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel { Cooldown = 8, Energy = 60 })
},
{
DataType.ABILITY_TitheBlades,
new EntityModel(DataType.ABILITY_TitheBlades, EntityType.Ability)
.AddPart(new EntityInfoModel
{
Name = "Tithe Blades", Descriptive = DescriptiveType.Ability,
Description =
"""
Activate to steal Shields from your nearby ground units, up to a cap.
Also increases attack speed based on amount of Shields stolen.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "D", HoldSpace = true })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel { Cooldown = 70 })
},
{
DataType.ABILITY_MobilizeQrath,
new EntityModel(DataType.ABILITY_MobilizeQrath, EntityType.Ability)
@ -2910,7 +3125,8 @@ public class DATA
.AddPart(new EntityInfoModel
{
Name = "Deploy Resinant", Descriptive = DescriptiveType.Ability,
Description = "Get even more attack range if deployed on Rootway. Deploying a unit makes it unable to move. Use Mobilize to move again."
Description =
"Get even more attack range if deployed on Rootway. Deploying a unit makes it unable to move. Use Mobilize to move again."
})
.AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "D" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
@ -3023,7 +3239,6 @@ public class DATA
{ Damage = 155, Range = 1100, SecondsBetweenAttacks = 7f, Targets = TargetType.Ground })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_HiddenX })
.AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_GodphageDamage })
},
{
@ -3031,7 +3246,7 @@ public class DATA
new EntityModel(DataType.ABILITY_DeepTunnel, EntityType.Ability)
.AddPart(new EntityInfoModel
{
Name = "Deep Tunnel",
Name = "Deep Tunnel"
})
.AddPart(new EntityHotkeyModel { Hotkey = "TAB", HoldSpace = true, HotkeyGroup = "D" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
@ -3042,7 +3257,7 @@ public class DATA
new EntityModel(DataType.ABILITY_ObstructingSwarm, EntityType.Ability)
.AddPart(new EntityInfoModel
{
Name = "Obstructing Swarm",
Name = "Obstructing Swarm"
})
.AddPart(new EntityHotkeyModel { Hotkey = "E", HoldSpace = true, HotkeyGroup = "D" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
@ -3100,7 +3315,7 @@ public class DATA
Structures still alive after 10 seconds will heal for 50% of their Life and Shields.<br/>
When cast on a Citadel it will transform it into a Rook of Ira, a more powerful Tower with an area attack.<br/>
When cast on a Pillar, after a short delay Orzum will appear above the pillar and attack 4 times dealing 160 (!!) damage per hit.<br/>
""",
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
@ -3206,7 +3421,7 @@ public class DATA
})
.AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityProductionModel { Pyre = 25, Cooldown = 21, BuildTime = 3})
.AddPart(new EntityProductionModel { Pyre = 25, Cooldown = 21, BuildTime = 3 })
.AddPart(new EntityVitalityModel
{ Health = 400, Energy = 100, DefenseLayer = 50, Armor = ArmorType.Heavy, IsStructure = true })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_RestoreLifeblood })
@ -3229,23 +3444,6 @@ public class DATA
.AddPart(new EntityVitalityModel
{ Health = 25, DefenseLayer = 50, Armor = ArmorType.Heavy, IsStructure = true })
},
{
DataType.ISPELL_ProphetOfTheRoots,
new EntityModel(DataType.ISPELL_ProphetOfTheRoots, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Wall of Roots",
Description =
"""Spawns a Wall of Roots that blocks ground pathing. Click and drag to "draw" the wall. Wall takes damage over time when it's off rootway."""
})
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityProductionModel { Pyre = 50, Cooldown = 10 })
.AddPart(new EntityVitalityModel
{ Health = 25, DefenseLayer = 50, Armor = ArmorType.Heavy, IsStructure = true })
},
{
DataType.ISPELL_WallOfRoots,
new EntityModel(DataType.ISPELL_WallOfRoots, EntityType.Pyre_Spell)
@ -3438,12 +3636,12 @@ public class DATA
Name = "Acropolis", Descriptive = DescriptiveType.Town_Hall,
Description = "Town Hall (Structure) - Necessary for collecting Alloy and Ether."
})
.AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "C" })
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "C" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 350, BuildTime = 100, RequiresWorker = true, ConsumesWorker = true })
{ Alloy = 450, BuildTime = 90, RequiresWorker = true, ConsumesWorker = true })
.AddPart(new EntityVitalityModel
{ Health = 1600, DefenseLayer = 800, Armor = ArmorType.Heavy, IsStructure = true })
{ Health = 2300, DefenseLayer = 1200, Armor = ArmorType.Heavy, IsStructure = true })
.AddPart(new EntityHarvestModel
{
HarvestedPerInterval = 1, RequiresWorker = true, Resource = ResourceType.Alloy, Slots = 2,
@ -3503,9 +3701,9 @@ public class DATA
Name = "Apostle of Binding", Descriptive = DescriptiveType.Ether_Extractor,
Description = "Ether Extractor (Structure) - Must be placed on an Ether Node."
})
.AddPart(new EntityHotkeyModel { Hotkey = "CAPSLOCK", HotkeyGroup = "C" })
.AddPart(new EntityHotkeyModel { Hotkey = "TAB", HotkeyGroup = "C" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel { Alloy = 100, BuildTime = 30, RequiresWorker = true })
.AddPart(new EntityProductionModel { Alloy = 175, BuildTime = 30, RequiresWorker = true })
.AddPart(new EntityVitalityModel
{ Health = 300, DefenseLayer = 200, Armor = ArmorType.Heavy, IsStructure = true })
.AddPart(new EntityHarvestModel
@ -3538,9 +3736,9 @@ public class DATA
Name = "Fire Singer", Descriptive = DescriptiveType.Defense,
Description = "Q'Rath Defensive structure."
})
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "C" })
.AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "C" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel { Alloy = 150, BuildTime = 30, RequiresWorker = true })
.AddPart(new EntityProductionModel { Alloy = 75, BuildTime = 30, RequiresWorker = true })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_KeeperOfTheHardenedFlames,
@ -3548,12 +3746,12 @@ public class DATA
})
.AddPart(new EntityWeaponModel
{
Damage = 22, Range = 700, SecondsBetweenAttacks = 1.8f, Targets
Damage = 34, Range = 700, SecondsBetweenAttacks = 1.8f, Targets
= TargetType.All
})
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_HallowedWeapons })
.AddPart(new EntityVitalityModel
{ Health = 300, DefenseLayer = 150, Armor = ArmorType.Heavy, IsStructure = true })
{ Health = 350, DefenseLayer = 200, Armor = ArmorType.Heavy, IsStructure = true })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_PsalmOfFire })
},
{
@ -3564,11 +3762,11 @@ public class DATA
Name = "Keeper Of the Hardened Flames", Descriptive = DescriptiveType.Defense,
Description = ""
})
.AddPart(new EntityHotkeyModel { Hotkey = "CAPSLOCK", HoldSpace = true, HotkeyGroup = "C" })
.AddPart(new EntityHotkeyModel { Hotkey = "TAB", HoldSpace = true, HotkeyGroup = "C" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel { Alloy = 125, BuildTime = 30, RequiresWorker = true })
.AddPart(new EntityProductionModel { Alloy = 100, BuildTime = 30, RequiresWorker = true })
.AddPart(new EntityVitalityModel
{ Health = 450, DefenseLayer = 450, Armor = ArmorType.Heavy, IsStructure = true })
{ Health = 625, DefenseLayer = 625, Armor = ArmorType.Heavy, IsStructure = true })
},
{
DataType.BUILDING_Reliquary,
@ -3577,20 +3775,44 @@ public class DATA
{
Name = "Reliquary", Descriptive = DescriptiveType.Research,
Description =
"Research (Structure) - Unlocks the Zephyr and Magi at the Legion Hall. Contains Legion Hall research."
"Unlocks training of Magi and their Vanguard replacements."
})
.AddPart(new EntityHotkeyModel { Hotkey = "W", HoldSpace = true, HotkeyGroup = "C" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 150, Ether = 10, BuildTime = 45, RequiresWorker = true })
{ Alloy = 100, Ether = 25, BuildTime = 30, RequiresWorker = true })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_LegionHall,
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityVitalityModel
{ Health = 550, DefenseLayer = 550, Armor = ArmorType.Heavy, IsStructure = true })
{ Health = 700, DefenseLayer = 700, Armor = ArmorType.Heavy, IsStructure = true })
},
{
DataType.BUILDING_MonasteryOfIzur,
new EntityModel(DataType.BUILDING_MonasteryOfIzur, EntityType.Building)
.AddPart(new EntityInfoModel
{
Name = "Monastery of Izur", Descriptive = DescriptiveType.Research,
Description =
"Unlocks training of Zephyrs and their Vanguard replacements"
})
.AddPart(new EntityHotkeyModel { Hotkey = "W", HoldSpace = true, HotkeyGroup = "C" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 100, Ether = 50, BuildTime = 30, RequiresWorker = true })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_LegionHall,
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityVitalityModel
{ Health = 700, DefenseLayer = 700, Armor = ArmorType.Heavy, IsStructure = true })
},
{
DataType.BUILDING_SoulFoundry,
new EntityModel(DataType.BUILDING_SoulFoundry, EntityType.Building)
@ -3602,7 +3824,7 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "C" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 250, Ether = 80, BuildTime = 45, RequiresWorker = true })
{ Alloy = 250, Ether = 100, BuildTime = 42, RequiresWorker = true })
.AddPart(new EntitySupplyModel { Grants = 16 })
.AddPart(new EntityRequirementModel
{
@ -3610,7 +3832,7 @@ public class DATA
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityVitalityModel
{ Health = 550, DefenseLayer = 550, Armor = ArmorType.Heavy, IsStructure = true })
{ Health = 900, DefenseLayer = 900, Armor = ArmorType.Heavy, IsStructure = true })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_HallowedGround })
},
{
@ -3624,7 +3846,7 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "E", HoldSpace = true, HotkeyGroup = "C" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 175, Ether = 200, BuildTime = 52, RequiresWorker = true })
{ Alloy = 100, Ether = 100, BuildTime = 45, RequiresWorker = true })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_SoulFoundry,
@ -3644,7 +3866,7 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "C" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 250, Ether = 80, BuildTime = 48, RequiresWorker = true })
{ Alloy = 250, Ether = 150, BuildTime = 42, RequiresWorker = true })
.AddPart(new EntitySupplyModel { Grants = 16 })
.AddPart(new EntityRequirementModel
{
@ -3652,7 +3874,7 @@ public class DATA
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityVitalityModel
{ Health = 600, DefenseLayer = 600, Armor = ArmorType.Heavy, IsStructure = true })
{ Health = 950, DefenseLayer = 950, Armor = ArmorType.Heavy, IsStructure = true })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_HallowedGround })
},
{
@ -3666,14 +3888,14 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "F", HoldSpace = true, HotkeyGroup = "C" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 200, Ether = 200, BuildTime = 36, RequiresWorker = true })
{ Alloy = 200, Ether = 250, BuildTime = 60, RequiresWorker = true })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_Angelarium,
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityVitalityModel
{ Health = 450, DefenseLayer = 450, Armor = ArmorType.Heavy, IsStructure = true })
{ Health = 550, DefenseLayer = 550, Armor = ArmorType.Heavy, IsStructure = true })
},
{
DataType.BUILDING_BearerOfTheCrown,
@ -3686,14 +3908,14 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "R", HoldSpace = true, HotkeyGroup = "C" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel
{ Alloy = 250, Ether = 200, BuildTime = 52, RequiresWorker = true })
{ Alloy = 250, Ether = 250, BuildTime = 70, RequiresWorker = true })
.AddPart(new EntityRequirementModel
{
Id = DataType.BUILDING_Angelarium,
Requirement = RequirementType.Production_Building
})
.AddPart(new EntityVitalityModel
{ Health = 500, DefenseLayer = 500, Armor = ArmorType.Heavy, IsStructure = true })
{ Health = 625, DefenseLayer = 625, Armor = ArmorType.Heavy, IsStructure = true })
},
// Building
// Aru

91
Model/Entity/Data/Ids_Entity.cs

@ -80,8 +80,8 @@ public static class DataType
public static string IPASSIVE_MothersHunger = "382dc614-9228-4494-9a80-d1a72604a1ee";
public static string IPASSIVE_StalkersSense = "a3d255aa-94f2-4aed-bb44-e9becb736fca";
public static string BUILDING_Acropolis = "ee1498cf-3c8c-4793-8869-5e097fe4d372";
public static string BUILDING_ApostleOfBinding = "87198418-ad47-455e-bd08-e42a5b2ecde1";
public static string BUILDING_Acropolis = nameof(BUILDING_Acropolis);
public static string BUILDING_ApostleOfBinding = nameof(BUILDING_ApostleOfBinding);
public static string BUILDING_GroveHeart = nameof(BUILDING_GroveHeart);
public static string BUILDING_EtherMaw = nameof(BUILDING_EtherMaw);
public static string BUPGRADE_MiningLevel2_QRath = "d7beb217-8eaf-4f88-8882-05bd7e0fbebd";
@ -90,40 +90,47 @@ public static class DataType
public static string BUPGRADE_MiningLevel3_Aru = "010b3279-472d-4d54-9a85-ebc5c664ee73";
public static string BUPGRADE_GodHeart = nameof(BUPGRADE_GodHeart);
public static string BUPGRADE_Omnivore = nameof(BUPGRADE_Omnivore);
public static string BUILDING_LegionHall = "713dfa80-06cd-489a-bfb2-342b58ece4d1";
public static string BUILDING_SoulFoundry = "f884c445-3872-49e4-a236-f69ff8ba800d";
public static string BUILDING_Angelarium = "f0c8d993-7c1b-4b6b-91a8-69bd5d6dcb0c";
public static string BUILDING_LegionHall = nameof(BUILDING_LegionHall);
public static string BUILDING_SoulFoundry = nameof(BUILDING_SoulFoundry);
public static string BUILDING_Angelarium = nameof(BUILDING_Angelarium);
public static string BUILDING_AltarOfTheWorthy = nameof(BUILDING_AltarOfTheWorthy);
public static string BUILDING_AmberWomb = nameof(BUILDING_AmberWomb);
public static string BUILDING_BoneCanopy = nameof(BUILDING_BoneCanopy);
public static string BUILDING_Reliquary = "21e40775-3480-46ac-a66a-139528d846db";
public static string BUILDING_HouseOfFadingSaints = "94ace260-b151-44e3-b16f-bc30124555a6";
public static string BUILDING_EyeOfAros = "d07e212d-fae3-436b-a67e-ad5de00b87c4";
public static string BUILDING_BearerOfTheCrown = "4341d0c0-1ead-47f0-a322-1e80ca370cce";
public static string BUILDING_Reliquary = nameof(BUILDING_Reliquary);
public static string BUILDING_MonasteryOfIzur = nameof(BUILDING_MonasteryOfIzur);
public static string BUILDING_HouseOfFadingSaints = nameof(BUILDING_HouseOfFadingSaints);
public static string BUILDING_EyeOfAros = nameof(BUILDING_EyeOfAros);
public static string BUILDING_BearerOfTheCrown = nameof(BUILDING_BearerOfTheCrown);
public static string BUILDING_RedVale = nameof(BUILDING_RedVale);
public static string BUILDING_DeepNest = nameof(BUILDING_DeepNest);
public static string BUILDING_MurderHollow = nameof(BUILDING_MurderHollow);
public static string BUILDING_Neurocyte = nameof(BUILDING_Neurocyte);
public static string BUILDING_RootCradle = nameof(BUILDING_RootCradle);
public static string DEFENSE_FireSinger = "c7a90286-6977-4d92-91e0-2a0a46eb13ea";
public static string DEFENSE_FireSinger = nameof(DEFENSE_FireSinger);
public static string BUILDING_KeeperOfTheHardenedFlames = "db784823-5199-4bae-bc5e-96174490cd00";
public static string BUILDING_KeeperOfTheHardenedFlames = nameof(BUILDING_KeeperOfTheHardenedFlames);
public static string DEFENSE_Aerovore = nameof(DEFENSE_Aerovore);
public static string UPGRADE_GreavesOfAhqar = "eac602b3-e3ae-4e36-aa14-28532e3485a7";
public static string UPGRADE_FortifiedIcons = "b16bdb3a-6c61-44da-89c5-5be37c7e9d66";
public static string UPGRADE_GreavesOfAhqar = nameof(UPGRADE_GreavesOfAhqar);
public static string UPGRADE_FortifiedIcons = nameof(UPGRADE_FortifiedIcons);
public static string UPGRADE_PsalmOfFire = nameof(UPGRADE_PsalmOfFire);
public static string UPGRADE_FaithCastBlades = "32087a66-900e-4f25-95f7-de56d5b424c7";
public static string UPGRADE_RelicOfTheWrathfulGaze = "e6fa5ded-53f5-4914-85bb-1fdff5f32b64";
public static string UPGRADE_WindStep = "c263fe42-ebde-4145-8b7f-42e5d5d5d10c";
public static string UPGRADE_ZephyrRange = "0817c6fd-97ca-4619-aa1c-60378c734898";
public static string UPGRADE_SiroccoScript = "9a11909f-6b9b-40c4-8186-213efd2b1e8d";
public static string UPGRADE_RelicOfTheWrathfulGaze = nameof(UPGRADE_RelicOfTheWrathfulGaze);
public static string UPGRADE_WindStep = nameof(UPGRADE_WindStep);
public static string UPGRADE_ZephyrRange = nameof(UPGRADE_ZephyrRange);
public static string UPGRADE_SiroccoScript = nameof(UPGRADE_SiroccoScript);
public static string UPGRADE_IconOfTheEnduringVigil = nameof(UPGRADE_IconOfTheEnduringVigil);
public static string UPGRADE_AbsolverHealthUpgrade = nameof(UPGRADE_AbsolverHealthUpgrade);
public static string UPGRADE_Awestrike = nameof(UPGRADE_Awestrike);
public static string UPGRADE_IconOfKhastEem = "2919a2e2-0602-4969-a381-7689ce0a1ee5";
public static string UPGRADE_BladesOfTheGodhead = "d3758f7d-4043-4027-a476-7653c52201d9";
public static string UPGRADE_WingsOfTheKenLatir = "18c25c61-0073-4f7e-abf7-1771fc6a844e";
public static string UPGRADE_WingsOfTheKenLatir = nameof(UPGRADE_WingsOfTheKenLatir);
public static string UPGRADE_TitheBlades = nameof(UPGRADE_TitheBlades);
public static string UPGRADE_Offering = nameof(UPGRADE_Offering);
public static string UPGRADE_BloodMothersFevor = nameof(UPGRADE_BloodMothersFevor);
public static string UPGRADE_DenInstinct = "1a3c6180-9c43-43f9-b1a4-8499ffda4f2b";
@ -140,10 +147,11 @@ public static class DataType
public static string UPGRADE_BirthingStorm = "0cb2f1a4-03b3-491b-9db3-d2d4590ede3a";
public static string UPGRADE_GodphageDamage = nameof(UPGRADE_GodphageDamage);
public static string UPGRADE_GENERIC_AruAttack1 = nameof(UPGRADE_GENERIC_AruAttack1);
public static string UPGRADE_GENERIC_AruDefense1 = nameof(UPGRADE_GENERIC_AruDefense1);
public static string UPGRADE_GENERIC_Attack1 = nameof(UPGRADE_GENERIC_Attack1);
public static string UPGRADE_GENERIC_Defense1 = nameof(UPGRADE_GENERIC_Defense1);
public static string UPGRADE_RadiantWard = "c8acc6d0-9f26-475a-aff4-4e2b2f9657f2";
public static string UPGRADE_RadiantWard = nameof(UPGRADE_RadiantWard);
public static string UPGRADE_Stalk = "36fbc2c0-e9e3-4f54-a79a-981db908c25c";
public static string UPGRADE_Ambush = "6cf83dc9-717f-4fa9-b417-a3371474a1da";
@ -223,17 +231,20 @@ public static class DataType
public static string PASSIVE_XacalDamage = "69928f20-5332-418f-ada3-694da3f7b199";
public static string PASSIVE_XacalDefense = "PASSIVE_XacalDefense";
public static string ABILITY_RadiantWard = "db1fc8bd-d86a-4eda-b83c-16e8d0ce4f81";
public static string ABILITY_RadiantWard = nameof(ABILITY_RadiantWard);
public static string PASSIVE_Maledictions = "6cdc109c-157d-433a-b225-192e39c0b613";
public static string ABILITY_BladesOfTheGodhead = "000154ac-faf5-483d-b0bd-e84335891a27";
public static string ABILITY_Windstep = "a410b296-39f7-42e0-87c8-6cef11eb967c";
public static string ABILITY_Leap = "aa155b88-125a-4d25-b63f-77987ea6e519";
public static string ABILITY_OrdainedPassage = "3382a5a5-2d22-4b03-a12c-1974199e8a92";
public static string ABILITY_Windstep = nameof(ABILITY_Windstep);
public static string ABILITY_Intervention = nameof(ABILITY_Intervention);
public static string ABILITY_OrdainedPassage = nameof(ABILITY_OrdainedPassage);
public static string ABILITY_DeployMagi = "5d5bc595-54b7-42e4-a6f5-b000c2128fa9";
public static string ABILITY_DeployAbsolver = "c9b5c9c3-6336-4ffe-86d2-e0a9344726c8";
public static string ABILITY_Awestrike = "6282b1c3-b11b-43f2-9ce9-b3b300b1f2fa";
public static string ABILITY_DeploySentinel = nameof(ABILITY_DeploySentinel);
public static string ABILITY_Smite = nameof(ABILITY_Smite);
public static string ABILITY_Awestrike = nameof(ABILITY_Awestrike);
public static string ABILITY_TitheBlades = nameof(ABILITY_TitheBlades);
public static string ABILITY_MobilizeQrath = "5b64793e-55eb-4fa2-86d8-ccc5db55465c";
public static string ABILITY_Offering = nameof(ABILITY_Offering);
@ -253,10 +264,10 @@ public static class DataType
public static string ABILITY_DeepTunnel = nameof(ABILITY_DeepTunnel);
public static string ABILITY_ObstructingSwarm = nameof(ABILITY_ObstructingSwarm);
public static string VANGUARD_Zentari_Orzum = "de078e4e-9bab-4b30-8831-a6087abf1793";
public static string VANGUARD_Sceptre_Orzum = "ceaf26f7-4463-4bae-aab9-0c7ab7c19cfc";
public static string VANGUARD_ArkMother_Ajari = "80a336fe-f5a9-4acb-b618-0bbef345691e";
public static string VANGUARD_Saoshin_Ajari = "f208c78f-12f4-4794-9ca4-d711cd0a9d70";
public static string VANGUARD_Zentari_Orzum = nameof(VANGUARD_Zentari_Orzum);
public static string VANGUARD_Sceptre_Orzum = nameof(VANGUARD_Sceptre_Orzum);
public static string VANGUARD_ArkMother_Ajari = nameof(VANGUARD_ArkMother_Ajari);
public static string VANGUARD_Saoshin_Ajari = nameof(VANGUARD_Saoshin_Ajari);
public static string VANGUARD_RootShepard_Atzlan = nameof(VANGUARD_RootShepard_Atzlan);
public static string VANGUARD_Resinant_Atzlan = nameof(VANGUARD_Resinant_Atzlan);
public static string VANGUARD_BoneStalker_Xol = "150543a6-7704-4749-9038-f4db157f3f79";
@ -265,17 +276,17 @@ public static class DataType
public static string VANGUARD_Incubator_Mala = "60d7957e-66a3-4f58-8e8f-46df134e580d";
public static string WORKER_Mote = "a02a0194-2a36-4d61-aa2a-52ae918347d4";
public static string WORKER_Symbiote = nameof(WORKER_Symbiote);
public static string UNIT_Sipari = "2053c402-9238-48eb-8991-bfb5f3a50f60";
public static string UNIT_Zephyr = "53524b19-5846-4150-a984-69a047c19fe1";
public static string UNIT_Sipari = nameof(UNIT_Sipari);
public static string UNIT_Zephyr = nameof(UNIT_Zephyr);
public static string UNIT_Magi = "5516ffc4-2e07-4f2a-bf40-52a1beb7c247";
public static string UNIT_Dervish = "d82c14ef-918a-4961-9db2-ad9241f8405a";
public static string UNIT_Absolver = "ac0b0557-f0ec-421c-808c-97cd2c0e1471";
public static string UNIT_Hallower = "6e11b7d8-b683-4872-ad58-5df19e640f7f";
public static string UNIT_Castigator = "43f8e5cc-0a8a-42d0-a34c-8a0a9a11b4bf";
public static string UNIT_Warden = "cf300adc-d9d4-4b5c-94fb-4a4e57bbf90a";
public static string UNIT_Sentinel = "1eac79a1-27d2-4aad-a7d6-ff490900605b";
public static string UNIT_Throne = "319c7c58-cb4e-4f33-8028-6bc14b8cbedc";
public static string UNIT_SharU = "f46097a6-ebb4-42c9-aaf3-c1c3b2c9091f";
public static string UNIT_Dervish = nameof(UNIT_Dervish);
public static string UNIT_Absolver = nameof(UNIT_Absolver);
public static string UNIT_Hallower = nameof(UNIT_Hallower);
public static string UNIT_Castigator = nameof(UNIT_Castigator);
public static string UNIT_Warden = nameof(UNIT_Warden);
public static string UNIT_Sentinel = nameof(UNIT_Sentinel);
public static string UNIT_Throne = nameof(UNIT_Throne);
public static string UNIT_SharU = nameof(UNIT_SharU);
public static string UNIT_MaskedHunter = nameof(UNIT_MaskedHunter);
public static string UNIT_Bloodbound = nameof(UNIT_Bloodbound);
public static string UNIT_BloodAnchor = nameof(UNIT_BloodAnchor);

1
Model/Entity/Parts/EntityInfoModel.cs

@ -9,4 +9,5 @@ public class EntityInfoModel : IEntityPartInterface
public string Descriptive { get; set; } = DescriptiveType.None;
public string Description { get; set; } = "";
public string Notes { get; set; } = "";
public string FlavorText { get; set; } = "";
}
Loading…
Cancel
Save