Ulysses Morvant
Humanoid
+3 to maximum number of Summoned Totems
kill traps mines and totems on death [1]
30% Chance to Block Attack Damage
You take 15% of Damage from Blocked Hits
SpectreN
Tagscaster, chaos_affinity, exile, has_dagger, has_one_handed_melee, human, humanoid, light_armour, lightning_affinity, medium_height, medium_movement, not_str, red_blood, rogue_exile, slashing_weapon
Life
112%
Energy Shield From Life
60%
Evasion
+40%
Ailment Threshold
112%
Resistance
30 30 30 20
Damage
143%
Accuracy
100%
Critical Strike Chance
+5%
Critical Strike Multiplier
+130%
Attack Distance
6 ~ 8
Attack Time
0.855 Second
Damage Spread
±20%
Experience
220%
Model Size
100%
Type
ExileShadow5
Metadata
ExileShadow5
Level
68
Life
7,205
Armour
28,790
Evasion
6,635
Energy Shield
3,676
Damage
534
Spell Damage
534
Accuracy
290
Attack Time
0.855
Experience
22,561
Ailment Threshold
7,205
Chill
23
Shock
23
Brittle
129
Scorch
23
Sap
63
ExileShadowEssenceDrain
Spell, Projectile, ProjectilesFromUser, Duration, Totemable, Multicastable, DamageOverTime, Chaos, Damage, Triggerable, CanRapidFire, Area, AreaSpell, Trappable, Mineable
Essence Drain
Cast Time: 0.75 sec
Fires a projectile that applies a damage over time debuff when it hits. You are healed for a portion of the debuff damage. The debuff is spread by Contagion.
Deals 238.7 to 375.1 Chaos Damage
Deals 227.3 Base Chaos Damage per second
Base duration is 2.5 seconds
Fires 2 additional Projectiles
animation effect variation [1]
base is projectile [1]
ExileShadowWitherTotem
Spell, Area, Duration, Totemable, Chaos, AreaSpell
Wither
Cast Time: 0.28 sec
Cooldown Time: 2 sec
Casts a debilitating effect on enemies in an area, Hindering their movement and applying a stacking Withered debuff that increases the Chaos Damage they take. This effect can stack up to 15 times.
Totem lasts 12 seconds
Base duration is 0.5 seconds
Base secondary duration is 8 seconds
Summons a Totem which uses this Skill
25% reduced Movement Speed
5% increased Chaos Damage taken
base active skill totem level [68]
base skill is totemified [1]
base totem range [45]
totem art variation [5]
ExileLightningWarp
Spell, Damage, Area, Duration, Trappable, Totemable, Mineable, Triggerable, Movement, Lightning, AreaSpell, Travel, Multicastable, CanRapidFire
Lightning Warp
Critical Strike Chance: 5%
Cast Time: 1 sec
Waits for a duration before teleporting to a targeted destination, with the duration based on the distance and your movement speed. When the teleport occurs, lightning damage is dealt to the area around both where the player was and where they teleported to. Casting again will queue up multiple teleportations to occur in sequence.
Deals 551 to 1653 Lightning Damage
38% reduced Duration
base skill show average damage instead of dps [1]
is area damage [1]
skill override pvp scaling time ms [1000]
ExileContagion
Spell, Area, Duration, Trappable, Totemable, DamageOverTime, Chaos, Multicastable, Triggerable, Mineable, DegenOnlySpellDamage, Cascadable, CanRapidFire, AreaSpell
Contagion
Cast Time: 0.85 sec
Cooldown Time: 5 sec
Unleashes a vile contagion on enemies, dealing chaos damage over time. If an enemy dies while affected by Contagion, the debuff spreads to other enemies.
Deals 67.9 Base Chaos Damage per second
Base duration is 5 seconds
Modifiers to Spell Damage apply to this Skill's Damage Over Time effect
Base radius is 2 metres
is area damage [1]

Object Type

version 2
extends "Metadata/Monsters/Exiles/Exile"

Stats
{
	set_base_mana_cost_-% = 0
}

Object Type Codes

version 2
extends "Metadata/Monsters/Exiles/Exile"

