瓦尔金属匠哈维里
构造体
区域: 禁灵之间
掉落的物品稀有度提高 %
+7 召唤图腾数量上限
monster additional quantity of dropped items in cruel +% [500]
monster additional quantity of dropped items in merciless +% [1000]
monster additional rarity of dropped items in cruel +% [750]
monster additional rarity of dropped items in merciless +% [1500]
monster no map drops [1]
kill traps mines and totems on death [1]
level 33 or lower damage +% final [-20]
level 33 or lower life +% final [-20]
Haviri, Vaal Metalsmith
幽魂N
地区禁灵之间, 禁灵之间
标签bludgeoning_weapon, bone_armour, bones, 施法, chaos_affinity, cold_affinity, construct, fire_affinity, has_two_hand_mace, has_two_handed_melee, large_height, lightning_affinity, not_dex, not_int, physical_affinity, ranged, skeleton, undead, vaalsidearea_boss, very_slow_movement
生命
180%
护甲
+100%
异常状态临界值
180%
抗性
30 30 30 20
伤害
100%
命中
100%
暴击几率
+5%
暴击伤害
+130%
攻击距离
6 ~ 9
攻击间隔
1.605 秒
伤害分布
±20%
经验值
200%
Model Size
160%
类型
ConstructMeleeArmouredBossSideArea
Metadata
ConstructMeleeBossSideArea
等级
68
生命
11,580
护甲
57,580
闪避值
4,739
能量护盾
0
伤害
374
法术伤害
374
命中
290
攻击间隔
1.605
经验值
20,510
异常状态临界值
11,580
冰缓
37
Shock
37
Brittle
207
Scorch
37
Sap
101
MonsterArcticBreathSideArea
法术, 投射物, 玩家投射物, 伤害, 陷阱技能, 图腾技能, 地雷技能, 持续时间, 范围, 法术可重复, 可触发, 冰冷, 冰缓区域, 可齐射, 范围法术
电光寒霜
暴击几率: 5%
施放间隔: 0.8 秒
射出一个寒冰投射物,在接触到敌人时会爆炸,对该范围敌人造成伤害,产生一片冰缓区域并持续造成伤害。该区域会向周围的敌人蔓延,直到持续时间结束。
造成 1127 - 1690 冰霜伤害
图腾持续 20
基础持续时间为 12
投射物会分裂
召唤使用一个使用该技能的图腾
施法速度加快 55%
投射物速度减慢 20%
基础范围为 1.5
基础次级范围为 1.5
base active skill totem level [68]
base is projectile [1]
base totem range [80]
MonsterFreezingPulseSideArea
法术, 投射物, 玩家投射物, 伤害, 陷阱技能, 图腾技能, 地雷技能, 法术可重复, 可触发, 冰冷, 可齐射
冰霜脉冲
暴击几率: 6%
伤害效用: 125%
施放间隔: 0.65 秒
发出一个半月形的寒冰投射物,被击中的敌人将有几率被冻结。这个投射物很快就会消散,而其伤害与冻结几率将会随着飞行时间递减。
造成 423.2 - 634.7 冰霜伤害
投射物贯穿所有目标
图腾持续 20
额外发射 3 个投射物
召唤使用一个使用该技能的图腾
施法速度加快 60%
投射物速度加快 60%
base active skill totem level [68]
base is projectile [1]
base totem range [80]
MonsterFlameRedSideArea
法术, 投射物, 玩家投射物, 伤害, 陷阱技能, 地雷技能, 图腾, 火焰
圣焰图腾
伤害效用: 10%
施放间隔: 0.25 秒
召唤一个图腾,它会持续的对附近的敌人喷射火焰。
投射物贯穿所有目标
图腾持续 20
造成 98.05 - 147.1 火焰伤害
额外发射 11 个投射物
召唤使用一个使用该技能的图腾
环状发射投射物
施法速度加快 40%
base active skill totem level [68]
base is projectile [1]
base totem range [80]
monster penalty against minions damage +% final vs player minions [-25]
totem art variation [-2]
MonsterFireballSideArea
投射物, 玩家投射物, 法术, 伤害, 范围, 陷阱技能, 图腾技能, 地雷技能, 法术可重复, 可触发, 火焰, 可齐射, 范围法术
火球
暴击几率: 6%
施放间隔: 0.85 秒
释放一颗球型火焰向前飞射,接触到怪物时会爆炸并对周围敌人造成伤害。
图腾持续 20
投射物会分裂
造成 355 - 532.4 火焰伤害
额外发射 3 个投射物
召唤使用一个使用该技能的图腾
施法速度加快 60%
基础范围为 0.9
base active skill totem level [68]
base is projectile [1]
base totem range [80]
MonsterShockNovaSideArea
法术, 伤害, 范围, 陷阱技能, 图腾技能, 地雷技能, 法术可重复, 可触发, 闪电, 可齐射, 范围法术, 新星
闪电新星
暴击几率: 3%
施放间隔: 0.75 秒
从施法者散发出一圈闪电之环, 被击中的敌人会受到闪电伤害. 位于环中心的敌人将不会受到任何伤害.
造成 128.9 - 386.8 闪电伤害
图腾持续 20
召唤使用一个使用该技能的图腾
施法速度加快 50%
active skill area of effect radius +% final [66]
base active skill totem level [68]
base totem range [80]
is area damage [1]
MonsterStormCallSideArea
法术, 伤害, 范围, 持续时间, 陷阱技能, 图腾技能, 地雷技能, 可触发, 法术可重复, 闪电, 可秘能爆发, 可齐射, 范围法术
风暴呼唤
暴击几率: 5%
施放间隔: 0.5 秒
在目标区域设置一个标记。经过一小段时间后,闪电会攻击那个标记,对其周围造成伤害,同时使闪电攻击你施放的其他标记。
造成 344.3 - 1033 闪电伤害
图腾持续 20
基础持续时间为 1.5
召唤使用一个使用该技能的图腾
active skill area of effect radius +% final [-6]
base active skill totem level [68]
base totem range [80]
is area damage [1]
MonsterShockwaveTotemSideArea
法术, 伤害, 范围, 陷阱技能, 地雷技能, 图腾, 法术可重复, 范围法术, 物理, 新星
震波图腾
伤害效用: 50%
施放间隔: 0.6 秒
召唤一个图腾,它会持续震动附近的地面,击退附近的敌人并造成伤害。
造成 85.89 - 143.1 物理伤害
击中时击退敌人
施法速度加快 45%
击退距离延长 800%
基础范围为 2.4
active skill area of effect radius +% final [4]
base skill is totemified [1]
is area damage [1]
MonsterSpinestormSideArea
法术, 伤害, 范围, 持续时间, 陷阱技能, 图腾技能, 地雷技能, 法术可重复, 可触发, 火焰, 可秘能爆发, 可齐射, 范围法术
烈炎风暴
暴击几率: 5%
施放间隔: 0.9 秒
低语呢喃,呼唤无数火焰之球如雨一般洒落在目标区域。每颗火球落地时将会爆炸,并对周围的敌人造成伤害。
造成 93.09 - 139.6 物理伤害
图腾持续 20
基础持续时间为 3.5
召唤使用一个使用该技能的图腾
0.13 秒一次冲击
基础范围为 1
base active skill totem level [68]
base totem range [80]
is area damage [1]
MonsterEtherealKnivesSideArea
法术, 伤害, 投射物, 玩家投射物, 图腾技能, 陷阱技能, 地雷技能, 法术可重复, 可触发, 可齐射, 物理
虚空匕首
暴击几率: 5%
施放间隔: 0.6 秒
向前方依弧形射出数支匕首,对敌人造成物理伤害。
造成 384.8 - 577.2 物理伤害
图腾持续 20
额外发射 9 个投射物
将物理伤害的 50% 转化为混沌伤害
召唤使用一个使用该技能的图腾
base active skill totem level [68]
base is projectile [1]
base totem range [80]
visual hit effect chaos is green [1]

Object Type

version 2
extends "Metadata/Monsters/Monster"

Actor
{
	main_hand_unarmed_type = "One_Hand_Mace"
	basic_action = "Emerge"
}

Object Type Codes

version 2
extends "Metadata/Monsters/Monster"

