Viper Napuatzi
Area: Utzaal
monster dropped item rarity +% [2700]
monster slain experience +% [0]
unique monster guarantee one rare [0]
SpectreN
AreaUtzaal, Utzaal
Tagsallows_additional_projectiles, allows_inc_aoe, cultist, human, humanoid, melee, monster_applies_poison, physical_affinity, ranged, red_blood, Unarmed_onhit_audio, very_slow_movement
Life
250%
Energy Shield From Life
10%
Armour
+40%
Evasion
+40%
Ailment Threshold
%
Resistance
30 30 30 0
Damage
250%
Accuracy
100%
Critical Strike Chance
+5%
Critical Strike Multiplier
+130%
Attack Distance
5 ~ 18
Attack Time
1.38 Second
Damage Spread
±20%
Experience
250%
Model Size
100%
Type
ViperNapuatzi
Metadata
ViperNapuatzi
Level
62
Life
14,065
Armour
2,420
Evasion
406
Energy Shield
0
Damage
483
Spell Damage
483
Accuracy
0
Attack Time
1.38
Experience
46,440
MeleeAtAnimationSpeedBoss
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Time: 1.38 sec
action attack or cast time uses animation length [1]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
MPSViperNapuatziFastProjectile
Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
Critical Strike Chance: 5%
Cast Time: 1 sec
Deals 35.82 to 53.73 Physical Damage
Fires an additional Projectile
Poisons Enemies on Hit
base is projectile [1]
distribute projectiles over contact points [1]
monster projectile variation [1038]
projectile uses contact position [1]
spell maximum action distance +% [-20]
use scaled contact offset [1]
GSViperNapuatziSpinSlam
Triggerable, Spell, Damage
Critical Strike Chance: 5%
Cast Time: 1 sec
Cooldown Time: 15 sec
Deals 134.3 to 201.5 Physical Damage
action attack or cast time uses animation length [1]
is area damage [1]
voll slam damage +% final at centre [25]
EGViperNapuatziSnakeSacrifice
Triggerable
Cooldown Time: 30 sec
ViperNapuatziSnakeSpark
Spell, Projectile, ProjectilesFromUser, Damage, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Lightning, CanRapidFire, Invokable
Critical Strike Chance: 5%
Cast Time: 0.7 sec
Deals 58.21 to 87.32 Physical Damage
25% reduced Projectile Speed
Fires 5 additional Projectiles
Poisons Enemies on Hit
base is projectile [1]
base skill effect duration [10000]
check for targets between initiator and projectile source [1]
distribute projectiles over contact points [1]
projectile uses contact direction [1]
projectile uses contact position [1]
projectiles should collide with flying monsters [1]
spark pathing width bounds [15]
spark projectile absolute angle override deg [50]
spark projectile bounces off walls [1]
use scaled contact offset [1]
GSViperNapuatziFireRain
Triggerable, Spell, Damage
Critical Strike Chance: 5%
Cast Time: 1 sec
Deals 111.9 to 167.9 Fire Damage
is area damage [1]
GSViperNapuatziChaosRain
Triggerable, Spell, Damage
Critical Strike Chance: 5%
Cast Time: 1 sec
Deals 111.9 to 167.9 Chaos Damage
is area damage [1]
voll slam damage +% final at centre [25]
GTViperNapuatziFireRain
Triggerable
action attack or cast time uses animation length [1]
GTViperNapuatziChaosRain
Triggerable
action attack or cast time uses animation length [1]
EASViperNapuatziCrissCrossCascade
Cooldown Time: 40 sec
action attack or cast time uses animation length [1]
EAAViperNapuatziDashForward
action attack or cast time uses animation length [1]
EAAViperNapuatziDashBackward
action attack or cast time uses animation length [1]
EAAViperNapuatziDashLeft
action attack or cast time uses animation length [1]
EAAViperNapuatziDashRight
action attack or cast time uses animation length [1]
MAASViperNapuatziCombo
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Time: 1.38 sec
Cooldown Time: 7 sec
50% chance to Poison on Hit
action attack or cast time uses animation length [1]
attack maximum action distance + [15]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
MAASViperNapuatziSerpentStrike
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Damage: 80%
Attack Time: 1.38 sec
Cooldown Time: 40 sec
Deals 20% less Attack Damage
action attack or cast time uses animation length [1]
attack maximum action distance + [40]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
ViperNapuatziLightningSpear
Attack, Projectile, Lightning
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Damage: 150%
Attack Time: 1.38 sec
Cooldown Time: 10 sec
Deals 50% more Attack Damage
Converts 60% of Physical Damage to Lightning Damage
Shocks Enemies as though dealing 10% more Damage
action attack or cast time uses animation length [1]
attack maximum action distance + [80]
base is projectile [1]
no additional projectiles [1]
projectile uses contact position [1]
use scaled contact offset [1]
GAViperNapuatziSnakeWave
Triggerable, Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Damage: 250%
Attack Time: 1.38 sec
Deals 150% more Attack Damage
Poisons Enemies on Hit
base skill can be avoided by dodge roll [1]
base skill cannot be blocked [1]
is area damage [1]
CGEViperNapuatziSpear
Spell, Area, Damage, Triggerable, Duration, AreaSpell
Cast Time: 1 sec
Deals 68.4 Base Chaos Damage per second
active skill area of effect radius +% final [-5]
ground caustic art variation [1020]
infinite skill effect duration [1]
EASViperNapuatziCommandSoliders
action attack or cast time uses animation length [1]
EASViperNapuatziProjectileBarrage
Cooldown Time: 17.5 sec
action attack or cast time uses animation length [1]
spell maximum action distance +% [-40]
EASViperNapuatziSnakeRelease
Cooldown Time: 15 sec
action attack or cast time uses animation length [1]
spell maximum action distance +% [-70]
MAASViperNapuatziCombo2
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Damage: 80%
Attack Time: 1.38 sec
Cooldown Time: 7 sec
Deals 20% less Attack Damage
50% chance to Poison on Hit
action attack or cast time uses animation length [1]
attack maximum action distance + [15]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
GAViperComboEndSlam
Triggerable, Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Damage: 120%
Attack Time: 1.38 sec
Deals 20% more Attack Damage
50% chance to Poison on Hit
is area damage [1]
voll slam damage +% final at centre [20]
MAASViperNapuatziStepThrust
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Time: 1.38 sec
Cooldown Time: 5 sec
20% chance to Poison on Hit with Attacks
action attack or cast time uses animation length [1]
attack maximum action distance + [10]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
MAASViperNapuatziStepSwipes
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Time: 1.38 sec
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
attack maximum action distance + [10]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
MAASViperNapuatziDashThrust
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Damage: 70%
Attack Time: 1.38 sec
Cooldown Time: 5 sec
Deals 30% less Attack Damage
action attack or cast time uses animation length [1]
attack maximum action distance + [0]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
MPSViperNapuatziPoisonSpray
Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
Critical Strike Chance: 5%
Cast Time: 1 sec
Deals 26.87 to 40.3 Physical Damage
Poisons Enemies on Hit
base is projectile [1]
monster projectile variation [1357]
projectile ballistic angle from reference event [1]
projectile spread radius [4]
CGEViperNapuatziGasGround
Spell, Area, Damage, Triggerable, Duration, AreaSpell
Cast Time: 1 sec
Deals 46.7 Base Chaos Damage per second
active skill area of effect radius +% final [-40]
base skill effect duration [6000]
ground caustic art variation [1023]
EASViperNapuatziDashForward
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
EASViperNapuatziDashBackward
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
EASViperNapuatziDashLeft
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
EASViperNapuatziDashRight
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
MAASViperNapuatziJumpStab
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Time: 1.38 sec
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
attack maximum action distance + [0]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
MAASViperNapuatziJumpStabMoving
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Time: 1.38 sec
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
attack maximum action distance + [-10]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
EAAViperNapuatziCycloneEndNoTurn
action attack or cast time uses animation length [1]
action do not face target [1]
EAAViperNapuatziCycloneEndTurn
action attack or cast time uses animation length [1]
action do not face target [1]
MAASViperNapuatziStepSweep
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 386–579
[Critical|Critical Hit] Chance: 5%
Attack Time: 1.38 sec
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
attack maximum action distance + [10]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
MPSViperNapuatziProjectileBarrage
Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
Critical Strike Chance: 5%
Cast Time: 1 sec
Deals 26.87 to 40.3 Physical Damage
Fires 10 additional Projectiles
Poisons Enemies on Hit
base is projectile [1]
distribute projectiles over contact points [1]
monster projectile variation [1038]
projectile uses contact position [1]
spell maximum action distance +% [-20]
use scaled contact offset [1]

