Fan website of IMMORTAL: Gates of Pyre.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

524 lines
30 KiB

using System.Collections.Generic;
using Model.Entity.Parts;
using Model.Entity.Types;
using Model.Types;
namespace Model.Entity.Data;
public partial class EntityData
{
public static Dictionary<string, EntityModel> GetImmortalData()
{
return new Dictionary<string, EntityModel>
{
// Immortals
// Aru
{
DataType.IMMORTAL_Atzlan,
new EntityModel(DataType.IMMORTAL_Atzlan, EntityType.Immortal)
.AddPart(new EntityInfoModel { Name = "Atzlan" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityHarvestModel
{
Resource = ResourceType.Pyre, HarvestedPerInterval = 1, HarvestDelay = 3,
RequiresWorker = false, Slots = 1, TotalAmount = -1
})
.AddPart(new EntityIdPassiveModel { Id = DataType.IPASSIVE_GreenThumb })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_SummonGroveGuardian })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_ProphetOfTheRoots })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_WallOfRoots })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_SummonDeepWyrm })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_SummonRootBud })
.AddPart(new EntityIdVanguardModel { Id = DataType.VANGUARD_RootShepard_Atzlan })
.AddPart(new EntityIdVanguardModel { Id = DataType.VANGUARD_Resinant_Atzlan })
},
{
DataType.IMMORTAL_Mala,
new EntityModel(DataType.IMMORTAL_Mala, EntityType.Immortal)
.AddPart(new EntityInfoModel { Name = "Mala" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityHarvestModel
{
Resource = ResourceType.Pyre, HarvestedPerInterval = 1, HarvestDelay = 3,
RequiresWorker = false, Slots = 1, TotalAmount = -1
})
.AddPart(new EntityIdPassiveModel { Id = DataType.IPASSIVE_MothersHunger })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_SummonGroveGuardian })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_RedHarvest })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_ProphetsFavor })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_RainOfBlood })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_ConstructBloodWell })
.AddPart(new EntityIdVanguardModel { Id = DataType.VANGUARD_Incubator_Mala })
.AddPart(new EntityIdVanguardModel { Id = DataType.VANGUARD_DreadSister_Mala })
},
{
DataType.IMMORTAL_Xol,
new EntityModel(DataType.IMMORTAL_Xol, EntityType.Immortal)
.AddPart(new EntityInfoModel { Name = "Xol" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityHarvestModel
{
Resource = ResourceType.Pyre, HarvestedPerInterval = 1, HarvestDelay = 3,
RequiresWorker = false, Slots = 1, TotalAmount = -1
})
.AddPart(new EntityIdPassiveModel { Id = DataType.IPASSIVE_StalkersSense })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_SummonGroveGuardian })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_ProphetOfTheHunt })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_HuntingGrounds })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_TheGreatHunt })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_ConstructBloodWell })
.AddPart(new EntityIdVanguardModel { Id = DataType.VANGUARD_BoneStalker_Xol })
.AddPart(new EntityIdVanguardModel { Id = DataType.VANGUARD_WhiteWoodReaper_Xol })
},
// Immortals
// Q'Rath
{
DataType.IMMORTAL_Ajari,
new EntityModel(DataType.IMMORTAL_Ajari, EntityType.Immortal)
.AddPart(new EntityInfoModel { Name = "Ajari" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityHarvestModel
{
Resource = ResourceType.Pyre, HarvestedPerInterval = 1, HarvestDelay = 3,
RequiresWorker = false, Slots = 1, TotalAmount = -1
})
.AddPart(new EntityIdPassiveModel { Id = DataType.IPASSIVE_MendingGrace })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_SummonCitadel })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_HeavensAegis })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_DeliverFromEvil })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_Salvation })
.AddPart(new EntityIdVanguardModel { Id = DataType.VANGUARD_Saoshin_Ajari })
.AddPart(new EntityIdVanguardModel { Id = DataType.VANGUARD_ArkMother_Ajari })
},
{
DataType.IMMORTAL_Orzum,
new EntityModel(DataType.IMMORTAL_Orzum, EntityType.Immortal)
.AddPart(new EntityInfoModel { Name = "Orzum" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityHarvestModel
{
Resource = ResourceType.Pyre, HarvestedPerInterval = 1, HarvestDelay = 3,
RequiresWorker = false, Slots = 1, TotalAmount = -1
})
.AddPart(new EntityIdPassiveModel { Id = DataType.IPASSIVE_OrdainedConquest })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_RookOfIra })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_SummonCitadel })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_EmpireUnbroken })
.AddPart(new EntityIdPyreSpellModel { Id = DataType.ISPELL_PillarOfHeaven })
.AddPart(new EntityIdVanguardModel { Id = DataType.VANGUARD_Zentari_Orzum })
.AddPart(new EntityIdVanguardModel { Id = DataType.VANGUARD_Sceptre_Orzum })
},
// Immortal Passives
{
DataType.IPASSIVE_MendingGrace,
new EntityModel(DataType.IPASSIVE_MendingGrace, EntityType.Passive)
.AddPart(new EntityInfoModel
{
Name = "Mending Grace",
Description =
"Friendly units heal on Hallowed Ground. Units get an initial burst of healing after a delay, then heal over time."
})
},
{
DataType.IPASSIVE_OrdainedConquest,
new EntityModel(DataType.IPASSIVE_OrdainedConquest, EntityType.Passive)
.AddPart(new EntityInfoModel
{
Name = "Ordained Conquest",
Description =
"""
Citadels generate Pyre passively. Execute towers below 20% HP.
"""
})
},
{
DataType.IPASSIVE_MothersHunger,
new EntityModel(DataType.IPASSIVE_MothersHunger, EntityType.Passive)
.AddPart(new EntityInfoModel
{
Name = "Mother's Hunger",
Description =
"""
Units that die near Blood Wells, Grove Guardians, Incubators, Dread Sisters, Mala's Specter,
and units that dies during Rain of Blood give Sacral Blood.
"""
})
},
{
DataType.IPASSIVE_StalkersSense,
new EntityModel(DataType.IPASSIVE_StalkersSense, EntityType.Passive)
.AddPart(new EntityInfoModel
{
Name = "Stalker's Sense",
Description = "Increases the vision range of your units by 1."
})
},
{
DataType.IPASSIVE_GreenThumb,
new EntityModel(DataType.IPASSIVE_GreenThumb, EntityType.Passive)
.AddPart(new EntityInfoModel
{
Name = "Green Thumb",
Description = "Friendly units near Atzlan heal over time."
})
},
// Pyre Spells
// Q'Rath
{
DataType.ISPELL_SummonCitadel,
new EntityModel(DataType.ISPELL_SummonCitadel, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Summon Citadel",
Description =
"""
Target a Phyric Foundation. Summon a Citadel.<br/>
Can attack ground and air. Heals friendly units. Does not require a worker.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityProductionModel { Pyre = 50, BuildTime = 70 })
.AddPart(new EntityVitalityModel
{ Health = 1000, DefenseLayer = 500, Armor = ArmorType.Heavy, IsStructure = true })
.AddPart(new EntityWeaponModel
{
Damage = 20, Range = 800, AttacksPerSecond = 1.124f, Targets = TargetType.All,
MediumDamage = 25, HeavyDamage = 30
})
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Respite })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_HallowedGround })
},
// Orzum
{
DataType.ISPELL_RookOfIra,
new EntityModel(DataType.ISPELL_RookOfIra, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Rook of Ira",
Description =
"Target a location to summon a Rook of Ira."
})
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Orzum })
.AddPart(new EntityProductionModel { Pyre = 125, Cooldown = 90, BuildTime = 3 })
},
{
DataType.ISPELL_EmpireUnbroken,
new EntityModel(DataType.ISPELL_EmpireUnbroken, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Empire Unbroken",
Description =
"""
Targe an area. Buildings get damage reduction then heal.<br/>
Temporary. Healing happens at the end of the spell.<br/>
Temporarily turns Citadels into Rooks of Ira.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Orzum })
.AddPart(new EntityProductionModel { Pyre = 50, Cooldown = 120 })
},
{
DataType.ISPELL_PillarOfHeaven,
new EntityModel(DataType.ISPELL_PillarOfHeaven, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Pillar of the Heavens",
Description =
"""
Target an area to deal massive area damage.<br/>
Creates temporary <b>Hallowed Ground</b> that improves friendly unit attack speed.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Orzum })
.AddPart(new EntityProductionModel { Pyre = 150, Cooldown = 120 })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Zeal })
},
// Ajari
{
DataType.ISPELL_HeavensAegis,
new EntityModel(DataType.ISPELL_HeavensAegis, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Heaven's Aegis",
Description =
"""
Target a friendly unit. It gets movement speed and Shields.<br/>
Periodically saves charges, up to a cap.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Ajari })
.AddPart(new EntityProductionModel { Pyre = 25, Cooldown = 0.5f })
},
{
DataType.ISPELL_DeliverFromEvil,
new EntityModel(DataType.ISPELL_DeliverFromEvil, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Deliver from Evil",
Description =
"""
Target an area. Friendly units teleport to your nearest Acropolis.<br/>
Units get Shields for a few seconds before teleporting.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Ajari })
.AddPart(new EntityProductionModel { Pyre = 50, Cooldown = 60 })
},
{
DataType.ISPELL_Salvation,
new EntityModel(DataType.ISPELL_Salvation, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Salvation",
Description =
"""
Target a location. Summon Ajari's Specter to prevent death.<br/>
Saved units are brought back to Ajari's location at the end of the duration. Destroying Ajari's
Urn ends the effect and prevents Saved units from coming back.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Ajari })
.AddPart(new EntityProductionModel { Pyre = 175, Cooldown = 45 })
},
// Immortal Spells
// Aru
{
DataType.ISPELL_SummonGroveGuardian,
new EntityModel(DataType.ISPELL_SummonGroveGuardian, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Summon Grove Guardian",
Description = "Creates a powerful defensive structure on a Tower Foundation."
})
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityProductionModel { Pyre = 50, BuildTime = 70 })
.AddPart(new EntityVitalityModel
{ Health = 1850, DefenseLayer = 450, Armor = ArmorType.Heavy, IsStructure = true })
.AddPart(new EntityWeaponModel
{ Damage = 19, Range = 800, AttacksPerSecond = 1.887f, Targets = TargetType.All })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Respite })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Rootway })
},
{
DataType.ISPELL_ConstructBloodWell,
new EntityModel(DataType.ISPELL_ConstructBloodWell, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Construct Blood Well",
Description =
"Creates a rootway generating structure that heals nearby allied units, and transfers it's blood to nearby allied units."
})
.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 EntityVitalityModel
{ Health = 400, Energy = 100, DefenseLayer = 50, Armor = ArmorType.Heavy, IsStructure = true })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_RestoreLifeblood })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Transfusion })
.AddPart(new EntityIdPassiveModel { Id = DataType.PASSIVE_Rootway })
},
// Atzlan
{
DataType.ISPELL_ProphetOfTheRoots,
new EntityModel(DataType.ISPELL_ProphetOfTheRoots, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Prophet Of The Roots",
Description =
"Moves Atzlan to target Root Bud. Blesses the Root Bud to give units nearby more overgrowth Atzlan heals nearby units."
})
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityProductionModel { Pyre = 25, Cooldown = 3 })
.AddPart(new EntityVitalityModel
{ Health = 25, DefenseLayer = 50, Armor = ArmorType.Heavy, IsStructure = true })
},
{
DataType.ISPELL_WallOfRoots,
new EntityModel(DataType.ISPELL_WallOfRoots, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Wall of Roots",
Description =
"""
Spawn a Wall of Roots that blocks ground pathing.<br/>
Click and drag to "draw" the wall. Wall takes damage over time when it's off rootway.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "E", 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_SummonDeepWyrm,
new EntityModel(DataType.ISPELL_SummonDeepWyrm, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Summon Deep Wyrm",
Description =
"""
The Deep Wyrm roams in the area and attacks any ground enemy unit entering the rootway.<br/>
Spawns rootway on summon. The Deep Wyrm is invulnerable and uncontrollable.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityProductionModel { Pyre = 150, Cooldown = 55 })
.AddPart(new EntityVitalityModel
{ Health = 25, DefenseLayer = 50, Armor = ArmorType.Heavy, IsStructure = true })
},
{
DataType.ISPELL_SummonRootBud,
new EntityModel(DataType.ISPELL_SummonRootBud, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Summon Root Bud",
Description =
"""
Generates Rootway<br/>
Must be placed on Rootway and in range of another Root Bud or Stronghold
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "F", HotkeyGroup = "V" })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityProductionModel { Cooldown = 25 })
.AddPart(new EntityVitalityModel
{ Health = 25, DefenseLayer = 50, Armor = ArmorType.Heavy, IsStructure = true })
},
// Mala
{
DataType.ISPELL_RedHarvest,
new EntityModel(DataType.ISPELL_RedHarvest, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Red Harvest",
Description =
"""
Target a location to summon Mala's Specter.<br/>
Nearby units make Quitl and give Sacral Blood on-death.
"""
})
.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 = 90 })
},
{
DataType.ISPELL_ProphetsFavor,
new EntityModel(DataType.ISPELL_ProphetsFavor, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Prophet's Favor",
Description =
"""
Target an area. Permanently empower units.<br/>
Empowered units get more HP and damage. Does not stack.<br/>
Costs Sacral Blood. Get Sacral Blood from Mala's other Powers and Vanguard.
"""
})
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "V" })
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Mala })
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
.AddPart(new EntityProductionModel { Cooldown = 5 })
},
{
DataType.ISPELL_RainOfBlood,
new EntityModel(DataType.ISPELL_RainOfBlood, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "Rain of Blood",
Description =
"Rains blood from the sky for 30 seconds. Massively increases global life regeneration for allied troops. Allies anywhere also have significantly increased blood regeneration."
})
.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 = 150, Cooldown = 30 })
},
// Xol
{
DataType.ISPELL_ProphetOfTheHunt,
new EntityModel(DataType.ISPELL_ProphetOfTheHunt, ImmortalSpellType.Combat)
.AddPart(new EntityInfoModel
{
Name = "Prophet Of The Hunt",
Description =
"""
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.<br/> - Xol has 225 Life, 75 Shield, 410 Move speed, 70 Radius.<br/> - Xol has a weapon: 28 Damage, 1s Cooldown, 7 Range, Ground and Air.<br/> - Every 4 attacks, the next attack will deal 22 bonus damage.<br/>"
})
.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 = 50, Pyre = 50 })
},
{
DataType.ISPELL_HuntingGrounds,
new EntityModel(DataType.ISPELL_HuntingGrounds, ImmortalSpellType.Combat)
.AddPart(new EntityInfoModel
{
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.
""",
Notes =
" - After a 10 second delay, creates a large ambush area which lasts until after an ambush is sprung.<br/> - Units in the Hunting Ground become stealth.<br/> - Stealth units will deal double damage on the first attack and spring the ambush.<br/> - The Hunting Ground will disappear 5 seconds after an ambush is sprung.<br/> - 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 = 10, Pyre = 25 })
},
{
DataType.ISPELL_TheGreatHunt,
new EntityModel(DataType.ISPELL_TheGreatHunt, EntityType.Pyre_Spell)
.AddPart(new EntityInfoModel
{
Name = "The Great Hunt",
Description =
"""
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).<br/> - After a 3 second delay, the hunt begins. The hunt lasts 20 seconds.<br/> - Summons Xol (moveable) to lead the hunt.<br/> - Units gain a 70% decaying move speed bonus for 6 seconds.<br/> - While on the hunt killing an enemy will cause a frenzy giving the killer double attack speed for 7 seconds <br/> - 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 = 50 })
}
};
}
}