Haviri, Métallurgiste vaal
Fabrication
% d'Augmentation de la Rareté des Objets cédés
+7 au nombre maximum de Totems Invoqués
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
AreaChambre interdite, Chambre interdite
Tagsbludgeoning_weapon, bone_armour, bones, Lanceur de sorts, 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
Vie
180%
Armure
+100%
Ailment Threshold
180%
Résistance
30 30 30 20
Damage
100%
Précision
100%
Chances de coup critique
+5%
Multiplicateur de coups critiques
+130%
Attack Distance
6 ~ 9
Attack Time
1.605 Second
Damage Spread
±20%
Expérience
200%
Model Size
160%
Type
ConstructMeleeArmouredBossSideArea
Metadata
ConstructMeleeBossSideArea
Niveau
68
Vie
11,580
Armure
57,580
Évasion
4,739
Bouclier d'énergie
0
Damage
374
Dégâts des sorts
374
Précision
290
Attack Time
1.605
Expérience
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
Givre dévorant
Chances de coup critique: 5%
Temps d'incantation: 0.8 sec.
Un projectile glacial qui explose à l'impact ou en atteignant l'emplacement ciblé, infligeant des dégâts de zone et créant une zone frigorifiante qui inflige des dégâts de froid sur la durée. Cette zone se déplace en direction des ennemis à proximité jusqu'à ce que sa durée expire.
Inflige 1127 à 1690 Dégâts de froid
Les Totems durent 20 secondes
La Durée de base est de 12 secondes
Les Projectiles se Scindent
Invoque un Totem qui utilise cette Aptitude
55% d'Augmentation de la Vitesse d'incantation
20% de Réduction de la Vitesse des Projectiles
Le Rayon de base est de 1.5 mètres
Le Rayon secondaire de base est de 1.5 mètres
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
Pulsation glaciale
Chances de coup critique: 6%
Efficacité des Dégâts supplémentaires: 125%
Temps d'incantation: 0.65 sec.
Un projectile glacé qui a une chance de geler les ennemis qu'il traverse. Le projectile s'estompe rapidement, réduisant les dégâts et les chances de geler jusqu'à ce qu'il se dissipe complètement.
Inflige 423.2 à 634.7 Dégâts de froid
Les Projectiles Transpercent toutes les cibles
Les Totems durent 20 secondes
Tire 3 Projectiles supplémentaires
Invoque un Totem qui utilise cette Aptitude
60% d'Augmentation de la Vitesse d'incantation
60% d'Augmentation de la Vitesse des Projectiles
base active skill totem level [68]
base is projectile [1]
base totem range [80]
MonsterFlameRedSideArea
Spell, Projectile, ProjectilesFromUser, Damage, Trappable, Mineable, SummonsTotem, Fire
Totem de flammes sacrées
Efficacité des Dégâts supplémentaires: 10%
Temps d'incantation: 0.25 sec.
Invoque un totem qui envoie un jet continu de flammes sur les ennemis à proximité.
Les Projectiles Transpercent toutes les cibles
Les Totems durent 20 secondes
Inflige 98.05 à 147.1 Dégâts de feu
Tire 11 Projectiles supplémentaires
Invoque un Totem qui utilise cette Aptitude
Tire des Projectiles en cercle
40% d'Augmentation de la Vitesse d'incantation
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
Boule de feu
Chances de coup critique: 6%
Temps d'incantation: 0.85 sec.
Libère une boule de feu vers une cible qui explose à l'impact, endommageant les ennemis à proximité.
Les Totems durent 20 secondes
Les Projectiles se Scindent
Inflige 355 à 532.4 Dégâts de feu
Tire 3 Projectiles supplémentaires
Invoque un Totem qui utilise cette Aptitude
60% d'Augmentation de la Vitesse d'incantation
Le Rayon de base est de 0.9 mètres
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
Nova d'électricité
Chances de coup critique: 3%
Temps d'incantation: 0.75 sec.
Un cercle électrocutant de foudre qui inflige des dégâts aux monstres qu'il touche. Les monstres au centre du cercle ne subissent pas de dégâts.
Inflige 128.9 à 386.8 Dégâts de foudre
Les Totems durent 20 secondes
Invoque un Totem qui utilise cette Aptitude
50% d'Augmentation de la Vitesse d'incantation
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
Appel de la foudre
Chances de coup critique: 5%
Temps d'incantation: 0.5 sec.
Un sort qui place un marqueur à un emplacement. Après une courte durée, un éclair foudroie le marqueur, infligeant des dégâts aux alentours, tous les autres marqueurs placés sont également foudroyés.
Inflige 344.3 à 1033 Dégâts de foudre
Les Totems durent 20 secondes
La Durée de base est de 1.5 secondes
Invoque un Totem qui utilise cette Aptitude
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
Totem sismique
Efficacité des Dégâts supplémentaires: 50%
Temps d'incantation: 0.6 sec.
Un totem qui fait trembler la terre autour de lui, repoussant et endommageant les ennemis à proximité.
Inflige 85.89 à 143.1 Dégâts physiques
Repousse les Ennemis au Toucher
45% d'Augmentation de la Vitesse d'incantation
800% d'Augmentation de la Distance de Repoussement
Le Rayon de base est de 2.4 mètres
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
Tempête de feu
Chances de coup critique: 5%
Temps d'incantation: 0.9 sec.
Des globes de feu s'abattent sur la zone ciblée. Ils explosent en touchant le sol, infligeant des dégâts aux ennemis à proximité.
Inflige 93.09 à 139.6 Dégâts physiques
Les Totems durent 20 secondes
La Durée de base est de 3.5 secondes
Invoque un Totem qui utilise cette Aptitude
Un impact toutes les 0.13 secondes
Le Rayon de base est de 1 mètre
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
Couteaux éthérés
Chances de coup critique: 5%
Temps d'incantation: 0.6 sec.
Un sort qui projette des couteaux en arc-de-cercle face au lanceur. Les couteaux infligent des dégâts physiques.
Inflige 384.8 à 577.2 Dégâts physiques
Les Totems durent 20 secondes
Tire 9 Projectiles supplémentaires
50% des Dégâts physiques sont Convertis en Dégâts de chaos
Invoque un Totem qui utilise cette Aptitude
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 = { }, },
    },
}
% d'Augmentation de la Rareté des Objets cédés
IdMonsterSideAreaBoss
FamilyMonsterSideAreaBoss
Domainsmonstre (3)
GenerationTypeUnique (3)
Req. level1
Stats
  • monster dropped item rarity +% Min: 0 Max: 0 Global
  • +7 au nombre maximum de Totems Invoqués
    IdMonsterAdditionalTotems2
    FamilyAdditionalTotems
    Domainsmonstre (3)
    GenerationTypeUnique (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
    Domainsmonstre (3)
    GenerationTypeUnique (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
    Domainsmonstre (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster no map drops Min: 1 Max: 1 Global
  • kill traps mines and totems on death [1]
    IdMonsterKillTrapsMinesTotemsOnDeath
    FamilyMonsterKillTrapsMinesTotemsOnDeath
    Domainsmonstre (3)
    GenerationTypeUnique (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
    Domainsmonstre (3)
    GenerationTypeUnique (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
    Haviri, Métallurgiste vaal
    Fabrication
    % d'Augmentation de la Rareté des Objets cédés
    +7 au nombre maximum de Totems Invoqués
    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% d'Augmentation de la Vie maximale
    Tagsbludgeoning_weapon, bone_armour, bones, Lanceur de sorts, 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: Haviri, Métallurgiste vaal, Vaal déchu, Vaal déchu
  • Vie
    180%
    Armure
    +100%
    Ailment Threshold
    180%
    Résistance
    30 30 30 20
    Damage
    100%
    Précision
    100%
    Chances de coup critique
    +5%
    Multiplicateur de coups critiques
    +130%
    Attack Distance
    6 ~ 9
    Attack Time
    1.605 Second
    Damage Spread
    ±20%
    Expérience
    200%
    Model Size
    160%
    Type
    ConstructMeleeArmouredBossSideArea
    Metadata
    ConstructMeleeBossSideAreaInvasion
    Niveau
    68
    Vie
    11,580
    Armure
    57,580
    Évasion
    4,739
    Bouclier d'énergie
    0
    Damage
    374
    Dégâts des sorts
    374
    Précision
    290
    Attack Time
    1.605
    Expérience
    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
    Givre dévorant
    Chances de coup critique: 5%
    Temps d'incantation: 0.8 sec.
    Un projectile glacial qui explose à l'impact ou en atteignant l'emplacement ciblé, infligeant des dégâts de zone et créant une zone frigorifiante qui inflige des dégâts de froid sur la durée. Cette zone se déplace en direction des ennemis à proximité jusqu'à ce que sa durée expire.
    Inflige 1127 à 1690 Dégâts de froid
    Les Totems durent 20 secondes
    La Durée de base est de 12 secondes
    Les Projectiles se Scindent
    Invoque un Totem qui utilise cette Aptitude
    55% d'Augmentation de la Vitesse d'incantation
    20% de Réduction de la Vitesse des Projectiles
    Le Rayon de base est de 1.5 mètres
    Le Rayon secondaire de base est de 1.5 mètres
    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
    Pulsation glaciale
    Chances de coup critique: 6%
    Efficacité des Dégâts supplémentaires: 125%
    Temps d'incantation: 0.65 sec.
    Un projectile glacé qui a une chance de geler les ennemis qu'il traverse. Le projectile s'estompe rapidement, réduisant les dégâts et les chances de geler jusqu'à ce qu'il se dissipe complètement.
    Inflige 423.2 à 634.7 Dégâts de froid
    Les Projectiles Transpercent toutes les cibles
    Les Totems durent 20 secondes
    Tire 3 Projectiles supplémentaires
    Invoque un Totem qui utilise cette Aptitude
    60% d'Augmentation de la Vitesse d'incantation
    60% d'Augmentation de la Vitesse des Projectiles
    base active skill totem level [68]
    base is projectile [1]
    base totem range [80]
    MonsterFlameRedSideArea
    Spell, Projectile, ProjectilesFromUser, Damage, Trappable, Mineable, SummonsTotem, Fire
    Totem de flammes sacrées
    Efficacité des Dégâts supplémentaires: 10%
    Temps d'incantation: 0.25 sec.
    Invoque un totem qui envoie un jet continu de flammes sur les ennemis à proximité.
    Les Projectiles Transpercent toutes les cibles
    Les Totems durent 20 secondes
    Inflige 98.05 à 147.1 Dégâts de feu
    Tire 11 Projectiles supplémentaires
    Invoque un Totem qui utilise cette Aptitude
    Tire des Projectiles en cercle
    40% d'Augmentation de la Vitesse d'incantation
    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
    Boule de feu
    Chances de coup critique: 6%
    Temps d'incantation: 0.85 sec.
    Libère une boule de feu vers une cible qui explose à l'impact, endommageant les ennemis à proximité.
    Les Totems durent 20 secondes
    Les Projectiles se Scindent
    Inflige 355 à 532.4 Dégâts de feu
    Tire 3 Projectiles supplémentaires
    Invoque un Totem qui utilise cette Aptitude
    60% d'Augmentation de la Vitesse d'incantation
    Le Rayon de base est de 0.9 mètres
    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
    Nova d'électricité
    Chances de coup critique: 3%
    Temps d'incantation: 0.75 sec.
    Un cercle électrocutant de foudre qui inflige des dégâts aux monstres qu'il touche. Les monstres au centre du cercle ne subissent pas de dégâts.
    Inflige 128.9 à 386.8 Dégâts de foudre
    Les Totems durent 20 secondes
    Invoque un Totem qui utilise cette Aptitude
    50% d'Augmentation de la Vitesse d'incantation
    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
    Appel de la foudre
    Chances de coup critique: 5%
    Temps d'incantation: 0.5 sec.
    Un sort qui place un marqueur à un emplacement. Après une courte durée, un éclair foudroie le marqueur, infligeant des dégâts aux alentours, tous les autres marqueurs placés sont également foudroyés.
    Inflige 344.3 à 1033 Dégâts de foudre
    Les Totems durent 20 secondes
    La Durée de base est de 1.5 secondes
    Invoque un Totem qui utilise cette Aptitude
    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
    Totem sismique
    Efficacité des Dégâts supplémentaires: 50%
    Temps d'incantation: 0.6 sec.
    Un totem qui fait trembler la terre autour de lui, repoussant et endommageant les ennemis à proximité.
    Inflige 85.89 à 143.1 Dégâts physiques
    Repousse les Ennemis au Toucher
    45% d'Augmentation de la Vitesse d'incantation
    800% d'Augmentation de la Distance de Repoussement
    Le Rayon de base est de 2.4 mètres
    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
    Tempête de feu
    Chances de coup critique: 5%
    Temps d'incantation: 0.9 sec.
    Des globes de feu s'abattent sur la zone ciblée. Ils explosent en touchant le sol, infligeant des dégâts aux ennemis à proximité.
    Inflige 93.09 à 139.6 Dégâts physiques
    Les Totems durent 20 secondes
    La Durée de base est de 3.5 secondes
    Invoque un Totem qui utilise cette Aptitude
    Un impact toutes les 0.13 secondes
    Le Rayon de base est de 1 mètre
    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
    Couteaux éthérés
    Chances de coup critique: 5%
    Temps d'incantation: 0.6 sec.
    Un sort qui projette des couteaux en arc-de-cercle face au lanceur. Les couteaux infligent des dégâts physiques.
    Inflige 384.8 à 577.2 Dégâts physiques
    Les Totems durent 20 secondes
    Tire 9 Projectiles supplémentaires
    50% des Dégâts physiques sont Convertis en Dégâts de chaos
    Invoque un Totem qui utilise cette Aptitude
    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 = { }, },
        },
    }
    
    % d'Augmentation de la Rareté des Objets cédés
    IdMonsterSideAreaBoss
    FamilyMonsterSideAreaBoss
    Domainsmonstre (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster dropped item rarity +% Min: 0 Max: 0 Global
  • +7 au nombre maximum de Totems Invoqués
    IdMonsterAdditionalTotems2
    FamilyAdditionalTotems
    Domainsmonstre (3)
    GenerationTypeUnique (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
    Domainsmonstre (3)
    GenerationTypeUnique (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
    Domainsmonstre (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster no map drops Min: 1 Max: 1 Global
  • monster is invasion boss [1]
    IdIsInvasionBoss
    FamilyMonsterIsInvasionBoss
    Domainsmonstre (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster is invasion boss Min: 1 Max: 1 Global
  • kill traps mines and totems on death [1]
    IdMonsterKillTrapsMinesTotemsOnDeath
    FamilyMonsterKillTrapsMinesTotemsOnDeath
    Domainsmonstre (3)
    GenerationTypeUnique (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
    Domainsmonstre (3)
    GenerationTypeUnique (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