Хавири, Кузнец руд ваал
Механизм
% увеличение редкости выпадающих предметов
+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
SpectreN
AreaЗапретные покои, Запретные покои
Tagsbludgeoning_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%
Ailment Threshold
180%
Сопротивление
30 30 30 20
Damage
100%
Точность
100%
Шанс критического удара
+5%
Множитель критического удара
+130%
Attack Distance
6 ~ 9
Attack Time
1.605 Second
Damage Spread
±20%
Опыт
200%
Model Size
160%
Type
ConstructMeleeArmouredBossSideArea
Metadata
ConstructMeleeBossSideArea
Уровень
68
Здоровье
11,580
Броня
57,580
Уклонение
4,739
Энергетический щит
0
Damage
374
Урон от чар
374
Точность
290
Attack Time
1.605
Опыт
20,510
Ailment Threshold
11,580
Chill
37
Shock
37
Brittle
207
Scorch
37
Sap
101
MonsterArcticBreathSideArea
Spell, Projectile, ProjectilesFromUser, Damage, Trappable, Totemable, Mineable, Duration, Area, Multicastable, Triggerable, Cold, ChillingArea, CanRapidFire, AreaSpell
Ползучий мороз
Шанс критического удара: 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
Spell, Projectile, ProjectilesFromUser, Damage, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cold, CanRapidFire
Волна холода
Шанс критического удара: 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
Spell, Projectile, ProjectilesFromUser, Damage, Trappable, Mineable, SummonsTotem, Fire
Тотем священного огня
Эффективность добавленного урона: 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
Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, Fire, CanRapidFire, AreaSpell
Огненный шар
Шанс критического удара: 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
Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, Lightning, CanRapidFire, AreaSpell, Nova
Кольцо молний
Шанс критического удара: 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
Spell, Damage, Area, Duration, Trappable, Totemable, Mineable, Triggerable, Multicastable, Lightning, Cascadable, CanRapidFire, AreaSpell
Призыв бури
Шанс критического удара: 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
Spell, Damage, Area, Trappable, Mineable, SummonsTotem, Multicastable, AreaSpell, Physical, Nova
Сотрясающий тотем
Эффективность добавленного урона: 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
Spell, Damage, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Fire, Cascadable, CanRapidFire, AreaSpell
Огненный шторм
Шанс критического удара: 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
Spell, Damage, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable, Multicastable, Triggerable, CanRapidFire, Physical
Бесплотные ножи
Шанс критического удара: 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 Global
  • +7 к максимальному количеству установленных тотемов
    IdMonsterAdditionalTotems2
    FamilyAdditionalTotems
    Domainsмонстр (3)
    GenerationTypeУникальный (3)
    Req. level1
    Stats
  • number of additional totems allowed Min: 7 Max: 7 Global
  • 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 Global
  • monster additional quantity of dropped items in cruel +% Min: 500 Max: 500 Global
  • monster additional rarity of dropped items in merciless +% Min: 1500 Max: 1500 Global
  • monster additional quantity of dropped items in merciless +% Min: 1000 Max: 1000 Global
  • monster no map drops [1]
    IdMonsterNoMapDrops
    FamilyMonsterNoMapDrops
    Domainsмонстр (3)
    GenerationTypeУникальный (3)
    Req. level1
    Stats
  • monster no map drops Min: 1 Max: 1 Global
  • 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 Global
  • 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 Global
  • level 33 or lower damage +% final Min: -20 Max: -20 Global
  • 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
    SpectreN
    AreaInvasionBoss
    End Game50% увеличение максимума здоровья
    Tagsbludgeoning_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%
    Ailment Threshold
    180%
    Сопротивление
    30 30 30 20
    Damage
    100%
    Точность
    100%
    Шанс критического удара
    +5%
    Множитель критического удара
    +130%
    Attack Distance
    6 ~ 9
    Attack Time
    1.605 Second
    Damage Spread
    ±20%
    Опыт
    200%
    Model Size
    160%
    Type
    ConstructMeleeArmouredBossSideArea
    Metadata
    ConstructMeleeBossSideAreaInvasion
    Уровень
    68
    Здоровье
    11,580
    Броня
    57,580
    Уклонение
    4,739
    Энергетический щит
    0
    Damage
    374
    Урон от чар
    374
    Точность
    290
    Attack Time
    1.605
    Опыт
    20,510
    Ailment Threshold
    11,580
    Chill
    37
    Shock
    37
    Brittle
    207
    Scorch
    37
    Sap
    101
    MonsterArcticBreathSideArea
    Spell, Projectile, ProjectilesFromUser, Damage, Trappable, Totemable, Mineable, Duration, Area, Multicastable, Triggerable, Cold, ChillingArea, CanRapidFire, AreaSpell
    Ползучий мороз
    Шанс критического удара: 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
    Spell, Projectile, ProjectilesFromUser, Damage, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cold, CanRapidFire
    Волна холода
    Шанс критического удара: 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
    Spell, Projectile, ProjectilesFromUser, Damage, Trappable, Mineable, SummonsTotem, Fire
    Тотем священного огня
    Эффективность добавленного урона: 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
    Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, Fire, CanRapidFire, AreaSpell
    Огненный шар
    Шанс критического удара: 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
    Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, Lightning, CanRapidFire, AreaSpell, Nova
    Кольцо молний
    Шанс критического удара: 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
    Spell, Damage, Area, Duration, Trappable, Totemable, Mineable, Triggerable, Multicastable, Lightning, Cascadable, CanRapidFire, AreaSpell
    Призыв бури
    Шанс критического удара: 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
    Spell, Damage, Area, Trappable, Mineable, SummonsTotem, Multicastable, AreaSpell, Physical, Nova
    Сотрясающий тотем
    Эффективность добавленного урона: 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
    Spell, Damage, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Fire, Cascadable, CanRapidFire, AreaSpell
    Огненный шторм
    Шанс критического удара: 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
    Spell, Damage, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable, Multicastable, Triggerable, CanRapidFire, Physical
    Бесплотные ножи
    Шанс критического удара: 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 Global
  • +7 к максимальному количеству установленных тотемов
    IdMonsterAdditionalTotems2
    FamilyAdditionalTotems
    Domainsмонстр (3)
    GenerationTypeУникальный (3)
    Req. level1
    Stats
  • number of additional totems allowed Min: 7 Max: 7 Global
  • 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 Global
  • monster additional quantity of dropped items in cruel +% Min: 500 Max: 500 Global
  • monster additional rarity of dropped items in merciless +% Min: 1500 Max: 1500 Global
  • monster additional quantity of dropped items in merciless +% Min: 1000 Max: 1000 Global
  • monster no map drops [1]
    IdMonsterNoMapDrops
    FamilyMonsterNoMapDrops
    Domainsмонстр (3)
    GenerationTypeУникальный (3)
    Req. level1
    Stats
  • monster no map drops Min: 1 Max: 1 Global
  • monster is invasion boss [1]
    IdIsInvasionBoss
    FamilyMonsterIsInvasionBoss
    Domainsмонстр (3)
    GenerationTypeУникальный (3)
    Req. level1
    Stats
  • monster is invasion boss Min: 1 Max: 1 Global
  • 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 Global
  • 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 Global
  • level 33 or lower damage +% final Min: -20 Max: -20 Global
  • Craft Tagsresource life damage