diff --git a/Model/Entity/Data/DATA.cs b/Model/Entity/Data/DATA.cs
index 4bd574e..989e649 100644
--- a/Model/Entity/Data/DATA.cs
+++ b/Model/Entity/Data/DATA.cs
@@ -675,15 +675,14 @@ public class DATA
.AddPart(new EntityVanguardAddedModel
{ ReplaceId = DataType.UNIT_Ichor, ImmortalId = DataType.IMMORTAL_Atzlan })
.AddPart(new EntityProductionModel
- { Alloy = 50, Ether = 0, BuildTime = 16, ProducedBy = DataType.BUILDING_AltarOfTheWorthy })
- .AddPart(new EntitySupplyModel { Takes = 2 })
+ { Alloy = 80, Ether = 0, BuildTime = 24, ProducedBy = DataType.BUILDING_AltarOfTheWorthy })
+ .AddPart(new EntitySupplyModel { Takes = 3 })
.AddPart(new EntityVitalityModel
{ 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 })
- .AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Ambush })
+ //.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Stalk })
},
@@ -3192,7 +3191,7 @@ public class DATA
.AddPart(new EntityVitalityModel
{ Health = 1850, DefenseLayer = 450, Armor = ArmorType.Heavy, IsStructure = true })
.AddPart(new EntityWeaponModel
- { Damage = 15, Range = 800, AttacksPerSecond = 1.887f, Targets = TargetType.All })
+ { Damage = 19, Range = 800, AttacksPerSecond = 1.887f, Targets = TargetType.All })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Respite })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Rootway })
},
@@ -3207,7 +3206,7 @@ public class DATA
})
.AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
- .AddPart(new EntityProductionModel { Pyre = 50, Cooldown = 21 })
+ .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 })
@@ -3316,14 +3315,18 @@ public class DATA
{
Name = "Red Harvest",
Description =
- "Summons Mala's spectre. All nearby allied units replenish life as they deal damage. Nearby allied AND enemy units spawn quitl upon death.",
+ """
+ Target a location to summon Mala's Specter.
+
+ Nearby units make Quitl and give Sacral Blood on-death.
+ """,
Notes =
" - Summons Mala (moveable).
- Quitl Seed Aura of radius 400: All units around Mala spawn a Quitl when they die.
- Red Harvest Quitle last for 60 seconds."
})
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "V" })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Mala })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
- .AddPart(new EntityProductionModel { Pyre = 75, Cooldown = 30 })
+ .AddPart(new EntityProductionModel { Pyre = 75, Cooldown = 90 })
},
{
DataType.ISPELL_ProphetsFavor,
@@ -3332,14 +3335,20 @@ public class DATA
{
Name = "Prophet's Favor",
Description =
- "Within the area, Mala channels the energy of dying units to permanently enhance her chosen warriors.",
+ """
+ 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."
})
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "V" })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Mala })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
- .AddPart(new EntityProductionModel { Pyre = 50, Cooldown = 120 })
+ .AddPart(new EntityProductionModel { Cooldown = 5 })
},
{
DataType.ISPELL_RainOfBlood,
@@ -3355,7 +3364,7 @@ public class DATA
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Mala })
- .AddPart(new EntityProductionModel { Pyre = 130, Cooldown = 30 })
+ .AddPart(new EntityProductionModel { Pyre = 150, Cooldown = 30 })
},
// Xol
{
@@ -3365,14 +3374,18 @@ public class DATA
{
Name = "Prophet Of The Hunt",
Description =
- "Summon Xol to hunt your enemies.",
+ """
+ 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.
"
})
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Xol })
- .AddPart(new EntityProductionModel { Cooldown = 45, Pyre = 75 })
+ .AddPart(new EntityProductionModel { Cooldown = 50, Pyre = 50 })
},
{
DataType.ISPELL_HuntingGrounds,
@@ -3381,29 +3394,19 @@ public class DATA
{
Name = "Hunting Grounds",
Description =
- @"Prepare an area for an ambush, units in the area stealth and deal bonus damage on their first attack.",
+ """
+ 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."
})
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Xol })
- .AddPart(new EntityProductionModel { Cooldown = 60, Pyre = 50 })
- },
- {
- DataType.ISPELL_MarkPrey,
- new EntityModel(DataType.ISPELL_MarkPrey, EntityType.Pyre_Spell)
- .AddPart(new EntityInfoModel
- {
- Name = "Mark Prey",
- Description =
- @"Enemy units in the target area are Revealed through fog of war. Units still in the area after a short delay are marked for 10 seconds to take bonus damage and provide Pyre when killed.",
- Notes = "+3 pyre for kills"
- })
- .AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "V" })
- .AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
- .AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Xol })
- .AddPart(new EntityProductionModel { Cooldown = 15, Pyre = 25 })
+ .AddPart(new EntityProductionModel { Cooldown = 10, Pyre = 25 })
},
{
DataType.ISPELL_TheGreatHunt,
@@ -3412,14 +3415,17 @@ public class DATA
{
Name = "The Great Hunt",
Description =
- "Summon Xol to being a hunt. After a small delay enemy units will have reduced vision and friendly units will again a speed and attack speed buff.",
+ """
+ Activate to reduce enemy vision range and give friendly units movement speed.
+ Affects all units. Friendly units get attack speed on-kill
+ """,
Notes =
" - Reduces enemy vision to 6 range (used to be 3).
- After a 3 second delay, the hunt begins. The hunt lasts 20 seconds.
- Summons Xol (moveable) to lead the hunt.
- Units gain a 70% decaying move speed bonus for 6 seconds.
- While on the hunt killing an enemy will cause a frenzy giving the killer double attack speed for 7 seconds
- Adds duration timer to Xol"
})
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Xol })
- .AddPart(new EntityProductionModel { Pyre = 175, Cooldown = 120 })
+ .AddPart(new EntityProductionModel { Pyre = 175, Cooldown = 50 })
},
// Building
@@ -3733,7 +3739,7 @@ public class DATA
Requirement = RequirementType.Research_Building
})
.AddPart(new EntityProductionModel
- { Alloy = 100, Ether = 75, BuildTime = 36, RequiresWorker = false })
+ { Alloy = 200, Ether = 100, BuildTime = 60, RequiresWorker = false })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Rootway })
},
{
diff --git a/Model/Entity/Data/Ids_Entity.cs b/Model/Entity/Data/Ids_Entity.cs
index 2aa8de1..b3a1a80 100644
--- a/Model/Entity/Data/Ids_Entity.cs
+++ b/Model/Entity/Data/Ids_Entity.cs
@@ -57,19 +57,16 @@ public static class DataType
public static string ISPELL_DeliverFromEvil = "4168ca14-be95-4db4-b2b8-8b5491510b1a";
public static string ISPELL_Salvation = "dca82703-04af-4e4f-8f2d-eb16a72887e0";
- public static string ISPELL_SummonGroveGuardian = "4829079a-9c7c-44f0-90a1-d6eb36f91a2f";
- public static string ISPELL_ConstructBloodWell = "07aee142-02dd-4804-878a-2d5c6881e8c8";
+ public static string ISPELL_SummonGroveGuardian = nameof(ISPELL_SummonGroveGuardian);
+ public static string ISPELL_ConstructBloodWell = nameof(ISPELL_ConstructBloodWell);
+ public static string ISPELL_RedHarvest = nameof(ISPELL_RedHarvest);
+ public static string ISPELL_ProphetsFavor = nameof(ISPELL_ProphetsFavor);
+ public static string ISPELL_RainOfBlood = nameof(ISPELL_RainOfBlood);
- public static string ISPELL_RedHarvest = "a9504b95-cc3a-4204-9bc2-7269424d26a3";
- public static string ISPELL_ProphetsFavor = "68611c59-5e04-4f1d-866c-a18f0577b4df";
- public static string ISPELL_RainOfBlood = "792df385-c66a-4710-9f75-97731897a565";
-
-
- public static string ISPELL_ProphetOfTheHunt = "383e0a1c-07dc-4923-ae98-72561ab3b941";
- public static string ISPELL_HuntingGrounds = "a6e5e18a-542e-4c41-a25e-00dd115f5223";
- public static string ISPELL_MarkPrey = "8505419c-bb42-41fa-9c5b-fc0db280d7c0";
- public static string ISPELL_TheGreatHunt = "efa14586-33f0-487f-b691-1ed3bcd5b0e6";
+ 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);