Render
{
     //turn_duration = 0.35
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/Skeletons/ConstructMeleeBossSideArea"] = {
    name = "Haviri, Vaal Metalsmith",
    life = 1.8,
    fireResist = 30,
    coldResist = 30,
    lightningResist = 30,
    chaosResist = 20,
    damage = 1,
    damageSpread = 0.2,
    attackTime = 1.605,
    attackRange = 9,
    accuracy = 1,
    weaponType1 = "Two Hand Mace",
    skillList = {
        "MonsterFireballSideArea",
        "MonsterFreezingPulseSideArea",
        "MonsterShockNovaSideArea",
        "MonsterSpinestormSideArea",
        "MonsterShockwaveTotemSideArea",
        "MonsterEtherealKnivesSideArea",
        "MonsterArcticBreathSideArea",
        "MonsterFlameRedSideArea",
        "MonsterStormCallSideArea",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MonsterFireballSideArea"] = {
    name = "Fireball",
    hidden = true,
    color = "3",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Unleashes a ball of fire towards a target which explodes, damaging nearby foes.",
    skillTypes = {
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Area] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Fire] = true,
        [SkillType.CanRapidFire] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.85,
    baseFlags = {
        area = true,
        spell = true,
        projectile = true,
        totem = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_fire_damage",
        "spell_maximum_base_fire_damage",
        "base_active_skill_totem_level",
        "number_of_additional_projectiles",
        "base_cast_speed_+%",
        "base_totem_duration",
        "base_totem_range",
        "active_skill_base_area_of_effect_radius",
        "is_totem",
        "base_is_projectile",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 3, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [2] = {0.80000001192093, 1.2000000476837, 5, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [3] = {0.80000001192093, 1.2000000476837, 8, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [4] = {0.80000001192093, 1.2000000476837, 12, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [5] = {0.80000001192093, 1.2000000476837, 15, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [6] = {0.80000001192093, 1.2000000476837, 19, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [7] = {0.80000001192093, 1.2000000476837, 20, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [8] = {0.80000001192093, 1.2000000476837, 21, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [9] = {0.80000001192093, 1.2000000476837, 26, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [10] = {0.80000001192093, 1.2000000476837, 30, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [11] = {0.80000001192093, 1.2000000476837, 34, 2, 35, 20000, 80, 9, critChance = 6, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [12] = {0.80000001192093, 1.2000000476837, 38, 2, 35, 20000, 80, 9, critChance = 6, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [13] = {0.80000001192093, 1.2000000476837, 43, 2, 35, 20000, 80, 9, critChance = 6, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [14] = {0.80000001192093, 1.2000000476837, 45, 2, 35, 20000, 80, 9, critChance = 6, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [15] = {0.80000001192093, 1.2000000476837, 53, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [16] = {0.80000001192093, 1.2000000476837, 58, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [17] = {0.80000001192093, 1.2000000476837, 62, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [18] = {0.80000001192093, 1.2000000476837, 63, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [19] = {0.80000001192093, 1.2000000476837, 66, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [20] = {0.80000001192093, 1.2000000476837, 67, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [21] = {0.80000001192093, 1.2000000476837, 68, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [22] = {0.80000001192093, 1.2000000476837, 69, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [23] = {0.80000001192093, 1.2000000476837, 70, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [24] = {0.80000001192093, 1.2000000476837, 71, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [25] = {0.80000001192093, 1.2000000476837, 72, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [26] = {0.80000001192093, 1.2000000476837, 73, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [27] = {0.80000001192093, 1.2000000476837, 74, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [28] = {0.80000001192093, 1.2000000476837, 75, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [29] = {0.80000001192093, 1.2000000476837, 76, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [30] = {0.80000001192093, 1.2000000476837, 77, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [31] = {0.80000001192093, 1.2000000476837, 78, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [32] = {0.80000001192093, 1.2000000476837, 79, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [33] = {0.80000001192093, 1.2000000476837, 80, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [34] = {0.80000001192093, 1.2000000476837, 81, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [35] = {0.80000001192093, 1.2000000476837, 82, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MonsterFreezingPulseSideArea"] = {
    name = "Freezing Pulse",
    hidden = true,
    color = "3",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "An icy projectile which has a chance to freeze enemies it passes through. The projectile fades quickly, reducing damage and freezing chance until it dissipates.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Damage] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Cold] = true,
        [SkillType.CanRapidFire] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.65,
    baseFlags = {
        spell = true,
        projectile = true,
        totem = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_cold_damage",
        "spell_maximum_base_cold_damage",
        "base_projectile_speed_+%",
        "base_active_skill_totem_level",
        "number_of_additional_projectiles",
        "base_cast_speed_+%",
        "base_totem_duration",
        "base_totem_range",
        "base_is_projectile",
        "is_totem",
        "always_pierce",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 20, 3, 0, 0, 20000, 80, critChance = 6, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [2] = {0.80000001192093, 1.2000000476837, 20, 5, 0, 0, 20000, 80, critChance = 6, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [3] = {0.80000001192093, 1.2000000476837, 20, 8, 0, 0, 20000, 80, critChance = 6, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [4] = {0.80000001192093, 1.2000000476837, 20, 12, 0, 0, 20000, 80, critChance = 6, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [5] = {0.80000001192093, 1.2000000476837, 20, 15, 0, 0, 20000, 80, critChance = 6, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [6] = {0.80000001192093, 1.2000000476837, 20, 19, 0, 0, 20000, 80, critChance = 6, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [7] = {0.80000001192093, 1.2000000476837, 20, 20, 0, 0, 20000, 80, critChance = 6, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [8] = {0.80000001192093, 1.2000000476837, 20, 21, 0, 0, 20000, 80, critChance = 6, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [9] = {0.80000001192093, 1.2000000476837, 20, 26, 0, 0, 20000, 80, critChance = 6, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [10] = {0.80000001192093, 1.2000000476837, 20, 30, 0, 0, 20000, 80, critChance = 6, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [11] = {0.80000001192093, 1.2000000476837, 40, 34, 2, 35, 20000, 80, critChance = 6, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [12] = {0.80000001192093, 1.2000000476837, 40, 38, 2, 35, 20000, 80, critChance = 6, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [13] = {0.80000001192093, 1.2000000476837, 40, 43, 2, 35, 20000, 80, critChance = 6, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [14] = {0.80000001192093, 1.2000000476837, 40, 45, 2, 35, 20000, 80, critChance = 6, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [15] = {0.80000001192093, 1.2000000476837, 60, 53, 3, 60, 20000, 80, critChance = 6, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [16] = {0.80000001192093, 1.2000000476837, 60, 58, 3, 60, 20000, 80, critChance = 6, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [17] = {0.80000001192093, 1.2000000476837, 60, 62, 3, 60, 20000, 80, critChance = 6, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [18] = {0.80000001192093, 1.2000000476837, 60, 63, 3, 60, 20000, 80, critChance = 6, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [19] = {0.80000001192093, 1.2000000476837, 60, 66, 3, 60, 20000, 80, critChance = 6, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [20] = {0.80000001192093, 1.2000000476837, 60, 67, 3, 60, 20000, 80, critChance = 6, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [21] = {0.80000001192093, 1.2000000476837, 60, 68, 3, 60, 20000, 80, critChance = 6, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [22] = {0.80000001192093, 1.2000000476837, 60, 69, 3, 60, 20000, 80, critChance = 6, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [23] = {0.80000001192093, 1.2000000476837, 60, 70, 3, 60, 20000, 80, critChance = 6, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [24] = {0.80000001192093, 1.2000000476837, 60, 71, 3, 60, 20000, 80, critChance = 6, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [25] = {0.80000001192093, 1.2000000476837, 60, 72, 3, 60, 20000, 80, critChance = 6, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [26] = {0.80000001192093, 1.2000000476837, 60, 73, 3, 60, 20000, 80, critChance = 6, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [27] = {0.80000001192093, 1.2000000476837, 60, 74, 3, 60, 20000, 80, critChance = 6, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [28] = {0.80000001192093, 1.2000000476837, 60, 75, 3, 60, 20000, 80, critChance = 6, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [29] = {0.80000001192093, 1.2000000476837, 60, 76, 3, 60, 20000, 80, critChance = 6, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [30] = {0.80000001192093, 1.2000000476837, 60, 77, 3, 60, 20000, 80, critChance = 6, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [31] = {0.80000001192093, 1.2000000476837, 60, 78, 3, 60, 20000, 80, critChance = 6, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [32] = {0.80000001192093, 1.2000000476837, 60, 79, 3, 60, 20000, 80, critChance = 6, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [33] = {0.80000001192093, 1.2000000476837, 60, 80, 3, 60, 20000, 80, critChance = 6, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [34] = {0.80000001192093, 1.2000000476837, 60, 81, 3, 60, 20000, 80, critChance = 6, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [35] = {0.80000001192093, 1.2000000476837, 60, 82, 3, 60, 20000, 80, critChance = 6, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MonsterShockNovaSideArea"] = {
    name = "Shock Nova",
    hidden = true,
    color = "3",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Casts a shocking ring of lightning which deals damage to monsters it touches. Monsters in the centre of the ring receive no damage.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Area] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Lightning] = true,
        [SkillType.CanRapidFire] = true,
        [SkillType.AreaSpell] = true,
        [SkillType.Nova] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.75,
    baseFlags = {
        area = true,
        spell = true,
        totem = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_lightning_damage",
        "spell_maximum_base_lightning_damage",
        "base_active_skill_totem_level",
        "base_cast_speed_+%",
        "active_skill_area_of_effect_radius_+%_final",
        "base_totem_duration",
        "base_totem_range",
        "is_totem",
        "is_area_damage",
    },
    levels = {
        [1] = {0.5, 1.5, 3, 0, 33, 20000, 80, critChance = 3, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [2] = {0.5, 1.5, 5, 0, 33, 20000, 80, critChance = 3, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [3] = {0.5, 1.5, 8, 0, 33, 20000, 80, critChance = 3, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [4] = {0.5, 1.5, 12, 0, 33, 20000, 80, critChance = 3, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [5] = {0.5, 1.5, 15, 0, 33, 20000, 80, critChance = 3, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [6] = {0.5, 1.5, 19, 0, 33, 20000, 80, critChance = 3, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [7] = {0.5, 1.5, 20, 0, 33, 20000, 80, critChance = 3, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [8] = {0.5, 1.5, 21, 0, 33, 20000, 80, critChance = 3, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [9] = {0.5, 1.5, 26, 0, 33, 20000, 80, critChance = 3, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [10] = {0.5, 1.5, 30, 0, 33, 20000, 80, critChance = 3, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [11] = {0.5, 1.5, 34, 25, 50, 20000, 80, critChance = 3, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [12] = {0.5, 1.5, 38, 25, 50, 20000, 80, critChance = 3, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [13] = {0.5, 1.5, 43, 25, 50, 20000, 80, critChance = 3, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [14] = {0.5, 1.5, 45, 25, 50, 20000, 80, critChance = 3, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [15] = {0.5, 1.5, 53, 50, 66, 20000, 80, critChance = 3, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [16] = {0.5, 1.5, 58, 50, 66, 20000, 80, critChance = 3, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [17] = {0.5, 1.5, 62, 50, 66, 20000, 80, critChance = 3, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [18] = {0.5, 1.5, 63, 50, 66, 20000, 80, critChance = 3, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [19] = {0.5, 1.5, 66, 50, 66, 20000, 80, critChance = 3, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [20] = {0.5, 1.5, 67, 50, 66, 20000, 80, critChance = 3, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [21] = {0.5, 1.5, 68, 50, 66, 20000, 80, critChance = 3, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [22] = {0.5, 1.5, 69, 50, 66, 20000, 80, critChance = 3, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [23] = {0.5, 1.5, 70, 50, 66, 20000, 80, critChance = 3, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [24] = {0.5, 1.5, 71, 50, 66, 20000, 80, critChance = 3, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [25] = {0.5, 1.5, 72, 50, 66, 20000, 80, critChance = 3, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [26] = {0.5, 1.5, 73, 50, 66, 20000, 80, critChance = 3, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [27] = {0.5, 1.5, 74, 50, 66, 20000, 80, critChance = 3, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [28] = {0.5, 1.5, 75, 50, 66, 20000, 80, critChance = 3, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [29] = {0.5, 1.5, 76, 50, 66, 20000, 80, critChance = 3, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [30] = {0.5, 1.5, 77, 50, 66, 20000, 80, critChance = 3, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [31] = {0.5, 1.5, 78, 50, 66, 20000, 80, critChance = 3, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [32] = {0.5, 1.5, 79, 50, 66, 20000, 80, critChance = 3, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [33] = {0.5, 1.5, 80, 50, 66, 20000, 80, critChance = 3, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [34] = {0.5, 1.5, 81, 50, 66, 20000, 80, critChance = 3, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [35] = {0.5, 1.5, 82, 50, 66, 20000, 80, critChance = 3, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MonsterSpinestormSideArea"] = {
    name = "Firestorm",
    hidden = true,
    color = "3",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Flaming bolts rain down over the targeted area. They explode when landing, dealing damage to nearby enemies.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Area] = true,
        [SkillType.Duration] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Fire] = true,
        [SkillType.Cascadable] = true,
        [SkillType.CanRapidFire] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.9,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
        totem = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "base_skill_effect_duration",
        "fire_storm_fireball_delay_ms",
        "base_active_skill_totem_level",
        "base_totem_duration",
        "base_totem_range",
        "active_skill_base_area_of_effect_radius",
        "is_area_damage",
        "is_totem",
    },
    levels = {
        [1] = {0.40000000596046, 0.60000002384186, 2500, 225, 3, 20000, 80, 10, critChance = 5, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [2] = {0.40000000596046, 0.60000002384186, 2500, 225, 5, 20000, 80, 10, critChance = 5, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [3] = {0.40000000596046, 0.60000002384186, 2500, 225, 8, 20000, 80, 10, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [4] = {0.40000000596046, 0.60000002384186, 2500, 225, 12, 20000, 80, 10, critChance = 5, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [5] = {0.40000000596046, 0.60000002384186, 2500, 225, 15, 20000, 80, 10, critChance = 5, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [6] = {0.40000000596046, 0.60000002384186, 2500, 225, 19, 20000, 80, 10, critChance = 5, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [7] = {0.40000000596046, 0.60000002384186, 2500, 225, 20, 20000, 80, 10, critChance = 5, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [8] = {0.40000000596046, 0.60000002384186, 2500, 225, 21, 20000, 80, 10, critChance = 5, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [9] = {0.40000000596046, 0.60000002384186, 2500, 225, 26, 20000, 80, 10, critChance = 5, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [10] = {0.40000000596046, 0.60000002384186, 2500, 225, 30, 20000, 80, 10, critChance = 5, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [11] = {0.40000000596046, 0.60000002384186, 2500, 175, 34, 20000, 80, 10, critChance = 5, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [12] = {0.40000000596046, 0.60000002384186, 2500, 175, 38, 20000, 80, 10, critChance = 5, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [13] = {0.40000000596046, 0.60000002384186, 2500, 175, 43, 20000, 80, 10, critChance = 5, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [14] = {0.40000000596046, 0.60000002384186, 3500, 175, 45, 20000, 80, 10, critChance = 5, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [15] = {0.40000000596046, 0.60000002384186, 3500, 125, 53, 20000, 80, 10, critChance = 5, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [16] = {0.40000000596046, 0.60000002384186, 3500, 125, 58, 20000, 80, 10, critChance = 5, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [17] = {0.40000000596046, 0.60000002384186, 3500, 125, 62, 20000, 80, 10, critChance = 5, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [18] = {0.40000000596046, 0.60000002384186, 3500, 125, 63, 20000, 80, 10, critChance = 5, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [19] = {0.40000000596046, 0.60000002384186, 3500, 125, 66, 20000, 80, 10, critChance = 5, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [20] = {0.40000000596046, 0.60000002384186, 3500, 125, 67, 20000, 80, 10, critChance = 5, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [21] = {0.40000000596046, 0.60000002384186, 3500, 125, 68, 20000, 80, 10, critChance = 5, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [22] = {0.40000000596046, 0.60000002384186, 3500, 125, 69, 20000, 80, 10, critChance = 5, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [23] = {0.40000000596046, 0.60000002384186, 3500, 125, 70, 20000, 80, 10, critChance = 5, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [24] = {0.40000000596046, 0.60000002384186, 3500, 125, 71, 20000, 80, 10, critChance = 5, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [25] = {0.40000000596046, 0.60000002384186, 3500, 125, 72, 20000, 80, 10, critChance = 5, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [26] = {0.40000000596046, 0.60000002384186, 3500, 125, 73, 20000, 80, 10, critChance = 5, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [27] = {0.40000000596046, 0.60000002384186, 3500, 125, 74, 20000, 80, 10, critChance = 5, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [28] = {0.40000000596046, 0.60000002384186, 3500, 125, 75, 20000, 80, 10, critChance = 5, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [29] = {0.40000000596046, 0.60000002384186, 3500, 125, 76, 20000, 80, 10, critChance = 5, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [30] = {0.40000000596046, 0.60000002384186, 3500, 125, 77, 20000, 80, 10, critChance = 5, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [31] = {0.40000000596046, 0.60000002384186, 3500, 125, 78, 20000, 80, 10, critChance = 5, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [32] = {0.40000000596046, 0.60000002384186, 3500, 125, 79, 20000, 80, 10, critChance = 5, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [33] = {0.40000000596046, 0.60000002384186, 3500, 125, 80, 20000, 80, 10, critChance = 5, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [34] = {0.40000000596046, 0.60000002384186, 3500, 125, 81, 20000, 80, 10, critChance = 5, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [35] = {0.40000000596046, 0.60000002384186, 3500, 125, 82, 20000, 80, 10, critChance = 5, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MonsterShockwaveTotemSideArea"] = {
    name = "Shockwave Totem",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Summons a totem that shakes the earth around it, knocking back and damaging nearby enemies",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Area] = true,
        [SkillType.Trappable] = true,
        [SkillType.Mineable] = true,
        [SkillType.SummonsTotem] = true,
        [SkillType.Multicastable] = true,
        [SkillType.AreaSpell] = true,
        [SkillType.Physical] = true,
        [SkillType.Nova] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.6,
    baseFlags = {
        area = true,
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "knockback_distance_+%",
        "base_cast_speed_+%",
        "active_skill_area_of_effect_radius_+%_final",
        "active_skill_base_area_of_effect_radius",
        "base_skill_is_totemified",
        "global_knockback",
        "is_area_damage",
    },
    levels = {
        [1] = {0.69999998807907, 1.2999999523163, 300, 0, -31, 24, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [2] = {0.69999998807907, 1.2999999523163, 450, 25, -14, 24, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [3] = {0.89999997615814, 1.5, 800, 45, 4, 24, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MonsterEtherealKnivesSideArea"] = {
    name = "Ethereal Knives",
    hidden = true,
    color = "2",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fires an arc of knives outwards in front of the caster which deal physical damage.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Totemable] = true,
        [SkillType.Trappable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.CanRapidFire] = true,
        [SkillType.Physical] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.6,
    baseFlags = {
        spell = true,
        projectile = true,
        totem = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "base_active_skill_totem_level",
        "number_of_additional_projectiles",
        "skill_physical_damage_%_to_convert_to_chaos",
        "base_totem_duration",
        "base_totem_range",
        "base_is_projectile",
        "is_totem",
        "visual_hit_effect_chaos_is_green",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 3, 9, 50, 20000, 80, critChance = 5, levelRequirement = 3, statInterpolation = {3, 3, 1},  cost = { }, },
        [2] = {0.80000001192093, 1.2000000476837, 5, 9, 50, 20000, 80, critChance = 5, levelRequirement = 5, statInterpolation = {3, 3, 1},  cost = { }, },
        [3] = {0.80000001192093, 1.2000000476837, 8, 9, 50, 20000, 80, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3, 1},  cost = { }, },
        [4] = {0.80000001192093, 1.2000000476837, 10, 9, 50, 20000, 80, critChance = 5, levelRequirement = 10, statInterpolation = {3, 3, 1},  cost = { }, },
        [5] = {0.80000001192093, 1.2000000476837, 12, 9, 50, 20000, 80, critChance = 5, levelRequirement = 12, statInterpolation = {3, 3, 1},  cost = { }, },
        [6] = {0.80000001192093, 1.2000000476837, 14, 9, 50, 20000, 80, critChance = 5, levelRequirement = 14, statInterpolation = {3, 3, 1},  cost = { }, },
        [7] = {0.80000001192093, 1.2000000476837, 17, 9, 50, 20000, 80, critChance = 5, levelRequirement = 17, statInterpolation = {3, 3, 1},  cost = { }, },
        [8] = {0.80000001192093, 1.2000000476837, 20, 9, 50, 20000, 80, critChance = 5, levelRequirement = 20, statInterpolation = {3, 3, 1},  cost = { }, },
        [9] = {0.80000001192093, 1.2000000476837, 24, 9, 50, 20000, 80, critChance = 5, levelRequirement = 24, statInterpolation = {3, 3, 1},  cost = { }, },
        [10] = {0.80000001192093, 1.2000000476837, 30, 9, 50, 20000, 80, critChance = 5, levelRequirement = 30, statInterpolation = {3, 3, 1},  cost = { }, },
        [11] = {0.80000001192093, 1.2000000476837, 31, 9, 50, 20000, 80, critChance = 5, levelRequirement = 31, statInterpolation = {3, 3, 1},  cost = { }, },
        [12] = {0.80000001192093, 1.2000000476837, 36, 9, 50, 20000, 80, critChance = 5, levelRequirement = 36, statInterpolation = {3, 3, 1},  cost = { }, },
        [13] = {0.80000001192093, 1.2000000476837, 41, 9, 50, 20000, 80, critChance = 5, levelRequirement = 41, statInterpolation = {3, 3, 1},  cost = { }, },
        [14] = {0.80000001192093, 1.2000000476837, 44, 9, 50, 20000, 80, critChance = 5, levelRequirement = 44, statInterpolation = {3, 3, 1},  cost = { }, },
        [15] = {0.80000001192093, 1.2000000476837, 51, 9, 50, 20000, 80, critChance = 5, levelRequirement = 51, statInterpolation = {3, 3, 1},  cost = { }, },
        [16] = {0.80000001192093, 1.2000000476837, 52, 9, 50, 20000, 80, critChance = 5, levelRequirement = 52, statInterpolation = {3, 3, 1},  cost = { }, },
        [17] = {0.80000001192093, 1.2000000476837, 57, 9, 50, 20000, 80, critChance = 5, levelRequirement = 57, statInterpolation = {3, 3, 1},  cost = { }, },
        [18] = {0.80000001192093, 1.2000000476837, 60, 9, 50, 20000, 80, critChance = 5, levelRequirement = 60, statInterpolation = {3, 3, 1},  cost = { }, },
        [19] = {0.80000001192093, 1.2000000476837, 65, 9, 50, 20000, 80, critChance = 5, levelRequirement = 65, statInterpolation = {3, 3, 1},  cost = { }, },
        [20] = {0.80000001192093, 1.2000000476837, 66, 9, 50, 20000, 80, critChance = 5, levelRequirement = 66, statInterpolation = {3, 3, 1},  cost = { }, },
        [21] = {0.80000001192093, 1.2000000476837, 67, 9, 50, 20000, 80, critChance = 5, levelRequirement = 67, statInterpolation = {3, 3, 1},  cost = { }, },
        [22] = {0.80000001192093, 1.2000000476837, 68, 9, 50, 20000, 80, critChance = 5, levelRequirement = 68, statInterpolation = {3, 3, 1},  cost = { }, },
        [23] = {0.80000001192093, 1.2000000476837, 69, 9, 50, 20000, 80, critChance = 5, levelRequirement = 69, statInterpolation = {3, 3, 1},  cost = { }, },
        [24] = {0.80000001192093, 1.2000000476837, 70, 9, 50, 20000, 80, critChance = 5, levelRequirement = 70, statInterpolation = {3, 3, 1},  cost = { }, },
        [25] = {0.80000001192093, 1.2000000476837, 71, 9, 50, 20000, 80, critChance = 5, levelRequirement = 71, statInterpolation = {3, 3, 1},  cost = { }, },
        [26] = {0.80000001192093, 1.2000000476837, 72, 9, 50, 20000, 80, critChance = 5, levelRequirement = 72, statInterpolation = {3, 3, 1},  cost = { }, },
        [27] = {0.80000001192093, 1.2000000476837, 73, 9, 50, 20000, 80, critChance = 5, levelRequirement = 73, statInterpolation = {3, 3, 1},  cost = { }, },
        [28] = {0.80000001192093, 1.2000000476837, 74, 9, 50, 20000, 80, critChance = 5, levelRequirement = 74, statInterpolation = {3, 3, 1},  cost = { }, },
        [29] = {0.80000001192093, 1.2000000476837, 75, 9, 50, 20000, 80, critChance = 5, levelRequirement = 75, statInterpolation = {3, 3, 1},  cost = { }, },
        [30] = {0.80000001192093, 1.2000000476837, 76, 9, 50, 20000, 80, critChance = 5, levelRequirement = 76, statInterpolation = {3, 3, 1},  cost = { }, },
        [31] = {0.80000001192093, 1.2000000476837, 77, 9, 50, 20000, 80, critChance = 5, levelRequirement = 77, statInterpolation = {3, 3, 1},  cost = { }, },
        [32] = {0.80000001192093, 1.2000000476837, 78, 9, 50, 20000, 80, critChance = 5, levelRequirement = 78, statInterpolation = {3, 3, 1},  cost = { }, },
        [33] = {0.80000001192093, 1.2000000476837, 79, 9, 50, 20000, 80, critChance = 5, levelRequirement = 79, statInterpolation = {3, 3, 1},  cost = { }, },
        [34] = {0.80000001192093, 1.2000000476837, 80, 9, 50, 20000, 80, critChance = 5, levelRequirement = 80, statInterpolation = {3, 3, 1},  cost = { }, },
        [35] = {0.80000001192093, 1.2000000476837, 81, 9, 50, 20000, 80, critChance = 5, levelRequirement = 81, statInterpolation = {3, 3, 1},  cost = { }, },
        [36] = {0.80000001192093, 1.2000000476837, 82, 9, 50, 20000, 80, critChance = 5, levelRequirement = 82, statInterpolation = {3, 3, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MonsterArcticBreathSideArea"] = {
    name = "Creeping Frost",
    hidden = true,
    color = "3",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire an icy projectile that bursts on impact or when reaching the targeted area, dealing area damage and creating a chilling area that deals cold damage over time. This area will creep across the ground towards nearby enemies until its duration expires.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Damage] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Duration] = true,
        [SkillType.Area] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Cold] = true,
        [SkillType.ChillingArea] = true,
        [SkillType.CanRapidFire] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.8,
    baseFlags = {
        area = true,
        spell = true,
        projectile = true,
        duration = true,
        totem = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_cold_damage",
        "spell_maximum_base_cold_damage",
        "base_skill_effect_duration",
        "base_projectile_speed_+%",
        "base_active_skill_totem_level",
        "base_cast_speed_+%",
        "base_totem_duration",
        "base_totem_range",
        "active_skill_base_area_of_effect_radius",
        "active_skill_base_secondary_area_of_effect_radius",
        "is_totem",
        "base_is_projectile",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 3500, -50, 3, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [2] = {0.80000001192093, 1.2000000476837, 3500, -50, 5, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [3] = {0.80000001192093, 1.2000000476837, 3500, -50, 8, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [4] = {0.80000001192093, 1.2000000476837, 3500, -50, 12, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [5] = {0.80000001192093, 1.2000000476837, 3500, -50, 15, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [6] = {0.80000001192093, 1.2000000476837, 3500, -50, 19, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [7] = {0.80000001192093, 1.2000000476837, 3500, -50, 20, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [8] = {0.80000001192093, 1.2000000476837, 3500, -50, 21, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [9] = {0.80000001192093, 1.2000000476837, 3500, -50, 26, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [10] = {0.80000001192093, 1.2000000476837, 3500, -50, 30, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [11] = {0.80000001192093, 1.2000000476837, 7000, -40, 34, 30, 20000, 80, 15, 15, critChance = 5, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [12] = {0.80000001192093, 1.2000000476837, 7000, -40, 38, 30, 20000, 80, 15, 15, critChance = 5, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [13] = {0.80000001192093, 1.2000000476837, 7000, -40, 43, 30, 20000, 80, 15, 15, critChance = 5, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [14] = {0.80000001192093, 1.2000000476837, 7000, -40, 45, 30, 20000, 80, 15, 15, critChance = 5, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [15] = {0.80000001192093, 1.2000000476837, 12000, -20, 53, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [16] = {0.80000001192093, 1.2000000476837, 12000, -20, 58, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [17] = {0.80000001192093, 1.2000000476837, 12000, -20, 62, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [18] = {0.80000001192093, 1.2000000476837, 12000, -20, 63, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [19] = {0.80000001192093, 1.2000000476837, 12000, -20, 66, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [20] = {0.80000001192093, 1.2000000476837, 12000, -20, 67, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [21] = {0.80000001192093, 1.2000000476837, 12000, -20, 68, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [22] = {0.80000001192093, 1.2000000476837, 12000, -20, 69, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [23] = {0.80000001192093, 1.2000000476837, 12000, -20, 70, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [24] = {0.80000001192093, 1.2000000476837, 12000, -20, 71, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [25] = {0.80000001192093, 1.2000000476837, 12000, -20, 72, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [26] = {0.80000001192093, 1.2000000476837, 12000, -20, 73, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [27] = {0.80000001192093, 1.2000000476837, 12000, -20, 74, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [28] = {0.80000001192093, 1.2000000476837, 12000, -20, 75, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [29] = {0.80000001192093, 1.2000000476837, 12000, -20, 76, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [30] = {0.80000001192093, 1.2000000476837, 12000, -20, 77, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [31] = {0.80000001192093, 1.2000000476837, 12000, -20, 78, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [32] = {0.80000001192093, 1.2000000476837, 12000, -20, 79, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [33] = {0.80000001192093, 1.2000000476837, 12000, -20, 80, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [34] = {0.80000001192093, 1.2000000476837, 12000, -20, 81, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        [35] = {0.80000001192093, 1.2000000476837, 12000, -20, 82, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MonsterFlameRedSideArea"] = {
    name = "Holy Flame Totem",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Summons a totem that fires a stream of flame at nearby enemies.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Damage] = true,
        [SkillType.Trappable] = true,
        [SkillType.Mineable] = true,
        [SkillType.SummonsTotem] = true,
        [SkillType.Fire] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.25,
    baseFlags = {
        spell = true,
        projectile = true,
        totem = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_fire_damage",
        "spell_maximum_base_fire_damage",
        "base_active_skill_totem_level",
        "number_of_additional_projectiles",
        "base_cast_speed_+%",
        "base_totem_duration",
        "base_totem_range",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "totem_art_variation",
        "base_is_projectile",
        "is_totem",
        "always_pierce",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 3, 2, 0, 20000, 80, -25, -2, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [2] = {0.80000001192093, 1.2000000476837, 5, 2, 0, 20000, 80, -25, -2, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [3] = {0.80000001192093, 1.2000000476837, 8, 2, 0, 20000, 80, -25, -2, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [4] = {0.80000001192093, 1.2000000476837, 12, 2, 0, 20000, 80, -25, -2, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [5] = {0.80000001192093, 1.2000000476837, 15, 2, 0, 20000, 80, -25, -2, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [6] = {0.80000001192093, 1.2000000476837, 19, 2, 0, 20000, 80, -25, -2, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [7] = {0.80000001192093, 1.2000000476837, 20, 2, 0, 20000, 80, -25, -2, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [8] = {0.80000001192093, 1.2000000476837, 21, 2, 0, 20000, 80, -25, -2, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [9] = {0.80000001192093, 1.2000000476837, 26, 2, 0, 20000, 80, -25, -2, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [10] = {0.80000001192093, 1.2000000476837, 30, 2, 0, 20000, 80, -25, -2, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [11] = {0.80000001192093, 1.2000000476837, 34, 3, 25, 20000, 80, -25, -2, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [12] = {0.80000001192093, 1.2000000476837, 38, 3, 25, 20000, 80, -25, -2, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [13] = {0.80000001192093, 1.2000000476837, 43, 3, 25, 20000, 80, -25, -2, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [14] = {0.80000001192093, 1.2000000476837, 45, 3, 25, 20000, 80, -25, -2, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [15] = {0.80000001192093, 1.2000000476837, 53, 11, 40, 20000, 80, -25, -2, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [16] = {0.80000001192093, 1.2000000476837, 58, 11, 40, 20000, 80, -25, -2, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [17] = {0.80000001192093, 1.2000000476837, 62, 11, 40, 20000, 80, -25, -2, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [18] = {0.80000001192093, 1.2000000476837, 63, 11, 40, 20000, 80, -25, -2, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [19] = {0.80000001192093, 1.2000000476837, 66, 11, 40, 20000, 80, -25, -2, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [20] = {0.80000001192093, 1.2000000476837, 67, 11, 40, 20000, 80, -25, -2, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [21] = {0.80000001192093, 1.2000000476837, 68, 11, 40, 20000, 80, -25, -2, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [22] = {0.80000001192093, 1.2000000476837, 69, 11, 40, 20000, 80, -25, -2, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [23] = {0.80000001192093, 1.2000000476837, 70, 11, 40, 20000, 80, -25, -2, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [24] = {0.80000001192093, 1.2000000476837, 71, 11, 40, 20000, 80, -25, -2, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [25] = {0.80000001192093, 1.2000000476837, 72, 11, 40, 20000, 80, -25, -2, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [26] = {0.80000001192093, 1.2000000476837, 73, 11, 40, 20000, 80, -25, -2, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [27] = {0.80000001192093, 1.2000000476837, 74, 11, 40, 20000, 80, -25, -2, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [28] = {0.80000001192093, 1.2000000476837, 75, 11, 40, 20000, 80, -25, -2, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [29] = {0.80000001192093, 1.2000000476837, 76, 11, 40, 20000, 80, -25, -2, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [30] = {0.80000001192093, 1.2000000476837, 77, 11, 40, 20000, 80, -25, -2, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [31] = {0.80000001192093, 1.2000000476837, 78, 11, 40, 20000, 80, -25, -2, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [32] = {0.80000001192093, 1.2000000476837, 79, 11, 40, 20000, 80, -25, -2, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [33] = {0.80000001192093, 1.2000000476837, 80, 11, 40, 20000, 80, -25, -2, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [34] = {0.80000001192093, 1.2000000476837, 81, 11, 40, 20000, 80, -25, -2, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [35] = {0.80000001192093, 1.2000000476837, 82, 11, 40, 20000, 80, -25, -2, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MonsterStormCallSideArea"] = {
    name = "Storm Call",
    hidden = true,
    color = "3",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Sets a marker at a location. After a short duration, lightning strikes the marker, dealing damage around it and causing lightning strikes at any other markers you've cast.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Area] = true,
        [SkillType.Duration] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Lightning] = true,
        [SkillType.Cascadable] = true,
        [SkillType.CanRapidFire] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.5,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
        totem = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_lightning_damage",
        "spell_maximum_base_lightning_damage",
        "base_skill_effect_duration",
        "base_active_skill_totem_level",
        "active_skill_area_of_effect_radius_+%_final",
        "base_totem_duration",
        "base_totem_range",
        "is_area_damage",
        "is_totem",
    },
    levels = {
        [1] = {0.5, 1.5, 2500, 3, -31, 20000, 80, critChance = 5, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [2] = {0.5, 1.5, 2500, 5, -31, 20000, 80, critChance = 5, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [3] = {0.5, 1.5, 2500, 8, -31, 20000, 80, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [4] = {0.5, 1.5, 2500, 12, -31, 20000, 80, critChance = 5, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [5] = {0.5, 1.5, 2500, 15, -31, 20000, 80, critChance = 5, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [6] = {0.5, 1.5, 2500, 19, -31, 20000, 80, critChance = 5, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [7] = {0.5, 1.5, 2500, 20, -31, 20000, 80, critChance = 5, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [8] = {0.5, 1.5, 2500, 21, -31, 20000, 80, critChance = 5, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [9] = {0.5, 1.5, 2500, 26, -31, 20000, 80, critChance = 5, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [10] = {0.5, 1.5, 2500, 30, -31, 20000, 80, critChance = 5, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [11] = {0.5, 1.5, 2000, 34, -16, 20000, 80, critChance = 5, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [12] = {0.5, 1.5, 2000, 38, -16, 20000, 80, critChance = 5, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [13] = {0.5, 1.5, 2000, 43, -16, 20000, 80, critChance = 5, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [14] = {0.5, 1.5, 2000, 45, -16, 20000, 80, critChance = 5, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [15] = {0.5, 1.5, 1500, 53, -6, 20000, 80, critChance = 5, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [16] = {0.5, 1.5, 1500, 58, -6, 20000, 80, critChance = 5, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [17] = {0.5, 1.5, 1500, 62, -6, 20000, 80, critChance = 5, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [18] = {0.5, 1.5, 1500, 63, -6, 20000, 80, critChance = 5, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [19] = {0.5, 1.5, 1500, 66, -6, 20000, 80, critChance = 5, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [20] = {0.5, 1.5, 1500, 67, -6, 20000, 80, critChance = 5, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [21] = {0.5, 1.5, 1500, 68, -6, 20000, 80, critChance = 5, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [22] = {0.5, 1.5, 1500, 69, -6, 20000, 80, critChance = 5, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [23] = {0.5, 1.5, 1500, 70, -6, 20000, 80, critChance = 5, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [24] = {0.5, 1.5, 1500, 71, -6, 20000, 80, critChance = 5, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [25] = {0.5, 1.5, 1500, 72, -6, 20000, 80, critChance = 5, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [26] = {0.5, 1.5, 1500, 73, -6, 20000, 80, critChance = 5, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [27] = {0.5, 1.5, 1500, 74, -6, 20000, 80, critChance = 5, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [28] = {0.5, 1.5, 1500, 75, -6, 20000, 80, critChance = 5, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [29] = {0.5, 1.5, 1500, 76, -6, 20000, 80, critChance = 5, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [30] = {0.5, 1.5, 1500, 77, -6, 20000, 80, critChance = 5, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [31] = {0.5, 1.5, 1500, 78, -6, 20000, 80, critChance = 5, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [32] = {0.5, 1.5, 1500, 79, -6, 20000, 80, critChance = 5, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [33] = {0.5, 1.5, 1500, 80, -6, 20000, 80, critChance = 5, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [34] = {0.5, 1.5, 1500, 81, -6, 20000, 80, critChance = 5, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        [35] = {0.5, 1.5, 1500, 82, -6, 20000, 80, critChance = 5, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
    },
}
掉落的物品稀有度提高 %
IdMonsterSideAreaBoss
FamilyMonsterSideAreaBoss
Domains怪物 (3)
GenerationType传奇 (3)
Req. level1
Stats
  • monster dropped item rarity +% Min: 0 Max: 0 全域
  • +7 召唤图腾数量上限
    IdMonsterAdditionalTotems2
    FamilyAdditionalTotems
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • number of additional totems allowed Min: 7 Max: 7 全域
  • monster additional quantity of dropped items in cruel +% [500]
    monster additional quantity of dropped items in merciless +% [1000]
    monster additional rarity of dropped items in cruel +% [750]
    monster additional rarity of dropped items in merciless +% [1500]
    IdMonsterInvasionMercilessDrops2
    FamilyMonsterMercilessDrops
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • monster additional rarity of dropped items in cruel +% Min: 750 Max: 750 全域
  • monster additional quantity of dropped items in cruel +% Min: 500 Max: 500 全域
  • monster additional rarity of dropped items in merciless +% Min: 1500 Max: 1500 全域
  • monster additional quantity of dropped items in merciless +% Min: 1000 Max: 1000 全域
  • monster no map drops [1]
    IdMonsterNoMapDrops
    FamilyMonsterNoMapDrops
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • monster no map drops Min: 1 Max: 1 全域
  • kill traps mines and totems on death [1]
    IdMonsterKillTrapsMinesTotemsOnDeath
    FamilyMonsterKillTrapsMinesTotemsOnDeath
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • kill traps mines and totems on death Min: 1 Max: 1 全域
  • level 33 or lower damage +% final [-20]
    level 33 or lower life +% final [-20]
    IdMonsterLifeAndDamageLessBelowLevel33
    FamilyMoreLifeBelowLevelThreshold
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • level 33 or lower life +% final Min: -20 Max: -20 全域
  • level 33 or lower damage +% final Min: -20 Max: -20 全域
  • Craft Tagsresource life damage
    瓦尔金属匠哈维里
    构造体
    区域: InvasionBoss
    掉落的物品稀有度提高 %
    +7 召唤图腾数量上限
    monster additional quantity of dropped items in cruel +% [500]
    monster additional quantity of dropped items in merciless +% [1000]
    monster additional rarity of dropped items in cruel +% [750]
    monster additional rarity of dropped items in merciless +% [1500]
    monster no map drops [1]
    monster is invasion boss [1]
    kill traps mines and totems on death [1]
    level 33 or lower damage +% final [-20]
    level 33 or lower life +% final [-20]
    Haviri, Vaal Metalsmith
    幽魂N
    地区InvasionBoss
    End Game生命上限提高 50%
    标签bludgeoning_weapon, bone_armour, bones, 施法, chaos_affinity, cold_affinity, construct, fire_affinity, has_two_hand_mace, has_two_handed_melee, invasion_boss, large_height, lightning_affinity, not_dex, not_int, physical_affinity, ranged, skeleton, undead, very_slow_movement
    Packs
  • InvasionBoss: 瓦尔金属匠哈维里, 瓦尔堕灵, 瓦尔堕灵
  • 生命
    180%
    护甲
    +100%
    异常状态临界值
    180%
    抗性
    30 30 30 20
    伤害
    100%
    命中
    100%
    暴击几率
    +5%
    暴击伤害
    +130%
    攻击距离
    6 ~ 9
    攻击间隔
    1.605 秒
    伤害分布
    ±20%
    经验值
    200%
    Model Size
    160%
    类型
    ConstructMeleeArmouredBossSideArea
    Metadata
    ConstructMeleeBossSideAreaInvasion
    等级
    68
    生命
    11,580
    护甲
    57,580
    闪避值
    4,739
    能量护盾
    0
    伤害
    374
    法术伤害
    374
    命中
    290
    攻击间隔
    1.605
    经验值
    20,510
    异常状态临界值
    11,580
    冰缓
    37
    Shock
    37
    Brittle
    207
    Scorch
    37
    Sap
    101
    MonsterArcticBreathSideArea
    法术, 投射物, 玩家投射物, 伤害, 陷阱技能, 图腾技能, 地雷技能, 持续时间, 范围, 法术可重复, 可触发, 冰冷, 冰缓区域, 可齐射, 范围法术
    电光寒霜
    暴击几率: 5%
    施放间隔: 0.8 秒
    射出一个寒冰投射物,在接触到敌人时会爆炸,对该范围敌人造成伤害,产生一片冰缓区域并持续造成伤害。该区域会向周围的敌人蔓延,直到持续时间结束。
    造成 1127 - 1690 冰霜伤害
    图腾持续 20
    基础持续时间为 12
    投射物会分裂
    召唤使用一个使用该技能的图腾
    施法速度加快 55%
    投射物速度减慢 20%
    基础范围为 1.5
    基础次级范围为 1.5
    base active skill totem level [68]
    base is projectile [1]
    base totem range [80]
    MonsterFreezingPulseSideArea
    法术, 投射物, 玩家投射物, 伤害, 陷阱技能, 图腾技能, 地雷技能, 法术可重复, 可触发, 冰冷, 可齐射
    冰霜脉冲
    暴击几率: 6%
    伤害效用: 125%
    施放间隔: 0.65 秒
    发出一个半月形的寒冰投射物,被击中的敌人将有几率被冻结。这个投射物很快就会消散,而其伤害与冻结几率将会随着飞行时间递减。
    造成 423.2 - 634.7 冰霜伤害
    投射物贯穿所有目标
    图腾持续 20
    额外发射 3 个投射物
    召唤使用一个使用该技能的图腾
    施法速度加快 60%
    投射物速度加快 60%
    base active skill totem level [68]
    base is projectile [1]
    base totem range [80]
    MonsterFlameRedSideArea
    法术, 投射物, 玩家投射物, 伤害, 陷阱技能, 地雷技能, 图腾, 火焰
    圣焰图腾
    伤害效用: 10%
    施放间隔: 0.25 秒
    召唤一个图腾,它会持续的对附近的敌人喷射火焰。
    投射物贯穿所有目标
    图腾持续 20
    造成 98.05 - 147.1 火焰伤害
    额外发射 11 个投射物
    召唤使用一个使用该技能的图腾
    环状发射投射物
    施法速度加快 40%
    base active skill totem level [68]
    base is projectile [1]
    base totem range [80]
    monster penalty against minions damage +% final vs player minions [-25]
    totem art variation [-2]
    MonsterFireballSideArea
    投射物, 玩家投射物, 法术, 伤害, 范围, 陷阱技能, 图腾技能, 地雷技能, 法术可重复, 可触发, 火焰, 可齐射, 范围法术
    火球
    暴击几率: 6%
    施放间隔: 0.85 秒
    释放一颗球型火焰向前飞射,接触到怪物时会爆炸并对周围敌人造成伤害。
    图腾持续 20
    投射物会分裂
    造成 355 - 532.4 火焰伤害
    额外发射 3 个投射物
    召唤使用一个使用该技能的图腾
    施法速度加快 60%
    基础范围为 0.9
    base active skill totem level [68]
    base is projectile [1]
    base totem range [80]
    MonsterShockNovaSideArea
    法术, 伤害, 范围, 陷阱技能, 图腾技能, 地雷技能, 法术可重复, 可触发, 闪电, 可齐射, 范围法术, 新星
    闪电新星
    暴击几率: 3%
    施放间隔: 0.75 秒
    从施法者散发出一圈闪电之环, 被击中的敌人会受到闪电伤害. 位于环中心的敌人将不会受到任何伤害.
    造成 128.9 - 386.8 闪电伤害
    图腾持续 20
    召唤使用一个使用该技能的图腾
    施法速度加快 50%
    active skill area of effect radius +% final [66]
    base active skill totem level [68]
    base totem range [80]
    is area damage [1]
    MonsterStormCallSideArea
    法术, 伤害, 范围, 持续时间, 陷阱技能, 图腾技能, 地雷技能, 可触发, 法术可重复, 闪电, 可秘能爆发, 可齐射, 范围法术
    风暴呼唤
    暴击几率: 5%
    施放间隔: 0.5 秒
    在目标区域设置一个标记。经过一小段时间后,闪电会攻击那个标记,对其周围造成伤害,同时使闪电攻击你施放的其他标记。
    造成 344.3 - 1033 闪电伤害
    图腾持续 20
    基础持续时间为 1.5
    召唤使用一个使用该技能的图腾
    active skill area of effect radius +% final [-6]
    base active skill totem level [68]
    base totem range [80]
    is area damage [1]
    MonsterShockwaveTotemSideArea
    法术, 伤害, 范围, 陷阱技能, 地雷技能, 图腾, 法术可重复, 范围法术, 物理, 新星
    震波图腾
    伤害效用: 50%
    施放间隔: 0.6 秒
    召唤一个图腾,它会持续震动附近的地面,击退附近的敌人并造成伤害。
    造成 85.89 - 143.1 物理伤害
    击中时击退敌人
    施法速度加快 45%
    击退距离延长 800%
    基础范围为 2.4
    active skill area of effect radius +% final [4]
    base skill is totemified [1]
    is area damage [1]
    MonsterSpinestormSideArea
    法术, 伤害, 范围, 持续时间, 陷阱技能, 图腾技能, 地雷技能, 法术可重复, 可触发, 火焰, 可秘能爆发, 可齐射, 范围法术
    烈炎风暴
    暴击几率: 5%
    施放间隔: 0.9 秒
    低语呢喃,呼唤无数火焰之球如雨一般洒落在目标区域。每颗火球落地时将会爆炸,并对周围的敌人造成伤害。
    造成 93.09 - 139.6 物理伤害
    图腾持续 20
    基础持续时间为 3.5
    召唤使用一个使用该技能的图腾
    0.13 秒一次冲击
    基础范围为 1
    base active skill totem level [68]
    base totem range [80]
    is area damage [1]
    MonsterEtherealKnivesSideArea
    法术, 伤害, 投射物, 玩家投射物, 图腾技能, 陷阱技能, 地雷技能, 法术可重复, 可触发, 可齐射, 物理
    虚空匕首
    暴击几率: 5%
    施放间隔: 0.6 秒
    向前方依弧形射出数支匕首,对敌人造成物理伤害。
    造成 384.8 - 577.2 物理伤害
    图腾持续 20
    额外发射 9 个投射物
    将物理伤害的 50% 转化为混沌伤害
    召唤使用一个使用该技能的图腾
    base active skill totem level [68]
    base is projectile [1]
    base totem range [80]
    visual hit effect chaos is green [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	main_hand_unarmed_type = "One_Hand_Mace"
    	basic_action = "Emerge"
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Render
    {
         //turn_duration = 0.35
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Skeletons/ConstructMeleeBossSideAreaInvasion"] = {
        name = "Haviri, Vaal Metalsmith",
        life = 1.8,
        fireResist = 30,
        coldResist = 30,
        lightningResist = 30,
        chaosResist = 20,
        damage = 1,
        damageSpread = 0.2,
        attackTime = 1.605,
        attackRange = 9,
        accuracy = 1,
        weaponType1 = "Two Hand Mace",
        skillList = {
            "MonsterFireballSideArea",
            "MonsterFreezingPulseSideArea",
            "MonsterShockNovaSideArea",
            "MonsterSpinestormSideArea",
            "MonsterShockwaveTotemSideArea",
            "MonsterEtherealKnivesSideArea",
            "MonsterArcticBreathSideArea",
            "MonsterFlameRedSideArea",
            "MonsterStormCallSideArea",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MonsterFireballSideArea"] = {
        name = "Fireball",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Unleashes a ball of fire towards a target which explodes, damaging nearby foes.",
        skillTypes = {
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
            [SkillType.Area] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Fire] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 0.85,
        baseFlags = {
            area = true,
            spell = true,
            projectile = true,
            totem = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_fire_damage",
            "spell_maximum_base_fire_damage",
            "base_active_skill_totem_level",
            "number_of_additional_projectiles",
            "base_cast_speed_+%",
            "base_totem_duration",
            "base_totem_range",
            "active_skill_base_area_of_effect_radius",
            "is_totem",
            "base_is_projectile",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 3, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [2] = {0.80000001192093, 1.2000000476837, 5, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [3] = {0.80000001192093, 1.2000000476837, 8, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [4] = {0.80000001192093, 1.2000000476837, 12, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [5] = {0.80000001192093, 1.2000000476837, 15, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [6] = {0.80000001192093, 1.2000000476837, 19, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [7] = {0.80000001192093, 1.2000000476837, 20, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [8] = {0.80000001192093, 1.2000000476837, 21, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [9] = {0.80000001192093, 1.2000000476837, 26, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [10] = {0.80000001192093, 1.2000000476837, 30, 0, 0, 20000, 80, 9, critChance = 6, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [11] = {0.80000001192093, 1.2000000476837, 34, 2, 35, 20000, 80, 9, critChance = 6, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [12] = {0.80000001192093, 1.2000000476837, 38, 2, 35, 20000, 80, 9, critChance = 6, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [13] = {0.80000001192093, 1.2000000476837, 43, 2, 35, 20000, 80, 9, critChance = 6, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [14] = {0.80000001192093, 1.2000000476837, 45, 2, 35, 20000, 80, 9, critChance = 6, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [15] = {0.80000001192093, 1.2000000476837, 53, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [16] = {0.80000001192093, 1.2000000476837, 58, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [17] = {0.80000001192093, 1.2000000476837, 62, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [18] = {0.80000001192093, 1.2000000476837, 63, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [19] = {0.80000001192093, 1.2000000476837, 66, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [20] = {0.80000001192093, 1.2000000476837, 67, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [21] = {0.80000001192093, 1.2000000476837, 68, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [22] = {0.80000001192093, 1.2000000476837, 69, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [23] = {0.80000001192093, 1.2000000476837, 70, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [24] = {0.80000001192093, 1.2000000476837, 71, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [25] = {0.80000001192093, 1.2000000476837, 72, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [26] = {0.80000001192093, 1.2000000476837, 73, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [27] = {0.80000001192093, 1.2000000476837, 74, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [28] = {0.80000001192093, 1.2000000476837, 75, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [29] = {0.80000001192093, 1.2000000476837, 76, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [30] = {0.80000001192093, 1.2000000476837, 77, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [31] = {0.80000001192093, 1.2000000476837, 78, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [32] = {0.80000001192093, 1.2000000476837, 79, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [33] = {0.80000001192093, 1.2000000476837, 80, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [34] = {0.80000001192093, 1.2000000476837, 81, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [35] = {0.80000001192093, 1.2000000476837, 82, 3, 60, 20000, 80, 9, critChance = 6, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MonsterFreezingPulseSideArea"] = {
        name = "Freezing Pulse",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "An icy projectile which has a chance to freeze enemies it passes through. The projectile fades quickly, reducing damage and freezing chance until it dissipates.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Cold] = true,
            [SkillType.CanRapidFire] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 0.65,
        baseFlags = {
            spell = true,
            projectile = true,
            totem = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_cold_damage",
            "spell_maximum_base_cold_damage",
            "base_projectile_speed_+%",
            "base_active_skill_totem_level",
            "number_of_additional_projectiles",
            "base_cast_speed_+%",
            "base_totem_duration",
            "base_totem_range",
            "base_is_projectile",
            "is_totem",
            "always_pierce",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 20, 3, 0, 0, 20000, 80, critChance = 6, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [2] = {0.80000001192093, 1.2000000476837, 20, 5, 0, 0, 20000, 80, critChance = 6, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [3] = {0.80000001192093, 1.2000000476837, 20, 8, 0, 0, 20000, 80, critChance = 6, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [4] = {0.80000001192093, 1.2000000476837, 20, 12, 0, 0, 20000, 80, critChance = 6, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [5] = {0.80000001192093, 1.2000000476837, 20, 15, 0, 0, 20000, 80, critChance = 6, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [6] = {0.80000001192093, 1.2000000476837, 20, 19, 0, 0, 20000, 80, critChance = 6, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [7] = {0.80000001192093, 1.2000000476837, 20, 20, 0, 0, 20000, 80, critChance = 6, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [8] = {0.80000001192093, 1.2000000476837, 20, 21, 0, 0, 20000, 80, critChance = 6, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [9] = {0.80000001192093, 1.2000000476837, 20, 26, 0, 0, 20000, 80, critChance = 6, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [10] = {0.80000001192093, 1.2000000476837, 20, 30, 0, 0, 20000, 80, critChance = 6, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [11] = {0.80000001192093, 1.2000000476837, 40, 34, 2, 35, 20000, 80, critChance = 6, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [12] = {0.80000001192093, 1.2000000476837, 40, 38, 2, 35, 20000, 80, critChance = 6, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [13] = {0.80000001192093, 1.2000000476837, 40, 43, 2, 35, 20000, 80, critChance = 6, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [14] = {0.80000001192093, 1.2000000476837, 40, 45, 2, 35, 20000, 80, critChance = 6, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [15] = {0.80000001192093, 1.2000000476837, 60, 53, 3, 60, 20000, 80, critChance = 6, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [16] = {0.80000001192093, 1.2000000476837, 60, 58, 3, 60, 20000, 80, critChance = 6, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [17] = {0.80000001192093, 1.2000000476837, 60, 62, 3, 60, 20000, 80, critChance = 6, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [18] = {0.80000001192093, 1.2000000476837, 60, 63, 3, 60, 20000, 80, critChance = 6, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [19] = {0.80000001192093, 1.2000000476837, 60, 66, 3, 60, 20000, 80, critChance = 6, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [20] = {0.80000001192093, 1.2000000476837, 60, 67, 3, 60, 20000, 80, critChance = 6, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [21] = {0.80000001192093, 1.2000000476837, 60, 68, 3, 60, 20000, 80, critChance = 6, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [22] = {0.80000001192093, 1.2000000476837, 60, 69, 3, 60, 20000, 80, critChance = 6, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [23] = {0.80000001192093, 1.2000000476837, 60, 70, 3, 60, 20000, 80, critChance = 6, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [24] = {0.80000001192093, 1.2000000476837, 60, 71, 3, 60, 20000, 80, critChance = 6, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [25] = {0.80000001192093, 1.2000000476837, 60, 72, 3, 60, 20000, 80, critChance = 6, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [26] = {0.80000001192093, 1.2000000476837, 60, 73, 3, 60, 20000, 80, critChance = 6, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [27] = {0.80000001192093, 1.2000000476837, 60, 74, 3, 60, 20000, 80, critChance = 6, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [28] = {0.80000001192093, 1.2000000476837, 60, 75, 3, 60, 20000, 80, critChance = 6, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [29] = {0.80000001192093, 1.2000000476837, 60, 76, 3, 60, 20000, 80, critChance = 6, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [30] = {0.80000001192093, 1.2000000476837, 60, 77, 3, 60, 20000, 80, critChance = 6, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [31] = {0.80000001192093, 1.2000000476837, 60, 78, 3, 60, 20000, 80, critChance = 6, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [32] = {0.80000001192093, 1.2000000476837, 60, 79, 3, 60, 20000, 80, critChance = 6, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [33] = {0.80000001192093, 1.2000000476837, 60, 80, 3, 60, 20000, 80, critChance = 6, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [34] = {0.80000001192093, 1.2000000476837, 60, 81, 3, 60, 20000, 80, critChance = 6, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [35] = {0.80000001192093, 1.2000000476837, 60, 82, 3, 60, 20000, 80, critChance = 6, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MonsterShockNovaSideArea"] = {
        name = "Shock Nova",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Casts a shocking ring of lightning which deals damage to monsters it touches. Monsters in the centre of the ring receive no damage.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
            [SkillType.Area] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Lightning] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.Nova] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 0.75,
        baseFlags = {
            area = true,
            spell = true,
            totem = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_lightning_damage",
            "spell_maximum_base_lightning_damage",
            "base_active_skill_totem_level",
            "base_cast_speed_+%",
            "active_skill_area_of_effect_radius_+%_final",
            "base_totem_duration",
            "base_totem_range",
            "is_totem",
            "is_area_damage",
        },
        levels = {
            [1] = {0.5, 1.5, 3, 0, 33, 20000, 80, critChance = 3, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [2] = {0.5, 1.5, 5, 0, 33, 20000, 80, critChance = 3, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [3] = {0.5, 1.5, 8, 0, 33, 20000, 80, critChance = 3, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [4] = {0.5, 1.5, 12, 0, 33, 20000, 80, critChance = 3, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [5] = {0.5, 1.5, 15, 0, 33, 20000, 80, critChance = 3, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [6] = {0.5, 1.5, 19, 0, 33, 20000, 80, critChance = 3, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [7] = {0.5, 1.5, 20, 0, 33, 20000, 80, critChance = 3, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [8] = {0.5, 1.5, 21, 0, 33, 20000, 80, critChance = 3, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [9] = {0.5, 1.5, 26, 0, 33, 20000, 80, critChance = 3, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [10] = {0.5, 1.5, 30, 0, 33, 20000, 80, critChance = 3, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [11] = {0.5, 1.5, 34, 25, 50, 20000, 80, critChance = 3, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [12] = {0.5, 1.5, 38, 25, 50, 20000, 80, critChance = 3, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [13] = {0.5, 1.5, 43, 25, 50, 20000, 80, critChance = 3, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [14] = {0.5, 1.5, 45, 25, 50, 20000, 80, critChance = 3, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [15] = {0.5, 1.5, 53, 50, 66, 20000, 80, critChance = 3, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [16] = {0.5, 1.5, 58, 50, 66, 20000, 80, critChance = 3, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [17] = {0.5, 1.5, 62, 50, 66, 20000, 80, critChance = 3, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [18] = {0.5, 1.5, 63, 50, 66, 20000, 80, critChance = 3, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [19] = {0.5, 1.5, 66, 50, 66, 20000, 80, critChance = 3, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [20] = {0.5, 1.5, 67, 50, 66, 20000, 80, critChance = 3, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [21] = {0.5, 1.5, 68, 50, 66, 20000, 80, critChance = 3, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [22] = {0.5, 1.5, 69, 50, 66, 20000, 80, critChance = 3, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [23] = {0.5, 1.5, 70, 50, 66, 20000, 80, critChance = 3, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [24] = {0.5, 1.5, 71, 50, 66, 20000, 80, critChance = 3, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [25] = {0.5, 1.5, 72, 50, 66, 20000, 80, critChance = 3, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [26] = {0.5, 1.5, 73, 50, 66, 20000, 80, critChance = 3, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [27] = {0.5, 1.5, 74, 50, 66, 20000, 80, critChance = 3, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [28] = {0.5, 1.5, 75, 50, 66, 20000, 80, critChance = 3, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [29] = {0.5, 1.5, 76, 50, 66, 20000, 80, critChance = 3, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [30] = {0.5, 1.5, 77, 50, 66, 20000, 80, critChance = 3, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [31] = {0.5, 1.5, 78, 50, 66, 20000, 80, critChance = 3, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [32] = {0.5, 1.5, 79, 50, 66, 20000, 80, critChance = 3, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [33] = {0.5, 1.5, 80, 50, 66, 20000, 80, critChance = 3, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [34] = {0.5, 1.5, 81, 50, 66, 20000, 80, critChance = 3, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [35] = {0.5, 1.5, 82, 50, 66, 20000, 80, critChance = 3, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MonsterSpinestormSideArea"] = {
        name = "Firestorm",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Flaming bolts rain down over the targeted area. They explode when landing, dealing damage to nearby enemies.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Fire] = true,
            [SkillType.Cascadable] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 0.9,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
            totem = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "base_skill_effect_duration",
            "fire_storm_fireball_delay_ms",
            "base_active_skill_totem_level",
            "base_totem_duration",
            "base_totem_range",
            "active_skill_base_area_of_effect_radius",
            "is_area_damage",
            "is_totem",
        },
        levels = {
            [1] = {0.40000000596046, 0.60000002384186, 2500, 225, 3, 20000, 80, 10, critChance = 5, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [2] = {0.40000000596046, 0.60000002384186, 2500, 225, 5, 20000, 80, 10, critChance = 5, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [3] = {0.40000000596046, 0.60000002384186, 2500, 225, 8, 20000, 80, 10, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [4] = {0.40000000596046, 0.60000002384186, 2500, 225, 12, 20000, 80, 10, critChance = 5, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [5] = {0.40000000596046, 0.60000002384186, 2500, 225, 15, 20000, 80, 10, critChance = 5, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [6] = {0.40000000596046, 0.60000002384186, 2500, 225, 19, 20000, 80, 10, critChance = 5, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [7] = {0.40000000596046, 0.60000002384186, 2500, 225, 20, 20000, 80, 10, critChance = 5, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [8] = {0.40000000596046, 0.60000002384186, 2500, 225, 21, 20000, 80, 10, critChance = 5, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [9] = {0.40000000596046, 0.60000002384186, 2500, 225, 26, 20000, 80, 10, critChance = 5, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [10] = {0.40000000596046, 0.60000002384186, 2500, 225, 30, 20000, 80, 10, critChance = 5, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [11] = {0.40000000596046, 0.60000002384186, 2500, 175, 34, 20000, 80, 10, critChance = 5, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [12] = {0.40000000596046, 0.60000002384186, 2500, 175, 38, 20000, 80, 10, critChance = 5, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [13] = {0.40000000596046, 0.60000002384186, 2500, 175, 43, 20000, 80, 10, critChance = 5, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [14] = {0.40000000596046, 0.60000002384186, 3500, 175, 45, 20000, 80, 10, critChance = 5, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [15] = {0.40000000596046, 0.60000002384186, 3500, 125, 53, 20000, 80, 10, critChance = 5, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [16] = {0.40000000596046, 0.60000002384186, 3500, 125, 58, 20000, 80, 10, critChance = 5, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [17] = {0.40000000596046, 0.60000002384186, 3500, 125, 62, 20000, 80, 10, critChance = 5, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [18] = {0.40000000596046, 0.60000002384186, 3500, 125, 63, 20000, 80, 10, critChance = 5, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [19] = {0.40000000596046, 0.60000002384186, 3500, 125, 66, 20000, 80, 10, critChance = 5, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [20] = {0.40000000596046, 0.60000002384186, 3500, 125, 67, 20000, 80, 10, critChance = 5, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [21] = {0.40000000596046, 0.60000002384186, 3500, 125, 68, 20000, 80, 10, critChance = 5, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [22] = {0.40000000596046, 0.60000002384186, 3500, 125, 69, 20000, 80, 10, critChance = 5, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [23] = {0.40000000596046, 0.60000002384186, 3500, 125, 70, 20000, 80, 10, critChance = 5, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [24] = {0.40000000596046, 0.60000002384186, 3500, 125, 71, 20000, 80, 10, critChance = 5, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [25] = {0.40000000596046, 0.60000002384186, 3500, 125, 72, 20000, 80, 10, critChance = 5, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [26] = {0.40000000596046, 0.60000002384186, 3500, 125, 73, 20000, 80, 10, critChance = 5, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [27] = {0.40000000596046, 0.60000002384186, 3500, 125, 74, 20000, 80, 10, critChance = 5, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [28] = {0.40000000596046, 0.60000002384186, 3500, 125, 75, 20000, 80, 10, critChance = 5, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [29] = {0.40000000596046, 0.60000002384186, 3500, 125, 76, 20000, 80, 10, critChance = 5, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [30] = {0.40000000596046, 0.60000002384186, 3500, 125, 77, 20000, 80, 10, critChance = 5, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [31] = {0.40000000596046, 0.60000002384186, 3500, 125, 78, 20000, 80, 10, critChance = 5, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [32] = {0.40000000596046, 0.60000002384186, 3500, 125, 79, 20000, 80, 10, critChance = 5, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [33] = {0.40000000596046, 0.60000002384186, 3500, 125, 80, 20000, 80, 10, critChance = 5, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [34] = {0.40000000596046, 0.60000002384186, 3500, 125, 81, 20000, 80, 10, critChance = 5, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [35] = {0.40000000596046, 0.60000002384186, 3500, 125, 82, 20000, 80, 10, critChance = 5, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MonsterShockwaveTotemSideArea"] = {
        name = "Shockwave Totem",
        hidden = true,
        color = 4,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Summons a totem that shakes the earth around it, knocking back and damaging nearby enemies",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
            [SkillType.Area] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.SummonsTotem] = true,
            [SkillType.Multicastable] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.Physical] = true,
            [SkillType.Nova] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 0.6,
        baseFlags = {
            area = true,
            spell = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "knockback_distance_+%",
            "base_cast_speed_+%",
            "active_skill_area_of_effect_radius_+%_final",
            "active_skill_base_area_of_effect_radius",
            "base_skill_is_totemified",
            "global_knockback",
            "is_area_damage",
        },
        levels = {
            [1] = {0.69999998807907, 1.2999999523163, 300, 0, -31, 24, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [2] = {0.69999998807907, 1.2999999523163, 450, 25, -14, 24, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [3] = {0.89999997615814, 1.5, 800, 45, 4, 24, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MonsterEtherealKnivesSideArea"] = {
        name = "Ethereal Knives",
        hidden = true,
        color = "2",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires an arc of knives outwards in front of the caster which deal physical damage.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Totemable] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.Physical] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 0.6,
        baseFlags = {
            spell = true,
            projectile = true,
            totem = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "base_active_skill_totem_level",
            "number_of_additional_projectiles",
            "skill_physical_damage_%_to_convert_to_chaos",
            "base_totem_duration",
            "base_totem_range",
            "base_is_projectile",
            "is_totem",
            "visual_hit_effect_chaos_is_green",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 3, 9, 50, 20000, 80, critChance = 5, levelRequirement = 3, statInterpolation = {3, 3, 1},  cost = { }, },
            [2] = {0.80000001192093, 1.2000000476837, 5, 9, 50, 20000, 80, critChance = 5, levelRequirement = 5, statInterpolation = {3, 3, 1},  cost = { }, },
            [3] = {0.80000001192093, 1.2000000476837, 8, 9, 50, 20000, 80, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3, 1},  cost = { }, },
            [4] = {0.80000001192093, 1.2000000476837, 10, 9, 50, 20000, 80, critChance = 5, levelRequirement = 10, statInterpolation = {3, 3, 1},  cost = { }, },
            [5] = {0.80000001192093, 1.2000000476837, 12, 9, 50, 20000, 80, critChance = 5, levelRequirement = 12, statInterpolation = {3, 3, 1},  cost = { }, },
            [6] = {0.80000001192093, 1.2000000476837, 14, 9, 50, 20000, 80, critChance = 5, levelRequirement = 14, statInterpolation = {3, 3, 1},  cost = { }, },
            [7] = {0.80000001192093, 1.2000000476837, 17, 9, 50, 20000, 80, critChance = 5, levelRequirement = 17, statInterpolation = {3, 3, 1},  cost = { }, },
            [8] = {0.80000001192093, 1.2000000476837, 20, 9, 50, 20000, 80, critChance = 5, levelRequirement = 20, statInterpolation = {3, 3, 1},  cost = { }, },
            [9] = {0.80000001192093, 1.2000000476837, 24, 9, 50, 20000, 80, critChance = 5, levelRequirement = 24, statInterpolation = {3, 3, 1},  cost = { }, },
            [10] = {0.80000001192093, 1.2000000476837, 30, 9, 50, 20000, 80, critChance = 5, levelRequirement = 30, statInterpolation = {3, 3, 1},  cost = { }, },
            [11] = {0.80000001192093, 1.2000000476837, 31, 9, 50, 20000, 80, critChance = 5, levelRequirement = 31, statInterpolation = {3, 3, 1},  cost = { }, },
            [12] = {0.80000001192093, 1.2000000476837, 36, 9, 50, 20000, 80, critChance = 5, levelRequirement = 36, statInterpolation = {3, 3, 1},  cost = { }, },
            [13] = {0.80000001192093, 1.2000000476837, 41, 9, 50, 20000, 80, critChance = 5, levelRequirement = 41, statInterpolation = {3, 3, 1},  cost = { }, },
            [14] = {0.80000001192093, 1.2000000476837, 44, 9, 50, 20000, 80, critChance = 5, levelRequirement = 44, statInterpolation = {3, 3, 1},  cost = { }, },
            [15] = {0.80000001192093, 1.2000000476837, 51, 9, 50, 20000, 80, critChance = 5, levelRequirement = 51, statInterpolation = {3, 3, 1},  cost = { }, },
            [16] = {0.80000001192093, 1.2000000476837, 52, 9, 50, 20000, 80, critChance = 5, levelRequirement = 52, statInterpolation = {3, 3, 1},  cost = { }, },
            [17] = {0.80000001192093, 1.2000000476837, 57, 9, 50, 20000, 80, critChance = 5, levelRequirement = 57, statInterpolation = {3, 3, 1},  cost = { }, },
            [18] = {0.80000001192093, 1.2000000476837, 60, 9, 50, 20000, 80, critChance = 5, levelRequirement = 60, statInterpolation = {3, 3, 1},  cost = { }, },
            [19] = {0.80000001192093, 1.2000000476837, 65, 9, 50, 20000, 80, critChance = 5, levelRequirement = 65, statInterpolation = {3, 3, 1},  cost = { }, },
            [20] = {0.80000001192093, 1.2000000476837, 66, 9, 50, 20000, 80, critChance = 5, levelRequirement = 66, statInterpolation = {3, 3, 1},  cost = { }, },
            [21] = {0.80000001192093, 1.2000000476837, 67, 9, 50, 20000, 80, critChance = 5, levelRequirement = 67, statInterpolation = {3, 3, 1},  cost = { }, },
            [22] = {0.80000001192093, 1.2000000476837, 68, 9, 50, 20000, 80, critChance = 5, levelRequirement = 68, statInterpolation = {3, 3, 1},  cost = { }, },
            [23] = {0.80000001192093, 1.2000000476837, 69, 9, 50, 20000, 80, critChance = 5, levelRequirement = 69, statInterpolation = {3, 3, 1},  cost = { }, },
            [24] = {0.80000001192093, 1.2000000476837, 70, 9, 50, 20000, 80, critChance = 5, levelRequirement = 70, statInterpolation = {3, 3, 1},  cost = { }, },
            [25] = {0.80000001192093, 1.2000000476837, 71, 9, 50, 20000, 80, critChance = 5, levelRequirement = 71, statInterpolation = {3, 3, 1},  cost = { }, },
            [26] = {0.80000001192093, 1.2000000476837, 72, 9, 50, 20000, 80, critChance = 5, levelRequirement = 72, statInterpolation = {3, 3, 1},  cost = { }, },
            [27] = {0.80000001192093, 1.2000000476837, 73, 9, 50, 20000, 80, critChance = 5, levelRequirement = 73, statInterpolation = {3, 3, 1},  cost = { }, },
            [28] = {0.80000001192093, 1.2000000476837, 74, 9, 50, 20000, 80, critChance = 5, levelRequirement = 74, statInterpolation = {3, 3, 1},  cost = { }, },
            [29] = {0.80000001192093, 1.2000000476837, 75, 9, 50, 20000, 80, critChance = 5, levelRequirement = 75, statInterpolation = {3, 3, 1},  cost = { }, },
            [30] = {0.80000001192093, 1.2000000476837, 76, 9, 50, 20000, 80, critChance = 5, levelRequirement = 76, statInterpolation = {3, 3, 1},  cost = { }, },
            [31] = {0.80000001192093, 1.2000000476837, 77, 9, 50, 20000, 80, critChance = 5, levelRequirement = 77, statInterpolation = {3, 3, 1},  cost = { }, },
            [32] = {0.80000001192093, 1.2000000476837, 78, 9, 50, 20000, 80, critChance = 5, levelRequirement = 78, statInterpolation = {3, 3, 1},  cost = { }, },
            [33] = {0.80000001192093, 1.2000000476837, 79, 9, 50, 20000, 80, critChance = 5, levelRequirement = 79, statInterpolation = {3, 3, 1},  cost = { }, },
            [34] = {0.80000001192093, 1.2000000476837, 80, 9, 50, 20000, 80, critChance = 5, levelRequirement = 80, statInterpolation = {3, 3, 1},  cost = { }, },
            [35] = {0.80000001192093, 1.2000000476837, 81, 9, 50, 20000, 80, critChance = 5, levelRequirement = 81, statInterpolation = {3, 3, 1},  cost = { }, },
            [36] = {0.80000001192093, 1.2000000476837, 82, 9, 50, 20000, 80, critChance = 5, levelRequirement = 82, statInterpolation = {3, 3, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MonsterArcticBreathSideArea"] = {
        name = "Creeping Frost",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fire an icy projectile that bursts on impact or when reaching the targeted area, dealing area damage and creating a chilling area that deals cold damage over time. This area will creep across the ground towards nearby enemies until its duration expires.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Duration] = true,
            [SkillType.Area] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Cold] = true,
            [SkillType.ChillingArea] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 0.8,
        baseFlags = {
            area = true,
            spell = true,
            projectile = true,
            duration = true,
            totem = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_cold_damage",
            "spell_maximum_base_cold_damage",
            "base_skill_effect_duration",
            "base_projectile_speed_+%",
            "base_active_skill_totem_level",
            "base_cast_speed_+%",
            "base_totem_duration",
            "base_totem_range",
            "active_skill_base_area_of_effect_radius",
            "active_skill_base_secondary_area_of_effect_radius",
            "is_totem",
            "base_is_projectile",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 3500, -50, 3, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [2] = {0.80000001192093, 1.2000000476837, 3500, -50, 5, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [3] = {0.80000001192093, 1.2000000476837, 3500, -50, 8, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [4] = {0.80000001192093, 1.2000000476837, 3500, -50, 12, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [5] = {0.80000001192093, 1.2000000476837, 3500, -50, 15, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [6] = {0.80000001192093, 1.2000000476837, 3500, -50, 19, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [7] = {0.80000001192093, 1.2000000476837, 3500, -50, 20, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [8] = {0.80000001192093, 1.2000000476837, 3500, -50, 21, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [9] = {0.80000001192093, 1.2000000476837, 3500, -50, 26, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [10] = {0.80000001192093, 1.2000000476837, 3500, -50, 30, 0, 20000, 80, 15, 15, critChance = 5, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [11] = {0.80000001192093, 1.2000000476837, 7000, -40, 34, 30, 20000, 80, 15, 15, critChance = 5, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [12] = {0.80000001192093, 1.2000000476837, 7000, -40, 38, 30, 20000, 80, 15, 15, critChance = 5, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [13] = {0.80000001192093, 1.2000000476837, 7000, -40, 43, 30, 20000, 80, 15, 15, critChance = 5, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [14] = {0.80000001192093, 1.2000000476837, 7000, -40, 45, 30, 20000, 80, 15, 15, critChance = 5, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [15] = {0.80000001192093, 1.2000000476837, 12000, -20, 53, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [16] = {0.80000001192093, 1.2000000476837, 12000, -20, 58, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [17] = {0.80000001192093, 1.2000000476837, 12000, -20, 62, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [18] = {0.80000001192093, 1.2000000476837, 12000, -20, 63, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [19] = {0.80000001192093, 1.2000000476837, 12000, -20, 66, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [20] = {0.80000001192093, 1.2000000476837, 12000, -20, 67, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [21] = {0.80000001192093, 1.2000000476837, 12000, -20, 68, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [22] = {0.80000001192093, 1.2000000476837, 12000, -20, 69, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [23] = {0.80000001192093, 1.2000000476837, 12000, -20, 70, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [24] = {0.80000001192093, 1.2000000476837, 12000, -20, 71, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [25] = {0.80000001192093, 1.2000000476837, 12000, -20, 72, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [26] = {0.80000001192093, 1.2000000476837, 12000, -20, 73, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [27] = {0.80000001192093, 1.2000000476837, 12000, -20, 74, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [28] = {0.80000001192093, 1.2000000476837, 12000, -20, 75, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [29] = {0.80000001192093, 1.2000000476837, 12000, -20, 76, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [30] = {0.80000001192093, 1.2000000476837, 12000, -20, 77, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [31] = {0.80000001192093, 1.2000000476837, 12000, -20, 78, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [32] = {0.80000001192093, 1.2000000476837, 12000, -20, 79, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [33] = {0.80000001192093, 1.2000000476837, 12000, -20, 80, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [34] = {0.80000001192093, 1.2000000476837, 12000, -20, 81, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
            [35] = {0.80000001192093, 1.2000000476837, 12000, -20, 82, 55, 20000, 80, 15, 15, critChance = 5, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MonsterFlameRedSideArea"] = {
        name = "Holy Flame Totem",
        hidden = true,
        color = 4,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Summons a totem that fires a stream of flame at nearby enemies.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Trappable] = true,
            [SkillType.Mineable] = true,
            [SkillType.SummonsTotem] = true,
            [SkillType.Fire] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 0.25,
        baseFlags = {
            spell = true,
            projectile = true,
            totem = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_fire_damage",
            "spell_maximum_base_fire_damage",
            "base_active_skill_totem_level",
            "number_of_additional_projectiles",
            "base_cast_speed_+%",
            "base_totem_duration",
            "base_totem_range",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "totem_art_variation",
            "base_is_projectile",
            "is_totem",
            "always_pierce",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 3, 2, 0, 20000, 80, -25, -2, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [2] = {0.80000001192093, 1.2000000476837, 5, 2, 0, 20000, 80, -25, -2, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [3] = {0.80000001192093, 1.2000000476837, 8, 2, 0, 20000, 80, -25, -2, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [4] = {0.80000001192093, 1.2000000476837, 12, 2, 0, 20000, 80, -25, -2, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [5] = {0.80000001192093, 1.2000000476837, 15, 2, 0, 20000, 80, -25, -2, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [6] = {0.80000001192093, 1.2000000476837, 19, 2, 0, 20000, 80, -25, -2, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [7] = {0.80000001192093, 1.2000000476837, 20, 2, 0, 20000, 80, -25, -2, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [8] = {0.80000001192093, 1.2000000476837, 21, 2, 0, 20000, 80, -25, -2, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [9] = {0.80000001192093, 1.2000000476837, 26, 2, 0, 20000, 80, -25, -2, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [10] = {0.80000001192093, 1.2000000476837, 30, 2, 0, 20000, 80, -25, -2, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [11] = {0.80000001192093, 1.2000000476837, 34, 3, 25, 20000, 80, -25, -2, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [12] = {0.80000001192093, 1.2000000476837, 38, 3, 25, 20000, 80, -25, -2, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [13] = {0.80000001192093, 1.2000000476837, 43, 3, 25, 20000, 80, -25, -2, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [14] = {0.80000001192093, 1.2000000476837, 45, 3, 25, 20000, 80, -25, -2, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [15] = {0.80000001192093, 1.2000000476837, 53, 11, 40, 20000, 80, -25, -2, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [16] = {0.80000001192093, 1.2000000476837, 58, 11, 40, 20000, 80, -25, -2, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [17] = {0.80000001192093, 1.2000000476837, 62, 11, 40, 20000, 80, -25, -2, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [18] = {0.80000001192093, 1.2000000476837, 63, 11, 40, 20000, 80, -25, -2, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [19] = {0.80000001192093, 1.2000000476837, 66, 11, 40, 20000, 80, -25, -2, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [20] = {0.80000001192093, 1.2000000476837, 67, 11, 40, 20000, 80, -25, -2, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [21] = {0.80000001192093, 1.2000000476837, 68, 11, 40, 20000, 80, -25, -2, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [22] = {0.80000001192093, 1.2000000476837, 69, 11, 40, 20000, 80, -25, -2, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [23] = {0.80000001192093, 1.2000000476837, 70, 11, 40, 20000, 80, -25, -2, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [24] = {0.80000001192093, 1.2000000476837, 71, 11, 40, 20000, 80, -25, -2, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [25] = {0.80000001192093, 1.2000000476837, 72, 11, 40, 20000, 80, -25, -2, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [26] = {0.80000001192093, 1.2000000476837, 73, 11, 40, 20000, 80, -25, -2, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [27] = {0.80000001192093, 1.2000000476837, 74, 11, 40, 20000, 80, -25, -2, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [28] = {0.80000001192093, 1.2000000476837, 75, 11, 40, 20000, 80, -25, -2, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [29] = {0.80000001192093, 1.2000000476837, 76, 11, 40, 20000, 80, -25, -2, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [30] = {0.80000001192093, 1.2000000476837, 77, 11, 40, 20000, 80, -25, -2, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [31] = {0.80000001192093, 1.2000000476837, 78, 11, 40, 20000, 80, -25, -2, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [32] = {0.80000001192093, 1.2000000476837, 79, 11, 40, 20000, 80, -25, -2, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [33] = {0.80000001192093, 1.2000000476837, 80, 11, 40, 20000, 80, -25, -2, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [34] = {0.80000001192093, 1.2000000476837, 81, 11, 40, 20000, 80, -25, -2, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [35] = {0.80000001192093, 1.2000000476837, 82, 11, 40, 20000, 80, -25, -2, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MonsterStormCallSideArea"] = {
        name = "Storm Call",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Sets a marker at a location. After a short duration, lightning strikes the marker, dealing damage around it and causing lightning strikes at any other markers you've cast.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Lightning] = true,
            [SkillType.Cascadable] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 0.5,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
            totem = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_lightning_damage",
            "spell_maximum_base_lightning_damage",
            "base_skill_effect_duration",
            "base_active_skill_totem_level",
            "active_skill_area_of_effect_radius_+%_final",
            "base_totem_duration",
            "base_totem_range",
            "is_area_damage",
            "is_totem",
        },
        levels = {
            [1] = {0.5, 1.5, 2500, 3, -31, 20000, 80, critChance = 5, levelRequirement = 3, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [2] = {0.5, 1.5, 2500, 5, -31, 20000, 80, critChance = 5, levelRequirement = 5, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [3] = {0.5, 1.5, 2500, 8, -31, 20000, 80, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [4] = {0.5, 1.5, 2500, 12, -31, 20000, 80, critChance = 5, levelRequirement = 12, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [5] = {0.5, 1.5, 2500, 15, -31, 20000, 80, critChance = 5, levelRequirement = 15, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [6] = {0.5, 1.5, 2500, 19, -31, 20000, 80, critChance = 5, levelRequirement = 19, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [7] = {0.5, 1.5, 2500, 20, -31, 20000, 80, critChance = 5, levelRequirement = 20, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [8] = {0.5, 1.5, 2500, 21, -31, 20000, 80, critChance = 5, levelRequirement = 21, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [9] = {0.5, 1.5, 2500, 26, -31, 20000, 80, critChance = 5, levelRequirement = 26, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [10] = {0.5, 1.5, 2500, 30, -31, 20000, 80, critChance = 5, levelRequirement = 30, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [11] = {0.5, 1.5, 2000, 34, -16, 20000, 80, critChance = 5, levelRequirement = 34, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [12] = {0.5, 1.5, 2000, 38, -16, 20000, 80, critChance = 5, levelRequirement = 38, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [13] = {0.5, 1.5, 2000, 43, -16, 20000, 80, critChance = 5, levelRequirement = 43, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [14] = {0.5, 1.5, 2000, 45, -16, 20000, 80, critChance = 5, levelRequirement = 45, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [15] = {0.5, 1.5, 1500, 53, -6, 20000, 80, critChance = 5, levelRequirement = 53, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [16] = {0.5, 1.5, 1500, 58, -6, 20000, 80, critChance = 5, levelRequirement = 58, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [17] = {0.5, 1.5, 1500, 62, -6, 20000, 80, critChance = 5, levelRequirement = 62, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [18] = {0.5, 1.5, 1500, 63, -6, 20000, 80, critChance = 5, levelRequirement = 63, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [19] = {0.5, 1.5, 1500, 66, -6, 20000, 80, critChance = 5, levelRequirement = 66, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [20] = {0.5, 1.5, 1500, 67, -6, 20000, 80, critChance = 5, levelRequirement = 67, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [21] = {0.5, 1.5, 1500, 68, -6, 20000, 80, critChance = 5, levelRequirement = 68, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [22] = {0.5, 1.5, 1500, 69, -6, 20000, 80, critChance = 5, levelRequirement = 69, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [23] = {0.5, 1.5, 1500, 70, -6, 20000, 80, critChance = 5, levelRequirement = 70, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [24] = {0.5, 1.5, 1500, 71, -6, 20000, 80, critChance = 5, levelRequirement = 71, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [25] = {0.5, 1.5, 1500, 72, -6, 20000, 80, critChance = 5, levelRequirement = 72, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [26] = {0.5, 1.5, 1500, 73, -6, 20000, 80, critChance = 5, levelRequirement = 73, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [27] = {0.5, 1.5, 1500, 74, -6, 20000, 80, critChance = 5, levelRequirement = 74, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [28] = {0.5, 1.5, 1500, 75, -6, 20000, 80, critChance = 5, levelRequirement = 75, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [29] = {0.5, 1.5, 1500, 76, -6, 20000, 80, critChance = 5, levelRequirement = 76, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [30] = {0.5, 1.5, 1500, 77, -6, 20000, 80, critChance = 5, levelRequirement = 77, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [31] = {0.5, 1.5, 1500, 78, -6, 20000, 80, critChance = 5, levelRequirement = 78, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [32] = {0.5, 1.5, 1500, 79, -6, 20000, 80, critChance = 5, levelRequirement = 79, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [33] = {0.5, 1.5, 1500, 80, -6, 20000, 80, critChance = 5, levelRequirement = 80, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [34] = {0.5, 1.5, 1500, 81, -6, 20000, 80, critChance = 5, levelRequirement = 81, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
            [35] = {0.5, 1.5, 1500, 82, -6, 20000, 80, critChance = 5, levelRequirement = 82, statInterpolation = {3, 3, 1, 1, 1},  cost = { }, },
        },
    }
    
    掉落的物品稀有度提高 %
    IdMonsterSideAreaBoss
    FamilyMonsterSideAreaBoss
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • monster dropped item rarity +% Min: 0 Max: 0 全域
  • +7 召唤图腾数量上限
    IdMonsterAdditionalTotems2
    FamilyAdditionalTotems
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • number of additional totems allowed Min: 7 Max: 7 全域
  • monster additional quantity of dropped items in cruel +% [500]
    monster additional quantity of dropped items in merciless +% [1000]
    monster additional rarity of dropped items in cruel +% [750]
    monster additional rarity of dropped items in merciless +% [1500]
    IdMonsterInvasionMercilessDrops2
    FamilyMonsterMercilessDrops
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • monster additional rarity of dropped items in cruel +% Min: 750 Max: 750 全域
  • monster additional quantity of dropped items in cruel +% Min: 500 Max: 500 全域
  • monster additional rarity of dropped items in merciless +% Min: 1500 Max: 1500 全域
  • monster additional quantity of dropped items in merciless +% Min: 1000 Max: 1000 全域
  • monster no map drops [1]
    IdMonsterNoMapDrops
    FamilyMonsterNoMapDrops
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • monster no map drops Min: 1 Max: 1 全域
  • monster is invasion boss [1]
    IdIsInvasionBoss
    FamilyMonsterIsInvasionBoss
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • monster is invasion boss Min: 1 Max: 1 全域
  • kill traps mines and totems on death [1]
    IdMonsterKillTrapsMinesTotemsOnDeath
    FamilyMonsterKillTrapsMinesTotemsOnDeath
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • kill traps mines and totems on death Min: 1 Max: 1 全域
  • level 33 or lower damage +% final [-20]
    level 33 or lower life +% final [-20]
    IdMonsterLifeAndDamageLessBelowLevel33
    FamilyMoreLifeBelowLevelThreshold
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • level 33 or lower life +% final Min: -20 Max: -20 全域
  • level 33 or lower damage +% final Min: -20 Max: -20 全域
  • Craft Tagsresource life damage