Object Type

version 2
extends "Metadata/Monsters/Monster"
extends "Metadata/Monsters/BossBase"

StateMachine
{
	define_shared_state =
	"
		emerging;
		spear_visible = 1;
		invisible_after_death;
		commands_left;
		float_epk;
		skip_death;
		collidable = 1;
	"

	define_shared_timer = "combat_style_cooldown;"

	on_or_create_state_collidable_1 = "MakeCollidable();"
	on_or_create_state_collidable_0 = "RemoveCollidability();"
}

Functions
{
	fix_orientation =
	"
		AddOnActionEnd(
		{
			SetOrientation( GetOrientation() + arg1, false, true );
			PlayAnimationType( Idle, 1.0, 0, 0 );
		}, true );
	"
}

Actor
{
	basic_action = "ChangeToStance3"
	basic_action = "ChangeToStance4"
}

Stats
{
	set_monster_delay_item_drops_millis = 4800
}

BaseEvents
{
	on_construction_complete = "globals.viperboss = this;"
}

Object Type Codes

version 2
extends "Metadata/Monsters/Monster"
extends "Metadata/Monsters/BossBase"

StateMachine
{
	on_or_create_state_spear_visible_0 = "RemoveAttachedObjectFromBones( R_Weapon );"

	on_state_spear_visible_1 =
	"
		AddAttached( 'Metadata/Monsters/ViperNapuatzi/attachments/ViperNapuatziSpear.ao', R_Weapon );
		this.viper_spear = GetAttachedAOByType( 'Metadata/Monsters/ViperNapuatzi/attachments/ViperNapuatziSpear.ao' );
		this.viper_spear.PlayAnimationEx( this.CurrentAnimationName(), begin_percent:this.GetCurrentAnimationPosition( true ) );
	"

	on_or_create_state_invisible_after_death_1 =
	"
		DisableRendering();
		SetProximityTriggerRadius( 150 );
	"
}

Preload
{
	preload_environment = "LegionLeagueWorld"
	preload_environment = "LegionLeagueWorldBattle"
}

Render
{
	use_ao_lights = true
}

ProximityTrigger
{
	radius = 0
	condition = "players"
	on_triggered = "DisableRendering();"
}