BaseEvents 
{ 
	on_construction_complete = "AddEffectPack( Metadata/Effects/Microtransactions/BodyArmours/ArcaneArmour/ArcaneArmourBody.epk );"
} 
-- src\Data\Spectres.lua
minions["Metadata/Monsters/Exiles/ExileShadow5"] = {
    name = "Ulysses Morvant",
    life = 1.12,
    energyShield = 0.6,
    fireResist = 30,
    coldResist = 30,
    lightningResist = 30,
    chaosResist = 20,
    damage = 1.43,
    damageSpread = 0.2,
    attackTime = 0.855,
    attackRange = 8,
    accuracy = 1,
    weaponType1 = "Dagger",
    weaponType2 = "Shield",
    skillList = {
        "ExileLightningWarp",
        "ExileContagion",
        "ExileShadowWitherTotem",
        "ExileShadowEssenceDrain",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["ExileLightningWarp"] = {
    name = "Lightning Warp",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Waits for a duration before teleporting to a targeted destination, with the duration based on the distance and your movement speed. When the teleport occurs, lightning damage is dealt to the area around both where the player was and where they teleported to. Casting again will queue up multiple teleportations to occur in sequence.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Area] = true,
        [SkillType.Duration] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Movement] = true,
        [SkillType.Lightning] = true,
        [SkillType.AreaSpell] = true,
        [SkillType.Travel] = true,
        [SkillType.Multicastable] = true,
        [SkillType.CanRapidFire] = true,
    },
    statDescriptionScope = "variable_duration_skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_lightning_damage",
        "spell_maximum_base_lightning_damage",
        "skill_effect_duration_+%",
        "skill_override_pvp_scaling_time_ms",
        "base_skill_show_average_damage_instead_of_dps",
        "is_area_damage",
    },
    levels = {
        [1] = {0.5, 1.5, 0, 1000, critChance = 5, levelRequirement = 2, statInterpolation = {3, 3, 1},  cost = { }, },
        [2] = {0.5, 1.5, -2, 1000, critChance = 5, levelRequirement = 4, statInterpolation = {3, 3, 1},  cost = { }, },
        [3] = {0.5, 1.5, -4, 1000, critChance = 5, levelRequirement = 6, statInterpolation = {3, 3, 1},  cost = { }, },
        [4] = {0.5, 1.5, -6, 1000, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3, 1},  cost = { }, },
        [5] = {0.5, 1.5, -8, 1000, critChance = 5, levelRequirement = 10, statInterpolation = {3, 3, 1},  cost = { }, },
        [6] = {0.5, 1.5, -10, 1000, critChance = 5, levelRequirement = 12, statInterpolation = {3, 3, 1},  cost = { }, },
        [7] = {0.5, 1.5, -12, 1000, critChance = 5, levelRequirement = 14, statInterpolation = {3, 3, 1},  cost = { }, },
        [8] = {0.5, 1.5, -14, 1000, critChance = 5, levelRequirement = 16, statInterpolation = {3, 3, 1},  cost = { }, },
        [9] = {0.5, 1.5, -16, 1000, critChance = 5, levelRequirement = 18, statInterpolation = {3, 3, 1},  cost = { }, },
        [10] = {0.5, 1.5, -18, 1000, critChance = 5, levelRequirement = 20, statInterpolation = {3, 3, 1},  cost = { }, },
        [11] = {0.5, 1.5, -20, 1000, critChance = 5, levelRequirement = 24, statInterpolation = {3, 3, 1},  cost = { }, },
        [12] = {0.5, 1.5, -22, 1000, critChance = 5, levelRequirement = 28, statInterpolation = {3, 3, 1},  cost = { }, },
        [13] = {0.5, 1.5, -24, 1000, critChance = 5, levelRequirement = 29, statInterpolation = {3, 3, 1},  cost = { }, },
        [14] = {0.5, 1.5, -25, 1000, critChance = 5, levelRequirement = 34, statInterpolation = {3, 3, 1},  cost = { }, },
        [15] = {0.5, 1.5, -26, 1000, critChance = 5, levelRequirement = 38, statInterpolation = {3, 3, 1},  cost = { }, },
        [16] = {0.5, 1.5, -27, 1000, critChance = 5, levelRequirement = 43, statInterpolation = {3, 3, 1},  cost = { }, },
        [17] = {0.5, 1.5, -28, 1000, critChance = 5, levelRequirement = 48, statInterpolation = {3, 3, 1},  cost = { }, },
        [18] = {0.5, 1.5, -29, 1000, critChance = 5, levelRequirement = 52, statInterpolation = {3, 3, 1},  cost = { }, },
        [19] = {0.5, 1.5, -30, 1000, critChance = 5, levelRequirement = 56, statInterpolation = {3, 3, 1},  cost = { }, },
        [20] = {0.5, 1.5, -31, 1000, critChance = 5, levelRequirement = 60, statInterpolation = {3, 3, 1},  cost = { }, },
        [21] = {0.5, 1.5, -32, 1000, critChance = 5, levelRequirement = 64, statInterpolation = {3, 3, 1},  cost = { }, },
        [22] = {0.5, 1.5, -34, 1000, critChance = 5, levelRequirement = 66, statInterpolation = {3, 3, 1},  cost = { }, },
        [23] = {0.5, 1.5, -36, 1000, critChance = 5, levelRequirement = 67, statInterpolation = {3, 3, 1},  cost = { }, },
        [24] = {0.5, 1.5, -38, 1000, critChance = 5, levelRequirement = 68, statInterpolation = {3, 3, 1},  cost = { }, },
        [25] = {0.5, 1.5, -40, 1000, critChance = 5, levelRequirement = 69, statInterpolation = {3, 3, 1},  cost = { }, },
        [26] = {0.5, 1.5, -42, 1000, critChance = 5, levelRequirement = 70, statInterpolation = {3, 3, 1},  cost = { }, },
        [27] = {0.5, 1.5, -44, 1000, critChance = 5, levelRequirement = 71, statInterpolation = {3, 3, 1},  cost = { }, },
        [28] = {0.5, 1.5, -46, 1000, critChance = 5, levelRequirement = 72, statInterpolation = {3, 3, 1},  cost = { }, },
        [29] = {0.5, 1.5, -48, 1000, critChance = 5, levelRequirement = 73, statInterpolation = {3, 3, 1},  cost = { }, },
        [30] = {0.5, 1.5, -50, 1000, critChance = 5, levelRequirement = 74, statInterpolation = {3, 3, 1},  cost = { }, },
        [31] = {0.5, 1.5, -52, 1000, critChance = 5, levelRequirement = 75, statInterpolation = {3, 3, 1},  cost = { }, },
        [32] = {0.5, 1.5, -54, 1000, critChance = 5, levelRequirement = 76, statInterpolation = {3, 3, 1},  cost = { }, },
        [33] = {0.5, 1.5, -56, 1000, critChance = 5, levelRequirement = 77, statInterpolation = {3, 3, 1},  cost = { }, },
        [34] = {0.5, 1.5, -58, 1000, critChance = 5, levelRequirement = 78, statInterpolation = {3, 3, 1},  cost = { }, },
        [35] = {0.5, 1.5, -60, 1000, critChance = 5, levelRequirement = 79, statInterpolation = {3, 3, 1},  cost = { }, },
        [36] = {0.5, 1.5, -62, 1000, critChance = 5, levelRequirement = 80, statInterpolation = {3, 3, 1},  cost = { }, },
        [37] = {0.5, 1.5, -64, 1000, critChance = 5, levelRequirement = 81, statInterpolation = {3, 3, 1},  cost = { }, },
        [38] = {0.5, 1.5, -66, 1000, critChance = 5, levelRequirement = 82, statInterpolation = {3, 3, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ExileContagion"] = {
    name = "Contagion",
    hidden = true,
    color = "3",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Unleashes a vile contagion on enemies, dealing chaos damage over time. If an enemy dies while affected by Contagion, the debuff spreads to other enemies.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Area] = true,
        [SkillType.Duration] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.DamageOverTime] = true,
        [SkillType.Chaos] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Mineable] = true,
        [SkillType.DegenOnlySpellDamage] = true,
        [SkillType.Cascadable] = true,
        [SkillType.CanRapidFire] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "debuff_skill_stat_descriptions",
    castTime = 0.85,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_chaos_damage_to_deal_per_minute",
        "base_skill_effect_duration",
        "active_skill_base_area_of_effect_radius",
        "is_area_damage",
        "spell_damage_modifiers_apply_to_skill_dot",
    },
    levels = {
        [1] = {1, 5000, 20, levelRequirement = 4, statInterpolation = {3},  cost = { }, },
        [2] = {1, 5000, 20, levelRequirement = 6, statInterpolation = {3},  cost = { }, },
        [3] = {1, 5000, 20, levelRequirement = 9, statInterpolation = {3},  cost = { }, },
        [4] = {1, 5000, 20, levelRequirement = 12, statInterpolation = {3},  cost = { }, },
        [5] = {1, 5000, 20, levelRequirement = 16, statInterpolation = {3},  cost = { }, },
        [6] = {1, 5000, 20, levelRequirement = 20, statInterpolation = {3},  cost = { }, },
        [7] = {1, 5000, 20, levelRequirement = 24, statInterpolation = {3},  cost = { }, },
        [8] = {1, 5000, 20, levelRequirement = 28, statInterpolation = {3},  cost = { }, },
        [9] = {1, 5000, 20, levelRequirement = 32, statInterpolation = {3},  cost = { }, },
        [10] = {1, 5000, 20, levelRequirement = 36, statInterpolation = {3},  cost = { }, },
        [11] = {1, 5000, 20, levelRequirement = 40, statInterpolation = {3},  cost = { }, },
        [12] = {1, 5000, 20, levelRequirement = 44, statInterpolation = {3},  cost = { }, },
        [13] = {1, 5000, 20, levelRequirement = 48, statInterpolation = {3},  cost = { }, },
        [14] = {1, 5000, 20, levelRequirement = 52, statInterpolation = {3},  cost = { }, },
        [15] = {1, 5000, 20, levelRequirement = 55, statInterpolation = {3},  cost = { }, },
        [16] = {1, 5000, 20, levelRequirement = 58, statInterpolation = {3},  cost = { }, },
        [17] = {1, 5000, 20, levelRequirement = 61, statInterpolation = {3},  cost = { }, },
        [18] = {1, 5000, 20, levelRequirement = 64, statInterpolation = {3},  cost = { }, },
        [19] = {1, 5000, 20, levelRequirement = 67, statInterpolation = {3},  cost = { }, },
        [20] = {1, 5000, 20, levelRequirement = 70, statInterpolation = {3},  cost = { }, },
        [21] = {1, 5000, 20, levelRequirement = 72, statInterpolation = {3},  cost = { }, },
        [22] = {1, 5000, 20, levelRequirement = 74, statInterpolation = {3},  cost = { }, },
        [23] = {1, 5000, 20, levelRequirement = 76, statInterpolation = {3},  cost = { }, },
        [24] = {1, 5000, 20, levelRequirement = 78, statInterpolation = {3},  cost = { }, },
        [25] = {1, 5000, 20, levelRequirement = 80, statInterpolation = {3},  cost = { }, },
        [26] = {1, 5000, 20, levelRequirement = 82, statInterpolation = {3},  cost = { }, },
        [27] = {1, 5000, 20, levelRequirement = 84, statInterpolation = {3},  cost = { }, },
        [28] = {1, 5000, 20, levelRequirement = 86, statInterpolation = {3},  cost = { }, },
        [29] = {1, 5000, 20, levelRequirement = 88, statInterpolation = {3},  cost = { }, },
        [30] = {1, 5000, 20, levelRequirement = 90, statInterpolation = {3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ExileShadowWitherTotem"] = {
    name = "Wither",
    hidden = true,
    color = "3",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Casts a debilitating effect on enemies in an area, Hindering their movement and applying a stacking Withered debuff that increases the Chaos Damage they take. This effect can stack up to 15 times.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Area] = true,
        [SkillType.Duration] = true,
        [SkillType.Totemable] = true,
        [SkillType.Chaos] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.28,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
        totem = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_movement_velocity_+%",
        "base_active_skill_totem_level",
        "chaos_damage_taken_+%",
        "base_skill_effect_duration",
        "base_secondary_skill_effect_duration",
        "base_totem_duration",
        "base_totem_range",
        "totem_art_variation",
        "is_totem",
        "base_skill_is_totemified",
    },
    levels = {
        [1] = {-20, 1, 5, 500, 8000, 12000, 45, 5, levelRequirement = 1, statInterpolation = {1, 1},  cost = { }, },
        [2] = {-20, 4, 5, 500, 8000, 12000, 45, 5, levelRequirement = 4, statInterpolation = {1, 1},  cost = { }, },
        [3] = {-20, 7, 5, 500, 8000, 12000, 45, 5, levelRequirement = 7, statInterpolation = {1, 1},  cost = { }, },
        [4] = {-20, 12, 5, 500, 8000, 12000, 45, 5, levelRequirement = 12, statInterpolation = {1, 1},  cost = { }, },
        [5] = {-21, 15, 5, 500, 8000, 12000, 45, 5, levelRequirement = 15, statInterpolation = {1, 1},  cost = { }, },
        [6] = {-21, 17, 5, 500, 8000, 12000, 45, 5, levelRequirement = 17, statInterpolation = {1, 1},  cost = { }, },
        [7] = {-21, 20, 5, 500, 8000, 12000, 45, 5, levelRequirement = 20, statInterpolation = {1, 1},  cost = { }, },
        [8] = {-21, 24, 5, 500, 8000, 12000, 45, 5, levelRequirement = 24, statInterpolation = {1, 1},  cost = { }, },
        [9] = {-22, 26, 5, 500, 8000, 12000, 45, 5, levelRequirement = 26, statInterpolation = {1, 1},  cost = { }, },
        [10] = {-22, 30, 5, 500, 8000, 12000, 45, 5, levelRequirement = 30, statInterpolation = {1, 1},  cost = { }, },
        [11] = {-22, 34, 5, 500, 8000, 12000, 45, 5, levelRequirement = 34, statInterpolation = {1, 1},  cost = { }, },
        [12] = {-22, 38, 5, 500, 8000, 12000, 45, 5, levelRequirement = 38, statInterpolation = {1, 1},  cost = { }, },
        [13] = {-23, 42, 5, 500, 8000, 12000, 45, 5, levelRequirement = 42, statInterpolation = {1, 1},  cost = { }, },
        [14] = {-23, 45, 5, 500, 8000, 12000, 45, 5, levelRequirement = 45, statInterpolation = {1, 1},  cost = { }, },
        [15] = {-23, 50, 5, 500, 8000, 12000, 45, 5, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
        [16] = {-23, 54, 5, 500, 8000, 12000, 45, 5, levelRequirement = 54, statInterpolation = {1, 1},  cost = { }, },
        [17] = {-24, 57, 5, 500, 8000, 12000, 45, 5, levelRequirement = 57, statInterpolation = {1, 1},  cost = { }, },
        [18] = {-24, 60, 5, 500, 8000, 12000, 45, 5, levelRequirement = 60, statInterpolation = {1, 1},  cost = { }, },
        [19] = {-24, 64, 5, 500, 8000, 12000, 45, 5, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
        [20] = {-24, 66, 5, 500, 8000, 12000, 45, 5, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
        [21] = {-25, 68, 5, 500, 8000, 12000, 45, 5, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
        [22] = {-25, 69, 5, 500, 8000, 12000, 45, 5, levelRequirement = 69, statInterpolation = {1, 1},  cost = { }, },
        [23] = {-25, 70, 5, 500, 8000, 12000, 45, 5, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
        [24] = {-25, 71, 5, 500, 8000, 12000, 45, 5, levelRequirement = 71, statInterpolation = {1, 1},  cost = { }, },
        [25] = {-26, 72, 5, 500, 8000, 12000, 45, 5, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
        [26] = {-26, 73, 5, 500, 8000, 12000, 45, 5, levelRequirement = 73, statInterpolation = {1, 1},  cost = { }, },
        [27] = {-26, 74, 5, 500, 8000, 12000, 45, 5, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
        [28] = {-26, 75, 5, 500, 8000, 12000, 45, 5, levelRequirement = 75, statInterpolation = {1, 1},  cost = { }, },
        [29] = {-27, 76, 5, 500, 8000, 12000, 45, 5, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
        [30] = {-27, 77, 5, 500, 8000, 12000, 45, 5, levelRequirement = 77, statInterpolation = {1, 1},  cost = { }, },
        [31] = {-27, 78, 5, 500, 8000, 12000, 45, 5, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
        [32] = {-27, 79, 5, 500, 8000, 12000, 45, 5, levelRequirement = 79, statInterpolation = {1, 1},  cost = { }, },
        [33] = {-28, 80, 5, 500, 8000, 12000, 45, 5, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
        [34] = {-28, 81, 5, 500, 8000, 12000, 45, 5, levelRequirement = 81, statInterpolation = {1, 1},  cost = { }, },
        [35] = {-28, 82, 5, 500, 8000, 12000, 45, 5, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ExileShadowEssenceDrain"] = {
    name = "Essence Drain",
    hidden = true,
    color = "3",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fires a projectile that applies a damage over time debuff when it hits. You are healed for a portion of the debuff damage. The debuff is spread by Contagion.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Duration] = true,
        [SkillType.Totemable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.DamageOverTime] = true,
        [SkillType.Chaos] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
        [SkillType.CanRapidFire] = true,
        [SkillType.Area] = true,
        [SkillType.AreaSpell] = true,
        [SkillType.Trappable] = true,
        [SkillType.Mineable] = true,
    },
    statDescriptionScope = "debuff_skill_stat_descriptions",
    castTime = 0.75,
    baseFlags = {
        area = true,
        spell = true,
        projectile = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_chaos_damage_to_deal_per_minute",
        "spell_minimum_base_chaos_damage",
        "spell_maximum_base_chaos_damage",
        "base_projectile_speed_+%",
        "base_skill_effect_duration",
        "number_of_additional_projectiles",
        "animation_effect_variation",
        "base_is_projectile",
    },
    levels = {
        [1] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 1, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [2] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 2, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [3] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 4, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [4] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 7, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [5] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 11, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [6] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 16, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [7] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 20, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [8] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 24, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [9] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 28, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [10] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 32, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [11] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 36, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [12] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 40, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [13] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 44, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [14] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 48, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [15] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 52, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [16] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 56, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [17] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 60, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [18] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 64, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [19] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 67, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [20] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 70, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [21] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 72, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [22] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 74, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [23] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 76, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [24] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 78, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [25] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 80, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [26] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 82, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [27] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 84, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [28] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 86, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [29] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 88, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        [30] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 90, statInterpolation = {3, 3, 3, 1},  cost = { }, },
    },
}
+3 to maximum number of Summoned Totems
IdMonsterAdditionalTotems3
FamilyAdditionalTotems
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
Stats
  • number of additional totems allowed Min: 3 Max: 3 Global
  • kill traps mines and totems on death [1]
    IdMonsterKillTrapsMinesTotemsOnDeath
    FamilyMonsterKillTrapsMinesTotemsOnDeath
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • kill traps mines and totems on death Min: 1 Max: 1 Global
  • 30% Chance to Block Attack Damage
    You take 15% of Damage from Blocked Hits
    IdMonsterAttackBlock30Bypass15
    FamilyMonsterBlockAndBypass
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster base block % Min: 30 Max: 30 Global
  • base block % damage taken Min: 15 Max: 15 Global
  • Craft Tagsblock
    Ulysses Morvant
    Humanoid
    +3 to maximum number of Summoned Totems
    kill traps mines and totems on death [1]
    30% Chance to Block Attack Damage
    You take 15% of Damage from Blocked Hits
    100% increased maximum Life
    100% increased Area of Effect
    80% increased Character Size
    SpectreN
    Tagscaster, chaos_affinity, exile, has_dagger, has_one_handed_melee, human, humanoid, light_armour, lightning_affinity, medium_height, medium_movement, not_str, red_blood, rogue_exile, slashing_weapon
    Life
    112%
    Energy Shield From Life
    60%
    Evasion
    +40%
    Ailment Threshold
    112%
    Resistance
    30 30 30 20
    Damage
    143%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 8
    Attack Time
    0.855 Second
    Damage Spread
    ±20%
    Experience
    220%
    Model Size
    100%
    Type
    ExileShadow5
    Metadata
    ExileShadow5Supporter
    Level
    68
    Life
    7,205
    Armour
    28,790
    Evasion
    6,635
    Energy Shield
    3,676
    Damage
    534
    Spell Damage
    534
    Accuracy
    290
    Attack Time
    0.855
    Experience
    22,561
    Ailment Threshold
    7,205
    Chill
    23
    Shock
    23
    Brittle
    129
    Scorch
    23
    Sap
    63
    ExileShadowEssenceDrain
    Spell, Projectile, ProjectilesFromUser, Duration, Totemable, Multicastable, DamageOverTime, Chaos, Damage, Triggerable, CanRapidFire, Area, AreaSpell, Trappable, Mineable
    Essence Drain
    Cast Time: 0.75 sec
    Fires a projectile that applies a damage over time debuff when it hits. You are healed for a portion of the debuff damage. The debuff is spread by Contagion.
    Deals 238.7 to 375.1 Chaos Damage
    Deals 227.3 Base Chaos Damage per second
    Base duration is 2.5 seconds
    Fires 2 additional Projectiles
    animation effect variation [1]
    base is projectile [1]
    ExileShadowWitherTotem
    Spell, Area, Duration, Totemable, Chaos, AreaSpell
    Wither
    Cast Time: 0.28 sec
    Cooldown Time: 2 sec
    Casts a debilitating effect on enemies in an area, Hindering their movement and applying a stacking Withered debuff that increases the Chaos Damage they take. This effect can stack up to 15 times.
    Totem lasts 12 seconds
    Base duration is 0.5 seconds
    Base secondary duration is 8 seconds
    Summons a Totem which uses this Skill
    25% reduced Movement Speed
    5% increased Chaos Damage taken
    base active skill totem level [68]
    base skill is totemified [1]
    base totem range [45]
    totem art variation [5]
    ExileLightningWarp
    Spell, Damage, Area, Duration, Trappable, Totemable, Mineable, Triggerable, Movement, Lightning, AreaSpell, Travel, Multicastable, CanRapidFire
    Lightning Warp
    Critical Strike Chance: 5%
    Cast Time: 1 sec
    Waits for a duration before teleporting to a targeted destination, with the duration based on the distance and your movement speed. When the teleport occurs, lightning damage is dealt to the area around both where the player was and where they teleported to. Casting again will queue up multiple teleportations to occur in sequence.
    Deals 551 to 1653 Lightning Damage
    38% reduced Duration
    base skill show average damage instead of dps [1]
    is area damage [1]
    skill override pvp scaling time ms [1000]
    ExileContagion
    Spell, Area, Duration, Trappable, Totemable, DamageOverTime, Chaos, Multicastable, Triggerable, Mineable, DegenOnlySpellDamage, Cascadable, CanRapidFire, AreaSpell
    Contagion
    Cast Time: 0.85 sec
    Cooldown Time: 5 sec
    Unleashes a vile contagion on enemies, dealing chaos damage over time. If an enemy dies while affected by Contagion, the debuff spreads to other enemies.
    Deals 67.9 Base Chaos Damage per second
    Base duration is 5 seconds
    Modifiers to Spell Damage apply to this Skill's Damage Over Time effect
    Base radius is 2 metres
    is area damage [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Exiles/Exile"
    
    Stats
    {
    	set_base_mana_cost_-% = 0
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Exiles/Exile"
    
    BaseEvents 
    { 
    	on_construction_complete = "AddEffectPack( Metadata/Effects/Microtransactions/BodyArmours/ArcaneArmour/ArcaneArmourBody.epk );"
    } 
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Exiles/ExileShadow5Supporter"] = {
        name = "Ulysses Morvant",
        life = 1.12,
        energyShield = 0.6,
        fireResist = 30,
        coldResist = 30,
        lightningResist = 30,
        chaosResist = 20,
        damage = 1.43,
        damageSpread = 0.2,
        attackTime = 0.855,
        attackRange = 8,
        accuracy = 1,
        weaponType1 = "Dagger",
        weaponType2 = "Shield",
        skillList = {
            "ExileLightningWarp",
            "ExileContagion",
            "ExileShadowWitherTotem",
            "ExileShadowEssenceDrain",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileLightningWarp"] = {
        name = "Lightning Warp",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Waits for a duration before teleporting to a targeted destination, with the duration based on the distance and your movement speed. When the teleport occurs, lightning damage is dealt to the area around both where the player was and where they teleported to. Casting again will queue up multiple teleportations to occur in sequence.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Movement] = true,
            [SkillType.Lightning] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.Travel] = true,
            [SkillType.Multicastable] = true,
            [SkillType.CanRapidFire] = true,
        },
        statDescriptionScope = "variable_duration_skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_lightning_damage",
            "spell_maximum_base_lightning_damage",
            "skill_effect_duration_+%",
            "skill_override_pvp_scaling_time_ms",
            "base_skill_show_average_damage_instead_of_dps",
            "is_area_damage",
        },
        levels = {
            [1] = {0.5, 1.5, 0, 1000, critChance = 5, levelRequirement = 2, statInterpolation = {3, 3, 1},  cost = { }, },
            [2] = {0.5, 1.5, -2, 1000, critChance = 5, levelRequirement = 4, statInterpolation = {3, 3, 1},  cost = { }, },
            [3] = {0.5, 1.5, -4, 1000, critChance = 5, levelRequirement = 6, statInterpolation = {3, 3, 1},  cost = { }, },
            [4] = {0.5, 1.5, -6, 1000, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3, 1},  cost = { }, },
            [5] = {0.5, 1.5, -8, 1000, critChance = 5, levelRequirement = 10, statInterpolation = {3, 3, 1},  cost = { }, },
            [6] = {0.5, 1.5, -10, 1000, critChance = 5, levelRequirement = 12, statInterpolation = {3, 3, 1},  cost = { }, },
            [7] = {0.5, 1.5, -12, 1000, critChance = 5, levelRequirement = 14, statInterpolation = {3, 3, 1},  cost = { }, },
            [8] = {0.5, 1.5, -14, 1000, critChance = 5, levelRequirement = 16, statInterpolation = {3, 3, 1},  cost = { }, },
            [9] = {0.5, 1.5, -16, 1000, critChance = 5, levelRequirement = 18, statInterpolation = {3, 3, 1},  cost = { }, },
            [10] = {0.5, 1.5, -18, 1000, critChance = 5, levelRequirement = 20, statInterpolation = {3, 3, 1},  cost = { }, },
            [11] = {0.5, 1.5, -20, 1000, critChance = 5, levelRequirement = 24, statInterpolation = {3, 3, 1},  cost = { }, },
            [12] = {0.5, 1.5, -22, 1000, critChance = 5, levelRequirement = 28, statInterpolation = {3, 3, 1},  cost = { }, },
            [13] = {0.5, 1.5, -24, 1000, critChance = 5, levelRequirement = 29, statInterpolation = {3, 3, 1},  cost = { }, },
            [14] = {0.5, 1.5, -25, 1000, critChance = 5, levelRequirement = 34, statInterpolation = {3, 3, 1},  cost = { }, },
            [15] = {0.5, 1.5, -26, 1000, critChance = 5, levelRequirement = 38, statInterpolation = {3, 3, 1},  cost = { }, },
            [16] = {0.5, 1.5, -27, 1000, critChance = 5, levelRequirement = 43, statInterpolation = {3, 3, 1},  cost = { }, },
            [17] = {0.5, 1.5, -28, 1000, critChance = 5, levelRequirement = 48, statInterpolation = {3, 3, 1},  cost = { }, },
            [18] = {0.5, 1.5, -29, 1000, critChance = 5, levelRequirement = 52, statInterpolation = {3, 3, 1},  cost = { }, },
            [19] = {0.5, 1.5, -30, 1000, critChance = 5, levelRequirement = 56, statInterpolation = {3, 3, 1},  cost = { }, },
            [20] = {0.5, 1.5, -31, 1000, critChance = 5, levelRequirement = 60, statInterpolation = {3, 3, 1},  cost = { }, },
            [21] = {0.5, 1.5, -32, 1000, critChance = 5, levelRequirement = 64, statInterpolation = {3, 3, 1},  cost = { }, },
            [22] = {0.5, 1.5, -34, 1000, critChance = 5, levelRequirement = 66, statInterpolation = {3, 3, 1},  cost = { }, },
            [23] = {0.5, 1.5, -36, 1000, critChance = 5, levelRequirement = 67, statInterpolation = {3, 3, 1},  cost = { }, },
            [24] = {0.5, 1.5, -38, 1000, critChance = 5, levelRequirement = 68, statInterpolation = {3, 3, 1},  cost = { }, },
            [25] = {0.5, 1.5, -40, 1000, critChance = 5, levelRequirement = 69, statInterpolation = {3, 3, 1},  cost = { }, },
            [26] = {0.5, 1.5, -42, 1000, critChance = 5, levelRequirement = 70, statInterpolation = {3, 3, 1},  cost = { }, },
            [27] = {0.5, 1.5, -44, 1000, critChance = 5, levelRequirement = 71, statInterpolation = {3, 3, 1},  cost = { }, },
            [28] = {0.5, 1.5, -46, 1000, critChance = 5, levelRequirement = 72, statInterpolation = {3, 3, 1},  cost = { }, },
            [29] = {0.5, 1.5, -48, 1000, critChance = 5, levelRequirement = 73, statInterpolation = {3, 3, 1},  cost = { }, },
            [30] = {0.5, 1.5, -50, 1000, critChance = 5, levelRequirement = 74, statInterpolation = {3, 3, 1},  cost = { }, },
            [31] = {0.5, 1.5, -52, 1000, critChance = 5, levelRequirement = 75, statInterpolation = {3, 3, 1},  cost = { }, },
            [32] = {0.5, 1.5, -54, 1000, critChance = 5, levelRequirement = 76, statInterpolation = {3, 3, 1},  cost = { }, },
            [33] = {0.5, 1.5, -56, 1000, critChance = 5, levelRequirement = 77, statInterpolation = {3, 3, 1},  cost = { }, },
            [34] = {0.5, 1.5, -58, 1000, critChance = 5, levelRequirement = 78, statInterpolation = {3, 3, 1},  cost = { }, },
            [35] = {0.5, 1.5, -60, 1000, critChance = 5, levelRequirement = 79, statInterpolation = {3, 3, 1},  cost = { }, },
            [36] = {0.5, 1.5, -62, 1000, critChance = 5, levelRequirement = 80, statInterpolation = {3, 3, 1},  cost = { }, },
            [37] = {0.5, 1.5, -64, 1000, critChance = 5, levelRequirement = 81, statInterpolation = {3, 3, 1},  cost = { }, },
            [38] = {0.5, 1.5, -66, 1000, critChance = 5, levelRequirement = 82, statInterpolation = {3, 3, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileContagion"] = {
        name = "Contagion",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Unleashes a vile contagion on enemies, dealing chaos damage over time. If an enemy dies while affected by Contagion, the debuff spreads to other enemies.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.DamageOverTime] = true,
            [SkillType.Chaos] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Mineable] = true,
            [SkillType.DegenOnlySpellDamage] = true,
            [SkillType.Cascadable] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "debuff_skill_stat_descriptions",
        castTime = 0.85,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_chaos_damage_to_deal_per_minute",
            "base_skill_effect_duration",
            "active_skill_base_area_of_effect_radius",
            "is_area_damage",
            "spell_damage_modifiers_apply_to_skill_dot",
        },
        levels = {
            [1] = {1, 5000, 20, levelRequirement = 4, statInterpolation = {3},  cost = { }, },
            [2] = {1, 5000, 20, levelRequirement = 6, statInterpolation = {3},  cost = { }, },
            [3] = {1, 5000, 20, levelRequirement = 9, statInterpolation = {3},  cost = { }, },
            [4] = {1, 5000, 20, levelRequirement = 12, statInterpolation = {3},  cost = { }, },
            [5] = {1, 5000, 20, levelRequirement = 16, statInterpolation = {3},  cost = { }, },
            [6] = {1, 5000, 20, levelRequirement = 20, statInterpolation = {3},  cost = { }, },
            [7] = {1, 5000, 20, levelRequirement = 24, statInterpolation = {3},  cost = { }, },
            [8] = {1, 5000, 20, levelRequirement = 28, statInterpolation = {3},  cost = { }, },
            [9] = {1, 5000, 20, levelRequirement = 32, statInterpolation = {3},  cost = { }, },
            [10] = {1, 5000, 20, levelRequirement = 36, statInterpolation = {3},  cost = { }, },
            [11] = {1, 5000, 20, levelRequirement = 40, statInterpolation = {3},  cost = { }, },
            [12] = {1, 5000, 20, levelRequirement = 44, statInterpolation = {3},  cost = { }, },
            [13] = {1, 5000, 20, levelRequirement = 48, statInterpolation = {3},  cost = { }, },
            [14] = {1, 5000, 20, levelRequirement = 52, statInterpolation = {3},  cost = { }, },
            [15] = {1, 5000, 20, levelRequirement = 55, statInterpolation = {3},  cost = { }, },
            [16] = {1, 5000, 20, levelRequirement = 58, statInterpolation = {3},  cost = { }, },
            [17] = {1, 5000, 20, levelRequirement = 61, statInterpolation = {3},  cost = { }, },
            [18] = {1, 5000, 20, levelRequirement = 64, statInterpolation = {3},  cost = { }, },
            [19] = {1, 5000, 20, levelRequirement = 67, statInterpolation = {3},  cost = { }, },
            [20] = {1, 5000, 20, levelRequirement = 70, statInterpolation = {3},  cost = { }, },
            [21] = {1, 5000, 20, levelRequirement = 72, statInterpolation = {3},  cost = { }, },
            [22] = {1, 5000, 20, levelRequirement = 74, statInterpolation = {3},  cost = { }, },
            [23] = {1, 5000, 20, levelRequirement = 76, statInterpolation = {3},  cost = { }, },
            [24] = {1, 5000, 20, levelRequirement = 78, statInterpolation = {3},  cost = { }, },
            [25] = {1, 5000, 20, levelRequirement = 80, statInterpolation = {3},  cost = { }, },
            [26] = {1, 5000, 20, levelRequirement = 82, statInterpolation = {3},  cost = { }, },
            [27] = {1, 5000, 20, levelRequirement = 84, statInterpolation = {3},  cost = { }, },
            [28] = {1, 5000, 20, levelRequirement = 86, statInterpolation = {3},  cost = { }, },
            [29] = {1, 5000, 20, levelRequirement = 88, statInterpolation = {3},  cost = { }, },
            [30] = {1, 5000, 20, levelRequirement = 90, statInterpolation = {3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileShadowWitherTotem"] = {
        name = "Wither",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Casts a debilitating effect on enemies in an area, Hindering their movement and applying a stacking Withered debuff that increases the Chaos Damage they take. This effect can stack up to 15 times.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Totemable] = true,
            [SkillType.Chaos] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 0.28,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
            totem = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_movement_velocity_+%",
            "base_active_skill_totem_level",
            "chaos_damage_taken_+%",
            "base_skill_effect_duration",
            "base_secondary_skill_effect_duration",
            "base_totem_duration",
            "base_totem_range",
            "totem_art_variation",
            "is_totem",
            "base_skill_is_totemified",
        },
        levels = {
            [1] = {-20, 1, 5, 500, 8000, 12000, 45, 5, levelRequirement = 1, statInterpolation = {1, 1},  cost = { }, },
            [2] = {-20, 4, 5, 500, 8000, 12000, 45, 5, levelRequirement = 4, statInterpolation = {1, 1},  cost = { }, },
            [3] = {-20, 7, 5, 500, 8000, 12000, 45, 5, levelRequirement = 7, statInterpolation = {1, 1},  cost = { }, },
            [4] = {-20, 12, 5, 500, 8000, 12000, 45, 5, levelRequirement = 12, statInterpolation = {1, 1},  cost = { }, },
            [5] = {-21, 15, 5, 500, 8000, 12000, 45, 5, levelRequirement = 15, statInterpolation = {1, 1},  cost = { }, },
            [6] = {-21, 17, 5, 500, 8000, 12000, 45, 5, levelRequirement = 17, statInterpolation = {1, 1},  cost = { }, },
            [7] = {-21, 20, 5, 500, 8000, 12000, 45, 5, levelRequirement = 20, statInterpolation = {1, 1},  cost = { }, },
            [8] = {-21, 24, 5, 500, 8000, 12000, 45, 5, levelRequirement = 24, statInterpolation = {1, 1},  cost = { }, },
            [9] = {-22, 26, 5, 500, 8000, 12000, 45, 5, levelRequirement = 26, statInterpolation = {1, 1},  cost = { }, },
            [10] = {-22, 30, 5, 500, 8000, 12000, 45, 5, levelRequirement = 30, statInterpolation = {1, 1},  cost = { }, },
            [11] = {-22, 34, 5, 500, 8000, 12000, 45, 5, levelRequirement = 34, statInterpolation = {1, 1},  cost = { }, },
            [12] = {-22, 38, 5, 500, 8000, 12000, 45, 5, levelRequirement = 38, statInterpolation = {1, 1},  cost = { }, },
            [13] = {-23, 42, 5, 500, 8000, 12000, 45, 5, levelRequirement = 42, statInterpolation = {1, 1},  cost = { }, },
            [14] = {-23, 45, 5, 500, 8000, 12000, 45, 5, levelRequirement = 45, statInterpolation = {1, 1},  cost = { }, },
            [15] = {-23, 50, 5, 500, 8000, 12000, 45, 5, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
            [16] = {-23, 54, 5, 500, 8000, 12000, 45, 5, levelRequirement = 54, statInterpolation = {1, 1},  cost = { }, },
            [17] = {-24, 57, 5, 500, 8000, 12000, 45, 5, levelRequirement = 57, statInterpolation = {1, 1},  cost = { }, },
            [18] = {-24, 60, 5, 500, 8000, 12000, 45, 5, levelRequirement = 60, statInterpolation = {1, 1},  cost = { }, },
            [19] = {-24, 64, 5, 500, 8000, 12000, 45, 5, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
            [20] = {-24, 66, 5, 500, 8000, 12000, 45, 5, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
            [21] = {-25, 68, 5, 500, 8000, 12000, 45, 5, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
            [22] = {-25, 69, 5, 500, 8000, 12000, 45, 5, levelRequirement = 69, statInterpolation = {1, 1},  cost = { }, },
            [23] = {-25, 70, 5, 500, 8000, 12000, 45, 5, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
            [24] = {-25, 71, 5, 500, 8000, 12000, 45, 5, levelRequirement = 71, statInterpolation = {1, 1},  cost = { }, },
            [25] = {-26, 72, 5, 500, 8000, 12000, 45, 5, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
            [26] = {-26, 73, 5, 500, 8000, 12000, 45, 5, levelRequirement = 73, statInterpolation = {1, 1},  cost = { }, },
            [27] = {-26, 74, 5, 500, 8000, 12000, 45, 5, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
            [28] = {-26, 75, 5, 500, 8000, 12000, 45, 5, levelRequirement = 75, statInterpolation = {1, 1},  cost = { }, },
            [29] = {-27, 76, 5, 500, 8000, 12000, 45, 5, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
            [30] = {-27, 77, 5, 500, 8000, 12000, 45, 5, levelRequirement = 77, statInterpolation = {1, 1},  cost = { }, },
            [31] = {-27, 78, 5, 500, 8000, 12000, 45, 5, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
            [32] = {-27, 79, 5, 500, 8000, 12000, 45, 5, levelRequirement = 79, statInterpolation = {1, 1},  cost = { }, },
            [33] = {-28, 80, 5, 500, 8000, 12000, 45, 5, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
            [34] = {-28, 81, 5, 500, 8000, 12000, 45, 5, levelRequirement = 81, statInterpolation = {1, 1},  cost = { }, },
            [35] = {-28, 82, 5, 500, 8000, 12000, 45, 5, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileShadowEssenceDrain"] = {
        name = "Essence Drain",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires a projectile that applies a damage over time debuff when it hits. You are healed for a portion of the debuff damage. The debuff is spread by Contagion.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Duration] = true,
            [SkillType.Totemable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.DamageOverTime] = true,
            [SkillType.Chaos] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.Area] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
        },
        statDescriptionScope = "debuff_skill_stat_descriptions",
        castTime = 0.75,
        baseFlags = {
            area = true,
            spell = true,
            projectile = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_chaos_damage_to_deal_per_minute",
            "spell_minimum_base_chaos_damage",
            "spell_maximum_base_chaos_damage",
            "base_projectile_speed_+%",
            "base_skill_effect_duration",
            "number_of_additional_projectiles",
            "animation_effect_variation",
            "base_is_projectile",
        },
        levels = {
            [1] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 1, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [2] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 2, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [3] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 4, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [4] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 7, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [5] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 11, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [6] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 16, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [7] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 20, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [8] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 24, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [9] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 28, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [10] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 32, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [11] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 36, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [12] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 40, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [13] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 44, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [14] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 48, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [15] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 52, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [16] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 56, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [17] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 60, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [18] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 64, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [19] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 67, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [20] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 0, 2500, 2, 1, levelRequirement = 70, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [21] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 72, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [22] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 74, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [23] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 76, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [24] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 78, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [25] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 80, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [26] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 82, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [27] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 84, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [28] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 86, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [29] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 88, statInterpolation = {3, 3, 3, 1},  cost = { }, },
            [30] = {2.4000000953674, 0.69999998807907, 1.1000000238419, 15, 2500, 2, 1, levelRequirement = 90, statInterpolation = {3, 3, 3, 1},  cost = { }, },
        },
    }
    
    +3 to maximum number of Summoned Totems
    IdMonsterAdditionalTotems3
    FamilyAdditionalTotems
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • number of additional totems allowed Min: 3 Max: 3 Global
  • kill traps mines and totems on death [1]
    IdMonsterKillTrapsMinesTotemsOnDeath
    FamilyMonsterKillTrapsMinesTotemsOnDeath
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • kill traps mines and totems on death Min: 1 Max: 1 Global
  • 30% Chance to Block Attack Damage
    You take 15% of Damage from Blocked Hits
    IdMonsterAttackBlock30Bypass15
    FamilyMonsterBlockAndBypass
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster base block % Min: 30 Max: 30 Global
  • base block % damage taken Min: 15 Max: 15 Global
  • Craft Tagsblock
    100% increased maximum Life
    100% increased Area of Effect
    80% increased Character Size
    IdMonsterSupporterGigantism1
    FamilyMonsterSupporterGigantism
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • maximum life +% Min: 100 Max: 100 Global
  • base actor scale +% Min: 80 Max: 80 Global
  • base skill area of effect +% Min: 100 Max: 100 Global