Initial Commit
This commit is contained in:
@@ -0,0 +1,524 @@
|
||||
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 })
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user