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
    100%
    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
    10,255
    Minion Life
    1,563
    Minion Damage
    427
    Ailment Threshold
    7,205
    Chill
    23
    Shock
    23
    Brittle
    129
    Scorch
    23
    Sap
    63
    Phys Convert Ele
    240%
    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, WandAttack
    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,
            [SkillType.WandAttack] = 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
    keyval
    Stats.item_drop_slots1
    Stats.energy_shield_recharge_rate_per_minute_%2000
    Stats.mana_regeneration_rate_per_minute_%0
    Stats.base_maximum_mana200
    Stats.maximum_physical_damage_reduction_%75
    Stats.max_viper_strike_orbs4
    Stats.base_maximum_all_resistances_%75
    Stats.max_fuse_arrow_orbs5
    Stats.max_fire_beam_stacks8
    Stats.max_charged_attack_stacks10
    Stats.base_critical_strike_multiplier130
    Stats.critical_ailment_dot_multiplier_+30
    Stats.max_endurance_charges3
    Stats.max_frenzy_charges3
    Stats.max_power_charges3
    Stats.base_attack_speed_+%_per_frenzy_charge5
    Stats.base_attack_speed_+%_per_frenzy_charge_if_not_player_minion11
    Stats.base_cast_speed_+%_per_frenzy_charge5
    Stats.base_cast_speed_+%_per_frenzy_charge_if_not_player_minion11
    Stats.movement_velocity_+%_per_frenzy_charge_if_not_player_minion5
    Stats.object_inherent_damage_+%_final_per_frenzy_charge4
    Stats.physical_damage_reduction_%_per_endurance_charge4
    Stats.physical_damage_reduction_%_per_endurance_charge_if_not_player_minion11
    Stats.resist_all_elements_%_per_endurance_charge4
    Stats.resist_all_elements_%_per_endurance_charge_if_not_player_minion11
    Stats.critical_strike_chance_+%_per_power_charge50
    Stats.critical_strike_chance_+%_per_power_charge_if_not_player_minion150
    Stats.maximum_block_%75
    Stats.base_maximum_spell_block_%75
    Stats.base_number_of_totems_allowed1
    Stats.base_number_of_traps_allowed3
    Stats.base_number_of_remote_mines_allowed5
    Stats.movement_velocity_cap128
    Stats.maximum_life_leech_rate_%_per_minute1200
    Stats.maximum_mana_leech_rate_%_per_minute1200
    Stats.maximum_energy_shield_leech_rate_%_per_minute600
    Stats.monster_ignite_damage_+%_final-72
    Stats.monster_bleeding_damage_+%_final-86
    Stats.monster_poison_damage_+%_final-50
    Stats.bleeding_moving_damage_%_of_base_override500
    Stats.max_azurite_debuff_stacks10
    Stats.impaled_debuff_base_duration_ms8000
    Stats.impaled_debuff_number_of_reflected_hits5
    Stats.ignore_skill_weapon_restrictions1
    Stats.base_total_number_of_sigils_allowed3
    Stats.maximum_life_leech_amount_per_leech_%_max_life10
    Stats.maximum_mana_leech_amount_per_leech_%_max_mana10
    Stats.maximum_energy_shield_leech_amount_per_leech_%_max_energy_shield10
    Stats.object_inherent_melee_hit_stun_duration_+%_final20
    Stats.scale_melee_range_to_actor_scale1
    Stats.use_melee_pattern_range1
    Stats.actor_scale_+%_limit100
    Stats.damage_taken_when_hit_+%_final_per_fortification-1
    Stats.base_max_fortification20
    Stats.soul_eater_maximum_stacks45
    Stats.base_mana_cost_-%0
    Stats.additional_life_scaling_index10
    ObjectMagicProperties.stat_description_listMetadata/StatDescriptions/monster_stat_descriptions.txt
    Positioned.blockingtrue
    Positioned.team0
    Positioned.serialise_collidabletrue
    BaseEvents.server_onlytrue
    Actor.basic_actionMove, Flee, StrafeLeft, StrafeRight, Advance, DoNothing, MonsterPickup
    Actor.slow_animations_go_to_idletrue
    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
    100%
    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
    10,255
    Minion Life
    1,563
    Minion Damage
    427
    Ailment Threshold
    7,205
    Chill
    23
    Shock
    23
    Brittle
    129
    Scorch
    23
    Sap
    63
    Phys Convert Ele
    240%
    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, WandAttack
    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,
            [SkillType.WandAttack] = 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
    71
    Life
    463,036
    Armour
    36,473
    Evasion Rating
    10,520
    Damage
    733
    Spell Damage
    1,095
    Accuracy
    652
    Attack Time
    1.07535
    Experience
    120,439
    Minion Life
    97,815
    Minion Damage
    592
    Ailment Threshold
    263,930
    Chill
    835
    Shock
    835
    Brittle
    4,721
    Scorch
    835
    Sap
    2,306
    Phys Convert Ele
    255%
    Melee
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Default Attack
    Base Damage: 1165–1747
    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.1 seconds
    Cursed enemies take 35% increased Physical Damage
    Attack Hits against Cursed Enemies have 25% chance to inflict Bleeding
    active skill area of effect radius +% final [40]
    ExileRainOfArrows
    Attack, RangedAttack, MirageArcherCanUse, Area, ProjectileSpeed, Totemable, Trappable, Mineable, Triggerable, Rain
    Rain of Arrows
    Base Damage: 1165–1747
    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
    21% increased Attack Speed
    20% increased Projectile Speed
    active skill area of effect radius +% final [24]
    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 [41]
    ExileFrenzy
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable, MeleeSingleTarget, Multistrikeable, Melee, Triggerable
    Frenzy
    Base Damage: 1165–1747
    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: 1165–1747
    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.48 seconds
    21% increased Attack Speed
    20% increased Projectile Speed
    active skill area of effect radius +% final [24]
    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, WandAttack
    Barrage
    Base Damage: 1165–1747
    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
    48% increased Physical Damage
    Fires Projectiles sequentially
    32% 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,
            [SkillType.WandAttack] = 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
  • keyval
    Stats.item_drop_slots1
    Stats.energy_shield_recharge_rate_per_minute_%2000
    Stats.mana_regeneration_rate_per_minute_%0
    Stats.base_maximum_mana200
    Stats.maximum_physical_damage_reduction_%75
    Stats.max_viper_strike_orbs4
    Stats.base_maximum_all_resistances_%75
    Stats.max_fuse_arrow_orbs5
    Stats.max_fire_beam_stacks8
    Stats.max_charged_attack_stacks10
    Stats.base_critical_strike_multiplier130
    Stats.critical_ailment_dot_multiplier_+30
    Stats.max_endurance_charges3
    Stats.max_frenzy_charges3
    Stats.max_power_charges3
    Stats.base_attack_speed_+%_per_frenzy_charge5
    Stats.base_attack_speed_+%_per_frenzy_charge_if_not_player_minion11
    Stats.base_cast_speed_+%_per_frenzy_charge5
    Stats.base_cast_speed_+%_per_frenzy_charge_if_not_player_minion11
    Stats.movement_velocity_+%_per_frenzy_charge_if_not_player_minion5
    Stats.object_inherent_damage_+%_final_per_frenzy_charge4
    Stats.physical_damage_reduction_%_per_endurance_charge4
    Stats.physical_damage_reduction_%_per_endurance_charge_if_not_player_minion11
    Stats.resist_all_elements_%_per_endurance_charge4
    Stats.resist_all_elements_%_per_endurance_charge_if_not_player_minion11
    Stats.critical_strike_chance_+%_per_power_charge50
    Stats.critical_strike_chance_+%_per_power_charge_if_not_player_minion150
    Stats.maximum_block_%75
    Stats.base_maximum_spell_block_%75
    Stats.base_number_of_totems_allowed1
    Stats.base_number_of_traps_allowed3
    Stats.base_number_of_remote_mines_allowed5
    Stats.movement_velocity_cap128
    Stats.maximum_life_leech_rate_%_per_minute1200
    Stats.maximum_mana_leech_rate_%_per_minute1200
    Stats.maximum_energy_shield_leech_rate_%_per_minute600
    Stats.monster_ignite_damage_+%_final-72
    Stats.monster_bleeding_damage_+%_final-86
    Stats.monster_poison_damage_+%_final-50
    Stats.bleeding_moving_damage_%_of_base_override500
    Stats.max_azurite_debuff_stacks10
    Stats.impaled_debuff_base_duration_ms8000
    Stats.impaled_debuff_number_of_reflected_hits5
    Stats.ignore_skill_weapon_restrictions1
    Stats.base_total_number_of_sigils_allowed3
    Stats.maximum_life_leech_amount_per_leech_%_max_life10
    Stats.maximum_mana_leech_amount_per_leech_%_max_mana10
    Stats.maximum_energy_shield_leech_amount_per_leech_%_max_energy_shield10
    Stats.object_inherent_melee_hit_stun_duration_+%_final20
    Stats.scale_melee_range_to_actor_scale1
    Stats.use_melee_pattern_range1
    Stats.actor_scale_+%_limit100
    Stats.damage_taken_when_hit_+%_final_per_fortification-1
    Stats.base_max_fortification20
    Stats.soul_eater_maximum_stacks45
    Stats.base_mana_cost_-%0
    ObjectMagicProperties.stat_description_listMetadata/StatDescriptions/monster_stat_descriptions.txt
    Positioned.blockingtrue
    Positioned.team0
    Positioned.serialise_collidabletrue
    BaseEvents.server_onlytrue
    Actor.basic_actionMove, Flee, StrafeLeft, StrafeRight, Advance, DoNothing, MonsterPickup
    Actor.slow_animations_go_to_idletrue
    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
    Phys Convert Ele
    240%
    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, WandAttack
    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,
            [SkillType.WandAttack] = 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
  • keyval
    Stats.monster_uses_map_boss_difficulty_scaling1
    Stats.base_mana_cost_-%0
    Stats.mana_regeneration_rate_per_minute_%0
    StateMachine.define_shared_stateadd_effects;
    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
    100%
    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
    10,255
    Minion Life
    1,563
    Minion Damage
    427
    Ailment Threshold
    7,205
    Chill
    23
    Shock
    23
    Brittle
    129
    Scorch
    23
    Sap
    63
    Phys Convert Ele
    240%
    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, WandAttack
    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,
            [SkillType.WandAttack] = 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.