← Back to list

Vaal Skeletal Archer

Slug: Vaal_Skeletal_Archer

Open Source Page
Spectre-capable
Tags: Arrow_onhit_audio allows_additional_projectiles fire_affinity monster_barely_moves ranged skeleton undead very_slow_movement
Areas: Jiquani's Machinarium Jiquani's Sanctum Kriar Peaks The Ziggurat Refuge
Vaal Skeletal Archer artwork

No custom art yet. Upload one to replace the placeholder.

Core Stat Percentiles

Evasion Rating
708
Top 25%
Accuracy
2,502
Top 71%
Spell Damage
256
Top 74%
Armour
2,413
Top 81%
Life
7,757
Top 89%
Damage
256
Top 93%

Other Notable Percentiles

Critical Damage Bonus
+30%
Top 0.1%
Damage Spread
±30%
Top 0.1%
Level
68
Top 2.1%
Critical Hits Chance
5%
Top 3.2%
Attack Distance
6 ~ 55
Top 18%
Resistance
0 0 0 0
Top 25%

Vaal Skeletal Archer

Variant code: BoneRabbleEagle
Section 1 of 2

Overview

Implicit Mods: undead description [1]

Base Multipliers

Life
100%
Resistance
0 0 0 0
Damage
110%
Accuracy
100%
Critical Hits Chance
5%
Critical Damage Bonus
+30%
Attack Distance
6 ~ 55
Attack Time
1.5 Second
Damage Spread
±30%
Experience
100%
Model Size
100%
Type
SkeletonBasicRanged
Metadata
BoneRabbleEagle

Extra Data

version 2
extends "Metadata/Monsters/Monster"

Actor
{
	basic_action = "ChangeToStance1"
	basic_action = "ChangeToStance2"
	basic_action = "ChangeToStance3"
	basic_action = "Emerge"
	basic_action = "Revive"
}

StateMachine
{
	define_shared_state =
	"
		use_arrow;
		arrow_visible = 1;
	"
}

Stats
{
	set_base_heavy_stun_duration_ms = 2488
}
version 2
extends "Metadata/Monsters/Monster"

Life
{
	on_spawned_alive =
	"
		HideMeshSegmentsBySubstring( Static|Bone );
		AddEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/BoneRabble/epk/sceptre_fx.epk', 'Metadata/Monsters/Skeletons/BoneRabble/Squire/BoneRabbleSceptreAncient.ao' );
	"

	on_death =
	"
		ShowMeshSegmentsBySubstring( Static|Bone );
		HideMeshSegmentsBySubstring( Robe|Bone );
		RemoveEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/BoneRabble/epk/sceptre_fx.epk', 'Metadata/Monsters/Skeletons/BoneRabble/Squire/BoneRabbleSceptreAncient.ao' );
		IfVarietyContains( BoneRabbleEagle,
		{
			PlayAnimationAttached( 'Metadata/Monsters/Skeletons/BoneRabble/Eagle/BoneRabbleEagleQuiver.ao', death_01 );
		} );
		IfVarietyContains( BoneRabbleSquire,
		{
			PlayAnimationAttached( 'Metadata/Monsters/Skeletons/BoneRabble/Squire/BoneRabbleSquireBackpack.ao', death_01 );
		} );
	"

	on_spawned_dead = "HideMeshSegmentsBySubstring( Robe|Bone );"
}

Animated
{
	on_event_remove_arrow = "SetStateTo( arrow_visible, 0 );"
	on_event_add_arrow = "SetStateTo( arrow_visible, 1 );"
}