Animated
{
	on_end_caster_snake_release_01 = "PlayCharacterAudioEvent( ViperNapuatziSnakeSkillResponse );"
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Lance Hell - Commands soldiers to attack as a section, multiple times in sequence */
/* ------------------------------------------------------------------------------------------------------------------- */

StateMachine
{
	on_or_create_state_float_epk_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/ViperNapuatzi/epk/lance_hell/viper_buff.epk' );"
	on_state_float_epk_0 = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/ViperNapuatzi/epk/lance_hell/viper_buff.epk' );"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/VaalMonsters/ViperNapuatzi/ViperNapuatzi"] = {
    name = "Viper Napuatzi",
    life = 2.5,
    energyShield = 0.1,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 2.5,
    damageSpread = 0.2,
    attackTime = 1.38,
    attackRange = 18,
    accuracy = 1,
    skillList = {
        "MeleeAtAnimationSpeedBoss",
        "MAASViperNapuatziCombo",
        "MAASViperNapuatziSerpentStrike",
        "MAASViperNapuatziCombo2",
        "MAASViperNapuatziStepThrust",
        "MAASViperNapuatziStepSwipes",
        "MAASViperNapuatziDashThrust",
        "MAASViperNapuatziJumpStab",
        "MAASViperNapuatziJumpStabMoving",
        "MAASViperNapuatziStepSweep",
        "MPSViperNapuatziFastProjectile",
        "ViperNapuatziLightningSpear",
        "MPSViperNapuatziPoisonSpray",
        "MPSViperNapuatziProjectileBarrage",
        "CGEViperNapuatziSpear",
        "CGEViperNapuatziGasGround",
        "GSViperNapuatziSpinSlam",
        "GSViperNapuatziFireRain",
        "GSViperNapuatziChaosRain",
        "GAViperNapuatziSnakeWave",
        "GAViperComboEndSlam",
        "EASViperNapuatziCrissCrossCascade",
        "EAAViperNapuatziDashForward",
        "EAAViperNapuatziDashBackward",
        "EAAViperNapuatziDashLeft",
        "EAAViperNapuatziDashRight",
        "EASViperNapuatziCommandSoliders",
        "EASViperNapuatziProjectileBarrage",
        "EASViperNapuatziSnakeRelease",
        "EASViperNapuatziDashForward",
        "EASViperNapuatziDashBackward",
        "EASViperNapuatziDashLeft",
        "EASViperNapuatziDashRight",
        "EAAViperNapuatziCycloneEndNoTurn",
        "EAAViperNapuatziCycloneEndTurn",
        "EGViperNapuatziSnakeSacrifice",
        "GTViperNapuatziFireRain",
        "GTViperNapuatziChaosRain",
        "ViperNapuatziSnakeSpark",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeedBoss"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MAASViperNapuatziCombo"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "base_chance_to_poison_on_hit_%",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {15, 50, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MAASViperNapuatziSerpentStrike"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {40, baseMultiplier = 0.8, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MAASViperNapuatziCombo2"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "base_chance_to_poison_on_hit_%",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {15, 50, baseMultiplier = 0.8, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MAASViperNapuatziStepThrust"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "chance_to_poison_on_hit_with_attacks_%",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {10, 20, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MAASViperNapuatziStepSwipes"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MAASViperNapuatziDashThrust"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {0, baseMultiplier = 0.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MAASViperNapuatziJumpStab"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {0, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MAASViperNapuatziJumpStabMoving"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {-10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MAASViperNapuatziStepSweep"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPSViperNapuatziFastProjectile"] = {
    name = "MPSViperNapuatziFastProjectile",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_projectile_variation",
        "number_of_additional_projectiles",
        "spell_maximum_action_distance_+%",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
        "global_poison_on_hit",
        "distribute_projectiles_over_contact_points",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 1038, 1, -20, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ViperNapuatziLightningSpear"] = {
    name = "ViperNapuatziLightningSpear",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Projectile] = true,
        [SkillType.Lightning] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_base_physical_damage_%_to_convert_to_lightning",
        "active_skill_shock_as_though_damage_+%_final",
        "attack_maximum_action_distance_+",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
        "action_attack_or_cast_time_uses_animation_length",
        "no_additional_projectiles",
    },
    levels = {
        [1] = {60, 10, 80, baseMultiplier = 1.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPSViperNapuatziPoisonSpray"] = {
    name = "MPSViperNapuatziPoisonSpray",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_projectile_variation",
        "projectile_spread_radius",
        "base_is_projectile",
        "global_poison_on_hit",
        "projectile_ballistic_angle_from_reference_event",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 1357, 4, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPSViperNapuatziProjectileBarrage"] = {
    name = "MPSViperNapuatziProjectileBarrage",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_projectile_variation",
        "number_of_additional_projectiles",
        "spell_maximum_action_distance_+%",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
        "global_poison_on_hit",
        "distribute_projectiles_over_contact_points",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 1038, 10, -20, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["CGEViperNapuatziSpear"] = {
    name = "CGEViperNapuatziSpear",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Area] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Duration] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_chaos_damage_to_deal_per_minute",
        "active_skill_area_of_effect_radius_+%_final",
        "ground_caustic_art_variation",
        "infinite_skill_effect_duration",
    },
    levels = {
        [1] = {1, -5, 1020, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["CGEViperNapuatziGasGround"] = {
    name = "CGEViperNapuatziGasGround",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Area] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Duration] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_chaos_damage_to_deal_per_minute",
        "active_skill_area_of_effect_radius_+%_final",
        "ground_caustic_art_variation",
        "base_skill_effect_duration",
    },
    levels = {
        [1] = {1, -40, 1023, 6000, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSViperNapuatziSpinSlam"] = {
    name = "GSViperNapuatziSpinSlam",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "geometry_spell",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "voll_slam_damage_+%_final_at_centre",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 25, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSViperNapuatziFireRain"] = {
    name = "GSViperNapuatziFireRain",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "geometry_spell",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_fire_damage",
        "spell_maximum_base_fire_damage",
        "is_area_damage",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSViperNapuatziChaosRain"] = {
    name = "GSViperNapuatziChaosRain",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "geometry_spell",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_chaos_damage",
        "spell_maximum_base_chaos_damage",
        "voll_slam_damage_+%_final_at_centre",
        "is_area_damage",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 25, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAViperNapuatziSnakeWave"] = {
    name = "GAViperNapuatziSnakeWave",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "is_area_damage",
        "global_poison_on_hit",
        "base_skill_can_be_avoided_by_dodge_roll",
        "base_skill_cannot_be_blocked",
    },
    levels = {
        [1] = {baseMultiplier = 2.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAViperComboEndSlam"] = {
    name = "GAViperComboEndSlam",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_chance_to_poison_on_hit_%",
        "voll_slam_damage_+%_final_at_centre",
        "is_area_damage",
    },
    levels = {
        [1] = {50, 20, baseMultiplier = 1.2, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASViperNapuatziCrissCrossCascade"] = {
    name = "EASViperNapuatziCrissCrossCascade",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EAAViperNapuatziDashForward"] = {
    name = "EAAViperNapuatziDashForward",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EAAViperNapuatziDashBackward"] = {
    name = "EAAViperNapuatziDashBackward",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EAAViperNapuatziDashLeft"] = {
    name = "EAAViperNapuatziDashLeft",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EAAViperNapuatziDashRight"] = {
    name = "EAAViperNapuatziDashRight",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASViperNapuatziCommandSoliders"] = {
    name = "EASViperNapuatziCommandSoliders",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASViperNapuatziProjectileBarrage"] = {
    name = "EASViperNapuatziProjectileBarrage",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_maximum_action_distance_+%",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {-40, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASViperNapuatziSnakeRelease"] = {
    name = "EASViperNapuatziSnakeRelease",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_maximum_action_distance_+%",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {-70, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASViperNapuatziDashForward"] = {
    name = "EASViperNapuatziDashForward",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASViperNapuatziDashBackward"] = {
    name = "EASViperNapuatziDashBackward",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASViperNapuatziDashLeft"] = {
    name = "EASViperNapuatziDashLeft",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASViperNapuatziDashRight"] = {
    name = "EASViperNapuatziDashRight",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EAAViperNapuatziCycloneEndNoTurn"] = {
    name = "EAAViperNapuatziCycloneEndNoTurn",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
        "action_do_not_face_target",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EAAViperNapuatziCycloneEndTurn"] = {
    name = "EAAViperNapuatziCycloneEndTurn",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
        "action_do_not_face_target",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EGViperNapuatziSnakeSacrifice"] = {
    name = "EGViperNapuatziSnakeSacrifice",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GTViperNapuatziFireRain"] = {
    name = "GTViperNapuatziFireRain",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GTViperNapuatziChaosRain"] = {
    name = "GTViperNapuatziChaosRain",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ViperNapuatziSnakeSpark"] = {
    name = "ViperNapuatziSnakeSpark",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Damage] = true,
        [SkillType.Duration] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Lightning] = true,
        [SkillType.CanRapidFire] = true,
        [SkillType.Invokable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.7,
    baseFlags = {
        spell = true,
        projectile = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "base_skill_effect_duration",
        "spark_pathing_width_bounds",
        "spark_projectile_absolute_angle_override_deg",
        "base_projectile_speed_+%",
        "number_of_additional_projectiles",
        "base_is_projectile",
        "projectiles_should_collide_with_flying_monsters",
        "projectile_uses_contact_position",
        "projectile_uses_contact_direction",
        "check_for_targets_between_initiator_and_projectile_source",
        "spark_projectile_bounces_off_walls",
        "global_poison_on_hit",
        "use_scaled_contact_offset",
        "distribute_projectiles_over_contact_points",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 10000, 15, 50, -25, 5, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
monster dropped item rarity +% [2700]
monster slain experience +% [0]
unique monster guarantee one rare [0]
IdMonsterUniqueT2Boss
FamilyMonsterActBoss
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
Stats
  • monster slain experience +% Min: 0 Max: 0 Global
  • monster dropped item rarity +% Min: 2700 Max: 2700 Global
  • unique monster guarantee one rare Min: 0 Max: 0 Global
  • Viper Napuatzi
    Area: Vaal City
    monster dropped item rarity +% [2700]
    monster slain experience +% [0]
    unique monster guarantee one rare [0]
    monster dropped item quantity +% [800]
    monster dropped item rarity +% [4000]
    monster map key of at least same tier as current map drop chance % [25]
    monster slain experience +% [7500]
    unique monster guarantee one rare [1]
    SpectreN
    AreaVaal City
    Tagsallows_additional_projectiles, allows_inc_aoe, cultist, human, humanoid, melee, monster_applies_poison, physical_affinity, ranged, red_blood, Unarmed_onhit_audio, very_slow_movement
    Life
    250%
    Energy Shield From Life
    10%
    Armour
    +40%
    Evasion
    +40%
    Ailment Threshold
    %
    Resistance
    30 30 30 0
    Damage
    250%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 18
    Attack Time
    1.38 Second
    Damage Spread
    ±20%
    Experience
    250%
    Model Size
    100%
    Type
    ViperNapuatziMap
    Metadata
    ViperNapuatziMAP
    Level
    65
    Life
    16,283
    Armour
    2,893
    Evasion
    440
    Energy Shield
    0
    Damage
    531
    Spell Damage
    531
    Accuracy
    0
    Attack Time
    1.38
    Experience
    53,768
    MeleeAtAnimationSpeedBoss
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.38 sec
    action attack or cast time uses animation length [1]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    MPSViperNapuatziFastProjectile
    Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
    Critical Strike Chance: 5%
    Cast Time: 1 sec
    Deals 37.74 to 56.61 Physical Damage
    Fires an additional Projectile
    Poisons Enemies on Hit
    base is projectile [1]
    distribute projectiles over contact points [1]
    monster projectile variation [1038]
    projectile uses contact position [1]
    spell maximum action distance +% [-20]
    use scaled contact offset [1]
    GSViperNapuatziSpinSlam
    Triggerable, Spell, Damage
    Critical Strike Chance: 5%
    Cast Time: 1 sec
    Cooldown Time: 15 sec
    Deals 141.5 to 212.3 Physical Damage
    action attack or cast time uses animation length [1]
    is area damage [1]
    voll slam damage +% final at centre [25]
    EGViperNapuatziSnakeSacrifice
    Triggerable
    Cooldown Time: 30 sec
    ViperNapuatziSnakeSpark
    Spell, Projectile, ProjectilesFromUser, Damage, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Lightning, CanRapidFire, Invokable
    Critical Strike Chance: 5%
    Cast Time: 0.7 sec
    Deals 61.32 to 91.98 Physical Damage
    25% reduced Projectile Speed
    Fires 5 additional Projectiles
    Poisons Enemies on Hit
    base is projectile [1]
    base skill effect duration [10000]
    check for targets between initiator and projectile source [1]
    distribute projectiles over contact points [1]
    projectile uses contact direction [1]
    projectile uses contact position [1]
    projectiles should collide with flying monsters [1]
    spark pathing width bounds [15]
    spark projectile absolute angle override deg [50]
    spark projectile bounces off walls [1]
    use scaled contact offset [1]
    GSViperNapuatziFireRain
    Triggerable, Spell, Damage
    Critical Strike Chance: 5%
    Cast Time: 1 sec
    Deals 117.9 to 176.9 Fire Damage
    is area damage [1]
    GSViperNapuatziChaosRain
    Triggerable, Spell, Damage
    Critical Strike Chance: 5%
    Cast Time: 1 sec
    Deals 117.9 to 176.9 Chaos Damage
    is area damage [1]
    voll slam damage +% final at centre [25]
    GTViperNapuatziFireRain
    Triggerable
    action attack or cast time uses animation length [1]
    GTViperNapuatziChaosRain
    Triggerable
    action attack or cast time uses animation length [1]
    EASViperNapuatziCrissCrossCascade
    Cooldown Time: 40 sec
    action attack or cast time uses animation length [1]
    EAAViperNapuatziDashForward
    action attack or cast time uses animation length [1]
    EAAViperNapuatziDashBackward
    action attack or cast time uses animation length [1]
    EAAViperNapuatziDashLeft
    action attack or cast time uses animation length [1]
    EAAViperNapuatziDashRight
    action attack or cast time uses animation length [1]
    MAASViperNapuatziCombo
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.38 sec
    Cooldown Time: 7 sec
    50% chance to Poison on Hit
    action attack or cast time uses animation length [1]
    attack maximum action distance + [15]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    MAASViperNapuatziSerpentStrike
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 80%
    Attack Time: 1.38 sec
    Cooldown Time: 40 sec
    Deals 20% less Attack Damage
    action attack or cast time uses animation length [1]
    attack maximum action distance + [40]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    ViperNapuatziLightningSpear
    Attack, Projectile, Lightning
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 150%
    Attack Time: 1.38 sec
    Cooldown Time: 10 sec
    Deals 50% more Attack Damage
    Converts 60% of Physical Damage to Lightning Damage
    Shocks Enemies as though dealing 10% more Damage
    action attack or cast time uses animation length [1]
    attack maximum action distance + [80]
    base is projectile [1]
    no additional projectiles [1]
    projectile uses contact position [1]
    use scaled contact offset [1]
    GAViperNapuatziSnakeWave
    Triggerable, Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 250%
    Attack Time: 1.38 sec
    Deals 150% more Attack Damage
    Poisons Enemies on Hit
    base skill can be avoided by dodge roll [1]
    base skill cannot be blocked [1]
    is area damage [1]
    CGEViperNapuatziSpear
    Spell, Area, Damage, Triggerable, Duration, AreaSpell
    Cast Time: 1 sec
    Deals 72.1 Base Chaos Damage per second
    active skill area of effect radius +% final [-5]
    ground caustic art variation [1020]
    infinite skill effect duration [1]
    EASViperNapuatziCommandSoliders
    action attack or cast time uses animation length [1]
    EASViperNapuatziProjectileBarrage
    Cooldown Time: 17.5 sec
    action attack or cast time uses animation length [1]
    spell maximum action distance +% [-40]
    EASViperNapuatziSnakeRelease
    Cooldown Time: 15 sec
    action attack or cast time uses animation length [1]
    spell maximum action distance +% [-70]
    MAASViperNapuatziCombo2
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 80%
    Attack Time: 1.38 sec
    Cooldown Time: 7 sec
    Deals 20% less Attack Damage
    50% chance to Poison on Hit
    action attack or cast time uses animation length [1]
    attack maximum action distance + [15]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    GAViperComboEndSlam
    Triggerable, Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 120%
    Attack Time: 1.38 sec
    Deals 20% more Attack Damage
    50% chance to Poison on Hit
    is area damage [1]
    voll slam damage +% final at centre [20]
    MAASViperNapuatziStepThrust
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.38 sec
    Cooldown Time: 5 sec
    20% chance to Poison on Hit with Attacks
    action attack or cast time uses animation length [1]
    attack maximum action distance + [10]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    MAASViperNapuatziStepSwipes
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.38 sec
    Cooldown Time: 5 sec
    action attack or cast time uses animation length [1]
    attack maximum action distance + [10]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    MAASViperNapuatziDashThrust
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 70%
    Attack Time: 1.38 sec
    Cooldown Time: 5 sec
    Deals 30% less Attack Damage
    action attack or cast time uses animation length [1]
    attack maximum action distance + [0]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    MPSViperNapuatziPoisonSpray
    Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
    Critical Strike Chance: 5%
    Cast Time: 1 sec
    Deals 28.3 to 42.45 Physical Damage
    Poisons Enemies on Hit
    base is projectile [1]
    monster projectile variation [1357]
    projectile ballistic angle from reference event [1]
    projectile spread radius [4]
    CGEViperNapuatziGasGround
    Spell, Area, Damage, Triggerable, Duration, AreaSpell
    Cast Time: 1 sec
    Deals 49.1 Base Chaos Damage per second
    active skill area of effect radius +% final [-40]
    base skill effect duration [6000]
    ground caustic art variation [1023]
    EASViperNapuatziDashForward
    Cooldown Time: 5 sec
    action attack or cast time uses animation length [1]
    EASViperNapuatziDashBackward
    Cooldown Time: 5 sec
    action attack or cast time uses animation length [1]
    EASViperNapuatziDashLeft
    Cooldown Time: 5 sec
    action attack or cast time uses animation length [1]
    EASViperNapuatziDashRight
    Cooldown Time: 5 sec
    action attack or cast time uses animation length [1]
    MAASViperNapuatziJumpStab
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.38 sec
    Cooldown Time: 5 sec
    action attack or cast time uses animation length [1]
    attack maximum action distance + [0]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    MAASViperNapuatziJumpStabMoving
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.38 sec
    Cooldown Time: 5 sec
    action attack or cast time uses animation length [1]
    attack maximum action distance + [-10]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    EAAViperNapuatziCycloneEndNoTurn
    action attack or cast time uses animation length [1]
    action do not face target [1]
    EAAViperNapuatziCycloneEndTurn
    action attack or cast time uses animation length [1]
    action do not face target [1]
    MAASViperNapuatziStepSweep
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 425–637
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.38 sec
    Cooldown Time: 5 sec
    action attack or cast time uses animation length [1]
    attack maximum action distance + [10]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    MPSViperNapuatziProjectileBarrage
    Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
    Critical Strike Chance: 5%
    Cast Time: 1 sec
    Deals 28.3 to 42.45 Physical Damage
    Fires 10 additional Projectiles
    Poisons Enemies on Hit
    base is projectile [1]
    distribute projectiles over contact points [1]
    monster projectile variation [1038]
    projectile uses contact position [1]
    spell maximum action distance +% [-20]
    use scaled contact offset [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    extends "Metadata/Monsters/BossBase"
    
    StateMachine
    {
    	define_shared_state =
    	"
    		emerging;
    		spear_visible = 1;
    		invisible_after_death;
    		commands_left;
    		float_epk;
    		skip_death;
    		collidable = 1;
    	"
    
    	define_shared_timer = "combat_style_cooldown;"
    
    	on_or_create_state_collidable_1 = "MakeCollidable();"
    	on_or_create_state_collidable_0 = "RemoveCollidability();"
    }
    
    Functions
    {
    	fix_orientation =
    	"
    		AddOnActionEnd(
    		{
    			SetOrientation( GetOrientation() + arg1, false, true );
    			PlayAnimationType( Idle, 1.0, 0, 0 );
    		}, true );
    	"
    }
    
    Actor
    {
    	basic_action = "ChangeToStance3"
    	basic_action = "ChangeToStance4"
    }
    
    Stats
    {
    	set_monster_delay_item_drops_millis = 4800
    }
    
    BaseEvents
    {
    	on_construction_complete = "globals.viperboss = this;"
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    extends "Metadata/Monsters/BossBase"
    
    StateMachine
    {
    	on_or_create_state_spear_visible_0 = "RemoveAttachedObjectFromBones( R_Weapon );"
    
    	on_state_spear_visible_1 =
    	"
    		AddAttached( 'Metadata/Monsters/ViperNapuatzi/attachments/ViperNapuatziSpear.ao', R_Weapon );
    		this.viper_spear = GetAttachedAOByType( 'Metadata/Monsters/ViperNapuatzi/attachments/ViperNapuatziSpear.ao' );
    		this.viper_spear.PlayAnimationEx( this.CurrentAnimationName(), begin_percent:this.GetCurrentAnimationPosition( true ) );
    	"
    
    	on_or_create_state_invisible_after_death_1 =
    	"
    		DisableRendering();
    		SetProximityTriggerRadius( 150 );
    	"
    }
    
    Preload
    {
    	preload_environment = "LegionLeagueWorld"
    	preload_environment = "LegionLeagueWorldBattle"
    }
    
    Render
    {
    	use_ao_lights = true
    }
    
    ProximityTrigger
    {
    	radius = 0
    	condition = "players"
    	on_triggered = "DisableRendering();"
    }
    
    /* ------------------------------------------------------------------------------------------------------------------- */
    /* Lance Hell - Commands soldiers to attack as a section, multiple times in sequence */
    /* ------------------------------------------------------------------------------------------------------------------- */
    
    StateMachine
    {
    	on_or_create_state_float_epk_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/ViperNapuatzi/epk/lance_hell/viper_buff.epk' );"
    	on_state_float_epk_0 = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/ViperNapuatzi/epk/lance_hell/viper_buff.epk' );"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/VaalMonsters/ViperNapuatzi/ViperNapuatziMAP"] = {
        name = "Viper Napuatzi",
        life = 2.5,
        energyShield = 0.1,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 2.5,
        damageSpread = 0.2,
        attackTime = 1.38,
        attackRange = 18,
        accuracy = 1,
        skillList = {
            "MeleeAtAnimationSpeedBoss",
            "MAASViperNapuatziCombo",
            "MAASViperNapuatziSerpentStrike",
            "MAASViperNapuatziCombo2",
            "MAASViperNapuatziStepThrust",
            "MAASViperNapuatziStepSwipes",
            "MAASViperNapuatziDashThrust",
            "MAASViperNapuatziJumpStab",
            "MAASViperNapuatziJumpStabMoving",
            "MAASViperNapuatziStepSweep",
            "MPSViperNapuatziFastProjectile",
            "ViperNapuatziLightningSpear",
            "MPSViperNapuatziPoisonSpray",
            "MPSViperNapuatziProjectileBarrage",
            "CGEViperNapuatziSpear",
            "CGEViperNapuatziGasGround",
            "GSViperNapuatziSpinSlam",
            "GSViperNapuatziFireRain",
            "GSViperNapuatziChaosRain",
            "GAViperNapuatziSnakeWave",
            "GAViperComboEndSlam",
            "EASViperNapuatziCrissCrossCascade",
            "EAAViperNapuatziDashForward",
            "EAAViperNapuatziDashBackward",
            "EAAViperNapuatziDashLeft",
            "EAAViperNapuatziDashRight",
            "EASViperNapuatziCommandSoliders",
            "EASViperNapuatziProjectileBarrage",
            "EASViperNapuatziSnakeRelease",
            "EASViperNapuatziDashForward",
            "EASViperNapuatziDashBackward",
            "EASViperNapuatziDashLeft",
            "EASViperNapuatziDashRight",
            "EAAViperNapuatziCycloneEndNoTurn",
            "EAAViperNapuatziCycloneEndTurn",
            "EGViperNapuatziSnakeSacrifice",
            "GTViperNapuatziFireRain",
            "GTViperNapuatziChaosRain",
            "ViperNapuatziSnakeSpark",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeedBoss"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MAASViperNapuatziCombo"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "base_chance_to_poison_on_hit_%",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {15, 50, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MAASViperNapuatziSerpentStrike"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {40, baseMultiplier = 0.8, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MAASViperNapuatziCombo2"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "base_chance_to_poison_on_hit_%",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {15, 50, baseMultiplier = 0.8, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MAASViperNapuatziStepThrust"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "chance_to_poison_on_hit_with_attacks_%",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {10, 20, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MAASViperNapuatziStepSwipes"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MAASViperNapuatziDashThrust"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {0, baseMultiplier = 0.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MAASViperNapuatziJumpStab"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {0, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MAASViperNapuatziJumpStabMoving"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {-10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MAASViperNapuatziStepSweep"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPSViperNapuatziFastProjectile"] = {
        name = "MPSViperNapuatziFastProjectile",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "monster_projectile_variation",
            "number_of_additional_projectiles",
            "spell_maximum_action_distance_+%",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
            "global_poison_on_hit",
            "distribute_projectiles_over_contact_points",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 1038, 1, -20, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ViperNapuatziLightningSpear"] = {
        name = "ViperNapuatziLightningSpear",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.Projectile] = true,
            [SkillType.Lightning] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_base_physical_damage_%_to_convert_to_lightning",
            "active_skill_shock_as_though_damage_+%_final",
            "attack_maximum_action_distance_+",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
            "action_attack_or_cast_time_uses_animation_length",
            "no_additional_projectiles",
        },
        levels = {
            [1] = {60, 10, 80, baseMultiplier = 1.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPSViperNapuatziPoisonSpray"] = {
        name = "MPSViperNapuatziPoisonSpray",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "monster_projectile_variation",
            "projectile_spread_radius",
            "base_is_projectile",
            "global_poison_on_hit",
            "projectile_ballistic_angle_from_reference_event",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 1357, 4, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPSViperNapuatziProjectileBarrage"] = {
        name = "MPSViperNapuatziProjectileBarrage",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "monster_projectile_variation",
            "number_of_additional_projectiles",
            "spell_maximum_action_distance_+%",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
            "global_poison_on_hit",
            "distribute_projectiles_over_contact_points",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 1038, 10, -20, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CGEViperNapuatziSpear"] = {
        name = "CGEViperNapuatziSpear",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Duration] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_chaos_damage_to_deal_per_minute",
            "active_skill_area_of_effect_radius_+%_final",
            "ground_caustic_art_variation",
            "infinite_skill_effect_duration",
        },
        levels = {
            [1] = {1, -5, 1020, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CGEViperNapuatziGasGround"] = {
        name = "CGEViperNapuatziGasGround",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Duration] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_chaos_damage_to_deal_per_minute",
            "active_skill_area_of_effect_radius_+%_final",
            "ground_caustic_art_variation",
            "base_skill_effect_duration",
        },
        levels = {
            [1] = {1, -40, 1023, 6000, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSViperNapuatziSpinSlam"] = {
        name = "GSViperNapuatziSpinSlam",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "geometry_spell",
        castTime = 1,
        baseFlags = {
            spell = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "voll_slam_damage_+%_final_at_centre",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 25, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSViperNapuatziFireRain"] = {
        name = "GSViperNapuatziFireRain",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "geometry_spell",
        castTime = 1,
        baseFlags = {
            spell = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_fire_damage",
            "spell_maximum_base_fire_damage",
            "is_area_damage",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSViperNapuatziChaosRain"] = {
        name = "GSViperNapuatziChaosRain",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "geometry_spell",
        castTime = 1,
        baseFlags = {
            spell = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_chaos_damage",
            "spell_maximum_base_chaos_damage",
            "voll_slam_damage_+%_final_at_centre",
            "is_area_damage",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 25, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAViperNapuatziSnakeWave"] = {
        name = "GAViperNapuatziSnakeWave",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "is_area_damage",
            "global_poison_on_hit",
            "base_skill_can_be_avoided_by_dodge_roll",
            "base_skill_cannot_be_blocked",
        },
        levels = {
            [1] = {baseMultiplier = 2.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAViperComboEndSlam"] = {
        name = "GAViperComboEndSlam",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_chance_to_poison_on_hit_%",
            "voll_slam_damage_+%_final_at_centre",
            "is_area_damage",
        },
        levels = {
            [1] = {50, 20, baseMultiplier = 1.2, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASViperNapuatziCrissCrossCascade"] = {
        name = "EASViperNapuatziCrissCrossCascade",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EAAViperNapuatziDashForward"] = {
        name = "EAAViperNapuatziDashForward",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EAAViperNapuatziDashBackward"] = {
        name = "EAAViperNapuatziDashBackward",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EAAViperNapuatziDashLeft"] = {
        name = "EAAViperNapuatziDashLeft",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EAAViperNapuatziDashRight"] = {
        name = "EAAViperNapuatziDashRight",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASViperNapuatziCommandSoliders"] = {
        name = "EASViperNapuatziCommandSoliders",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASViperNapuatziProjectileBarrage"] = {
        name = "EASViperNapuatziProjectileBarrage",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_maximum_action_distance_+%",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {-40, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASViperNapuatziSnakeRelease"] = {
        name = "EASViperNapuatziSnakeRelease",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_maximum_action_distance_+%",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {-70, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASViperNapuatziDashForward"] = {
        name = "EASViperNapuatziDashForward",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASViperNapuatziDashBackward"] = {
        name = "EASViperNapuatziDashBackward",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASViperNapuatziDashLeft"] = {
        name = "EASViperNapuatziDashLeft",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASViperNapuatziDashRight"] = {
        name = "EASViperNapuatziDashRight",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EAAViperNapuatziCycloneEndNoTurn"] = {
        name = "EAAViperNapuatziCycloneEndNoTurn",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
            "action_do_not_face_target",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EAAViperNapuatziCycloneEndTurn"] = {
        name = "EAAViperNapuatziCycloneEndTurn",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
            "action_do_not_face_target",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EGViperNapuatziSnakeSacrifice"] = {
        name = "EGViperNapuatziSnakeSacrifice",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GTViperNapuatziFireRain"] = {
        name = "GTViperNapuatziFireRain",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GTViperNapuatziChaosRain"] = {
        name = "GTViperNapuatziChaosRain",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ViperNapuatziSnakeSpark"] = {
        name = "ViperNapuatziSnakeSpark",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Lightning] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.Invokable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 0.7,
        baseFlags = {
            spell = true,
            projectile = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "base_skill_effect_duration",
            "spark_pathing_width_bounds",
            "spark_projectile_absolute_angle_override_deg",
            "base_projectile_speed_+%",
            "number_of_additional_projectiles",
            "base_is_projectile",
            "projectiles_should_collide_with_flying_monsters",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
            "check_for_targets_between_initiator_and_projectile_source",
            "spark_projectile_bounces_off_walls",
            "global_poison_on_hit",
            "use_scaled_contact_offset",
            "distribute_projectiles_over_contact_points",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 10000, 15, 50, -25, 5, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    
    monster dropped item rarity +% [2700]
    monster slain experience +% [0]
    unique monster guarantee one rare [0]
    IdMonsterUniqueT2Boss
    FamilyMonsterActBoss
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain experience +% Min: 0 Max: 0 Global
  • monster dropped item rarity +% Min: 2700 Max: 2700 Global
  • unique monster guarantee one rare Min: 0 Max: 0 Global
  • monster dropped item quantity +% [800]
    monster dropped item rarity +% [4000]
    monster map key of at least same tier as current map drop chance % [25]
    monster slain experience +% [7500]
    unique monster guarantee one rare [1]
    IdMonsterMapBossT2
    FamilyMonsterMapBoss
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain experience +% Min: 7500 Max: 7500 Global
  • monster dropped item rarity +% Min: 4000 Max: 4000 Global
  • monster dropped item quantity +% Min: 800 Max: 800 Global
  • unique monster guarantee one rare Min: 1 Max: 1 Global
  • monster map key of at least same tier as current map drop chance % Min: 25 Max: 25 Global
  • Viper Napuatzi Text Audio /125
    Name
    Look upon us and despair!
    LegionNapuatziBattleCry1
    Bow to your Queen, or die!
    LegionNapuatziBattleCry2
    Serve the Vaal in life or in death.
    LegionNapuatziBattleCry3
    For the Queen!
    LegionNapuatziAttackOneRandom
    For the Queen!
    LegionNapuatziAttackOne2
    Yield and save yourself!
    LegionNapuatziAttackTwoRandom
    Yield and save yourself!
    LegionNapuatziAttackTwo2
    Fall before us!
    LegionNapuatziAttackThreeRandom
    Fall before us!
    LegionNapuatziAttackThree2
    Locust!
    LegionNapuatziAttackFourRandom
    Locust!
    LegionNapuatziAttackFour2
    Insect!
    LegionNapuatziAttackFiveRandom
    Insect!
    LegionNapuatziAttackFive2
    When I return, it will be with an army of thousands.
    LegionNapuatziFleeing1
    Enjoy this brief victory. You will not have another.
    LegionNapuatziFleeing2
    These are Vaal lands. You only delay your destiny.
    LegionNapuatziFleeing3
    Children of darkness, we are your illumination!
    LegionNapuatziMapIntro1
    Do not weep. Your sacrifice is not without value.
    LegionNapuatziMapIntro2
    Rejoice! The Queen has deemed you worthy of sacrifice!
    LegionNapuatziMapIntro3
    I'm sorry... my... queen...
    LegionNapuatziDefeat1
    Free... at... last...
    LegionNapuatziDefeat2
    Is... is it over...?
    LegionNapuatziDefeat3
    Pain is nothing.
    LegionNapuatziInjured1
    Pain sharpens the mind.
    LegionNapuatziInjured2
    Every scar is a gift.
    LegionNapuatziInjured3
    Your skull will adorn the halls of the queen.
    LegionNapuatziTaunt1
    Your death is written into the stars.
    LegionNapuatziTaunt2
    You are a locust, and I will crush you underfoot.
    LegionNapuatziTaunt3
    Surround the interloper!
    ViperNapuatzi_Intro_A
    Vipers, assume formation!
    ViperNapuatzi_Intro_B
    Your rampage ends here.
    ViperNapuatzi_Intro_C_Random
    Your rampage ends here.
    ViperNapuatzi_Intro_C_2
    I will handle this interloper.
    ViperNapuatzi_Intro_D
    For the Queen!
    ViperNapuatzi_SnakeSacrifice_Random
    For the Queen!
    ViperNapuatzi_SnakeSacrifice_2
    For the Queen!
    ViperNapuatzi_SnakeSacrifice_3
    Sacrifice!
    ViperNapuatzi_SnakeSacrifice_4
    Sacrifice!
    ViperNapuatzi_SnakeSacrifice_5
    Sacrifice!
    ViperNapuatzi_SnakeSacrifice_6
    By the Viper!
    ViperNapuatzi_SnakeSacrifice_7
    By the Viper!
    ViperNapuatzi_SnakeSacrifice_8
    By the Viper!
    ViperNapuatzi_SnakeSacrifice_9
    By the Viper!
    ViperNapuatzi_SnakeSacrifice_10
    Enough of this. Attack!
    ViperNapuatzi_LowHealth
    A voice... calls to me...
    ViperNapuatzi_Death_A
    A vast hand... reaches out...
    ViperNapuatzi_Death_B
    Locust!
    ViperNapuatzi_Locust_Random
    Locust!
    ViperNapuatzi_Locust_2
    Locust!
    ViperNapuatzi_Locust_3
    Locust!
    ViperNapuatzi_Locust_4
    Insect!
    ViperNapuatzi_Insect_Random
    Insect!
    ViperNapuatzi_Insect_2
    Insect!
    ViperNapuatzi_Insect_3
    Insect!
    ViperNapuatzi_Insect_4
    Insect!
    ViperNapuatzi_Insect_5
    I will crush you!
    ViperNapuatzi_SpinSlam_Random
    I will crush you!
    ViperNapuatzi_SpinSlam_2
    I will crush you!
    ViperNapuatzi_SpinSlam_3
    Your soul shall serve the Queen.
    ViperNapuatzi_ServeTheQueen_Random
    Your soul shall serve the Queen.
    ViperNapuatzi_ServeTheQueen_2
    Despair, for here you will fall.
    ViperNapuatzi_Despair_Random
    Despair, for here you will fall.
    ViperNapuatzi_Despair_2
    Halt! Your rampage ends here!
    Napuatzi_IntroOne
    Which one of you activated the gate? Which one of you is of Vaal blood?
    Napuatzi_IntroTwo
    Take her!
    Napuatzi_IntroThree
    Bring her to Doryani!
    Napuatzi_IntroFour
    As for you, I will pay back every drop of Vaal Blood you have spilled.
    Napuatzi_IntroFive
    I will pay back every drop of Vaal Blood you have spilled.
    Napuatzi_IntroShort
    You will fall before us!
    Napuatzi_CasterMode_Random
    You will fall before us!
    Napuatzi_CasterMode_2
    I shall crush you!
    Napuatzi_CasterSlam_Random
    I shall crush you!
    Napuatzi_CasterSlam_2
    I shall crush you, insect!
    Napuatzi_CasterSlam_3
    I shall crush you, insect!
    Napuatzi_CasterSlam_4
    I am the will of the Queen!
    Napuatzi_ChaosStorm_Random
    I am the will of the Queen!
    Napuatzi_ChaosStorm_2
    I am the will of the Queen!
    Napuatzi_ChaosStorm_3
    Feel the might of the Vaal!
    Napuatzi_ChaosStorm_4
    Feel the might of the Vaal!
    Napuatzi_ChaosStorm_5
    My war... is not over!
    Napuatzi_Death_Random
    My war... is not over!
    Napuatzi_Death_2
    No... I'm not ready...!
    Napuatzi_Death_3
    No... I'm not ready...!
    Napuatzi_Death_4
    Do not let them... leave alive...
    Napuatzi_DeathAlt_Random
    Do not let them... leave alive...
    Napuatzi_DeathAlt_2
    Pain sharpens the mind!
    Napuatzi_HeavyStun_Random
    Pain sharpens the mind!
    Napuatzi_HeavyStun_2
    You are nothing but a locust...
    Napuatzi_HeavyStun_3
    You are nothing but a locust...
    Napuatzi_HeavyStun_4
    You are nothing but a locust...
    Napuatzi_HeavyStun_5
    Bow to your Queen, or die!
    Napuatzi_MultiStab_Random
    Bow to your Queen, or die!
    Napuatzi_MultiStab_2
    Bow to your Queen, or die!
    Napuatzi_MultiStab_3
    My patron grants me sight of the river ahead. I know you'll be back.
    Napuatzi_PlayerDeath_Random
    My patron grants me sight of the river ahead. I know you'll be back.
    Napuatzi_PlayerDeath_2
    I see more than you think. When you return, I will just kill you again.
    Napuatzi_PlayerDeath_3
    I see more than you think. When you return, I will just kill you again.
    Napuatzi_PlayerDeath_4
    Ha!
    Napuatzi_RecallSpear_Random
    I will crush you, insect!
    Napuatzi_RecallSpear_2
    I will crush you, insect!
    Napuatzi_RecallSpear_3
    Aegis Formation!
    Napuatzi_SnakeBarrage_Random
    Shields!
    Napuatzi_SnakeBarrage_2
    Shields!
    Napuatzi_SnakeBarrage_3
    Suffer the Viper's Onslaught!
    Napuatzi_SnakeBarrage_4
    Suffer the Viper's Onslaught!
    Napuatzi_SnakeBarrage_5
    Viper's Onslaught!
    Napuatzi_SnakeBarrage_6
    Viper's Onslaught!
    Napuatzi_SnakeBarrage_7
    I will not relent!
    Napuatzi_SpearCombo2_Random
    I will not relent!
    Napuatzi_SpearCombo2_2
    The Viper strikes!
    Napuatzi_SpearCombo2_3
    The Viper strikes!
    Napuatzi_SpearCombo2_4
    Arakaali's web!
    Napuatzi_SpearHell_Random
    Arakaali's web!
    Napuatzi_SpearHell_2
    Feel Arakaali's sting!
    Napuatzi_SpearHell_3
    Feel Arakaali's sting!
    Napuatzi_SpearHell_4
    Yaomac take you!
    Napuatzi_SerpentStrike_Random
    Yaomac take you!
    Napuatzi_SerpentStrike_2
    Yaomac take you!
    Napuatzi_SerpentStrike_3
    Serpent's Bite!
    Napuatzi_SerpentStrike_4
    Serpent's Bite!
    Napuatzi_SerpentStrike_5
    Serpent's Bite!
    Napuatzi_SerpentStrike_6
    Storm of Xopec!
    Napuatzi_SpearThrow_Random
    Storm of Xopec!
    Napuatzi_SpearThrow_2
    Xopec's spear!
    Napuatzi_SpearThrow_3
    Xopec's spear!
    Napuatzi_SpearThrow_4