diff --git a/Model/Entity/Data/DATA.cs b/Model/Entity/Data/DATA.cs
index 989e649..c334950 100644
--- a/Model/Entity/Data/DATA.cs
+++ b/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 })
},
@@ -659,7 +668,7 @@ public class DATA
.AddPart(new EntityIdUpgradeModel { Id = DataType.UPGRADE_BirthingStorm })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_CastingFromBlood })
},
-
+
{
DataType.VANGUARD_RootShepard_Atzlan,
new EntityModel(DataType.VANGUARD_RootShepard_Atzlan, EntityType.Army)
@@ -681,11 +690,14 @@ 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 })
- //.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Stalk })
+ {
+ Damage = 15, MediumDamage = 12, HeavyDamage = 9, Range = 400, AttacksPerSecond = 2.4f,
+ Targets = TargetType.Ground
+ })
+ //.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Stalk })
},
-
-
+
+
{
DataType.VANGUARD_Resinant_Atzlan,
new EntityModel(DataType.VANGUARD_Resinant_Atzlan, EntityType.Army)
@@ -715,14 +727,15 @@ 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 })
.AddPart(new EntityIdAbilityModel { Id = DataType.ABILITY_MobilizeAru })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_EngorgedArteries })
},
-
+
{
DataType.VANGUARD_BoneStalker_Xol,
new EntityModel(DataType.VANGUARD_BoneStalker_Xol, EntityType.Army)
@@ -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 Hallowed Ground
+ """
})
.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
{
@@ -1815,11 +1948,12 @@ public class DATA
.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 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
@@ -1835,11 +1969,12 @@ public class DATA
.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 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
@@ -1855,8 +1990,8 @@ public class DATA
.AddPart(new EntityProductionModel
{ Alloy = 100, Ether = 100, BuildTime = 80, ProducedBy = DataType.BUILDING_Neurocyte })
},
-
-
+
+
{
DataType.UPGRADE_EthericFibers,
new EntityModel(DataType.UPGRADE_EthericFibers, EntityType.Tech)
@@ -1871,12 +2006,12 @@ public class DATA
.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 EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "X", HoldSpace = true })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityRequirementModel
{
@@ -1891,7 +2026,7 @@ public class DATA
.AddPart(new EntityProductionModel
{ Alloy = 150, Ether = 100, BuildTime = 100, ProducedBy = DataType.BUILDING_Neurocyte })
},
-
+
{
DataType.UPGRADE_VitellineCysts,
new EntityModel(DataType.UPGRADE_VitellineCysts, EntityType.Tech)
@@ -1925,7 +2060,7 @@ public class DATA
.AddPart(new EntityProductionModel
{ Alloy = 50, Ether = 100, BuildTime = 29, ProducedBy = DataType.BUILDING_Neurocyte })
},
-
+
{
DataType.UPGRADE_SporeBurst,
new EntityModel(DataType.UPGRADE_SporeBurst, EntityType.Tech)
@@ -2042,10 +2177,10 @@ public class DATA
.AddPart(new EntityVanguardAddedModel
{ ImmortalId = DataType.IMMORTAL_Mala, ReplaceId = DataType.ABILITY_BloodPlague })
},
-
+
{
- 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 })
@@ -2057,11 +2192,12 @@ public class DATA
.AddPart(new EntityProductionModel
{ Alloy = 125, Ether = 125, BuildTime = 114, ProducedBy = DataType.BUILDING_RootCradle })
},
-
+
{
- 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
@@ -2561,7 +2697,7 @@ public class DATA
{ Id = DataType.UPGRADE_EthericFibers, Requirement = RequirementType.Research_Upgrade })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
},
-
+
{
DataType.PASSIVE_XacalDefense,
new EntityModel(DataType.PASSIVE_XacalDefense, EntityType.Passive)
@@ -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 teleports toward target location, draining shields. Windstepping into Halled Ground restores shields instead."
+ """
+ Target a location. Teleport to location: costs Shields.
+
+ Decrease cooldown and avoid Shield cost when teleporting to Hallowed Ground.
+ """
})
- .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 significant damage reduction 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 suffer a huge burst of damage. Targets outside the center take reduced damage. 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 })
@@ -2927,7 +3143,7 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "E", HoldSpace = true, HotkeyGroup = "D" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
},
-
+
{
DataType.ABILITY_BloodyRebound,
new EntityModel(DataType.ABILITY_BloodyRebound, EntityType.Ability)
@@ -2946,7 +3162,7 @@ public class DATA
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityProductionModel { Energy = 50, Cooldown = 40 })
},
-
+
{
DataType.ABILITY_RootVice,
new EntityModel(DataType.ABILITY_RootVice, EntityType.Ability)
@@ -3023,31 +3239,30 @@ 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 })
-
},
-
+
{
DataType.ABILITY_DeepTunnel,
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 })
},
-
+
{
DataType.ABILITY_ObstructingSwarm,
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 })
},
-
+
// Pyre Spells
// Q'Rath
{
@@ -3100,7 +3315,7 @@ public class DATA
Structures still alive after 10 seconds will heal for 50% of their Life and Shields.
When cast on a Citadel it will transform it into a Rook of Ira, a more powerful Tower with an area attack.
When cast on a Pillar, after a short delay Orzum will appear above the pillar and attack 4 times dealing 160 (!!) damage per hit.
- """,
+ """
})
.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)
@@ -3265,7 +3463,7 @@ public class DATA
.AddPart(new EntityVitalityModel
{ Health = 25, DefenseLayer = 50, Armor = ArmorType.Heavy, IsStructure = true })
},
-
+
{
DataType.ISPELL_SummonDeepWyrm,
new EntityModel(DataType.ISPELL_SummonDeepWyrm, EntityType.Pyre_Spell)
@@ -3275,7 +3473,7 @@ public class DATA
Description =
"""
The Deep Wyrm roams in the area and attacks any ground enemy unit entering the rootway.
-
+
Spawns rootway on summon. The Deep Wyrm is invulnerable and uncontrollable.
"""
})
@@ -3285,7 +3483,7 @@ public class DATA
.AddPart(new EntityVitalityModel
{ Health = 25, DefenseLayer = 50, Armor = ArmorType.Heavy, IsStructure = true })
},
-
+
{
DataType.ISPELL_SummonRootBud,
new EntityModel(DataType.ISPELL_SummonRootBud, EntityType.Pyre_Spell)
@@ -3295,7 +3493,7 @@ public class DATA
Description =
"""
Generates Rootway
-
+
Must be placed on Rootway and in range of another Root Bud or Stronghold
"""
})
@@ -3305,8 +3503,8 @@ public class DATA
.AddPart(new EntityVitalityModel
{ Health = 25, DefenseLayer = 50, Armor = ArmorType.Heavy, IsStructure = true })
},
-
-
+
+
// Mala
{
DataType.ISPELL_RedHarvest,
@@ -3317,7 +3515,7 @@ public class DATA
Description =
"""
Target a location to summon Mala's Specter.
-
+
Nearby units make Quitl and give Sacral Blood on-death.
""",
Notes =
@@ -3335,13 +3533,13 @@ public class DATA
{
Name = "Prophet's Favor",
Description =
- """
- Target an area. Permanently empower units.
-
- Empowered units get more HP and damage. Does not stack.
- Costs Sacral Blood. Get Sacral Blood from Mala's other Powers and Vanguard.
+ """
+ Target an area. Permanently empower units.
+
+ Empowered units get more HP and damage. Does not stack.
+ Costs Sacral Blood. Get Sacral Blood from Mala's other Powers and Vanguard.
- """,
+ """,
Notes =
" - Summons Mala (unmoveable).
- Once the nearest owned unit's supply is doubled by Mala's upgrade supply it will be deemed Worthy, consuming the stored upgrade supply.
- Units of zero supply cost take 1 blood.
- Worthy: Permanent upgrade that gives +30% Max Life and +30% Damage."
})
@@ -3374,11 +3572,11 @@ public class DATA
{
Name = "Prophet Of The Hunt",
Description =
- """
- Target a location to summon Xol.
-
- Get XP by assiting in kills. Level up to become more powerful.
- """,
+ """
+ Target a location to summon Xol.
+
+ Get XP by assiting in kills. Level up to become more powerful.
+ """,
Notes =
" - Summons Xol (stealthed) after a 1 second delay.
- Xol has 225 Life, 75 Shield, 410 Move speed, 70 Radius.
- Xol has a weapon: 28 Damage, 1s Cooldown, 7 Range, Ground and Air.
- Every 4 attacks, the next attack will deal 22 bonus damage.
"
})
@@ -3394,12 +3592,12 @@ public class DATA
{
Name = "Hunting Grounds",
Description =
- """
- Target an area. Friendly units there become Hidden.
-
- After becoming Hidden, friendly units get more movement speed, attack speed, and damage on their first attack.
- Hunting Grounds disappears 5 seconds after a unit inside attacks.
- """,
+ """
+ Target an area. Friendly units there become Hidden.
+
+ After becoming Hidden, friendly units get more movement speed, attack speed, and damage on their first attack.
+ Hunting Grounds disappears 5 seconds after a unit inside attacks.
+ """,
Notes =
" - After a 10 second delay, creates a large ambush area which lasts until after an ambush is sprung.
- Units in the Hunting Ground become stealth.
- Stealth units will deal double damage on the first attack and spring the ambush.
- The Hunting Ground will disappear 5 seconds after an ambush is sprung.
- Units can only get the bonus once."
})
@@ -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
diff --git a/Model/Entity/Data/Ids_Entity.cs b/Model/Entity/Data/Ids_Entity.cs
index b3a1a80..8835f62 100644
--- a/Model/Entity/Data/Ids_Entity.cs
+++ b/Model/Entity/Data/Ids_Entity.cs
@@ -67,12 +67,12 @@ public static class DataType
public static string ISPELL_ProphetOfTheHunt = nameof(ISPELL_ProphetOfTheHunt);
public static string ISPELL_HuntingGrounds = nameof(ISPELL_HuntingGrounds);
public static string ISPELL_TheGreatHunt = nameof(ISPELL_TheGreatHunt);
-
+
public static string ISPELL_ProphetOfTheRoots = nameof(ISPELL_ProphetOfTheRoots);
public static string ISPELL_WallOfRoots = nameof(ISPELL_WallOfRoots);
public static string ISPELL_SummonDeepWyrm = nameof(ISPELL_SummonDeepWyrm);
public static string ISPELL_SummonRootBud = nameof(ISPELL_SummonRootBud);
-
+
public static string IPASSIVE_AjarisGrace = "3ec17526-8dc5-4592-9c15-ef1d9b1ca2f6";
public static string IPASSIVE_OrdainedConquest = "b6cd4335-2165-44c3-b3dc-4500c0111870";
@@ -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";
@@ -139,11 +146,12 @@ public static class DataType
public static string UPGRADE_BloodPlague = "9c207e21-f595-49d0-967d-f30ca8cc3745";
public static string UPGRADE_BirthingStorm = "0cb2f1a4-03b3-491b-9db3-d2d4590ede3a";
public static string UPGRADE_GodphageDamage = nameof(UPGRADE_GodphageDamage);
+
+ public static string UPGRADE_GENERIC_Attack1 = nameof(UPGRADE_GENERIC_Attack1);
+ public static string UPGRADE_GENERIC_Defense1 = nameof(UPGRADE_GENERIC_Defense1);
- public static string UPGRADE_GENERIC_AruAttack1 = nameof(UPGRADE_GENERIC_AruAttack1);
- public static string UPGRADE_GENERIC_AruDefense1 = nameof(UPGRADE_GENERIC_AruDefense1);
- 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,19 +231,22 @@ 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);
public static string ABILITY_DiveBomb = nameof(ABILITY_DiveBomb);
public static string ABILITY_CullingStrike = "b43396de-b7e4-4b87-af74-21522a888af3";
@@ -252,11 +263,11 @@ public static class DataType
public static string ABILITY_MorphToGodphage = nameof(ABILITY_MorphToGodphage);
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);
diff --git a/Model/Entity/Parts/EntityInfoModel.cs b/Model/Entity/Parts/EntityInfoModel.cs
index 891096b..7fa875b 100644
--- a/Model/Entity/Parts/EntityInfoModel.cs
+++ b/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; } = "";
}
\ No newline at end of file