StateMachine
{
	on_state_arrow_visible_0 = "DetachAllOfType( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/BoneRabble_Eagle/ao/basic_arrow_flaming.ao' );"

	on_state_arrow_visible_1 =
	"
		IfState( use_arrow, 1, { AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/BoneRabble_Eagle/ao/basic_arrow_flaming.ao', R_Weapon ); } );
	"

	create_state_arrow_visible_1 =
	"
		IfState( use_arrow, 1, { AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/BoneRabble_Eagle/ao/basic_arrow_flaming.ao', R_Weapon ); } );
	"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/Skeletons/BoneRabble/BoneRabbleEagle"] = {
    name = "Vaal Skeletal Archer",
    life = 1,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 1.1,
    damageSpread = 0.3,
    attackTime = 1.5,
    attackRange = 55,
    accuracy = 1,
    weaponType1 = "Bow",
    skillList = {
        "MASFireConvertAltArtFireArrow",
        "MPSBoneRabbleBurningArrow",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MASFireConvertAltArtFireArrow"] = {
    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.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_base_physical_damage_%_to_convert_to_fire",
        "ignite_chance_+%",
        "arrow_projectile_variation",
        "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",
        "projectile_ballistic_angle_from_reference_event",
    },
    levels = {
        [1] = {60, 50, 1000, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPSBoneRabbleBurningArrow"] = {
    name = "MPSBoneRabbleBurningArrow",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_projectile_variation",
        "ignite_chance_+%",
        "non_skill_base_physical_damage_%_to_gain_as_fire",
        "active_skill_base_physical_damage_%_to_convert_to_fire",
        "use_scaled_contact_offset",
        "projectile_uses_contact_position",
        "base_is_projectile",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {1032, 50, 30, 60, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}

Vaal Skeletal Archer

Variant code: BoneRabbleEagleStrongbox
Section 2 of 2

Overview

Undead

Implicit Mods: undead description [1]

Summary

Spectre N
Tags allows_additional_projectiles, Arrow_onhit_audio, fire_affinity, monster_barely_moves, ranged, skeleton, undead, very_slow_movement
Packs
  • Vaal Skeletal Priest, Vaal Skeletal Archer, Vaal Skeletal Warrior, Vaal Skeletal Squire
  • Vaal Skeletal Archer, Vaal Skeletal Warrior
  • Base Multipliers

    Life
    100%
    Resistance
    0 0 0 0
    Damage
    110%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    Attack Distance
    6 ~ 55
    Attack Time
    1.5 Second
    Damage Spread
    ±30%
    Experience
    100%
    Model Size
    100%
    Type
    SkeletonBasicRanged
    Metadata
    BoneRabbleEagleStrongbox

    Extra Data

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    	basic_action = "ChangeToStance3"
    	basic_action = "Emerge"
    	basic_action = "Revive"
    }
    
    StateMachine
    {
    	define_shared_state =
    	"
    		use_arrow;
    		arrow_visible = 1;
    	"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2488
    }
    version 2
    extends "Metadata/Monsters/Monster"
    
    Life
    {
    	on_spawned_alive =
    	"
    		HideMeshSegmentsBySubstring( Static|Bone );
    		AddEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/BoneRabble/epk/sceptre_fx.epk', 'Metadata/Monsters/Skeletons/BoneRabble/Squire/BoneRabbleSceptreAncient.ao' );
    	"
    
    	on_death =
    	"
    		ShowMeshSegmentsBySubstring( Static|Bone );
    		HideMeshSegmentsBySubstring( Robe|Bone );
    		RemoveEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/BoneRabble/epk/sceptre_fx.epk', 'Metadata/Monsters/Skeletons/BoneRabble/Squire/BoneRabbleSceptreAncient.ao' );
    		IfVarietyContains( BoneRabbleEagle,
    		{
    			PlayAnimationAttached( 'Metadata/Monsters/Skeletons/BoneRabble/Eagle/BoneRabbleEagleQuiver.ao', death_01 );
    		} );
    		IfVarietyContains( BoneRabbleSquire,
    		{
    			PlayAnimationAttached( 'Metadata/Monsters/Skeletons/BoneRabble/Squire/BoneRabbleSquireBackpack.ao', death_01 );
    		} );
    	"
    
    	on_spawned_dead = "HideMeshSegmentsBySubstring( Robe|Bone );"
    }
    
    Animated
    {
    	on_event_remove_arrow = "SetStateTo( arrow_visible, 0 );"
    	on_event_add_arrow = "SetStateTo( arrow_visible, 1 );"
    }
    
    StateMachine
    {
    	on_state_arrow_visible_0 = "DetachAllOfType( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/BoneRabble_Eagle/ao/basic_arrow_flaming.ao' );"
    
    	on_state_arrow_visible_1 =
    	"
    		IfState( use_arrow, 1, { AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/BoneRabble_Eagle/ao/basic_arrow_flaming.ao', R_Weapon ); } );
    	"
    
    	create_state_arrow_visible_1 =
    	"
    		IfState( use_arrow, 1, { AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/BoneRabble_Eagle/ao/basic_arrow_flaming.ao', R_Weapon ); } );
    	"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Skeletons/BoneRabble/BoneRabbleEagleStrongbox"] = {
        name = "Vaal Skeletal Archer",
        life = 1,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.1,
        damageSpread = 0.3,
        attackTime = 1.5,
        attackRange = 55,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "MASFireConvertAltArtFireArrow",
            "MPSBoneRabbleBurningArrow",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MASFireConvertAltArtFireArrow"] = {
        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.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "ignite_chance_+%",
            "arrow_projectile_variation",
            "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",
            "projectile_ballistic_angle_from_reference_event",
        },
        levels = {
            [1] = {60, 50, 1000, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPSBoneRabbleBurningArrow"] = {
        name = "MPSBoneRabbleBurningArrow",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.5,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "ignite_chance_+%",
            "non_skill_base_physical_damage_%_to_gain_as_fire",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "use_scaled_contact_offset",
            "projectile_uses_contact_position",
            "base_is_projectile",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {1032, 50, 30, 60, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }