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
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 }) |
|
} |
|
}; |
|
} |
|
} |