Orra Greengate
Humanoid
monster base type attack cast speed +% and damage -% final [33]
20% increased Attack Speed
SpectreN
Tagscold_affinity, cursing_monster, female_rogue_exile, has_bow, human, humanoid, light_armour, medium_height, medium_movement, not_int, not_str, physical_affinity, puncturing_weapon, ranged, red_blood, rogue_exile
Packs
  • Orra Greengate, Jonah Unchained, Torr Olgosso, Minara Anemina, Ion Darkshroud
  • Life
    112%
    Evasion
    +100%
    Ailment Threshold
    112%
    Resistance
    30 30 30 20
    Damage
    143%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 80
    Attack Time
    1.605 Second
    Damage Spread
    ±20%
    Experience
    220%
    Model Size
    100%
    Type
    ExileRanger1
    Metadata
    ExileRanger1
    Level
    68
    Life
    7,205
    Armour
    28,790
    Evasion Rating
    9,478
    Damage
    534
    Spell Damage
    534
    Accuracy
    580
    Attack Time
    1.605
    Experience
    22,561
    Minion Life
    1,563
    Minion Damage
    427
    Ailment Threshold
    7,205
    Chill
    23
    Shock
    23
    Brittle
    129
    Scorch
    23
    Sap
    63
    Melee
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Default Attack
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Strike your foes down with a powerful blow.
    skill can fire arrows [1]
    skill can fire wand projectiles [1]
    ExileVulnerability
    Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, AppliesCurse, CanRapidFire, AreaSpell, Physical, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Hex
    Vulnerability
    Cast Time: 0.5 sec
    Cooldown Time: 8 sec
    Curse all targets in an area, causing them to take increased physical damage. Attacks against the cursed enemies have a chance to inflict bleeding.
    Base duration is 11.99 seconds
    Cursed enemies take 34% increased Physical Damage
    Attack Hits against Cursed Enemies have 25% chance to inflict Bleeding
    active skill area of effect radius +% final [38]
    ExileRainOfArrows
    Attack, RangedAttack, MirageArcherCanUse, Area, ProjectileSpeed, Totemable, Trappable, Mineable, Triggerable, Rain
    Rain of Arrows
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Fires a large number of arrows into the air, to land at the target after a short delay.
    Gain 18% of Physical Damage as Extra Cold Damage
    Deals 30% less Damage
    19% increased Attack Speed
    18% increased Projectile Speed
    active skill area of effect radius +% final [21]
    animation effect variation [1]
    base is projectile [1]
    is area damage [1]
    spell maximum action distance +% [-35]
    ExileHatred
    Spell, Area, Buff, HasReservation, TotemCastsAlone, Totemable, Aura, Cold, Instant, AreaSpell, CanHaveBlessing, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Cooldown
    Hatred
    Cast Time: 1.2 sec
    Cooldown Time: 0.5 sec
    Casts an aura that grants extra cold damage based on physical damage to you and your allies.
    You and nearby allies gain 36% of Physical Damage as Extra Cold Damage
    active skill area of effect radius +% final [40]
    ExileFrenzy
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable, MeleeSingleTarget, Multistrikeable, Melee, Triggerable
    Frenzy
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Performs an attack that gives the character a frenzy charge if it hits. Frenzy charges increase your attack speed.
    Deals 28% less Damage
    Deals 10% more Physical Damage
    10% increased Physical Damage per Frenzy Charge
    Fires 2 additional Projectiles
    10% increased Attack Speed per Frenzy Charge
    skill can fire arrows [1]
    ExileVaalRainOfArrows
    Attack, RangedAttack, Area, ProjectileSpeed, Totemable, Trappable, Mineable, Duration, Vaal, Rain
    Vaal Rain of Arrows
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Fires a large number of arrows into the air, to land at the target after a short delay. Enemies hit by the arrows are pinned in place, unable to move for a time.
    Gain 18% of Physical Damage as Extra Cold Damage
    Deals 30% less Damage
    Base duration is 4.4 seconds
    19% increased Attack Speed
    18% increased Projectile Speed
    active skill area of effect radius +% final [21]
    base is projectile [1]
    is area damage [1]
    rain of arrows pin [1]
    spell maximum action distance +% [-35]
    ExileBarrage
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable
    Barrage
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Cooldown Time: 4 sec
    After a short preparation time, you fire individual projectiles repeatedly with a Bow or Wand. These projectiles have a small randomised spread. This skill cannot be Triggered.
    Deals 60% less Damage
    Fires 3 additional Projectiles
    45% increased Physical Damage
    Fires Projectiles sequentially
    29% more Attack Speed
    monster reverse point blank damage -% at minimum range [30]
    skill can fire arrows [1]
    skill can fire wand projectiles [1]

    Object Type

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

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Exiles/Exile"
    
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Exiles/ExileRanger1"] = {
        name = "Orra Greengate",
        life = 1.12,
        fireResist = 30,
        coldResist = 30,
        lightningResist = 30,
        chaosResist = 20,
        damage = 1.43,
        damageSpread = 0.2,
        attackTime = 1.605,
        attackRange = 80,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "ExileFrenzy",
            "Melee",
            "ExileVulnerability",
            "ExileRainOfArrows",
            "ExileVaalRainOfArrows",
            "ExileHatred",
            "ExileBarrage",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileFrenzy"] = {
        name = "Frenzy",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Performs an attack that gives the character a frenzy charge if it hits. Frenzy charges increase your attack speed.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_+%_per_frenzy_charge",
            "base_attack_speed_+%_per_frenzy_charge",
            "active_skill_physical_damage_+%_final",
            "skill_can_fire_arrows",
        },
        levels = {
            [1] = {10, 10, 10, levelRequirement = 30, statInterpolation = {},  cost = { }, },
            [2] = {0, 2, -20, 10, 10, 10, levelRequirement = 50, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {0, 2, -28, 10, 10, 10, levelRequirement = 65, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {0, 2, -36, 10, 10, 10, levelRequirement = 75, statInterpolation = {1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["Melee"] = {
        name = "Default Attack",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Strike your foes down with a powerful blow.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileVulnerability"] = {
        name = "Vulnerability",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Curse all targets in an area, causing them to take increased physical damage. Attacks against the cursed enemies have a chance to inflict bleeding.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Cascadable] = true,
            [SkillType.AppliesCurse] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.Physical] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Hex] = true,
        },
        statDescriptionScope = "curse_skill_stat_descriptions",
        castTime = 0.5,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_skill_effect_duration",
            "physical_damage_taken_+%",
            "receive_bleeding_chance_%_when_hit_by_attack",
        },
        levels = {
            [1] = {9900, 25, 25, levelRequirement = 24, statInterpolation = {1, 1},  cost = { }, },
            [2] = {10010, 25, 2, 25, levelRequirement = 27, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {10120, 26, 4, 25, levelRequirement = 30, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {10230, 26, 6, 25, levelRequirement = 33, statInterpolation = {1, 1, 1},  cost = { }, },
            [5] = {10340, 27, 8, 25, levelRequirement = 35, statInterpolation = {1, 1, 1},  cost = { }, },
            [6] = {10450, 27, 10, 25, levelRequirement = 38, statInterpolation = {1, 1, 1},  cost = { }, },
            [7] = {10560, 28, 12, 25, levelRequirement = 40, statInterpolation = {1, 1, 1},  cost = { }, },
            [8] = {10670, 28, 14, 25, levelRequirement = 43, statInterpolation = {1, 1, 1},  cost = { }, },
            [9] = {10780, 29, 16, 25, levelRequirement = 46, statInterpolation = {1, 1, 1},  cost = { }, },
            [10] = {10890, 29, 18, 25, levelRequirement = 48, statInterpolation = {1, 1, 1},  cost = { }, },
            [11] = {11000, 30, 20, 25, levelRequirement = 50, statInterpolation = {1, 1, 1},  cost = { }, },
            [12] = {11110, 30, 22, 25, levelRequirement = 52, statInterpolation = {1, 1, 1},  cost = { }, },
            [13] = {11220, 31, 24, 25, levelRequirement = 54, statInterpolation = {1, 1, 1},  cost = { }, },
            [14] = {11330, 31, 26, 25, levelRequirement = 56, statInterpolation = {1, 1, 1},  cost = { }, },
            [15] = {11440, 32, 28, 25, levelRequirement = 58, statInterpolation = {1, 1, 1},  cost = { }, },
            [16] = {11550, 32, 30, 25, levelRequirement = 60, statInterpolation = {1, 1, 1},  cost = { }, },
            [17] = {11660, 33, 32, 25, levelRequirement = 62, statInterpolation = {1, 1, 1},  cost = { }, },
            [18] = {11770, 33, 34, 25, levelRequirement = 64, statInterpolation = {1, 1, 1},  cost = { }, },
            [19] = {11880, 34, 36, 25, levelRequirement = 66, statInterpolation = {1, 1, 1},  cost = { }, },
            [20] = {11990, 34, 38, 25, levelRequirement = 68, statInterpolation = {1, 1, 1},  cost = { }, },
            [21] = {12100, 35, 40, 25, levelRequirement = 70, statInterpolation = {1, 1, 1},  cost = { }, },
            [22] = {12210, 35, 42, 25, levelRequirement = 72, statInterpolation = {1, 1, 1},  cost = { }, },
            [23] = {12320, 36, 44, 25, levelRequirement = 74, statInterpolation = {1, 1, 1},  cost = { }, },
            [24] = {12430, 36, 46, 25, levelRequirement = 76, statInterpolation = {1, 1, 1},  cost = { }, },
            [25] = {12540, 37, 48, 25, levelRequirement = 78, statInterpolation = {1, 1, 1},  cost = { }, },
            [26] = {12650, 37, 50, 25, levelRequirement = 80, statInterpolation = {1, 1, 1},  cost = { }, },
            [27] = {12760, 38, 52, 25, levelRequirement = 82, statInterpolation = {1, 1, 1},  cost = { }, },
            [28] = {12870, 38, 54, 25, levelRequirement = 84, statInterpolation = {1, 1, 1},  cost = { }, },
            [29] = {12980, 39, 56, 25, levelRequirement = 86, statInterpolation = {1, 1, 1},  cost = { }, },
            [30] = {13090, 39, 58, 25, levelRequirement = 88, statInterpolation = {1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileRainOfArrows"] = {
        name = "Rain of Arrows",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires a large number of arrows into the air, to land at the target after a short delay.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Area] = true,
            [SkillType.ProjectileSpeed] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Rain] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_damage_+%_final",
            "animation_effect_variation",
            "spell_maximum_action_distance_+%",
            "is_area_damage",
            "base_is_projectile",
        },
        levels = {
            [1] = {-20, 1, -35, levelRequirement = 2, statInterpolation = {1},  cost = { }, },
            [2] = {-20, 1, 1, -35, levelRequirement = 4, statInterpolation = {1, 1},  cost = { }, },
            [3] = {-20, 2, 1, -35, levelRequirement = 6, statInterpolation = {1, 1},  cost = { }, },
            [4] = {-20, 3, 1, -35, levelRequirement = 9, statInterpolation = {1, 1},  cost = { }, },
            [5] = {-20, 10, 4, 1, -35, levelRequirement = 12, statInterpolation = {1, 1, 1},  cost = { }, },
            [6] = {-20, 10, 5, 1, -35, levelRequirement = 15, statInterpolation = {1, 1, 1},  cost = { }, },
            [7] = {-20, 11, 6, 1, -35, levelRequirement = 19, statInterpolation = {1, 1, 1},  cost = { }, },
            [8] = {-20, 11, 15, 7, 1, -35, levelRequirement = 23, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [9] = {-20, 12, 15, 8, 1, -35, levelRequirement = 28, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [10] = {-20, 12, 15, 9, 1, -35, levelRequirement = 33, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [11] = {-25, 13, 15, 10, 10, 1, -35, levelRequirement = 39, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [12] = {-25, 13, 15, 10, 11, 1, -35, levelRequirement = 43, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [13] = {-25, 14, 16, 11, 12, 1, -35, levelRequirement = 46, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [14] = {-25, 14, 16, 12, 13, 1, -35, levelRequirement = 49, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [15] = {-30, 15, 16, 13, 14, 1, -35, levelRequirement = 52, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [16] = {-30, 15, 16, 14, 15, 1, -35, levelRequirement = 55, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [17] = {-30, 16, 17, 15, 16, 1, -35, levelRequirement = 58, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [18] = {-30, 16, 17, 16, 17, 1, -35, levelRequirement = 61, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [19] = {-30, 17, 17, 17, 18, 1, -35, levelRequirement = 64, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [20] = {-30, 17, 17, 18, 19, 1, -35, levelRequirement = 66, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [21] = {-30, 18, 18, 19, 20, 1, -35, levelRequirement = 67, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [22] = {-30, 18, 18, 19, 21, 1, -35, levelRequirement = 68, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [23] = {-30, 19, 18, 20, 22, 1, -35, levelRequirement = 69, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [24] = {-30, 19, 18, 20, 23, 1, -35, levelRequirement = 70, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [25] = {-30, 20, 18, 21, 24, 1, -35, levelRequirement = 71, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [26] = {-30, 20, 18, 21, 25, 1, -35, levelRequirement = 72, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [27] = {-30, 21, 18, 22, 26, 1, -35, levelRequirement = 73, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [28] = {-30, 21, 18, 22, 27, 1, -35, levelRequirement = 74, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [29] = {-30, 22, 19, 23, 28, 1, -35, levelRequirement = 75, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [30] = {-30, 22, 19, 23, 29, 1, -35, levelRequirement = 76, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [31] = {-30, 23, 19, 24, 30, 1, -35, levelRequirement = 77, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [32] = {-30, 23, 19, 24, 31, 1, -35, levelRequirement = 78, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [33] = {-30, 24, 19, 25, 32, 1, -35, levelRequirement = 79, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [34] = {-30, 24, 19, 25, 33, 1, -35, levelRequirement = 80, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [35] = {-30, 25, 19, 26, 34, 1, -35, levelRequirement = 81, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [36] = {-30, 25, 19, 26, 35, 1, -35, levelRequirement = 82, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileVaalRainOfArrows"] = {
        name = "Vaal Rain of Arrows",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires a large number of arrows into the air, to land at the target after a short delay. Enemies hit by the arrows are pinned in place, unable to move for a time.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Area] = true,
            [SkillType.ProjectileSpeed] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Duration] = true,
            [SkillType.Vaal] = true,
            [SkillType.Rain] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            duration = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_damage_+%_final",
            "base_skill_effect_duration",
            "spell_maximum_action_distance_+%",
            "base_is_projectile",
            "is_area_damage",
            "rain_of_arrows_pin",
        },
        levels = {
            [1] = {-20, 3400, -35, levelRequirement = 2, statInterpolation = {1, 1},  cost = { }, },
            [2] = {-20, 3450, 1, -35, levelRequirement = 4, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {-20, 3500, 2, -35, levelRequirement = 6, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {-20, 3550, 3, -35, levelRequirement = 9, statInterpolation = {1, 1, 1},  cost = { }, },
            [5] = {-20, 3600, 10, 4, -35, levelRequirement = 12, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [6] = {-20, 3650, 10, 5, -35, levelRequirement = 15, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [7] = {-20, 3700, 11, 6, -35, levelRequirement = 19, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [8] = {-20, 3750, 11, 15, 7, -35, levelRequirement = 23, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [9] = {-20, 3800, 12, 15, 8, -35, levelRequirement = 28, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [10] = {-20, 3850, 12, 15, 9, -35, levelRequirement = 33, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [11] = {-25, 3900, 13, 15, 10, 10, -35, levelRequirement = 39, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [12] = {-25, 3950, 13, 15, 10, 11, -35, levelRequirement = 43, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [13] = {-25, 4000, 14, 16, 11, 12, -35, levelRequirement = 46, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [14] = {-25, 4050, 14, 16, 12, 13, -35, levelRequirement = 49, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [15] = {-30, 4100, 15, 16, 13, 14, -35, levelRequirement = 52, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [16] = {-30, 4150, 15, 16, 14, 15, -35, levelRequirement = 55, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [17] = {-30, 4200, 16, 17, 15, 16, -35, levelRequirement = 58, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [18] = {-30, 4250, 16, 17, 16, 17, -35, levelRequirement = 61, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [19] = {-30, 4300, 17, 17, 17, 18, -35, levelRequirement = 64, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [20] = {-30, 4350, 17, 17, 18, 19, -35, levelRequirement = 66, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [21] = {-30, 4375, 18, 18, 19, 20, -35, levelRequirement = 67, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [22] = {-30, 4400, 18, 18, 19, 21, -35, levelRequirement = 68, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [23] = {-30, 4425, 19, 18, 20, 22, -35, levelRequirement = 69, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [24] = {-30, 4450, 19, 18, 20, 23, -35, levelRequirement = 70, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [25] = {-30, 4475, 20, 18, 21, 24, -35, levelRequirement = 71, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [26] = {-30, 4500, 20, 18, 21, 25, -35, levelRequirement = 72, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [27] = {-30, 4525, 21, 18, 22, 26, -35, levelRequirement = 73, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [28] = {-30, 4550, 21, 18, 22, 27, -35, levelRequirement = 74, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [29] = {-30, 4575, 22, 19, 23, 28, -35, levelRequirement = 75, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [30] = {-30, 4600, 23, 19, 23, 29, -35, levelRequirement = 76, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [31] = {-30, 4625, 23, 19, 24, 30, -35, levelRequirement = 77, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [32] = {-30, 4650, 24, 19, 24, 31, -35, levelRequirement = 78, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [33] = {-30, 4675, 24, 19, 25, 32, -35, levelRequirement = 79, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [34] = {-30, 4700, 25, 19, 25, 33, -35, levelRequirement = 80, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [35] = {-30, 4725, 25, 19, 26, 34, -35, levelRequirement = 81, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [36] = {-30, 4750, 26, 19, 26, 35, -35, levelRequirement = 82, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileHatred"] = {
        name = "Hatred",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Casts an aura that grants extra cold damage based on physical damage to you and your allies.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Buff] = true,
            [SkillType.HasReservation] = true,
            [SkillType.TotemCastsAlone] = true,
            [SkillType.Totemable] = true,
            [SkillType.Aura] = true,
            [SkillType.Cold] = true,
            [SkillType.Instant] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.CanHaveBlessing] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Cooldown] = true,
        },
        statDescriptionScope = "aura_skill_stat_descriptions",
        castTime = 1.2,
        baseFlags = {
            area = true,
            spell = true,
            aura = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_%_to_add_as_cold",
        },
        levels = {
            [1] = {26, levelRequirement = 10, statInterpolation = {1},  cost = { }, },
            [2] = {26, 3, levelRequirement = 13, statInterpolation = {1, 1},  cost = { }, },
            [3] = {27, 6, levelRequirement = 16, statInterpolation = {1, 1},  cost = { }, },
            [4] = {27, 9, levelRequirement = 19, statInterpolation = {1, 1},  cost = { }, },
            [5] = {28, 12, levelRequirement = 22, statInterpolation = {1, 1},  cost = { }, },
            [6] = {28, 15, levelRequirement = 25, statInterpolation = {1, 1},  cost = { }, },
            [7] = {29, 18, levelRequirement = 28, statInterpolation = {1, 1},  cost = { }, },
            [8] = {29, 21, levelRequirement = 32, statInterpolation = {1, 1},  cost = { }, },
            [9] = {30, 23, levelRequirement = 36, statInterpolation = {1, 1},  cost = { }, },
            [10] = {30, 25, levelRequirement = 40, statInterpolation = {1, 1},  cost = { }, },
            [11] = {31, 27, levelRequirement = 44, statInterpolation = {1, 1},  cost = { }, },
            [12] = {31, 29, levelRequirement = 47, statInterpolation = {1, 1},  cost = { }, },
            [13] = {32, 31, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
            [14] = {32, 33, levelRequirement = 53, statInterpolation = {1, 1},  cost = { }, },
            [15] = {33, 35, levelRequirement = 56, statInterpolation = {1, 1},  cost = { }, },
            [16] = {34, 36, levelRequirement = 59, statInterpolation = {1, 1},  cost = { }, },
            [17] = {34, 37, levelRequirement = 62, statInterpolation = {1, 1},  cost = { }, },
            [18] = {35, 38, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
            [19] = {35, 39, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
            [20] = {36, 40, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
            [21] = {36, 41, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
            [22] = {37, 42, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
            [23] = {37, 43, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
            [24] = {38, 44, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
            [25] = {38, 45, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
            [26] = {39, 46, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
            [27] = {39, 47, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
            [28] = {40, 48, levelRequirement = 84, statInterpolation = {1, 1},  cost = { }, },
            [29] = {40, 49, levelRequirement = 86, statInterpolation = {1, 1},  cost = { }, },
            [30] = {41, 50, levelRequirement = 88, statInterpolation = {1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileBarrage"] = {
        name = "Barrage",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "After a short preparation time, you fire individual projectiles repeatedly with a Bow or Wand. These projectiles have a small randomised spread. This skill cannot be Triggered.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_+%",
            "active_skill_attack_speed_+%_final",
            "number_of_additional_projectiles",
            "active_skill_damage_+%_final",
            "monster_reverse_point_blank_damage_-%_at_minimum_range",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "projectiles_barrage",
        },
        levels = {
            [1] = {0, 0, 3, -60, 30, levelRequirement = 3, statInterpolation = {1, 1},  cost = { }, },
            [2] = {0, 1, 3, -60, 30, levelRequirement = 10, statInterpolation = {1, 1},  cost = { }, },
            [3] = {2, 2, 3, -60, 30, levelRequirement = 13, statInterpolation = {1, 1},  cost = { }, },
            [4] = {5, 4, 3, -60, 30, levelRequirement = 16, statInterpolation = {1, 1},  cost = { }, },
            [5] = {7, 5, 3, -60, 30, levelRequirement = 19, statInterpolation = {1, 1},  cost = { }, },
            [6] = {9, 7, 3, -60, 30, levelRequirement = 22, statInterpolation = {1, 1},  cost = { }, },
            [7] = {12, 8, 3, -60, 30, levelRequirement = 25, statInterpolation = {1, 1},  cost = { }, },
            [8] = {14, 10, 3, -60, 30, levelRequirement = 28, statInterpolation = {1, 1},  cost = { }, },
            [9] = {16, 11, 3, -60, 30, levelRequirement = 32, statInterpolation = {1, 1},  cost = { }, },
            [10] = {19, 13, 3, -60, 30, levelRequirement = 36, statInterpolation = {1, 1},  cost = { }, },
            [11] = {21, 14, 3, -60, 30, levelRequirement = 40, statInterpolation = {1, 1},  cost = { }, },
            [12] = {24, 16, 3, -60, 30, levelRequirement = 44, statInterpolation = {1, 1},  cost = { }, },
            [13] = {26, 17, 3, -60, 30, levelRequirement = 47, statInterpolation = {1, 1},  cost = { }, },
            [14] = {28, 19, 3, -60, 30, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
            [15] = {31, 20, 3, -60, 30, levelRequirement = 53, statInterpolation = {1, 1},  cost = { }, },
            [16] = {33, 22, 3, -60, 30, levelRequirement = 56, statInterpolation = {1, 1},  cost = { }, },
            [17] = {35, 23, 3, -60, 30, levelRequirement = 59, statInterpolation = {1, 1},  cost = { }, },
            [18] = {38, 25, 3, -60, 30, levelRequirement = 62, statInterpolation = {1, 1},  cost = { }, },
            [19] = {40, 26, 3, -60, 30, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
            [20] = {42, 28, 3, -60, 30, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
            [21] = {44, 29, 3, -60, 30, levelRequirement = 67, statInterpolation = {1, 1},  cost = { }, },
            [22] = {45, 29, 3, -60, 30, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
            [23] = {46, 30, 3, -60, 30, levelRequirement = 69, statInterpolation = {1, 1},  cost = { }, },
            [24] = {47, 31, 3, -60, 30, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
            [25] = {48, 32, 3, -60, 30, levelRequirement = 71, statInterpolation = {1, 1},  cost = { }, },
            [26] = {49, 32, 3, -60, 30, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
            [27] = {51, 33, 3, -60, 30, levelRequirement = 73, statInterpolation = {1, 1},  cost = { }, },
            [28] = {52, 34, 3, -60, 30, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
            [29] = {53, 35, 3, -60, 30, levelRequirement = 75, statInterpolation = {1, 1},  cost = { }, },
            [30] = {54, 35, 3, -60, 30, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
            [31] = {55, 36, 3, -60, 30, levelRequirement = 77, statInterpolation = {1, 1},  cost = { }, },
            [32] = {56, 37, 3, -60, 30, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
            [33] = {58, 39, 3, -60, 30, levelRequirement = 79, statInterpolation = {1, 1},  cost = { }, },
            [34] = {59, 38, 3, -60, 30, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
            [35] = {60, 39, 3, -60, 30, levelRequirement = 81, statInterpolation = {1, 1},  cost = { }, },
            [36] = {61, 40, 3, -60, 30, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
            [37] = {64, 41, 3, -60, 30, levelRequirement = 84, statInterpolation = {1, 1},  cost = { }, },
            [38] = {66, 43, 3, -60, 30, levelRequirement = 86, statInterpolation = {1, 1},  cost = { }, },
            [39] = {68, 44, 3, -60, 30, levelRequirement = 88, statInterpolation = {1, 1},  cost = { }, },
        },
    }
    
    monster base type attack cast speed +% and damage -% final [33]
    FamilyMonsterSpeedAndDamageFixup
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster base type attack cast speed +% and damage -% final Min: 33 Max: 33 Global
  • Craft Tagscaster_damage damage attack caster speed
    20% increased Attack Speed
    FamilyIncreasedAttackSpeed
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • attack speed +% Min: 20 Max: 20 Global
  • Craft Tagsattack speed
    Orra Greengate
    Humanoid
    monster base type attack cast speed +% and damage -% final [33]
    20% increased Attack Speed
    100% increased maximum Life
    100% increased Area of Effect
    80% increased Character Size
    SpectreN
    Tagscold_affinity, cursing_monster, female_rogue_exile, has_bow, human, humanoid, light_armour, medium_height, medium_movement, not_int, not_str, physical_affinity, puncturing_weapon, ranged, red_blood, rogue_exile
    Life
    112%
    Evasion
    +100%
    Ailment Threshold
    112%
    Resistance
    30 30 30 20
    Damage
    143%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 80
    Attack Time
    1.605 Second
    Damage Spread
    ±20%
    Experience
    220%
    Model Size
    100%
    Type
    ExileRanger1
    Metadata
    ExileRanger1Supporter
    Level
    68
    Life
    7,205
    Armour
    28,790
    Evasion Rating
    9,478
    Damage
    534
    Spell Damage
    534
    Accuracy
    580
    Attack Time
    1.605
    Experience
    22,561
    Minion Life
    1,563
    Minion Damage
    427
    Ailment Threshold
    7,205
    Chill
    23
    Shock
    23
    Brittle
    129
    Scorch
    23
    Sap
    63
    Melee
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Default Attack
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Strike your foes down with a powerful blow.
    skill can fire arrows [1]
    skill can fire wand projectiles [1]
    ExileVulnerability
    Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, AppliesCurse, CanRapidFire, AreaSpell, Physical, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Hex
    Vulnerability
    Cast Time: 0.5 sec
    Cooldown Time: 8 sec
    Curse all targets in an area, causing them to take increased physical damage. Attacks against the cursed enemies have a chance to inflict bleeding.
    Base duration is 11.99 seconds
    Cursed enemies take 34% increased Physical Damage
    Attack Hits against Cursed Enemies have 25% chance to inflict Bleeding
    active skill area of effect radius +% final [38]
    ExileRainOfArrows
    Attack, RangedAttack, MirageArcherCanUse, Area, ProjectileSpeed, Totemable, Trappable, Mineable, Triggerable, Rain
    Rain of Arrows
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Fires a large number of arrows into the air, to land at the target after a short delay.
    Gain 18% of Physical Damage as Extra Cold Damage
    Deals 30% less Damage
    19% increased Attack Speed
    18% increased Projectile Speed
    active skill area of effect radius +% final [21]
    animation effect variation [1]
    base is projectile [1]
    is area damage [1]
    spell maximum action distance +% [-35]
    ExileHatred
    Spell, Area, Buff, HasReservation, TotemCastsAlone, Totemable, Aura, Cold, Instant, AreaSpell, CanHaveBlessing, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Cooldown
    Hatred
    Cast Time: 1.2 sec
    Cooldown Time: 0.5 sec
    Casts an aura that grants extra cold damage based on physical damage to you and your allies.
    You and nearby allies gain 36% of Physical Damage as Extra Cold Damage
    active skill area of effect radius +% final [40]
    ExileFrenzy
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable, MeleeSingleTarget, Multistrikeable, Melee, Triggerable
    Frenzy
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Performs an attack that gives the character a frenzy charge if it hits. Frenzy charges increase your attack speed.
    Deals 28% less Damage
    Deals 10% more Physical Damage
    10% increased Physical Damage per Frenzy Charge
    Fires 2 additional Projectiles
    10% increased Attack Speed per Frenzy Charge
    skill can fire arrows [1]
    ExileVaalRainOfArrows
    Attack, RangedAttack, Area, ProjectileSpeed, Totemable, Trappable, Mineable, Duration, Vaal, Rain
    Vaal Rain of Arrows
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Fires a large number of arrows into the air, to land at the target after a short delay. Enemies hit by the arrows are pinned in place, unable to move for a time.
    Gain 18% of Physical Damage as Extra Cold Damage
    Deals 30% less Damage
    Base duration is 4.4 seconds
    19% increased Attack Speed
    18% increased Projectile Speed
    active skill area of effect radius +% final [21]
    base is projectile [1]
    is area damage [1]
    rain of arrows pin [1]
    spell maximum action distance +% [-35]
    ExileBarrage
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable
    Barrage
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Cooldown Time: 4 sec
    After a short preparation time, you fire individual projectiles repeatedly with a Bow or Wand. These projectiles have a small randomised spread. This skill cannot be Triggered.
    Deals 60% less Damage
    Fires 3 additional Projectiles
    45% increased Physical Damage
    Fires Projectiles sequentially
    29% more Attack Speed
    monster reverse point blank damage -% at minimum range [30]
    skill can fire arrows [1]
    skill can fire wand projectiles [1]

    Object Type

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

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Exiles/Exile"
    
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Exiles/ExileRanger1Supporter"] = {
        name = "Orra Greengate",
        life = 1.12,
        fireResist = 30,
        coldResist = 30,
        lightningResist = 30,
        chaosResist = 20,
        damage = 1.43,
        damageSpread = 0.2,
        attackTime = 1.605,
        attackRange = 80,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "ExileFrenzy",
            "Melee",
            "ExileVulnerability",
            "ExileRainOfArrows",
            "ExileVaalRainOfArrows",
            "ExileHatred",
            "ExileBarrage",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileFrenzy"] = {
        name = "Frenzy",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Performs an attack that gives the character a frenzy charge if it hits. Frenzy charges increase your attack speed.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_+%_per_frenzy_charge",
            "base_attack_speed_+%_per_frenzy_charge",
            "active_skill_physical_damage_+%_final",
            "skill_can_fire_arrows",
        },
        levels = {
            [1] = {10, 10, 10, levelRequirement = 30, statInterpolation = {},  cost = { }, },
            [2] = {0, 2, -20, 10, 10, 10, levelRequirement = 50, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {0, 2, -28, 10, 10, 10, levelRequirement = 65, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {0, 2, -36, 10, 10, 10, levelRequirement = 75, statInterpolation = {1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["Melee"] = {
        name = "Default Attack",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Strike your foes down with a powerful blow.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileVulnerability"] = {
        name = "Vulnerability",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Curse all targets in an area, causing them to take increased physical damage. Attacks against the cursed enemies have a chance to inflict bleeding.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Cascadable] = true,
            [SkillType.AppliesCurse] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.Physical] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Hex] = true,
        },
        statDescriptionScope = "curse_skill_stat_descriptions",
        castTime = 0.5,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_skill_effect_duration",
            "physical_damage_taken_+%",
            "receive_bleeding_chance_%_when_hit_by_attack",
        },
        levels = {
            [1] = {9900, 25, 25, levelRequirement = 24, statInterpolation = {1, 1},  cost = { }, },
            [2] = {10010, 25, 2, 25, levelRequirement = 27, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {10120, 26, 4, 25, levelRequirement = 30, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {10230, 26, 6, 25, levelRequirement = 33, statInterpolation = {1, 1, 1},  cost = { }, },
            [5] = {10340, 27, 8, 25, levelRequirement = 35, statInterpolation = {1, 1, 1},  cost = { }, },
            [6] = {10450, 27, 10, 25, levelRequirement = 38, statInterpolation = {1, 1, 1},  cost = { }, },
            [7] = {10560, 28, 12, 25, levelRequirement = 40, statInterpolation = {1, 1, 1},  cost = { }, },
            [8] = {10670, 28, 14, 25, levelRequirement = 43, statInterpolation = {1, 1, 1},  cost = { }, },
            [9] = {10780, 29, 16, 25, levelRequirement = 46, statInterpolation = {1, 1, 1},  cost = { }, },
            [10] = {10890, 29, 18, 25, levelRequirement = 48, statInterpolation = {1, 1, 1},  cost = { }, },
            [11] = {11000, 30, 20, 25, levelRequirement = 50, statInterpolation = {1, 1, 1},  cost = { }, },
            [12] = {11110, 30, 22, 25, levelRequirement = 52, statInterpolation = {1, 1, 1},  cost = { }, },
            [13] = {11220, 31, 24, 25, levelRequirement = 54, statInterpolation = {1, 1, 1},  cost = { }, },
            [14] = {11330, 31, 26, 25, levelRequirement = 56, statInterpolation = {1, 1, 1},  cost = { }, },
            [15] = {11440, 32, 28, 25, levelRequirement = 58, statInterpolation = {1, 1, 1},  cost = { }, },
            [16] = {11550, 32, 30, 25, levelRequirement = 60, statInterpolation = {1, 1, 1},  cost = { }, },
            [17] = {11660, 33, 32, 25, levelRequirement = 62, statInterpolation = {1, 1, 1},  cost = { }, },
            [18] = {11770, 33, 34, 25, levelRequirement = 64, statInterpolation = {1, 1, 1},  cost = { }, },
            [19] = {11880, 34, 36, 25, levelRequirement = 66, statInterpolation = {1, 1, 1},  cost = { }, },
            [20] = {11990, 34, 38, 25, levelRequirement = 68, statInterpolation = {1, 1, 1},  cost = { }, },
            [21] = {12100, 35, 40, 25, levelRequirement = 70, statInterpolation = {1, 1, 1},  cost = { }, },
            [22] = {12210, 35, 42, 25, levelRequirement = 72, statInterpolation = {1, 1, 1},  cost = { }, },
            [23] = {12320, 36, 44, 25, levelRequirement = 74, statInterpolation = {1, 1, 1},  cost = { }, },
            [24] = {12430, 36, 46, 25, levelRequirement = 76, statInterpolation = {1, 1, 1},  cost = { }, },
            [25] = {12540, 37, 48, 25, levelRequirement = 78, statInterpolation = {1, 1, 1},  cost = { }, },
            [26] = {12650, 37, 50, 25, levelRequirement = 80, statInterpolation = {1, 1, 1},  cost = { }, },
            [27] = {12760, 38, 52, 25, levelRequirement = 82, statInterpolation = {1, 1, 1},  cost = { }, },
            [28] = {12870, 38, 54, 25, levelRequirement = 84, statInterpolation = {1, 1, 1},  cost = { }, },
            [29] = {12980, 39, 56, 25, levelRequirement = 86, statInterpolation = {1, 1, 1},  cost = { }, },
            [30] = {13090, 39, 58, 25, levelRequirement = 88, statInterpolation = {1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileRainOfArrows"] = {
        name = "Rain of Arrows",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires a large number of arrows into the air, to land at the target after a short delay.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Area] = true,
            [SkillType.ProjectileSpeed] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Rain] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_damage_+%_final",
            "animation_effect_variation",
            "spell_maximum_action_distance_+%",
            "is_area_damage",
            "base_is_projectile",
        },
        levels = {
            [1] = {-20, 1, -35, levelRequirement = 2, statInterpolation = {1},  cost = { }, },
            [2] = {-20, 1, 1, -35, levelRequirement = 4, statInterpolation = {1, 1},  cost = { }, },
            [3] = {-20, 2, 1, -35, levelRequirement = 6, statInterpolation = {1, 1},  cost = { }, },
            [4] = {-20, 3, 1, -35, levelRequirement = 9, statInterpolation = {1, 1},  cost = { }, },
            [5] = {-20, 10, 4, 1, -35, levelRequirement = 12, statInterpolation = {1, 1, 1},  cost = { }, },
            [6] = {-20, 10, 5, 1, -35, levelRequirement = 15, statInterpolation = {1, 1, 1},  cost = { }, },
            [7] = {-20, 11, 6, 1, -35, levelRequirement = 19, statInterpolation = {1, 1, 1},  cost = { }, },
            [8] = {-20, 11, 15, 7, 1, -35, levelRequirement = 23, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [9] = {-20, 12, 15, 8, 1, -35, levelRequirement = 28, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [10] = {-20, 12, 15, 9, 1, -35, levelRequirement = 33, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [11] = {-25, 13, 15, 10, 10, 1, -35, levelRequirement = 39, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [12] = {-25, 13, 15, 10, 11, 1, -35, levelRequirement = 43, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [13] = {-25, 14, 16, 11, 12, 1, -35, levelRequirement = 46, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [14] = {-25, 14, 16, 12, 13, 1, -35, levelRequirement = 49, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [15] = {-30, 15, 16, 13, 14, 1, -35, levelRequirement = 52, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [16] = {-30, 15, 16, 14, 15, 1, -35, levelRequirement = 55, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [17] = {-30, 16, 17, 15, 16, 1, -35, levelRequirement = 58, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [18] = {-30, 16, 17, 16, 17, 1, -35, levelRequirement = 61, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [19] = {-30, 17, 17, 17, 18, 1, -35, levelRequirement = 64, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [20] = {-30, 17, 17, 18, 19, 1, -35, levelRequirement = 66, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [21] = {-30, 18, 18, 19, 20, 1, -35, levelRequirement = 67, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [22] = {-30, 18, 18, 19, 21, 1, -35, levelRequirement = 68, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [23] = {-30, 19, 18, 20, 22, 1, -35, levelRequirement = 69, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [24] = {-30, 19, 18, 20, 23, 1, -35, levelRequirement = 70, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [25] = {-30, 20, 18, 21, 24, 1, -35, levelRequirement = 71, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [26] = {-30, 20, 18, 21, 25, 1, -35, levelRequirement = 72, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [27] = {-30, 21, 18, 22, 26, 1, -35, levelRequirement = 73, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [28] = {-30, 21, 18, 22, 27, 1, -35, levelRequirement = 74, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [29] = {-30, 22, 19, 23, 28, 1, -35, levelRequirement = 75, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [30] = {-30, 22, 19, 23, 29, 1, -35, levelRequirement = 76, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [31] = {-30, 23, 19, 24, 30, 1, -35, levelRequirement = 77, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [32] = {-30, 23, 19, 24, 31, 1, -35, levelRequirement = 78, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [33] = {-30, 24, 19, 25, 32, 1, -35, levelRequirement = 79, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [34] = {-30, 24, 19, 25, 33, 1, -35, levelRequirement = 80, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [35] = {-30, 25, 19, 26, 34, 1, -35, levelRequirement = 81, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [36] = {-30, 25, 19, 26, 35, 1, -35, levelRequirement = 82, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileVaalRainOfArrows"] = {
        name = "Vaal Rain of Arrows",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires a large number of arrows into the air, to land at the target after a short delay. Enemies hit by the arrows are pinned in place, unable to move for a time.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Area] = true,
            [SkillType.ProjectileSpeed] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Duration] = true,
            [SkillType.Vaal] = true,
            [SkillType.Rain] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            duration = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_damage_+%_final",
            "base_skill_effect_duration",
            "spell_maximum_action_distance_+%",
            "base_is_projectile",
            "is_area_damage",
            "rain_of_arrows_pin",
        },
        levels = {
            [1] = {-20, 3400, -35, levelRequirement = 2, statInterpolation = {1, 1},  cost = { }, },
            [2] = {-20, 3450, 1, -35, levelRequirement = 4, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {-20, 3500, 2, -35, levelRequirement = 6, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {-20, 3550, 3, -35, levelRequirement = 9, statInterpolation = {1, 1, 1},  cost = { }, },
            [5] = {-20, 3600, 10, 4, -35, levelRequirement = 12, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [6] = {-20, 3650, 10, 5, -35, levelRequirement = 15, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [7] = {-20, 3700, 11, 6, -35, levelRequirement = 19, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [8] = {-20, 3750, 11, 15, 7, -35, levelRequirement = 23, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [9] = {-20, 3800, 12, 15, 8, -35, levelRequirement = 28, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [10] = {-20, 3850, 12, 15, 9, -35, levelRequirement = 33, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [11] = {-25, 3900, 13, 15, 10, 10, -35, levelRequirement = 39, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [12] = {-25, 3950, 13, 15, 10, 11, -35, levelRequirement = 43, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [13] = {-25, 4000, 14, 16, 11, 12, -35, levelRequirement = 46, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [14] = {-25, 4050, 14, 16, 12, 13, -35, levelRequirement = 49, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [15] = {-30, 4100, 15, 16, 13, 14, -35, levelRequirement = 52, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [16] = {-30, 4150, 15, 16, 14, 15, -35, levelRequirement = 55, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [17] = {-30, 4200, 16, 17, 15, 16, -35, levelRequirement = 58, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [18] = {-30, 4250, 16, 17, 16, 17, -35, levelRequirement = 61, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [19] = {-30, 4300, 17, 17, 17, 18, -35, levelRequirement = 64, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [20] = {-30, 4350, 17, 17, 18, 19, -35, levelRequirement = 66, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [21] = {-30, 4375, 18, 18, 19, 20, -35, levelRequirement = 67, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [22] = {-30, 4400, 18, 18, 19, 21, -35, levelRequirement = 68, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [23] = {-30, 4425, 19, 18, 20, 22, -35, levelRequirement = 69, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [24] = {-30, 4450, 19, 18, 20, 23, -35, levelRequirement = 70, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [25] = {-30, 4475, 20, 18, 21, 24, -35, levelRequirement = 71, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [26] = {-30, 4500, 20, 18, 21, 25, -35, levelRequirement = 72, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [27] = {-30, 4525, 21, 18, 22, 26, -35, levelRequirement = 73, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [28] = {-30, 4550, 21, 18, 22, 27, -35, levelRequirement = 74, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [29] = {-30, 4575, 22, 19, 23, 28, -35, levelRequirement = 75, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [30] = {-30, 4600, 23, 19, 23, 29, -35, levelRequirement = 76, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [31] = {-30, 4625, 23, 19, 24, 30, -35, levelRequirement = 77, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [32] = {-30, 4650, 24, 19, 24, 31, -35, levelRequirement = 78, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [33] = {-30, 4675, 24, 19, 25, 32, -35, levelRequirement = 79, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [34] = {-30, 4700, 25, 19, 25, 33, -35, levelRequirement = 80, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [35] = {-30, 4725, 25, 19, 26, 34, -35, levelRequirement = 81, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [36] = {-30, 4750, 26, 19, 26, 35, -35, levelRequirement = 82, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileHatred"] = {
        name = "Hatred",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Casts an aura that grants extra cold damage based on physical damage to you and your allies.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Buff] = true,
            [SkillType.HasReservation] = true,
            [SkillType.TotemCastsAlone] = true,
            [SkillType.Totemable] = true,
            [SkillType.Aura] = true,
            [SkillType.Cold] = true,
            [SkillType.Instant] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.CanHaveBlessing] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Cooldown] = true,
        },
        statDescriptionScope = "aura_skill_stat_descriptions",
        castTime = 1.2,
        baseFlags = {
            area = true,
            spell = true,
            aura = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_%_to_add_as_cold",
        },
        levels = {
            [1] = {26, levelRequirement = 10, statInterpolation = {1},  cost = { }, },
            [2] = {26, 3, levelRequirement = 13, statInterpolation = {1, 1},  cost = { }, },
            [3] = {27, 6, levelRequirement = 16, statInterpolation = {1, 1},  cost = { }, },
            [4] = {27, 9, levelRequirement = 19, statInterpolation = {1, 1},  cost = { }, },
            [5] = {28, 12, levelRequirement = 22, statInterpolation = {1, 1},  cost = { }, },
            [6] = {28, 15, levelRequirement = 25, statInterpolation = {1, 1},  cost = { }, },
            [7] = {29, 18, levelRequirement = 28, statInterpolation = {1, 1},  cost = { }, },
            [8] = {29, 21, levelRequirement = 32, statInterpolation = {1, 1},  cost = { }, },
            [9] = {30, 23, levelRequirement = 36, statInterpolation = {1, 1},  cost = { }, },
            [10] = {30, 25, levelRequirement = 40, statInterpolation = {1, 1},  cost = { }, },
            [11] = {31, 27, levelRequirement = 44, statInterpolation = {1, 1},  cost = { }, },
            [12] = {31, 29, levelRequirement = 47, statInterpolation = {1, 1},  cost = { }, },
            [13] = {32, 31, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
            [14] = {32, 33, levelRequirement = 53, statInterpolation = {1, 1},  cost = { }, },
            [15] = {33, 35, levelRequirement = 56, statInterpolation = {1, 1},  cost = { }, },
            [16] = {34, 36, levelRequirement = 59, statInterpolation = {1, 1},  cost = { }, },
            [17] = {34, 37, levelRequirement = 62, statInterpolation = {1, 1},  cost = { }, },
            [18] = {35, 38, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
            [19] = {35, 39, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
            [20] = {36, 40, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
            [21] = {36, 41, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
            [22] = {37, 42, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
            [23] = {37, 43, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
            [24] = {38, 44, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
            [25] = {38, 45, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
            [26] = {39, 46, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
            [27] = {39, 47, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
            [28] = {40, 48, levelRequirement = 84, statInterpolation = {1, 1},  cost = { }, },
            [29] = {40, 49, levelRequirement = 86, statInterpolation = {1, 1},  cost = { }, },
            [30] = {41, 50, levelRequirement = 88, statInterpolation = {1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileBarrage"] = {
        name = "Barrage",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "After a short preparation time, you fire individual projectiles repeatedly with a Bow or Wand. These projectiles have a small randomised spread. This skill cannot be Triggered.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_+%",
            "active_skill_attack_speed_+%_final",
            "number_of_additional_projectiles",
            "active_skill_damage_+%_final",
            "monster_reverse_point_blank_damage_-%_at_minimum_range",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "projectiles_barrage",
        },
        levels = {
            [1] = {0, 0, 3, -60, 30, levelRequirement = 3, statInterpolation = {1, 1},  cost = { }, },
            [2] = {0, 1, 3, -60, 30, levelRequirement = 10, statInterpolation = {1, 1},  cost = { }, },
            [3] = {2, 2, 3, -60, 30, levelRequirement = 13, statInterpolation = {1, 1},  cost = { }, },
            [4] = {5, 4, 3, -60, 30, levelRequirement = 16, statInterpolation = {1, 1},  cost = { }, },
            [5] = {7, 5, 3, -60, 30, levelRequirement = 19, statInterpolation = {1, 1},  cost = { }, },
            [6] = {9, 7, 3, -60, 30, levelRequirement = 22, statInterpolation = {1, 1},  cost = { }, },
            [7] = {12, 8, 3, -60, 30, levelRequirement = 25, statInterpolation = {1, 1},  cost = { }, },
            [8] = {14, 10, 3, -60, 30, levelRequirement = 28, statInterpolation = {1, 1},  cost = { }, },
            [9] = {16, 11, 3, -60, 30, levelRequirement = 32, statInterpolation = {1, 1},  cost = { }, },
            [10] = {19, 13, 3, -60, 30, levelRequirement = 36, statInterpolation = {1, 1},  cost = { }, },
            [11] = {21, 14, 3, -60, 30, levelRequirement = 40, statInterpolation = {1, 1},  cost = { }, },
            [12] = {24, 16, 3, -60, 30, levelRequirement = 44, statInterpolation = {1, 1},  cost = { }, },
            [13] = {26, 17, 3, -60, 30, levelRequirement = 47, statInterpolation = {1, 1},  cost = { }, },
            [14] = {28, 19, 3, -60, 30, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
            [15] = {31, 20, 3, -60, 30, levelRequirement = 53, statInterpolation = {1, 1},  cost = { }, },
            [16] = {33, 22, 3, -60, 30, levelRequirement = 56, statInterpolation = {1, 1},  cost = { }, },
            [17] = {35, 23, 3, -60, 30, levelRequirement = 59, statInterpolation = {1, 1},  cost = { }, },
            [18] = {38, 25, 3, -60, 30, levelRequirement = 62, statInterpolation = {1, 1},  cost = { }, },
            [19] = {40, 26, 3, -60, 30, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
            [20] = {42, 28, 3, -60, 30, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
            [21] = {44, 29, 3, -60, 30, levelRequirement = 67, statInterpolation = {1, 1},  cost = { }, },
            [22] = {45, 29, 3, -60, 30, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
            [23] = {46, 30, 3, -60, 30, levelRequirement = 69, statInterpolation = {1, 1},  cost = { }, },
            [24] = {47, 31, 3, -60, 30, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
            [25] = {48, 32, 3, -60, 30, levelRequirement = 71, statInterpolation = {1, 1},  cost = { }, },
            [26] = {49, 32, 3, -60, 30, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
            [27] = {51, 33, 3, -60, 30, levelRequirement = 73, statInterpolation = {1, 1},  cost = { }, },
            [28] = {52, 34, 3, -60, 30, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
            [29] = {53, 35, 3, -60, 30, levelRequirement = 75, statInterpolation = {1, 1},  cost = { }, },
            [30] = {54, 35, 3, -60, 30, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
            [31] = {55, 36, 3, -60, 30, levelRequirement = 77, statInterpolation = {1, 1},  cost = { }, },
            [32] = {56, 37, 3, -60, 30, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
            [33] = {58, 39, 3, -60, 30, levelRequirement = 79, statInterpolation = {1, 1},  cost = { }, },
            [34] = {59, 38, 3, -60, 30, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
            [35] = {60, 39, 3, -60, 30, levelRequirement = 81, statInterpolation = {1, 1},  cost = { }, },
            [36] = {61, 40, 3, -60, 30, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
            [37] = {64, 41, 3, -60, 30, levelRequirement = 84, statInterpolation = {1, 1},  cost = { }, },
            [38] = {66, 43, 3, -60, 30, levelRequirement = 86, statInterpolation = {1, 1},  cost = { }, },
            [39] = {68, 44, 3, -60, 30, levelRequirement = 88, statInterpolation = {1, 1},  cost = { }, },
        },
    }
    
    monster base type attack cast speed +% and damage -% final [33]
    FamilyMonsterSpeedAndDamageFixup
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster base type attack cast speed +% and damage -% final Min: 33 Max: 33 Global
  • Craft Tagscaster_damage damage attack caster speed
    20% increased Attack Speed
    FamilyIncreasedAttackSpeed
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • attack speed +% Min: 20 Max: 20 Global
  • Craft Tagsattack speed
    100% increased maximum Life
    100% increased Area of Effect
    80% increased Character Size
    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
  • Orra Greengate
    Humanoid
    Monsters grant 100% increased Experience
    15000% increased Rarity of Items Dropped
    monster base type attack cast speed +% and damage -% final [33]
    20% increased Attack Speed
    cannot be stunned for ms after stun finished [2000]
    cannot be stunned while stunned [1]
    SpectreN
    AreaPrecinct Map
    Tagscold_affinity, cursing_monster, female_rogue_exile, has_bow, human, humanoid, light_armour, medium_movement, medium_small_height, non_unique_map_boss, not_int, not_str, physical_affinity, puncturing_weapon, ranged, red_blood, rogue_exile
    Life
    224%
    Evasion
    +100%
    Ailment Threshold
    224%
    Resistance
    40 40 40 25
    Damage
    144%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 80
    Attack Time
    1.605 Second
    Damage Spread
    ±20%
    Experience
    200%
    Model Size
    100%
    Type
    ExileRanger1MapBoss
    Metadata
    ExileRanger1MapBoss
    Level
    74
    Life
    1,004,320
    Armour
    46,127
    Evasion Rating
    11,656
    Damage
    876
    Spell Damage
    1,308
    Accuracy
    732
    Attack Time
    1.07535
    Experience
    127,611
    Minion Life
    206,725
    Minion Damage
    715
    Ailment Threshold
    532,289
    Chill
    1,683
    Shock
    1,683
    Brittle
    9,522
    Scorch
    1,683
    Sap
    4,650
    Melee
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Default Attack
    Base Damage: 1392–2087
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Strike your foes down with a powerful blow.
    skill can fire arrows [1]
    skill can fire wand projectiles [1]
    ExileVulnerability
    Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, AppliesCurse, CanRapidFire, AreaSpell, Physical, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Hex
    Vulnerability
    Cast Time: 0.5 sec
    Cooldown Time: 8 sec
    Curse all targets in an area, causing them to take increased physical damage. Attacks against the cursed enemies have a chance to inflict bleeding.
    Base duration is 12.32 seconds
    Cursed enemies take 36% increased Physical Damage
    Attack Hits against Cursed Enemies have 25% chance to inflict Bleeding
    active skill area of effect radius +% final [44]
    ExileRainOfArrows
    Attack, RangedAttack, MirageArcherCanUse, Area, ProjectileSpeed, Totemable, Trappable, Mineable, Triggerable, Rain
    Rain of Arrows
    Base Damage: 1392–2087
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Fires a large number of arrows into the air, to land at the target after a short delay.
    Gain 18% of Physical Damage as Extra Cold Damage
    Deals 30% less Damage
    22% increased Attack Speed
    21% increased Projectile Speed
    active skill area of effect radius +% final [27]
    animation effect variation [1]
    base is projectile [1]
    is area damage [1]
    spell maximum action distance +% [-35]
    ExileHatred
    Spell, Area, Buff, HasReservation, TotemCastsAlone, Totemable, Aura, Cold, Instant, AreaSpell, CanHaveBlessing, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Cooldown
    Hatred
    Cast Time: 1.2 sec
    Cooldown Time: 0.5 sec
    Casts an aura that grants extra cold damage based on physical damage to you and your allies.
    You and nearby allies gain 37% of Physical Damage as Extra Cold Damage
    active skill area of effect radius +% final [43]
    ExileFrenzy
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable, MeleeSingleTarget, Multistrikeable, Melee, Triggerable
    Frenzy
    Base Damage: 1392–2087
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Performs an attack that gives the character a frenzy charge if it hits. Frenzy charges increase your attack speed.
    Deals 28% less Damage
    Deals 10% more Physical Damage
    10% increased Physical Damage per Frenzy Charge
    Fires 2 additional Projectiles
    10% increased Attack Speed per Frenzy Charge
    skill can fire arrows [1]
    ExileVaalRainOfArrows
    Attack, RangedAttack, Area, ProjectileSpeed, Totemable, Trappable, Mineable, Duration, Vaal, Rain
    Vaal Rain of Arrows
    Base Damage: 1392–2087
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Fires a large number of arrows into the air, to land at the target after a short delay. Enemies hit by the arrows are pinned in place, unable to move for a time.
    Gain 18% of Physical Damage as Extra Cold Damage
    Deals 30% less Damage
    Base duration is 4.55 seconds
    22% increased Attack Speed
    21% increased Projectile Speed
    active skill area of effect radius +% final [27]
    base is projectile [1]
    is area damage [1]
    rain of arrows pin [1]
    spell maximum action distance +% [-35]
    ExileBarrage
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable
    Barrage
    Base Damage: 1392–2087
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Cooldown Time: 4 sec
    After a short preparation time, you fire individual projectiles repeatedly with a Bow or Wand. These projectiles have a small randomised spread. This skill cannot be Triggered.
    Deals 60% less Damage
    Fires 3 additional Projectiles
    52% increased Physical Damage
    Fires Projectiles sequentially
    34% more Attack Speed
    monster reverse point blank damage -% at minimum range [30]
    skill can fire arrows [1]
    skill can fire wand projectiles [1]

    Object Type

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

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Exiles/ExileMapBoss"
    
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Exiles/ExileRanger1MapBoss"] = {
        name = "Orra Greengate",
        life = 2.24,
        fireResist = 40,
        coldResist = 40,
        lightningResist = 40,
        chaosResist = 25,
        damage = 1.44,
        damageSpread = 0.2,
        attackTime = 1.605,
        attackRange = 80,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "ExileFrenzy",
            "Melee",
            "ExileVulnerability",
            "ExileRainOfArrows",
            "ExileVaalRainOfArrows",
            "ExileHatred",
            "ExileBarrage",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileFrenzy"] = {
        name = "Frenzy",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Performs an attack that gives the character a frenzy charge if it hits. Frenzy charges increase your attack speed.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_+%_per_frenzy_charge",
            "base_attack_speed_+%_per_frenzy_charge",
            "active_skill_physical_damage_+%_final",
            "skill_can_fire_arrows",
        },
        levels = {
            [1] = {10, 10, 10, levelRequirement = 30, statInterpolation = {},  cost = { }, },
            [2] = {0, 2, -20, 10, 10, 10, levelRequirement = 50, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {0, 2, -28, 10, 10, 10, levelRequirement = 65, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {0, 2, -36, 10, 10, 10, levelRequirement = 75, statInterpolation = {1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["Melee"] = {
        name = "Default Attack",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Strike your foes down with a powerful blow.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileVulnerability"] = {
        name = "Vulnerability",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Curse all targets in an area, causing them to take increased physical damage. Attacks against the cursed enemies have a chance to inflict bleeding.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Cascadable] = true,
            [SkillType.AppliesCurse] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.Physical] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Hex] = true,
        },
        statDescriptionScope = "curse_skill_stat_descriptions",
        castTime = 0.5,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_skill_effect_duration",
            "physical_damage_taken_+%",
            "receive_bleeding_chance_%_when_hit_by_attack",
        },
        levels = {
            [1] = {9900, 25, 25, levelRequirement = 24, statInterpolation = {1, 1},  cost = { }, },
            [2] = {10010, 25, 2, 25, levelRequirement = 27, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {10120, 26, 4, 25, levelRequirement = 30, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {10230, 26, 6, 25, levelRequirement = 33, statInterpolation = {1, 1, 1},  cost = { }, },
            [5] = {10340, 27, 8, 25, levelRequirement = 35, statInterpolation = {1, 1, 1},  cost = { }, },
            [6] = {10450, 27, 10, 25, levelRequirement = 38, statInterpolation = {1, 1, 1},  cost = { }, },
            [7] = {10560, 28, 12, 25, levelRequirement = 40, statInterpolation = {1, 1, 1},  cost = { }, },
            [8] = {10670, 28, 14, 25, levelRequirement = 43, statInterpolation = {1, 1, 1},  cost = { }, },
            [9] = {10780, 29, 16, 25, levelRequirement = 46, statInterpolation = {1, 1, 1},  cost = { }, },
            [10] = {10890, 29, 18, 25, levelRequirement = 48, statInterpolation = {1, 1, 1},  cost = { }, },
            [11] = {11000, 30, 20, 25, levelRequirement = 50, statInterpolation = {1, 1, 1},  cost = { }, },
            [12] = {11110, 30, 22, 25, levelRequirement = 52, statInterpolation = {1, 1, 1},  cost = { }, },
            [13] = {11220, 31, 24, 25, levelRequirement = 54, statInterpolation = {1, 1, 1},  cost = { }, },
            [14] = {11330, 31, 26, 25, levelRequirement = 56, statInterpolation = {1, 1, 1},  cost = { }, },
            [15] = {11440, 32, 28, 25, levelRequirement = 58, statInterpolation = {1, 1, 1},  cost = { }, },
            [16] = {11550, 32, 30, 25, levelRequirement = 60, statInterpolation = {1, 1, 1},  cost = { }, },
            [17] = {11660, 33, 32, 25, levelRequirement = 62, statInterpolation = {1, 1, 1},  cost = { }, },
            [18] = {11770, 33, 34, 25, levelRequirement = 64, statInterpolation = {1, 1, 1},  cost = { }, },
            [19] = {11880, 34, 36, 25, levelRequirement = 66, statInterpolation = {1, 1, 1},  cost = { }, },
            [20] = {11990, 34, 38, 25, levelRequirement = 68, statInterpolation = {1, 1, 1},  cost = { }, },
            [21] = {12100, 35, 40, 25, levelRequirement = 70, statInterpolation = {1, 1, 1},  cost = { }, },
            [22] = {12210, 35, 42, 25, levelRequirement = 72, statInterpolation = {1, 1, 1},  cost = { }, },
            [23] = {12320, 36, 44, 25, levelRequirement = 74, statInterpolation = {1, 1, 1},  cost = { }, },
            [24] = {12430, 36, 46, 25, levelRequirement = 76, statInterpolation = {1, 1, 1},  cost = { }, },
            [25] = {12540, 37, 48, 25, levelRequirement = 78, statInterpolation = {1, 1, 1},  cost = { }, },
            [26] = {12650, 37, 50, 25, levelRequirement = 80, statInterpolation = {1, 1, 1},  cost = { }, },
            [27] = {12760, 38, 52, 25, levelRequirement = 82, statInterpolation = {1, 1, 1},  cost = { }, },
            [28] = {12870, 38, 54, 25, levelRequirement = 84, statInterpolation = {1, 1, 1},  cost = { }, },
            [29] = {12980, 39, 56, 25, levelRequirement = 86, statInterpolation = {1, 1, 1},  cost = { }, },
            [30] = {13090, 39, 58, 25, levelRequirement = 88, statInterpolation = {1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileRainOfArrows"] = {
        name = "Rain of Arrows",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires a large number of arrows into the air, to land at the target after a short delay.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Area] = true,
            [SkillType.ProjectileSpeed] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Rain] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_damage_+%_final",
            "animation_effect_variation",
            "spell_maximum_action_distance_+%",
            "is_area_damage",
            "base_is_projectile",
        },
        levels = {
            [1] = {-20, 1, -35, levelRequirement = 2, statInterpolation = {1},  cost = { }, },
            [2] = {-20, 1, 1, -35, levelRequirement = 4, statInterpolation = {1, 1},  cost = { }, },
            [3] = {-20, 2, 1, -35, levelRequirement = 6, statInterpolation = {1, 1},  cost = { }, },
            [4] = {-20, 3, 1, -35, levelRequirement = 9, statInterpolation = {1, 1},  cost = { }, },
            [5] = {-20, 10, 4, 1, -35, levelRequirement = 12, statInterpolation = {1, 1, 1},  cost = { }, },
            [6] = {-20, 10, 5, 1, -35, levelRequirement = 15, statInterpolation = {1, 1, 1},  cost = { }, },
            [7] = {-20, 11, 6, 1, -35, levelRequirement = 19, statInterpolation = {1, 1, 1},  cost = { }, },
            [8] = {-20, 11, 15, 7, 1, -35, levelRequirement = 23, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [9] = {-20, 12, 15, 8, 1, -35, levelRequirement = 28, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [10] = {-20, 12, 15, 9, 1, -35, levelRequirement = 33, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [11] = {-25, 13, 15, 10, 10, 1, -35, levelRequirement = 39, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [12] = {-25, 13, 15, 10, 11, 1, -35, levelRequirement = 43, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [13] = {-25, 14, 16, 11, 12, 1, -35, levelRequirement = 46, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [14] = {-25, 14, 16, 12, 13, 1, -35, levelRequirement = 49, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [15] = {-30, 15, 16, 13, 14, 1, -35, levelRequirement = 52, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [16] = {-30, 15, 16, 14, 15, 1, -35, levelRequirement = 55, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [17] = {-30, 16, 17, 15, 16, 1, -35, levelRequirement = 58, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [18] = {-30, 16, 17, 16, 17, 1, -35, levelRequirement = 61, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [19] = {-30, 17, 17, 17, 18, 1, -35, levelRequirement = 64, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [20] = {-30, 17, 17, 18, 19, 1, -35, levelRequirement = 66, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [21] = {-30, 18, 18, 19, 20, 1, -35, levelRequirement = 67, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [22] = {-30, 18, 18, 19, 21, 1, -35, levelRequirement = 68, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [23] = {-30, 19, 18, 20, 22, 1, -35, levelRequirement = 69, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [24] = {-30, 19, 18, 20, 23, 1, -35, levelRequirement = 70, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [25] = {-30, 20, 18, 21, 24, 1, -35, levelRequirement = 71, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [26] = {-30, 20, 18, 21, 25, 1, -35, levelRequirement = 72, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [27] = {-30, 21, 18, 22, 26, 1, -35, levelRequirement = 73, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [28] = {-30, 21, 18, 22, 27, 1, -35, levelRequirement = 74, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [29] = {-30, 22, 19, 23, 28, 1, -35, levelRequirement = 75, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [30] = {-30, 22, 19, 23, 29, 1, -35, levelRequirement = 76, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [31] = {-30, 23, 19, 24, 30, 1, -35, levelRequirement = 77, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [32] = {-30, 23, 19, 24, 31, 1, -35, levelRequirement = 78, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [33] = {-30, 24, 19, 25, 32, 1, -35, levelRequirement = 79, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [34] = {-30, 24, 19, 25, 33, 1, -35, levelRequirement = 80, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [35] = {-30, 25, 19, 26, 34, 1, -35, levelRequirement = 81, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [36] = {-30, 25, 19, 26, 35, 1, -35, levelRequirement = 82, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileVaalRainOfArrows"] = {
        name = "Vaal Rain of Arrows",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires a large number of arrows into the air, to land at the target after a short delay. Enemies hit by the arrows are pinned in place, unable to move for a time.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Area] = true,
            [SkillType.ProjectileSpeed] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Duration] = true,
            [SkillType.Vaal] = true,
            [SkillType.Rain] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            duration = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_damage_+%_final",
            "base_skill_effect_duration",
            "spell_maximum_action_distance_+%",
            "base_is_projectile",
            "is_area_damage",
            "rain_of_arrows_pin",
        },
        levels = {
            [1] = {-20, 3400, -35, levelRequirement = 2, statInterpolation = {1, 1},  cost = { }, },
            [2] = {-20, 3450, 1, -35, levelRequirement = 4, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {-20, 3500, 2, -35, levelRequirement = 6, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {-20, 3550, 3, -35, levelRequirement = 9, statInterpolation = {1, 1, 1},  cost = { }, },
            [5] = {-20, 3600, 10, 4, -35, levelRequirement = 12, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [6] = {-20, 3650, 10, 5, -35, levelRequirement = 15, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [7] = {-20, 3700, 11, 6, -35, levelRequirement = 19, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [8] = {-20, 3750, 11, 15, 7, -35, levelRequirement = 23, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [9] = {-20, 3800, 12, 15, 8, -35, levelRequirement = 28, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [10] = {-20, 3850, 12, 15, 9, -35, levelRequirement = 33, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [11] = {-25, 3900, 13, 15, 10, 10, -35, levelRequirement = 39, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [12] = {-25, 3950, 13, 15, 10, 11, -35, levelRequirement = 43, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [13] = {-25, 4000, 14, 16, 11, 12, -35, levelRequirement = 46, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [14] = {-25, 4050, 14, 16, 12, 13, -35, levelRequirement = 49, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [15] = {-30, 4100, 15, 16, 13, 14, -35, levelRequirement = 52, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [16] = {-30, 4150, 15, 16, 14, 15, -35, levelRequirement = 55, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [17] = {-30, 4200, 16, 17, 15, 16, -35, levelRequirement = 58, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [18] = {-30, 4250, 16, 17, 16, 17, -35, levelRequirement = 61, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [19] = {-30, 4300, 17, 17, 17, 18, -35, levelRequirement = 64, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [20] = {-30, 4350, 17, 17, 18, 19, -35, levelRequirement = 66, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [21] = {-30, 4375, 18, 18, 19, 20, -35, levelRequirement = 67, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [22] = {-30, 4400, 18, 18, 19, 21, -35, levelRequirement = 68, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [23] = {-30, 4425, 19, 18, 20, 22, -35, levelRequirement = 69, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [24] = {-30, 4450, 19, 18, 20, 23, -35, levelRequirement = 70, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [25] = {-30, 4475, 20, 18, 21, 24, -35, levelRequirement = 71, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [26] = {-30, 4500, 20, 18, 21, 25, -35, levelRequirement = 72, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [27] = {-30, 4525, 21, 18, 22, 26, -35, levelRequirement = 73, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [28] = {-30, 4550, 21, 18, 22, 27, -35, levelRequirement = 74, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [29] = {-30, 4575, 22, 19, 23, 28, -35, levelRequirement = 75, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [30] = {-30, 4600, 23, 19, 23, 29, -35, levelRequirement = 76, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [31] = {-30, 4625, 23, 19, 24, 30, -35, levelRequirement = 77, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [32] = {-30, 4650, 24, 19, 24, 31, -35, levelRequirement = 78, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [33] = {-30, 4675, 24, 19, 25, 32, -35, levelRequirement = 79, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [34] = {-30, 4700, 25, 19, 25, 33, -35, levelRequirement = 80, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [35] = {-30, 4725, 25, 19, 26, 34, -35, levelRequirement = 81, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [36] = {-30, 4750, 26, 19, 26, 35, -35, levelRequirement = 82, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileHatred"] = {
        name = "Hatred",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Casts an aura that grants extra cold damage based on physical damage to you and your allies.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Buff] = true,
            [SkillType.HasReservation] = true,
            [SkillType.TotemCastsAlone] = true,
            [SkillType.Totemable] = true,
            [SkillType.Aura] = true,
            [SkillType.Cold] = true,
            [SkillType.Instant] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.CanHaveBlessing] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Cooldown] = true,
        },
        statDescriptionScope = "aura_skill_stat_descriptions",
        castTime = 1.2,
        baseFlags = {
            area = true,
            spell = true,
            aura = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_%_to_add_as_cold",
        },
        levels = {
            [1] = {26, levelRequirement = 10, statInterpolation = {1},  cost = { }, },
            [2] = {26, 3, levelRequirement = 13, statInterpolation = {1, 1},  cost = { }, },
            [3] = {27, 6, levelRequirement = 16, statInterpolation = {1, 1},  cost = { }, },
            [4] = {27, 9, levelRequirement = 19, statInterpolation = {1, 1},  cost = { }, },
            [5] = {28, 12, levelRequirement = 22, statInterpolation = {1, 1},  cost = { }, },
            [6] = {28, 15, levelRequirement = 25, statInterpolation = {1, 1},  cost = { }, },
            [7] = {29, 18, levelRequirement = 28, statInterpolation = {1, 1},  cost = { }, },
            [8] = {29, 21, levelRequirement = 32, statInterpolation = {1, 1},  cost = { }, },
            [9] = {30, 23, levelRequirement = 36, statInterpolation = {1, 1},  cost = { }, },
            [10] = {30, 25, levelRequirement = 40, statInterpolation = {1, 1},  cost = { }, },
            [11] = {31, 27, levelRequirement = 44, statInterpolation = {1, 1},  cost = { }, },
            [12] = {31, 29, levelRequirement = 47, statInterpolation = {1, 1},  cost = { }, },
            [13] = {32, 31, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
            [14] = {32, 33, levelRequirement = 53, statInterpolation = {1, 1},  cost = { }, },
            [15] = {33, 35, levelRequirement = 56, statInterpolation = {1, 1},  cost = { }, },
            [16] = {34, 36, levelRequirement = 59, statInterpolation = {1, 1},  cost = { }, },
            [17] = {34, 37, levelRequirement = 62, statInterpolation = {1, 1},  cost = { }, },
            [18] = {35, 38, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
            [19] = {35, 39, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
            [20] = {36, 40, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
            [21] = {36, 41, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
            [22] = {37, 42, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
            [23] = {37, 43, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
            [24] = {38, 44, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
            [25] = {38, 45, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
            [26] = {39, 46, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
            [27] = {39, 47, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
            [28] = {40, 48, levelRequirement = 84, statInterpolation = {1, 1},  cost = { }, },
            [29] = {40, 49, levelRequirement = 86, statInterpolation = {1, 1},  cost = { }, },
            [30] = {41, 50, levelRequirement = 88, statInterpolation = {1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileBarrage"] = {
        name = "Barrage",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "After a short preparation time, you fire individual projectiles repeatedly with a Bow or Wand. These projectiles have a small randomised spread. This skill cannot be Triggered.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_+%",
            "active_skill_attack_speed_+%_final",
            "number_of_additional_projectiles",
            "active_skill_damage_+%_final",
            "monster_reverse_point_blank_damage_-%_at_minimum_range",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "projectiles_barrage",
        },
        levels = {
            [1] = {0, 0, 3, -60, 30, levelRequirement = 3, statInterpolation = {1, 1},  cost = { }, },
            [2] = {0, 1, 3, -60, 30, levelRequirement = 10, statInterpolation = {1, 1},  cost = { }, },
            [3] = {2, 2, 3, -60, 30, levelRequirement = 13, statInterpolation = {1, 1},  cost = { }, },
            [4] = {5, 4, 3, -60, 30, levelRequirement = 16, statInterpolation = {1, 1},  cost = { }, },
            [5] = {7, 5, 3, -60, 30, levelRequirement = 19, statInterpolation = {1, 1},  cost = { }, },
            [6] = {9, 7, 3, -60, 30, levelRequirement = 22, statInterpolation = {1, 1},  cost = { }, },
            [7] = {12, 8, 3, -60, 30, levelRequirement = 25, statInterpolation = {1, 1},  cost = { }, },
            [8] = {14, 10, 3, -60, 30, levelRequirement = 28, statInterpolation = {1, 1},  cost = { }, },
            [9] = {16, 11, 3, -60, 30, levelRequirement = 32, statInterpolation = {1, 1},  cost = { }, },
            [10] = {19, 13, 3, -60, 30, levelRequirement = 36, statInterpolation = {1, 1},  cost = { }, },
            [11] = {21, 14, 3, -60, 30, levelRequirement = 40, statInterpolation = {1, 1},  cost = { }, },
            [12] = {24, 16, 3, -60, 30, levelRequirement = 44, statInterpolation = {1, 1},  cost = { }, },
            [13] = {26, 17, 3, -60, 30, levelRequirement = 47, statInterpolation = {1, 1},  cost = { }, },
            [14] = {28, 19, 3, -60, 30, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
            [15] = {31, 20, 3, -60, 30, levelRequirement = 53, statInterpolation = {1, 1},  cost = { }, },
            [16] = {33, 22, 3, -60, 30, levelRequirement = 56, statInterpolation = {1, 1},  cost = { }, },
            [17] = {35, 23, 3, -60, 30, levelRequirement = 59, statInterpolation = {1, 1},  cost = { }, },
            [18] = {38, 25, 3, -60, 30, levelRequirement = 62, statInterpolation = {1, 1},  cost = { }, },
            [19] = {40, 26, 3, -60, 30, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
            [20] = {42, 28, 3, -60, 30, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
            [21] = {44, 29, 3, -60, 30, levelRequirement = 67, statInterpolation = {1, 1},  cost = { }, },
            [22] = {45, 29, 3, -60, 30, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
            [23] = {46, 30, 3, -60, 30, levelRequirement = 69, statInterpolation = {1, 1},  cost = { }, },
            [24] = {47, 31, 3, -60, 30, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
            [25] = {48, 32, 3, -60, 30, levelRequirement = 71, statInterpolation = {1, 1},  cost = { }, },
            [26] = {49, 32, 3, -60, 30, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
            [27] = {51, 33, 3, -60, 30, levelRequirement = 73, statInterpolation = {1, 1},  cost = { }, },
            [28] = {52, 34, 3, -60, 30, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
            [29] = {53, 35, 3, -60, 30, levelRequirement = 75, statInterpolation = {1, 1},  cost = { }, },
            [30] = {54, 35, 3, -60, 30, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
            [31] = {55, 36, 3, -60, 30, levelRequirement = 77, statInterpolation = {1, 1},  cost = { }, },
            [32] = {56, 37, 3, -60, 30, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
            [33] = {58, 39, 3, -60, 30, levelRequirement = 79, statInterpolation = {1, 1},  cost = { }, },
            [34] = {59, 38, 3, -60, 30, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
            [35] = {60, 39, 3, -60, 30, levelRequirement = 81, statInterpolation = {1, 1},  cost = { }, },
            [36] = {61, 40, 3, -60, 30, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
            [37] = {64, 41, 3, -60, 30, levelRequirement = 84, statInterpolation = {1, 1},  cost = { }, },
            [38] = {66, 43, 3, -60, 30, levelRequirement = 86, statInterpolation = {1, 1},  cost = { }, },
            [39] = {68, 44, 3, -60, 30, levelRequirement = 88, statInterpolation = {1, 1},  cost = { }, },
        },
    }
    
    Monsters grant 100% increased Experience
    15000% increased Rarity of Items Dropped
    FamilyMonsterMapBoss
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain experience +% Min: 100 Max: 100 Global
  • monster dropped item rarity +% Min: 15000 Max: 15000 Global
  • monster base type attack cast speed +% and damage -% final [33]
    FamilyMonsterSpeedAndDamageFixup
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster base type attack cast speed +% and damage -% final Min: 33 Max: 33 Global
  • Craft Tagscaster_damage damage attack caster speed
    20% increased Attack Speed
    FamilyIncreasedAttackSpeed
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • attack speed +% Min: 20 Max: 20 Global
  • Craft Tagsattack speed
    cannot be stunned for ms after stun finished [2000]
    cannot be stunned while stunned [1]
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • cannot be stunned while stunned Min: 1 Max: 1 Global
  • cannot be stunned for ms after stun finished Min: 2000 Max: 2000 Global
  • Orra Greengate
    Humanoid
    Monsters grant 100% increased Experience
    15000% increased Rarity of Items Dropped
    monster base type attack cast speed +% and damage -% final [33]
    20% increased Attack Speed
    cannot be stunned for ms after stun finished [2000]
    cannot be stunned while stunned [1]
    SpectreN
    Tagscold_affinity, cursing_monster, has_bow, human, humanoid, light_armour, medium_movement, medium_small_height, not_int, not_str, physical_affinity, puncturing_weapon, ranged, red_blood, standalone_map_boss
    Life
    224%
    Evasion
    +100%
    Ailment Threshold
    224%
    Resistance
    40 40 40 25
    Damage
    144%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 80
    Attack Time
    1.605 Second
    Damage Spread
    ±20%
    Experience
    200%
    Model Size
    100%
    Type
    ExileRanger1MapBoss
    Metadata
    ExileRanger1MapBossStandalone
    Level
    68
    Life
    312,136
    Armour
    28,790
    Evasion Rating
    9,478
    Damage
    613
    Spell Damage
    914
    Accuracy
    580
    Attack Time
    1.07535
    Experience
    112,805
    Minion Life
    67,705
    Minion Damage
    489
    Ailment Threshold
    196,646
    Chill
    622
    Shock
    622
    Brittle
    3,518
    Scorch
    622
    Sap
    1,718
    Melee
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Default Attack
    Base Damage: 973–1459
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Strike your foes down with a powerful blow.
    skill can fire arrows [1]
    skill can fire wand projectiles [1]
    ExileVulnerability
    Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, AppliesCurse, CanRapidFire, AreaSpell, Physical, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Hex
    Vulnerability
    Cast Time: 0.5 sec
    Cooldown Time: 8 sec
    Curse all targets in an area, causing them to take increased physical damage. Attacks against the cursed enemies have a chance to inflict bleeding.
    Base duration is 11.99 seconds
    Cursed enemies take 34% increased Physical Damage
    Attack Hits against Cursed Enemies have 25% chance to inflict Bleeding
    active skill area of effect radius +% final [38]
    ExileRainOfArrows
    Attack, RangedAttack, MirageArcherCanUse, Area, ProjectileSpeed, Totemable, Trappable, Mineable, Triggerable, Rain
    Rain of Arrows
    Base Damage: 973–1459
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Fires a large number of arrows into the air, to land at the target after a short delay.
    Gain 18% of Physical Damage as Extra Cold Damage
    Deals 30% less Damage
    19% increased Attack Speed
    18% increased Projectile Speed
    active skill area of effect radius +% final [21]
    animation effect variation [1]
    base is projectile [1]
    is area damage [1]
    spell maximum action distance +% [-35]
    ExileHatred
    Spell, Area, Buff, HasReservation, TotemCastsAlone, Totemable, Aura, Cold, Instant, AreaSpell, CanHaveBlessing, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Cooldown
    Hatred
    Cast Time: 1.2 sec
    Cooldown Time: 0.5 sec
    Casts an aura that grants extra cold damage based on physical damage to you and your allies.
    You and nearby allies gain 36% of Physical Damage as Extra Cold Damage
    active skill area of effect radius +% final [40]
    ExileFrenzy
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable, MeleeSingleTarget, Multistrikeable, Melee, Triggerable
    Frenzy
    Base Damage: 973–1459
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Performs an attack that gives the character a frenzy charge if it hits. Frenzy charges increase your attack speed.
    Deals 28% less Damage
    Deals 10% more Physical Damage
    10% increased Physical Damage per Frenzy Charge
    Fires 2 additional Projectiles
    10% increased Attack Speed per Frenzy Charge
    skill can fire arrows [1]
    ExileVaalRainOfArrows
    Attack, RangedAttack, Area, ProjectileSpeed, Totemable, Trappable, Mineable, Duration, Vaal, Rain
    Vaal Rain of Arrows
    Base Damage: 973–1459
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Fires a large number of arrows into the air, to land at the target after a short delay. Enemies hit by the arrows are pinned in place, unable to move for a time.
    Gain 18% of Physical Damage as Extra Cold Damage
    Deals 30% less Damage
    Base duration is 4.4 seconds
    19% increased Attack Speed
    18% increased Projectile Speed
    active skill area of effect radius +% final [21]
    base is projectile [1]
    is area damage [1]
    rain of arrows pin [1]
    spell maximum action distance +% [-35]
    ExileBarrage
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable
    Barrage
    Base Damage: 973–1459
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Cooldown Time: 4 sec
    After a short preparation time, you fire individual projectiles repeatedly with a Bow or Wand. These projectiles have a small randomised spread. This skill cannot be Triggered.
    Deals 60% less Damage
    Fires 3 additional Projectiles
    45% increased Physical Damage
    Fires Projectiles sequentially
    29% more Attack Speed
    monster reverse point blank damage -% at minimum range [30]
    skill can fire arrows [1]
    skill can fire wand projectiles [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Exiles/ExileMapBoss"
    extends "Metadata/Monsters/StandaloneMapBoss"
    
    Stats
    {
    	set_base_mana_cost_-% = 0
    	set_mana_regeneration_rate_per_minute_% = 0
    }
    
    StateMachine
    {
    	define_shared_state = "add_effects;"
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Exiles/ExileMapBoss"
    extends "Metadata/Monsters/StandaloneMapBoss"
    
    StateMachine
    {
    	on_or_create_state_add_effects_1 = "AddEffectPackToVisualSlotAttachedObject( Metadata/Effects/Microtransactions/Weapon_effects/Weapon_effects/green/dryad/Bow/dryad_epk.epk, OffHand );"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Exiles/ExileRanger1MapBossStandalone"] = {
        name = "Orra Greengate",
        life = 2.24,
        fireResist = 40,
        coldResist = 40,
        lightningResist = 40,
        chaosResist = 25,
        damage = 1.44,
        damageSpread = 0.2,
        attackTime = 1.605,
        attackRange = 80,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "ExileFrenzy",
            "Melee",
            "ExileVulnerability",
            "ExileRainOfArrows",
            "ExileVaalRainOfArrows",
            "ExileHatred",
            "ExileBarrage",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileFrenzy"] = {
        name = "Frenzy",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Performs an attack that gives the character a frenzy charge if it hits. Frenzy charges increase your attack speed.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_+%_per_frenzy_charge",
            "base_attack_speed_+%_per_frenzy_charge",
            "active_skill_physical_damage_+%_final",
            "skill_can_fire_arrows",
        },
        levels = {
            [1] = {10, 10, 10, levelRequirement = 30, statInterpolation = {},  cost = { }, },
            [2] = {0, 2, -20, 10, 10, 10, levelRequirement = 50, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {0, 2, -28, 10, 10, 10, levelRequirement = 65, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {0, 2, -36, 10, 10, 10, levelRequirement = 75, statInterpolation = {1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["Melee"] = {
        name = "Default Attack",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Strike your foes down with a powerful blow.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileVulnerability"] = {
        name = "Vulnerability",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Curse all targets in an area, causing them to take increased physical damage. Attacks against the cursed enemies have a chance to inflict bleeding.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Cascadable] = true,
            [SkillType.AppliesCurse] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.Physical] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Hex] = true,
        },
        statDescriptionScope = "curse_skill_stat_descriptions",
        castTime = 0.5,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_skill_effect_duration",
            "physical_damage_taken_+%",
            "receive_bleeding_chance_%_when_hit_by_attack",
        },
        levels = {
            [1] = {9900, 25, 25, levelRequirement = 24, statInterpolation = {1, 1},  cost = { }, },
            [2] = {10010, 25, 2, 25, levelRequirement = 27, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {10120, 26, 4, 25, levelRequirement = 30, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {10230, 26, 6, 25, levelRequirement = 33, statInterpolation = {1, 1, 1},  cost = { }, },
            [5] = {10340, 27, 8, 25, levelRequirement = 35, statInterpolation = {1, 1, 1},  cost = { }, },
            [6] = {10450, 27, 10, 25, levelRequirement = 38, statInterpolation = {1, 1, 1},  cost = { }, },
            [7] = {10560, 28, 12, 25, levelRequirement = 40, statInterpolation = {1, 1, 1},  cost = { }, },
            [8] = {10670, 28, 14, 25, levelRequirement = 43, statInterpolation = {1, 1, 1},  cost = { }, },
            [9] = {10780, 29, 16, 25, levelRequirement = 46, statInterpolation = {1, 1, 1},  cost = { }, },
            [10] = {10890, 29, 18, 25, levelRequirement = 48, statInterpolation = {1, 1, 1},  cost = { }, },
            [11] = {11000, 30, 20, 25, levelRequirement = 50, statInterpolation = {1, 1, 1},  cost = { }, },
            [12] = {11110, 30, 22, 25, levelRequirement = 52, statInterpolation = {1, 1, 1},  cost = { }, },
            [13] = {11220, 31, 24, 25, levelRequirement = 54, statInterpolation = {1, 1, 1},  cost = { }, },
            [14] = {11330, 31, 26, 25, levelRequirement = 56, statInterpolation = {1, 1, 1},  cost = { }, },
            [15] = {11440, 32, 28, 25, levelRequirement = 58, statInterpolation = {1, 1, 1},  cost = { }, },
            [16] = {11550, 32, 30, 25, levelRequirement = 60, statInterpolation = {1, 1, 1},  cost = { }, },
            [17] = {11660, 33, 32, 25, levelRequirement = 62, statInterpolation = {1, 1, 1},  cost = { }, },
            [18] = {11770, 33, 34, 25, levelRequirement = 64, statInterpolation = {1, 1, 1},  cost = { }, },
            [19] = {11880, 34, 36, 25, levelRequirement = 66, statInterpolation = {1, 1, 1},  cost = { }, },
            [20] = {11990, 34, 38, 25, levelRequirement = 68, statInterpolation = {1, 1, 1},  cost = { }, },
            [21] = {12100, 35, 40, 25, levelRequirement = 70, statInterpolation = {1, 1, 1},  cost = { }, },
            [22] = {12210, 35, 42, 25, levelRequirement = 72, statInterpolation = {1, 1, 1},  cost = { }, },
            [23] = {12320, 36, 44, 25, levelRequirement = 74, statInterpolation = {1, 1, 1},  cost = { }, },
            [24] = {12430, 36, 46, 25, levelRequirement = 76, statInterpolation = {1, 1, 1},  cost = { }, },
            [25] = {12540, 37, 48, 25, levelRequirement = 78, statInterpolation = {1, 1, 1},  cost = { }, },
            [26] = {12650, 37, 50, 25, levelRequirement = 80, statInterpolation = {1, 1, 1},  cost = { }, },
            [27] = {12760, 38, 52, 25, levelRequirement = 82, statInterpolation = {1, 1, 1},  cost = { }, },
            [28] = {12870, 38, 54, 25, levelRequirement = 84, statInterpolation = {1, 1, 1},  cost = { }, },
            [29] = {12980, 39, 56, 25, levelRequirement = 86, statInterpolation = {1, 1, 1},  cost = { }, },
            [30] = {13090, 39, 58, 25, levelRequirement = 88, statInterpolation = {1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileRainOfArrows"] = {
        name = "Rain of Arrows",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires a large number of arrows into the air, to land at the target after a short delay.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Area] = true,
            [SkillType.ProjectileSpeed] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Rain] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_damage_+%_final",
            "animation_effect_variation",
            "spell_maximum_action_distance_+%",
            "is_area_damage",
            "base_is_projectile",
        },
        levels = {
            [1] = {-20, 1, -35, levelRequirement = 2, statInterpolation = {1},  cost = { }, },
            [2] = {-20, 1, 1, -35, levelRequirement = 4, statInterpolation = {1, 1},  cost = { }, },
            [3] = {-20, 2, 1, -35, levelRequirement = 6, statInterpolation = {1, 1},  cost = { }, },
            [4] = {-20, 3, 1, -35, levelRequirement = 9, statInterpolation = {1, 1},  cost = { }, },
            [5] = {-20, 10, 4, 1, -35, levelRequirement = 12, statInterpolation = {1, 1, 1},  cost = { }, },
            [6] = {-20, 10, 5, 1, -35, levelRequirement = 15, statInterpolation = {1, 1, 1},  cost = { }, },
            [7] = {-20, 11, 6, 1, -35, levelRequirement = 19, statInterpolation = {1, 1, 1},  cost = { }, },
            [8] = {-20, 11, 15, 7, 1, -35, levelRequirement = 23, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [9] = {-20, 12, 15, 8, 1, -35, levelRequirement = 28, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [10] = {-20, 12, 15, 9, 1, -35, levelRequirement = 33, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [11] = {-25, 13, 15, 10, 10, 1, -35, levelRequirement = 39, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [12] = {-25, 13, 15, 10, 11, 1, -35, levelRequirement = 43, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [13] = {-25, 14, 16, 11, 12, 1, -35, levelRequirement = 46, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [14] = {-25, 14, 16, 12, 13, 1, -35, levelRequirement = 49, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [15] = {-30, 15, 16, 13, 14, 1, -35, levelRequirement = 52, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [16] = {-30, 15, 16, 14, 15, 1, -35, levelRequirement = 55, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [17] = {-30, 16, 17, 15, 16, 1, -35, levelRequirement = 58, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [18] = {-30, 16, 17, 16, 17, 1, -35, levelRequirement = 61, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [19] = {-30, 17, 17, 17, 18, 1, -35, levelRequirement = 64, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [20] = {-30, 17, 17, 18, 19, 1, -35, levelRequirement = 66, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [21] = {-30, 18, 18, 19, 20, 1, -35, levelRequirement = 67, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [22] = {-30, 18, 18, 19, 21, 1, -35, levelRequirement = 68, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [23] = {-30, 19, 18, 20, 22, 1, -35, levelRequirement = 69, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [24] = {-30, 19, 18, 20, 23, 1, -35, levelRequirement = 70, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [25] = {-30, 20, 18, 21, 24, 1, -35, levelRequirement = 71, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [26] = {-30, 20, 18, 21, 25, 1, -35, levelRequirement = 72, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [27] = {-30, 21, 18, 22, 26, 1, -35, levelRequirement = 73, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [28] = {-30, 21, 18, 22, 27, 1, -35, levelRequirement = 74, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [29] = {-30, 22, 19, 23, 28, 1, -35, levelRequirement = 75, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [30] = {-30, 22, 19, 23, 29, 1, -35, levelRequirement = 76, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [31] = {-30, 23, 19, 24, 30, 1, -35, levelRequirement = 77, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [32] = {-30, 23, 19, 24, 31, 1, -35, levelRequirement = 78, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [33] = {-30, 24, 19, 25, 32, 1, -35, levelRequirement = 79, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [34] = {-30, 24, 19, 25, 33, 1, -35, levelRequirement = 80, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [35] = {-30, 25, 19, 26, 34, 1, -35, levelRequirement = 81, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [36] = {-30, 25, 19, 26, 35, 1, -35, levelRequirement = 82, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileVaalRainOfArrows"] = {
        name = "Vaal Rain of Arrows",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires a large number of arrows into the air, to land at the target after a short delay. Enemies hit by the arrows are pinned in place, unable to move for a time.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Area] = true,
            [SkillType.ProjectileSpeed] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Duration] = true,
            [SkillType.Vaal] = true,
            [SkillType.Rain] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            duration = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_damage_+%_final",
            "base_skill_effect_duration",
            "spell_maximum_action_distance_+%",
            "base_is_projectile",
            "is_area_damage",
            "rain_of_arrows_pin",
        },
        levels = {
            [1] = {-20, 3400, -35, levelRequirement = 2, statInterpolation = {1, 1},  cost = { }, },
            [2] = {-20, 3450, 1, -35, levelRequirement = 4, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {-20, 3500, 2, -35, levelRequirement = 6, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {-20, 3550, 3, -35, levelRequirement = 9, statInterpolation = {1, 1, 1},  cost = { }, },
            [5] = {-20, 3600, 10, 4, -35, levelRequirement = 12, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [6] = {-20, 3650, 10, 5, -35, levelRequirement = 15, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [7] = {-20, 3700, 11, 6, -35, levelRequirement = 19, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [8] = {-20, 3750, 11, 15, 7, -35, levelRequirement = 23, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [9] = {-20, 3800, 12, 15, 8, -35, levelRequirement = 28, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [10] = {-20, 3850, 12, 15, 9, -35, levelRequirement = 33, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [11] = {-25, 3900, 13, 15, 10, 10, -35, levelRequirement = 39, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [12] = {-25, 3950, 13, 15, 10, 11, -35, levelRequirement = 43, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [13] = {-25, 4000, 14, 16, 11, 12, -35, levelRequirement = 46, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [14] = {-25, 4050, 14, 16, 12, 13, -35, levelRequirement = 49, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [15] = {-30, 4100, 15, 16, 13, 14, -35, levelRequirement = 52, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [16] = {-30, 4150, 15, 16, 14, 15, -35, levelRequirement = 55, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [17] = {-30, 4200, 16, 17, 15, 16, -35, levelRequirement = 58, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [18] = {-30, 4250, 16, 17, 16, 17, -35, levelRequirement = 61, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [19] = {-30, 4300, 17, 17, 17, 18, -35, levelRequirement = 64, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [20] = {-30, 4350, 17, 17, 18, 19, -35, levelRequirement = 66, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [21] = {-30, 4375, 18, 18, 19, 20, -35, levelRequirement = 67, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [22] = {-30, 4400, 18, 18, 19, 21, -35, levelRequirement = 68, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [23] = {-30, 4425, 19, 18, 20, 22, -35, levelRequirement = 69, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [24] = {-30, 4450, 19, 18, 20, 23, -35, levelRequirement = 70, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [25] = {-30, 4475, 20, 18, 21, 24, -35, levelRequirement = 71, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [26] = {-30, 4500, 20, 18, 21, 25, -35, levelRequirement = 72, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [27] = {-30, 4525, 21, 18, 22, 26, -35, levelRequirement = 73, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [28] = {-30, 4550, 21, 18, 22, 27, -35, levelRequirement = 74, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [29] = {-30, 4575, 22, 19, 23, 28, -35, levelRequirement = 75, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [30] = {-30, 4600, 23, 19, 23, 29, -35, levelRequirement = 76, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [31] = {-30, 4625, 23, 19, 24, 30, -35, levelRequirement = 77, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [32] = {-30, 4650, 24, 19, 24, 31, -35, levelRequirement = 78, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [33] = {-30, 4675, 24, 19, 25, 32, -35, levelRequirement = 79, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [34] = {-30, 4700, 25, 19, 25, 33, -35, levelRequirement = 80, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [35] = {-30, 4725, 25, 19, 26, 34, -35, levelRequirement = 81, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [36] = {-30, 4750, 26, 19, 26, 35, -35, levelRequirement = 82, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileHatred"] = {
        name = "Hatred",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Casts an aura that grants extra cold damage based on physical damage to you and your allies.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Buff] = true,
            [SkillType.HasReservation] = true,
            [SkillType.TotemCastsAlone] = true,
            [SkillType.Totemable] = true,
            [SkillType.Aura] = true,
            [SkillType.Cold] = true,
            [SkillType.Instant] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.CanHaveBlessing] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Cooldown] = true,
        },
        statDescriptionScope = "aura_skill_stat_descriptions",
        castTime = 1.2,
        baseFlags = {
            area = true,
            spell = true,
            aura = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_%_to_add_as_cold",
        },
        levels = {
            [1] = {26, levelRequirement = 10, statInterpolation = {1},  cost = { }, },
            [2] = {26, 3, levelRequirement = 13, statInterpolation = {1, 1},  cost = { }, },
            [3] = {27, 6, levelRequirement = 16, statInterpolation = {1, 1},  cost = { }, },
            [4] = {27, 9, levelRequirement = 19, statInterpolation = {1, 1},  cost = { }, },
            [5] = {28, 12, levelRequirement = 22, statInterpolation = {1, 1},  cost = { }, },
            [6] = {28, 15, levelRequirement = 25, statInterpolation = {1, 1},  cost = { }, },
            [7] = {29, 18, levelRequirement = 28, statInterpolation = {1, 1},  cost = { }, },
            [8] = {29, 21, levelRequirement = 32, statInterpolation = {1, 1},  cost = { }, },
            [9] = {30, 23, levelRequirement = 36, statInterpolation = {1, 1},  cost = { }, },
            [10] = {30, 25, levelRequirement = 40, statInterpolation = {1, 1},  cost = { }, },
            [11] = {31, 27, levelRequirement = 44, statInterpolation = {1, 1},  cost = { }, },
            [12] = {31, 29, levelRequirement = 47, statInterpolation = {1, 1},  cost = { }, },
            [13] = {32, 31, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
            [14] = {32, 33, levelRequirement = 53, statInterpolation = {1, 1},  cost = { }, },
            [15] = {33, 35, levelRequirement = 56, statInterpolation = {1, 1},  cost = { }, },
            [16] = {34, 36, levelRequirement = 59, statInterpolation = {1, 1},  cost = { }, },
            [17] = {34, 37, levelRequirement = 62, statInterpolation = {1, 1},  cost = { }, },
            [18] = {35, 38, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
            [19] = {35, 39, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
            [20] = {36, 40, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
            [21] = {36, 41, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
            [22] = {37, 42, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
            [23] = {37, 43, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
            [24] = {38, 44, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
            [25] = {38, 45, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
            [26] = {39, 46, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
            [27] = {39, 47, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
            [28] = {40, 48, levelRequirement = 84, statInterpolation = {1, 1},  cost = { }, },
            [29] = {40, 49, levelRequirement = 86, statInterpolation = {1, 1},  cost = { }, },
            [30] = {41, 50, levelRequirement = 88, statInterpolation = {1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileBarrage"] = {
        name = "Barrage",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "After a short preparation time, you fire individual projectiles repeatedly with a Bow or Wand. These projectiles have a small randomised spread. This skill cannot be Triggered.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_+%",
            "active_skill_attack_speed_+%_final",
            "number_of_additional_projectiles",
            "active_skill_damage_+%_final",
            "monster_reverse_point_blank_damage_-%_at_minimum_range",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "projectiles_barrage",
        },
        levels = {
            [1] = {0, 0, 3, -60, 30, levelRequirement = 3, statInterpolation = {1, 1},  cost = { }, },
            [2] = {0, 1, 3, -60, 30, levelRequirement = 10, statInterpolation = {1, 1},  cost = { }, },
            [3] = {2, 2, 3, -60, 30, levelRequirement = 13, statInterpolation = {1, 1},  cost = { }, },
            [4] = {5, 4, 3, -60, 30, levelRequirement = 16, statInterpolation = {1, 1},  cost = { }, },
            [5] = {7, 5, 3, -60, 30, levelRequirement = 19, statInterpolation = {1, 1},  cost = { }, },
            [6] = {9, 7, 3, -60, 30, levelRequirement = 22, statInterpolation = {1, 1},  cost = { }, },
            [7] = {12, 8, 3, -60, 30, levelRequirement = 25, statInterpolation = {1, 1},  cost = { }, },
            [8] = {14, 10, 3, -60, 30, levelRequirement = 28, statInterpolation = {1, 1},  cost = { }, },
            [9] = {16, 11, 3, -60, 30, levelRequirement = 32, statInterpolation = {1, 1},  cost = { }, },
            [10] = {19, 13, 3, -60, 30, levelRequirement = 36, statInterpolation = {1, 1},  cost = { }, },
            [11] = {21, 14, 3, -60, 30, levelRequirement = 40, statInterpolation = {1, 1},  cost = { }, },
            [12] = {24, 16, 3, -60, 30, levelRequirement = 44, statInterpolation = {1, 1},  cost = { }, },
            [13] = {26, 17, 3, -60, 30, levelRequirement = 47, statInterpolation = {1, 1},  cost = { }, },
            [14] = {28, 19, 3, -60, 30, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
            [15] = {31, 20, 3, -60, 30, levelRequirement = 53, statInterpolation = {1, 1},  cost = { }, },
            [16] = {33, 22, 3, -60, 30, levelRequirement = 56, statInterpolation = {1, 1},  cost = { }, },
            [17] = {35, 23, 3, -60, 30, levelRequirement = 59, statInterpolation = {1, 1},  cost = { }, },
            [18] = {38, 25, 3, -60, 30, levelRequirement = 62, statInterpolation = {1, 1},  cost = { }, },
            [19] = {40, 26, 3, -60, 30, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
            [20] = {42, 28, 3, -60, 30, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
            [21] = {44, 29, 3, -60, 30, levelRequirement = 67, statInterpolation = {1, 1},  cost = { }, },
            [22] = {45, 29, 3, -60, 30, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
            [23] = {46, 30, 3, -60, 30, levelRequirement = 69, statInterpolation = {1, 1},  cost = { }, },
            [24] = {47, 31, 3, -60, 30, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
            [25] = {48, 32, 3, -60, 30, levelRequirement = 71, statInterpolation = {1, 1},  cost = { }, },
            [26] = {49, 32, 3, -60, 30, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
            [27] = {51, 33, 3, -60, 30, levelRequirement = 73, statInterpolation = {1, 1},  cost = { }, },
            [28] = {52, 34, 3, -60, 30, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
            [29] = {53, 35, 3, -60, 30, levelRequirement = 75, statInterpolation = {1, 1},  cost = { }, },
            [30] = {54, 35, 3, -60, 30, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
            [31] = {55, 36, 3, -60, 30, levelRequirement = 77, statInterpolation = {1, 1},  cost = { }, },
            [32] = {56, 37, 3, -60, 30, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
            [33] = {58, 39, 3, -60, 30, levelRequirement = 79, statInterpolation = {1, 1},  cost = { }, },
            [34] = {59, 38, 3, -60, 30, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
            [35] = {60, 39, 3, -60, 30, levelRequirement = 81, statInterpolation = {1, 1},  cost = { }, },
            [36] = {61, 40, 3, -60, 30, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
            [37] = {64, 41, 3, -60, 30, levelRequirement = 84, statInterpolation = {1, 1},  cost = { }, },
            [38] = {66, 43, 3, -60, 30, levelRequirement = 86, statInterpolation = {1, 1},  cost = { }, },
            [39] = {68, 44, 3, -60, 30, levelRequirement = 88, statInterpolation = {1, 1},  cost = { }, },
        },
    }
    
    Monsters grant 100% increased Experience
    15000% increased Rarity of Items Dropped
    FamilyMonsterMapBoss
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain experience +% Min: 100 Max: 100 Global
  • monster dropped item rarity +% Min: 15000 Max: 15000 Global
  • monster base type attack cast speed +% and damage -% final [33]
    FamilyMonsterSpeedAndDamageFixup
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster base type attack cast speed +% and damage -% final Min: 33 Max: 33 Global
  • Craft Tagscaster_damage damage attack caster speed
    20% increased Attack Speed
    FamilyIncreasedAttackSpeed
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • attack speed +% Min: 20 Max: 20 Global
  • Craft Tagsattack speed
    cannot be stunned for ms after stun finished [2000]
    cannot be stunned while stunned [1]
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • cannot be stunned while stunned Min: 1 Max: 1 Global
  • cannot be stunned for ms after stun finished Min: 2000 Max: 2000 Global
  • Orra Greengate
    Humanoid
    Monsters grant 100% increased Experience
    15000% increased Rarity of Items Dropped
    monster base type attack cast speed +% and damage -% final [33]
    20% increased Attack Speed
    cannot be stunned for ms after stun finished [2000]
    cannot be stunned while stunned [1]
    SpectreN
    Tagselder_map_boss, has_bow, human, humanoid, light_armour, medium_movement, medium_small_height, non_attacking, not_int, not_str, puncturing_weapon, red_blood
    Life
    224%
    Evasion
    +100%
    Ailment Threshold
    224%
    Resistance
    40 40 40 25
    Damage
    144%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 80
    Attack Time
    1.605 Second
    Damage Spread
    ±20%
    Experience
    200%
    Model Size
    100%
    Type
    ExileRanger1MapBoss
    Metadata
    ExileRanger1MapBossElder

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Life
    {
    	corpse_usable = false
    }
    
    Stats
    {
    	base_cannot_be_damaged = 1
    	base_cannot_be_stunned = 1
    	cannot_be_knocked_back = 1
    	is_hidden_monster = 1
    	immune_to_curses = 1
    	immune_to_auras_from_other_entities = 1
    	set_immune_vaal_lighting_warp = 1
    }
    
    Transitionable
    {
    	
    }
    
    Preload
    {
    	preload_object = "Metadata/Monsters/ElderBosses/ElderAbsorb"
    	preload_object = "Metadata/MiscellaneousObjects/ElderPortal"
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Transitionable
    {
    	on_transition = "AddEffectPack( Metadata/Effects/Spells/monsters_effects/AtlasofWorldsBosses/Elder/entrance/affecting_target.epk );"
    	create_transitioned = "AddEffectPack( Metadata/Effects/Spells/monsters_effects/AtlasofWorldsBosses/Elder/entrance/affecting_target_instant.epk );"
    }
    
    Animated
    {
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/AtlasofWorldsBosses/Elder/entrance/entrance.ao"
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/AtlasofWorldsBosses/Elder/absorb/absorb.ao"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Exiles/ExileRanger1MapBossElder"] = {
        name = "Orra Greengate",
        life = 2.24,
        fireResist = 40,
        coldResist = 40,
        lightningResist = 40,
        chaosResist = 25,
        damage = 1.44,
        damageSpread = 0.2,
        attackTime = 1.605,
        attackRange = 80,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
        },
        modList = {
        },
    }
    
    Monsters grant 100% increased Experience
    15000% increased Rarity of Items Dropped
    FamilyMonsterMapBoss
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain experience +% Min: 100 Max: 100 Global
  • monster dropped item rarity +% Min: 15000 Max: 15000 Global
  • monster base type attack cast speed +% and damage -% final [33]
    FamilyMonsterSpeedAndDamageFixup
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster base type attack cast speed +% and damage -% final Min: 33 Max: 33 Global
  • Craft Tagscaster_damage damage attack caster speed
    20% increased Attack Speed
    FamilyIncreasedAttackSpeed
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • attack speed +% Min: 20 Max: 20 Global
  • Craft Tagsattack speed
    cannot be stunned for ms after stun finished [2000]
    cannot be stunned while stunned [1]
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • cannot be stunned while stunned Min: 1 Max: 1 Global
  • cannot be stunned for ms after stun finished Min: 2000 Max: 2000 Global
  • Orra Greengate
    Humanoid
    monster base type attack cast speed +% and damage -% final [33]
    20% increased Attack Speed
    SpectreN
    Tagscold_affinity, cursing_monster, delve_monster, exile, female_rogue_exile, has_bow, human, humanoid, light_armour, medium_height, medium_movement, no_pantheon_mod, not_int, not_str, physical_affinity, puncturing_weapon, ranged, red_blood
    Life
    112%
    Evasion
    +100%
    Ailment Threshold
    112%
    Resistance
    30 30 30 20
    Damage
    143%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 80
    Attack Time
    1.605 Second
    Damage Spread
    ±20%
    Experience
    220%
    Model Size
    100%
    Type
    ExileRangerDelve1
    Metadata
    DelveExileRanger1
    Level
    68
    Life
    7,205
    Armour
    28,790
    Evasion Rating
    9,478
    Damage
    534
    Spell Damage
    534
    Accuracy
    580
    Attack Time
    1.605
    Experience
    22,561
    Minion Life
    1,563
    Minion Damage
    427
    Ailment Threshold
    7,205
    Chill
    23
    Shock
    23
    Brittle
    129
    Scorch
    23
    Sap
    63
    Melee
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Default Attack
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Strike your foes down with a powerful blow.
    skill can fire arrows [1]
    skill can fire wand projectiles [1]
    ExileVulnerability
    Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, AppliesCurse, CanRapidFire, AreaSpell, Physical, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Hex
    Vulnerability
    Cast Time: 0.5 sec
    Cooldown Time: 8 sec
    Curse all targets in an area, causing them to take increased physical damage. Attacks against the cursed enemies have a chance to inflict bleeding.
    Base duration is 11.99 seconds
    Cursed enemies take 34% increased Physical Damage
    Attack Hits against Cursed Enemies have 25% chance to inflict Bleeding
    active skill area of effect radius +% final [38]
    ExileRainOfArrows
    Attack, RangedAttack, MirageArcherCanUse, Area, ProjectileSpeed, Totemable, Trappable, Mineable, Triggerable, Rain
    Rain of Arrows
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Fires a large number of arrows into the air, to land at the target after a short delay.
    Gain 18% of Physical Damage as Extra Cold Damage
    Deals 30% less Damage
    19% increased Attack Speed
    18% increased Projectile Speed
    active skill area of effect radius +% final [21]
    animation effect variation [1]
    base is projectile [1]
    is area damage [1]
    spell maximum action distance +% [-35]
    ExileHatred
    Spell, Area, Buff, HasReservation, TotemCastsAlone, Totemable, Aura, Cold, Instant, AreaSpell, CanHaveBlessing, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Cooldown
    Hatred
    Cast Time: 1.2 sec
    Cooldown Time: 0.5 sec
    Casts an aura that grants extra cold damage based on physical damage to you and your allies.
    You and nearby allies gain 36% of Physical Damage as Extra Cold Damage
    active skill area of effect radius +% final [40]
    ExileFrenzy
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable, MeleeSingleTarget, Multistrikeable, Melee, Triggerable
    Frenzy
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Performs an attack that gives the character a frenzy charge if it hits. Frenzy charges increase your attack speed.
    Deals 28% less Damage
    Deals 10% more Physical Damage
    10% increased Physical Damage per Frenzy Charge
    Fires 2 additional Projectiles
    10% increased Attack Speed per Frenzy Charge
    skill can fire arrows [1]
    ExileVaalRainOfArrows
    Attack, RangedAttack, Area, ProjectileSpeed, Totemable, Trappable, Mineable, Duration, Vaal, Rain
    Vaal Rain of Arrows
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Fires a large number of arrows into the air, to land at the target after a short delay. Enemies hit by the arrows are pinned in place, unable to move for a time.
    Gain 18% of Physical Damage as Extra Cold Damage
    Deals 30% less Damage
    Base duration is 4.4 seconds
    19% increased Attack Speed
    18% increased Projectile Speed
    active skill area of effect radius +% final [21]
    base is projectile [1]
    is area damage [1]
    rain of arrows pin [1]
    spell maximum action distance +% [-35]
    ExileBarrage
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable
    Barrage
    Base Damage: 427–641
    Critical Strike Chance: 5%
    Attack Time: 1.605 sec
    Cooldown Time: 4 sec
    After a short preparation time, you fire individual projectiles repeatedly with a Bow or Wand. These projectiles have a small randomised spread. This skill cannot be Triggered.
    Deals 60% less Damage
    Fires 3 additional Projectiles
    45% increased Physical Damage
    Fires Projectiles sequentially
    29% more Attack Speed
    monster reverse point blank damage -% at minimum range [30]
    skill can fire arrows [1]
    skill can fire wand projectiles [1]
    WalkEmergeExile
    walk emerge distance [200]

    Object Type

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

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Exiles/Exile"
    
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Exiles/DelveExileRanger1"] = {
        name = "Orra Greengate",
        life = 1.12,
        fireResist = 30,
        coldResist = 30,
        lightningResist = 30,
        chaosResist = 20,
        damage = 1.43,
        damageSpread = 0.2,
        attackTime = 1.605,
        attackRange = 80,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "ExileFrenzy",
            "Melee",
            "ExileVulnerability",
            "ExileRainOfArrows",
            "ExileVaalRainOfArrows",
            "ExileHatred",
            "ExileBarrage",
            "WalkEmergeExile",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileFrenzy"] = {
        name = "Frenzy",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Performs an attack that gives the character a frenzy charge if it hits. Frenzy charges increase your attack speed.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_+%_per_frenzy_charge",
            "base_attack_speed_+%_per_frenzy_charge",
            "active_skill_physical_damage_+%_final",
            "skill_can_fire_arrows",
        },
        levels = {
            [1] = {10, 10, 10, levelRequirement = 30, statInterpolation = {},  cost = { }, },
            [2] = {0, 2, -20, 10, 10, 10, levelRequirement = 50, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {0, 2, -28, 10, 10, 10, levelRequirement = 65, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {0, 2, -36, 10, 10, 10, levelRequirement = 75, statInterpolation = {1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["Melee"] = {
        name = "Default Attack",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Strike your foes down with a powerful blow.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileVulnerability"] = {
        name = "Vulnerability",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Curse all targets in an area, causing them to take increased physical damage. Attacks against the cursed enemies have a chance to inflict bleeding.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Cascadable] = true,
            [SkillType.AppliesCurse] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.Physical] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Hex] = true,
        },
        statDescriptionScope = "curse_skill_stat_descriptions",
        castTime = 0.5,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_skill_effect_duration",
            "physical_damage_taken_+%",
            "receive_bleeding_chance_%_when_hit_by_attack",
        },
        levels = {
            [1] = {9900, 25, 25, levelRequirement = 24, statInterpolation = {1, 1},  cost = { }, },
            [2] = {10010, 25, 2, 25, levelRequirement = 27, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {10120, 26, 4, 25, levelRequirement = 30, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {10230, 26, 6, 25, levelRequirement = 33, statInterpolation = {1, 1, 1},  cost = { }, },
            [5] = {10340, 27, 8, 25, levelRequirement = 35, statInterpolation = {1, 1, 1},  cost = { }, },
            [6] = {10450, 27, 10, 25, levelRequirement = 38, statInterpolation = {1, 1, 1},  cost = { }, },
            [7] = {10560, 28, 12, 25, levelRequirement = 40, statInterpolation = {1, 1, 1},  cost = { }, },
            [8] = {10670, 28, 14, 25, levelRequirement = 43, statInterpolation = {1, 1, 1},  cost = { }, },
            [9] = {10780, 29, 16, 25, levelRequirement = 46, statInterpolation = {1, 1, 1},  cost = { }, },
            [10] = {10890, 29, 18, 25, levelRequirement = 48, statInterpolation = {1, 1, 1},  cost = { }, },
            [11] = {11000, 30, 20, 25, levelRequirement = 50, statInterpolation = {1, 1, 1},  cost = { }, },
            [12] = {11110, 30, 22, 25, levelRequirement = 52, statInterpolation = {1, 1, 1},  cost = { }, },
            [13] = {11220, 31, 24, 25, levelRequirement = 54, statInterpolation = {1, 1, 1},  cost = { }, },
            [14] = {11330, 31, 26, 25, levelRequirement = 56, statInterpolation = {1, 1, 1},  cost = { }, },
            [15] = {11440, 32, 28, 25, levelRequirement = 58, statInterpolation = {1, 1, 1},  cost = { }, },
            [16] = {11550, 32, 30, 25, levelRequirement = 60, statInterpolation = {1, 1, 1},  cost = { }, },
            [17] = {11660, 33, 32, 25, levelRequirement = 62, statInterpolation = {1, 1, 1},  cost = { }, },
            [18] = {11770, 33, 34, 25, levelRequirement = 64, statInterpolation = {1, 1, 1},  cost = { }, },
            [19] = {11880, 34, 36, 25, levelRequirement = 66, statInterpolation = {1, 1, 1},  cost = { }, },
            [20] = {11990, 34, 38, 25, levelRequirement = 68, statInterpolation = {1, 1, 1},  cost = { }, },
            [21] = {12100, 35, 40, 25, levelRequirement = 70, statInterpolation = {1, 1, 1},  cost = { }, },
            [22] = {12210, 35, 42, 25, levelRequirement = 72, statInterpolation = {1, 1, 1},  cost = { }, },
            [23] = {12320, 36, 44, 25, levelRequirement = 74, statInterpolation = {1, 1, 1},  cost = { }, },
            [24] = {12430, 36, 46, 25, levelRequirement = 76, statInterpolation = {1, 1, 1},  cost = { }, },
            [25] = {12540, 37, 48, 25, levelRequirement = 78, statInterpolation = {1, 1, 1},  cost = { }, },
            [26] = {12650, 37, 50, 25, levelRequirement = 80, statInterpolation = {1, 1, 1},  cost = { }, },
            [27] = {12760, 38, 52, 25, levelRequirement = 82, statInterpolation = {1, 1, 1},  cost = { }, },
            [28] = {12870, 38, 54, 25, levelRequirement = 84, statInterpolation = {1, 1, 1},  cost = { }, },
            [29] = {12980, 39, 56, 25, levelRequirement = 86, statInterpolation = {1, 1, 1},  cost = { }, },
            [30] = {13090, 39, 58, 25, levelRequirement = 88, statInterpolation = {1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileRainOfArrows"] = {
        name = "Rain of Arrows",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires a large number of arrows into the air, to land at the target after a short delay.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Area] = true,
            [SkillType.ProjectileSpeed] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Rain] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_damage_+%_final",
            "animation_effect_variation",
            "spell_maximum_action_distance_+%",
            "is_area_damage",
            "base_is_projectile",
        },
        levels = {
            [1] = {-20, 1, -35, levelRequirement = 2, statInterpolation = {1},  cost = { }, },
            [2] = {-20, 1, 1, -35, levelRequirement = 4, statInterpolation = {1, 1},  cost = { }, },
            [3] = {-20, 2, 1, -35, levelRequirement = 6, statInterpolation = {1, 1},  cost = { }, },
            [4] = {-20, 3, 1, -35, levelRequirement = 9, statInterpolation = {1, 1},  cost = { }, },
            [5] = {-20, 10, 4, 1, -35, levelRequirement = 12, statInterpolation = {1, 1, 1},  cost = { }, },
            [6] = {-20, 10, 5, 1, -35, levelRequirement = 15, statInterpolation = {1, 1, 1},  cost = { }, },
            [7] = {-20, 11, 6, 1, -35, levelRequirement = 19, statInterpolation = {1, 1, 1},  cost = { }, },
            [8] = {-20, 11, 15, 7, 1, -35, levelRequirement = 23, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [9] = {-20, 12, 15, 8, 1, -35, levelRequirement = 28, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [10] = {-20, 12, 15, 9, 1, -35, levelRequirement = 33, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [11] = {-25, 13, 15, 10, 10, 1, -35, levelRequirement = 39, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [12] = {-25, 13, 15, 10, 11, 1, -35, levelRequirement = 43, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [13] = {-25, 14, 16, 11, 12, 1, -35, levelRequirement = 46, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [14] = {-25, 14, 16, 12, 13, 1, -35, levelRequirement = 49, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [15] = {-30, 15, 16, 13, 14, 1, -35, levelRequirement = 52, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [16] = {-30, 15, 16, 14, 15, 1, -35, levelRequirement = 55, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [17] = {-30, 16, 17, 15, 16, 1, -35, levelRequirement = 58, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [18] = {-30, 16, 17, 16, 17, 1, -35, levelRequirement = 61, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [19] = {-30, 17, 17, 17, 18, 1, -35, levelRequirement = 64, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [20] = {-30, 17, 17, 18, 19, 1, -35, levelRequirement = 66, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [21] = {-30, 18, 18, 19, 20, 1, -35, levelRequirement = 67, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [22] = {-30, 18, 18, 19, 21, 1, -35, levelRequirement = 68, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [23] = {-30, 19, 18, 20, 22, 1, -35, levelRequirement = 69, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [24] = {-30, 19, 18, 20, 23, 1, -35, levelRequirement = 70, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [25] = {-30, 20, 18, 21, 24, 1, -35, levelRequirement = 71, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [26] = {-30, 20, 18, 21, 25, 1, -35, levelRequirement = 72, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [27] = {-30, 21, 18, 22, 26, 1, -35, levelRequirement = 73, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [28] = {-30, 21, 18, 22, 27, 1, -35, levelRequirement = 74, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [29] = {-30, 22, 19, 23, 28, 1, -35, levelRequirement = 75, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [30] = {-30, 22, 19, 23, 29, 1, -35, levelRequirement = 76, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [31] = {-30, 23, 19, 24, 30, 1, -35, levelRequirement = 77, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [32] = {-30, 23, 19, 24, 31, 1, -35, levelRequirement = 78, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [33] = {-30, 24, 19, 25, 32, 1, -35, levelRequirement = 79, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [34] = {-30, 24, 19, 25, 33, 1, -35, levelRequirement = 80, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [35] = {-30, 25, 19, 26, 34, 1, -35, levelRequirement = 81, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [36] = {-30, 25, 19, 26, 35, 1, -35, levelRequirement = 82, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileVaalRainOfArrows"] = {
        name = "Vaal Rain of Arrows",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires a large number of arrows into the air, to land at the target after a short delay. Enemies hit by the arrows are pinned in place, unable to move for a time.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Area] = true,
            [SkillType.ProjectileSpeed] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Duration] = true,
            [SkillType.Vaal] = true,
            [SkillType.Rain] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            duration = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_damage_+%_final",
            "base_skill_effect_duration",
            "spell_maximum_action_distance_+%",
            "base_is_projectile",
            "is_area_damage",
            "rain_of_arrows_pin",
        },
        levels = {
            [1] = {-20, 3400, -35, levelRequirement = 2, statInterpolation = {1, 1},  cost = { }, },
            [2] = {-20, 3450, 1, -35, levelRequirement = 4, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {-20, 3500, 2, -35, levelRequirement = 6, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {-20, 3550, 3, -35, levelRequirement = 9, statInterpolation = {1, 1, 1},  cost = { }, },
            [5] = {-20, 3600, 10, 4, -35, levelRequirement = 12, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [6] = {-20, 3650, 10, 5, -35, levelRequirement = 15, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [7] = {-20, 3700, 11, 6, -35, levelRequirement = 19, statInterpolation = {1, 1, 1, 1},  cost = { }, },
            [8] = {-20, 3750, 11, 15, 7, -35, levelRequirement = 23, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [9] = {-20, 3800, 12, 15, 8, -35, levelRequirement = 28, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [10] = {-20, 3850, 12, 15, 9, -35, levelRequirement = 33, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
            [11] = {-25, 3900, 13, 15, 10, 10, -35, levelRequirement = 39, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [12] = {-25, 3950, 13, 15, 10, 11, -35, levelRequirement = 43, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [13] = {-25, 4000, 14, 16, 11, 12, -35, levelRequirement = 46, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [14] = {-25, 4050, 14, 16, 12, 13, -35, levelRequirement = 49, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [15] = {-30, 4100, 15, 16, 13, 14, -35, levelRequirement = 52, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [16] = {-30, 4150, 15, 16, 14, 15, -35, levelRequirement = 55, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [17] = {-30, 4200, 16, 17, 15, 16, -35, levelRequirement = 58, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [18] = {-30, 4250, 16, 17, 16, 17, -35, levelRequirement = 61, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [19] = {-30, 4300, 17, 17, 17, 18, -35, levelRequirement = 64, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [20] = {-30, 4350, 17, 17, 18, 19, -35, levelRequirement = 66, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [21] = {-30, 4375, 18, 18, 19, 20, -35, levelRequirement = 67, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [22] = {-30, 4400, 18, 18, 19, 21, -35, levelRequirement = 68, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [23] = {-30, 4425, 19, 18, 20, 22, -35, levelRequirement = 69, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [24] = {-30, 4450, 19, 18, 20, 23, -35, levelRequirement = 70, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [25] = {-30, 4475, 20, 18, 21, 24, -35, levelRequirement = 71, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [26] = {-30, 4500, 20, 18, 21, 25, -35, levelRequirement = 72, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [27] = {-30, 4525, 21, 18, 22, 26, -35, levelRequirement = 73, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [28] = {-30, 4550, 21, 18, 22, 27, -35, levelRequirement = 74, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [29] = {-30, 4575, 22, 19, 23, 28, -35, levelRequirement = 75, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [30] = {-30, 4600, 23, 19, 23, 29, -35, levelRequirement = 76, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [31] = {-30, 4625, 23, 19, 24, 30, -35, levelRequirement = 77, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [32] = {-30, 4650, 24, 19, 24, 31, -35, levelRequirement = 78, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [33] = {-30, 4675, 24, 19, 25, 32, -35, levelRequirement = 79, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [34] = {-30, 4700, 25, 19, 25, 33, -35, levelRequirement = 80, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [35] = {-30, 4725, 25, 19, 26, 34, -35, levelRequirement = 81, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
            [36] = {-30, 4750, 26, 19, 26, 35, -35, levelRequirement = 82, statInterpolation = {1, 1, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileHatred"] = {
        name = "Hatred",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Casts an aura that grants extra cold damage based on physical damage to you and your allies.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Buff] = true,
            [SkillType.HasReservation] = true,
            [SkillType.TotemCastsAlone] = true,
            [SkillType.Totemable] = true,
            [SkillType.Aura] = true,
            [SkillType.Cold] = true,
            [SkillType.Instant] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.CanHaveBlessing] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Cooldown] = true,
        },
        statDescriptionScope = "aura_skill_stat_descriptions",
        castTime = 1.2,
        baseFlags = {
            area = true,
            spell = true,
            aura = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_%_to_add_as_cold",
        },
        levels = {
            [1] = {26, levelRequirement = 10, statInterpolation = {1},  cost = { }, },
            [2] = {26, 3, levelRequirement = 13, statInterpolation = {1, 1},  cost = { }, },
            [3] = {27, 6, levelRequirement = 16, statInterpolation = {1, 1},  cost = { }, },
            [4] = {27, 9, levelRequirement = 19, statInterpolation = {1, 1},  cost = { }, },
            [5] = {28, 12, levelRequirement = 22, statInterpolation = {1, 1},  cost = { }, },
            [6] = {28, 15, levelRequirement = 25, statInterpolation = {1, 1},  cost = { }, },
            [7] = {29, 18, levelRequirement = 28, statInterpolation = {1, 1},  cost = { }, },
            [8] = {29, 21, levelRequirement = 32, statInterpolation = {1, 1},  cost = { }, },
            [9] = {30, 23, levelRequirement = 36, statInterpolation = {1, 1},  cost = { }, },
            [10] = {30, 25, levelRequirement = 40, statInterpolation = {1, 1},  cost = { }, },
            [11] = {31, 27, levelRequirement = 44, statInterpolation = {1, 1},  cost = { }, },
            [12] = {31, 29, levelRequirement = 47, statInterpolation = {1, 1},  cost = { }, },
            [13] = {32, 31, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
            [14] = {32, 33, levelRequirement = 53, statInterpolation = {1, 1},  cost = { }, },
            [15] = {33, 35, levelRequirement = 56, statInterpolation = {1, 1},  cost = { }, },
            [16] = {34, 36, levelRequirement = 59, statInterpolation = {1, 1},  cost = { }, },
            [17] = {34, 37, levelRequirement = 62, statInterpolation = {1, 1},  cost = { }, },
            [18] = {35, 38, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
            [19] = {35, 39, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
            [20] = {36, 40, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
            [21] = {36, 41, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
            [22] = {37, 42, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
            [23] = {37, 43, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
            [24] = {38, 44, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
            [25] = {38, 45, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
            [26] = {39, 46, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
            [27] = {39, 47, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
            [28] = {40, 48, levelRequirement = 84, statInterpolation = {1, 1},  cost = { }, },
            [29] = {40, 49, levelRequirement = 86, statInterpolation = {1, 1},  cost = { }, },
            [30] = {41, 50, levelRequirement = 88, statInterpolation = {1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExileBarrage"] = {
        name = "Barrage",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "After a short preparation time, you fire individual projectiles repeatedly with a Bow or Wand. These projectiles have a small randomised spread. This skill cannot be Triggered.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "physical_damage_+%",
            "active_skill_attack_speed_+%_final",
            "number_of_additional_projectiles",
            "active_skill_damage_+%_final",
            "monster_reverse_point_blank_damage_-%_at_minimum_range",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "projectiles_barrage",
        },
        levels = {
            [1] = {0, 0, 3, -60, 30, levelRequirement = 3, statInterpolation = {1, 1},  cost = { }, },
            [2] = {0, 1, 3, -60, 30, levelRequirement = 10, statInterpolation = {1, 1},  cost = { }, },
            [3] = {2, 2, 3, -60, 30, levelRequirement = 13, statInterpolation = {1, 1},  cost = { }, },
            [4] = {5, 4, 3, -60, 30, levelRequirement = 16, statInterpolation = {1, 1},  cost = { }, },
            [5] = {7, 5, 3, -60, 30, levelRequirement = 19, statInterpolation = {1, 1},  cost = { }, },
            [6] = {9, 7, 3, -60, 30, levelRequirement = 22, statInterpolation = {1, 1},  cost = { }, },
            [7] = {12, 8, 3, -60, 30, levelRequirement = 25, statInterpolation = {1, 1},  cost = { }, },
            [8] = {14, 10, 3, -60, 30, levelRequirement = 28, statInterpolation = {1, 1},  cost = { }, },
            [9] = {16, 11, 3, -60, 30, levelRequirement = 32, statInterpolation = {1, 1},  cost = { }, },
            [10] = {19, 13, 3, -60, 30, levelRequirement = 36, statInterpolation = {1, 1},  cost = { }, },
            [11] = {21, 14, 3, -60, 30, levelRequirement = 40, statInterpolation = {1, 1},  cost = { }, },
            [12] = {24, 16, 3, -60, 30, levelRequirement = 44, statInterpolation = {1, 1},  cost = { }, },
            [13] = {26, 17, 3, -60, 30, levelRequirement = 47, statInterpolation = {1, 1},  cost = { }, },
            [14] = {28, 19, 3, -60, 30, levelRequirement = 50, statInterpolation = {1, 1},  cost = { }, },
            [15] = {31, 20, 3, -60, 30, levelRequirement = 53, statInterpolation = {1, 1},  cost = { }, },
            [16] = {33, 22, 3, -60, 30, levelRequirement = 56, statInterpolation = {1, 1},  cost = { }, },
            [17] = {35, 23, 3, -60, 30, levelRequirement = 59, statInterpolation = {1, 1},  cost = { }, },
            [18] = {38, 25, 3, -60, 30, levelRequirement = 62, statInterpolation = {1, 1},  cost = { }, },
            [19] = {40, 26, 3, -60, 30, levelRequirement = 64, statInterpolation = {1, 1},  cost = { }, },
            [20] = {42, 28, 3, -60, 30, levelRequirement = 66, statInterpolation = {1, 1},  cost = { }, },
            [21] = {44, 29, 3, -60, 30, levelRequirement = 67, statInterpolation = {1, 1},  cost = { }, },
            [22] = {45, 29, 3, -60, 30, levelRequirement = 68, statInterpolation = {1, 1},  cost = { }, },
            [23] = {46, 30, 3, -60, 30, levelRequirement = 69, statInterpolation = {1, 1},  cost = { }, },
            [24] = {47, 31, 3, -60, 30, levelRequirement = 70, statInterpolation = {1, 1},  cost = { }, },
            [25] = {48, 32, 3, -60, 30, levelRequirement = 71, statInterpolation = {1, 1},  cost = { }, },
            [26] = {49, 32, 3, -60, 30, levelRequirement = 72, statInterpolation = {1, 1},  cost = { }, },
            [27] = {51, 33, 3, -60, 30, levelRequirement = 73, statInterpolation = {1, 1},  cost = { }, },
            [28] = {52, 34, 3, -60, 30, levelRequirement = 74, statInterpolation = {1, 1},  cost = { }, },
            [29] = {53, 35, 3, -60, 30, levelRequirement = 75, statInterpolation = {1, 1},  cost = { }, },
            [30] = {54, 35, 3, -60, 30, levelRequirement = 76, statInterpolation = {1, 1},  cost = { }, },
            [31] = {55, 36, 3, -60, 30, levelRequirement = 77, statInterpolation = {1, 1},  cost = { }, },
            [32] = {56, 37, 3, -60, 30, levelRequirement = 78, statInterpolation = {1, 1},  cost = { }, },
            [33] = {58, 39, 3, -60, 30, levelRequirement = 79, statInterpolation = {1, 1},  cost = { }, },
            [34] = {59, 38, 3, -60, 30, levelRequirement = 80, statInterpolation = {1, 1},  cost = { }, },
            [35] = {60, 39, 3, -60, 30, levelRequirement = 81, statInterpolation = {1, 1},  cost = { }, },
            [36] = {61, 40, 3, -60, 30, levelRequirement = 82, statInterpolation = {1, 1},  cost = { }, },
            [37] = {64, 41, 3, -60, 30, levelRequirement = 84, statInterpolation = {1, 1},  cost = { }, },
            [38] = {66, 43, 3, -60, 30, levelRequirement = 86, statInterpolation = {1, 1},  cost = { }, },
            [39] = {68, 44, 3, -60, 30, levelRequirement = 88, statInterpolation = {1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["WalkEmergeExile"] = {
        name = "WalkEmergeExile",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "walk_emerge_distance",
        },
        levels = {
            [1] = {200, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    
    monster base type attack cast speed +% and damage -% final [33]
    FamilyMonsterSpeedAndDamageFixup
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster base type attack cast speed +% and damage -% final Min: 33 Max: 33 Global
  • Craft Tagscaster_damage damage attack caster speed
    20% increased Attack Speed
    FamilyIncreasedAttackSpeed
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • attack speed +% Min: 20 Max: 20 Global
  • Craft Tagsattack speed
    Edit

    Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.